[
  {
    "path": ".babelrc",
    "content": "{\n  \"presets\": [\"@babel/preset-env\"],\n  \"plugins\": [\"@babel/plugin-syntax-import-assertions\"]\n}"
  },
  {
    "path": ".commitlintrc.json",
    "content": "{\n  \"extends\": [\"@commitlint/config-conventional\"],\n  \"rules\": {\n    \"type-enum\": [\n      2,\n      \"always\",\n      [\n        \"ci\",\n        \"chore\",\n        \"docs\",\n        \"feat\",\n        \"fix\",\n        \"perf\",\n        \"refactor\",\n        \"revert\",\n        \"style\",\n        \"assets\",\n        \"test\"\n      ]\n    ]\n  }\n}\n"
  },
  {
    "path": ".dockerignore",
    "content": "/.vscode\n/node_modules"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.yaml",
    "content": "name: 🐞 Bug report\ndescription: Create a report to help us improve\ntitle: \"BUG: <title>\"\n\nlabels:\n  - bug\n\nbody:\n  - type: textarea\n    id: bug_description\n    attributes:\n      label: Describe the bug\n      description: A clear and concise description of what the bug is.\n    validations:\n      required: true\n\n  - type: textarea\n    id: reproduce_steps\n    attributes:\n      label: To Reproduce\n      description: Steps to reproduce the behavior.\n    validations:\n      required: false\n\n  - type: textarea\n    id: expected_behavior\n    attributes:\n      label: Expected behavior\n      description: A clear and concise description of what you expected to happen.\n    validations:\n      required: false\n\n  - type: textarea\n    id: screenshots\n    attributes:\n      label: Screenshots\n      description: If applicable, add screenshots to help explain your problem.\n\n  - type: input\n    id: os_info\n    attributes:\n      label: OS\n      description: Operating System information (e.g., iOS).\n      placeholder: MacOS\n    validations:\n      required: false\n      \n  - type: input\n    id: version_info\n    attributes:\n      label: OS Version\n      description: OS Version information.\n      placeholder: \"13.1\"\n    validations:\n      required: false\n\n  - type: input\n    id: client_info\n    attributes:\n      label: Client\n      description: Client information (e.g., postman, thunder client, chrome, safari).\n      placeholder: Postman\n    validations:\n      required: false\n\n\n\n  - type: textarea\n    id: additional_context\n    attributes:\n      label: Additional context or Information\n      description: Add any other context or any other information about the problem here.\n\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/code_coverage.yaml",
    "content": "name: 🧪 Testing Contribution\ndescription: Share details about your test coverage for contribution to FreeAPI.\ntitle: \"TESTING: <title>\"\n\nlabels:\n  - testing\n\nbody:\n  - type: textarea\n    id: test_description\n    attributes:\n      label: Describe the test\n      description: A clear and concise description of the proposed testing suite.\n    validations:\n      required: true\n\n  - type: textarea\n    id: additional_info\n    attributes:\n      label: Additional Information\n      description: Add any extra details or considerations that might be relevant such as screenshots.\n    validations:\n      required: false\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "content": "blank_issues_enabled: true\ncontact_links:\n  - name: FreeAPI Discord Server\n    url: https://hitesh.ai/discord\n    about: Please ask and answer questions related to FreeAPI here.\n  - name: Learn FreeAPI here\n    url: https://www.youtube.com/playlist?list=PLRAV69dS1uWSx4erHGq8hW_GE-Eaj60r-\n    about: Gain comprehensive knowledge of FreeAPI through this curated playlist."
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.yaml",
    "content": "name: 🌟 Feature Request\ndescription: Suggest an enhancement, new feature or anything\ntitle: \"FEATURE: <title>\"\n\nlabels:\n  - enhancement\n\nbody:\n  - type: textarea\n    id: feature_description\n    attributes:\n      label: Describe the Feature\n      description: A clear and concise description of the proposed feature or enhancement.\n    validations:\n      required: true\n\n  - type: textarea\n    id: use_case\n    attributes:\n      label: Use Case\n      description: Provide a scenario or use case where this feature would be beneficial.\n    validations:\n      required: false\n\n  - type: textarea\n    id: additional_info\n    attributes:\n      label: Additional Information\n      description: Add any extra details or considerations that might be relevant.\n    validations:\n      required: false\n\n  - type: textarea\n    id: suggested_tools\n    attributes:\n      label: Suggested Tools\n      description: List any tools or technologies you suggest for implementing this feature.\n    validations:\n      required: false\n\n  - type: textarea\n    id: additional_context\n    attributes:\n      label: Additional Context or Information\n      description: Add any other context or information that might be useful for understanding the feature request.\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/frontend_contribution.yaml",
    "content": "name: 🚀 Frontend Contribution\ndescription: Share details about your frontend application for contribution to FreeAPI.\ntitle: \"FRONTEND: <title>\"\n\nlabels:\n  - frontend\n  - enhancement\n\nbody:\n  - type: input\n    id: app_title\n    attributes:\n      label: Frontend App Title\n      description: Provide a title for your frontend application.\n    validations:\n      required: true\n\n  - type: textarea\n    id: overview\n    attributes:\n      label: Overview\n      description: Briefly describe your frontend application.\n    validations:\n      required: true\n\n  - type: textarea\n    id: detailed_features\n    attributes:\n      label: Detailed Features\n      description: List the features of your frontend application in detail.\n    validations:\n      required: true\n\n  - type: input\n    id: tech_stack\n    attributes:\n      label: Tech Stack Used\n      description: Specify the technologies used in your frontend application (comma-separated).\n      placeholder: \"ReactJs, redux, tailwindCSS...\"\n    validations:\n      required: true\n\n  - type: input\n    id: platform\n    attributes:\n      label: Built For Platform\n      description: Specify the platform on which this application will run.\n      placeholder: \"web, mobile, desktop...\"\n    validations:\n      required: true\n\n  - type: input\n    id: project_path\n    attributes:\n      label: Project Path\n      description: Provide the path to your project within the FreeAPI project's `examples` folder.\n      placeholder: E.g. $ROOT_FOLDER/examples/apps/social-media/web/react-redux-tailwind/<your_project_folders>\n    validations:\n      required: true\n"
  },
  {
    "path": ".gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\nlerna-debug.log*\n.pnpm-debug.log*\n\n# Diagnostic reports (https://nodejs.org/api/report.html)\nreport.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json\n\n# Runtime data\npids\n*.pid\n*.seed\n*.pid.lock\n\n# Directory for instrumented libs generated by jscoverage/JSCover\nlib-cov\n\n# Coverage directory used by tools like istanbul\ncoverage\n*.lcov\n\n# nyc test coverage\n.nyc_output\n\n# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)\n.grunt\n\n# Bower dependency directory (https://bower.io/)\nbower_components\n\n# node-waf configuration\n.lock-wscript\n\n# Compiled binary addons (https://nodejs.org/api/addons.html)\nbuild/Release\n\n# Dependency directories\nnode_modules/\njspm_packages/\n\n# Snowpack dependency directory (https://snowpack.dev/)\nweb_modules/\n\n# TypeScript cache\n*.tsbuildinfo\n\n# Optional npm cache directory\n.npm\n\n# Optional eslint cache\n.eslintcache\n\n# Optional stylelint cache\n.stylelintcache\n\n# Microbundle cache\n.rpt2_cache/\n.rts2_cache_cjs/\n.rts2_cache_es/\n.rts2_cache_umd/\n\n# Optional REPL history\n.node_repl_history\n\n# Output of 'npm pack'\n*.tgz\n\n# Yarn Integrity file\n.yarn-integrity\n\n# dotenv environment variable files\n.env\n.env.development.local\n.env.test.local\n.env.production.local\n.env.local\n\n# parcel-bundler cache (https://parceljs.org/)\n.cache\n.parcel-cache\n\n# Next.js build output\n.next\nout\n\n# Nuxt.js build / generate output\n.nuxt\ndist\n\n# Gatsby files\n.cache/\n# Comment in the public line in if your project uses Gatsby and not Next.js\n# https://nextjs.org/blog/next-9-1#public-directory-support\n# public\n\n# vuepress build output\n.vuepress/dist\n\n# vuepress v2.x temp and cache directory\n.temp\n.cache\n\n# Docusaurus cache and generated files\n.docusaurus\n\n# Serverless directories\n.serverless/\n\n# FuseBox cache\n.fusebox/\n\n# DynamoDB Local files\n.dynamodb/\n\n# TernJS port file\n.tern-port\n\n# Stores VSCode versions used for testing VSCode extensions\n.vscode-test\n\n# yarn v2\n.yarn/cache\n.yarn/unplugged\n.yarn/build-state.yml\n.yarn/install-state.gz\n.pnp.*\n\n# Logs\nlogs\n\n/tmp\n/.vscode\n/.idea\n\n# ignore the image files uploaded in the public/images folder\n/public/images/*\n/public/temp/*\n\n# except .gitkeep to push empty folder to the git repo\n!/public/images/.gitkeep\n!/public/temp/.gitkeep\n\nNOTES.md\n.DS_Store\n\n# Playwright\n/test-results/\n/playwright-report/\n/blob-report/\n/playwright/.cache/\n"
  },
  {
    "path": ".husky/commit-msg",
    "content": "#!/usr/bin/env sh\n. \"$(dirname -- \"$0\")/_/husky.sh\"\n\nnpx --no-install commitlint --edit\n"
  },
  {
    "path": ".husky/pre-commit",
    "content": "#!/usr/bin/env sh\n. \"$(dirname -- \"$0\")/_/husky.sh\"\n\nnpx lint-staged --allow-empty\n"
  },
  {
    "path": ".lintstagedrc",
    "content": "{\n  \"**/*.{js,json}\": [\"prettier --write\"]\n}\n"
  },
  {
    "path": ".prettierignore",
    "content": "/.vscode\n/node_modules\n./dist\n\n*.yml\n*.yaml\n\n*.env\n.env\n.env.*"
  },
  {
    "path": ".prettierrc",
    "content": "{\n  \"singleQuote\": false,\n  \"bracketSpacing\": true,\n  \"tabWidth\": 2,\n  \"trailingComma\": \"es5\",\n  \"semi\": true\n}\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# Contributing to FreeAPI\n\nThank you for your interest in contributing to FreeAPI! We welcome contributions from the software community to help improve and enhance this project.\n\nBy contributing, you can help make FreeAPI a more valuable resource for developers and contribute to the growth of the open-source community.\n\n## Table of Contents\n\n1. [📙 How to Contribute](#how-to-contribute)\n2. [䷫ Commit Message Format](#commit-message-format)\n3. [👨🏻‍⚖️ Guidelines for Contribution](#contribution-guidelines)\n4. [🚀 Contribute as a frontend developer](#frontend-contributor)\n\n## How to Contribute <a name=\"how-to-contribute\"></a>\n\nTo contribute to FreeAPI, please follow these guidelines:\n\n1. Fork the repository on GitHub.\n2. Clone your forked repository to your local machine.\n3. Create a new branch for your feature or bug fix: `git checkout -b feat/your-feature-name` or `git checkout -b fix/your-bug-fix-name` and make your changes.\n4. Run all the tests 🧪 before committing the changes and make sure all tests are passed.\n5. After all tests are passed, commit your changes with a descriptive messages: `git commit -am 'add your commit message'`.\n6. Push your changes to your forked repository: `git push origin feat/your-feature-name`.\n7. Submit a pull request to the main repository.\n\n## Commit Message Format <a name=\"commit-message-format\"></a>\n\nWe follow the conventional commit message format to provide a clear and standardized history of our project's changes. Each commit message should consist of a type and a descriptive message.\n\n| Type     | Heading  | Rule                                       | Description                                                                       |\n| -------- | -------- | ------------------------------------------ | --------------------------------------------------------------------------------- |\n| ci       | CI       | Continuous Integration                     | Changes related to continuous integration.                                        |\n| chore    | Chore    | Maintenance tasks                          | Other changes that don't affect production.                                       |\n| docs     | Docs     | Documentation                              | Changes related to documentation.                                                 |\n| feat     | Feature  | New Feature                                | New feature implementations or additions.                                         |\n| fix      | Fix      | Bug Fixes                                  | Bug fixes or corrections.                                                         |\n| perf     | Perf     | Performance Improvements                   | Performance-related improvements.                                                 |\n| refactor | Refactor | Code Refactoring                           | Code changes that don't fix bugs or add features, but improve the code structure. |\n| revert   | Revert   | Revert Previous Commits                    | Reverting previous commits.                                                       |\n| style    | Style    | Code Formatting or Style                   | Changes related to code formatting or style.                                      |\n| assets   | Assets   | Add or Update Assets (e.g., images, files) | Changes related to adding or updating assets, such as images or other files.      |\n\n### Format\n\nThe commit message should start with the type, followed by a colon and a space, and then the descriptive message in present tense.\n\nExample:\n\n- feat: add user authentication feature\n- fix: correct typo in README\n\nPlease adhere to this format when making commits. This will help us maintain a clean and organized commit history.\n\n## Guidelines for Contribution <a name=\"contribution-guidelines\"></a>\n\nHere's a guide on how you can effectively contribute to our API hub:\n\n1. Pull Requests for Readme Updates: Please refrain from sending pull requests solely for updating the project's readme file. While we appreciate the importance of clear and concise documentation, we prefer to focus on substantial code contributions and feature enhancements.\n\n2. Grammar Updates: Our team values effective communication, but we're not grammar sticklers. You don't need to send pull requests solely for grammar fixes or minor language improvements. Instead, concentrate on the core functionalities and features of the project.\n\n3. Avoid Updating Existing Public APIs: To maintain stability and consistency, we discourage direct updates to existing public APIs within the API hub. These APIs have been thoroughly tested and approved. However, if you encounter any bugs or issues, we encourage you to open an issue on our project's issue tracker to notify us.\n\n4. Build New Project APIs: We encourage you to explore your creativity and contribute by building complete project APIs. These APIs should provide comprehensive solutions that can assist developers in constructing complex projects to showcase their skills and abilities. Your contributions in this area will greatly benefit the community.\n\n5. Draft a Proposal and Discuss on Discord: Before diving into your project, we recommend drafting a proposal. This can include a mind map or outline of the API you intend to build and its potential benefits. Join our Discord community, where you can share your proposal, discuss ideas, and gather feedback from fellow contributors. Engaging in these discussions will enhance your backend portfolio and help shape the future direction of the project.\n\nWe appreciate your enthusiasm and look forward to your valuable contributions to our open source API hub project.\n\nTogether, we can foster a collaborative environment and make a significant impact in the API integration landscape.\n\n## Contribute as a frontend developer <a name=\"frontend-contributor\"></a>\n\nAre you a Frontend developer looking to create elegant mobile/web apps which consumes FreeAPIs? Then follow this [Frontend Contribution guide](https://github.com/hiteshchoudhary/apihub/blob/main/CONTRIBUTING_FRONTEND.md) and contribute as a frontend developer\n"
  },
  {
    "path": "CONTRIBUTING_CODE_COVERAGE.md",
    "content": "# FreeAPI Testing Contribution Guide\n\nThank you for your interest in contributing to the FreeAPI project to help us deliver our APIs that are battlefield tested. To ensure reliability & stability for our end users, we utilize Playwright, a powerful testing framework to automate testing across all endpoints.\n\n### Why Playwright?\n\nAfter exploring our open-source community options such as Jest, Jasmine & Playwright. We decided to move forward with the playwright as it facilitates automated testing, offers cross-browser support, rich enough API with familiar syntax.\n\n## ⚠️ Important Note:\n\n### Before starting your contribution\n\n- create an issue stating which module you will be working on\n- in a given module if tests exist, we do not welcome them as long as it is a logical fix\n- test coverage for example frontend apps are not our top priority\n\n**IMPORTANT: Contributor must create an issue with [Testing Contribution](https://github.com/hiteshchoudhary/apihub/issues/new?assignees=&labels=testing&projects=&template=code_coverage.yaml&title=TESTING%3A+%3Ctitle%3E) issue template.**\n\nThis ensures coordination and prevents duplicated efforts.\n\n## Table of Contents\n\n1. [🏁 Getting Started](#getting-started)\n2. [👆🏻 Choosing a Module](#choosing-a-module)\n3. [🗂️ Folder Structure](#folder-structure-main)\n4. [📙 Coding Standards](#coding-standards)\n5. [📝 Dependency Management](#dependency-management)\n6. [📨 Submitting Your Contribution](#submitting-your-contribution)\n\n## Getting Started <a name=\"getting-started\"></a>\n\n### Fork the Repository\n\nStart by forking the FreeAPI project repository to your GitHub account.\n\n### Clone Your Fork\n\nClone your fork of the repository to your local machine.\n\n```bash\ngit clone https://github.com/<your_username>/apihub.git\ncd apihub\n```\n\n### Install Dependencies\n\nMake sure you have the necessary dependencies of FreeAPI installed for the frontend framework or library you plan to use.\n\nFollow this [README.md section](https://github.com/hiteshchoudhary/apihub/blob/main/README.md#-installation) to know more about setting up the FreeAPI environment\n\n## Choosing a Module <a name=\"choosing-a-module\"></a>\n\nDecide which module you want to contribute to. Browse the `/apps`, `/public`, or `/kitchen-sink` modules to explore the available modules and APIs. Read the following section carefully to understand the folder structure you need to follow to increase your chances of getting your PR approved.\n\n## Folder Structure <a name=\"folder-structure-main\"></a>\n\nFollow the specified folder structure for your frontend application (**The folder names must not follow the camel casing to keep things consistent.** _Your actual project code folders may have camel casing_):\n\n```\nROOT_FOLDER/e2e/{module}/\n```\n\nSee the following examples with context for the above structure:\n\n## Example: Todo endpoint testing\n\nImagine you want to test the todo endpoint that is part of `/apps` module of the FreeAPI project. To keep a consistent folder structure for backtracking name your files with name identifier, but with an extension of `.test.js`.\n\n### Folder Structure:\n\n```\n$ROOT_FOLDER/e2e/{package}/{module}/{file-indicator}.test.js\n```\n\n## Explanation for the examples:\n\n- `ROOT_FOLDER`: Refers to the root directory of the FreeAPI project.\n\n- `e2e`: This directory is designated for including test cases.\n\n- `{package}`: The directory contains typical of a Node.js application: `app.js` initializes the app, `controllers` handle requests, `models` define data structures, `routes` map endpoints, `utils` provide utilities, and others manage logging, authentication, and database interactions.\n\n- `{module}`: `apps` or `public` or `kitchen-sink`: Denotes the chosen module (`/apps` for complex apps, `/public` for public APIs, `/kitchen-sink` for backend-related static APIs. These folders are already created officially).\n\n- `{file-indicator}`: This is the actual file name indicator that helps to identify for which file you are writing test cases for example: `todo.test.js`\n\nBy following this standardized folder structure, contributors can easily organize their front-end projects, making it convenient for others to explore, understand, and replicate the implementation.\n\n## Coding Standards <a name=\"coding-standards\"></a>\n\nAdhere to the coding standards of the playwright framework. Additionally, consider the following guidelines:\n\n- Use clear descriptive test suite & block names\n- Follow best practices for unit, integration & end-to-end testing\n- Ensure your code is well-documented by comments wherever necessary\n- Make sure to add both positive & negative test cases\n\n## Dependency Management <a name=\"dependency-management\"></a>\n\nIdeally, we do not encourage you to include a new package. Confine your code practices within the available dependencies to avoid overheads. Please state with a clear explanation with examples if you add anything new.\n\n## Submitting Your Contribution <a name=\"submitting-your-contribution\"></a>\n\nClick [here](https://github.com/hiteshchoudhary/apihub/blob/main/CONTRIBUTING.md) for a detailed contribution guide on submitting a PR.\n\nThank you for your contribution to FreeAPI! Your dedication helps make our APIs more accessible and valuable to the community. If you have any questions or need assistance, feel free to reach out to our [Discord](https://hitesh.ai/discord).\n\nThank you for being part of the FreeAPI community and contributing to the project! We look forward to featuring your fantastic work. 🌟\n\nHappy coding! 🚀\n"
  },
  {
    "path": "CONTRIBUTING_FRONTEND.md",
    "content": "# FreeAPI Frontend Contribution Guide\n\nThank you for your interest in contributing to the FreeAPI project by creating frontend applications! Your efforts play a crucial role in enhancing the user experience and expanding the reach of our APIs. Please follow this guide to ensure a smooth and collaborative contribution process.\n\n## ⚠️ Important Note:\n\n### Before starting your contribution\n\n- create an issue stating the app you will be working on\n- the technology stack you plan to use\n- the platform you intend to target.\n- describe your application in detail\n\n**IMPORTANT: Contributor must create an issue with [Frontend Contribution](https://github.com/hiteshchoudhary/apihub/issues/new?assignees=&labels=frontend%2Cenhancement&projects=&template=frontend_contribution.yaml&title=FRONTEND%3A+%3Ctitle%3E) issue template.**\n\nThis ensures coordination and prevents duplicated efforts.\n\n## Table of Contents\n\n1. [🏁 Getting Started](#getting-started)\n2. [👆🏻 Choosing a Module](#choosing-a-module)\n3. [🗂️ Folder Structure](#folder-structure-main)\n4. [📙 Coding Standards](#coding-standards)\n5. [📝 Dependency Management](#dependency-management)\n6. [🧪 Testing (optional)](#testing)\n7. [📨 Submitting Your Contribution](#submitting-your-contribution)\n8. [🌟 Featured Projects Opportunity on FreeAPI](#featured-projects)\n9. [🌟 How To Get Featured](#get-featured)\n\n## Getting Started <a name=\"getting-started\"></a>\n\n### Fork the Repository\n\nStart by forking the FreeAPI project repository to your GitHub account.\n\n### Clone Your Fork\n\nClone your fork of the repository to your local machine.\n\n```bash\ngit clone https://github.com/<your_username>/apihub.git\ncd apihub\n```\n\n### Install Dependencies\n\nMake sure you have the necessary dependencies of FreeAPI installed for the frontend framework or library you plan to use.\n\nFollow this [README.md section](https://github.com/hiteshchoudhary/apihub/blob/main/README.md#-installation) to know more about setting up the FreeAPI environment\n\n## Choosing a Module <a name=\"choosing-a-module\"></a>\n\nDecide which module you want to contribute to. Browse the `/apps`, `/public`, or `/kitchen-sink` modules to explore the available modules and APIs. Read the following section carefully to understand the folder structure you need to follow to increase chances to get your PR approved.\n\n## Folder Structure <a name=\"folder-structure-main\"></a>\n\nFollow the specified folder structure for your frontend application (**The folder names must not follow the camel casing to keep things consistent.** _Your actual project code folders may have camel casing_):\n\n```\nROOT_FOLDER/examples/{module}/{app-name}/{platform}/{frontend-tech-used}/{project-code}\n```\n\nSee the following examples with context for above structure:\n\n## Example 1: Social Media Web App\n\nImagine you want to create a web application for the `social-media` project within the `/apps` module of the FreeAPI project. You've decided to use React.js for the frontend, manage state with Redux, and style the app with Tailwind CSS. Your project folder name will be a unique identifier for your application because we are not allowing same application to be built using same tech stack.\n\n### Folder Structure:\n\n```\n$ROOT_FOLDER/examples/apps/social-media/web/react-redux-tailwind/<your_project_folders>\n```\n\n## Example 2: YouTube Mobile App\n\nSuppose you are interested in building a mobile application that consumes the YouTube API from the `/public` folder of the FreeAPI project. For this, you've chosen Flutter as your framework, and you'll be using Riverpod for state management. Again, your project folder name will be a unique identifier for your application because we are not allowing same application to be built using same tech stack.\n\n### Folder Structure:\n\n```bash\n$ROOT_FOLDER/examples/public/youtube/mobile/flutter-riverpod/<your_project_folders>\n```\n\n## Example 3: Status Code Lookup App\n\nYou want to contribute a frontend application to the `/kitchen-sink` module that allows users to input a numerical HTTP status code. The app will then provide details about that status code, such as its purpose and common usage with elegant UI.\n\n## Folder Structure:\n\n```bash\n$ROOT_FOLDER/examples/kitchen-sink/statuscodes/web/react-tailwind/<your_project_folders>\n```\n\n## Explanation for the examples:\n\n- `ROOT_FOLDER:` Refers to the root directory of the FreeAPI project.\n\n- `examples:` This directory is designated for frontend examples.\n\n- `{module} - apps or public or kitchen-sink:` Denotes the chosen module (`/apps` for complex apps, `/public` for public APIs, `/kitchen-sink` for backend-related static APIs. These folders are already created officially).\n\n- `{app_name} - social-media or youtube or statuscode:` Specifies the name of the chosen app or API within the selected module. This folder is also created by default officially.\n\n- `{platform} - web or mobile or desktop:` Defines the platform for which the frontend is developed (web or mobile or desktop etc).\n\n- `{frontend-tech-used} - react-redux-tailwind or flutter-provider:` Indicates the frontend technology stack used, including the framework, UI-lib and state management tool (at least one tech tool name must be there).\n\n- `<your_project_folders>:` Represents the actual project folders that will be coding.\n\nBy following this standardized folder structure, contributors can easily organize their frontend projects, making it convenient for others to explore, understand, and replicate the implementation.\n\n## Coding Standards <a name=\"coding-standards\"></a>\n\nAdhere to the coding standards of the chosen frontend technology and framework. Additionally, consider the following guidelines:\n\n- Use clear and descriptive variable and function names.\n- Follow best practices for state management, component structure, and code organization.\n- Ensure your code is well-documented by comments wherever necessary.\n- Try to use type safe languages like TypeScript over JavaScript to code the frontend\n- **Include comprehensive README.md file for each project on how to do installation and setup for the respective apps**\n\n## Dependency Management <a name=\"dependency-management\"></a>\n\nList all major dependencies/tech tools used in a clear and organized manner in your project README.md. Include version numbers to ensure compatibility.\n\n## Testing (optional) <a name=\"testing\"></a>\n\nWrite tests for your frontend application to ensure its functionality. Include instructions on how to run the tests.\n\n## Submitting Your Contribution <a name=\"submitting-your-contribution\"></a>\n\nClick [here](https://github.com/hiteshchoudhary/apihub/blob/main/CONTRIBUTING.md) for detailed contribution guide on submitting a PR.\n\nThank you for your contribution to FreeAPI! Your dedication helps make our APIs more accessible and valuable to the community. If you have any questions or need assistance, feel free to reach out to our [Discord](https://hitesh.ai/discord).\n\n## 🌟 Featured Projects Opportunity on FreeAPI <a name=\"featured-projects\"></a>\n\nWe value the contributions of our community members, and we want to showcase your work! As part of our effort to highlight the creativity and diversity of the FreeAPI project, we are introducing a Featured Projects section on the official [FreeAPI](https://freeapi.app) site (under development).\n\n## How to Get Featured <a name=\"get-featured\"></a>\n\n1. **Self-Host the FreeAPI Backend:**\n\n   - Ensure that you have set up and are self-hosting the FreeAPI backend on your server. Detailed instructions can be found in the [README.md Railway one click deploy section](https://github.com/hiteshchoudhary/apihub/blob/main/README.md#-using-railway-one-click-deploy). _(NOTE: You can deploy this app on server that you are comfortable with. Just make sure it is deployed and your deployed frontend can consume it's apis)_\n\n2. **Consume FreeAPI Backend APIs in Your Frontend:**\n\n   - In your frontend project, make sure you are consuming the relevant FreeAPI backend APIs from the deployed backend server. This demonstrates the end-to-end functionality of your application.\n\n3. **Deploy Your Frontend:**\n\n   - Deploy your frontend application, and ensure it is accessible via a public URL.\n\n4. **Include Deployed Link in README.md:**\n   - Add the deployed link to your frontend application at the top of the README.md file in your project code. This link will serve as the entry point for us to review and feature your project.\n\n### Example README Section:\n\n```markdown\n<!-- other README.md content -->\n<!-- make sure to keep this link at the top to make it visible -->\n\n## Deployed Link\n\nVisit my app: [https://my-social-media-app.example.com](https://my-social-media-app.example.com)\n\n <!-- other README.md content -->\n```\n\n### Why to get featured?\n\n1. **Contribution in Open Source:**\n\n   - Gain recognition and celebrate contributions within the FreeAPI community.\n   - Enhance your portfolio with real-world open source projects.\n\n2. **Deployed Project:**\n\n   - Gain hands-on experience with real-world deployment challenges.\n   - Enhance your portfolio with a deployed and functional application.\n\n3. **Showcasing Your Work:**\n\n   - Increase visibility by being featured on the official FreeAPI website.\n   - Receive recognition from the FreeAPI community.\n\n4. **Networking Opportunities:**\n\n   - Connect with like-minded individuals within the FreeAPI community.\n   - Showcase your skills to potential collaborators, mentors, or employers.\n\n5. **Beta Stage Advantage:**\n\n   - Gain early recognition as an early adopter and contributor.\n   - Influence the future development of the Featured Projects feature.\n\n6. **Skill Showcase:**\n\n   - Showcase proficiency in both backend consumption and frontend development.\n   - Highlight your preferred frontend tech stack.\n\n### What Happens Next:\n\n- **Beta Stage:** While this feature is in beta, our team will be actively monitoring deployed links mentioned in README.md files of frontend example projects.\n\n- **Official Rollout:** Once the Featured Projects page is officially launched on [FreeAPI](https://freeapi.app), we will review and select projects from the submitted links to showcase. So, you can start deploying your apps.\n\n- **Notification:** If your project is selected, we will notify you and include your project in the Featured Projects section on [FreeAPI](https://freeapi.app).\n\n### Important Note:\n\n- Projects with deployed links mentioned at the top of the README.md file have a higher chance of being featured.\n- This feature is in beta, and we appreciate your early contributions to help shape the future of FreeAPI. The more links we get the sooner this section will get up and running.\n\nThank you for being part of the FreeAPI community and contributing to the project! We look forward to featuring your fantastic work. 🌟\n\nHappy coding! 🚀\n"
  },
  {
    "path": "Dockerfile",
    "content": "FROM node:20.13.1-alpine\n\nRUN mkdir -p /usr/src/freeapi && chown -R node:node /usr/src/freeapi\n\nWORKDIR /usr/src/freeapi\n\n# Copy package json and yarn lock only to optimise the image building\nCOPY package.json yarn.lock ./\n\n# copy prepare.js prior. It will be executed after package installation and before ROOT dir is cloned\nCOPY prepare.js ./\n\nUSER node\n\nRUN yarn install --pure-lockfile\n\nCOPY --chown=node:node . .\n\nEXPOSE 8080\n\nCMD [ \"npm\", \"start\" ]"
  },
  {
    "path": "LICENSE.md",
    "content": "MIT License\n\nFreeAPI\n\nCopyright (c) 2023 Hitesh Choudhary\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# FreeAPI.app\n\n## Problem\n\nWe are trying to build a single source API hub that can be used to learn api handling in any programming language. Users can build their front end portfolio in web and mobile apps using this api hub.\n\n# What is FreeAPI.app\n\nThe FreeAPI project is an innovative and community-driven initiative aimed at providing developers with free and accessible APIs for their projects.\n\nThe project focuses on delivering a wide range of APIs that cater to various domains and functionalities, enabling developers to seamlessly integrate these APIs into their applications.\n\nKey highlights of the FreeAPI project include:\n\n1. **Accessibility:** The FreeAPI project is committed to eliminating barriers by providing free access to its collection of APIs.\n   Developers can leverage these APIs without any cost limitations, allowing them to experiment, learn, and build innovative applications.\n\n2. **Diverse API Collection:** The project offers a diverse and comprehensive collection of APIs that span across different industries, domains, and functionalities.\n   Whether you require social media integrations, payment gateways, machine learning algorithms, or IoT device connectivity, the FreeAPI project has you covered.\n\n3. **Simplified Integration:** The FreeAPI project understands the challenges developers face when integrating APIs into their applications. To address this, the project provides clear documentation, code samples, and SDKs, simplifying the integration process and reducing development time and effort.\n\n4. **Community-Driven Development:** The project fosters a vibrant and collaborative community of developers. Contributors are encouraged to share their knowledge, engage in discussions, and collaborate on API-related projects. This collective effort ensures the continuous improvement and reliability of the APIs offered by the FreeAPI project.\n\n5. **Learning and Skill Development:** The FreeAPI project aims to empower developers by providing a platform for learning and skill development. Through access to various APIs and educational resources, developers can enhance their understanding of API integration, expand their knowledge, and showcase their expertise through building complete projects.\n\nOverall, the FreeAPI project is a valuable resource for developers seeking accessible and diverse APIs.\n\nBy fostering a supportive community, the project empowers developers to learn, create, and innovate, ultimately contributing to the growth and advancement of the API integration landscape.\n\n## Features:\n\nIntroducing our groundbreaking open source API hub project, a dynamic platform designed to revolutionize the way developers interact with APIs.\n\nWith an emphasis on openness, accessibility, and learning, our API hub empowers developers of all levels to explore, experiment, and grow their skills in API integration.\n\nHighlights:\n\n1. **Open Source:** Our API hub is built on the principles of open source, ensuring transparency, collaboration, and community-driven development. This means that the source code is freely available, allowing developers to customize, extend, and contribute to the project.\n\n2. **Free to Use:** We firmly believe in removing barriers to entry, which is why our API hub is completely free to use. Whether you're a seasoned developer or just starting your coding journey, you can leverage our platform without any cost limitations.\n\n3. **Local or Deployment**: Flexibility is at the core of our API hub. You have the option to use it locally, running on your own machine, or deploy it to a server, making it accessible to others. This versatility ensures that you can adapt the platform to your specific development environment.\n\n4. **Learning Resource**: Our API hub is designed as a comprehensive learning resource, offering a wealth of educational materials, tutorials, and documentation. Whether you're a beginner or seeking to expand your API knowledge, our platform provides the resources you need to learn and improve.\n\n5. **Custom Endpoints for Beginners**: For developers at the beginner level, our API hub offers custom endpoints that provide a hands-on experience in handling API responses. These beginner-friendly APIs allow you to practice and familiarize yourself with the basics of working with APIs.\n\n6. **Advanced APIs for Portfolio Building**: In addition to beginner-level endpoints, our API hub also provides advanced APIs to challenge and stretch your skills. These APIs enable you to tackle more complex integration scenarios, helping you build a robust portfolio of projects to showcase your expertise.\n\nBy combining open source principles, accessibility, and a focus on learning, our API hub project paves the way for developers to thrive in the world of API integration. Join our vibrant community and embark on an exciting journey of discovery, growth, and innovation.\n\n# ⚠️ Important Note: Avoiding Data Loss and Self-Hosting\n\n# Background:\n\nOur open-source project is currently hosted on a remote server, where we are forced to reset the entire server, **including the file system and MongoDB database**, every **2 hours** to avoid incurring additional costs.\n\nThis process results in the **deletion of all image/static files and a reset of the entire database on the server.**\n\n## What does this mean for you?\n\n**Data Loss:**\nAny changes made during the 2-hour interval (on the remote server), including uploaded images and user data, will be lost and unrecoverable.\n\n**Service Interruption:**\nThe server reset might disrupt your development and testing processes for a certain duration while the server is rebooting (for 1-2 minutes).\n\n## Recommended Solutions:\n\n**Local API Usage:**\nFor development and testing purposes, we strongly recommend using the API locally on your machine by **cloning the project**.\n\nThis ensures that your work is not affected by the server resets and allows you to maintain a stable development environment on your local machine.\n\n**Self-Hosting on Railway _(recommended for personal projects)_:**\nTo self-host the FreeAPI.app application, you can take advantage of a pre-built template that is readily available.\n[Click here for detailed docs](https://github.com/hiteshchoudhary/apihub/#-using-railway-one-click-deploy)\n\n# 🏁 Installation\n\n### 📦 Using Docker (recommended)\n\nTo run the FreeAPI project, follow these steps:\n\n1. Install [Docker](https://www.docker.com/) on your machine.\n2. Clone the project repository.\n3. Navigate to the project directory.\n4. Create `.env` file in the root folder and copy paste the content of `.env.sample`, and add necessary credentials.\n5. Run the Docker Compose command:\n\n```bash\ndocker-compose up --build --attach backend\n\n# --build: Rebuild the image and run the containers\n# --attach: only show logs of Node app container and not mongodb\n```\n\n6. Access the project APIs at the specified endpoints.\n\n### 💻 Running locally\n\nTo run the FreeAPI project locally, follow these steps:\n\n1. Install [Yarn](https://yarnpkg.com/), [NodeJs](https://www.nodejs.org/), [MongoDB](https://www.mongodb.com) and [MongoDB Compass (optional)](https://www.mongodb.com/products/compass) on your machine.\n2. Clone the project repository.\n3. Navigate to the project directory.\n4. Create `.env` file in the root folder and copy paste the content of `.env.sample`, and add necessary credentials.\n5. Install the packages:\n\n```bash\nyarn install\n```\n\n6. Run the project:\n\n```bash\nyarn start\n```\n\n7. Access the project APIs at the specified endpoints.\n\n### 🚄 Using Railway (One-click Deploy)\n\nTo self-host the FreeAPI.app application, you can take advantage of a pre-built template that is readily available.\n\n[![Deploy FreeAPI.app](https://railway.app/button.svg)](https://railway.app/template/B2f7Hq)\n\n1. Click the button above to visit railway.app.\n\n2. Click on the **Deploy Now** button.\n\n3. (Optional) Sign in with GitHub to deploy.\n\n4. Fill in the Repository details:\n\n   - Specify the repo name (e.g., freeapi-app).\n   - Checkmark for Public/Private repository.\n\n5. For Environment variables, we have provided some default values in the `ENV` to reduce the burden, but some parameters are mandatory:\n\n   - `PORT`: Do not change the value, let it be set to 8080 to view the swagger docs after deployment.\n   - `MONGODB_URI`: Provide the MongoDB Atlas database URL. An example is prefilled for you, edit/update it to continue.\n   - `NODE_ENV`: Default set to 'development' to view the logs. You may choose to change it to 'production' (make sure to add exact same word) to hide them.\n   - `EXPRESS_SESSION_SECRET`: It is advised to change the default value to your own secret value.\n   - `ACCESS_TOKEN_SECRET`: It is advised to change the default value to your own secret value.\n   - `ACCESS_TOKEN_EXPIRY`: Set to 1 day as default.\n   - `REFRESH_TOKEN_SECRET`: It is advised to change the default value to your own secret value.\n   - `REFRESH_TOKEN_EXPIRY`: Set to 10 days as default.\n   - `FREEAPI_HOST_URL`: Set it as generated railway url.\n\n6. Once you fill in the required environment parameters, if you choose to add others such as PayPal, Google, and Razorpay, please proceed to mention your credentials in the form.\n\n7. Click on the **Deploy** button to trigger the first build.\n   - Monitor the server logs; if you come across any deployment problems, feel free to raise an issue for our team to look into.\n\nNote: Once the application is deployed, please wait for 3-5 minutes for the swagger docs to be available.\n\n# 🧪 Testing\n\nTo ensure reliability & stability for our end users, we utilize Playwright, a powerful testing framework to automate testing across all endpoints.\n\n### 💻 Run the Test Server\n\nMake sure to add `MONGO_MEMORY_SERVER_PORT=10000` (mongodb port for e2e testing) in your `.env` file.\n\n```bash\nyarn start:test-server\n```\n\n### 🧪 Run Tests\n\n```bash\nyarn test:playwright\n```\n\nThis will generate a Playwright report. To view this report run the following command\n\n```bash\nyarn playwright show-report\n```\n\nMake sure all the test cases are passed whenever you make any changes.\n\n# How to contribute - Guidelines\n\n## ⚡️ Contribute in core FreeAPI codebase:\n\nWe welcome your interest in contributing to our open source project!\n\nTo contribute to FreeAPI, please follow these steps:\n\n1. Fork the repository.\n2. Create a new branch for your feature or bug fix: `git checkout -b feat/your-feature-name` or `git checkout -b fix/your-bug-fix-name` and make your changes.\n3. Run all the tests 🧪 before committing the changes and make sure all tests are passed.\n4. After all tests are passed, commit your changes with a descriptive messages: `git commit -am 'add your commit message'`\n5. For more details on the commit format and other guidelines, please refer to the [Contributor Guidelines](./CONTRIBUTING.md).\n6. Push your changes to your forked repository: `git push origin feat/your-feature-name`.\n7. Submit a pull request to the main repository, explaining the changes you've made and providing any necessary details.\n\nHere's a guide on how you can effectively contribute to our API hub:\n\n1. Pull Requests for Readme Updates: Please refrain from sending pull requests solely for updating the project's readme file. While we appreciate the importance of clear and concise documentation, we prefer to focus on substantial code contributions and feature enhancements.\n\n2. Grammar Updates: Our team values effective communication, but we're not grammar sticklers. You don't need to send pull requests solely for grammar fixes or minor language improvements. Instead, concentrate on the core functionalities and features of the project.\n\n3. Avoid Updating Existing Public APIs: To maintain stability and consistency, we discourage direct updates to existing public APIs within the API hub. These APIs have been thoroughly tested and approved. However, if you encounter any bugs or issues, we encourage you to open an issue on our project's issue tracker to notify us.\n\n4. Build New Project APIs: We encourage you to explore your creativity and contribute by building complete project APIs. These APIs should provide comprehensive solutions that can assist developers in constructing complex projects to showcase their skills and abilities. Your contributions in this area will greatly benefit the community.\n\n5. Draft a Proposal and Discuss on Discord: Before diving into your project, we recommend drafting a proposal. This can include a mind map or outline of the API you intend to build and its potential benefits. Join our Discord community, where you can share your proposal, discuss ideas, and gather feedback from fellow contributors. Engaging in these discussions will enhance your backend portfolio and help shape the future direction of the project.\n\nWe appreciate your enthusiasm and look forward to your valuable contributions to our open source API hub project.\n\nTogether, we can foster a collaborative environment and make a significant impact in the API integration landscape.\n\nClick [here](https://github.com/hiteshchoudhary/apihub/blob/main/CONTRIBUTING.md) for detailed contribution guide.\n\n## 🚀 Contribute by creating frontend application:\n\nThank you for your interest in contributing to the FreeAPI project by creating frontend applications consuming FreeAPIs! Your efforts play a crucial role in enhancing the user experience and expanding the reach of our APIs. Please follow this guide to ensure a smooth and collaborative contribution process.\n\nClick [here](https://github.com/hiteshchoudhary/apihub/blob/main/CONTRIBUTING_FRONTEND.md) for detailed contribution guide for Frontend Developers 🚀!\n\n## 🧪 Contribute in testing suite\n\nThank you for your interest in contributing to the FreeAPI project to increase code coverage of our API service that helps us to ship robust endpoints that are battlefield tested. Please follow this guide to ensure a smooth and collaborative contribution process.\n\nClick [here](https://github.com/hiteshchoudhary/apihub/blob/main/CONTRIBUTING_CODE_COVERAGE.md) for detailed contribution guide for increasing code coverage.\n\n# 📜 Swagger Docs\n\n[Swagger Docs](https://api.freeapi.app): https://api.freeapi.app\n\nNOTE: Swagger docs are auto generated from the `swagger.yaml` file. While running the project locally, make sure you change the url to `http://localhost:<port_from_.env>/api/v1` in the swagger docs `servers/url` field.\n"
  },
  {
    "path": "docker-compose.prod.yml",
    "content": "version: '3.8'\n\nservices:\n  backend:\n    image: freeapi-server\n    build: .\n    ports:\n      - 8080:8080\n    volumes:\n      - ./:/usr/src/freeapi\n      - /usr/src/freeapi/node_modules\n    env_file:\n      - ./.env\n    depends_on:\n      - mongodb\n    networks:\n      - freeapi-internal\n  \n  mongodb:\n    image: mongo\n    container_name: mongodb\n    volumes:\n      - data:/data/db\n    networks:\n      - freeapi-internal\n\nnetworks:\n  freeapi-internal:\n\nvolumes:\n  data:\n"
  },
  {
    "path": "docker-compose.yml",
    "content": "version: '3.8'\n\nservices:\n  backend:\n    image: freeapi-server\n    build: .\n    ports:\n      - 8080:8080\n    volumes:\n      - ./:/usr/src/freeapi\n      - /usr/src/freeapi/node_modules\n    env_file:\n      - ./.env\n    depends_on:\n      - mongodb\n  mongodb:\n    image: mongo\n    container_name: mongodb\n    volumes:\n      - data:/data/db\n    ports:\n      - 27017:27017\n\nvolumes:\n  data:"
  },
  {
    "path": "e2e/common.js",
    "content": "import dotenv from \"dotenv\";\n\ndotenv.config({\n  path: \"../.env\",\n});\n\nexport const URL = `http://localhost:${process.env.PORT || 8080}`;\n\nexport const getApiContext = async (playwright) =>\n  playwright.request.newContext({\n    baseURL: URL,\n  });\n"
  },
  {
    "path": "e2e/db.js",
    "content": "import mongoose, { mongo } from \"mongoose\";\nimport { MongoMemoryServer } from \"mongodb-memory-server\";\n\nconst MONGO_MEMORY_SERVER_PORT = process.env.MONGO_MEMORY_SERVER_PORT || 10000;\nconst MONGODB_URL = `mongodb://127.0.0.1:${MONGO_MEMORY_SERVER_PORT}/`;\n\nlet mongoServer = null;\nlet dbInstance = undefined;\n\nconst connectDB = async () => {\n  try {\n    await mongoose.disconnect();\n    mongoServer = await MongoMemoryServer.create({\n      instance: {\n        port: +MONGO_MEMORY_SERVER_PORT,\n      },\n    });\n    dbInstance = await mongoose.connect(MONGODB_URL);\n  } catch (error) {\n    console.error(\"Mongo db connect error: \", error);\n    process.exit(1);\n  }\n};\nexport const clearDB = async (collectionName = null) => {\n  if (!dbInstance) {\n    dbInstance = await mongoose.connect(MONGODB_URL);\n  }\n  const connection = mongoose.connection;\n  if (collectionName) {\n    await connection.db.collection(collectionName).deleteMany({});\n  } else {\n    const collections = await connection.db.listCollections().toArray();\n    const collectionNames = collections.map((col) => col.name);\n    for (let name of collectionNames) {\n      await connection.db.collection(name).deleteMany({});\n    }\n  }\n};\n\nexport default connectDB;\n"
  },
  {
    "path": "e2e/routes/apps/todo.test.js",
    "content": "import { test, expect } from \"@playwright/test\";\nimport { getApiContext } from \"../../common.js\";\nimport { clearDB } from \"../../db.js\";\nlet apiContext;\n\nlet todoId = null;\n\ntest.describe(\"Todo App\", () => {\n  test.beforeAll(async ({ playwright }) => {\n    apiContext = await getApiContext(playwright);\n    await clearDB();\n  });\n  test.afterAll(async ({}) => {\n    await apiContext.dispose();\n  });\n\n  test.describe(\"GET:/api/v1/todos - Get All Todos\", () => {\n    test(\"should return all todos\", async () => {\n      const res = await apiContext.get(`/api/v1/todos`);\n      const json = await res.json();\n      expect(res.status()).toEqual(200);\n      expect(json.data.length).toEqual(0);\n    });\n  });\n\n  test.describe(\"POST:/api/v1/todos - Create Todo\", () => {\n    test(\"should create todo with valid data\", async () => {\n      const todo = {\n        title: \"test-todo-title\",\n        description: \"test-todo-description\",\n      };\n      const res = await apiContext.post(`/api/v1/todos`, {\n        data: todo,\n      });\n      const json = await res.json();\n      expect(res.status()).toEqual(201);\n      expect(json.statusCode).toEqual(201);\n      expect(json.data).toMatchObject(todo);\n      todoId = json.data._id;\n    });\n\n    test(\"should return a 422 with title error when `title` is not provided\", async () => {\n      const todo = {};\n      const res = await apiContext.post(`/api/v1/todos`, {\n        data: todo,\n      });\n      const json = await res.json();\n      expect(res.status()).toEqual(422);\n      expect(json.statusCode).toEqual(422);\n      expect(json.errors).toContainEqual(\n        expect.objectContaining({ title: expect.anything() })\n      );\n    });\n\n    test(\"should return a 422 with title and description error when `title` and `description` is empty\", async () => {\n      const todo = { title: \"\", description: \"\" };\n      const res = await apiContext.post(`/api/v1/todos`, {\n        data: todo,\n      });\n      const json = await res.json();\n      expect(res.status()).toEqual(422);\n      expect(json.statusCode).toEqual(422);\n      expect(json.errors).toContainEqual(\n        expect.objectContaining({ title: expect.anything() })\n      );\n      expect(json.errors).toContainEqual(\n        expect.objectContaining({ description: expect.anything() })\n      );\n    });\n  });\n\n  test.describe(\"PATCH:/api/v1/todos/:id - Update Todo\", () => {\n    const todo = {\n      title: \"update-test-todo-title\",\n      description: \"update-test-todo-description\",\n    };\n\n    test(\"should update todo with valid data\", async () => {\n      const res = await apiContext.patch(`/api/v1/todos/${todoId}`, {\n        data: todo,\n      });\n      const json = await res.json();\n      expect(res.status()).toEqual(200);\n      expect(json.statusCode).toEqual(200);\n      expect(json.data).toMatchObject(todo);\n    });\n\n    test(\"should return a 422 with title and description error when `title` and `description` is empty\", async () => {\n      const todo = { title: \"\", description: \"\" };\n      const res = await apiContext.patch(`/api/v1/todos/${todoId}`, {\n        data: todo,\n      });\n      const json = await res.json();\n      expect(res.status()).toEqual(422);\n      expect(json.statusCode).toEqual(422);\n      expect(json.errors).toContainEqual(\n        expect.objectContaining({ title: expect.anything() })\n      );\n      expect(json.errors).toContainEqual(\n        expect.objectContaining({ description: expect.anything() })\n      );\n    });\n  });\n\n  test.describe(\"PATCH:/api/v1/todos/toggle/status/:id - Toggle todo status\", () => {\n    test(\"should toggle todo status\", async () => {\n      const res = await apiContext.patch(\n        `/api/v1/todos/toggle/status/${todoId}`\n      );\n      const json = await res.json();\n      expect(res.status()).toEqual(200);\n      expect(json.statusCode).toEqual(res.status());\n      expect(json.data.isComplete).toBeTruthy();\n    });\n  });\n\n  test.describe(\"GET:/api/v1/todos - Get All Todos\", () => {\n    test(\"should return todo when valid id passed\", async () => {\n      const res = await apiContext.get(`/api/v1/todos/${todoId}`);\n      const json = await res.json();\n      expect(res.status()).toEqual(200);\n      expect(json.statusCode).toEqual(res.status());\n    });\n\n    test(\"should return 422 with todoId error when invalid id passed\", async () => {\n      const res = await apiContext.get(`/api/v1/todos/__1`);\n      const json = await res.json();\n      expect(res.status()).toEqual(422);\n      expect(json.statusCode).toEqual(res.status());\n      expect(json.errors).toContainEqual(\n        expect.objectContaining({ todoId: expect.anything() })\n      );\n    });\n  });\n\n  test.describe(\"DELETE:/api/v1/todos/:id - Delete Todo\", () => {\n    test(\"should delete todo\", async () => {\n      const res = await apiContext.delete(`/api/v1/todos/${todoId}`);\n      const json = await res.json();\n      expect(res.status()).toEqual(200);\n      expect(json.statusCode).toEqual(res.status());\n    });\n  });\n});\n"
  },
  {
    "path": "e2e/routes/healthcheck.test.js",
    "content": "import { test, expect } from \"@playwright/test\";\nimport { getApiContext } from \"../common.js\";\n\nlet apiContext;\n\ntest.describe(\"Healthcheck\", () => {\n  test.beforeAll(async ({ playwright }) => {\n    apiContext = await getApiContext(playwright);\n  });\n  test.afterAll(async ({}) => {\n    await apiContext.dispose();\n  });\n\n  test(\"should return ok\", async ({ page }) => {\n    const res = await apiContext.get(\"/api/v1/healthcheck\");\n    expect(res.ok()).toBeTruthy();\n  });\n});\n"
  },
  {
    "path": "e2e/routes/seeds/chat-app.test.js",
    "content": "import { test, expect } from \"@playwright/test\";\nimport { getApiContext } from \"../../common.js\";\nimport { clearDB } from \"../../db.js\";\n\nlet apiContext;\n\ntest.describe(\"Seed Chat App\", () => {\n  test.beforeAll(async ({ playwright }) => {\n    apiContext = await getApiContext(playwright);\n    await clearDB();\n  });\n  test.afterAll(async ({}) => {\n    await apiContext.dispose();\n  });\n\n  test.describe(\"POST:/api/v1/seed/chat-app - Seed Chat\", async () => {\n    test(\"should seed Chat App DB\", async ({ page }) => {\n      const res = await apiContext.post(\"/api/v1/seed/chat-app\");\n      expect(res.status()).toEqual(201);\n    });\n  });\n});\n"
  },
  {
    "path": "e2e/routes/seeds/ecommerce.test.js",
    "content": "import { test, expect } from \"@playwright/test\";\nimport { getApiContext } from \"../../common.js\";\nimport { clearDB } from \"../../db.js\";\nimport {\n  CATEGORIES_COUNT,\n  PRODUCTS_COUNT,\n} from \"../../../src/seeds/_constants.js\";\n\nlet apiContext;\n\ntest.describe(\"Seed Ecommerce App\", () => {\n  test.beforeAll(async ({ playwright }) => {\n    apiContext = await getApiContext(playwright);\n    await clearDB();\n  });\n  test.afterAll(async ({}) => {\n    await apiContext.dispose();\n  });\n\n  test.describe(\"POST:/api/v1/seed/ecommerce - Seed Ecommerce\", async () => {\n    test(\"should return 0 products before seed\", async ({ page }) => {\n      const res = await apiContext.get(\n        \"/api/v1/ecommerce/products?page=1&limit=1\"\n      );\n      const json = await res.json();\n      expect(res.status()).toEqual(200);\n      expect(json.data.totalProducts).toEqual(0);\n    });\n    test(\"should return 0 categories before seed\", async ({ page }) => {\n      const res = await apiContext.get(\n        \"/api/v1/ecommerce/categories?page=1&limit=1\"\n      );\n      const json = await res.json();\n      expect(res.status()).toEqual(200);\n      expect(json.data.totalCategories).toEqual(0);\n    });\n    test(\"should seed ecommerce DB\", async ({ page }) => {\n      const res = await apiContext.post(\"/api/v1/seed/ecommerce\");\n      expect(res.status()).toEqual(201);\n    });\n    test(`should return ${PRODUCTS_COUNT} products after seed`, async ({\n      page,\n    }) => {\n      const res = await apiContext.get(\n        \"/api/v1/ecommerce/products?page=1&limit=1\"\n      );\n      const json = await res.json();\n      expect(res.status()).toEqual(200);\n      expect(json.data.totalProducts).toEqual(PRODUCTS_COUNT);\n    });\n    test(`should return ${CATEGORIES_COUNT} categories after seed`, async ({\n      page,\n    }) => {\n      const res = await apiContext.get(\n        \"/api/v1/ecommerce/categories?page=1&limit=1\"\n      );\n      const json = await res.json();\n      expect(res.status()).toEqual(200);\n      expect(json.data.totalCategories).toEqual(CATEGORIES_COUNT);\n    });\n  });\n});\n"
  },
  {
    "path": "e2e/routes/seeds/generated-credentials.test.js",
    "content": "import fs from \"fs\";\nimport { test, expect } from \"@playwright/test\";\nimport { getApiContext } from \"../../common.js\";\n\nlet apiContext;\n\ntest.describe(\"Get credentials\", () => {\n  test.beforeAll(async ({ playwright }) => {\n    apiContext = await getApiContext(playwright);\n  });\n  test.afterAll(async ({}) => {\n    await apiContext.dispose();\n  });\n\n  test.describe(\"GET:/api/v1/seed/generated-credentials - Get credentials\", async () => {\n    test(\"should return public/temp/seed-credentials.json content\", async ({\n      page,\n    }) => {\n      const seedCredentialsText = fs.readFileSync(\n        \"./public/temp/seed-credentials.json\",\n        \"utf8\"\n      );\n      const seedCredentials = JSON.parse(seedCredentialsText);\n      const res = await apiContext.get(\"/api/v1/seed/generated-credentials\");\n      const json = await res.json();\n      expect(res.status()).toEqual(200);\n      expect(json.data).toMatchObject(seedCredentials);\n    });\n  });\n});\n"
  },
  {
    "path": "e2e/routes/seeds/social-media.test.js",
    "content": "import { test, expect } from \"@playwright/test\";\nimport { getApiContext } from \"../../common.js\";\nimport { clearDB } from \"../../db.js\";\nimport { SOCIAL_POSTS_COUNT } from \"../../../src/seeds/_constants.js\";\n\nlet apiContext;\n\ntest.describe(\"Seed social-media App\", () => {\n  test.beforeAll(async ({ playwright }) => {\n    apiContext = await getApiContext(playwright);\n    await clearDB();\n  });\n  test.afterAll(async ({}) => {\n    await apiContext.dispose();\n  });\n\n  test.describe(\"POST:/api/v1/seed/social-media - Seed social-media\", async () => {\n    test(\"should return 0 posts before seed\", async ({ page }) => {\n      const res = await apiContext.get(\n        \"/api/v1/social-media/posts?page=1&limit=1\"\n      );\n      const json = await res.json();\n      expect(res.status()).toEqual(200);\n      expect(json.data.totalPosts).toEqual(0);\n    });\n    test(\"should seed social-media DB\", async ({ page }) => {\n      const res = await apiContext.post(\"/api/v1/seed/social-media\");\n      expect(res.status()).toEqual(201);\n    });\n    test(`should return ${SOCIAL_POSTS_COUNT} post after seed`, async ({\n      page,\n    }) => {\n      const res = await apiContext.get(\n        \"/api/v1/social-media/posts?page=1&limit=1\"\n      );\n      const json = await res.json();\n      expect(res.status()).toEqual(200);\n      expect(json.data.totalPosts).toEqual(SOCIAL_POSTS_COUNT);\n    });\n  });\n});\n"
  },
  {
    "path": "e2e/routes/seeds/todo.test.js",
    "content": "import { test, expect } from \"@playwright/test\";\nimport { getApiContext } from \"../../common.js\";\nimport { clearDB } from \"../../db.js\";\nimport { TODOS_COUNT } from \"../../../src/seeds/_constants.js\";\n\nlet apiContext;\n\ntest.describe(\"Seed Todo App\", () => {\n  test.beforeAll(async ({ playwright }) => {\n    apiContext = await getApiContext(playwright);\n    await clearDB();\n  });\n  test.afterAll(async ({}) => {\n    await apiContext.dispose();\n  });\n\n  test.describe(\"POST:/api/v1/seed/todos - Seed Todos\", async () => {\n    test(\"should return 0 todos before seed\", async ({ page }) => {\n      const res = await apiContext.get(\"/api/v1/todos\");\n      const json = await res.json();\n      expect(res.status()).toEqual(200);\n      expect(json.data.length).toEqual(0);\n    });\n\n    test(\"should seed todo DB\", async ({ page }) => {\n      const res = await apiContext.post(\"/api/v1/seed/todos\");\n      expect(res.status()).toEqual(201);\n    });\n\n    test(`should return ${TODOS_COUNT} todos after seed`, async ({ page }) => {\n      const res = await apiContext.get(\"/api/v1/todos\");\n      const json = await res.json();\n      expect(res.status()).toEqual(200);\n      expect(json.data.length).toEqual(TODOS_COUNT);\n    });\n  });\n});\n"
  },
  {
    "path": "e2e/test-server.js",
    "content": "import dotenv from \"dotenv\";\ndotenv.config({\n  path: \"../.env\",\n});\nimport { httpServer } from \"../src/app.js\";\nimport connectDB from \"./db.js\";\n\nconst PORT = process.env.PORT || 8080;\n\n/**\n * Starting from Node.js v14 top-level await is available and it is only available in ES modules.\n * This means you can not use it with common js modules or Node version < 14.\n */\nconst majorNodeVersion = +process.env.NODE_VERSION?.split(\".\")[0] || 0;\n\nconst startServer = () => {\n  httpServer.listen(PORT, () => {\n    console.info(`📑 Visit the documentation at: http://localhost:${PORT}`);\n    console.log(\"⚙️  Server is running on port: \" + PORT);\n  });\n};\n\nif (majorNodeVersion >= 14) {\n  try {\n    await connectDB();\n    startServer();\n  } catch (err) {\n    console.log(\"Mongo db connect error: \", err);\n  }\n} else {\n  connectDB()\n    .then(() => {\n      startServer();\n    })\n    .catch((err) => {\n      console.log(\"Mongo db connect error: \", err);\n    });\n}\n"
  },
  {
    "path": "examples/apps/auth/.gitkeep",
    "content": ""
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/.eslintrc.cjs",
    "content": "module.exports = {\n  root: true,\n  env: { browser: true, es2020: true },\n  extends: [\n    \"eslint:recommended\",\n    \"plugin:@typescript-eslint/recommended\",\n    \"plugin:react-hooks/recommended\",\n  ],\n  ignorePatterns: [\"dist\", \".eslintrc.cjs\"],\n  parser: \"@typescript-eslint/parser\",\n  plugins: [\"react-refresh\"],\n  rules: {\n    \"react-refresh/only-export-components\": [\n      \"warn\",\n      { allowConstantExport: true },\n    ],\n    \"@typescript-eslint/no-explicit-any\": [\"off\"],\n  },\n};\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\npnpm-debug.log*\nlerna-debug.log*\n\nnode_modules\ndist\ndist-ssr\n*.local\n\n# Editor directories and files\n.vscode/*\n!.vscode/extensions.json\n.idea\n.DS_Store\n*.suo\n*.ntvs*\n*.njsproj\n*.sln\n*.sw?"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/README.md",
    "content": "# Installation and setup\n\nCreate a `.env` file in the ROOT folder and copy past the content of the `.env.sample` file in it.\n\nRun the following commands to start the server\n\n```bash\nnpm install\nnpm run dev\n\n# Make sure to keep the freeapi server running\n```\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/index.html",
    "content": "<!doctype html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"UTF-8\" />\n    <link rel=\"icon\" type=\"image/svg+xml\" href=\"/vite.svg\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>FreeAPI | Chat app example</title>\n  </head>\n  <body class=\"bg-dark text-white\">\n    <div id=\"root\"></div>\n    <script type=\"module\" src=\"/src/main.tsx\"></script>\n  </body>\n</html>\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/package.json",
    "content": "{\n  \"name\": \"vite-chat-app\",\n  \"private\": true,\n  \"version\": \"0.0.0\",\n  \"type\": \"module\",\n  \"scripts\": {\n    \"dev\": \"vite\",\n    \"build\": \"tsc && vite build\",\n    \"lint\": \"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0\",\n    \"preview\": \"vite preview\"\n  },\n  \"dependencies\": {\n    \"@headlessui/react\": \"^1.7.16\",\n    \"@heroicons/react\": \"^2.0.18\",\n    \"axios\": \"^1.7.4\",\n    \"moment\": \"^2.29.4\",\n    \"react\": \"^18.2.0\",\n    \"react-dom\": \"^18.2.0\",\n    \"react-router-dom\": \"^6.14.2\",\n    \"socket.io-client\": \"^4.7.2\"\n  },\n  \"devDependencies\": {\n    \"@types/react\": \"^18.2.15\",\n    \"@types/react-dom\": \"^18.2.7\",\n    \"@typescript-eslint/eslint-plugin\": \"^6.0.0\",\n    \"@typescript-eslint/parser\": \"^6.0.0\",\n    \"@vitejs/plugin-react\": \"^4.0.3\",\n    \"autoprefixer\": \"^10.4.14\",\n    \"eslint\": \"^8.45.0\",\n    \"eslint-plugin-react-hooks\": \"^4.6.0\",\n    \"eslint-plugin-react-refresh\": \"^0.4.3\",\n    \"postcss\": \"^8.4.27\",\n    \"tailwindcss\": \"^3.3.3\",\n    \"typescript\": \"^5.0.2\",\n    \"vite\": \"^4.5.4\"\n  },\n  \"resolutions\": {\n    \"cross-spawn\": \"^7.0.5\",\n    \"nanoid\": \"^3.3.8\"\n  }\n}\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/postcss.config.js",
    "content": "export default {\n  plugins: {\n    tailwindcss: {},\n    autoprefixer: {},\n  },\n};\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/App.tsx",
    "content": "// Importing required modules and components from the react-router-dom and other files.\nimport { Routes, Route, Navigate } from \"react-router-dom\";\nimport Login from \"./pages/login\";\nimport Register from \"./pages/register\";\nimport ChatPage from \"./pages/chat\";\nimport { useAuth } from \"./context/AuthContext\";\nimport PrivateRoute from \"./components/PrivateRoute\";\nimport PublicRoute from \"./components/PublicRoute\";\n\n// Main App component\nconst App = () => {\n  // Extracting 'token' and 'user' from the authentication context\n  const { token, user } = useAuth();\n\n  return (\n    <Routes>\n      {/* Root route: Redirects to chat if the user is logged in, else to the login page */}\n      <Route\n        path=\"/\"\n        element={\n          token && user?._id ? (\n            <Navigate to=\"/chat\" />\n          ) : (\n            <Navigate to=\"/login\" />\n          )\n        }\n      ></Route>\n\n      {/* Private chat route: Can only be accessed by authenticated users */}\n      <Route\n        path=\"/chat\"\n        element={\n          <PrivateRoute>\n            <ChatPage />\n          </PrivateRoute>\n        }\n      />\n\n      {/* Public login route: Accessible by everyone */}\n      <Route\n        path=\"/login\"\n        element={\n          <PublicRoute>\n            <Login />\n          </PublicRoute>\n        }\n      />\n\n      {/* Public register route: Accessible by everyone */}\n      <Route\n        path=\"/register\"\n        element={\n          <PublicRoute>\n            <Register />\n          </PublicRoute>\n        }\n      />\n\n      {/* Wildcard route for undefined paths. Shows a 404 error */}\n      <Route path=\"*\" element={<p>404 Not found</p>} />\n    </Routes>\n  );\n};\n\n// Exporting the App component to be used in other parts of the application\nexport default App;\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/api/index.ts",
    "content": "// Import necessary modules and utilities\nimport axios from \"axios\";\nimport { LocalStorage } from \"../utils\";\n\n// Create an Axios instance for API requests\nconst apiClient = axios.create({\n  baseURL: import.meta.env.VITE_SERVER_URI,\n  withCredentials: true,\n  timeout: 120000,\n});\n\n// Add an interceptor to set authorization header with user token before requests\napiClient.interceptors.request.use(\n  function (config) {\n    // Retrieve user token from local storage\n    const token = LocalStorage.get(\"token\");\n    // Set authorization header with bearer token\n    config.headers.Authorization = `Bearer ${token}`;\n    return config;\n  },\n  function (error) {\n    return Promise.reject(error);\n  }\n);\n\n// API functions for different actions\nconst loginUser = (data: { username: string; password: string }) => {\n  return apiClient.post(\"/users/login\", data);\n};\n\nconst registerUser = (data: {\n  email: string;\n  password: string;\n  username: string;\n}) => {\n  return apiClient.post(\"/users/register\", data);\n};\n\nconst logoutUser = () => {\n  return apiClient.post(\"/users/logout\");\n};\n\nconst getAvailableUsers = () => {\n  return apiClient.get(\"/chat-app/chats/users\");\n};\n\nconst getUserChats = () => {\n  return apiClient.get(`/chat-app/chats`);\n};\n\nconst createUserChat = (receiverId: string) => {\n  return apiClient.post(`/chat-app/chats/c/${receiverId}`);\n};\n\nconst createGroupChat = (data: { name: string; participants: string[] }) => {\n  return apiClient.post(`/chat-app/chats/group`, data);\n};\n\nconst getGroupInfo = (chatId: string) => {\n  return apiClient.get(`/chat-app/chats/group/${chatId}`);\n};\n\nconst updateGroupName = (chatId: string, name: string) => {\n  return apiClient.patch(`/chat-app/chats/group/${chatId}`, { name });\n};\n\nconst deleteGroup = (chatId: string) => {\n  return apiClient.delete(`/chat-app/chats/group/${chatId}`);\n};\n\nconst deleteOneOnOneChat = (chatId: string) => {\n  return apiClient.delete(`/chat-app/chats/remove/${chatId}`);\n};\n\nconst addParticipantToGroup = (chatId: string, participantId: string) => {\n  return apiClient.post(`/chat-app/chats/group/${chatId}/${participantId}`);\n};\n\nconst removeParticipantFromGroup = (chatId: string, participantId: string) => {\n  return apiClient.delete(`/chat-app/chats/group/${chatId}/${participantId}`);\n};\n\nconst getChatMessages = (chatId: string) => {\n  return apiClient.get(`/chat-app/messages/${chatId}`);\n};\n\nconst sendMessage = (chatId: string, content: string, attachments: File[]) => {\n  const formData = new FormData();\n  if (content) {\n    formData.append(\"content\", content);\n  }\n  attachments?.map((file) => {\n    formData.append(\"attachments\", file);\n  });\n  return apiClient.post(`/chat-app/messages/${chatId}`, formData);\n};\n\nconst deleteMessage = (chatId: string, messageId: string) => {\n  return apiClient.delete(`/chat-app/messages/${chatId}/${messageId}`);\n};\n\n// Export all the API functions\nexport {\n  addParticipantToGroup,\n  createGroupChat,\n  createUserChat,\n  deleteGroup,\n  deleteOneOnOneChat,\n  getAvailableUsers,\n  getChatMessages,\n  getGroupInfo,\n  getUserChats,\n  loginUser,\n  logoutUser,\n  registerUser,\n  removeParticipantFromGroup,\n  sendMessage,\n  updateGroupName,\n  deleteMessage,\n};\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/components/Button.tsx",
    "content": "import React from \"react\";\nimport { classNames } from \"../utils\";\n\nconst Button: React.FC<\n  React.ButtonHTMLAttributes<HTMLButtonElement> & {\n    fullWidth?: boolean;\n    severity?: \"primary\" | \"secondary\" | \"danger\";\n    size?: \"base\" | \"small\";\n  }\n> = ({ fullWidth, severity = \"primary\", size = \"base\", ...props }) => {\n  return (\n    <>\n      <button\n        {...props}\n        className={classNames(\n          \"rounded-full inline-flex flex-shrink-0 justify-center items-center text-center text-white focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white shadow-sm\",\n          fullWidth ? \"w-full\" : \"\",\n          severity === \"secondary\"\n            ? \"bg-secondary hover:bg-secondary/80 disabled:bg-secondary/50 outline outline-[1px] outline-zinc-400\"\n            : severity === \"danger\"\n            ? \"bg-danger hover:bg-danger/80 disabled:bg-danger/50\"\n            : \"bg-primary hover:bg-primary/80 disabled:bg-primary/50\",\n          size === \"small\" ? \"text-sm px-3 py-1.5\" : \"text-base px-4 py-3\",\n          props.className || \"\"\n        )}\n      >\n        {props.children}\n      </button>\n    </>\n  );\n};\n\nexport default Button;\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/components/Input.tsx",
    "content": "import React from \"react\";\nimport { classNames } from \"../utils\";\n\nconst Input: React.FC<React.InputHTMLAttributes<HTMLInputElement>> = (\n  props\n) => {\n  return (\n    <input\n      {...props}\n      className={classNames(\n        \"block w-full rounded-xl outline outline-[1px] outline-zinc-400 border-0 py-4 px-5 bg-secondary text-white font-light placeholder:text-white/70\",\n        props.className || \"\"\n      )}\n    />\n  );\n};\n\nexport default Input;\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/components/Loader.tsx",
    "content": "const Loader = () => {\n  return (\n    <div className=\"flex space-x-2 w-full h-screen fixed inset-0 bg-zinc-700/50 z-50 justify-center items-center\">\n      <div aria-label=\"Loading...\" role=\"status\">\n        <svg className=\"h-12 w-12 animate-spin\" viewBox=\"3 3 18 18\">\n          <path\n            className=\"fill-white\"\n            d=\"M12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19C15.866 19 19 15.866 19 12C19 8.13401 15.866 5 12 5ZM3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12Z\"\n          ></path>\n          <path\n            className=\"fill-secondary\"\n            d=\"M16.9497 7.05015C14.2161 4.31648 9.78392 4.31648 7.05025 7.05015C6.65973 7.44067 6.02656 7.44067 5.63604 7.05015C5.24551 6.65962 5.24551 6.02646 5.63604 5.63593C9.15076 2.12121 14.8492 2.12121 18.364 5.63593C18.7545 6.02646 18.7545 6.65962 18.364 7.05015C17.9734 7.44067 17.3403 7.44067 16.9497 7.05015Z\"\n          ></path>\n        </svg>\n      </div>\n    </div>\n  );\n};\n\nexport default Loader;\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/components/PrivateRoute.tsx",
    "content": "// Import required modules and types from React and react-router-dom libraries\nimport React, { ReactNode } from \"react\";\nimport { Navigate } from \"react-router-dom\";\n\n// Import authentication context for retrieving user and token information\nimport { useAuth } from \"../context/AuthContext\";\n\n// Define a PrivateRoute component that wraps child components to ensure user authentication\nconst PrivateRoute: React.FC<{ children: ReactNode }> = ({ children }) => {\n  // Destructure token and user details from the authentication context\n  const { token, user } = useAuth();\n\n  // If there's no token or user ID, redirect to the login page\n  if (!token || !user?._id) return <Navigate to=\"/login\" replace />;\n\n  // If authenticated, render the child components\n  return children;\n};\n\n// Export the PrivateRoute component for use in other parts of the application\nexport default PrivateRoute;\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/components/PublicRoute.tsx",
    "content": "// Import necessary libraries and types\nimport React, { ReactNode } from \"react\";\nimport { Navigate } from \"react-router-dom\";\nimport { useAuth } from \"../context/AuthContext\";\n\n// Define the PublicRoute component which takes in children as its prop\nconst PublicRoute: React.FC<{ children: ReactNode }> = ({ children }) => {\n  // Destructure token and user from the authentication context\n  const { token, user } = useAuth();\n\n  // If there is a valid token and user ID, navigate the user to the chat page\n  if (token && user?._id) return <Navigate to=\"/chat\" replace />;\n\n  // If no token or user ID exists, render the child components as they are\n  return children;\n};\n\n// Export the PublicRoute component for use in other parts of the application\nexport default PublicRoute;\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/components/Select.tsx",
    "content": "import { Combobox } from \"@headlessui/react\";\nimport { CheckIcon, ChevronUpDownIcon } from \"@heroicons/react/20/solid\";\nimport React, { useEffect, useState } from \"react\";\nimport { classNames } from \"../utils\";\n\nconst Select: React.FC<{\n  options: {\n    value: string;\n    label: string;\n  }[];\n  value: string;\n  onChange: (value: { value: string; label: string }) => void;\n  placeholder: string;\n}> = ({ options, value, placeholder, onChange }) => {\n  const [localOptions, setLocalOptions] = useState<typeof options>([]);\n\n  useEffect(() => {\n    setLocalOptions(options);\n  }, [options]);\n\n  return (\n    <Combobox\n      className={\"w-full\"}\n      as=\"div\"\n      value={options.find((o) => o.value === value)}\n      onChange={(val: any) => onChange(val)}\n    >\n      <div className=\"relative mt-2\">\n        <Combobox.Button className=\"w-full\">\n          <Combobox.Input\n            placeholder={placeholder}\n            className=\"block w-full rounded-xl border-0 py-4 px-5 bg-secondary outline outline-[1px] outline-zinc-400 text-white font-light placeholder:text-white/70 focus:ring-[1px] focus:ring-white\"\n            onChange={(e) => {\n              setLocalOptions(\n                options.filter((op) => op.label.includes(e.target.value))\n              );\n            }}\n            displayValue={(option: (typeof options)[0]) => option?.label}\n          />\n        </Combobox.Button>\n        <Combobox.Button className=\"absolute inset-y-0 right-0 flex items-center rounded-r-md px-2 focus:outline-none\">\n          <ChevronUpDownIcon\n            className=\"h-5 w-5 text-zinc-400\"\n            aria-hidden=\"true\"\n          />\n        </Combobox.Button>\n\n        {localOptions.length > 0 && (\n          <Combobox.Options className=\"outline outline-[1px] outline-zinc-400 absolute z-10 mt-2 p-2 max-h-60 w-full overflow-auto rounded-2xl bg-secondary text-base shadow-lg ring-opacity-5 focus:outline-none sm:text-sm\">\n            {localOptions.map((option) => (\n              <Combobox.Option\n                key={option.value}\n                value={option}\n                className={({ active }) =>\n                  classNames(\n                    \"cursor-pointer relative rounded-2xl select-none py-4 pl-3 pr-9\",\n                    active ? \"bg-dark text-white\" : \"text-white\"\n                  )\n                }\n              >\n                {({ active, selected }) => (\n                  <>\n                    <span\n                      className={classNames(\n                        \"block truncate\",\n                        selected ? \"font-semibold\" : \"\"\n                      )}\n                    >\n                      {option.label}\n                    </span>\n\n                    {selected && (\n                      <span\n                        className={classNames(\n                          \"absolute inset-y-0 right-0 flex items-center pr-4\",\n                          active ? \"text-white\" : \"text-indigo-600\"\n                        )}\n                      >\n                        <CheckIcon className=\"h-5 w-5\" aria-hidden=\"true\" />\n                      </span>\n                    )}\n                  </>\n                )}\n              </Combobox.Option>\n            ))}\n          </Combobox.Options>\n        )}\n      </div>\n    </Combobox>\n  );\n};\n\nexport default Select;\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/components/chat/AddChatModal.tsx",
    "content": "import { Dialog, Switch, Transition } from \"@headlessui/react\";\nimport {\n  UserGroupIcon,\n  XCircleIcon,\n  XMarkIcon,\n} from \"@heroicons/react/20/solid\";\nimport { Fragment, useEffect, useState } from \"react\";\nimport { createGroupChat, createUserChat, getAvailableUsers } from \"../../api\";\nimport { ChatListItemInterface } from \"../../interfaces/chat\";\nimport { UserInterface } from \"../../interfaces/user\";\nimport { classNames, requestHandler } from \"../../utils\";\nimport Button from \"../Button\";\nimport Input from \"../Input\";\nimport Select from \"../Select\";\n\nconst AddChatModal: React.FC<{\n  open: boolean;\n  onClose: () => void;\n  onSuccess: (chat: ChatListItemInterface) => void;\n}> = ({ open, onClose, onSuccess }) => {\n  // State to store the list of users, initialized as an empty array\n  const [users, setUsers] = useState<UserInterface[]>([]);\n  // State to store the name of a group, initialized as an empty string\n  const [groupName, setGroupName] = useState(\"\");\n  // State to determine if the chat is a group chat, initialized as false\n  const [isGroupChat, setIsGroupChat] = useState(false);\n  // State to store the list of participants in a group chat, initialized as an empty array\n  const [groupParticipants, setGroupParticipants] = useState<string[]>([]);\n  // State to store the ID of a selected user, initialized as null\n  const [selectedUserId, setSelectedUserId] = useState<null | string>(null);\n  // State to determine if a chat is currently being created, initialized as false\n  const [creatingChat, setCreatingChat] = useState(false);\n\n  // Function to fetch users\n  const getUsers = async () => {\n    // Handle the request to get available users\n    requestHandler(\n      // Callback to fetch available users\n      async () => await getAvailableUsers(),\n      null, // No loading setter callback provided\n      // Success callback\n      (res) => {\n        const { data } = res; // Extract data from response\n        setUsers(data || []); // Set users data or an empty array if data is absent\n      },\n      alert // Use the alert as the error handler\n    );\n  };\n\n  // Function to create a new chat with a user\n  const createNewChat = async () => {\n    // If no user is selected, show an alert\n    if (!selectedUserId) return alert(\"Please select a user\");\n\n    // Handle the request to create a chat\n    await requestHandler(\n      // Callback to create a user chat\n      async () => await createUserChat(selectedUserId),\n      setCreatingChat, // Callback to handle loading state\n      // Success callback\n      (res) => {\n        const { data } = res; // Extract data from response\n        // If chat already exists with the selected user\n        if (res.statusCode === 200) {\n          alert(\"Chat with selected user already exists\");\n          return;\n        }\n        onSuccess(data); // Execute the onSuccess function with received data\n        handleClose(); // Close the modal or popup\n      },\n      alert // Use the alert as the error handler\n    );\n  };\n\n  // Function to create a new group chat\n  const createNewGroupChat = async () => {\n    // Check if a group name is provided\n    if (!groupName) return alert(\"Group name is required\");\n    // Ensure there are at least 2 group participants\n    if (!groupParticipants.length || groupParticipants.length < 2)\n      return alert(\"There must be at least 2 group participants\");\n\n    // Handle the request to create a group chat\n    await requestHandler(\n      // Callback to create a group chat with name and participants\n      async () =>\n        await createGroupChat({\n          name: groupName,\n          participants: groupParticipants,\n        }),\n      setCreatingChat, // Callback to handle loading state\n      // Success callback\n      (res) => {\n        const { data } = res; // Extract data from response\n        onSuccess(data); // Execute the onSuccess function with received data\n        handleClose(); // Close the modal or popup\n      },\n      alert // Use the alert as the error handler\n    );\n  };\n\n  // Function to reset local state values and close the modal/dialog\n  const handleClose = () => {\n    // Clear the list of users\n    setUsers([]);\n    // Reset the selected user ID\n    setSelectedUserId(\"\");\n    // Clear the group name\n    setGroupName(\"\");\n    // Clear the group participants list\n    setGroupParticipants([]);\n    // Set the chat type to not be a group chat\n    setIsGroupChat(false);\n    // Execute the onClose callback/function\n    onClose();\n  };\n\n  // useEffect hook to perform side effects based on changes in the component lifecycle or state/props\n  useEffect(() => {\n    // Check if the modal/dialog is not open\n    if (!open) return;\n    // Fetch users if the modal/dialog is open\n    getUsers();\n    // The effect depends on the 'open' value. Whenever 'open' changes, the effect will re-run.\n  }, [open]);\n\n  return (\n    <Transition.Root show={open} as={Fragment}>\n      <Dialog as=\"div\" className=\"relative z-10\" onClose={handleClose}>\n        <Transition.Child\n          as={Fragment}\n          enter=\"ease-out duration-300\"\n          enterFrom=\"opacity-0\"\n          enterTo=\"opacity-100\"\n          leave=\"ease-in duration-200\"\n          leaveFrom=\"opacity-100\"\n          leaveTo=\"opacity-0\"\n        >\n          <div className=\"fixed inset-0 bg-black/50 bg-opacity-75 transition-opacity\" />\n        </Transition.Child>\n\n        <div className=\"fixed inset-0 z-10 overflow-y-visible\">\n          <div className=\"flex min-h-full items-end justify-center p-4 text-center sm:items-center sm:p-0\">\n            <Transition.Child\n              as={Fragment}\n              enter=\"ease-out duration-300\"\n              enterFrom=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n              enterTo=\"opacity-100 translate-y-0 sm:scale-100\"\n              leave=\"ease-in duration-200\"\n              leaveFrom=\"opacity-100 translate-y-0 sm:scale-100\"\n              leaveTo=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n            >\n              <Dialog.Panel\n                className=\"relative transform overflow-x-hidden rounded-lg bg-dark px-4 pb-4 pt-5 text-left shadow-xl transition-all sm:my-8 sm:w-full sm:max-w-3xl sm:p-6\"\n                style={{\n                  overflow: \"inherit\",\n                }}\n              >\n                <div>\n                  <div className=\"flex justify-between items-center\">\n                    <Dialog.Title\n                      as=\"h3\"\n                      className=\"text-lg font-semibold leading-6 text-white\"\n                    >\n                      Create chat\n                    </Dialog.Title>\n                    <button\n                      type=\"button\"\n                      className=\"rounded-md bg-transparent text-zinc-400 hover:text-zinc-600 focus:outline-none focus:ring-1 focus:ring-white focus:ring-offset-2\"\n                      onClick={() => handleClose()}\n                    >\n                      <span className=\"sr-only\">Close</span>\n                      <XMarkIcon className=\"h-6 w-6\" aria-hidden=\"true\" />\n                    </button>\n                  </div>\n                </div>\n                <div>\n                  <Switch.Group as=\"div\" className=\"flex items-center my-5\">\n                    <Switch\n                      checked={isGroupChat}\n                      onChange={setIsGroupChat}\n                      className={classNames(\n                        isGroupChat ? \"bg-secondary\" : \"bg-zinc-200\",\n                        \"relative outline outline-[1px] outline-white inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:ring-0\"\n                      )}\n                    >\n                      <span\n                        aria-hidden=\"true\"\n                        className={classNames(\n                          isGroupChat\n                            ? \"translate-x-5 bg-success\"\n                            : \"translate-x-0 bg-white\",\n                          \"pointer-events-none inline-block h-5 w-5 transform rounded-full shadow ring-0 transition duration-200 ease-in-out\"\n                        )}\n                      />\n                    </Switch>\n                    <Switch.Label as=\"span\" className=\"ml-3 text-sm\">\n                      <span\n                        className={classNames(\n                          \"font-medium text-white\",\n                          isGroupChat ? \"\" : \"opacity-40\"\n                        )}\n                      >\n                        Is it a group chat?\n                      </span>{\" \"}\n                    </Switch.Label>\n                  </Switch.Group>\n                  {isGroupChat ? (\n                    <div className=\"my-5\">\n                      <Input\n                        placeholder={\"Enter a group name...\"}\n                        value={groupName}\n                        onChange={(e) => {\n                          setGroupName(e.target.value);\n                        }}\n                      />\n                    </div>\n                  ) : null}\n                  <div className=\"my-5\">\n                    <Select\n                      placeholder={\n                        isGroupChat\n                          ? \"Select group participants...\"\n                          : \"Select a user to chat...\"\n                      }\n                      value={isGroupChat ? \"\" : selectedUserId || \"\"}\n                      options={users.map((user) => {\n                        return {\n                          label: user.username,\n                          value: user._id,\n                        };\n                      })}\n                      onChange={({ value }) => {\n                        if (isGroupChat && !groupParticipants.includes(value)) {\n                          // if user is creating a group chat track the participants in an array\n                          setGroupParticipants([...groupParticipants, value]);\n                        } else {\n                          setSelectedUserId(value);\n                          // if user is creating normal chat just get a single user\n                        }\n                      }}\n                    />\n                  </div>\n                  {isGroupChat ? (\n                    <div className=\"my-5\">\n                      <span\n                        className={classNames(\n                          \"font-medium text-white inline-flex items-center\"\n                        )}\n                      >\n                        <UserGroupIcon className=\"h-5 w-5 mr-2\" /> Selected\n                        participants\n                      </span>{\" \"}\n                      <div className=\"flex justify-start items-center flex-wrap gap-2 mt-3\">\n                        {users\n                          .filter((user) =>\n                            groupParticipants.includes(user._id)\n                          )\n                          ?.map((participant) => {\n                            return (\n                              <div\n                                className=\"inline-flex bg-secondary rounded-full p-2 border-[1px] border-zinc-400 items-center gap-2\"\n                                key={participant._id}\n                              >\n                                <img\n                                  className=\"h-6 w-6 rounded-full object-cover\"\n                                  src={participant.avatar.url}\n                                />\n                                <p className=\"text-white\">\n                                  {participant.username}\n                                </p>\n                                <XCircleIcon\n                                  role=\"button\"\n                                  className=\"w-6 h-6 hover:text-primary cursor-pointer\"\n                                  onClick={() => {\n                                    setGroupParticipants(\n                                      groupParticipants.filter(\n                                        (p) => p !== participant._id\n                                      )\n                                    );\n                                  }}\n                                />\n                              </div>\n                            );\n                          })}\n                      </div>\n                    </div>\n                  ) : null}\n                </div>\n                <div className=\"mt-5 flex justify-between items-center gap-4\">\n                  <Button\n                    disabled={creatingChat}\n                    severity={\"secondary\"}\n                    onClick={handleClose}\n                    className=\"w-1/2\"\n                  >\n                    Close\n                  </Button>\n                  <Button\n                    disabled={creatingChat}\n                    onClick={isGroupChat ? createNewGroupChat : createNewChat}\n                    className=\"w-1/2\"\n                  >\n                    Create\n                  </Button>\n                </div>\n              </Dialog.Panel>\n            </Transition.Child>\n          </div>\n        </div>\n      </Dialog>\n    </Transition.Root>\n  );\n};\n\nexport default AddChatModal;\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/components/chat/ChatItem.tsx",
    "content": "import {\n  EllipsisVerticalIcon,\n  PaperClipIcon,\n  TrashIcon,\n} from \"@heroicons/react/20/solid\";\nimport { InformationCircleIcon } from \"@heroicons/react/24/outline\";\nimport moment from \"moment\";\nimport React, { useState } from \"react\";\nimport { deleteOneOnOneChat } from \"../../api\";\nimport { useAuth } from \"../../context/AuthContext\";\nimport { ChatListItemInterface } from \"../../interfaces/chat\";\nimport { classNames, getChatObjectMetadata, requestHandler } from \"../../utils\";\nimport GroupChatDetailsModal from \"./GroupChatDetailsModal\";\n\nconst ChatItem: React.FC<{\n  chat: ChatListItemInterface;\n  onClick: (chat: ChatListItemInterface) => void;\n  isActive?: boolean;\n  unreadCount?: number;\n  onChatDelete: (chatId: string) => void;\n}> = ({ chat, onClick, isActive, unreadCount = 0, onChatDelete }) => {\n  const { user } = useAuth();\n  const [openOptions, setOpenOptions] = useState(false);\n  const [openGroupInfo, setOpenGroupInfo] = useState(false);\n\n  // Define an asynchronous function named 'deleteChat'.\n  const deleteChat = async () => {\n    await requestHandler(\n      //  A callback function that performs the deletion of a one-on-one chat by its ID.\n      async () => await deleteOneOnOneChat(chat._id),\n      null,\n      // A callback function to be executed on success. It will call 'onChatDelete'\n      // function with the chat's ID as its parameter.\n      () => {\n        onChatDelete(chat._id);\n      },\n      // The 'alert' function (likely to display error messages to the user.\n      alert\n    );\n  };\n\n  if (!chat) return;\n  return (\n    <>\n      <GroupChatDetailsModal\n        open={openGroupInfo}\n        onClose={() => {\n          setOpenGroupInfo(false);\n        }}\n        chatId={chat._id}\n        onGroupDelete={onChatDelete}\n      />\n      <div\n        role=\"button\"\n        onClick={() => onClick(chat)}\n        onMouseLeave={() => setOpenOptions(false)}\n        className={classNames(\n          \"group p-4 my-2 flex justify-between gap-3 items-start cursor-pointer rounded-3xl hover:bg-secondary\",\n          isActive ? \"border-[1px] border-zinc-500 bg-secondary\" : \"\",\n          unreadCount > 0\n            ? \"border-[1px] border-success bg-success/20 font-bold\"\n            : \"\"\n        )}\n      >\n        <button\n          onClick={(e) => {\n            e.stopPropagation();\n            setOpenOptions(!openOptions);\n          }}\n          className=\"self-center p-1 relative\"\n        >\n          <EllipsisVerticalIcon className=\"h-6 group-hover:w-6 group-hover:opacity-100 w-0 opacity-0 transition-all ease-in-out duration-100 text-zinc-300\" />\n          <div\n            className={classNames(\n              \"z-20 text-left absolute bottom-0 translate-y-full text-sm w-52 bg-dark rounded-2xl p-2 shadow-md border-[1px] border-secondary\",\n              openOptions ? \"block\" : \"hidden\"\n            )}\n          >\n            {chat.isGroupChat ? (\n              <p\n                onClick={(e) => {\n                  e.stopPropagation();\n                  setOpenGroupInfo(true);\n                }}\n                role=\"button\"\n                className=\"p-4 w-full rounded-lg inline-flex items-center hover:bg-secondary\"\n              >\n                <InformationCircleIcon className=\"h-4 w-4 mr-2\" /> About group\n              </p>\n            ) : (\n              <p\n                onClick={(e) => {\n                  e.stopPropagation();\n                  const ok = confirm(\n                    \"Are you sure you want to delete this chat?\"\n                  );\n                  if (ok) {\n                    deleteChat();\n                  }\n                }}\n                role=\"button\"\n                className=\"p-4 text-danger rounded-lg w-full inline-flex items-center hover:bg-secondary\"\n              >\n                <TrashIcon className=\"h-4 w-4 mr-2\" />\n                Delete chat\n              </p>\n            )}\n          </div>\n        </button>\n        <div className=\"flex justify-center items-center flex-shrink-0\">\n          {chat.isGroupChat ? (\n            <div className=\"w-12 relative h-12 flex-shrink-0 flex justify-start items-center flex-nowrap\">\n              {chat.participants.slice(0, 3).map((participant, i) => {\n                return (\n                  <img\n                    key={participant._id}\n                    src={participant.avatar.url}\n                    className={classNames(\n                      \"w-8 h-8 border-[1px] border-white rounded-full absolute outline outline-4 outline-dark group-hover:outline-secondary\",\n                      i === 0\n                        ? \"left-0 z-[3]\"\n                        : i === 1\n                        ? \"left-2.5 z-[2]\"\n                        : i === 2\n                        ? \"left-[18px] z-[1]\"\n                        : \"\"\n                    )}\n                  />\n                );\n              })}\n            </div>\n          ) : (\n            <img\n              src={getChatObjectMetadata(chat, user!).avatar}\n              className=\"w-12 h-12 rounded-full\"\n            />\n          )}\n        </div>\n        <div className=\"w-full\">\n          <p className=\"truncate-1\">\n            {getChatObjectMetadata(chat, user!).title}\n          </p>\n          <div className=\"w-full inline-flex items-center text-left\">\n            {chat.lastMessage && chat.lastMessage.attachments.length > 0 ? (\n              // If last message is an attachment show paperclip\n              <PaperClipIcon className=\"text-white/50 h-3 w-3 mr-2 flex flex-shrink-0\" />\n            ) : null}\n            <small className=\"text-white/50 truncate-1 text-sm text-ellipsis inline-flex items-center\">\n              {getChatObjectMetadata(chat, user!).lastMessage}\n            </small>\n          </div>\n        </div>\n        <div className=\"flex text-white/50 h-full text-sm flex-col justify-between items-end\">\n          <small className=\"mb-2 inline-flex flex-shrink-0 w-max\">\n            {moment(chat.updatedAt).add(\"TIME_ZONE\", \"hours\").fromNow(true)}\n          </small>\n\n          {/* Unread count will be > 0 when user is on another chat and there is new message in a chat which is not currently active on user's screen */}\n          {unreadCount <= 0 ? null : (\n            <span className=\"bg-success h-2 w-2 aspect-square flex-shrink-0 p-2 text-white text-xs rounded-full inline-flex justify-center items-center\">\n              {unreadCount > 9 ? \"9+\" : unreadCount}\n            </span>\n          )}\n        </div>\n      </div>\n    </>\n  );\n};\n\nexport default ChatItem;\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/components/chat/GroupChatDetailsModal.tsx",
    "content": "import { Dialog, Transition } from \"@headlessui/react\";\nimport {\n  PencilIcon,\n  TrashIcon,\n  UserGroupIcon,\n  UserPlusIcon,\n  XMarkIcon,\n} from \"@heroicons/react/20/solid\";\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport {\n  addParticipantToGroup,\n  deleteGroup,\n  getAvailableUsers,\n  getGroupInfo,\n  removeParticipantFromGroup,\n  updateGroupName,\n} from \"../../api\";\nimport { useAuth } from \"../../context/AuthContext\";\nimport { ChatListItemInterface } from \"../../interfaces/chat\";\nimport { UserInterface } from \"../../interfaces/user\";\nimport { requestHandler } from \"../../utils\";\nimport Button from \"../Button\";\nimport Input from \"../Input\";\nimport Select from \"../Select\";\n\nconst GroupChatDetailsModal: React.FC<{\n  open: boolean;\n  onClose: () => void;\n  chatId: string;\n  onGroupDelete: (chatId: string) => void;\n}> = ({ open, onClose, chatId, onGroupDelete }) => {\n  const { user } = useAuth();\n  // State to manage the UI flag for adding a participant\n  const [addingParticipant, setAddingParticipant] = useState(false);\n  // State to manage the UI flag for renaming a group\n  const [renamingGroup, setRenamingGroup] = useState(false);\n\n  // State to capture the ID of the participant to be added\n  const [participantToBeAdded, setParticipantToBeAdded] = useState(\"\");\n  // State to capture the new name when renaming a group\n  const [newGroupName, setNewGroupName] = useState(\"\");\n\n  // State to store the current group details, initially set to null\n  const [groupDetails, setGroupDetails] =\n    useState<ChatListItemInterface | null>(null);\n\n  // State to manage a list of users, initially set as an empty array\n  const [users, setUsers] = useState<UserInterface[]>([]);\n\n  // Function to handle the update of the group name.\n  const handleGroupNameUpdate = async () => {\n    // Check if the new group name is provided.\n    if (!newGroupName) return alert(\"Group name is required\");\n\n    // Request to update the group name.\n    requestHandler(\n      // Call to update the group name with the provided chatId and newGroupName.\n      async () => await updateGroupName(chatId, newGroupName),\n      null,\n      // On successful update, set the new group details and other related states.\n      (res) => {\n        const { data } = res;\n        setGroupDetails(data); // Set the new group details.\n        setNewGroupName(data.name); // Set the new group name state.\n        setRenamingGroup(false); // Set the state to not renaming.\n        alert(\"Group name updated to \" + data.name); // Alert the user about the update.\n      },\n      alert // Use default alert for any error messages.\n    );\n  };\n\n  // Function to retrieve available users.\n  const getUsers = async () => {\n    requestHandler(\n      // Call to get the list of available users.\n      async () => await getAvailableUsers(),\n      null,\n      // On successful retrieval, set the users' state.\n      (res) => {\n        const { data } = res;\n        setUsers(data || []);\n      },\n      alert // Use default alert for any error messages.\n    );\n  };\n\n  // Function to delete a group chat.\n  const deleteGroupChat = async () => {\n    // Check if the user is the admin of the group before deletion.\n    if (groupDetails?.admin !== user?._id) {\n      return alert(\"You are not the admin of the group\");\n    }\n\n    // Request to delete the group chat.\n    requestHandler(\n      // Call to delete the group using the provided chatId.\n      async () => await deleteGroup(chatId),\n      null,\n      // On successful deletion, trigger onGroupDelete and close any modals/dialogs.\n      () => {\n        onGroupDelete(chatId);\n        handleClose();\n      },\n      alert // Use default alert for any error messages.\n    );\n  };\n\n  const removeParticipant = async (participantId: string) => {\n    requestHandler(\n      // This is the main request function to remove a participant from the group.\n      async () => await removeParticipantFromGroup(chatId, participantId),\n      // Null represents an optional loading state callback\n      null,\n      // This is the callback after the request is successful.\n      () => {\n        // Copy the existing group details.\n        const updatedGroupDetails = {\n          ...groupDetails,\n          // Update the participants list by filtering out the removed participant.\n          participants:\n            (groupDetails?.participants &&\n              groupDetails?.participants?.filter(\n                (p) => p._id !== participantId\n              )) ||\n            [],\n        };\n        // Update the state with the modified group details.\n        setGroupDetails(updatedGroupDetails as ChatListItemInterface);\n        // Inform the user that the participant has been removed.\n        alert(\"Participant removed\");\n      },\n      // This may be a generic error alert or error handling function if the request fails.\n      alert\n    );\n  };\n\n  // Function to add a participant to a chat group.\n  const addParticipant = async () => {\n    // Check if there's a participant selected to be added.\n    if (!participantToBeAdded)\n      return alert(\"Please select a participant to add.\");\n    // Make a request to add the participant to the group.\n    requestHandler(\n      // Actual request to add the participant.\n      async () => await addParticipantToGroup(chatId, participantToBeAdded),\n      // No loading callback provided, so passing `null`.\n      null,\n      // Callback on success.\n      (res) => {\n        // Destructure the response to get the data.\n        const { data } = res;\n        // Create an updated group details object.\n        const updatedGroupDetails = {\n          ...groupDetails,\n          participants: data?.participants || [],\n        };\n        // Update the group details state with the new details.\n        setGroupDetails(updatedGroupDetails as ChatListItemInterface);\n        // Alert the user that the participant was added.\n        alert(\"Participant added\");\n      },\n      // Use the `alert` function as the fallback error handler.\n      alert\n    );\n  };\n\n  // Function to fetch group information\n  const fetchGroupInformation = async () => {\n    requestHandler(\n      // Fetching group info for a specific chatId\n      async () => await getGroupInfo(chatId),\n      // Placeholder for a loading callback (currently set to null)\n      null,\n      // If the request is successful, destructure the response and set group details and the group name\n      (res) => {\n        const { data } = res;\n        setGroupDetails(data);\n        setNewGroupName(data?.name || \"\");\n      },\n      // If the request fails, show an alert\n      alert\n    );\n  };\n\n  // Function to handle modal or component closure\n  const handleClose = () => {\n    onClose();\n  };\n\n  // React's effect hook to perform side effects, here to fetch group information and users\n  useEffect(() => {\n    // If the modal or component isn't open, exit early\n    if (!open) return;\n\n    // Fetch group information and users when the modal or component opens\n    fetchGroupInformation();\n    getUsers();\n  }, [open]); // The effect is dependent on the 'open' state or prop, so it re-runs whenever 'open' changes\n\n  return (\n    <Transition.Root show={open} as={Fragment}>\n      <Dialog as=\"div\" className=\"relative z-40\" onClose={handleClose}>\n        <Transition.Child\n          as={Fragment}\n          enter=\"transform transition ease-in-out duration-500 sm:duration-700\"\n          enterFrom=\"opacity-0\"\n          enterTo=\"opacity-100\"\n          leave=\"transform transition ease-in-out duration-500 sm:duration-700\"\n          leaveFrom=\"opacity-100\"\n          leaveTo=\"opacity-0\"\n        >\n          <div className=\"fixed inset-0 bg-black/50\" />\n        </Transition.Child>\n        <div className=\"fixed inset-0 overflow-hidden\">\n          <div className=\"absolute inset-0 overflow-hidden\">\n            <div className=\"pointer-events-none fixed inset-y-0 right-0 flex max-w-full pl-10 sm:pl-16\">\n              <Transition.Child\n                as={Fragment}\n                enter=\"transform transition ease-in-out duration-500 sm:duration-700\"\n                enterFrom=\"translate-x-full\"\n                enterTo=\"translate-x-0\"\n                leave=\"transform transition ease-in-out duration-500 sm:duration-700\"\n                leaveFrom=\"translate-x-0\"\n                leaveTo=\"translate-x-full\"\n              >\n                <Dialog.Panel className=\"pointer-events-auto w-screen max-w-2xl\">\n                  <div className=\"flex h-full flex-col overflow-y-scroll bg-secondary py-6 shadow-xl\">\n                    <div className=\"px-4 sm:px-6\">\n                      <div className=\"flex items-start justify-between\">\n                        <div className=\"ml-3 flex h-7 items-center\">\n                          <button\n                            type=\"button\"\n                            className=\"relative rounded-md bg-secondary text-zinc-400 hover:text-zinc-500 focus:outline-none\"\n                            onClick={handleClose}\n                          >\n                            <span className=\"absolute -inset-2.5\" />\n                            <span className=\"sr-only\">Close panel</span>\n                            <XMarkIcon className=\"h-6 w-6\" aria-hidden=\"true\" />\n                          </button>\n                        </div>\n                      </div>\n                    </div>\n                    <div className=\"relative mt-6 flex-1 px-4 sm:px-6\">\n                      <div className=\"flex flex-col justify-center items-start\">\n                        <div className=\"flex pl-16 justify-center items-center relative w-full h-max gap-3\">\n                          {groupDetails?.participants.slice(0, 3).map((p) => {\n                            return (\n                              <img\n                                className=\"w-24 h-24 -ml-16 rounded-full outline outline-4 outline-secondary\"\n                                key={p._id}\n                                src={p.avatar.url}\n                                alt=\"avatar\"\n                              />\n                            );\n                          })}\n                          {groupDetails?.participants &&\n                          groupDetails?.participants.length > 3 ? (\n                            <p>+{groupDetails?.participants.length - 3}</p>\n                          ) : null}\n                        </div>\n                        <div className=\"w-full flex flex-col justify-center items-center text-center\">\n                          {renamingGroup ? (\n                            <div className=\"w-full flex justify-center items-center mt-5 gap-2\">\n                              <Input\n                                placeholder=\"Enter new group name...\"\n                                value={newGroupName}\n                                onChange={(e) =>\n                                  setNewGroupName(e.target.value)\n                                }\n                              />\n                              <Button\n                                severity=\"primary\"\n                                onClick={handleGroupNameUpdate}\n                              >\n                                Save\n                              </Button>\n                              <Button\n                                severity=\"secondary\"\n                                onClick={() => setRenamingGroup(false)}\n                              >\n                                Cancel\n                              </Button>\n                            </div>\n                          ) : (\n                            <div className=\"w-full inline-flex justify-center items-center text-center mt-5\">\n                              <h1 className=\"text-2xl font-semibold truncate-1\">\n                                {groupDetails?.name}\n                              </h1>\n                              {groupDetails?.admin === user?._id ? (\n                                <button onClick={() => setRenamingGroup(true)}>\n                                  <PencilIcon className=\"w-5 h-5 ml-4\" />\n                                </button>\n                              ) : null}\n                            </div>\n                          )}\n\n                          <p className=\"mt-2 text-zinc-400 text-sm\">\n                            Group · {groupDetails?.participants.length}{\" \"}\n                            participants\n                          </p>\n                        </div>\n                        <hr className=\"border-[0.1px] border-zinc-600 my-5 w-full\" />\n                        <div className=\"w-full\">\n                          <p className=\"inline-flex items-center\">\n                            <UserGroupIcon className=\"h-6 w-6 mr-2\" />{\" \"}\n                            {groupDetails?.participants.length} Participants\n                          </p>\n                          <div className=\"w-full\">\n                            {groupDetails?.participants?.map((part) => {\n                              return (\n                                <React.Fragment key={part._id}>\n                                  <div className=\"flex justify-between items-center w-full py-4\">\n                                    <div className=\"flex justify-start items-start gap-3 w-full\">\n                                      <img\n                                        className=\"h-12 w-12 rounded-full\"\n                                        src={part.avatar.url}\n                                      />\n                                      <div>\n                                        <p className=\"text-white font-semibold text-sm inline-flex items-center w-full\">\n                                          {part.username}{\" \"}\n                                          {part._id === groupDetails.admin ? (\n                                            <span className=\"ml-2 text-[10px] px-4 bg-success/10 border-[0.1px] border-success rounded-full text-success\">\n                                              admin\n                                            </span>\n                                          ) : null}\n                                        </p>\n                                        <small className=\"text-zinc-400\">\n                                          {part.email}\n                                        </small>\n                                      </div>\n                                    </div>\n                                    {groupDetails.admin === user?._id ? (\n                                      <div>\n                                        <Button\n                                          onClick={() => {\n                                            const ok = confirm(\n                                              \"Are you sure you want to remove \" +\n                                                user.username +\n                                                \" ?\"\n                                            );\n                                            if (ok) {\n                                              removeParticipant(part._id || \"\");\n                                            }\n                                          }}\n                                          size=\"small\"\n                                          severity=\"danger\"\n                                        >\n                                          Remove\n                                        </Button>\n                                      </div>\n                                    ) : null}\n                                  </div>\n                                  <hr className=\"border-[0.1px] border-zinc-600 my-1 w-full\" />\n                                </React.Fragment>\n                              );\n                            })}\n                            {groupDetails?.admin === user?._id ? (\n                              <div className=\"w-full my-5 flex flex-col justify-center items-center gap-4\">\n                                {!addingParticipant ? (\n                                  <Button\n                                    onClick={() => setAddingParticipant(true)}\n                                    fullWidth\n                                    severity=\"primary\"\n                                  >\n                                    <UserPlusIcon className=\"w-5 h-5 mr-1\" />{\" \"}\n                                    Add participant\n                                  </Button>\n                                ) : (\n                                  <div className=\"w-full flex justify-start items-center gap-2\">\n                                    <Select\n                                      placeholder=\"Select a user to add...\"\n                                      value={participantToBeAdded}\n                                      options={users.map((user) => ({\n                                        label: user.username,\n                                        value: user._id,\n                                      }))}\n                                      onChange={({ value }) => {\n                                        setParticipantToBeAdded(value);\n                                      }}\n                                    />\n                                    <Button onClick={() => addParticipant()}>\n                                      + Add\n                                    </Button>\n                                    <Button\n                                      severity=\"secondary\"\n                                      onClick={() => {\n                                        setAddingParticipant(false);\n                                        setParticipantToBeAdded(\"\");\n                                      }}\n                                    >\n                                      Cancel\n                                    </Button>\n                                  </div>\n                                )}\n                                <Button\n                                  fullWidth\n                                  severity=\"danger\"\n                                  onClick={() => {\n                                    const ok = confirm(\n                                      \"Are you sure you want to delete this group?\"\n                                    );\n                                    if (ok) {\n                                      deleteGroupChat();\n                                    }\n                                  }}\n                                >\n                                  <TrashIcon className=\"w-5 h-5 mr-1\" /> Delete\n                                  group\n                                </Button>\n                              </div>\n                            ) : null}\n                          </div>\n                        </div>\n                      </div>\n                    </div>\n                  </div>\n                </Dialog.Panel>\n              </Transition.Child>\n            </div>\n          </div>\n        </div>\n      </Dialog>\n    </Transition.Root>\n  );\n};\n\nexport default GroupChatDetailsModal;\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/components/chat/MessageItem.tsx",
    "content": "import {\n  ArrowDownTrayIcon,\n  EllipsisVerticalIcon,\n  MagnifyingGlassPlusIcon,\n  PaperClipIcon,\n  TrashIcon,\n  XMarkIcon,\n} from \"@heroicons/react/20/solid\";\nimport moment from \"moment\";\nimport { useState } from \"react\";\nimport { ChatMessageInterface } from \"../../interfaces/chat\";\nimport { classNames } from \"../../utils\";\nconst MessageItem: React.FC<{\n  isOwnMessage?: boolean;\n  isGroupChatMessage?: boolean;\n  message: ChatMessageInterface;\n  deleteChatMessage: (message: ChatMessageInterface) => void;\n}> = ({ message, isOwnMessage, isGroupChatMessage, deleteChatMessage }) => {\n  const [resizedImage, setResizedImage] = useState<string | null>(null);\n  const [openOptions, setopenOptions] = useState<boolean>(false); //To open delete menu option on hover\n\n  return (\n    <>\n      {resizedImage ? (\n        <div className=\"h-full z-40 p-8 overflow-hidden w-full absolute inset-0 bg-black/70 flex justify-center items-center\">\n          <XMarkIcon\n            className=\"absolute top-5 right-5 w-9 h-9 text-white cursor-pointer\"\n            onClick={() => setResizedImage(null)}\n          />\n          <img\n            className=\"w-full h-full object-contain\"\n            src={resizedImage}\n            alt=\"chat image\"\n          />\n        </div>\n      ) : null}\n      <div\n        className={classNames(\n          \"flex justify-start items-end gap-3 max-w-lg min-w-\",\n          isOwnMessage ? \"ml-auto\" : \"\"\n        )}\n      >\n        <img\n          src={message.sender?.avatar?.url}\n          className={classNames(\n            \"h-7 w-7 object-cover rounded-full flex flex-shrink-0\",\n            isOwnMessage ? \"order-2\" : \"order-1\"\n          )}\n        />\n        {/* message box have to add the icon onhover here */}\n        <div\n          onMouseLeave={() => setopenOptions(false)}\n          className={classNames(\n            \" p-4 rounded-3xl flex flex-col cursor-pointer group hover:bg-secondary\",\n            isOwnMessage\n              ? \"order-1 rounded-br-none bg-primary\"\n              : \"order-2 rounded-bl-none bg-secondary\"\n          )}\n        >\n          {isGroupChatMessage && !isOwnMessage ? (\n            <p\n              className={classNames(\n                \"text-xs font-semibold mb-2\",\n                [\"text-success\", \"text-danger\"][\n                  message.sender.username.length % 2\n                ]\n              )}\n            >\n              {message.sender?.username}\n            </p>\n          ) : null}\n          {message?.attachments?.length > 0 ? (\n            <div>\n              {/*The option to delete message will only open in case of own messages*/}\n              {isOwnMessage ? (\n                <button\n                  className=\"self-center p-1 relative options-button\"\n                  onClick={() => setopenOptions(!openOptions)}\n                >\n                  <EllipsisVerticalIcon className=\"group-hover:w-6 group-hover:opacity-100 w-0 opacity-0 transition-all ease-in-out duration-100 text-zinc-300\" />\n                  <div\n                    className={classNames(\n                      \"z-30 text-left absolute botom-0 translate-y-1 text-[10px] w-auto bg-dark rounded-2xl p-2 shadow-md border-[1px] border-secondary\",\n                      openOptions ? \"block\" : \"hidden\"\n                    )}\n                  >\n                    <p\n                      onClick={(e) => {\n                        e.stopPropagation();\n                        const ok = confirm(\n                          \"Are you sure you want to delete this message\"\n                        );\n                        if (ok) {\n                          deleteChatMessage(message);\n                        }\n                      }}\n                      role=\"button\"\n                      className=\"border border-red-500 p-4 text-danger rounded-lg w-auto inline-flex items-center hover:bg-secondary\"\n                    >\n                      <TrashIcon className=\"h-4 w-4 mr-2\" />\n                      Delete Message\n                    </p>\n                  </div>\n                </button>\n              ) : null}\n\n              <div\n                className={classNames(\n                  \"grid max-w-7xl gap-2\",\n                  message.attachments?.length === 1 ? \" grid-cols-1\" : \"\",\n                  message.attachments?.length === 2 ? \" grid-cols-2\" : \"\",\n                  message.attachments?.length >= 3 ? \" grid-cols-3\" : \"\",\n                  message.content ? \"mb-6\" : \"\"\n                )}\n              >\n                {message.attachments?.map((file) => {\n                  return (\n                    <div\n                      key={file._id}\n                      className=\"group relative aspect-square rounded-xl overflow-hidden cursor-pointer\"\n                    >\n                      <button\n                        onClick={() => setResizedImage(file.url)}\n                        className=\"absolute inset-0 z-20 flex justify-center items-center w-full gap-2 h-full bg-black/60 group-hover:opacity-100 opacity-0 transition-opacity ease-in-out duration-150\"\n                      >\n                        <MagnifyingGlassPlusIcon className=\"h-6 w-6 text-white\" />\n                        <a\n                          href={file.url}\n                          download\n                          onClick={(e) => e.stopPropagation()}\n                        >\n                          <ArrowDownTrayIcon\n                            title=\"download\"\n                            className=\"hover:text-zinc-400 h-6 w-6 text-white cursor-pointer\"\n                          />\n                        </a>\n                      </button>\n                      <img\n                        className=\"h-full w-full object-cover\"\n                        src={file.url}\n                        alt=\"msg_img\"\n                      />\n                    </div>\n                  );\n                })}\n              </div>\n            </div>\n          ) : null}\n          {message.content ? (\n            <div className=\"relative flex justify-between\">\n              {/*The option to delete message will only open in case of own messages*/}\n              {isOwnMessage ? (\n                <button\n                  className=\"self-center relative options-button\"\n                  onClick={() => setopenOptions(!openOptions)}\n                >\n                  <EllipsisVerticalIcon className=\"group-hover:w-4 group-hover:opacity-100 w-0 opacity-0 transition-all ease-in-out duration-100 text-zinc-300\" />\n                  <div\n                    className={classNames(\n                      \"delete-menu z-20 text-left -translate-x-24 -translate-y-4 absolute botom-0  text-[10px] w-auto bg-dark rounded-2xl  shadow-md border-[1px] border-secondary\",\n                      openOptions ? \"block\" : \"hidden\"\n                    )}\n                  >\n                    <p\n                      onClick={(e) => {\n                        e.stopPropagation();\n                        const ok = confirm(\n                          \"Are you sure you want to delete this message\"\n                        );\n                        if (ok) {\n                          deleteChatMessage(message);\n                        }\n                      }}\n                      role=\"button\"\n                      className=\" p-2 text-danger rounded-lg w-auto inline-flex items-center hover:bg-secondary\"\n                    >\n                      <TrashIcon className=\"h-4 w-auto mr-1\" />\n                      Delete Message\n                    </p>\n                  </div>\n                </button>\n              ) : null}\n\n              <p className=\"text-sm\">{message.content}</p>\n            </div>\n          ) : null}\n          <p\n            className={classNames(\n              \"mt-1.5 self-end text-[10px] inline-flex items-center\",\n              isOwnMessage ? \"text-zinc-50\" : \"text-zinc-400\"\n            )}\n          >\n            {message.attachments?.length > 0 ? (\n              <PaperClipIcon className=\"h-4 w-4 mr-2 \" />\n            ) : null}\n            {moment(message.updatedAt).add(\"TIME_ZONE\", \"hours\").fromNow(true)}{\" \"}\n            ago\n          </p>\n        </div>\n      </div>\n    </>\n  );\n};\n\nexport default MessageItem;\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/components/chat/Typing.tsx",
    "content": "import { classNames } from \"../../utils\";\n\nconst Typing = () => {\n  return (\n    <div\n      className={classNames(\n        \"p-5 rounded-3xl bg-secondary w-fit inline-flex gap-1.5\"\n      )}\n    >\n      <span className=\"animation1 mx-[0.5px] h-2 w-2 bg-zinc-300 rounded-full\"></span>\n      <span className=\"animation2 mx-[0.5px] h-2 w-2 bg-zinc-300 rounded-full\"></span>\n      <span className=\"animation3 mx-[0.5px] h-2 w-2 bg-zinc-300 rounded-full\"></span>\n    </div>\n  );\n};\n\nexport default Typing;\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/context/AuthContext.tsx",
    "content": "import React, { createContext, useContext, useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport { loginUser, logoutUser, registerUser } from \"../api\";\nimport Loader from \"../components/Loader\";\nimport { UserInterface } from \"../interfaces/user\";\nimport { LocalStorage, requestHandler } from \"../utils\";\n\n// Create a context to manage authentication-related data and functions\nconst AuthContext = createContext<{\n  user: UserInterface | null;\n  token: string | null;\n  login: (data: { username: string; password: string }) => Promise<void>;\n  register: (data: {\n    email: string;\n    username: string;\n    password: string;\n  }) => Promise<void>;\n  logout: () => Promise<void>;\n}>({\n  user: null,\n  token: null,\n  login: async () => {},\n  register: async () => {},\n  logout: async () => {},\n});\n\n// Create a hook to access the AuthContext\nconst useAuth = () => useContext(AuthContext);\n\n// Create a component that provides authentication-related data and functions\nconst AuthProvider: React.FC<{ children: React.ReactNode }> = ({\n  children,\n}) => {\n  const [isLoading, setIsLoading] = useState(false);\n  const [user, setUser] = useState<UserInterface | null>(null);\n  const [token, setToken] = useState<string | null>(null);\n\n  const navigate = useNavigate();\n\n  // Function to handle user login\n  const login = async (data: { username: string; password: string }) => {\n    await requestHandler(\n      async () => await loginUser(data),\n      setIsLoading,\n      (res) => {\n        const { data } = res;\n        setUser(data.user);\n        setToken(data.accessToken);\n        LocalStorage.set(\"user\", data.user);\n        LocalStorage.set(\"token\", data.accessToken);\n        navigate(\"/chat\"); // Redirect to the chat page after successful login\n      },\n      alert // Display error alerts on request failure\n    );\n  };\n\n  // Function to handle user registration\n  const register = async (data: {\n    email: string;\n    username: string;\n    password: string;\n  }) => {\n    await requestHandler(\n      async () => await registerUser(data),\n      setIsLoading,\n      () => {\n        alert(\"Account created successfully! Go ahead and login.\");\n        navigate(\"/login\"); // Redirect to the login page after successful registration\n      },\n      alert // Display error alerts on request failure\n    );\n  };\n\n  // Function to handle user logout\n  const logout = async () => {\n    await requestHandler(\n      async () => await logoutUser(),\n      setIsLoading,\n      () => {\n        setUser(null);\n        setToken(null);\n        LocalStorage.clear(); // Clear local storage on logout\n        navigate(\"/login\"); // Redirect to the login page after successful logout\n      },\n      alert // Display error alerts on request failure\n    );\n  };\n\n  // Check for saved user and token in local storage during component initialization\n  useEffect(() => {\n    setIsLoading(true);\n    const _token = LocalStorage.get(\"token\");\n    const _user = LocalStorage.get(\"user\");\n    if (_token && _user?._id) {\n      setUser(_user);\n      setToken(_token);\n    }\n    setIsLoading(false);\n  }, []);\n\n  // Provide authentication-related data and functions through the context\n  return (\n    <AuthContext.Provider value={{ user, login, register, logout, token }}>\n      {isLoading ? <Loader /> : children} {/* Display a loader while loading */}\n    </AuthContext.Provider>\n  );\n};\n\n// Export the context, provider component, and custom hook\nexport { AuthContext, AuthProvider, useAuth };\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/context/SocketContext.tsx",
    "content": "/* eslint-disable react-refresh/only-export-components */\nimport React, { createContext, useContext, useEffect, useState } from \"react\";\nimport socketio from \"socket.io-client\";\nimport { LocalStorage } from \"../utils\";\n\n// Function to establish a socket connection with authorization token\nconst getSocket = () => {\n  const token = LocalStorage.get(\"token\"); // Retrieve jwt token from local storage or cookie\n\n  // Create a socket connection with the provided URI and authentication\n  return socketio(import.meta.env.VITE_SOCKET_URI, {\n    withCredentials: true,\n    auth: { token },\n  });\n};\n\n// Create a context to hold the socket instance\nconst SocketContext = createContext<{\n  socket: ReturnType<typeof socketio> | null;\n}>({\n  socket: null,\n});\n\n// Custom hook to access the socket instance from the context\nconst useSocket = () => useContext(SocketContext);\n\n// SocketProvider component to manage the socket instance and provide it through context\nconst SocketProvider: React.FC<{ children: React.ReactNode }> = ({\n  children,\n}) => {\n  // State to store the socket instance\n  const [socket, setSocket] = useState<ReturnType<typeof socketio> | null>(\n    null\n  );\n\n  // Set up the socket connection when the component mounts\n  useEffect(() => {\n    setSocket(getSocket());\n  }, []);\n\n  return (\n    // Provide the socket instance through context to its children\n    <SocketContext.Provider value={{ socket }}>\n      {children}\n    </SocketContext.Provider>\n  );\n};\n\n// Export the SocketProvider component and the useSocket hook for other components to use\nexport { SocketProvider, useSocket };\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/index.css",
    "content": "@import url(\"https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap\");\n\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n\n* {\n  font-family: \"Archivo\", sans-serif;\n}\n\n.truncate-1 {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  display: -webkit-box;\n  -webkit-line-clamp: 1;\n  line-clamp: 1;\n  -webkit-box-orient: vertical;\n  line-break: anywhere;\n}\n\n@keyframes bounce {\n  0% {\n    transform: translateY(-60%);\n    opacity: 0.7;\n  }\n  100% {\n    transform: translateY(20%);\n    opacity: 1;\n  }\n}\n\n.animation1 {\n  animation: bounce 0.4s ease-in-out infinite alternate;\n  animation-delay: -0.4s;\n}\n\n.animation2 {\n  animation: bounce 0.4s ease-in-out infinite alternate;\n  animation-delay: -0.2s;\n}\n\n.animation3 {\n  animation: bounce 0.4s ease-in-out infinite alternate;\n  animation-delay: 0s;\n}\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/interfaces/api.ts",
    "content": "export interface FreeAPISuccessResponseInterface {\n  data: any;\n  message: string;\n  statusCode: number;\n  success: boolean;\n}\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/interfaces/chat.ts",
    "content": "import { UserInterface } from \"./user\";\n\nexport interface ChatListItemInterface {\n  admin: string;\n  createdAt: string;\n  isGroupChat: true;\n  lastMessage?: ChatMessageInterface;\n  name: string;\n  participants: UserInterface[];\n  updatedAt: string;\n  _id: string;\n}\n\nexport interface ChatMessageInterface {\n  _id: string;\n  sender: Pick<UserInterface, \"_id\" | \"avatar\" | \"email\" | \"username\">;\n  content: string;\n  chat: string;\n  attachments: {\n    url: string;\n    localPath: string;\n    _id: string;\n  }[];\n  createdAt: string;\n  updatedAt: string;\n}\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/interfaces/user.ts",
    "content": "export interface UserInterface {\n  _id: string;\n  avatar: {\n    url: string;\n    localPath: string;\n    _id: string;\n  };\n  username: string;\n  email: string;\n  createdAt: string;\n  updatedAt: string;\n}\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/main.tsx",
    "content": "import React from \"react\";\nimport ReactDOM from \"react-dom/client\";\nimport App from \"./App.tsx\";\nimport \"./index.css\";\nimport { AuthProvider } from \"./context/AuthContext.tsx\";\nimport { BrowserRouter } from \"react-router-dom\";\nimport { SocketProvider } from \"./context/SocketContext.tsx\";\n\nReactDOM.createRoot(document.getElementById(\"root\")!).render(\n  <React.StrictMode>\n    <BrowserRouter>\n      <AuthProvider>\n        <SocketProvider>\n          <App />\n        </SocketProvider>\n      </AuthProvider>\n    </BrowserRouter>\n  </React.StrictMode>\n);\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/pages/chat.tsx",
    "content": "import {\n  PaperAirplaneIcon,\n  PaperClipIcon,\n  XCircleIcon,\n} from \"@heroicons/react/20/solid\";\nimport { useEffect, useRef, useState } from \"react\";\nimport {\n  deleteMessage,\n  getChatMessages,\n  getUserChats,\n  sendMessage,\n} from \"../api\";\nimport AddChatModal from \"../components/chat/AddChatModal\";\nimport ChatItem from \"../components/chat/ChatItem\";\nimport MessageItem from \"../components/chat/MessageItem\";\nimport Typing from \"../components/chat/Typing\";\nimport Input from \"../components/Input\";\nimport { useAuth } from \"../context/AuthContext\";\nimport { useSocket } from \"../context/SocketContext\";\nimport {\n  ChatListItemInterface,\n  ChatMessageInterface,\n} from \"../interfaces/chat\";\nimport {\n  LocalStorage,\n  classNames,\n  getChatObjectMetadata,\n  requestHandler,\n} from \"../utils\";\n\nconst CONNECTED_EVENT = \"connected\";\nconst DISCONNECT_EVENT = \"disconnect\";\nconst JOIN_CHAT_EVENT = \"joinChat\";\nconst NEW_CHAT_EVENT = \"newChat\";\nconst TYPING_EVENT = \"typing\";\nconst STOP_TYPING_EVENT = \"stopTyping\";\nconst MESSAGE_RECEIVED_EVENT = \"messageReceived\";\nconst LEAVE_CHAT_EVENT = \"leaveChat\";\nconst UPDATE_GROUP_NAME_EVENT = \"updateGroupName\";\nconst MESSAGE_DELETE_EVENT = \"messageDeleted\";\n// const SOCKET_ERROR_EVENT = \"socketError\";\n\nconst ChatPage = () => {\n  // Import the 'useAuth' and 'useSocket' hooks from their respective contexts\n  const { user, logout } = useAuth();\n  const { socket } = useSocket();\n\n  // Create a reference using 'useRef' to hold the currently selected chat.\n  // 'useRef' is used here because it ensures that the 'currentChat' value within socket event callbacks\n  // will always refer to the latest value, even if the component re-renders.\n  const currentChat = useRef<ChatListItemInterface | null>(null);\n\n  // To keep track of the setTimeout function\n  const typingTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n  // Define state variables and their initial values using 'useState'\n  const [isConnected, setIsConnected] = useState(false); // For tracking socket connection\n\n  const [openAddChat, setOpenAddChat] = useState(false); // To control the 'Add Chat' modal\n  const [loadingChats, setLoadingChats] = useState(false); // To indicate loading of chats\n  const [loadingMessages, setLoadingMessages] = useState(false); // To indicate loading of messages\n\n  const [chats, setChats] = useState<ChatListItemInterface[]>([]); // To store user's chats\n  const [messages, setMessages] = useState<ChatMessageInterface[]>([]); // To store chat messages\n  const [unreadMessages, setUnreadMessages] = useState<ChatMessageInterface[]>(\n    []\n  ); // To track unread messages\n\n  const [isTyping, setIsTyping] = useState(false); // To track if someone is currently typing\n  const [selfTyping, setSelfTyping] = useState(false); // To track if the current user is typing\n\n  const [message, setMessage] = useState(\"\"); // To store the currently typed message\n  const [localSearchQuery, setLocalSearchQuery] = useState(\"\"); // For local search functionality\n\n  const [attachedFiles, setAttachedFiles] = useState<File[]>([]); // To store files attached to messages\n\n  /**\n   *  A  function to update the last message of a specified chat to update the chat list\n   */\n  const updateChatLastMessage = (\n    chatToUpdateId: string,\n    message: ChatMessageInterface // The new message to be set as the last message\n  ) => {\n    // Search for the chat with the given ID in the chats array\n    const chatToUpdate = chats.find((chat) => chat._id === chatToUpdateId)!;\n\n    // Update the 'lastMessage' field of the found chat with the new message\n    chatToUpdate.lastMessage = message;\n\n    // Update the 'updatedAt' field of the chat with the 'updatedAt' field from the message\n    chatToUpdate.updatedAt = message?.updatedAt;\n\n    // Update the state of chats, placing the updated chat at the beginning of the array\n    setChats([\n      chatToUpdate, // Place the updated chat first\n      ...chats.filter((chat) => chat._id !== chatToUpdateId), // Include all other chats except the updated one\n    ]);\n  };\n  /**\n   *A function to update the chats last message specifically in case of deletion of message *\n   **/\n\n  const updateChatLastMessageOnDeletion = (\n    chatToUpdateId: string, //ChatId to find the chat\n    message: ChatMessageInterface //The deleted message\n  ) => {\n    // Search for the chat with the given ID in the chats array\n    const chatToUpdate = chats.find((chat) => chat._id === chatToUpdateId)!;\n\n    //Updating the last message of chat only in case of deleted message and chats last message is same\n    if (chatToUpdate.lastMessage?._id === message._id) {\n      requestHandler(\n        async () => getChatMessages(chatToUpdateId),\n        null,\n        (req) => {\n          const { data } = req;\n\n          chatToUpdate.lastMessage = data[0];\n          setChats([...chats]);\n        },\n        alert\n      );\n    }\n  };\n  const getChats = async () => {\n    requestHandler(\n      async () => await getUserChats(),\n      setLoadingChats,\n      (res) => {\n        const { data } = res;\n        setChats(data || []);\n      },\n      alert\n    );\n  };\n\n  const getMessages = async () => {\n    // Check if a chat is selected, if not, show an alert\n    if (!currentChat.current?._id) return alert(\"No chat is selected\");\n\n    // Check if socket is available, if not, show an alert\n    if (!socket) return alert(\"Socket not available\");\n\n    // Emit an event to join the current chat\n    socket.emit(JOIN_CHAT_EVENT, currentChat.current?._id);\n\n    // Filter out unread messages from the current chat as those will be read\n    setUnreadMessages(\n      unreadMessages.filter((msg) => msg.chat !== currentChat.current?._id)\n    );\n\n    // Make an async request to fetch chat messages for the current chat\n    requestHandler(\n      // Fetching messages for the current chat\n      async () => await getChatMessages(currentChat.current?._id || \"\"),\n      // Set the state to loading while fetching the messages\n      setLoadingMessages,\n      // After fetching, set the chat messages to the state if available\n      (res) => {\n        const { data } = res;\n        setMessages(data || []);\n      },\n      // Display any error alerts if they occur during the fetch\n      alert\n    );\n  };\n\n  // Function to send a chat message\n  const sendChatMessage = async () => {\n    // If no current chat ID exists or there's no socket connection, exit the function\n    if (!currentChat.current?._id || !socket) return;\n\n    // Emit a STOP_TYPING_EVENT to inform other users/participants that typing has stopped\n    socket.emit(STOP_TYPING_EVENT, currentChat.current?._id);\n\n    // Use the requestHandler to send the message and handle potential response or error\n    await requestHandler(\n      // Try to send the chat message with the given message and attached files\n      async () =>\n        await sendMessage(\n          currentChat.current?._id || \"\", // Chat ID or empty string if not available\n          message, // Actual text message\n          attachedFiles // Any attached files\n        ),\n      null,\n      // On successful message sending, clear the message input and attached files, then update the UI\n      (res) => {\n        setMessage(\"\"); // Clear the message input\n        setAttachedFiles([]); // Clear the list of attached files\n        setMessages((prev) => [res.data, ...prev]); // Update messages in the UI\n        updateChatLastMessage(currentChat.current?._id || \"\", res.data); // Update the last message in the chat\n      },\n\n      // If there's an error during the message sending process, raise an alert\n      alert\n    );\n  };\n  const deleteChatMessage = async (message: ChatMessageInterface) => {\n    //ONClick delete the message and reload the chat when deleteMessage socket gives any response in chat.tsx\n    //use request handler to prevent any errors\n\n    await requestHandler(\n      async () => await deleteMessage(message.chat, message._id),\n      null,\n      (res) => {\n        setMessages((prev) => prev.filter((msg) => msg._id !== res.data._id));\n        updateChatLastMessageOnDeletion(message.chat, message);\n      },\n      alert\n    );\n  };\n\n  const handleOnMessageChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n    // Update the message state with the current input value\n    setMessage(e.target.value);\n\n    // If socket doesn't exist or isn't connected, exit the function\n    if (!socket || !isConnected) return;\n\n    // Check if the user isn't already set as typing\n    if (!selfTyping) {\n      // Set the user as typing\n      setSelfTyping(true);\n\n      // Emit a typing event to the server for the current chat\n      socket.emit(TYPING_EVENT, currentChat.current?._id);\n    }\n\n    // Clear the previous timeout (if exists) to avoid multiple setTimeouts from running\n    if (typingTimeoutRef.current) {\n      clearTimeout(typingTimeoutRef.current);\n    }\n\n    // Define a length of time (in milliseconds) for the typing timeout\n    const timerLength = 3000;\n\n    // Set a timeout to stop the typing indication after the timerLength has passed\n    typingTimeoutRef.current = setTimeout(() => {\n      // Emit a stop typing event to the server for the current chat\n      socket.emit(STOP_TYPING_EVENT, currentChat.current?._id);\n\n      // Reset the user's typing state\n      setSelfTyping(false);\n    }, timerLength);\n  };\n\n  const onConnect = () => {\n    setIsConnected(true);\n  };\n\n  const onDisconnect = () => {\n    setIsConnected(false);\n  };\n\n  /**\n   * Handles the \"typing\" event on the socket.\n   */\n  const handleOnSocketTyping = (chatId: string) => {\n    // Check if the typing event is for the currently active chat.\n    if (chatId !== currentChat.current?._id) return;\n\n    // Set the typing state to true for the current chat.\n    setIsTyping(true);\n  };\n\n  /**\n   * Handles the \"stop typing\" event on the socket.\n   */\n  const handleOnSocketStopTyping = (chatId: string) => {\n    // Check if the stop typing event is for the currently active chat.\n    if (chatId !== currentChat.current?._id) return;\n\n    // Set the typing state to false for the current chat.\n    setIsTyping(false);\n  };\n\n  const onMessageDelete = (message: ChatMessageInterface) => {\n    if (message?.chat !== currentChat.current?._id) {\n      setUnreadMessages((prev) =>\n        prev.filter((msg) => msg._id !== message._id)\n      );\n    } else {\n      setMessages((prev) => prev.filter((msg) => msg._id !== message._id));\n    }\n\n    updateChatLastMessageOnDeletion(message.chat, message);\n  };\n\n  /**\n   * Handles the event when a new message is received.\n   */\n  const onMessageReceived = (message: ChatMessageInterface) => {\n    // Check if the received message belongs to the currently active chat\n    if (message?.chat !== currentChat.current?._id) {\n      // If not, update the list of unread messages\n      setUnreadMessages((prev) => [message, ...prev]);\n    } else {\n      // If it belongs to the current chat, update the messages list for the active chat\n      setMessages((prev) => [message, ...prev]);\n    }\n\n    // Update the last message for the chat to which the received message belongs\n    updateChatLastMessage(message.chat || \"\", message);\n  };\n\n  const onNewChat = (chat: ChatListItemInterface) => {\n    setChats((prev) => [chat, ...prev]);\n  };\n\n  // This function handles the event when a user leaves a chat.\n  const onChatLeave = (chat: ChatListItemInterface) => {\n    // Check if the chat the user is leaving is the current active chat.\n    if (chat._id === currentChat.current?._id) {\n      // If the user is in the group chat they're leaving, close the chat window.\n      currentChat.current = null;\n      // Remove the currentChat from local storage.\n      LocalStorage.remove(\"currentChat\");\n    }\n    // Update the chats by removing the chat that the user left.\n    setChats((prev) => prev.filter((c) => c._id !== chat._id));\n  };\n\n  // Function to handle changes in group name\n  const onGroupNameChange = (chat: ChatListItemInterface) => {\n    // Check if the chat being changed is the currently active chat\n    if (chat._id === currentChat.current?._id) {\n      // Update the current chat with the new details\n      currentChat.current = chat;\n\n      // Save the updated chat details to local storage\n      LocalStorage.set(\"currentChat\", chat);\n    }\n\n    // Update the list of chats with the new chat details\n    setChats((prev) => [\n      // Map through the previous chats\n      ...prev.map((c) => {\n        // If the current chat in the map matches the chat being changed, return the updated chat\n        if (c._id === chat._id) {\n          return chat;\n        }\n        // Otherwise, return the chat as-is without any changes\n        return c;\n      }),\n    ]);\n  };\n\n  useEffect(() => {\n    // Fetch the chat list from the server.\n    getChats();\n\n    // Retrieve the current chat details from local storage.\n    const _currentChat = LocalStorage.get(\"currentChat\");\n\n    // If there's a current chat saved in local storage:\n    if (_currentChat) {\n      // Set the current chat reference to the one from local storage.\n      currentChat.current = _currentChat;\n      // If the socket connection exists, emit an event to join the specific chat using its ID.\n      socket?.emit(JOIN_CHAT_EVENT, _currentChat.current?._id);\n      // Fetch the messages for the current chat.\n      getMessages();\n    }\n    // An empty dependency array ensures this useEffect runs only once, similar to componentDidMount.\n  }, []);\n\n  // This useEffect handles the setting up and tearing down of socket event listeners.\n  useEffect(() => {\n    // If the socket isn't initialized, we don't set up listeners.\n    if (!socket) return;\n\n    // Set up event listeners for various socket events:\n    // Listener for when the socket connects.\n    socket.on(CONNECTED_EVENT, onConnect);\n    // Listener for when the socket disconnects.\n    socket.on(DISCONNECT_EVENT, onDisconnect);\n    // Listener for when a user is typing.\n    socket.on(TYPING_EVENT, handleOnSocketTyping);\n    // Listener for when a user stops typing.\n    socket.on(STOP_TYPING_EVENT, handleOnSocketStopTyping);\n    // Listener for when a new message is received.\n    socket.on(MESSAGE_RECEIVED_EVENT, onMessageReceived);\n    // Listener for the initiation of a new chat.\n    socket.on(NEW_CHAT_EVENT, onNewChat);\n    // Listener for when a user leaves a chat.\n    socket.on(LEAVE_CHAT_EVENT, onChatLeave);\n    // Listener for when a group's name is updated.\n    socket.on(UPDATE_GROUP_NAME_EVENT, onGroupNameChange);\n    //Listener for when a message is deleted\n    socket.on(MESSAGE_DELETE_EVENT, onMessageDelete);\n    // When the component using this hook unmounts or if `socket` or `chats` change:\n    return () => {\n      // Remove all the event listeners we set up to avoid memory leaks and unintended behaviors.\n      socket.off(CONNECTED_EVENT, onConnect);\n      socket.off(DISCONNECT_EVENT, onDisconnect);\n      socket.off(TYPING_EVENT, handleOnSocketTyping);\n      socket.off(STOP_TYPING_EVENT, handleOnSocketStopTyping);\n      socket.off(MESSAGE_RECEIVED_EVENT, onMessageReceived);\n      socket.off(NEW_CHAT_EVENT, onNewChat);\n      socket.off(LEAVE_CHAT_EVENT, onChatLeave);\n      socket.off(UPDATE_GROUP_NAME_EVENT, onGroupNameChange);\n      socket.off(MESSAGE_DELETE_EVENT, onMessageDelete);\n    };\n\n    // Note:\n    // The `chats` array is used in the `onMessageReceived` function.\n    // We need the latest state value of `chats`. If we don't pass `chats` in the dependency array,\n    // the `onMessageReceived` will consider the initial value of the `chats` array, which is empty.\n    // This will not cause infinite renders because the functions in the socket are getting mounted and not executed.\n    // So, even if some socket callbacks are updating the `chats` state, it's not\n    // updating on each `useEffect` call but on each socket call.\n  }, [socket, chats]);\n\n  return (\n    <>\n      <AddChatModal\n        open={openAddChat}\n        onClose={() => {\n          setOpenAddChat(false);\n        }}\n        onSuccess={() => {\n          getChats();\n        }}\n      />\n\n      <div className=\"w-full justify-between items-stretch h-screen flex flex-shrink-0\">\n        <div className=\"w-1/3 relative ring-white overflow-y-auto px-4\">\n          <div className=\"z-10 w-full sticky top-0 bg-dark py-4 flex justify-between items-center gap-4\">\n            <button\n              type=\"button\"\n              className=\"focus:outline-none text-white bg-purple-700 hover:bg-purple-800 focus:ring-4 focus:ring-purple-300 font-medium rounded-xl text-sm px-5 py-4 mb-2 dark:bg-purple-600 dark:hover:bg-purple-700 dark:focus:ring-purple-900 flex-shrink-0\"\n              onClick={logout}\n            >\n              Log Out\n            </button>\n\n            <Input\n              placeholder=\"Search user or group...\"\n              value={localSearchQuery}\n              onChange={(e) =>\n                setLocalSearchQuery(e.target.value.toLowerCase())\n              }\n            />\n            <button\n              onClick={() => setOpenAddChat(true)}\n              className=\"rounded-xl border-none bg-primary text-white py-4 px-5 flex flex-shrink-0\"\n            >\n              + Add chat\n            </button>\n          </div>\n          {loadingChats ? (\n            <div className=\"flex justify-center items-center h-[calc(100%-88px)]\">\n              <Typing />\n            </div>\n          ) : (\n            // Iterating over the chats array\n            [...chats]\n              // Filtering chats based on a local search query\n              .filter((chat) =>\n                // If there's a localSearchQuery, filter chats that contain the query in their metadata title\n                localSearchQuery\n                  ? getChatObjectMetadata(chat, user!)\n                      .title?.toLocaleLowerCase()\n                      ?.includes(localSearchQuery)\n                  : // If there's no localSearchQuery, include all chats\n                    true\n              )\n              .map((chat) => {\n                return (\n                  <ChatItem\n                    chat={chat}\n                    isActive={chat._id === currentChat.current?._id}\n                    unreadCount={\n                      unreadMessages.filter((n) => n.chat === chat._id).length\n                    }\n                    onClick={(chat) => {\n                      if (\n                        currentChat.current?._id &&\n                        currentChat.current?._id === chat._id\n                      )\n                        return;\n                      LocalStorage.set(\"currentChat\", chat);\n                      currentChat.current = chat;\n                      setMessage(\"\");\n                      getMessages();\n                    }}\n                    key={chat._id}\n                    onChatDelete={(chatId) => {\n                      setChats((prev) =>\n                        prev.filter((chat) => chat._id !== chatId)\n                      );\n                      if (currentChat.current?._id === chatId) {\n                        currentChat.current = null;\n                        LocalStorage.remove(\"currentChat\");\n                      }\n                    }}\n                  />\n                );\n              })\n          )}\n        </div>\n        <div className=\"w-2/3 border-l-[0.1px] border-secondary\">\n          {currentChat.current && currentChat.current?._id ? (\n            <>\n              <div className=\"p-4 sticky top-0 bg-dark z-20 flex justify-between items-center w-full border-b-[0.1px] border-secondary\">\n                <div className=\"flex justify-start items-center w-max gap-3\">\n                  {currentChat.current.isGroupChat ? (\n                    <div className=\"w-12 relative h-12 flex-shrink-0 flex justify-start items-center flex-nowrap\">\n                      {currentChat.current.participants\n                        .slice(0, 3)\n                        .map((participant, i) => {\n                          return (\n                            <img\n                              key={participant._id}\n                              src={participant.avatar.url}\n                              className={classNames(\n                                \"w-9 h-9 border-[1px] border-white rounded-full absolute outline outline-4 outline-dark\",\n                                i === 0\n                                  ? \"left-0 z-30\"\n                                  : i === 1\n                                  ? \"left-2 z-20\"\n                                  : i === 2\n                                  ? \"left-4 z-10\"\n                                  : \"\"\n                              )}\n                            />\n                          );\n                        })}\n                    </div>\n                  ) : (\n                    <img\n                      className=\"h-14 w-14 rounded-full flex flex-shrink-0 object-cover\"\n                      src={\n                        getChatObjectMetadata(currentChat.current, user!).avatar\n                      }\n                    />\n                  )}\n                  <div>\n                    <p className=\"font-bold\">\n                      {getChatObjectMetadata(currentChat.current, user!).title}\n                    </p>\n                    <small className=\"text-zinc-400\">\n                      {\n                        getChatObjectMetadata(currentChat.current, user!)\n                          .description\n                      }\n                    </small>\n                  </div>\n                </div>\n              </div>\n              <div\n                className={classNames(\n                  \"p-8 overflow-y-auto flex flex-col-reverse gap-6 w-full\",\n                  attachedFiles.length > 0\n                    ? \"h-[calc(100vh-336px)]\"\n                    : \"h-[calc(100vh-176px)]\"\n                )}\n                id=\"message-window\"\n              >\n                {loadingMessages ? (\n                  <div className=\"flex justify-center items-center h-[calc(100%-88px)]\">\n                    <Typing />\n                  </div>\n                ) : (\n                  <>\n                    {isTyping ? <Typing /> : null}\n                    {messages?.map((msg) => {\n                      return (\n                        <MessageItem\n                          key={msg._id}\n                          isOwnMessage={msg.sender?._id === user?._id}\n                          isGroupChatMessage={currentChat.current?.isGroupChat}\n                          message={msg}\n                          deleteChatMessage={deleteChatMessage}\n                        />\n                      );\n                    })}\n                  </>\n                )}\n              </div>\n              {attachedFiles.length > 0 ? (\n                <div className=\"grid gap-4 grid-cols-5 p-4 justify-start max-w-fit\">\n                  {attachedFiles.map((file, i) => {\n                    return (\n                      <div\n                        key={i}\n                        className=\"group w-32 h-32 relative aspect-square rounded-xl cursor-pointer\"\n                      >\n                        <div className=\"absolute inset-0 flex justify-center items-center w-full h-full bg-black/40 group-hover:opacity-100 opacity-0 transition-opacity ease-in-out duration-150\">\n                          <button\n                            onClick={() => {\n                              setAttachedFiles(\n                                attachedFiles.filter((_, ind) => ind !== i)\n                              );\n                            }}\n                            className=\"absolute -top-2 -right-2\"\n                          >\n                            <XCircleIcon className=\"h-6 w-6 text-white\" />\n                          </button>\n                        </div>\n                        <img\n                          className=\"h-full rounded-xl w-full object-cover\"\n                          src={URL.createObjectURL(file)}\n                          alt=\"attachment\"\n                        />\n                      </div>\n                    );\n                  })}\n                </div>\n              ) : null}\n              <div className=\"sticky top-full p-4 flex justify-between items-center w-full gap-2 border-t-[0.1px] border-secondary\">\n                <input\n                  hidden\n                  id=\"attachments\"\n                  type=\"file\"\n                  value=\"\"\n                  multiple\n                  max={5}\n                  onChange={(e) => {\n                    if (e.target.files) {\n                      setAttachedFiles([...e.target.files]);\n                    }\n                  }}\n                />\n                <label\n                  htmlFor=\"attachments\"\n                  className=\"p-4 rounded-full bg-dark hover:bg-secondary\"\n                >\n                  <PaperClipIcon className=\"w-6 h-6\" />\n                </label>\n\n                <Input\n                  placeholder=\"Message\"\n                  value={message}\n                  onChange={handleOnMessageChange}\n                  onKeyDown={(e) => {\n                    if (e.key === \"Enter\") {\n                      sendChatMessage();\n                    }\n                  }}\n                />\n                <button\n                  onClick={sendChatMessage}\n                  disabled={!message && attachedFiles.length <= 0}\n                  className=\"p-4 rounded-full bg-dark hover:bg-secondary disabled:opacity-50\"\n                >\n                  <PaperAirplaneIcon className=\"w-6 h-6\" />\n                </button>\n              </div>\n            </>\n          ) : (\n            <div className=\"w-full h-full flex justify-center items-center\">\n              No chat selected\n            </div>\n          )}\n        </div>\n      </div>\n    </>\n  );\n};\n\nexport default ChatPage;\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/pages/login.tsx",
    "content": "// Importing necessary components and hooks\nimport { LockClosedIcon } from \"@heroicons/react/20/solid\";\nimport { useState } from \"react\";\nimport Button from \"../components/Button\";\nimport Input from \"../components/Input\";\nimport { useAuth } from \"../context/AuthContext\";\n\n// Component for the Login page\nconst Login = () => {\n  // State to manage input data (username and password)\n  const [data, setData] = useState({\n    username: \"\",\n    password: \"\",\n  });\n\n  // Accessing the login function from the AuthContext\n  const { login } = useAuth();\n\n  // Function to update state when input data changes\n  const handleDataChange =\n    (name: string) => (e: React.ChangeEvent<HTMLInputElement>) => {\n      setData({\n        ...data,\n        [name]: e.target.value,\n      });\n    };\n\n  // Function to handle the login process\n  const handleLogin = async () => await login(data);\n\n  return (\n    <div className=\"flex justify-center items-center flex-col h-screen w-screen\">\n      <h1 className=\"text-3xl font-bold\">FreeAPI Chat App</h1>\n      <div className=\"max-w-5xl w-1/2 p-8 flex justify-center items-center gap-5 flex-col bg-dark shadow-md rounded-2xl my-16 border-secondary border-[1px]\">\n        <h1 className=\"inline-flex items-center text-2xl mb-4 flex-col\">\n          <LockClosedIcon className=\"h-8 w-8 mb-2\" /> Login\n        </h1>\n        {/* Input for entering the username */}\n        <Input\n          placeholder=\"Enter the username...\"\n          value={data.username}\n          onChange={handleDataChange(\"username\")}\n        />\n        {/* Input for entering the password */}\n        <Input\n          placeholder=\"Enter the password...\"\n          type=\"password\"\n          value={data.password}\n          onChange={handleDataChange(\"password\")}\n        />\n        {/* Button to initiate the login process */}\n        <Button\n          disabled={Object.values(data).some((val) => !val)}\n          fullWidth\n          onClick={handleLogin}\n        >\n          Login\n        </Button>\n        {/* Link to the registration page */}\n        <small className=\"text-zinc-300\">\n          Don&apos;t have an account?{\" \"}\n          <a className=\"text-primary hover:underline\" href=\"/register\">\n            Register\n          </a>\n        </small>\n      </div>\n    </div>\n  );\n};\n\nexport default Login;\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/pages/register.tsx",
    "content": "// Import necessary components and hooks\nimport { LockClosedIcon } from \"@heroicons/react/20/solid\";\nimport { useState } from \"react\";\nimport Button from \"../components/Button\";\nimport Input from \"../components/Input\";\nimport { useAuth } from \"../context/AuthContext\";\n\n// Component for user registration\nconst Register = () => {\n  // State to manage user registration data\n  const [data, setData] = useState({\n    email: \"\",\n    username: \"\",\n    password: \"\",\n  });\n\n  // Access the register function from the authentication context\n  const { register } = useAuth();\n\n  // Handle data change for input fields\n  const handleDataChange =\n    (name: string) => (e: React.ChangeEvent<HTMLInputElement>) => {\n      // Update the corresponding field in the data state\n      setData({\n        ...data,\n        [name]: e.target.value,\n      });\n    };\n\n  // Handle user registration\n  const handleRegister = async () => await register(data);\n\n  return (\n    // Register form UI\n    <div className=\"flex justify-center items-center flex-col h-screen w-screen\">\n      <h1 className=\"text-3xl font-bold\">FreeAPI Chat App</h1>\n      <div className=\"max-w-5xl w-1/2 p-8 flex justify-center items-center gap-5 flex-col bg-dark shadow-md rounded-2xl my-16 border-secondary border-[1px]\">\n        <h1 className=\"inline-flex items-center text-2xl mb-4 flex-col\">\n          {/* Lock icon */}\n          <LockClosedIcon className=\"h-8 w-8 mb-2\" /> Register\n        </h1>\n        {/* Input fields for username, password, and email */}\n        <Input\n          placeholder=\"Enter the email...\"\n          type=\"email\"\n          value={data.email}\n          onChange={handleDataChange(\"email\")}\n        />\n        <Input\n          placeholder=\"Enter the username...\"\n          value={data.username}\n          onChange={handleDataChange(\"username\")}\n        />\n        <Input\n          placeholder=\"Enter the password...\"\n          type=\"password\"\n          value={data.password}\n          onChange={handleDataChange(\"password\")}\n        />\n        {/* Register button */}\n        <Button\n          fullWidth\n          disabled={Object.values(data).some((val) => !val)}\n          onClick={handleRegister}\n        >\n          Register\n        </Button>\n        {/* Login link */}\n        <small className=\"text-zinc-300\">\n          Already have an account?{\" \"}\n          <a className=\"text-primary hover:underline\" href=\"/login\">\n            Login\n          </a>\n        </small>\n      </div>\n    </div>\n  );\n};\n\nexport default Register;\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/utils/index.ts",
    "content": "// Importing necessary modules and interfaces\nimport { AxiosResponse } from \"axios\";\nimport { FreeAPISuccessResponseInterface } from \"../interfaces/api\";\nimport { ChatListItemInterface } from \"../interfaces/chat\";\nimport { UserInterface } from \"../interfaces/user\";\n\n// A utility function for handling API requests with loading, success, and error handling\nexport const requestHandler = async (\n  api: () => Promise<AxiosResponse<FreeAPISuccessResponseInterface, any>>,\n  setLoading: ((loading: boolean) => void) | null,\n  onSuccess: (data: FreeAPISuccessResponseInterface) => void,\n  onError: (error: string) => void\n) => {\n  // Show loading state if setLoading function is provided\n  setLoading && setLoading(true);\n  try {\n    // Make the API request\n    const response = await api();\n    const { data } = response;\n    if (data?.success) {\n      // Call the onSuccess callback with the response data\n      onSuccess(data);\n    }\n  } catch (error: any) {\n    // Handle error cases, including unauthorized and forbidden cases\n    if ([401, 403].includes(error?.response.data?.statusCode)) {\n      localStorage.clear(); // Clear local storage on authentication issues\n      if (isBrowser) window.location.href = \"/login\"; // Redirect to login page\n    }\n    onError(error?.response?.data?.message || \"Something went wrong\");\n  } finally {\n    // Hide loading state if setLoading function is provided\n    setLoading && setLoading(false);\n  }\n};\n\n// A utility function to concatenate CSS class names with proper spacing\nexport const classNames = (...className: string[]) => {\n  // Filter out any empty class names and join them with a space\n  return className.filter(Boolean).join(\" \");\n};\n\n// Check if the code is running in a browser environment\nexport const isBrowser = typeof window !== \"undefined\";\n\n// This utility function generates metadata for chat objects.\n// It takes into consideration both group chats and individual chats.\nexport const getChatObjectMetadata = (\n  chat: ChatListItemInterface, // The chat item for which metadata is being generated.\n  loggedInUser: UserInterface // The currently logged-in user details.\n) => {\n  // Determine the content of the last message, if any.\n  // If the last message contains only attachments, indicate their count.\n  const lastMessage = chat.lastMessage?.content\n    ? chat.lastMessage?.content\n    : chat.lastMessage\n    ? `${chat.lastMessage?.attachments?.length} attachment${\n        chat.lastMessage.attachments.length > 1 ? \"s\" : \"\"\n      }`\n    : \"No messages yet\"; // Placeholder text if there are no messages.\n\n  if (chat.isGroupChat) {\n    // Case: Group chat\n    // Return metadata specific to group chats.\n    return {\n      // Default avatar for group chats.\n      avatar: \"https://via.placeholder.com/100x100.png\",\n      title: chat.name, // Group name serves as the title.\n      description: `${chat.participants.length} members in the chat`, // Description indicates the number of members.\n      lastMessage: chat.lastMessage\n        ? chat.lastMessage?.sender?.username + \": \" + lastMessage\n        : lastMessage,\n    };\n  } else {\n    // Case: Individual chat\n    // Identify the participant other than the logged-in user.\n    const participant = chat.participants.find(\n      (p) => p._id !== loggedInUser?._id\n    );\n    // Return metadata specific to individual chats.\n    return {\n      avatar: participant?.avatar.url, // Participant's avatar URL.\n      title: participant?.username, // Participant's username serves as the title.\n      description: participant?.email, // Email address of the participant.\n      lastMessage,\n    };\n  }\n};\n\n// A class that provides utility functions for working with local storage\nexport class LocalStorage {\n  // Get a value from local storage by key\n  static get(key: string) {\n    if (!isBrowser) return;\n    const value = localStorage.getItem(key);\n    if (value) {\n      try {\n        return JSON.parse(value);\n      } catch (err) {\n        return null;\n      }\n    }\n    return null;\n  }\n\n  // Set a value in local storage by key\n  static set(key: string, value: any) {\n    if (!isBrowser) return;\n    localStorage.setItem(key, JSON.stringify(value));\n  }\n\n  // Remove a value from local storage by key\n  static remove(key: string) {\n    if (!isBrowser) return;\n    localStorage.removeItem(key);\n  }\n\n  // Clear all items from local storage\n  static clear() {\n    if (!isBrowser) return;\n    localStorage.clear();\n  }\n}\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/src/vite-env.d.ts",
    "content": "/// <reference types=\"vite/client\" />\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/tailwind.config.js",
    "content": "/** @type {import('tailwindcss').Config} */\nexport default {\n  content: [\"./index.html\", \"./src/**/*.{js,ts,jsx,tsx}\"],\n  theme: {\n    extend: {\n      colors: {\n        primary: \"#6b8afd\",\n        secondary: \"#2e333d\",\n        dark: \"#212328\",\n        danger: \"#eb3330\",\n        success: \"#4aac68\",\n      },\n    },\n  },\n  plugins: [],\n};\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"target\": \"ES2020\",\n    \"useDefineForClassFields\": true,\n    \"lib\": [\"ES2020\", \"DOM\", \"DOM.Iterable\"],\n    \"module\": \"ESNext\",\n    \"skipLibCheck\": true,\n\n    /* Bundler mode */\n    \"moduleResolution\": \"bundler\",\n    \"allowImportingTsExtensions\": true,\n    \"resolveJsonModule\": true,\n    \"isolatedModules\": true,\n    \"noEmit\": true,\n    \"jsx\": \"react-jsx\",\n\n    /* Linting */\n    \"strict\": true,\n    \"noUnusedLocals\": true,\n    \"noUnusedParameters\": true,\n    \"noFallthroughCasesInSwitch\": true\n  },\n  \"include\": [\"src\"],\n  \"references\": [{ \"path\": \"./tsconfig.node.json\" }]\n}\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/tsconfig.node.json",
    "content": "{\n  \"compilerOptions\": {\n    \"composite\": true,\n    \"skipLibCheck\": true,\n    \"module\": \"ESNext\",\n    \"moduleResolution\": \"bundler\",\n    \"allowSyntheticDefaultImports\": true\n  },\n  \"include\": [\"vite.config.ts\"]\n}\n"
  },
  {
    "path": "examples/apps/chat-app/web/react-vite-tailwind/vite.config.ts",
    "content": "import { defineConfig } from \"vite\";\nimport dns from \"dns\";\nimport react from \"@vitejs/plugin-react\";\n\ndns.setDefaultResultOrder(\"verbatim\");\n\n// https://vitejs.dev/config/\nexport default defineConfig({\n  plugins: [react()],\n  server: {\n    host: \"localhost\",\n    port: 3000,\n  },\n});\n"
  },
  {
    "path": "examples/apps/ecommerce/.gitkeep",
    "content": ""
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/.eslintrc.cjs",
    "content": "module.exports = {\n  root: true,\n  env: { browser: true, es2020: true },\n  extends: [\n    'eslint:recommended',\n    'plugin:@typescript-eslint/recommended',\n    'plugin:react-hooks/recommended',\n  ],\n  ignorePatterns: ['dist', '.eslintrc.cjs'],\n  parser: '@typescript-eslint/parser',\n  plugins: ['react-refresh'],\n  rules: {\n    'react-refresh/only-export-components': [\n      'warn',\n      { allowConstantExport: true },\n    ],\n  },\n}\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/.gitignore",
    "content": ".env\nserver\n# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\npnpm-debug.log*\nlerna-debug.log*\n\nnode_modules\ndist\ndist-ssr\n*.local\n\n# Editor directories and files\n.vscode/*\n!.vscode/extensions.json\n.idea\n.DS_Store\n*.suo\n*.ntvs*\n*.njsproj\n*.sln\n*.sw?\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/README.md",
    "content": "## ecommerce frontend application\n\nThis is an ecommerce client app which is made by consuming freeapi: https://github.com/hiteshchoudhary/apihub.\n\n### Steps to run the code locally\n* Download the freeapi project from: https://github.com/hiteshchoudhary/apihub, and set the project up.\n    * Make sure to configure the following:\n        * **CORS_ORIGIN as the exact frontend endpoint**.\n        * MAILTRAP credentials for emails. (Used in forgot password feature)\n        * Paypal Client ID and Client Secret.\n        * Google SSO Credentials for logging in with google.\n        * In .env, Set CLIENT_SSO_REDIRECT_URL to <FRONT_END_ENDPOINT>/ for redirects after logging in from google. example http://localhost:3000/\n    * Update the following in the freeapi project:\n        * Add an environment variable in .env file for forgot password redirection, and point it to the <FRONT_END_ENDPOINT>/forgot-password, as follows: \n          ```FORGOT_PASSWORD_REDIRECT_URL=http://localhost:3000/forgot-password```\n        * In src/controllers/apps/auth/user.controller.js file, Update the forgot password controller to use the above environment variable when sending an email\n          by using ```${process.env.FORGOT_PASSWORD_REDIRECT_URL}/${unHashedToken}``` when calling the sendEmail function inside the controller.\n          \n* Create a .env file in the root directory of this project, and copy paste the contents of .env.sample into it.\n* In .env, Replace:\n  * VITE_SERVER_URI: With the path where freeapi server is running example http://localhost:8080 by default\n  * VITE_PAYPAL_CLIENT_ID: With your own paypal client id.\n* Run ```npm i ```\n* Run ```npm run dev```, the development server will start on port 3000: Visit http://localhost:3000 to view the client app.\n\n### Credits\n * FreeAPI Project:    https://github.com/hiteshchoudhary/apihub\n * API for countries & states: https://countriesnow.space/\n * Design Inspiration: https://www.figma.com/community/file/1219312065205187851\n\n### Dependencies\n* [React](https://github.com/facebook/react) : v18.2.0\n* [Vite](https://vitejs.dev/) : v5.0.12\n* [TailwindCSS](https://github.com/tailwindlabs/tailwindcss) : v3.3.6 \n* State Management\n    * [React Redux](https://github.com/reduxjs/react-redux) : v9.0.4\n    * [Redux Toolkit](https://github.com/reduxjs/redux-toolkit) : v2.0.1\n* API Calls\n    * [Axios](https://github.com/axios/axios) : v1.6.2\n* Payments\n    * [React Paypal JS](https://github.com/paypal/react-paypal-js) : v8.1.3\n    * [Paypal JS](https://github.com/paypal/paypal-js) : v8.0.0\n* Date Picker\n    * [React Day Picker](https://github.com/gpbl/react-day-picker) : v8.10.1\n    * [Date fns](https://github.com/date-fns/date-fns) : v3.6.0\n* Multilingual\n    * [i18n](https://github.com/i18next/i18next) : v23.7.11\n    * [react-i18next](https://github.com/i18next/react-i18next) : v6.20.1\n* Form Handling\n    * [React Hook Form](https://github.com/react-hook-form/react-hook-form) : v7.49.2\n \n\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/index.html",
    "content": "<!doctype html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"UTF-8\" />\n    <link rel=\"icon\" type=\"image/svg+xml\" href=\"/vite.svg\" />\n    <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\n    <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n    <link href=\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap\" rel=\"stylesheet\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Ecommerce</title>\n  </head>\n  <body>\n    <div id=\"root\"></div>\n    <script type=\"module\" src=\"/src/main.tsx\"></script>\n  </body>\n</html>\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/package.json",
    "content": "{\n  \"name\": \"client_app\",\n  \"private\": true,\n  \"version\": \"0.0.0\",\n  \"type\": \"module\",\n  \"scripts\": {\n    \"dev\": \"vite\",\n    \"devhost\": \"vite --host\",\n    \"build\": \"tsc && vite build\",\n    \"lint\": \"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0\",\n    \"preview\": \"vite preview\"\n  },\n  \"dependencies\": {\n    \"@paypal/react-paypal-js\": \"^8.1.3\",\n    \"@reduxjs/toolkit\": \"^2.0.1\",\n    \"axios\": \"^1.7.4\",\n    \"date-fns\": \"^3.6.0\",\n    \"i18next\": \"^23.7.11\",\n    \"i18next-http-backend\": \"^2.4.2\",\n    \"moment\": \"^2.29.4\",\n    \"react\": \"^18.2.0\",\n    \"react-day-picker\": \"^8.10.1\",\n    \"react-dom\": \"^18.2.0\",\n    \"react-hook-form\": \"^7.49.2\",\n    \"react-i18next\": \"^13.5.0\",\n    \"react-redux\": \"^9.0.4\",\n    \"react-router-dom\": \"^6.20.1\"\n  },\n  \"devDependencies\": {\n    \"@paypal/paypal-js\": \"^8.0.0\",\n    \"@types/node\": \"^20.10.4\",\n    \"@types/react\": \"^18.2.43\",\n    \"@types/react-dom\": \"^18.2.17\",\n    \"@typescript-eslint/eslint-plugin\": \"^6.14.0\",\n    \"@typescript-eslint/parser\": \"^6.14.0\",\n    \"@vitejs/plugin-react\": \"^4.2.1\",\n    \"autoprefixer\": \"^10.4.16\",\n    \"eslint\": \"^8.55.0\",\n    \"eslint-plugin-react-hooks\": \"^4.6.0\",\n    \"eslint-plugin-react-refresh\": \"^0.4.5\",\n    \"postcss\": \"^8.4.32\",\n    \"prettier\": \"3.2.5\",\n    \"tailwindcss\": \"^3.3.6\",\n    \"typescript\": \"^5.2.2\",\n    \"vite\": \"^5.2.14\"\n  },\n  \"resolutions\": {\n    \"cross-spawn\": \"^7.0.5\",\n    \"nanoid\": \"^3.3.8\"\n  }\n}\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/postcss.config.js",
    "content": "export default {\n  plugins: {\n    tailwindcss: {},\n    autoprefixer: {},\n  },\n};\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/public/locales/ar/translation.json",
    "content": "{\n  \"en\": \"english\",\n  \"ar\": \"عربي\",\n  \"hn\": \"हिन्दी\",\n  \"select\": \"يختار\",\n  \"infoHeaderMessage\": \"\",\n  \"companyName\": \"ecomm\",\n  \"home\": \"بيت\",\n  \"contact\": \"اتصال\",\n  \"about\": \"عن\",\n  \"login\": \"تسجيل الدخول\",\n  \"searchProductsPlaceholder\": \"ما الذي تبحث عنه؟\",\n  \"companyAddress\": \"عنوان طويل عشوائي يأتي هنا\",\n  \"companyEmail\": \"email@email.com\",\n  \"companyPhone\": \"+00 000 0000\",\n  \"copyrightMessage\": \"حقوق الطبع والنشر 2024. جميع الحقوق محفوظة ©\",\n  \"support\": \"يدعم\",\n  \"days\": \"أيام\",\n  \"hours\": \"ساعات\",\n  \"minutes\": \"دقائق\",\n  \"seconds\": \"دقائق\",\n  \"bannerPromotion\": \"ارفع أسلوبك\",\n  \"bannerPromotion2\": \"مع أحدث الوافدين لدينا\",\n  \"categories\": \"فئات\",\n  \"browseByCategory\": \"تصفح حسب الفئة\",\n  \"pleaseTryAgainLater\": \"فشل التحميل، يرجى المحاولة مرة أخرى في وقت لاحق\",\n  \"addToCart\": \"أضف إلى السلة\",\n  \"ourProducts\": \"منتجاتنا\",\n  \"exploreOurProducts\": \"استكشاف منتجاتنا\",\n  \"viewAllProducts\": \"عرض جميع المنتجات\",\n  \"thisMonth\": \"هذا الشهر\",\n  \"bestSellingProducts\": \"أفضل المنتجات مبيعا\",\n  \"viewAll\": \"عرض الكل\",\n  \"freeAndFastDelivery\": \"تسليم مجاني وسريع\",\n  \"freeDeliveryFor\": \"التوصيل مجاني لجميع الطلبات التي تزيد عن 200\",\n  \"247customerService\": \"خدمة العملاء 24/7\",\n  \"247customerServiceDescription\": \"دعم عملاء ودود على مدار 24 ساعة طوال أيام الأسبوع\",\n  \"guranteeHeading\": \"ضمان استعادة الاموال\",\n  \"guranteeDescription\": \"نقوم بإرجاع الأموال خلال 30 يومًا\",\n  \"loadMore\": \"تحميل المزيد\",\n  \"inStock\": \"في الأوراق المالية\",\n  \"outOfStock\": \"إنتهى من المخزن\",\n  \"removeFromCart\": \"إزالة من العربة\",\n  \"relatedItems\": \"الأصناف المتعلقة\",\n  \"enterYourDetailsBelow\": \"أدخل التفاصيل الخاصة بك أدناه\",\n  \"email\": \"بريد إلكتروني\",\n  \"password\": \"كلمة المرور\",\n  \"forgotPassword\": \"نسيت كلمة المرور\",\n  \"dontHaveAnAccountSignUp\": \"ليس لديك حساب؟ قم بالتسجيل\",\n  \"emailIsRequired\": \"البريد الالكتروني مطلوب\",\n  \"passwordIsRequired\": \"كلمة المرور مطلوبة\",\n  \"invalidEmailAddress\": \"عنوان البريد الإلكتروني غير صالح\",\n  \"myAccount\": \"حسابي\",\n  \"manageAccount\": \"إدارة الحساب\",\n  \"logout\": \"تسجيل خروج\",\n  \"confirmation\": \"تأكيد\",\n  \"yes\": \"نعم\",\n  \"no\": \"لا\",\n  \"areYouSureYouWantToLogout\": \"هل أنت متأكد أنك تريد تسجيل الخروج ؟\",\n  \"ok\": \"نعم\",\n  \"signup\": \"اشتراك\",\n  \"username\": \"اسم المستخدم\",\n  \"usernameIsRequired\": \"اسم المستخدم مطلوب\",\n  \"confirmPassword\": \"تأكيد كلمة المرور\",\n  \"passwordsDontMatch\": \"كلمات المرور غير متطابقة\",\n  \"alreadyHaveAnAccountLogin\": \"لديك حساب الآن؟ تسجيل الدخول هنا\",\n  \"signupSuccessful\": \"الاشتراك بنجاح\",\n  \"proceedToLogin\": \"انتقل إلى تسجيل الدخول\",\n  \"updateQuantity\": \"تحديث الكمية\",\n  \"cartUpdatedSuccessfully\": \"تم تحديث سلة التسوق بنجاح\",\n  \"maxQuantityReached\": \"تم الوصول إلى الحد الأقصى، لا يمكن إضافة المزيد من الوحدات\",\n  \"subtotal\": \"المجموع الفرعي\",\n  \"discount\": \"تخفيض\",\n  \"total\": \"المجموع\",\n  \"proceedToCheckout\": \"الشروع في الخروج\",\n  \"summary\": \"ملخص\",\n  \"selectCountry\": \"حدد الدولة\",\n  \"selectState\": \"اختر ولايه\",\n  \"selectCity\": \"اختر مدينة\",\n  \"enterAddress1\": \"أدخل سطر العنوان 1\",\n  \"enterAddress2\": \"أدخل سطر العنوان 2\",\n  \"enterPincode\": \"أدخل الرمز السري\",\n  \"addAddress\": \"اضف عنوان\",\n  \"add\": \"يضيف\",\n  \"cancel\": \"يلغي\",\n  \"addressIsRequired\": \"العنوان مطلوب\",\n  \"countryIsRequired\": \"الدولة مطلوبة\",\n  \"stateIsRequired\": \"الدولة مطلوبة\",\n  \"cityIsRequired\": \"المدينة مطلوبة\",\n  \"pincodeIsRequired\": \"مطلوب الرمز السري\",\n  \"invalidPincode\": \"الرمز السري غير صالح\",\n  \"addressAddedSuccessfully\": \"تمت إضافة العنوان بنجاح\",\n  \"addressUpdatedSuccessfully\": \"تم تحديث العنوان بنجاح\",\n  \"selectAddress\": \"حدد العنوان\",\n  \"use\": \"يستخدم\",\n  \"code\": \"شفرة\",\n  \"toGet\": \"تحصل\",\n  \"off\": \"عن\",\n  \"minimumPurchaseOf\": \"دقيقة شراء\",\n  \"enterCouponCode\": \"أدخل رمز القسيمة\",\n  \"applyCode\": \"تطبيق الكود\",\n  \"removeCouponCode\": \"إزالة رمز القسيمة\",\n  \"codeIsRequired\": \"الرمز مطلوب\",\n  \"couponCodeAppliedSuccessfully\": \"تم تطبيق رمز القسيمة بنجاح\",\n  \"couponCodeRemovedSuccessfully\": \"تمت إزالة رمز القسيمة بنجاح\",\n  \"update\": \"تحديث\",\n  \"updateAddress\": \"عنوان التحديث\",\n  \"areYouSureYouWantToDeleteTheAddress\": \"هل أنت متأكد أنك تريد حذف العنوان\",\n  \"deleteAddress\": \"حذف العنوان\",\n  \"addressDeletedSuccessfully\": \"تم حذف العنوان بنجاح\",\n  \"selectAddressToContinueToPayment\": \"حدد العنوان لمواصلة الدفع\",\n  \"failedToProcessPaymentTryAgain\": \"فشلت في معالجة الدفع، يرجى المحاولة مرة أخرى في وقت لاحق\",\n  \"paymentSuccessfullyCompleted\": \"اكتمل الدفع بنجاح\",\n  \"goToHome\": \"اذهب إلى المنزل\",\n  \"myOrders\": \"طلباتي\",\n  \"editYourProfile\": \"عدل ملفك الشخصي\",\n  \"firstName\": \"الاسم الأول\",\n  \"lastName\": \"اسم العائلة\",\n  \"countryCode\": \"الرقم الدولي\",\n  \"phoneNumber\": \"رقم التليفون\",\n  \"firstNameIsRequired\": \"الإسم الأول مطلوب\",\n  \"lastNameIsRequired\": \"إسم العائلة مطلوب\",\n  \"countryCodeIsRequired\": \"مطلوب رمز البلد\",\n  \"phoneNumberIsRequired\": \"رقم الهاتف مطلوب\",\n  \"invalidPhoneNumber\": \"رقم الهاتف غير صحيح\",\n  \"invalidCountryCode\": \"رمز البلد غير صالح\",\n  \"profileUpdatedSuccessfully\": \"تم تحديث الملف الشخصي بنجاح\",\n  \"failedToFetchInformation\": \"فشل في جلب المعلومات، يرجى المحاولة مرة أخرى في وقت لاحق\",\n  \"signInWithGoogle\": \"الدخول مع جوجل\",\n  \"noOrdersFound\": \"لم يتم العثور على أية طلبات\",\n  \"searchResults\": \"نتائج البحث\",\n  \"noResultsFound\": \"لم يتم العثور على نتائج\",\n  \"editProfile\": \"تعديل الملف الشخصي\",\n  \"myAddresses\": \"عناويني\",\n  \"accountSettings\": \"إعدادت الحساب\",\n  \"changePassword\": \"تغيير كلمة المرور\",\n  \"currentPassword\": \"كلمة السر الحالية\",\n  \"newPassword\": \"كلمة المرور الجديدة\",\n  \"confirmNewPassword\": \"تأكيد كلمة المرور الجديدة\",\n  \"thisFieldIsRequired\": \"هذه الخانة مطلوبه\",\n  \"passwordChangedSuccessfully\": \"تم تغيير الرقم السري بنجاح\",\n  \"usernameMustBeThreeCharactersLong\": \"يجب أن يتكون اسم المستخدم من 3 أحرف على الأقل\",\n  \"submit\": \"يُقدِّم\",\n  \"passwordResetEmailSent\": \"تم إرسال بريد إعادة تعيين كلمة المرور على معرف البريد الخاص بك\",\n  \"pageNotFound\": \"الصفحة غير موجودة\",\n  \"resetPassword\": \"إعادة تعيين كلمة المرور\",\n  \"reset\": \"إعادة ضبط\",\n  \"tryAgainLater\": \"حاول مرة أخرى في وقت لاحق\",\n  \"resetPasswordSuccessful\": \"تمت إعادة تعيين كلمة المرور بنجاح\",\n  \"minPrice\": \"سعر دقيقة\",\n  \"maxPrice\": \"الحد الأقصى للسعر\",\n  \"to\": \"ل\",\n  \"filter\": \"منقي\",\n  \"invalidValue\": \"قيمة غير صالحة\",\n  \"maxValueIsLessThanMinValue\": \"القيمة القصوى أقل من القيمة الدنيا\",\n  \"addressDeleted\": \"تم حذف العنوان\",\n  \"selectRange\": \"اختر نطاقا\",\n  \"pending\": \"قيد الانتظار\",\n  \"cancelled\": \"ألغيت\",\n  \"delivered\": \"تم التوصيل\",\n  \"pleaseSelectAOrderStatus\": \"يرجى تحديد حالة الطلب\",\n  \"ourStory\": \"قصتنا\"\n}\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/public/locales/en/translation.json",
    "content": "{\n  \"en\": \"english\",\n  \"ar\": \"عربي\",\n  \"hn\": \"हिन्दी\",\n  \"select\": \"Select\",\n  \"infoHeaderMessage\": \"\",\n  \"companyName\": \"ecomm\",\n  \"home\": \"home\",\n  \"contact\": \"contact\",\n  \"about\": \"about\",\n  \"login\": \"login\",\n  \"searchProductsPlaceholder\": \"What are you looking for?\",\n  \"companyAddress\": \"random long address comes here\",\n  \"companyEmail\": \"email@email.com\",\n  \"companyPhone\": \"+00 000 0000\",\n  \"copyrightMessage\": \"© copyright right 2024. all right reserved\",\n  \"support\": \"support\",\n  \"days\": \"days\",\n  \"hours\": \"hours\",\n  \"minutes\": \"minutes\",\n  \"seconds\": \"seconds\",\n  \"bannerPromotion\": \"Elevate Your Style\",\n  \"bannerPromotion2\": \"With Our Latest Arrivals\",\n  \"categories\": \"categories\",\n  \"browseByCategory\": \"browse by category\",\n  \"pleaseTryAgainLater\": \"failed to load, please try again later\",\n  \"addToCart\": \"add to cart\",\n  \"ourProducts\": \"our products\",\n  \"exploreOurProducts\": \"explore our products\",\n  \"viewAllProducts\": \"view all products\",\n  \"thisMonth\": \"this month\",\n  \"bestSellingProducts\": \"best selling products\",\n  \"viewAll\": \"view all\",\n  \"freeAndFastDelivery\": \"free and fast delivery\",\n  \"freeDeliveryFor\": \"free delivery for all orders over 200\",\n  \"247customerService\": \"24/7 customer service\",\n  \"247customerServiceDescription\": \"friendly 24/7 customer support\",\n  \"guranteeHeading\": \"money back gurantee\",\n  \"guranteeDescription\": \"we return money within 30 days\",\n  \"loadMore\": \"load more\",\n  \"inStock\": \"in stock\",\n  \"outOfStock\": \"out of stock\",\n  \"removeFromCart\": \"remove from cart\",\n  \"relatedItems\": \"related items\",\n  \"enterYourDetailsBelow\": \"enter your details below\",\n  \"email\": \"email\",\n  \"password\": \"password\",\n  \"forgotPassword\": \"forgot password\",\n  \"dontHaveAnAccountSignUp\": \"don't have an account ? signup\",\n  \"emailIsRequired\": \"email is required\",\n  \"passwordIsRequired\": \"password is required\",\n  \"invalidEmailAddress\": \"invalid email address\",\n  \"myAccount\": \"my account\",\n  \"manageAccount\": \"manage account\",\n  \"logout\": \"Logout\",\n  \"confirmation\": \"confirmation\",\n  \"yes\": \"yes\",\n  \"no\": \"no\",\n  \"areYouSureYouWantToLogout\": \"are you sure you want to logout ?\",\n  \"ok\": \"ok\",\n  \"signup\": \"signup\",\n  \"username\": \"username\",\n  \"usernameIsRequired\": \"username is required\",\n  \"confirmPassword\": \"confirm password\",\n  \"passwordsDontMatch\": \"passwords dont match\",\n  \"alreadyHaveAnAccountLogin\": \"already have an account ?, login here\",\n  \"signupSuccessful\": \"sign up successful\",\n  \"proceedToLogin\": \"proceed to login\",\n  \"updateQuantity\": \"update quantity\",\n  \"cartUpdatedSuccessfully\": \"cart updated successfully\",\n  \"maxQuantityReached\": \"max limit reached, cannot add any more units\",\n  \"subtotal\": \"subtotal\",\n  \"discount\": \"discount\",\n  \"total\": \"total\",\n  \"proceedToCheckout\": \"proceed to checkout\",\n  \"summary\": \"summary\",\n  \"selectCountry\": \"select country\",\n  \"selectState\": \"select state\",\n  \"selectCity\": \"select city\",\n  \"enterAddress1\": \"enter address line 1\",\n  \"enterAddress2\": \"enter address line 2\",\n  \"enterPincode\": \"enter pincode\",\n  \"addAddress\": \"add address\",\n  \"add\": \"add\",\n  \"cancel\": \"cancel\",\n  \"addressIsRequired\": \"address is required\",\n  \"countryIsRequired\": \"country is required\",\n  \"stateIsRequired\": \"state is required\",\n  \"cityIsRequired\": \"city is required\",\n  \"pincodeIsRequired\": \"pincode is required\",\n  \"invalidPincode\": \"invalid pincode\",\n  \"addressAddedSuccessfully\": \"address added successfully\",\n  \"addressUpdatedSuccessfully\": \"address updated successfully\",\n  \"selectAddress\": \"select address\",\n  \"use\": \"use\",\n  \"code\": \"code\",\n  \"toGet\": \"to get\",\n  \"off\": \"off\",\n  \"minimumPurchaseOf\": \"min purchase of\",\n  \"enterCouponCode\": \"enter coupon code\",\n  \"applyCode\": \"apply code\",\n  \"removeCouponCode\": \"remove coupon code\",\n  \"codeIsRequired\": \"code is required\",\n  \"couponCodeAppliedSuccessfully\": \"coupon code applied successfully\",\n  \"couponCodeRemovedSuccessfully\": \"coupon code removed successfully\",\n  \"update\": \"update\",\n  \"updateAddress\": \"update address\",\n  \"areYouSureYouWantToDeleteTheAddress\": \"are you sure you want to delete the address\",\n  \"deleteAddress\": \"delete address\",\n  \"addressDeletedSuccessfully\": \"address deleted successfully\",\n  \"selectAddressToContinueToPayment\": \"select address to continue to payment\",\n  \"failedToProcessPaymentTryAgain\": \"failed to process payment, please try again later\",\n  \"paymentSuccessfullyCompleted\": \"payment successfully completed\",\n  \"goToHome\": \"go to home\",\n  \"myOrders\": \"my orders\",\n  \"editYourProfile\": \"edit your profile\",\n  \"firstName\": \"first name\",\n  \"lastName\": \"last name\",\n  \"countryCode\": \"country code\",\n  \"phoneNumber\": \"phone number\",\n  \"firstNameIsRequired\": \"first name is required\",\n  \"lastNameIsRequired\": \"last name is required\",\n  \"countryCodeIsRequired\": \"country code is required\",\n  \"phoneNumberIsRequired\": \"phone number is required\",\n  \"invalidPhoneNumber\": \"invalid phone number\",\n  \"invalidCountryCode\": \"invalid country code\",\n  \"profileUpdatedSuccessfully\": \"profile updated successfully\",\n  \"failedToFetchInformation\": \"failed to fetch information, please try again later\",\n  \"signInWithGoogle\": \"sign in with google\",\n  \"noOrdersFound\": \"no orders found\",\n  \"searchResults\": \"search results\",\n  \"noResultsFound\": \"no results found\",\n  \"editProfile\": \"edit profile\",\n  \"myAddresses\": \"my addresses\",\n  \"accountSettings\": \"account settings\",\n  \"changePassword\": \"change password\",\n  \"currentPassword\": \"current password\",\n  \"newPassword\": \"new password\",\n  \"confirmNewPassword\": \"confirm new password\",\n  \"thisFieldIsRequired\": \"this field is required\",\n  \"passwordChangedSuccessfully\": \"password changed successfully\",\n  \"usernameMustBeThreeCharactersLong\": \"username must be at least 3 characters long\",\n  \"submit\": \"submit\",\n  \"passwordResetEmailSent\": \"password reset mail has been sent on your mail id\",\n  \"pageNotFound\": \"404: page not found\",\n  \"resetPassword\": \"reset password\",\n  \"reset\": \"reset\",\n  \"tryAgainLater\": \"try again later\",\n  \"resetPasswordSuccessful\": \"reset password successful\",\n  \"minPrice\": \"min price\",\n  \"maxPrice\": \"max price\",\n  \"to\": \"to\",\n  \"filter\": \"filter\",\n  \"invalidValue\": \"invalid value\",\n  \"maxValueIsLessThanMinValue\": \"max value is less than min value\",\n  \"addressDeleted\": \"address deleted\",\n  \"selectRange\": \"select range\",\n  \"pending\": \"pending\",\n  \"cancelled\": \"cancelled\",\n  \"delivered\": \"delivered\",\n  \"pleaseSelectAOrderStatus\": \"please select a order status\",\n  \"ourStory\": \"our story\"\n}\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/public/locales/hn/translation.json",
    "content": "{\n  \"en\": \"english\",\n  \"ar\": \"عربي\",\n  \"hn\": \"हिन्दी\",\n  \"select\": \"चुनना\",\n  \"infoHeaderMessage\": \"\",\n  \"companyName\": \"ecomm\",\n  \"home\": \"घर\",\n  \"contact\": \"संपर्क\",\n  \"about\": \"बारे में\",\n  \"login\": \"लॉग इन\",\n  \"searchProductsPlaceholder\": \"तुम क्या ढूंढ रहे हो?\",\n  \"companyAddress\": \"पता\",\n  \"companyEmail\": \"email@email.com\",\n  \"companyPhone\": \"+00 000 0000\",\n  \"copyrightMessage\": \"© कॉपीराइट अधिकार 2024. सर्वाधिकार सुरक्षित\",\n  \"support\": \"सहायता\",\n  \"days\": \"दिन\",\n  \"hours\": \"घंटे\",\n  \"minutes\": \"मिनट\",\n  \"seconds\": \"सेकंड\",\n  \"bannerPromotion\": \"अपनी शैली को उन्नत करें\",\n  \"bannerPromotion2\": \"हमारे नवीनतम आगमन के साथ\",\n  \"categories\": \"श्रेणियाँ\",\n  \"browseByCategory\": \"वर्गानुसार खोजें\",\n  \"pleaseTryAgainLater\": \"लोड करने में विफल, कृपया बाद में पुनः प्रयास करें\",\n  \"addToCart\": \"कार्ट में जोड़ें\",\n  \"ourProducts\": \"हमारे उत्पाद\",\n  \"exploreOurProducts\": \"हमारे उत्पादों का अन्वेषण करें\",\n  \"viewAllProducts\": \"सभी उत्पाद देखें\",\n  \"thisMonth\": \"इस महीने\",\n  \"bestSellingProducts\": \"सबसे ज्यादा बिकने वाले उत्पाद\",\n  \"viewAll\": \"सभी को देखें\",\n  \"freeAndFastDelivery\": \"मुफ़्त और तेज़ डिलीवरी\",\n  \"freeDeliveryFor\": \"200 से अधिक के सभी ऑर्डर के लिए निःशुल्क डिलीवरी\",\n  \"247customerService\": \"24/7 ग्राहक सेवा\",\n  \"247customerServiceDescription\": \"अनुकूल 24/7 ग्राहक सहायता\",\n  \"guranteeHeading\": \"पैसे वापसी की गारंटी\",\n  \"guranteeDescription\": \"हम 30 दिनों के भीतर पैसा लौटा देते हैं\",\n  \"loadMore\": \"और लोड करें\",\n  \"inStock\": \"स्टॉक में\",\n  \"outOfStock\": \"स्टॉक ख़त्म\",\n  \"removeFromCart\": \"कार्ट से हटाएँ\",\n  \"relatedItems\": \"संबंधित वस्तुएं\",\n  \"enterYourDetailsBelow\": \"नीचे अपना विवरण दर्ज करें\",\n  \"email\": \"ईमेल\",\n  \"password\": \"पासवर्ड\",\n  \"forgotPassword\": \"पासवर्ड भूल गए\",\n  \"dontHaveAnAccountSignUp\": \"कोई खाता नहीं है? साइन अप करें\",\n  \"emailIsRequired\": \"ईमेल की जरूरत है\",\n  \"passwordIsRequired\": \"पासवर्ड की आवश्यकता है\",\n  \"invalidEmailAddress\": \"अमान्य ईमेल पता\",\n  \"myAccount\": \"मेरा खाता\",\n  \"manageAccount\": \"खाते का प्रबंधन करें\",\n  \"logout\": \"लॉग आउट\",\n  \"confirmation\": \"पुष्टि\",\n  \"yes\": \"हाँ\",\n  \"no\": \"नहीं\",\n  \"areYouSureYouWantToLogout\": \"क्या आप लॉग आउट करना चाहते हैं ?\",\n  \"ok\": \"ठीक\",\n  \"signup\": \"साइन अप\",\n  \"username\": \"उपयोगकर्ता नाम\",\n  \"usernameIsRequired\": \"उपयोगकर्ता नाम आवश्यक है\",\n  \"confirmPassword\": \"पासवर्ड की पुष्टि\",\n  \"passwordsDontMatch\": \"पासवर्ड मेल नहीं खाते\",\n  \"alreadyHaveAnAccountLogin\": \"पहले से खाता है? लॉग इन करे\",\n  \"signupSuccessful\": \"सफल पंजीकरण\",\n  \"proceedToLogin\": \"लॉगिन करने के लिए आगे बढ़ें\",\n  \"updateQuantity\": \"अद्यतन मात्रा\",\n  \"cartUpdatedSuccessfully\": \"कार्ट सफलतापूर्वक अपडेट किया गया\",\n  \"maxQuantityReached\": \"अधिकतम सीमा पूरी हो गई, अब और इकाइयां नहीं जोड़ी जा सकतीं\",\n  \"subtotal\": \"उप-जॉड़\",\n  \"discount\": \"छूट\",\n  \"total\": \"कुल\",\n  \"proceedToCheckout\": \"चेक आउट\",\n  \"summary\": \"सारांश\",\n  \"selectCountry\": \"देश चुनें\",\n  \"selectState\": \"राज्य चुनें\",\n  \"selectCity\": \"शहर चुनें\",\n  \"enterAddress1\": \"पता पंक्ति 1 दर्ज करें\",\n  \"enterAddress2\": \"पता पंक्ति 2 दर्ज करें\",\n  \"enterPincode\": \"पिनकोड दर्ज करें\",\n  \"addAddress\": \"पता जोड़ें\",\n  \"add\": \"जोड़ना\",\n  \"cancel\": \"रद्द\",\n  \"addressIsRequired\": \"पता आवश्यक है\",\n  \"countryIsRequired\": \"देश की आवश्यकता है\",\n  \"stateIsRequired\": \"राज्य की आवश्यकता है\",\n  \"cityIsRequired\": \"शहर की आवश्यकता है\",\n  \"pincodeIsRequired\": \"पिनकोड आवश्यक है\",\n  \"invalidPincode\": \"अमान्य पिनकोड\",\n  \"addressAddedSuccessfully\": \"पता सफलतापूर्वक जोड़ा गया\",\n  \"addressUpdatedSuccessfully\": \"पता सफलतापूर्वक अपडेट किया गया\",\n  \"selectAddress\": \"पता चुनें\",\n  \"use\": \"उपयोग\",\n  \"code\": \"कोड\",\n  \"toGet\": \"पाने के\",\n  \"off\": \"छूट\",\n  \"minimumPurchaseOf\": \"न्यूनतम खरीद\",\n  \"enterCouponCode\": \"परचा कूट दर्ज करें\",\n  \"applyCode\": \"कोड लागू करें\",\n  \"removeCouponCode\": \"कूपन कोड हटाएँ\",\n  \"codeIsRequired\": \"कोड आवश्यक है\",\n  \"couponCodeAppliedSuccessfully\": \"कूपन कोड सफलतापूर्वक लागू हो गया\",\n  \"couponCodeRemovedSuccessfully\": \"कूपन कोड सफलतापूर्वक हटा दिया गया\",\n  \"update\": \"अद्यतन\",\n  \"updateAddress\": \"पता अद्यतन करें\",\n  \"areYouSureYouWantToDeleteTheAddress\": \"क्या आप वाकई पता हटाना चाहते हैं?\",\n  \"deleteAddress\": \"पता हटाएं\",\n  \"addressDeletedSuccessfully\": \"पता सफलतापूर्वक हटा दिया गया\",\n  \"selectAddressToContinueToPayment\": \"भुगतान जारी रखने के लिए पता चुनें\",\n  \"failedToProcessPaymentTryAgain\": \"भुगतान संसाधित करने में विफल, कृपया बाद में पुनः प्रयास करें\",\n  \"paymentSuccessfullyCompleted\": \"भुगतान सफलतापूर्वक पूरा हुआ\",\n  \"goToHome\": \"घर\",\n  \"myOrders\": \"मेरे आदेश\",\n  \"editYourProfile\": \"अपनी प्रोफ़ाइल को संपादित करें\",\n  \"firstName\": \"पहला नाम\",\n  \"lastName\": \"उपनाम\",\n  \"countryCode\": \"कंट्री कोड\",\n  \"phoneNumber\": \"फ़ोन नंबर\",\n  \"firstNameIsRequired\": \"पहला नाम आवश्यक है\",\n  \"lastNameIsRequired\": \"अंतिम नाम आवश्यक है\",\n  \"countryCodeIsRequired\": \"देश कोड आवश्यक है\",\n  \"phoneNumberIsRequired\": \"फ़ोन नंबर आवश्यक है\",\n  \"invalidPhoneNumber\": \"अमान्य फ़ोन नंबर\",\n  \"invalidCountryCode\": \"अमान्य देश कोड\",\n  \"profileUpdatedSuccessfully\": \"प्रोफ़ाइल सफलतापूर्वक अपडेट किया गया\",\n  \"failedToFetchInformation\": \"जानकारी प्राप्त करने में विफल, कृपया बाद में पुनः प्रयास करें\",\n  \"signInWithGoogle\": \"गूगल से साइन इन करें\",\n  \"noOrdersFound\": \"कोई आदेश नहीं मिला\",\n  \"searchResults\": \"खोज के परिणाम\",\n  \"noResultsFound\": \"कोई परिणाम नहीं मिले\",\n  \"editProfile\": \"प्रोफ़ाइल संपादित करें\",\n  \"myAddresses\": \"मेरे पते\",\n  \"accountSettings\": \"खाता सेटिंग्स\",\n  \"changePassword\": \"पासवर्ड बदलें\",\n  \"currentPassword\": \"वर्तमान पासवर्ड\",\n  \"newPassword\": \"नया पासवर्ड\",\n  \"confirmNewPassword\": \"नए पासवर्ड की पुष्टि करें\",\n  \"thisFieldIsRequired\": \"यह फ़ील्ड आवश्यक है\",\n  \"passwordChangedSuccessfully\": \"पासवर्ड सफलतापूर्वक बदल गया\",\n  \"usernameMustBeThreeCharactersLong\": \"उपयोगकर्ता नाम कम से कम 3 अक्षरों का होना चाहिए\",\n  \"submit\": \"सबमिट\",\n  \"passwordResetEmailSent\": \"पासवर्ड रीसेट मेल आपके मेल आईडी पर भेजा गया है\",\n  \"pageNotFound\": \"404: पृष्ठ नहीं मिला\",\n  \"resetPassword\": \"पासवर्ड रीसेट\",\n  \"reset\": \"रीसेट\",\n  \"tryAgainLater\": \"बाद में पुनः प्रयास करें\",\n  \"resetPasswordSuccessful\": \"पासवर्ड रीसेट सफल\",\n  \"minPrice\": \"न्यूनतम मूल्य\",\n  \"maxPrice\": \"अधिकतम मूल्य\",\n  \"to\": \"से\",\n  \"filter\": \"फ़िल्टर\",\n  \"invalidValue\": \"अमान्य मान\",\n  \"maxValueIsLessThanMinValue\": \"अधिकतम मान न्यूनतम मान से कम है\",\n  \"addressDeleted\": \"पता हटा दिया गया है\",\n  \"selectRange\": \"सीमा चुनें\",\n  \"pending\": \"अपूर्ण\",\n  \"cancelled\": \"रद्द\",\n  \"delivered\": \"वितरित\",\n  \"pleaseSelectAOrderStatus\": \"कृपया एक आदेश की स्थिति चुनें\",\n  \"ourStory\": \"हमारी कहानी\"\n}\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/App.tsx",
    "content": "import RoutePaths from \"./RoutePaths\";\n\nfunction App() {\n  return <RoutePaths />;\n}\n\nexport default App;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/RoutePaths.tsx",
    "content": "import { BrowserRouter, Route, Routes } from \"react-router-dom\";\nimport PageLayout from \"./layouts/PageLayout\";\nimport HomePageContainer from \"./pages/home/container/HomePageContainer\";\nimport ProductsPageContainer from \"./pages/products/container/ProductsPageContainer\";\nimport { ROUTE_PATHS } from \"./constants\";\nimport ProductDetailPageContainer from \"./pages/productdetail/container/ProductDetailPageContainer\";\nimport LoginPageContainer from \"./pages/login/container/LoginPageContainer\";\nimport SignupPageContainer from \"./pages/signup/container/SignupPageContainer\";\nimport CartPageContainer from \"./pages/cart/container/CartPageContainer\";\nimport ForLoggedInUsers from \"./protectedroutes/ForLoggedInUsers\";\nimport CheckoutPageContainer from \"./pages/checkout/container/CheckoutPageContainer\";\nimport PaymentFeedbackPageContainer from \"./pages/paymentfeedback/container/PaymentFeedbackPageContainer\";\nimport ManageAccountPageContainer from \"./pages/manageaccount/container/ManageAccountPageContainer\";\nimport OrdersPageContainer from \"./pages/orders/container/OrdersPageContainer\";\nimport ProductSearchPageContainer from \"./pages/productsearch/container/ProductSearchPageContainer\";\nimport ResetForgottenPasswordPageContainer from \"./pages/resetforgottenpassword/container/ResetForgottenPasswordPageContainer\";\nimport PageNotFoundPageContainer from \"./pages/pagenotfound/container/PageNotFoundPageContainer\";\nimport OrderDetailPageContainer from \"./pages/orderdetail/container/OrderDetailPageContainer\";\nimport AboutPageContainer from \"./pages/about/container/AboutPageContainer\";\n\n/* All Routes */\nconst RoutePaths = () => {\n  return (\n    <BrowserRouter>\n      <Routes>\n        <Route path=\"/\" element={<PageLayout />}>\n          <Route index element={<HomePageContainer />} />\n          <Route path={ROUTE_PATHS.products} element={<ProductsPageContainer />} />\n          <Route path={ROUTE_PATHS.product} element={<ProductDetailPageContainer />} />\n          <Route path={ROUTE_PATHS.login} element={<LoginPageContainer />} />\n          <Route path={ROUTE_PATHS.signup} element={<SignupPageContainer />} />\n          <Route path={ROUTE_PATHS.productSearch} element={<ProductSearchPageContainer />} />\n          <Route path={ROUTE_PATHS.resetForgottenPassword} element={<ResetForgottenPasswordPageContainer />} />\n          <Route element={<ForLoggedInUsers />}>\n            <Route path={ROUTE_PATHS.cart} element={<CartPageContainer />} />\n            <Route path={ROUTE_PATHS.checkout} element={<CheckoutPageContainer />} />\n            <Route path={ROUTE_PATHS.paymentFeedback} element={<PaymentFeedbackPageContainer />} />\n            <Route path={ROUTE_PATHS.manageAccount} element={<ManageAccountPageContainer />} />\n            <Route path={ROUTE_PATHS.orders} element={<OrdersPageContainer/>} />\n            <Route path={ROUTE_PATHS.orderDetail} element={<OrderDetailPageContainer />} />\n          </Route>\n          <Route path={ROUTE_PATHS.about} element={<AboutPageContainer />} />\n          <Route path={ROUTE_PATHS.pageNotFound} element={<PageNotFoundPageContainer />} />\n          <Route path=\"*\" element={<PageNotFoundPageContainer />} />\n        </Route>\n      </Routes>\n    </BrowserRouter>\n  );\n};\n\nexport default RoutePaths;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/ArrowButton.tsx",
    "content": "import { useMemo } from \"react\";\nimport { ARROW_BUTTONS } from \"../../constants\";\nimport UpArrow from \"../icons/UpArrow\";\nimport LeftArrow from \"../icons/LeftArrow\";\n\ninterface ArrowButtonProps {\n  type: ARROW_BUTTONS;\n  onClickHandler: () => void;\n  isDisabled: boolean;\n  className?: string;\n}\nconst ArrowButton = (props: ArrowButtonProps) => {\n  const { type, onClickHandler, isDisabled, className } = props;\n\n  const ArrowIcon = useMemo(() => {\n    switch (type) {\n      case ARROW_BUTTONS.UP:\n        return <UpArrow className=\"w-4 h-4\" />;\n      case ARROW_BUTTONS.DOWN:\n        return <UpArrow className=\"w-4 h-4 rotate-180\" />;\n      case ARROW_BUTTONS.LEFT:\n        return <LeftArrow className=\"w-4 h-4\" />;\n      case ARROW_BUTTONS.RIGHT:\n        return <LeftArrow className=\"w-4 h-4 rotate-180\" />;\n    }\n  }, [type]);\n  return (\n    <button\n      className={`rounded-full bg-neutral-100 p-2 active:bg-darkRed active:text-zinc-50 active:disabled:bg-neutral-100 active:disabled:text-black ${className}`}\n      onClick={onClickHandler}\n      disabled={isDisabled}\n    >\n      {ArrowIcon}\n    </button>\n  );\n};\n\nexport default ArrowButton;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/Button.tsx",
    "content": "import { ReactElement, useMemo } from \"react\";\nimport { ButtonTypes } from \"../../constants\";\nimport LoadingSpinner from \"../icons/LoadingSpinner\";\n\ninterface ButtonProps {\n  buttonType?: ButtonTypes;\n  children: ReactElement;\n  className?: string;\n  onClickHandler(): void;\n  isLoading?: boolean;\n  type?: \"button\" | \"submit\" | \"reset\" | undefined;\n  isDisabled?: boolean;\n}\nconst Button = (props: ButtonProps) => {\n  const {\n    buttonType = ButtonTypes.noBackgroundAndBorder,\n    children,\n    className,\n    onClickHandler,\n    isLoading = false,\n    type = \"button\",\n    isDisabled = false,\n  } = props;\n\n  // Styles based on type\n  const buttonStyles = useMemo(() => {\n    switch (buttonType) {\n      case ButtonTypes.primaryButton:\n        return \"bg-darkRed text-zinc-50 rounded\";\n      case ButtonTypes.secondaryButton:\n        return \"bg-white text-black font-poppinsMedium rounded border border-grey\";\n      default:\n        return \"\";\n    }\n  }, [buttonType]);\n\n  return (\n    <button\n      type={type}\n      className={`transition transform lg:hover:scale-105 active:scale-95 lg:active:scale-95 \n      disabled:lg:hover:scale-100 disabled:active:scale-100 disabled:lg:active:scale-100 disabled:opacity-50\n       ${buttonStyles} ${className}`}\n      onClick={onClickHandler}\n      disabled={isDisabled}\n    >\n      {!isLoading ? (\n        children\n      ) : (\n        <LoadingSpinner className={\"w-8 h-8 text-gray-200 fill-black\"} />\n      )}\n    </button>\n  );\n};\n\nexport default Button;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/CarouselButtons.tsx",
    "content": "import { RefObject, useCallback, useEffect, useState } from \"react\";\nimport { useAppSelector } from \"../../store\";\nimport ArrowButton from \"./ArrowButton\";\nimport { ARROW_BUTTONS } from \"../../constants\";\n\ninterface CarouselButtons {\n  scrollableElementRef: RefObject<HTMLDivElement>;\n}\nconst CarouselButtons = (props: CarouselButtons) => {\n  const { scrollableElementRef } = props;\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  /* Next & Back buttons disabled state */\n  const [isNextButtonDisabled, setIsNextButtonDisabled] = useState(false);\n  const [isBackButtonDisabled, setIsBackButtonDisabled] = useState(true);\n\n  /* Scroll to the right */\n  const onNextClickHandler = () => {\n    if (scrollableElementRef.current) {\n      scrollableElementRef.current.scrollBy({ left: 500, behavior: \"smooth\" });\n    }\n  };\n\n  /* Scroll to the left */\n  const onBackClickHandler = () => {\n    if (scrollableElementRef.current) {\n      scrollableElementRef.current.scrollBy({ left: -500, behavior: \"smooth\" });\n    }\n  };\n\n  const onElementScroll = useCallback(() => {\n    if (scrollableElementRef.current) {\n      /* Checking if there is more scrollable width: Disabling/Enabling Button based on it */\n      const scrollWidth = scrollableElementRef.current.scrollWidth;\n      const clientWidth = scrollableElementRef.current.clientWidth;\n      const scrollLeft = Math.abs(scrollableElementRef.current.scrollLeft);\n\n      if (scrollLeft === 0) {\n        /* 0 Scrolled */\n        setIsBackButtonDisabled(true);\n        setIsNextButtonDisabled(false);\n      } else if (scrollLeft + clientWidth === scrollWidth) {\n        /* Fully Scrolled */\n        setIsNextButtonDisabled(true);\n        setIsBackButtonDisabled(false);\n      } else {\n        /* In between */\n        setIsBackButtonDisabled(false);\n        setIsNextButtonDisabled(false);\n      }\n    }\n  }, [scrollableElementRef]);\n\n  /* Listening for scroll event on the referenced element passed */\n  useEffect(() => {\n    const elementRef = scrollableElementRef.current;\n    if (elementRef) {\n      elementRef.addEventListener(\"scroll\", onElementScroll);\n    }\n    return () => {\n      elementRef?.removeEventListener(\"scroll\", onElementScroll);\n    };\n  }, [scrollableElementRef, onElementScroll]);\n  \n  return (\n    <div className={`flex justify-between`} dir={'ltr'}>\n      <ArrowButton\n        type={ARROW_BUTTONS.LEFT}\n        onClickHandler={onBackClickHandler}\n        isDisabled={isRTL ? isNextButtonDisabled : isBackButtonDisabled}\n      />\n      <ArrowButton\n        type={ARROW_BUTTONS.RIGHT}\n        onClickHandler={onNextClickHandler}\n        isDisabled={isRTL ? isBackButtonDisabled : isNextButtonDisabled}\n        className=\"ml-1\"\n      />\n    </div>\n  );\n};\n\nexport default CarouselButtons;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/Checkbox.tsx",
    "content": "import React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CHECKBOX_TYPE } from \"../../constants\";\nimport ErrorMessage from \"./ErrorMessage\";\n\nexport interface CheckboxActionsRef<T> {\n  forceSetCheckedItems(checkedItems: CHECKBOX_TYPE<T>[]): void;\n}\ninterface CheckboxProps<T> {\n  items: Array<CHECKBOX_TYPE<T>>;\n  errorMessage?: string;\n  containerClassName?: string;\n  labelClassName?: string;\n  checkboxContainerClassName?: string;\n  onChange(checkedItems: Array<CHECKBOX_TYPE<T>>): void;\n  actionsRef?: CheckboxActionsRef<T>;\n}\nconst Checkbox = React.forwardRef(\n  <T,>(props: CheckboxProps<T>, ref: React.ForwardedRef<HTMLInputElement>) => {\n    const {\n      items,\n      errorMessage = \"\",\n      labelClassName = \"\",\n      containerClassName = \"\",\n      checkboxContainerClassName = \"\",\n      onChange,\n      actionsRef,\n    } = props;\n\n    const {t} = useTranslation();\n\n    const [itemsChecked, setItemsChecked] = useState<{\n      items: CHECKBOX_TYPE<T>[];\n      isInitialized: boolean;\n    }>({ items: [], isInitialized: false });\n\n    useEffect(() => {\n      /* If default checked items are not initialized */\n      if (!itemsChecked.isInitialized) {\n        /*  Filter checked items from items prop */\n        const defaultCheckedItems = items.filter(\n          (item) => item.isDefaultSelected\n        );\n\n        /* Initialize the default values */\n        setItemsChecked({ items: defaultCheckedItems, isInitialized: true });\n      }\n    }, [items, itemsChecked.isInitialized]);\n\n    /* To allow parent to forcefully set checked items: For operations like reset */\n    useEffect(() => {\n      if (actionsRef) {\n        actionsRef.forceSetCheckedItems = (\n          updatedItemsState: CHECKBOX_TYPE<T>[]\n        ) => {\n          setItemsChecked({\n            items: [...updatedItemsState],\n            isInitialized: true,\n          });\n        };\n      }\n    }, [actionsRef]);\n\n    /* When itemsChecked changes call parent function */\n    useEffect(() => {\n      onChange(itemsChecked.items);\n    }, [itemsChecked.items, onChange]);\n\n    /* On check / uncheck */\n    const checkboxChangeHandler = (\n      isChecked: boolean,\n      item: CHECKBOX_TYPE<T>\n    ) => {\n      /* on checking an item, push it into the items checked list */\n      if (isChecked) {\n        setItemsChecked((prev) => {\n          prev.items.push(item);\n          return { items: [...prev.items], isInitialized: prev.isInitialized };\n        });\n      } else {\n        /* Removing the item which is unchcked */\n        setItemsChecked((prev) => {\n          prev.items = prev.items.filter(\n            (checkedItem) => checkedItem.id !== item.id\n          );\n          return { items: [...prev.items], isInitialized: prev.isInitialized };\n        });\n      }\n    };\n\n    return (\n      <div className=\"flex flex-col\">\n        <div className={`${containerClassName}`}>\n          {items.map((item) => (\n            <div className={`${checkboxContainerClassName}`} key={item.id}>\n              <input\n                key={item.id}\n                type=\"checkbox\"\n                checked={itemsChecked.items.includes(item)}\n                onChange={(e) => checkboxChangeHandler(e.target.checked, item)}\n                ref={ref}\n                className=\"\"\n              />\n              {item.label ? (\n                <label\n                  htmlFor={item.id}\n                  className={`w-full cursor-pointer ${labelClassName}`}\n                >\n                  {item.isLabelKey ? t(item.label) : item.label}\n                </label>\n              ) : item.customElement ? (\n                <div className=\"w-full\">\n                  {React.cloneElement(item.customElement, { data: item.data })}\n                </div>\n              ) : (\n                <></>\n              )}\n            </div>\n          ))}\n        </div>\n        {errorMessage && (\n          <ErrorMessage\n            message={errorMessage}\n            isErrorIconShown={false}\n            className=\"text-sm\"\n          />\n        )}\n      </div>\n    );\n  }\n);\n\nexport default Checkbox;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/DateRangePicker.tsx",
    "content": "import { ar } from \"date-fns/locale/ar\";\nimport { enIN } from \"date-fns/locale/en-IN\";\nimport React, { useEffect, useMemo, useRef, useState } from \"react\";\nimport { DateRange, DayPicker } from \"react-day-picker\";\nimport \"react-day-picker/dist/style.css\";\nimport { useTranslation } from \"react-i18next\";\nimport useOutsideClick from \"../../hooks/useOutsideClick\";\nimport { useAppSelector } from \"../../store\";\nimport \"../../styles/DateRangePicker.css\";\nimport ErrorMessage from \"./ErrorMessage\";\n\nexport interface DateRangePickerActionsRef {\n  forceSetSelectedRange(range: DateRange): void;\n}\ninterface DateRangePickerProps {\n  onChange(range: DateRange): void;\n  errorMessage?: string;\n  actionsRef?: DateRangePickerActionsRef;\n  inputClassName?: string;\n  containerClassName?: string;\n}\nconst DateRangePicker = React.forwardRef(\n  (props: DateRangePickerProps, _: React.ForwardedRef<HTMLInputElement>) => {\n    const { onChange, errorMessage = \"\", actionsRef, containerClassName = \"\", inputClassName = \"\" } = props;\n\n    const { t } = useTranslation();\n\n    const isRTL = useAppSelector((state) => state.language.isRTL);\n\n    /* Visibility of date range picker */\n    const [isPickerShown, setIsPickerShown] = useState(false);\n\n    /* To store the selected range of dates */\n    const [selectedRange, setSelectedRange] = useState<DateRange>();\n\n    /* Reference to the input element and div element which wraps around date range picker */\n    const inputRef = useRef<HTMLInputElement>(null);\n    const datePickerRef = useRef<HTMLDivElement>(null);\n\n    /* To know whether a click has occurred outside the date range picker */\n    const [clickedOutsidePicker] = useOutsideClick(datePickerRef);\n\n    /* Toggle visibility to date range picker calendar */\n    const togglePicker = () => {\n      setIsPickerShown((prev) => !prev);\n    };\n\n    /* As month index starts from 0, adding 1 */\n    const getMonthValue = (month?: number): string => {\n      if (typeof month === \"number\" && !isNaN(month)) {\n        return `${month + 1}`;\n      } else {\n        return \"\";\n      }\n    };\n\n    /* Value shown on the input */\n    const inputValue = useMemo(() => {\n      return `${selectedRange?.from?.getDate()}/${getMonthValue(selectedRange?.from?.getMonth())}/${selectedRange?.from?.getFullYear()} - ${selectedRange?.to?.getDate()}/${getMonthValue(selectedRange?.to?.getMonth())}/${selectedRange?.to?.getFullYear()}`;\n    }, [selectedRange]);\n\n    /* If clicked outside, toggle picker */\n    useEffect(() => {\n      if (clickedOutsidePicker) {\n        togglePicker();\n      }\n    }, [clickedOutsidePicker]);\n\n    useEffect(() => {\n      /* On change of selectedRange call parent onChange function */\n      if (selectedRange && selectedRange?.from && selectedRange?.to) {\n        onChange(selectedRange);\n      }\n    }, [selectedRange, onChange]);\n\n    /* To allow parent to forcefully set selected range: For operations like reset */\n    useEffect(() => {\n\n      if (actionsRef) {\n        actionsRef.forceSetSelectedRange = (range) => {\n          setSelectedRange(range);\n        };\n      }\n    }, [actionsRef]);\n\n    return (\n      <div className={`relative ${containerClassName}`}>\n        <input\n          type=\"text\"\n          ref={inputRef}\n          onClick={togglePicker}\n          placeholder={t(\"selectRange\")}\n          value={selectedRange?.from && selectedRange?.to ? inputValue : \"\"}\n          readOnly={true}\n          className={`p-2 outline rounded outline-1 text-sm placeholder:capitalize\n        ${isPickerShown ? \"outline-darkRed\" : \"outline-neutral-300\"} ${inputClassName}`}\n        />\n        {errorMessage && (\n          <ErrorMessage message={errorMessage} errorIconClassName=\"w-4 h-4\" />\n        )}\n        {isPickerShown && (\n          <div ref={datePickerRef}>\n            <DayPicker\n              mode=\"range\"\n              selected={selectedRange}\n              onSelect={setSelectedRange}\n              className={`absolute z-20 bg-white top-1 ${isRTL ? 'right-0' : 'left-0'} w-fit border border-neutral-200 p-2 font-poppinsRegular m-0 rounded`}\n              style={{ marginTop: inputRef.current?.clientHeight }}\n              dir={isRTL ? 'rtl' : 'ltr'}\n              locale={isRTL ? ar : enIN}\n            />\n          </div>\n        )}\n      </div>\n    );\n  }\n);\n\nexport default DateRangePicker;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/Drawer.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport { DrawerOption, NavigationOption } from \"../../constants\";\nimport { useAppSelector } from \"../../store\";\nimport CloseIcon from \"../icons/CloseIcon\";\nimport NavList from \"./NavList\";\n\ninterface DrawerProps {\n  headingText: string;\n  navList?: Array<NavigationOption>;\n  optionsList?: Array<DrawerOption>;\n  onDrawerCloseHandler(): void;\n  onOptionClickHandler?(option: DrawerOption): void;\n  show: boolean;\n}\nconst Drawer = (props: DrawerProps) => {\n  const {\n    headingText,\n    navList,\n    optionsList,\n    onDrawerCloseHandler,\n    onOptionClickHandler,\n    show = false,\n  } = props;\n\n  const { t } = useTranslation();\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  /* On click of an DrawerOption, call the function passed as prop */\n  const onOptionSelected = (option: DrawerOption) => {\n    if (typeof onOptionClickHandler === \"function\") {\n      onOptionClickHandler(option);\n    }\n  };\n\n  return (\n    <aside\n      className={`flex flex-col fixed top-0 h-screen z-20 w-3/5 bg-gradient-to-b from-black via-stone-600 to-black p-4\n      transition-all duration-500\n      ${\n        isRTL\n          ? `${show ? \"right-0\" : \"-right-full\"}`\n          : `${show ? \"left-0\" : \"-left-full\"}`\n      }\n      `}\n    >\n      <div\n        className={`flex items-center justify-between`}\n        dir={isRTL ? 'rtl' : 'ltr'}\n      >\n        <span className={`capitalize text-2xl tracking-wider text-zinc-50`}>\n          {headingText}\n        </span>\n        <button onClick={onDrawerCloseHandler}>\n          <CloseIcon className=\"w-3 h-3 text-zinc-50\" />\n        </button>\n      </div>\n\n      {navList?.length && <NavList navList={navList} className=\"mt-6\" />}\n\n      {optionsList?.length && (\n        <div className={`flex flex-col mt-6`}>\n          {optionsList.map((option) => (\n            <div className={`mb-4`} key={option.id}>\n              <button\n                className={`w-full flex ${isRTL && \"flex-row-reverse\"}`}\n                onClick={() => onOptionSelected(option)}\n              >\n                {option?.icon}\n\n                <span className=\"text-zinc-50 capitalize\">\n                  {t(option.textKey)}\n                </span>\n              </button>\n            </div>\n          ))}\n        </div>\n      )}\n    </aside>\n  );\n};\n\nexport default Drawer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/Dropdown.tsx",
    "content": "import {\n  ForwardedRef,\n  forwardRef,\n  useCallback,\n  useEffect,\n  useMemo,\n  useRef,\n  useState\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { DropdownItem, DropdownTypes } from \"../../constants\";\nimport useOutsideClick from \"../../hooks/useOutsideClick\";\nimport { useAppSelector } from \"../../store\";\nimport DownArrow from \"../icons/DownArrow\";\nimport ErrorMessage from \"./ErrorMessage\";\n\n/* To expose Dropdown Actions to parents */\nexport interface DropdownActions {\n  forceSetSelectedItem(item: DropdownItem): void;\n}\n\ninterface DropdownProps {\n  type: DropdownTypes;\n  onChange(selectedItem: DropdownItem): void;\n  label?: string;\n  itemsList: Array<DropdownItem>;\n  defaultSelectedItem?: DropdownItem;\n  mainButtonClassNames?: string;\n  errorMessage?: string;\n  actionsRef?: DropdownActions;\n}\n\nconst Dropdown = forwardRef(\n  (props: DropdownProps, ref: ForwardedRef<HTMLButtonElement>) => {\n    const {\n      type = DropdownTypes.noBorderDarkBg,\n      onChange,\n      label = \"\",\n      itemsList,\n      defaultSelectedItem,\n      mainButtonClassNames = \"\",\n      errorMessage = \"\",\n      actionsRef,\n    } = props;\n\n    const { t } = useTranslation();\n    const isRTL = useAppSelector((state) => state.language.isRTL);\n\n    /* Reference to the top container of dropdown */\n    const dropdownRef = useRef<HTMLDivElement>(null);\n\n    /* To check for clicks outside the dropdown container, used to hide the dropdown menu */\n    const [clickedOutside] = useOutsideClick(dropdownRef);\n\n    /* Selected Item state */\n    const [selectedItem, setSelectedItem] = useState(\n      defaultSelectedItem ? defaultSelectedItem : null\n    );\n\n    /* Dropdown menu visibility state */\n    const [isDropdownMenuShown, setIsDropdownMenuShown] = useState(false);\n\n    /* Toggle dropdown menu visibility */\n    const toggleDropdownMenu = () => {\n      setIsDropdownMenuShown((prev) => !prev);\n    };\n\n    /* On click of an dropdown item */\n    const itemChangeHandler = (item: DropdownItem): void => {\n      setSelectedItem(item);\n      onChange(item);\n\n      /* Hide dropdown menu */\n      toggleDropdownMenu();\n    };\n\n    /**\n     * Text displayed against each option \n     * If text value is present use that, \n     * else use the textKey value to get the value from locales folder.\n     */\n    const getDisplayedButtonText = useCallback(\n      (item: DropdownItem): string => {\n        if (item.text) {\n          return item.text;\n        } else if (item.textKey) {\n          return t(item.textKey);\n        } else {\n          return \"\";\n        }\n      },\n      [t]\n    );\n\n    /* Styles for different dropdown types */\n    const typeStyles: {\n      mainButton: string;\n      textColor: string;\n      menuContainer: string;\n      labelText: string;\n    } = useMemo(() => {\n      switch (type) {\n        case DropdownTypes.noBorderDarkBg: {\n          return {\n            mainButton: \"border-none outline-none\",\n            textColor: \"text-zinc-50\",\n            menuContainer: \"bg-black\",\n            labelText: \"text-zinc-50 capitalize\",\n          };\n        }\n        case DropdownTypes.borderedLightBg: {\n          return {\n            mainButton: \"border border-grey rounded px-2 py-1\",\n            textColor: \"text-black\",\n            menuContainer: \"bg-neutral-100 w-full shadow\",\n            labelText: \"text-black capitalize\",\n          };\n        }\n        default:\n          return {\n            mainButton: \"\",\n            textColor: \"\",\n            menuContainer: \"\",\n            labelText: \"\",\n          };\n      }\n    }, [type]);\n\n    /* Hiding Dropdown if a click is made outside */\n    useEffect(() => {\n      if (clickedOutside) {\n        setIsDropdownMenuShown(false);\n      }\n    }, [clickedOutside]);\n\n    /* Default selection */\n    useEffect(() => {\n      setSelectedItem(defaultSelectedItem ? defaultSelectedItem : null);\n    }, [itemsList, defaultSelectedItem]);\n\n    /* Providing implemetation of actions to the parent */\n    useEffect(() => {\n      if (actionsRef) {\n        actionsRef.forceSetSelectedItem = (item: DropdownItem) => {\n          setSelectedItem(item);\n        };\n      }\n    }, [actionsRef]);\n\n    return (\n      <div className=\"relative\" ref={dropdownRef} dir={\"ltr\"}>\n        {label && (\n          <label\n            className={`text-sm ${isRTL ? \"block text-right\" : \"\"} ${\n              typeStyles.labelText\n            }`}\n          >\n            {label}\n          </label>\n        )}\n        <button\n          ref={ref}\n          type=\"button\"\n          onClick={toggleDropdownMenu}\n          className={`flex justify-between items-center ${\n            typeStyles.mainButton\n          }  ${mainButtonClassNames}`}\n          dir={isRTL ? 'rtl' : 'ltr'}\n        >\n          <span\n            className={`text-sm capitalize truncate ${typeStyles.textColor}`}\n          >\n            {selectedItem ? getDisplayedButtonText(selectedItem) : t(\"select\")}\n          </span>\n\n          <DownArrow\n            className={`h-5 w-5 ${isRTL ? \"mr-1\" : \"ml-1\"} ${\n              typeStyles.textColor\n            } ${isDropdownMenuShown && \"rotate-180\"}`}\n          />\n        </button>\n        {errorMessage && (\n          <ErrorMessage\n            className=\"mt-1 text-sm\"\n            message={errorMessage}\n            isErrorIconShown={false}\n          />\n        )}\n        {isDropdownMenuShown && (\n          <div\n            className={`absolute p-2 z-10 ${typeStyles.menuContainer} rounded-b-md max-h-52 overflow-auto`}\n          >\n            {/* Selected Item Comes First */}\n            {selectedItem && (\n              <div key={selectedItem.id}>\n                <button\n                  onClick={() => itemChangeHandler(selectedItem)}\n                  className={`text-sm w-full flex capitalize ${typeStyles.textColor}`}\n                >\n                  <span className=\"truncate\">\n                    {getDisplayedButtonText(selectedItem)}\n                  </span>\n                </button>\n              </div>\n            )}\n            {itemsList.map(\n              (item) =>\n                item.id !== selectedItem?.id && (\n                  <div key={item.id}>\n                    <button\n                      type=\"button\"\n                      onClick={() => itemChangeHandler(item)}\n                      className={`text-sm w-full flex capitalize ${typeStyles.textColor}`}\n                    >\n                      <span className=\"truncate\">\n                        {getDisplayedButtonText(item)}\n                      </span>\n                    </button>\n                  </div>\n                )\n            )}\n          </div>\n        )}\n      </div>\n    );\n  }\n);\n\nexport default Dropdown;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/ErrorMessage.tsx",
    "content": "import { useAppSelector } from \"../../store\";\nimport ErrorIcon from \"../icons/ErrorIcon\";\n\n\ninterface ErrorMessageProps {\n    message: string;\n    className?: string;\n    errorIconClassName?: string;\n    isErrorIconShown?: boolean\n}\nconst ErrorMessage = (props: ErrorMessageProps) => {\n    const {message, className, errorIconClassName = 'w-8 h-8', isErrorIconShown = true} = props;\n\n    const isRTL = useAppSelector((state) => state.language.isRTL);\n    return (\n        <div className={`flex items-center text-darkRed ${className}`} dir={isRTL ? 'rtl' : 'ltr'}>\n            {\n                isErrorIconShown &&\n                <ErrorIcon className={errorIconClassName} />\n            }\n            <span className={`capitalize ${isErrorIconShown ? isRTL ? 'mr-4': 'ml-4' : ''}`}>{message}</span>\n        </div>\n    )\n}\n\nexport default ErrorMessage;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/FullPageLoadingSpinner.tsx",
    "content": "import LoadingSpinner from \"../icons/LoadingSpinner\";\nimport { createPortal } from \"react-dom\";\n\nconst FullPageLoadingSpinner = () => {\n  return (\n    <>\n      {createPortal(\n        <div className=\"fixed top-0 w-screen h-screen flex justify-center items-center bg-black bg-opacity-50 z-20\">\n          <LoadingSpinner className=\"w-20 h-20 fill-black text-gray-200\" />\n        </div>,\n        document.getElementById('root') || document.body\n      )}\n    </>\n  );\n};\n\nexport default FullPageLoadingSpinner;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/Hamburger.tsx",
    "content": "import { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { DrawerOption, NavigationOption } from \"../../constants\";\nimport useOutsideClick from \"../../hooks/useOutsideClick\";\nimport HamburgerIcon from \"../icons/HamburgerIcon\";\nimport Drawer from \"./Drawer\";\n\ninterface HamburgerProps {\n  headingText: string;\n  navList?: Array<NavigationOption>;\n  optionsList?: Array<DrawerOption>\n}\nconst Hamburger = (props: HamburgerProps) => {\n  const { headingText, navList, optionsList } = props;\n\n  /* Drawer visibility state */\n  const [isDrawerShown, setIsDrawerShown] = useState(false);\n\n  const location = useLocation();\n\n  /* Toggle Drawer - toggles the drawer visibility state */\n  const toggleDrawer = useCallback(() => {\n    setIsDrawerShown((prev) => !prev);\n  }, [setIsDrawerShown]);\n\n  /* Hamburger components top container reference */\n  const hamburgerRef = useRef<HTMLDivElement>(null);\n\n  /* To check for clicks outside the hamburgers top container */\n  const [clickedOutside] = useOutsideClick(hamburgerRef);\n\n  /* If outside click has occurred: Hiding the drawer */\n  useEffect(() => {\n    /* Initially clickedOutside is 0: This prevents closing the drawer on first render */\n    if (!clickedOutside) {\n      return;\n    }\n    /* Hide the drawer */\n    setIsDrawerShown(false);\n  }, [clickedOutside]);\n\n  /* Hide drawer once route changes */\n  useEffect(() => {\n    setIsDrawerShown(false);\n  }, [location])\n  \n  return (\n    <div ref={hamburgerRef}>\n      <button onClick={toggleDrawer}>\n        <HamburgerIcon className=\"w-5 h-5\" />\n      </button>\n      <Drawer\n        headingText={headingText}\n        navList={navList}\n        optionsList={optionsList}\n        onDrawerCloseHandler={toggleDrawer}\n        show={isDrawerShown}\n      />\n    </div>\n  );\n};\n\nexport default Hamburger;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/Image.tsx",
    "content": "import { SyntheticEvent } from \"react\";\n\ninterface ImageProps {\n    src: string,\n    alt: string,\n    backupImageSrc: string,\n    className?: string\n}\nconst Image = (props: ImageProps) => {\n\n    const {src, alt, backupImageSrc, className = ''} = props\n\n    const imgLoadErrorHandler = (event: SyntheticEvent<HTMLImageElement, Event>) => {\n        const target = event.currentTarget;\n        target.onerror = null;\n        target.src = backupImageSrc;\n    }   \n    return (\n        <img src={src} alt={alt} className={className} onError={imgLoadErrorHandler}  />\n    )\n}\n\nexport default Image;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/Input.tsx",
    "content": "import { ForwardedRef, forwardRef, useId, useState } from \"react\";\nimport { useAppSelector } from \"../../store\";\nimport HidePasswordIcon from \"../icons/HidePasswordIcon\";\nimport ShowPasswordIcon from \"../icons/ShowPasswordIcon\";\nimport ErrorMessage from \"./ErrorMessage\";\n\ninterface InputProps {\n  placeholder: string;\n  type: string;\n  className?: string;\n  autoComplete?: string;\n  errorMessage?: string;\n  containerClassName?: string;\n}\n\nconst Input = forwardRef(\n  (props: InputProps, ref: ForwardedRef<HTMLInputElement>) => {\n    const {\n      placeholder = \"\",\n      type = \"text\",\n      className = \"\",\n      containerClassName = \"\",\n      autoComplete = \"\",\n      errorMessage = \"\",\n      ...otherProps\n    } = props;\n\n    /* Unique id */\n    const id = useId();\n\n    const isRTL = useAppSelector((state) => state.language.isRTL);\n\n    /* Password visibility state */\n    const [isPasswordVisisble, setIsPasswordVisible] = useState(false);\n\n    /* Toggle password visibility */\n    const togglePassword = () => {\n      setIsPasswordVisible((prev) => !prev);\n    };\n\n    /* Password Input */\n    if (type === \"password\") {\n      return (\n        <div className={`flex flex-col ${containerClassName}`}>\n          <div\n            className={`flex justify-between border-b border-b-grey pb-1 focus-within:border-b-black`}\n            dir={isRTL ? \"rtl\" : \"ltr\"}\n          >\n            <input\n              ref={ref}\n              placeholder={placeholder}\n              type={isPasswordVisisble ? \"text\" : type}\n              {...otherProps}\n              id={id}\n              className={`flex-1 outline-none ${className}`}\n              dir={isRTL ? \"rtl\" : \"ltr\"}\n              autoComplete={autoComplete}\n            />\n            <button\n              onClick={togglePassword}\n              className=\"h-fit self-end ml-2\"\n              type=\"button\"\n            >\n              {isPasswordVisisble ? (\n                <HidePasswordIcon className=\"w-4 h-4 text-black\" />\n              ) : (\n                <ShowPasswordIcon className=\"w-4 h-4 text-black\" />\n              )}\n            </button>\n          </div>\n          {errorMessage && <ErrorMessage className=\"mt-1 text-sm\" message={errorMessage} isErrorIconShown={false} />}\n        </div>\n      );\n    }\n    return (\n      <div className={`flex flex-col ${containerClassName}`}>\n        <input\n          ref={ref}\n          placeholder={placeholder}\n          type={type}\n          {...otherProps}\n          id={id}\n          className={`outline-none border-b border-b-grey pb-1 focus:border-b-black ${className}`}\n          dir={isRTL ? \"rtl\" : \"ltr\"}\n          autoComplete={autoComplete}\n        />\n        {errorMessage && <ErrorMessage className=\"mt-1 text-sm\" message={errorMessage} isErrorIconShown={false} />}\n      </div>\n    );\n  }\n);\n\nexport default Input;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/Link.tsx",
    "content": "import { useMemo } from \"react\";\nimport { LinkTypes } from \"../../constants\";\nimport { useAppSelector } from \"../../store\";\n\ninterface LinkProps {\n  onClick?(): void;\n  text: string;\n  className?: string;\n  linkType?: LinkTypes;\n}\n\nconst Link = (props: LinkProps) => {\n  const { onClick, text, linkType = LinkTypes.default, className = \"\" } = props;\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  const linkTypeStyles = useMemo(() => {\n    switch (linkType) {\n      case LinkTypes.red:\n        return \"text-darkRed hover:underline\";\n      default:\n        return \"\";\n    }\n  }, [linkType]);\n\n  return (\n    <span\n      className={`cursor-pointer ${linkTypeStyles} ${className}`}\n      onClick={onClick}\n      dir={isRTL ? 'rtl' : 'ltr'}\n    >\n      {text}\n    </span>\n  );\n};\n\nexport default Link;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/Modal.tsx",
    "content": "import { useMemo } from \"react\";\nimport { ButtonTypes } from \"../../constants\";\nimport Button from \"./Button\";\n\ninterface ModalProps {\n  children: React.ReactElement;\n  className?: string;\n  heading?: string;\n  primaryButtonText?: string;\n  primaryButtonClassname?: string;\n  secondaryButtonText?: string;\n  secondaryButtonClassname?: string;\n  primaryButtonHandler?(): void;\n  secondaryButtonHandler?(): void;\n  isPrimaryButtonLoading?: boolean;\n}\nconst Modal = (props: ModalProps) => {\n  const {\n    children,\n    className = \"\",\n    heading = \"\",\n    primaryButtonText = \"\",\n    secondaryButtonText = \"\",\n    primaryButtonClassname = \"\",\n    secondaryButtonClassname = \"\",\n    primaryButtonHandler,\n    secondaryButtonHandler,\n    isPrimaryButtonLoading = false,\n  } = props;\n\n  const isModalFooterShown = useMemo(() => {\n    if (\n      (primaryButtonText && primaryButtonHandler) ||\n      (secondaryButtonText && secondaryButtonHandler)\n    ) {\n      return true;\n    }\n    return false;\n  }, [\n    primaryButtonText,\n    primaryButtonHandler,\n    secondaryButtonText,\n    secondaryButtonHandler,\n  ]);\n  return (\n    <div className=\"w-screen h-screen fixed top-0 left-0 bg-black bg-opacity-50 flex justify-center items-center z-20\">\n      <dialog\n        className={`rounded-xl p-2 shadow-md flex flex-col justify-between ${className}`}\n      >\n        {heading && (\n          <header className=\"text-2xl flex justify-center font-poppinsMedium mb-4 capitalize\">\n            {heading}\n          </header>\n        )}\n        {children}\n\n        {isModalFooterShown && (\n          <div className=\"flex flex-col justify-center gap-2 mt-8\">\n            {primaryButtonText && primaryButtonHandler && (\n              <Button\n                buttonType={ButtonTypes.primaryButton}\n                className={`px-12 py-1 flex justify-center ${primaryButtonClassname}`}\n                onClickHandler={primaryButtonHandler}\n                isLoading={isPrimaryButtonLoading}\n              >\n                <span>{primaryButtonText}</span>\n              </Button>\n            )}\n            {secondaryButtonText && secondaryButtonHandler && (\n              <Button\n                buttonType={ButtonTypes.secondaryButton}\n                className={`px-12 py-1 flex justify-center ${secondaryButtonClassname}`}\n                onClickHandler={secondaryButtonHandler}\n              >\n                <span>{secondaryButtonText}</span>\n              </Button>\n            )}\n          </div>\n        )}\n      </dialog>\n    </div>\n  );\n};\n\nexport default Modal;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/NavItem.tsx",
    "content": "import { NavLink, useLocation } from \"react-router-dom\";\nimport { NavigationOption } from \"../../constants\";\nimport { useTranslation } from \"react-i18next\";\nimport { useMemo } from \"react\";\n\ninterface NavItemProps {\n  navItem: NavigationOption;\n  className?: string;\n}\n\nconst NavItem = (props: NavItemProps) => {\n  const { navItem, className = \"\" } = props;\n\n  const { t } = useTranslation();\n\n  const { pathname, search } = useLocation();\n  const currentPath = useMemo(() => {\n    return `${pathname}${search}`;\n  }, [pathname, search]);\n\n  return (\n    <>\n      <div className={`mb-4 lg:mb-0 lg:relative lg:w-fit ${className}`}>\n        <NavLink\n          className={({\n            isActive,\n          }) => `w-full lg:w-auto flex text-zinc-50 lg:text-black\n          lg:before:absolute lg:before:-bottom-px lg:before:w-0 lg:before:h-px lg:before:bg-zinc-400 lg:before:transition-all\n          lg:before:hover:w-full\n          ${\n            /* Underline styles */\n            isActive\n              ? \"lg:hover:before:w-0 font-semibold lg:font-normal lg:underline lg:underline-offset-[7.4px] lg:decoration-1\"\n              : \"\"\n          }\n        `}\n          to={navItem?.navigateTo}\n          state={{ previousRoute: currentPath }}\n        >\n          {navItem?.icon}\n\n          <span className=\"capitalize\">{t(navItem.textKey)}</span>\n        </NavLink>\n      </div>\n    </>\n  );\n};\n\nexport default NavItem;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/NavList.tsx",
    "content": "import { NavigationOption } from \"../../constants\";\nimport { useAppSelector } from \"../../store\";\nimport NavItem from \"./NavItem\";\n\ninterface NavListProps {\n  navList: Array<NavigationOption>;\n  className?: string;\n}\n\nconst NavList = ({ navList, className = \"\" }: NavListProps) => {\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  return (\n    <div\n      className={`flex flex-col lg:flex-row lg:justify-between lg:items-center \n        ${className} `}\n        dir={isRTL ? 'rtl': 'ltr'}\n    >\n      {navList.map((navItem) =>\n        navItem?.customComponent ? (\n          <div key={navItem.id}>{navItem.customComponent}</div>\n        ) : (\n          <NavItem navItem={navItem} key={navItem.id} />\n        )\n      )}\n    </div>\n  );\n};\n\nexport default NavList;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/RadioButtons.tsx",
    "content": "import React, { useId } from \"react\";\nimport { RADIO_BUTTON_TYPE } from \"../../constants\";\nimport { useAppSelector } from \"../../store\";\nimport ErrorMessage from \"./ErrorMessage\";\n\ninterface RadioButtonsProps<T> {\n  items: Array<RADIO_BUTTON_TYPE<T>>;\n  containerClassName?: string;\n  radioButtonContainerClassName?: string;\n  onChange(selectedItem: T): void;\n  errorMessage?: string;\n}\nconst RadioButtons = React.forwardRef(\n  <T,>(\n    props: RadioButtonsProps<T>,\n    ref: React.ForwardedRef<HTMLInputElement>\n  ) => {\n    const {\n      items,\n      containerClassName = \"\",\n      radioButtonContainerClassName = \"\",\n      onChange,\n      errorMessage = \"\",\n    } = props;\n\n    const radioSetName = useId();\n\n    const isRTL = useAppSelector((state) => state.language.isRTL);\n\n    return (\n      <div className={`${containerClassName}`}>\n        {errorMessage && (\n          <ErrorMessage message={errorMessage} errorIconClassName=\"w-4 h-4\" />\n        )}\n        {items.map((item) => (\n          <div\n            key={item.id}\n            className={`flex items-center ${\n              isRTL ? \"flex-row-reverse\" : \"\"\n            } ${radioButtonContainerClassName}`}\n          >\n            <input\n              type=\"radio\"\n              id={item.id}\n              name={radioSetName}\n              defaultChecked={item.isDefaultSelected}\n              ref={ref}\n              className={`appearance-none cursor-pointer w-4 h-4 bg-white rounded-full outline outline-2 outline-black \n              checked:border-[3px] checked:border-white checked:bg-black\n              ${isRTL ? \"ml-2\" : \"mr-2\"}`}\n              onChange={() => {\n                onChange(item.data);\n              }}\n            />\n            {item.customElement ? (\n              <div className=\"w-full\">\n                {React.cloneElement(item.customElement, {\n                  data: item.data,\n                })}\n              </div>\n            ) : item.label ? (\n              <label htmlFor={item.id} className=\"w-full cursor-pointer\">\n                {item.label}\n              </label>\n            ) : (\n              <></>\n            )}\n          </div>\n        ))}\n      </div>\n    );\n  }\n);\n\nexport default RadioButtons;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/RoundedIcon.tsx",
    "content": "interface RoundedIconProps {\n  icon: React.ReactElement;\n}\nconst RoundedIcon = (props: RoundedIconProps) => {\n  const { icon } = props;\n  return (\n    <div className=\"rounded-full bg-grey p-2\">\n      <div className=\"rounded-full bg-black p-2\">{icon}</div>\n    </div>\n  );\n};\n\nexport default RoundedIcon;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/SearchInput.tsx",
    "content": "import { FormEvent, useState } from \"react\";\nimport SearchIcon from \"../icons/SearchIcon\";\nimport { useAppSelector } from \"../../store\";\n\ninterface SearchInputProps {\n  placeholder?: string;\n  onChangeHandler?(searchInput: string): void;\n  onBlurHandler?(searchInput: string): void;\n  submitHandler?(searchInput: string): void;\n  className?: string\n}\nconst SearchInput = (props: SearchInputProps) => {\n  const { placeholder, onChangeHandler, onBlurHandler, submitHandler, className ='' } = props;\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  const [inputValue, setInputValue] = useState(\"\");\n\n  const onChange = (event: { target: { value: string } }) => {\n    setInputValue(event?.target?.value);\n\n    if (typeof onChangeHandler === \"function\") {\n      onChangeHandler(event?.target?.value);\n    }\n  };\n\n  const onBlur = (event: { target: { value: string } }) => {\n    if (typeof onBlurHandler === \"function\") {\n      onBlurHandler(event?.target?.value);\n    }\n  };\n\n  const submit = (event: FormEvent) => {\n    event.preventDefault();\n    if (typeof submitHandler === \"function\") {\n      submitHandler(inputValue);\n    }\n  };\n  return (\n    <form\n      className={`flex justify-between items-center rounded-xl bg-neutral-100 px-4 py-2 ${className}`}\n      onSubmit={submit}\n    >\n      <input\n        type=\"text\"\n        placeholder={placeholder}\n        dir={`${isRTL ? 'rtl' : 'ltr'}`}\n        className={`flex-1 bg-neutral-100 outline-none text-xs`}\n        onChange={onChange}\n        onBlur={onBlur}\n      />\n      <button type=\"submit\">\n        <SearchIcon className=\"w-6 h-6 text-black\" />\n      </button>\n    </form>\n  );\n};\n\nexport default SearchInput;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/SelectionMenu.tsx",
    "content": "import { useEffect, useRef, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { BREAKPOINTS, SelectionMenuItem } from \"../../constants\";\nimport useBreakpointCheck from \"../../hooks/useBreakpointCheck\";\nimport useOutsideClick from \"../../hooks/useOutsideClick\";\nimport { useAppSelector } from \"../../store\";\nimport UpArrow from \"../icons/UpArrow\";\n\ninterface SelectionMenuProps {\n  items: SelectionMenuItem[];\n  onItemSelect(item: SelectionMenuItem): void;\n  heading: string;\n  headingClassName?: string;\n}\nconst SelectionMenu = (props: SelectionMenuProps) => {\n  const {\n    items,\n    heading,\n    onItemSelect,\n    headingClassName = \"capitalize\",\n  } = props;\n\n  const isLG = useBreakpointCheck(BREAKPOINTS.lg);\n  const { t } = useTranslation();\n  const isRTL = useAppSelector(state => state.language.isRTL);\n\n  /* Menu visibility state */\n  const [isMenuShown, setIsMenuShown] = useState(false);\n\n  /* Reference for the menu's top container */\n  const selectionMenuRef = useRef<HTMLDivElement>(null);\n\n  /* To check clicks outside the menu's top container */\n  const [clickedOutside] = useOutsideClick(selectionMenuRef);\n\n  /* Toggle menu visibility */\n  const toggleMenu = () => {\n    setIsMenuShown((prev) => !prev);\n  };\n\n  /* On click of menu item */\n  const menuItemClickHandler = (item: SelectionMenuItem) => {\n    /* Hide the menu, call the function passed */\n    setIsMenuShown(false);\n    onItemSelect(item);\n  };\n\n  useEffect(() => {\n    /* If an outside click has happened, hide the menu */\n    if (clickedOutside) {\n      setIsMenuShown(false);\n    }\n  }, [clickedOutside]);\n\n  return (\n    <div className=\"relative\" ref={selectionMenuRef}>\n      <button onClick={toggleMenu} className={`flex justify-between items-center w-full ${headingClassName}`}>\n        <span>{heading}</span>\n        {!isLG && (\n          <UpArrow\n            className={`w-4 h-4 ${!isMenuShown && \"rotate-180\"}`}\n          />\n        )}\n      </button>\n\n      {isMenuShown && (\n        <div\n          className={`absolute p-4 z-10 bg-transparent lg:bg-black rounded w-full lg:w-fit`}\n        >\n          {items.map((item, index) => (\n            <div\n              key={item.id}\n              className={`${index === items.length - 1 ? \"mb-2\" : \"mb-4\"}`}\n              dir={isRTL ? 'rtl' : 'ltr'}\n            >\n              <button\n                onClick={() => menuItemClickHandler(item)}\n                className={`text-sm capitalize text-zinc-50 flex items-center`}\n              >\n                {item.icon && item.icon}\n                <span className={`whitespace-nowrap ${isRTL ? 'mr-2': 'ml-2'}`}>\n                  {t(item.textKey)}{\" \"}\n                </span>\n              </button>\n            </div>\n          ))}\n        </div>\n      )}\n    </div>\n  );\n};\n\nexport default SelectionMenu;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/TabItem.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport { TabItemConfig } from \"../../constants\";\nimport Text from \"./Text\";\n\ninterface TabItemProps {\n  tabItem: TabItemConfig;\n  onTabSelected(tab: TabItemConfig): void;\n  isTabSelected: boolean;\n  tabItemClassName?: string\n}\nconst TabItem = ({\n  tabItem,\n  onTabSelected,\n  isTabSelected = false,\n  tabItemClassName = \"\"\n}: TabItemProps) => {\n\n  const { t } = useTranslation();\n\n  return (\n    <button\n      className={`p-2 text-sm  ${\n        isTabSelected ? \"border-b-2 border-b-darkRed\" : \"\"\n      } ${tabItemClassName}`}\n      onClick={() => onTabSelected(tabItem)}\n    >\n      <Text className={`capitalize ${isTabSelected ? 'font-poppinsMedium' : ''}`}>{t(tabItem.tabHeadingKey)}</Text>\n    </button>\n  );\n};\n\nexport default TabItem;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/Tabs.tsx",
    "content": "import { useState } from \"react\";\nimport { TabItemConfig } from \"../../constants\";\nimport TabItem from \"./TabItem\";\nimport { useAppSelector } from \"../../store\";\n\ninterface TabsProps {\n  tabsConfig: TabItemConfig[];\n  defaultSelectedTab?: TabItemConfig;\n  onTabSelectionChanged(tabItem: TabItemConfig): void;\n  tabsContainerClassName?: string;\n  tabItemClassName?: string;\n}\nconst Tabs = (props: TabsProps) => {\n  const {\n    tabsConfig,\n    defaultSelectedTab = { id: -1, tabHeadingKey: \"\" },\n    onTabSelectionChanged,\n    tabsContainerClassName = \"\",\n    tabItemClassName = \"\"\n  } = props;\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  /* Selected Tab */\n  const [selectedTab, setSelectedTab] =\n    useState<TabItemConfig>(defaultSelectedTab);\n\n  /* Tab Change */\n  const tabChangeHandler = (tab: TabItemConfig) => {\n    /* If the tab clicked is not equal to the currently selected tab */\n    if (tab.id !== selectedTab.id) {\n      onTabSelectionChanged(tab);\n      setSelectedTab(tab);\n    }\n  };\n\n  return (\n    <div className={`flex border-b-2 gap-x-4  border-b-neutral-100 shadow-sm ${tabsContainerClassName}`}\n      dir={isRTL ? 'rtl' : 'ltr'}\n    >\n      {tabsConfig.map((tab) => (\n        <TabItem\n          tabItem={tab}\n          key={tab.id}\n          onTabSelected={tabChangeHandler}\n          isTabSelected={tab.id === selectedTab.id}\n          tabItemClassName={`flex-1 ${tabItemClassName}`}\n        />\n      ))}\n    </div>\n  );\n};\n\nexport default Tabs;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/Text.tsx",
    "content": "import { useAppSelector } from \"../../store\";\n\ninterface TextProps {\n  className?: string;\n  children: string;\n}\nconst Text = (props: TextProps) => {\n  const { className, children } = props;\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  return (\n    <span className={`${className}`} dir={isRTL ? \"rtl\" : \"ltr\"}>\n      {children}\n    </span>\n  );\n};\n\nexport default Text;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/basic/ToastMessage.tsx",
    "content": "import { useMemo } from \"react\";\nimport { TOAST_MESSAGE_TYPES } from \"../../constants\";\nimport { useAppSelector } from \"../../store\";\nimport ErrorIcon from \"../icons/ErrorIcon\";\nimport TickIcon from \"../icons/TickIcon\";\n\ninterface ToastMessageProps {\n  className?: string;\n}\nconst ToastMessage = ({ className }: ToastMessageProps) => {\n  /* Toast message state from redux */\n  const message = useAppSelector((state) => state.toastMessage);\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  /* Whether success message is shown */\n  const isSuccessMessage = useMemo(() => {\n    if (message.type === TOAST_MESSAGE_TYPES.success) {\n      return true;\n    }\n    return false;\n  }, [message]);\n  return (\n    <>\n      {message.type && (\n        <div\n          className={`z-20 fixed top-20 flex justify-center items-center w-full ${className}`}\n        >\n          <div\n            className={`flex items-center justify-between px-14 py-2 gap-x-2 shadow-xl rounded bg-[#dbd7d7]`}\n            dir={isRTL ? \"rtl\" : \"ltr\"}\n          >\n            {isSuccessMessage ? (\n              <TickIcon\n                className=\"w-4 h-4 text-zinc-50\"\n                circleProps={{\n                  className: \"fill-green-700\",\n                  cx: 25,\n                  cy: 25,\n                  r: 25,\n                }}\n              />\n            ) : (\n              <ErrorIcon className=\"w-4 h-4 text-darkRed\" />\n            )}\n            <span className=\"capitalize text-sm\">\n              {message.message}\n            </span>\n          </div>\n        </div>\n      )}\n    </>\n  );\n};\n\nexport default ToastMessage;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/AddressCard.tsx",
    "content": "import { useState } from \"react\";\nimport { AddressClass } from \"../../services/address/AddressTypes\";\nimport Button from \"../basic/Button\";\nimport DeleteIcon from \"../icons/DeleteIcon\";\nimport EditIcon from \"../icons/EditIcon\";\nimport AddAddressModalContainer from \"../modals/addaddressmodal/container/AddAddressModalContainer\";\nimport DeleteAddressModalContainer from \"../modals/deleteaddressmodal/container/DeleteAddressModalContainer\";\nimport { useAppSelector } from \"../../store\";\nimport Text from \"../basic/Text\";\n\ninterface AddressCardProps {\n  address: AddressClass;\n  className?: string;\n  onAddressUpdated?(): void;\n}\nconst AddressCard = (props: AddressCardProps) => {\n  const { address, className = \"shadow\", onAddressUpdated } = props;\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  const [isAddressUpdateModalShown, setIsAddressUpdateModalShown] =\n    useState(false);\n  const [isDeleteAddressModalShown, setIsDeleteAddressModalShown] =\n    useState(false);\n\n  return (\n    <>\n      {isAddressUpdateModalShown && (\n        <AddAddressModalContainer\n          hideModal={() => setIsAddressUpdateModalShown(false)}\n          address={address}\n          onAddressAddedOrUpdatedCallback={onAddressUpdated}\n        />\n      )}\n      {isDeleteAddressModalShown && (\n        <DeleteAddressModalContainer\n          address={address}\n          hideModal={() => setIsDeleteAddressModalShown(false)}\n          onAddressDeletedCallback={onAddressUpdated}\n        />\n      )}\n      <div className={`flex flex-col p-2 rounded ${className}`}>\n        <div className=\"flex flex-col\" dir={isRTL ? \"rtl\" : \"ltr\"}>\n          <span>{`${address.state}, ${address.city}`}</span>\n          <span>{address.country}</span>\n        </div>\n        <Text className=\"truncate mt-2\">{address.addressLine1}</Text>\n        <div\n          className={`flex gap-x-2 ${isRTL ? \"self-start flex-row-reverse\" : \"self-end\"}`}\n        >\n          <Button\n            onClickHandler={() => setIsAddressUpdateModalShown(true)}\n            type=\"button\"\n          >\n            <EditIcon className=\"w-4 h-4\" />\n          </Button>\n          <Button\n            type=\"button\"\n            onClickHandler={() => {\n              setIsDeleteAddressModalShown(true);\n            }}\n          >\n            <DeleteIcon className=\"w-4 h-4\" />\n          </Button>\n        </div>\n      </div>\n    </>\n  );\n};\n\nexport default AddressCard;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/AddressCardList.tsx",
    "content": "import { AddressClass } from \"../../services/address/AddressTypes\";\nimport AddressCard from \"./AddressCard\";\n\ninterface AddressCardListProps {\n  addressList: AddressClass[];\n  addressListContainerClassName?: string;\n  addressCardItemClassName?: string;\n  onAddressUpdated?(): void;\n}\nconst AddressCardList = (props: AddressCardListProps) => {\n  const {\n    addressList,\n    addressListContainerClassName = \"\",\n    addressCardItemClassName,\n    onAddressUpdated,\n  } = props;\n\n\n  return (\n    <div className={`flex flex-col gap-y-4 ${addressListContainerClassName}`}>\n\n      {addressList.map((address) => (\n        <AddressCard\n          key={address._id}\n          address={address}\n          onAddressUpdated={onAddressUpdated}\n          className={addressCardItemClassName}\n        />\n      ))}\n    </div>\n  );\n};\n\nexport default AddressCardList;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/CardContainer.tsx",
    "content": "import { RefObject } from \"react\";\nimport { ButtonTypes, CARD_CONTAINER_OPTION } from \"../../constants\";\nimport RectangleIcon from \"../icons/RectangleIcon\";\nimport Button from \"../basic/Button\";\nimport CarouselButtons from \"../basic/CarouselButtons\";\nimport { useAppSelector } from \"../../store\";\n\ninterface CardContainerProps {\n  heading: string;\n  subHeading?: string;\n  extraOption?: CARD_CONTAINER_OPTION;\n  children: React.ReactElement;\n  carouselScrollableElementRef?: RefObject<HTMLDivElement>,\n  extraOptionButtonText?: string;\n  extraOptionButtonClickHandler?(): void;\n  isLoadingButton?: boolean\n}\nconst CardContainer = (props: CardContainerProps) => {\n  const {\n    heading,\n    subHeading,\n    extraOption,\n    children,\n    carouselScrollableElementRef,\n    extraOptionButtonText,\n    extraOptionButtonClickHandler,\n    isLoadingButton = false\n  } = props;\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  return (\n    <div className=\"flex flex-col\">\n      <div className={`flex justify-between`} dir={isRTL ? 'rtl' : 'ltr'}>\n        <div className=\"flex flex-col\">\n          <div className={`text-darkRed flex items-center`} dir={isRTL ? 'rtl' : 'ltr'}>\n            <RectangleIcon className=\"w-4 h-10\" rectClassName=\"w-4 h-10\" />\n            <span className={`font-semibold capitalize ${isRTL ? 'mr-2' : 'ml-2'}`}>{heading}</span>\n          </div>\n\n          {subHeading && (\n            <span className=\"text-2xl font-semibold text-black mt-2 capitalize\">\n              {subHeading}\n            </span>\n          )}\n        </div>\n\n        <div>\n          {extraOption === CARD_CONTAINER_OPTION.CAROUSEL &&\n            carouselScrollableElementRef && (\n              <CarouselButtons scrollableElementRef={carouselScrollableElementRef}\n              />\n            )}\n          {extraOption === CARD_CONTAINER_OPTION.RIGHT_BUTTON &&\n            extraOptionButtonText &&\n            extraOptionButtonClickHandler && (\n              <Button\n                buttonType={ButtonTypes.primaryButton}\n                className=\"text-sm px-4 py-2 capitalize\"\n                onClickHandler={extraOptionButtonClickHandler}\n                isLoading={isLoadingButton}\n              >\n                <span>{extraOptionButtonText}</span>\n              </Button>\n            )}\n        </div>\n      </div>\n      {children}\n\n      {extraOption === CARD_CONTAINER_OPTION.BOTTOM_BUTTON &&\n        extraOptionButtonText &&\n        extraOptionButtonClickHandler && (\n          <div className=\"self-center mt-8\">\n            <Button\n              buttonType={ButtonTypes.primaryButton}\n              className=\"text-sm px-4 py-2 capitalize\"\n              onClickHandler={extraOptionButtonClickHandler}\n              isLoading={isLoadingButton}\n            >\n              <span>{extraOptionButtonText}</span>\n            </Button>\n          </div>\n        )}\n    </div>\n  );\n};\n\nexport default CardContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/CartItem.tsx",
    "content": "import { useMemo } from \"react\";\nimport { PUBLIC_IMAGE_PATHS } from \"../../constants\";\nimport { CartItemClass } from \"../../services/cart/CartTypes\";\nimport Button from \"../basic/Button\";\nimport Image from \"../basic/Image\";\nimport QuantityCounter from \"./QuantityCounter\";\nimport { DEFAULT_CURRENCY } from \"../../data/applicationData\";\nimport DeleteIcon from \"../icons/DeleteIcon\";\nimport { Product } from \"../../services/product/ProductTypes\";\nimport { useAppSelector } from \"../../store\";\nimport { useTranslation } from \"react-i18next\";\nimport { formatAmount } from \"../../utils/commonHelper\";\nimport Text from \"../basic/Text\";\n\ninterface CartItemProps {\n  cartItem: CartItemClass;\n  onQuantityChanged(product: Product, quantity: number): void;\n  removeFromCart(product: Product): void;\n}\nconst CartItem = (props: CartItemProps) => {\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  const { t } = useTranslation();\n  const { cartItem, onQuantityChanged, removeFromCart } = props;\n\n  const product = useMemo(() => {\n    return cartItem.product;\n  }, [cartItem]);\n\n  const subTotal = useMemo(() => {\n    return cartItem.product.price * cartItem.quantity;\n  }, [cartItem]);\n\n  const isInStock = useMemo(() => {\n    if (cartItem.quantity >= cartItem.product.stock) {\n      return false;\n    }\n    return true;\n  }, [cartItem]);\n\n  const quantityChangeHandler = (quantity: number) => {\n    if (quantity !== cartItem.quantity) {\n      onQuantityChanged(product, quantity);\n    }\n  };\n\n  return (\n    <div\n      className={`flex shadow-md rounded p-4 items-center justify-between`}\n      dir={isRTL ? 'rtl' : 'ltr'}\n    >\n      <Image\n        src={product.mainImage.url}\n        alt={product.name}\n        backupImageSrc={PUBLIC_IMAGE_PATHS.defaultProductImage}\n        className=\"rounded h-24\"\n      />\n      <div className=\"flex flex-col w-2/4 lg:w-1/5\">\n        <Text className=\"capitalize font-poppinsMedium text-lg\">\n          {product.name}\n        </Text>\n        <Text>\n          {`x ${cartItem.quantity}`}\n        </Text>\n        <Text>\n          {formatAmount(subTotal, product.currency || DEFAULT_CURRENCY)}\n        </Text>\n\n        {!isInStock && (\n          <Text className={`capitalize mt-2 font-poppinsMedium text-darkRed`}>\n            {t(\"outOfStock\")}\n          </Text>\n        )}\n\n        <div className={`flex mt-2 ${isRTL ? \"flex-row-reverse\" : \"\"}`}>\n          <QuantityCounter\n            onQuantityChanged={quantityChangeHandler}\n            defaultQuantity={cartItem.quantity}\n            maxLimit={product.stock}\n            className=\"flex-1\"\n            textClassName=\"text-base font-poppinsMedium\"\n          />\n          <Button\n            onClickHandler={() => removeFromCart(product)}\n            className={`${isRTL ? \"mr-2\" : \"ml-2\"}`}\n          >\n            <DeleteIcon className=\"w-6 h-6 fill-darkRed\" />\n          </Button>\n        </div>\n      </div>\n    </div>\n  );\n};\n\nexport default CartItem;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/CartItemList.tsx",
    "content": "import { CartItemClass } from \"../../services/cart/CartTypes\";\nimport { Product } from \"../../services/product/ProductTypes\";\nimport CartItem from \"./CartItem\";\n\ninterface CartItemListProps {\n  cartItems: CartItemClass[];\n  onQuantityChanged(product: Product, quantity: number): void;\n  removeFromCart(product: Product): void;\n}\nconst CartItemList = (props: CartItemListProps) => {\n  const { cartItems, onQuantityChanged, removeFromCart } = props;\n  return (\n    <div>\n      {cartItems.map((item) => (\n        <div key={`${item._id}-${item.product._id}`} className=\"mb-4\">\n          <CartItem\n            cartItem={item}\n            onQuantityChanged={onQuantityChanged}\n            removeFromCart={removeFromCart}\n          />\n        </div>\n      ))}\n    </div>\n  );\n};\n\nexport default CartItemList;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/CartSummary.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport { ButtonTypes } from \"../../constants\";\nimport { UserCart } from \"../../services/cart/CartTypes\";\nimport Button from \"../basic/Button\";\nimport InvoiceAmountSummary from \"./InvoiceAmountSummary\";\nimport Text from \"../basic/Text\";\nimport { DEFAULT_CURRENCY } from \"../../data/applicationData\";\n\ninterface CartSummaryProps {\n  userCart: UserCart;\n  checkoutClickHandler(): void;\n  className?: string;\n}\nconst CartSummary = (props: CartSummaryProps) => {\n  const { userCart, checkoutClickHandler, className = \"\" } = props;\n  const { t } = useTranslation();\n  return (\n    <div\n      className={`flex flex-col lg:border lg:border-grey p-4 rounded-md ${className}`}\n    >\n      <Text className=\"font-poppinsMedium text-xl tracking-wider capitalize mb-4\">\n        {t(\"summary\")}\n      </Text>\n      <InvoiceAmountSummary\n        total={userCart.cartTotal}\n        discountedTotal={userCart.discountedTotal}\n        currency={userCart.items[0]?.product?.currency || DEFAULT_CURRENCY}\n        className=\"mb-4\"\n      />\n      <Button\n        onClickHandler={checkoutClickHandler}\n        buttonType={ButtonTypes.primaryButton}\n        isDisabled={!userCart?.items?.length}\n        className=\"px-4 py-1\"\n      >\n        <span className=\"capitalize\">{t(\"proceedToCheckout\")}</span>\n      </Button>\n    </div>\n  );\n};\n\nexport default CartSummary;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/CategoryCard.tsx",
    "content": "import { CATEGORY_ICONS } from \"../../data/applicationData\";\nimport { Category } from \"../../services/category/CategoryTypes\";\nimport GeneralCategoryIcon from \"../icons/GeneralCategoryIcon\";\nimport Button from \"../basic/Button\";\n\ninterface CategoryProps {\n  category: Category;\n  className?: string;\n  categoryClickHandler?(category: Category): void\n}\nconst CategoryCard = (props: CategoryProps) => {\n  const { category, className = '', categoryClickHandler } = props;\n  return (\n    <Button\n      className={`flex flex-col border-2 border-grey rounded items-center justify-around px-12 py-6 text-black active:bg-darkRed  active:text-zinc-50 ${className}`}\n      onClickHandler={() => categoryClickHandler ? categoryClickHandler(category) : () => {}}\n    >\n      <>\n        <div>{CATEGORY_ICONS?.[category._id] || <GeneralCategoryIcon className=\"w-10 h-10\" />}</div>\n\n        <span className=\"mt-4 capitalize\">{category.name}</span>\n      </>\n    </Button>\n  );\n};\n\nexport default CategoryCard;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/CompanyGurantee.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport { COMPANY_GURANTEE } from \"../../constants\";\nimport RoundedIcon from \"../basic/RoundedIcon\";\n\n\n\nconst CompanyGurantee = (props: COMPANY_GURANTEE) => {\n    const {icon, headingKey, descriptionKey} = props\n\n    const {t} = useTranslation();\n    return (\n        <div className=\"flex flex-col items-center\">\n            <RoundedIcon icon={icon} />\n            <span className=\"uppercase text-xl font-semibold text-black mt-4\">{t(headingKey)}</span>\n            <span className=\"capitalize text-sm text-black mt-2\">{t(descriptionKey)}</span>\n        </div>\n    )\n}\n\nexport default CompanyGurantee;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/CouponCard.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport { CouponClass } from \"../../services/coupon/CouponTypes\";\n\ninterface CouponCardProps {\n  coupon: CouponClass;\n  className?: string;\n}\nconst CouponCard = (props: CouponCardProps) => {\n  const { coupon, className = '' } = props;\n\n  const { t } = useTranslation();\n  return (\n    <div className={`flex flex-col p-4 border border-grey shadow-sm rounded ${className}`}>\n      <span className=\"capitalize\">{`${t(\"use\")} ${t(\"code\")} ${coupon.couponCode}`}</span>\n      <span className=\"capitalize\">{`${t(\"toGet\")} ${coupon.discountValue} ${t(\"off\")}, ${t(\"minimumPurchaseOf\")} ${coupon.minimumCartValue}`}</span>\n    </div>\n  );\n};\n\nexport default CouponCard;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/CouponCardList.tsx",
    "content": "import { CouponClass } from \"../../services/coupon/CouponTypes\";\nimport { useAppSelector } from \"../../store\";\nimport CouponCard from \"./CouponCard\";\n\ninterface CouponCardListProps {\n  coupons: Array<CouponClass>;\n  className?: string;\n  childContainerClassName?: string;\n}\nconst CouponCardList = (props: CouponCardListProps) => {\n  const { coupons, className = \"\", childContainerClassName = \"\" } = props;\n\n  const isRTL = useAppSelector(state => state.language.isRTL);\n  return (\n    <>\n      {coupons.length ? (\n        <div className={`${className}`} dir={isRTL ? 'rtl': 'ltr'}>\n          {coupons.map((coupon) => (\n            <CouponCard\n              coupon={coupon}\n              key={coupon._id}\n              className={childContainerClassName}\n            />\n          ))}\n        </div>\n      ) : (\n        <></>\n      )}\n    </>\n  );\n};\n\nexport default CouponCardList;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/FooterSection.tsx",
    "content": "import Text from \"../basic/Text\"\n\n\ninterface FooterSectionProps {\n    heading: string,\n    children?: React.ReactElement | string,\n    headingClassName?: string\n    className?: string\n}\nconst FooterSection = (props: FooterSectionProps) => {\n    const {heading, children, headingClassName, className} = props\n\n    return (\n        <div className={`flex flex-col text-zinc-50 ${className}`}>\n            <Text className={`text-xl ${headingClassName}`}>{heading}</Text>\n            <div className=\"mt-6\">\n                {children}\n            </div>\n        </div>\n    )\n}\n\nexport default FooterSection;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/InvoiceAmountSummary.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport { useAppSelector } from \"../../store\";\nimport { formatAmount } from \"../../utils/commonHelper\";\n\ninterface InvoiceAmountSummaryProps {\n  total: number,\n  discountedTotal: number;\n  currency: string;\n  className?: string\n}\nconst InvoiceAmountSummary = (props: InvoiceAmountSummaryProps) => {\n  const { total, discountedTotal, currency, className = '' } = props;\n\n  const { t } = useTranslation();\n  const isRTL = useAppSelector(state => state.language.isRTL)\n\n  return (\n    <div className={`flex flex-col ${className}`}>\n      <div className={`flex border-b border-grey justify-between pb-1 mb-2 ${isRTL ? 'flex-row-reverse' : ''}`}>\n        <span className=\"capitalize\">{t(\"subtotal\")}</span>\n        <span>{formatAmount(total, currency)}</span>\n      </div>\n      {total !== discountedTotal && (\n        <div className={`flex border-b border-grey justify-between mb-2 ${isRTL ? 'flex-row-reverse' : ''}`}>\n          <span className=\"capitalize\">{t(\"discount\")}</span>\n          <span>{formatAmount(total - discountedTotal, currency)}</span>\n        </div>\n      )}\n      <div className={`flex justify-between mb-2 ${isRTL ? 'flex-row-reverse' : ''}`}>\n        <span className=\"capitalize font-semibold\">{t(\"total\")}</span>\n        <span className=\"font-semibold\">{formatAmount(discountedTotal, currency)}</span>\n      </div>\n    </div>\n  );\n};\n\nexport default InvoiceAmountSummary;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/OrderCard.tsx",
    "content": "import { useMemo } from \"react\";\nimport { OrderClass } from \"../../services/order/OrderTypes\";\nimport { convertUTCToLocalTime, formatDateTime } from \"../../utils/dateTimeHelper\";\nimport { DATE_TIME_FORMATS } from \"../../constants\";\nimport { capitalizeSentence, formatAmount } from \"../../utils/commonHelper\";\nimport { DEFAULT_CURRENCY } from \"../../data/applicationData\";\nimport { useAppSelector } from \"../../store\";\nimport { useTranslation } from \"react-i18next\";\nimport Button from \"../basic/Button\";\n\ninterface OrderCardProps {\n  order: OrderClass;\n  className?: string;\n  orderClickHandler(order: OrderClass): void;\n}\nconst OrderCard = (props: OrderCardProps) => {\n  const { order, className = \"\", orderClickHandler } = props;\n\n  const { t } = useTranslation();\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  const displayedOrderDate = useMemo(() => {\n    const orderDateInLocalTime = convertUTCToLocalTime(order.createdAt, DATE_TIME_FORMATS.standardDateWithTime);\n    \n    return formatDateTime(\n      orderDateInLocalTime,\n      DATE_TIME_FORMATS.standardDateWithTime,\n      DATE_TIME_FORMATS.displayedDateWithTime\n    );\n  }, [order]);\n\n  const displayedOrderAddress = useMemo(() => {\n    /* No address means address has been deleted by the user. */\n    if (!order?.address) {\n      return capitalizeSentence(t(\"addressDeleted\"));\n    }\n    return `${order?.address?.addressLine1 || \"\"} ${order?.address?.addressLine2 || \"\"}, ${order?.address?.state || \"\"}, ${order?.address?.country || \"\"}`;\n  }, [order, t]);\n\n  return (\n    <Button onClickHandler={() => orderClickHandler(order)} className=\"w-full\">\n      <div\n        className={`flex flex-col p-4 rounded-md border border-grey shadow gap-y-4 ${className}`}\n        dir={isRTL ? \"rtl\" : \"ltr\"}\n      >\n        <div className={`flex justify-between items-center`}>\n          <span className=\"text-sm\">{displayedOrderDate}</span>\n          <span className=\"font-semibold\">{t(order.status.toLowerCase())}</span>\n        </div>\n        <span className=\" text-ellipsis line-clamp-1 text-start\">\n          {displayedOrderAddress}\n        </span>\n        <span className={`text-darkRed font-semibold self-end`}>\n          {formatAmount(order.discountedOrderPrice, DEFAULT_CURRENCY)}\n        </span>\n      </div>\n    </Button>\n  );\n};\n\nexport default OrderCard;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/OrderItem.tsx",
    "content": "import { useMemo } from \"react\";\nimport { PUBLIC_IMAGE_PATHS } from \"../../constants\";\nimport { OrderItemClass } from \"../../services/order/OrderTypes\";\nimport { formatAmount } from \"../../utils/commonHelper\";\nimport Image from \"../basic/Image\";\nimport Text from \"../basic/Text\";\nimport { DEFAULT_CURRENCY } from \"../../data/applicationData\";\nimport { useAppSelector } from \"../../store\";\n\ninterface OrderItemProps {\n  orderItem: OrderItemClass;\n}\n\nconst OrderItem = (props: OrderItemProps) => {\n  const { orderItem } = props;\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  /* Subtotal: price * quantity */\n  const subTotal = useMemo(() => {\n    return orderItem.product.price * orderItem.quantity;\n  }, [orderItem]);\n\n  return (\n    <div\n      className=\"flex shadow-md rounded p-4 items-center justify-between\"\n      dir={isRTL ? \"rtl\" : \"ltr\"}\n    >\n      <Image\n        src={orderItem.product.mainImage.url}\n        alt={orderItem.product.name}\n        backupImageSrc={PUBLIC_IMAGE_PATHS.defaultProductImage}\n        className=\"h-24 rounded\"\n      />\n\n      <div className=\"flex flex-col w-2/4 lg:w-1/5\">\n        <Text className=\"capitalize font-poppinsMedium text-lg\">\n          {orderItem.product.name}\n        </Text>\n        <div className=\"flex gap-x-1\">\n          <Text>\n            {`${formatAmount(orderItem.product.price, orderItem.product?.currency || DEFAULT_CURRENCY)}`}\n          </Text>\n          <Text>*</Text>\n          <Text>{`${orderItem.quantity}`}</Text>\n        </div>\n        <Text className=\"font-poppinsMedium\">\n          {formatAmount(\n            subTotal,\n            orderItem?.product?.currency || DEFAULT_CURRENCY\n          )}\n        </Text>\n      </div>\n    </div>\n  );\n};\n\nexport default OrderItem;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/OrderItemList.tsx",
    "content": "import { OrderItemClass } from \"../../services/order/OrderTypes\";\nimport OrderItem from \"./OrderItem\";\n\ninterface OrderItemListProps {\n  itemList: Array<OrderItemClass>;\n}\nconst OrderItemList = (props: OrderItemListProps) => {\n  const { itemList } = props;\n\n  return (\n    <div className=\"flex flex-col\">\n      {itemList.map((item) => (\n        <div className=\"mb-4\" key={item._id}>\n          <OrderItem orderItem={item} />\n        </div>\n      ))}\n    </div>\n  );\n};\n\nexport default OrderItemList;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/OrderListFilters.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport Button from \"../basic/Button\";\nimport DateRangePicker, {\n  DateRangePickerActionsRef,\n} from \"../basic/DateRangePicker\";\nimport { ButtonTypes, OrderListFilterFields } from \"../../constants\";\nimport { useAppSelector } from \"../../store\";\nimport Checkbox, { CheckboxActionsRef } from \"../basic/Checkbox\";\nimport { ORDER_STATUS_FILTERS_CHECKBOX } from \"../../data/applicationData\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport { useRef } from \"react\";\n\ninterface OrderListFiltersProps {\n  orderFiltersSubmitHandler(fields: OrderListFilterFields): void;\n}\nconst OrderListFilters = (props: OrderListFiltersProps) => {\n  const { orderFiltersSubmitHandler } = props;\n\n  const { t } = useTranslation();\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  const {\n    formState: { errors },\n    control,\n    handleSubmit,\n    setValue,\n  } = useForm<OrderListFilterFields>();\n\n  const checkboxActionsRef = useRef<CheckboxActionsRef<null>>({\n    forceSetCheckedItems(_) {},\n  });\n  const dateRangeActionsRef = useRef<DateRangePickerActionsRef>({\n    forceSetSelectedRange(_) {},\n  });\n\n  const resetHandler = () => {\n    setValue(\"dateRange.from\", undefined);\n    setValue(\"dateRange.to\", undefined);\n    setValue(\"checkedStatus\", ORDER_STATUS_FILTERS_CHECKBOX);\n    dateRangeActionsRef.current.forceSetSelectedRange({\n      from: undefined,\n      to: undefined,\n    });\n    checkboxActionsRef.current.forceSetCheckedItems(\n      ORDER_STATUS_FILTERS_CHECKBOX\n    );\n    handleSubmit(orderFiltersSubmitHandler)();\n  };\n\n  return (\n    <form\n      className=\"flex flex-col gap-y-4 lg:gap-y-0 lg:flex-row lg:gap-x-4 lg:items-center\"\n      dir={isRTL ? \"rtl\" : \"ltr\"}\n      onSubmit={handleSubmit(orderFiltersSubmitHandler)}\n    >\n      <Controller\n        name=\"dateRange\"\n        control={control}\n        render={({ field }) => (\n          <DateRangePicker\n            inputClassName=\"w-full\"\n            actionsRef={dateRangeActionsRef.current}\n            {...field}\n          />\n        )}\n      />\n\n      <Controller\n        name=\"checkedStatus\"\n        control={control}\n        rules={{\n          validate: (value) => {\n            if (!value.length) {\n              return t(\"pleaseSelectAOrderStatus\");\n            }\n          },\n        }}\n        render={({ field }) => (\n          <Checkbox\n            items={ORDER_STATUS_FILTERS_CHECKBOX}\n            labelClassName=\"capitalize\"\n            containerClassName=\"flex gap-x-4 w-full justify-center\"\n            checkboxContainerClassName=\"flex gap-x-2\"\n            errorMessage={errors?.checkedStatus?.message || \"\"}\n            actionsRef={checkboxActionsRef.current}\n            {...field}\n          />\n        )}\n      />\n\n      <div className=\"flex gap-x-2\">\n        <Button\n          type=\"submit\"\n          onClickHandler={() => {}}\n          buttonType={ButtonTypes.primaryButton}\n          className=\"capitalize px-8 py-1 flex-1 w-fit\"\n        >\n          <span>{t(\"filter\")}</span>\n        </Button>\n        <Button\n          onClickHandler={resetHandler}\n          buttonType={ButtonTypes.secondaryButton}\n          className=\"capitalize px-8 py-1 flex-1 min-w-fit\"\n        >\n          <span>{t(\"reset\")}</span>\n        </Button>\n      </div>\n    </form>\n  );\n};\n\nexport default OrderListFilters;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/OrderSummary.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport { OrderDetailClass } from \"../../services/order/OrderTypes\";\nimport Text from \"../basic/Text\";\nimport InvoiceAmountSummary from \"./InvoiceAmountSummary\";\nimport { DEFAULT_CURRENCY } from \"../../data/applicationData\";\n\ninterface OrderSummaryProps {\n  orderDetail: OrderDetailClass;\n  className?: string;\n}\nconst OrderSummary = (props: OrderSummaryProps) => {\n  const { orderDetail, className = \"\" } = props;\n\n  const { t } = useTranslation();\n\n  return (\n    <div\n      className={`flex flex-col lg:border lg:border-grey p-4 rounded-md ${className}`}\n    >\n      <Text className=\"font-poppinsMedium text-xl tracking-wider capitalize mb-4\">\n        {t(\"summary\")}\n      </Text>\n      <InvoiceAmountSummary\n        total={orderDetail.order.orderPrice}\n        discountedTotal={orderDetail.order.discountedOrderPrice}\n        currency={\n          orderDetail.order.items[0].product?.currency || DEFAULT_CURRENCY\n        }\n        className=\"mb-4\"\n      />\n    </div>\n  );\n};\n\nexport default OrderSummary;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/OrdersList.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport { OrderClass } from \"../../services/order/OrderTypes\";\nimport { useAppSelector } from \"../../store\";\nimport ErrorMessage from \"../basic/ErrorMessage\";\nimport OrderCard from \"./OrderCard\";\n\ninterface OrdersListProps {\n  ordersList: Array<OrderClass>;\n  orderClickHandler(order: OrderClass): void;\n}\nconst OrdersList = (props: OrdersListProps) => {\n  const { ordersList, orderClickHandler } = props;\n\n  const { t } = useTranslation();\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n  return (\n    <>\n      {!ordersList?.length ? (\n        <ErrorMessage\n          message={t(\"noOrdersFound\")}\n          className=\"justify-center text-xl\"\n        />\n      ) : (\n        <div\n          className=\"grid grid-cols-1 md:grid-cols-3 gap-4\"\n          dir={isRTL ? \"rtl\" : \"ltr\"}\n        >\n          {ordersList?.map((order) => (\n            <div key={order._id}>\n              <OrderCard\n                order={order}\n                className=\"h-full\"\n                orderClickHandler={orderClickHandler}\n              />\n            </div>\n          ))}\n        </div>\n      )}\n    </>\n  );\n};\n\nexport default OrdersList;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/Payment.tsx",
    "content": "import { PayPalButtons, PayPalScriptProvider } from \"@paypal/react-paypal-js\";\nimport { useEffect, useMemo, useRef } from \"react\";\nimport OrderService from \"../../services/order/OrderService\";\nimport ApiError from \"../../services/ApiError\";\nimport { OnApproveData } from \"@paypal/paypal-js/types/components/buttons\";\nimport useCustomNavigate from \"../../hooks/useCustomNavigate\";\nimport { ROUTE_PATHS } from \"../../constants\";\nimport { useAppDispatch } from \"../../store\";\nimport { getUserCartThunk } from \"../../store/CartSlice\";\ninterface PaymentProps {\n  addressId: string;\n  isDisabled?: boolean\n}\nconst Payment = (props: PaymentProps) => {\n  const { addressId, isDisabled = false } = props;\n\n  const navigate = useCustomNavigate();\n  const dispatch = useAppDispatch();\n\n  const paypalClientId = useMemo(() => {\n    return import.meta.env.VITE_PAYPAL_CLIENT_ID;\n  }, []);\n\n  const addressIdRef = useRef(\"\");\n\n  useEffect(() => {\n    addressIdRef.current = addressId\n  }, [addressId])\n  \n  const createOrder = async () => {\n    return OrderService.generatePayPalOrder(addressIdRef.current)\n      .then((response) => {\n        if (!(response instanceof ApiError)) {\n          return response.id;\n        } else {\n          /* Error Here */\n          throw response;\n        }\n      })\n      .catch((error) => {\n        console.error(\"Payment, Create Order Api Error\", error);\n        return \"\";\n      });\n  };\n\n  const onApprove = async (data: OnApproveData) => {\n    return OrderService.verifyPayment(data.orderID).then((response) => {\n      if (!(response instanceof ApiError)) {\n        /* Payment Successful */\n        dispatch(getUserCartThunk());\n        navigate(ROUTE_PATHS.paymentFeedback, true, {checkoutDetails: {isSuccess: true}})\n      } else {\n        console.error(\"Payment, On Approve Order Failed\", response);\n        /* Failed */\n        navigate(ROUTE_PATHS.paymentFeedback, true, {checkoutDetails: {isSuccess: false}})\n      }\n    });\n  };\n  return (\n    <PayPalScriptProvider options={{ clientId: paypalClientId }}>\n      <div className=\"z-0\">\n      <PayPalButtons createOrder={createOrder} onApprove={onApprove} disabled={isDisabled} />\n      </div>\n    </PayPalScriptProvider>\n  );\n};\n\nexport default Payment;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/ProductCard.tsx",
    "content": "import { Product } from \"../../services/product/ProductTypes\";\nimport Image from \"../basic/Image\";\nimport { DEFAULT_CURRENCY } from \"../../data/applicationData\";\nimport { createSearchParams } from \"react-router-dom\";\nimport { PUBLIC_IMAGE_PATHS, QUERY_PARAMS, ROUTE_PATHS } from \"../../constants\";\nimport useCustomNavigate from \"../../hooks/useCustomNavigate\";\nimport { formatAmount } from \"../../utils/commonHelper\";\nimport { useAppSelector } from \"../../store\";\n\ninterface ProductCardProps {\n  product: Product;\n  className?: string;\n  imageContainerClassName?: string;\n}\nconst ProductCard = (props: ProductCardProps) => {\n  const { product, className, imageContainerClassName } = props;\n\n  const navigate = useCustomNavigate();\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  /* navigate to /product?productId=<productId>&categoryId=<categoryId> */\n  const productClickHandler = () => {\n    navigate({\n      pathname: ROUTE_PATHS.product,\n      search: createSearchParams({ [QUERY_PARAMS.productId]: product._id, [QUERY_PARAMS.categoryId] : product.category })\n        .toString()\n    });\n  };\n  return (\n    <div\n      className={`flex flex-col transition transform hover:scale-105 active:scale-95 cursor-pointer ${className}`}\n      onClick={productClickHandler}\n    >\n      <>\n        <div\n          className={`flex flex-col items-center bg-neutral-100 rounded relative ${imageContainerClassName}`}\n        >\n          <Image\n            src={product.mainImage.url}\n            alt={product.name}\n            backupImageSrc={PUBLIC_IMAGE_PATHS.defaultProductImage}\n            className=\"h-full w-full rounded\"\n          />\n        </div>\n\n        <div className=\"mt-2\">\n          <div className=\"text-black font-poppinsMedium capitalize truncate\">\n            {product.name}\n          </div>\n          <div className={`flex`}>\n            <span className=\"text-darkRed font-poppinsMedium\">\n              {formatAmount(product.price, product.currency || DEFAULT_CURRENCY)}\n            </span>\n            {product.previousPrice && (\n              <span\n                className={`font-poppinsMedium text-neutral-500 line-through ${isRTL ? 'mr-2' : 'ml-2'}`}\n              >\n              {formatAmount(product.previousPrice, product.currency || DEFAULT_CURRENCY)}\n              </span>\n            )}\n          </div>\n        </div>\n      </>\n    </div>\n  );\n};\n\nexport default ProductCard;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/ProductFilters.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport { ButtonTypes, ProductFilterFields } from \"../../constants\";\nimport Input from \"../basic/Input\";\nimport { useForm } from \"react-hook-form\";\nimport Text from \"../basic/Text\";\nimport Button from \"../basic/Button\";\nimport { useAppSelector } from \"../../store\";\n\ninterface ProductFiltersProps {\n  onFiltersChanged(fields: ProductFilterFields): void;\n  resetFilterHandler(): void;\n  className?: string;\n  isLoading?: boolean;\n}\nconst ProductFilters = (props: ProductFiltersProps) => {\n  const {\n    onFiltersChanged,\n    resetFilterHandler,\n    className = \"\",\n    isLoading = false,\n  } = props;\n\n  const { t } = useTranslation();\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  const {\n    register,\n    formState: { errors },\n    resetField,\n    watch,\n    handleSubmit,\n  } = useForm<ProductFilterFields>();\n\n  /* Resetting the input fields and then calling the parent function */\n  const resetFilters = () => {\n    resetField(\"price.min\");\n    resetField(\"price.max\");\n    resetFilterHandler();\n  };\n\n  return (\n    <form\n      className={`flex flex-col gap-y-4 items-center lg:flex-row lg:gap-x-8 ${className}`}\n      onSubmit={handleSubmit(onFiltersChanged)}\n      dir={isRTL ? \"rtl\" : \"ltr\"}\n    >\n      <Input\n        placeholder={t(\"minPrice\")}\n        containerClassName=\"min-w-0 w-full lg:w-fit\"\n        className=\"placeholder:capitalize text-center lg:text-sm\"\n        errorMessage={errors.price?.min?.message || \"\"}\n        type=\"number\"\n        {...register(\"price.min\", {\n          required: t(\"invalidValue\"),\n          validate: (value) => {\n            if (isNaN(Number(value)) || Number(value) < 0) {\n              return t(\"invalidValue\");\n            }\n          },\n        })}\n      />\n\n      <Text className=\"uppercase font-poppinsMedium lg:text-sm\">{t(\"to\")}</Text>\n\n      <Input\n        placeholder={t(\"maxPrice\")}\n        containerClassName=\"min-w-0 w-full lg:w-fit\"\n        className=\"placeholder:capitalize text-center lg:text-sm\"\n        type=\"number\"\n        errorMessage={errors.price?.max?.message || \"\"}\n        {...register(\"price.max\", {\n          required: t(\"invalidValue\"),\n          validate: (value) => {\n            if (\n              isNaN(Number(value)) ||\n              Number(value) < Number(watch(\"price.min\"))\n            ) {\n              return t(\"maxValueIsLessThanMinValue\");\n            }\n          },\n        })}\n      />\n      <div className=\"flex flex-col gap-y-2 w-full lg:flex-row lg:gap-x-4 lg:w-fit\">\n        <Button\n          type=\"submit\"\n          buttonType={ButtonTypes.primaryButton}\n          className=\"flex justify-center capitalize py-1 px-12 lg:text-sm lg:px-8\"\n          onClickHandler={() => {}}\n          isLoading={isLoading}\n        >\n          <span>{t(\"filter\")}</span>\n        </Button>\n\n        <Button\n          buttonType={ButtonTypes.secondaryButton}\n          className=\"flex justify-center capitalize py-1 px-12 lg:text-sm lg:px-8\"\n          onClickHandler={resetFilters}\n          isLoading={isLoading}\n        >\n          <span>{t(\"reset\")}</span>\n        </Button>\n      </div>\n    </form>\n  );\n};\n\nexport default ProductFilters;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/ProductImagesView.tsx",
    "content": "import { useEffect, useState } from \"react\";\nimport { ImageClass } from \"../../services/product/ProductTypes\";\nimport Image from \"../basic/Image\";\nimport { useAppSelector } from \"../../store\";\n\ninterface ProductImagesViewProps {\n  mainImage: ImageClass;\n  subImages: Array<ImageClass>;\n  productName: string;\n  className?: string;\n}\nconst ProductImagesView = (props: ProductImagesViewProps) => {\n  const { mainImage, subImages, productName, className } = props;\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  /* Top Image is the largest image shown */\n  const [topImage, setTopImage] = useState(mainImage);\n\n  /* Other images */\n  const [otherImages, setOtherImages] = useState(subImages);\n\n  /* To Change the main top image shown */\n  const changeTopImage = (newTopImage: ImageClass): void => {\n    /* \n    Replace the image clicked (newTopImage) with the top image, \n    and set the top image to the image clicked (newTopImage) \n    */\n    setOtherImages((prev) => {\n      const imageIndex = prev.findIndex(\n        (image) => image.url === newTopImage.url\n      );\n      if (imageIndex !== -1) {\n        prev[imageIndex] = topImage;\n        setTopImage(newTopImage);\n      }\n      return prev;\n    });\n  };\n\n  useEffect(() => {\n    setTopImage(mainImage);\n  }, [mainImage]);\n\n  useEffect(() => {\n    setOtherImages(subImages);\n  }, [subImages]);\n  return (\n    <div\n      className={`flex flex-col ${\n        isRTL ? \"lg:flex-row-reverse\" : \"lg:flex-row\"\n      } ${className}`}\n    >\n      <div className=\"bg-neutral-100 rounded --add-later-p-4 flex justify-center items-center lg:order-1 lg:flex-1\">\n        <Image\n          src={topImage.url}\n          alt={productName}\n          backupImageSrc=\"\"\n          className=\"rounded h-full\"\n        />\n      </div>\n      <div className=\"flex gap-x-1 lg:gap-x-0 lg:flex-col lg:h-full lg:gap-y-4 lg:justify-center\">\n        {otherImages.map((otherImage) => (\n          <button\n            key={otherImage._id}\n            className=\"bg-neutral-100 rounded --add-later-p-2 lg:h-[22.8%]\"\n            onClick={() => {\n              changeTopImage(otherImage);\n            }}\n          >\n            <Image\n              src={otherImage.url}\n              alt={productName}\n              backupImageSrc=\"\"\n              className=\"rounded h-full\"\n            />\n          </button>\n        ))}\n      </div>\n    </div>\n  );\n};\n\nexport default ProductImagesView;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/ProductList.tsx",
    "content": "import { Product } from \"../../services/product/ProductTypes\";\nimport { useAppSelector } from \"../../store\";\nimport ProductCard from \"./ProductCard\";\n\ninterface ProductListProps {\n  products: Product[];\n  className?: string\n}\nconst ProductList = (props: ProductListProps) => {\n  const { products, className } = props;\n\n  const isRTL = useAppSelector(state => state.language.isRTL)\n  return (\n    <div className={`grid grid-cols-2 lg:grid-cols-4 gap-4 ${className}`} dir={isRTL ? 'rtl': 'ltr'}>\n      {products.map((product) => (\n        <div key={product._id}>\n          <ProductCard\n            product={product}\n            className=\"\"\n            imageContainerClassName=\"h-56\"\n          />\n        </div>\n      ))}\n    </div>\n  );\n};\n\nexport default ProductList;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/QuantityCounter.tsx",
    "content": "import { useEffect, useMemo, useState } from \"react\";\nimport AddIcon from \"../icons/AddIcon\";\nimport SubtractIcon from \"../icons/SubtractIcon\";\nimport { useAppSelector } from \"../../store\";\n\ninterface QuantityCounterProps {\n  defaultQuantity: number;\n  onQuantityChanged(quantity: number): void;\n  maxLimit?: number;\n  className?: string;\n  textClassName?: string;\n}\nconst QuantityCounter = (props: QuantityCounterProps) => {\n  const {\n    defaultQuantity,\n    onQuantityChanged,\n    className = \"\",\n    textClassName = \"\",\n    maxLimit = Infinity,\n  } = props;\n\n  const isRTL = useAppSelector(state => state.language.isRTL);\n  const [quantity, setQuantity] = useState(defaultQuantity);\n\n  /* Text Styles */\n  const textStyles = useMemo(() => {\n    if(textClassName){\n      return textClassName;\n    }\n    return 'text-lg font-poppinsMedium'\n  }, [textClassName])\n\n  /* If default quantity prop changes, update the quantity state */\n  useEffect(() => {\n    setQuantity(defaultQuantity);\n  }, [defaultQuantity]);\n\n  /* On click of add quantity */\n  const addQuantity = () => {\n    setQuantity((prev) => {\n      prev++;\n      return prev;\n    });\n  };\n\n  /* On click of subtract quantity */\n  const subtractQuantity = () => {\n    setQuantity((prev) => {\n      if (prev !== 1) {\n        prev--;\n      }\n      return prev;\n    });\n  };\n\n  /* On change of quantity, call the parent onQuanityChanged function */\n  useEffect(() => {\n    onQuantityChanged(quantity);\n  }, [quantity, onQuantityChanged]);\n\n  return (\n    <div className={`flex ${className}`} dir={isRTL ? 'rtl' : 'ltr'}>\n      <button\n        className={`w-1/4 bg-white border-2 border-grey flex justify-center items-center py-2 ${isRTL ? 'border-l-0 rounded-r' : 'border-r-0 rounded-l'}`}\n        onClick={subtractQuantity}\n      >\n        <SubtractIcon className=\"w-4 h-4 text-black\" />\n      </button>\n      <span\n        className={`w-2/4 flex justify-center items-center border-2 border-grey  ${isRTL ? 'border-l-0' : 'border-r-0'} ${textStyles}`}\n      >\n        {quantity}\n      </span>\n      <button\n        className={`w-1/4 bg-darkRed border-2 border-darkRed flex justify-center items-center ${isRTL ? 'rounded-l' : 'rounded-r'}`}\n        onClick={addQuantity}\n        disabled={quantity >= maxLimit}\n      >\n        <AddIcon className=\"w-4 h-4 text-white\" />\n      </button>\n    </div>\n  );\n};\n\nexport default QuantityCounter;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/business/Timer.tsx",
    "content": "import moment from \"moment\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { DATE_TIME_FORMATS, DURATION } from \"../../constants\";\nimport { convertMillisecondsToDaysHoursMinsSec } from \"../../utils/dateTimeHelper\";\nimport { useTranslation } from \"react-i18next\";\nimport { useAppSelector } from \"../../store\";\nimport { zeroFormattedNumber } from \"../../utils/commonHelper\";\n\ninterface TimerProps {\n  startTime: string;\n  endTime: string;\n  className?: string;\n  timerContainerClassName?: string;\n}\nconst Timer = (props: TimerProps) => {\n  const {\n    startTime,\n    endTime,\n    className = \"\",\n    timerContainerClassName = \"\",\n  } = props;\n\n  const { t } = useTranslation();\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  const [duration, setDuration] = useState<DURATION>({\n    days: -1,\n    hours: -1,\n    minutes: -1,\n    seconds: -1,\n  });\n\n  const calculateDuration = useCallback(() => {\n    /* Converting to moment objects */\n    const start = moment.utc(startTime, DATE_TIME_FORMATS.standardDateWithTime);\n    const end = moment.utc(endTime, DATE_TIME_FORMATS.standardDateWithTime);\n\n    /* end - start in milliseconds */\n    const diffInMillis = end.diff(start);\n\n    /* Converting millisecinds to days, hours, minutes and seconds */\n    const diffInDuration: DURATION =\n      convertMillisecondsToDaysHoursMinsSec(diffInMillis);\n\n    setDuration(diffInDuration);\n  }, [startTime, endTime]);\n\n  useEffect(() => {\n    calculateDuration();\n  }, [calculateDuration]);\n\n  return (\n    <div className={`flex ${isRTL ? 'flex-row-reverse' : ''} ${className}`}>\n      {duration?.days >= 0 && (\n        <div\n          className={`flex flex-col justify-center items-center rounded-full bg-white text-black p-4 w-20 h-20 ${timerContainerClassName}`}\n        >\n          <span className=\"font-semibold\">{zeroFormattedNumber(duration.days)}</span>\n          <span className=\"capitalize\">{t(\"days\")}</span>\n        </div>\n      )}\n      {duration?.hours >= 0 && (\n        <div\n          className={`flex flex-col justify-center items-center rounded-full bg-white text-black p-4 w-20 h-20 ${timerContainerClassName}`}\n        >\n          <span className=\"font-semibold\">{zeroFormattedNumber(duration.hours)}</span>\n          <span className=\"capitalize\">{t(\"hours\")}</span>\n        </div>\n      )}\n      {duration?.minutes >= 0 && (\n        <div\n          className={`flex flex-col justify-center items-center rounded-full bg-white text-black p-4 w-20 h-20 ${timerContainerClassName}`}\n        >\n          <span className=\"font-semibold\">{zeroFormattedNumber(duration.minutes)}</span>\n          <span className=\"capitalize\">{t(\"minutes\")}</span>\n        </div>\n      )}\n      {duration?.seconds >= 0 && (\n        <div\n          className={`flex flex-col justify-center items-center rounded-full bg-white text-black p-4 w-20 h-20 ${timerContainerClassName}`}\n        >\n          <span className=\"font-semibold\">{zeroFormattedNumber(duration.seconds)}</span>\n          <span className=\"capitalize\">{t(\"seconds\")}</span>\n        </div>\n      )}\n    </div>\n  );\n};\n\nexport default Timer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/AccountIcon.tsx",
    "content": "const AccountIcon = (props: { className: string }) => {\n  const { className = \"\" } = props;\n  return (\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      className={className}\n      viewBox=\"0 0 32 32\"\n      fill=\"none\"\n    >\n      <path\n        d=\"M24 27V24.3333C24 22.9188 23.5224 21.5623 22.6722 20.5621C21.8221 19.5619 20.669 19 19.4667 19H11.5333C10.331 19 9.17795 19.5619 8.32778 20.5621C7.47762 21.5623 7 22.9188 7 24.3333V27\"\n        stroke=\"currentColor\"\n        strokeWidth=\"1.5\"\n        strokeLinecap=\"round\"\n        strokeLinejoin=\"round\"\n      />\n      <path\n        d=\"M16.5 14C18.9853 14 21 11.9853 21 9.5C21 7.01472 18.9853 5 16.5 5C14.0147 5 12 7.01472 12 9.5C12 11.9853 14.0147 14 16.5 14Z\"\n        stroke=\"currentColor\"\n        strokeWidth=\"1.5\"\n        strokeLinecap=\"round\"\n        strokeLinejoin=\"round\"\n      />\n    </svg>\n  );\n};\n\nexport default AccountIcon;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/AddIcon.tsx",
    "content": "const AddIcon = (props: { className: string }) => {\n  const { className } = props;\n  return (\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      className={className}\n      viewBox=\"0 0 24 24\"\n      fill=\"none\"\n    >\n      <path\n        d=\"M12 20V12M12 12V4M12 12H20M12 12H4\"\n        stroke=\"currentColor\"\n        strokeWidth=\"1.5\"\n        strokeLinecap=\"round\"\n      />\n    </svg>\n  );\n};\n\nexport default AddIcon;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/CartIcon.tsx",
    "content": "import { useAppSelector } from \"../../store\";\n\nconst CartIcon = (props: { className: string; quantity?: number }) => {\n  const { className = \"\", quantity} = props;\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n  return (\n    <div className=\"relative\">\n      <svg\n        xmlns=\"http://www.w3.org/2000/svg\"\n        className={`${className} ${isRTL ? 'transform -scale-x-[1]': ''}`}\n        viewBox=\"0 0 32 32\"\n        fill=\"none\"\n      >\n        <path\n          d=\"M11 27C11.5523 27 12 26.5523 12 26C12 25.4477 11.5523 25 11 25C10.4477 25 10 25.4477 10 26C10 26.5523 10.4477 27 11 27Z\"\n          stroke=\"currentColor\"\n          strokeWidth=\"1.5\"\n          strokeLinecap=\"round\"\n          strokeLinejoin=\"round\"\n        />\n        <path\n          d=\"M25 27C25.5523 27 26 26.5523 26 26C26 25.4477 25.5523 25 25 25C24.4477 25 24 25.4477 24 26C24 26.5523 24.4477 27 25 27Z\"\n          stroke=\"currentColor\"\n          strokeWidth=\"1.5\"\n          strokeLinecap=\"round\"\n          strokeLinejoin=\"round\"\n        />\n        <path\n          d=\"M3 5H7L10 22H26\"\n          stroke=\"currentColor\"\n          strokeWidth=\"1.5\"\n          strokeLinecap=\"round\"\n          strokeLinejoin=\"round\"\n        />\n        <path\n          d=\"M10 16.6667H25.59C25.7056 16.6667 25.8177 16.6267 25.9072 16.5535C25.9966 16.4802 26.0579 16.3782 26.0806 16.2648L27.8806 7.26479C27.8951 7.19222 27.8934 7.11733 27.8755 7.04552C27.8575 6.97371 27.8239 6.90678 27.7769 6.84956C27.73 6.79234 27.6709 6.74625 27.604 6.71462C27.5371 6.68299 27.464 6.66661 27.39 6.66666H8\"\n          stroke=\"currentColor\"\n          strokeWidth=\"1.5\"\n          strokeLinecap=\"round\"\n          strokeLinejoin=\"round\"\n        />\n      </svg>\n      {quantity ? (\n        <div className={`absolute w-4 h-4 p-[10px] bg-darkRed  rounded-full -top-1 ${isRTL ? '-left-1' : '-right-1'} flex justify-center items-center`}>\n          <span className=\"text-zinc-50 text-xs\">{quantity}</span>\n        </div>\n      ) : <></>}\n    </div>\n  );\n};\n\nexport default CartIcon;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/CloseIcon.tsx",
    "content": "const CloseIcon = ({className}: { className: string }) => {\n  return (\n    <svg\n      className={className}\n      xmlns=\"http://www.w3.org/2000/svg\"\n      fill=\"none\"\n      viewBox=\"0 0 14 14\"\n    >\n      <path\n        stroke=\"currentColor\"\n        strokeLinecap=\"round\"\n        strokeLinejoin=\"round\"\n        strokeWidth=\"2\"\n        d=\"m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6\"\n      />\n    </svg>\n  );\n};\n\nexport default CloseIcon;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/DeleteIcon.tsx",
    "content": "const DeleteIcon = (props: { className: string }) => {\n  const { className } = props;\n\n  return (\n    <svg\n      className={className}\n      viewBox=\"0 0 24 24\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n    >\n      <path d=\"M5.755,20.283,4,8H20L18.245,20.283A2,2,0,0,1,16.265,22H7.735A2,2,0,0,1,5.755,20.283ZM21,4H16V3a1,1,0,0,0-1-1H9A1,1,0,0,0,8,3V4H3A1,1,0,0,0,3,6H21a1,1,0,0,0,0-2Z\" />\n    </svg>\n  );\n};\n\nexport default DeleteIcon;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/DownArrow.tsx",
    "content": "const DownArrow = (props: { className?: string }) => {\n  const { className } = props;\n  return (\n    <svg\n      className={`${className}`}\n      viewBox=\"0 0 20 20\"\n      fill=\"currentColor\"\n      aria-hidden=\"true\"\n    >\n      <path\n        fillRule=\"evenodd\"\n        d=\"M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z\"\n        clipRule=\"evenodd\"\n      />\n    </svg>\n  );\n};\n\nexport default DownArrow;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/EditIcon.tsx",
    "content": "const EditIcon = (props: { className: string }) => {\n  const { className = \"\" } = props;\n\n  return (\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      x=\"0px\"\n      y=\"0px\"\n      className={className}\n      viewBox=\"0 0 50 50\"\n    >\n      <path d=\"M 43.125 2 C 41.878906 2 40.636719 2.488281 39.6875 3.4375 L 38.875 4.25 L 45.75 11.125 C 45.746094 11.128906 46.5625 10.3125 46.5625 10.3125 C 48.464844 8.410156 48.460938 5.335938 46.5625 3.4375 C 45.609375 2.488281 44.371094 2 43.125 2 Z M 37.34375 6.03125 C 37.117188 6.0625 36.90625 6.175781 36.75 6.34375 L 4.3125 38.8125 C 4.183594 38.929688 4.085938 39.082031 4.03125 39.25 L 2.03125 46.75 C 1.941406 47.09375 2.042969 47.457031 2.292969 47.707031 C 2.542969 47.957031 2.90625 48.058594 3.25 47.96875 L 10.75 45.96875 C 10.917969 45.914063 11.070313 45.816406 11.1875 45.6875 L 43.65625 13.25 C 44.054688 12.863281 44.058594 12.226563 43.671875 11.828125 C 43.285156 11.429688 42.648438 11.425781 42.25 11.8125 L 9.96875 44.09375 L 5.90625 40.03125 L 38.1875 7.75 C 38.488281 7.460938 38.578125 7.011719 38.410156 6.628906 C 38.242188 6.246094 37.855469 6.007813 37.4375 6.03125 C 37.40625 6.03125 37.375 6.03125 37.34375 6.03125 Z\"></path>\n    </svg>\n  );\n};\n\nexport default EditIcon;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/ErrorIcon.tsx",
    "content": "const ErrorIcon = (props: { className: string }) => {\n  const { className } = props;\n  return (\n    <svg viewBox=\"0 0 32 32\" className={className} xmlSpace=\"preserve\">\n      <g>\n        <g>\n          <g>\n            <circle cx=\"16\" cy=\"16\" id=\"BG\" r=\"16\" fill=\"currentColor\" />\n            <path\n              d=\"M14.5,25h3v-3h-3V25z M14.5,6v13h3V6H14.5z\"\n              id=\"Exclamatory_x5F_Sign\"\n              fill=\"#E6E6E6\"\n            />\n          </g>\n        </g>\n      </g>\n    </svg>\n  );\n};\nexport default ErrorIcon;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/GeneralCategoryIcon.tsx",
    "content": "const GeneralCategoryIcon = (props: { className: string }) => {\n  const { className } = props;\n  return (\n    <svg\n      viewBox=\"0 0 122.88 121.78\"\n      className={className}\n    >\n      <path\n      fill=\"currentColor\" \n      d=\"M6.91,0H49.79a6.86,6.86,0,0,1,5.34,2.55A6.37,6.37,0,0,1,56.29,4.6a6.61,6.61,0,0,1,.41,2.31V49.6a7,7,0,0,1-2.13,5,7,7,0,0,1-4.78,1.94H6.91A6.73,6.73,0,0,1,4.37,56,6.78,6.78,0,0,1,.58,52.33,6.62,6.62,0,0,1,0,49.6V6.91A7,7,0,0,1,1.71,2.37L2,2.09A7.1,7.1,0,0,1,4.06.63,7,7,0,0,1,6.91,0ZM73.09,65.26H116a6.87,6.87,0,0,1,3,.67,7,7,0,0,1,2.38,1.88,6.77,6.77,0,0,1,1.16,2,6.66,6.66,0,0,1,.41,2.32v42.69a6.82,6.82,0,0,1-.56,2.69,7,7,0,0,1-1.57,2.28,6.83,6.83,0,0,1-2.22,1.43,6.72,6.72,0,0,1-2.56.51H73.09a7,7,0,0,1-2.55-.5,6.85,6.85,0,0,1-2.2-1.41,7.09,7.09,0,0,1-1.59-2.28,6.76,6.76,0,0,1-.57-2.72V72.18a6.67,6.67,0,0,1,.45-2.43,7,7,0,0,1,1.25-2.12l.28-.28a7,7,0,0,1,2.07-1.45,6.83,6.83,0,0,1,2.86-.64ZM116,72.15H73.09l0,0v42.72c3.68,0,42.89,0,42.93,0,0-3.6,0-42.7,0-42.72ZM6.91,65.26H49.79a6.86,6.86,0,0,1,5.34,2.55,6.37,6.37,0,0,1,1.16,2,6.66,6.66,0,0,1,.41,2.32v42.69a6.82,6.82,0,0,1-.56,2.69,6.69,6.69,0,0,1-1.57,2.28,7,7,0,0,1-4.78,1.94H6.91a6.92,6.92,0,0,1-2.54-.5,6.79,6.79,0,0,1-2.21-1.41,6.91,6.91,0,0,1-1.58-2.28A6.61,6.61,0,0,1,0,114.87V72.18a6.89,6.89,0,0,1,.45-2.43,7.05,7.05,0,0,1,1.26-2.12L2,67.35A6.89,6.89,0,0,1,4.06,65.9a6.82,6.82,0,0,1,2.85-.64Zm42.88,6.89H6.91l0,0,0,42.72c3.67,0,42.89,0,42.92,0,0-3.6,0-42.7,0-42.72ZM73.09,0H116a6.87,6.87,0,0,1,3,.67,7,7,0,0,1,2.38,1.88,6.77,6.77,0,0,1,1.16,2.05,6.61,6.61,0,0,1,.41,2.31V49.6a6.83,6.83,0,0,1-.56,2.7,7.09,7.09,0,0,1-1.57,2.28A7,7,0,0,1,118.53,56a6.91,6.91,0,0,1-2.56.51H73.09A6.78,6.78,0,0,1,70.54,56a7,7,0,0,1-2.2-1.4,7.09,7.09,0,0,1-1.59-2.28,6.78,6.78,0,0,1-.57-2.73V6.91a6.66,6.66,0,0,1,.45-2.42,6.91,6.91,0,0,1,1.25-2.12l.28-.28A7.19,7.19,0,0,1,70.23.63,7,7,0,0,1,73.09,0ZM116,6.89H73.09l0,0V49.63c3.68,0,42.89,0,42.93,0,0-3.6,0-42.71,0-42.72Zm-66.18,0H6.91l0,0,0,42.72c3.67,0,42.89,0,42.92,0,0-3.6,0-42.71,0-42.72Z\" />\n    </svg>\n  );\n};\n\nexport default GeneralCategoryIcon;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/GoogleIcon.tsx",
    "content": "const GoogleIcon = (props: { className: string }) => {\n  const { className = \"\" } = props;\n  return (\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      x=\"0px\"\n      y=\"0px\"\n      className={className}\n      viewBox=\"0 0 48 48\"\n    >\n      <path\n        fill=\"#fbc02d\"\n        d=\"M43.611,20.083H42V20H24v8h11.303c-1.649,4.657-6.08,8-11.303,8c-6.627,0-12-5.373-12-12\ts5.373-12,12-12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C12.955,4,4,12.955,4,24s8.955,20,20,20\ts20-8.955,20-20C44,22.659,43.862,21.35,43.611,20.083z\"\n      ></path>\n      <path\n        fill=\"#e53935\"\n        d=\"M6.306,14.691l6.571,4.819C14.655,15.108,18.961,12,24,12c3.059,0,5.842,1.154,7.961,3.039\tl5.657-5.657C34.046,6.053,29.268,4,24,4C16.318,4,9.656,8.337,6.306,14.691z\"\n      ></path>\n      <path\n        fill=\"#4caf50\"\n        d=\"M24,44c5.166,0,9.86-1.977,13.409-5.192l-6.19-5.238C29.211,35.091,26.715,36,24,36\tc-5.202,0-9.619-3.317-11.283-7.946l-6.522,5.025C9.505,39.556,16.227,44,24,44z\"\n      ></path>\n      <path\n        fill=\"#1565c0\"\n        d=\"M43.611,20.083L43.595,20L42,20H24v8h11.303c-0.792,2.237-2.231,4.166-4.087,5.571\tc0.001-0.001,0.002-0.001,0.003-0.002l6.19,5.238C36.971,39.205,44,34,44,24C44,22.659,43.862,21.35,43.611,20.083z\"\n      ></path>\n    </svg>\n  );\n};\n\nexport default GoogleIcon;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/GuranteeIcon.tsx",
    "content": "const GuranteeIcon = (props: {className: string}) => {\n    const {className} = props\n  return (\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      className={className}\n      viewBox=\"0 0 40 40\"\n      fill=\"none\"\n    >\n      <path\n        d=\"M8.09906 30.5992L8.09883 30.5991C7.2261 29.9483 6.42549 28.9206 5.8427 27.759C5.25985 26.5973 4.91663 25.3451 4.91663 24.2666V11.8666C4.91663 9.50736 6.67146 6.96177 8.89112 6.13513L8.89208 6.13477L17.2083 3.01826C17.2084 3.01823 17.2085 3.0182 17.2086 3.01817C17.9621 2.73661 18.9615 2.5874 19.9833 2.5874C21.0051 2.5874 22.0045 2.73661 22.758 3.01817C22.7581 3.0182 22.7582 3.01823 22.7582 3.01826L31.0745 6.13477L31.0755 6.13513C33.2951 6.96177 35.05 9.50736 35.05 11.8666V24.2499C35.05 25.3371 34.7066 26.5892 34.124 27.7483C33.5415 28.9073 32.741 29.9313 31.8678 30.5824L31.8675 30.5826L24.7009 35.9326L24.7008 35.9325L24.6946 35.9373C23.4119 36.9264 21.724 37.4332 20 37.4332C18.2773 37.4332 16.5851 36.927 15.2648 35.9486C15.2647 35.9484 15.2645 35.9483 15.2644 35.9482L8.09906 30.5992ZM17.7418 4.43145L17.7412 4.4317L9.4245 7.54837L9.42379 7.54863C8.59621 7.86019 7.85498 8.52248 7.32406 9.29061C6.79297 10.059 6.43329 10.9898 6.43329 11.8832V24.2666C6.43329 25.161 6.74388 26.1892 7.20088 27.101C7.65776 28.0126 8.29325 28.8722 9.00081 29.4005L9.00085 29.4006L16.1672 34.7503C17.2292 35.5445 18.6282 35.9249 20.002 35.9249C21.376 35.9249 22.7782 35.5445 23.8477 34.7516L23.8491 34.7506L31.0157 29.4006L31.0166 29.3999C31.7314 28.8638 32.3668 28.005 32.8222 27.0943C33.2775 26.1837 33.5833 25.16 33.5833 24.2666V11.8666C33.5833 10.9804 33.2229 10.0538 32.6925 9.28645C32.162 8.51889 31.4223 7.85396 30.5976 7.5338L30.5976 7.53376L30.5921 7.5317L22.2754 4.41503L22.2755 4.41495L22.2664 4.41174C21.6282 4.18651 20.8001 4.08314 20.0007 4.08532C19.202 4.0875 18.3751 4.19514 17.7418 4.43145Z\"\n        fill=\"currentColor\"\n        stroke=\"currentColor\"\n      />\n      <path\n        d=\"M17.4131 21.0536L17.7667 21.4071L18.1202 21.0536L24.4036 14.7703C24.6916 14.4822 25.1751 14.4822 25.4631 14.7703C25.7512 15.0583 25.7512 15.5417 25.4631 15.8298L18.2965 22.9965C18.1452 23.1478 17.9579 23.2167 17.7667 23.2167C17.5755 23.2167 17.3882 23.1478 17.2369 22.9965L14.5536 20.3131C14.2655 20.0251 14.2655 19.5417 14.5536 19.2536C14.8416 18.9655 15.3251 18.9655 15.6131 19.2536L17.4131 21.0536Z\"\n        fill=\"currentColor\"\n        stroke=\"currentColor\"\n      />\n    </svg>\n  );\n};\n\nexport default GuranteeIcon;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/HamburgerIcon.tsx",
    "content": "const HamburgerIcon = ({className}: { className: string }) => {\n  return (\n    <svg\n      className={className}\n      xmlns=\"http://www.w3.org/2000/svg\"\n      fill=\"none\"\n      viewBox=\"0 0 17 14\"\n    >\n      <path\n        stroke=\"currentColor\"\n        strokeLinecap=\"round\"\n        strokeLinejoin=\"round\"\n        strokeWidth=\"2\"\n        d=\"M1 1h15M1 7h15M1 13h15\"\n      />\n    </svg>\n  );\n};\n\nexport default HamburgerIcon;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/HeadphoneIcon.tsx",
    "content": "const HeadphoneIcon = (props: {className: string}) => {\n    const {className} = props\n  return (\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      className={className}\n      viewBox=\"0 0 40 40\"\n      fill=\"none\"\n    >\n      <g clipPath=\"url(#clip0_1121_805)\">\n        <path\n          d=\"M13.3334 25.0001C13.3334 23.1591 11.841 21.6667 10 21.6667C8.15907 21.6667 6.66669 23.1591 6.66669 25.0001V28.3334C6.66669 30.1744 8.15907 31.6667 10 31.6667C11.841 31.6667 13.3334 30.1744 13.3334 28.3334V25.0001Z\"\n          stroke=\"currentColor\"\n          strokeWidth=\"2\"\n          strokeLinecap=\"round\"\n          strokeLinejoin=\"round\"\n        />\n        <path\n          d=\"M33.3334 25.0001C33.3334 23.1591 31.841 21.6667 30 21.6667C28.1591 21.6667 26.6667 23.1591 26.6667 25.0001V28.3334C26.6667 30.1744 28.1591 31.6667 30 31.6667C31.841 31.6667 33.3334 30.1744 33.3334 28.3334V25.0001Z\"\n          stroke=\"currentColor\"\n          strokeWidth=\"2\"\n          strokeLinecap=\"round\"\n          strokeLinejoin=\"round\"\n        />\n        <path\n          d=\"M6.66669 25.0001V20.0001C6.66669 16.4639 8.07145 13.0725 10.5719 10.572C13.0724 8.07151 16.4638 6.66675 20 6.66675C23.5362 6.66675 26.9276 8.07151 29.4281 10.572C31.9286 13.0725 33.3334 16.4639 33.3334 20.0001V25.0001\"\n          stroke=\"currentColor\"\n          strokeWidth=\"2\"\n          strokeLinecap=\"round\"\n          strokeLinejoin=\"round\"\n        />\n        <path\n          d=\"M30 31.6667C30 32.9928 28.9464 34.2646 27.0711 35.2023C25.1957 36.14 22.6522 36.6667 20 36.6667\"\n          stroke=\"currentColor\"\n          strokeWidth=\"2\"\n          strokeLinecap=\"round\"\n          strokeLinejoin=\"round\"\n        />\n      </g>\n      <defs>\n        <clipPath id=\"clip0_1121_805\">\n          <rect width=\"40\" height=\"40\" fill=\"currentColor\" />\n        </clipPath>\n      </defs>\n    </svg>\n  );\n};\n\nexport default HeadphoneIcon;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/HidePasswordIcon.tsx",
    "content": "const HidePasswordIcon = (props: { className: string }) => {\n  const { className } = props;\n  return (\n    <svg\n      className={className}\n      viewBox=\"0 0 24 24\"\n      fill=\"none\"\n    >\n      <path\n        d=\"M2.99902 3L20.999 21M9.8433 9.91364C9.32066 10.4536 8.99902 11.1892 8.99902 12C8.99902 13.6569 10.3422 15 11.999 15C12.8215 15 13.5667 14.669 14.1086 14.133M6.49902 6.64715C4.59972 7.90034 3.15305 9.78394 2.45703 12C3.73128 16.0571 7.52159 19 11.9992 19C13.9881 19 15.8414 18.4194 17.3988 17.4184M10.999 5.04939C11.328 5.01673 11.6617 5 11.9992 5C16.4769 5 20.2672 7.94291 21.5414 12C21.2607 12.894 20.8577 13.7338 20.3522 14.5\"\n        stroke=\"currentColor\"\n        strokeWidth=\"2\"\n        strokeLinecap=\"round\"\n        strokeLinejoin=\"round\"\n      />\n    </svg>\n  );\n};\n\nexport default HidePasswordIcon;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/LeftArrow.tsx",
    "content": "const LeftArrow = (props: { className: string }) => {\n  const { className } = props;\n  return (\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      className={className}\n      viewBox=\"0 0 24 24\"\n      fill=\"none\"\n    >\n      <path\n        d=\"M11 5L4 12L11 19M4 12H20\"\n        stroke=\"currentColor\"\n        strokeWidth=\"2\"\n        strokeLinecap=\"round\"\n        strokeLinejoin=\"round\"\n      />\n    </svg>\n  );\n};\n\nexport default LeftArrow;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/LoadingSpinner.tsx",
    "content": "const LoadingSpinner = ({className}: { className: string }) => {\n  return (\n    <svg\n      aria-hidden=\"true\"\n      className={`animate-spin ${className}`}\n      viewBox=\"0 0 100 101\"\n      fill=\"none\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n    >\n      <path\n        d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n        fill=\"currentColor\"\n      />\n      <path\n        d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n        fill=\"currentFill\"\n      />\n    </svg>\n  );\n};\n\nexport default LoadingSpinner;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/LogoutIcon.tsx",
    "content": "const LogoutIcon = (props: { className: string }) => {\n  const { className = \"\" } = props;\n\n  return (\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      className={className}\n      viewBox=\"0 0 24 24\"\n      fill=\"none\"\n    >\n      <path\n        d=\"M4 12H13.5M6 15L3 12L6 9M11 7V6C11 5.46957 11.2107 4.96086 11.5858 4.58579C11.9609 4.21071 12.4696 4 13 4H18C18.5304 4 19.0391 4.21071 19.4142 4.58579C19.7893 4.96086 20 5.46957 20 6V18C20 18.5304 19.7893 19.0391 19.4142 19.4142C19.0391 19.7893 18.5304 20 18 20H13C12.4696 20 11.9609 19.7893 11.5858 19.4142C11.2107 19.0391 11 18.5304 11 18V17\"\n        stroke=\"currentColor\"\n        strokeWidth=\"1.5\"\n        strokeLinecap=\"round\"\n        strokeLinejoin=\"round\"\n      />\n    </svg>\n  );\n};\n\nexport default LogoutIcon;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/OrderIcon.tsx",
    "content": "const OrderIcon = (props: { className: string }) => {\n  const { className = '' } = props;\n  return (\n    <svg\n      viewBox=\"0 0 24 24\"\n      fill=\"none\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n      className={className}\n    >\n      <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\"></g>\n      <g\n        id=\"SVGRepo_tracerCarrier\"\n        strokeLinecap=\"round\"\n        strokeLinejoin=\"round\"\n      ></g>\n      <g id=\"SVGRepo_iconCarrier\">\n        <rect x=\"5\" y=\"4\" width=\"14\" height=\"17\" rx=\"2\" stroke=\"currentColor\"></rect>\n        <path d=\"M9 9H15\" stroke=\"currentColor\" strokeLinecap=\"round\"></path>\n        <path d=\"M9 13H15\" stroke=\"currentColor\" strokeLinecap=\"round\"></path>\n        <path d=\"M9 17H13\" stroke=\"currentColor\" strokeLinecap=\"round\"></path>\n      </g>\n    </svg>\n  );\n};\n\nexport default OrderIcon;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/RectangleIcon.tsx",
    "content": "const RectangleIcon = (props: {className: string, rectClassName: string}) => {\n    const {className, rectClassName} =props\n  return (\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      className={className}\n      viewBox=\"0 0 20 40\"\n      fill=\"none\"\n    >\n      <rect className={rectClassName} rx=\"4\" fill=\"currentColor\" />\n    </svg>\n  );\n};\n\nexport default RectangleIcon;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/SearchIcon.tsx",
    "content": "const SearchIcon = (props: { className: string }) => {\n  const { className } = props;\n\n  return (\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      viewBox=\"0 0 24 24\"\n      className={className}\n      fill=\"none\"\n    >\n      <path\n        d=\"M20 20L16.2223 16.2156M18.3158 11.1579C18.3158 13.0563 17.5617 14.8769 16.2193 16.2193C14.8769 17.5617 13.0563 18.3158 11.1579 18.3158C9.2595 18.3158 7.43886 17.5617 6.0965 16.2193C4.75413 14.8769 4 13.0563 4 11.1579C4 9.2595 4.75413 7.43886 6.0965 6.0965C7.43886 4.75413 9.2595 4 11.1579 4C13.0563 4 14.8769 4.75413 16.2193 6.0965C17.5617 7.43886 18.3158 9.2595 18.3158 11.1579V11.1579Z\"\n        stroke=\"currentColor\"\n        strokeWidth=\"1.5\"\n        strokeLinecap=\"round\"\n      />\n    </svg>\n  );\n};\n\nexport default SearchIcon;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/ShowPasswordIcon.tsx",
    "content": "const ShowPasswordIcon = (props: { className: string }) => {\n  const { className } = props;\n  return (\n    <svg\n      className={className}\n      viewBox=\"0 0 24 24\"\n      fill=\"none\"\n    >\n      <path\n        d=\"M15.0007 12C15.0007 13.6569 13.6576 15 12.0007 15C10.3439 15 9.00073 13.6569 9.00073 12C9.00073 10.3431 10.3439 9 12.0007 9C13.6576 9 15.0007 10.3431 15.0007 12Z\"\n        stroke=\"currentColor\"\n        strokeWidth=\"2\"\n        strokeLinecap=\"round\"\n        strokeLinejoin=\"round\"\n      />\n      <path\n        d=\"M12.0012 5C7.52354 5 3.73326 7.94288 2.45898 12C3.73324 16.0571 7.52354 19 12.0012 19C16.4788 19 20.2691 16.0571 21.5434 12C20.2691 7.94291 16.4788 5 12.0012 5Z\"\n        stroke=\"currentColor\"\n        strokeWidth=\"2\"\n        strokeLinecap=\"round\"\n        strokeLinejoin=\"round\"\n      />\n    </svg>\n  );\n};\n\nexport default ShowPasswordIcon;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/SubtractIcon.tsx",
    "content": "const SubtractIcon = (props: { className: string }) => {\n  const { className } = props;\n  return (\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      className={className}\n      viewBox=\"0 0 24 24\"\n      fill=\"none\"\n    >\n      <path\n        d=\"M20 12H4\"\n        stroke=\"currentColor\"\n        strokeWidth=\"1.5\"\n        strokeLinecap=\"round\"\n      />\n    </svg>\n  );\n};\n\nexport default SubtractIcon;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/TickIcon.tsx",
    "content": "const TickIcon = (props: {\n  className: string;\n  circleProps?: { cx: number; cy: number; r: number; className: string };\n}) => {\n  const {\n    className,\n    circleProps = { className: \"fill-zinc-50\", cx: 25, cy: 25, r: 25 },\n  } = props;\n  return (\n    <svg className={className} viewBox=\"0 0 50 50\" xmlSpace=\"preserve\">\n      <circle {...circleProps} />\n      <polyline\n        fill=\"none\"\n        stroke=\"currentColor\"\n        strokeWidth=\"2\"\n        strokeLinecap=\"round\"\n        strokeLinejoin=\"round\"\n        strokeMiterlimit={10}\n        points=\"38,15 22,33 12,25\"\n      />\n    </svg>\n  );\n};\n\nexport default TickIcon;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/TruckIcon.tsx",
    "content": "const TruckIcon = (props: {className: string}) => {\n    const {className} = props\n  return (\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      className={className}\n      viewBox=\"0 0 41 40\"\n      fill=\"none\"\n    >\n      <g clipPath=\"url(#clip0_1121_788)\">\n        <path\n          d=\"M12.1667 31.6667C14.0076 31.6667 15.5 30.1743 15.5 28.3333C15.5 26.4924 14.0076 25 12.1667 25C10.3257 25 8.83334 26.4924 8.83334 28.3333C8.83334 30.1743 10.3257 31.6667 12.1667 31.6667Z\"\n          stroke=\"currentColor\"\n          strokeWidth=\"2\"\n          strokeLinecap=\"round\"\n          strokeLinejoin=\"round\"\n        />\n        <path\n          d=\"M28.8333 31.6667C30.6743 31.6667 32.1667 30.1743 32.1667 28.3333C32.1667 26.4924 30.6743 25 28.8333 25C26.9924 25 25.5 26.4924 25.5 28.3333C25.5 30.1743 26.9924 31.6667 28.8333 31.6667Z\"\n          stroke=\"currentColor\"\n          strokeWidth=\"2\"\n          strokeLinecap=\"round\"\n          strokeLinejoin=\"round\"\n        />\n        <path\n          d=\"M8.83331 28.3335H7.49998C6.39541 28.3335 5.49998 27.4381 5.49998 26.3335V21.6668M3.83331 8.3335H20.1666C21.2712 8.3335 22.1666 9.22893 22.1666 10.3335V28.3335M15.5 28.3335H25.5M32.1667 28.3335H33.5C34.6046 28.3335 35.5 27.4381 35.5 26.3335V18.3335M35.5 18.3335H22.1666M35.5 18.3335L31.0826 10.9712C30.7211 10.3688 30.0701 10.0002 29.3676 10.0002H22.1666\"\n          stroke=\"currentColor\"\n          strokeWidth=\"2\"\n          strokeLinecap=\"round\"\n          strokeLinejoin=\"round\"\n        />\n        <path\n          d=\"M8.5 28H7.16667C6.0621 28 5.16667 27.1046 5.16667 26V21.3333M3.5 8H19.8333C20.9379 8 21.8333 8.89543 21.8333 10V28M15.5 28H25.1667M32.5 28H33.1667C34.2712 28 35.1667 27.1046 35.1667 26V18M35.1667 18H21.8333M35.1667 18L30.7493 10.6377C30.3878 10.0353 29.7368 9.66667 29.0343 9.66667H21.8333\"\n          stroke=\"currentColor\"\n          strokeWidth=\"2\"\n          strokeLinecap=\"round\"\n          strokeLinejoin=\"round\"\n        />\n        <path\n          d=\"M5.5 11.8181H12.1667\"\n          stroke=\"currentColor\"\n          strokeWidth=\"2\"\n          strokeLinecap=\"round\"\n          strokeLinejoin=\"round\"\n        />\n        <path\n          d=\"M2.31818 15.4546H8.98484\"\n          stroke=\"currentColor\"\n          strokeWidth=\"2\"\n          strokeLinecap=\"round\"\n          strokeLinejoin=\"round\"\n        />\n        <path\n          d=\"M5.5 19.0908H12.1667\"\n          stroke=\"currentColor\"\n          strokeWidth=\"2\"\n          strokeLinecap=\"round\"\n          strokeLinejoin=\"round\"\n        />\n      </g>\n      <defs>\n        <clipPath id=\"clip0_1121_788\">\n          <rect\n            width=\"40\"\n            height=\"40\"\n            fill=\"white\"\n            transform=\"translate(0.5)\"\n          />\n        </clipPath>\n      </defs>\n    </svg>\n  );\n};\n\n\nexport default TruckIcon;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/icons/UpArrow.tsx",
    "content": "const UpArrow = (props: {className: string}) => {\n    const {className} = props\n  return (\n    <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      className={className}\n      viewBox=\"0 0 24 24\"\n      fill=\"none\"\n    >\n      <path\n        d=\"M12 20V4M5 11L12 4L19 11\"\n        stroke=\"currentColor\"\n        strokeWidth=\"2\"\n        strokeLinecap=\"round\"\n        strokeLinejoin=\"round\"\n      />\n    </svg>\n  );\n};\n\nexport default UpArrow;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/modals/addaddressmodal/container/AddAddressModalContainer.tsx",
    "content": "import { useCallback, useEffect, useReducer, useState } from \"react\";\nimport { COUNTRIES_DROPDOWN_LIST } from \"../../../../data/applicationData\";\nimport AddAddressModal from \"../presentation/AddAddressModal\";\nimport {\n  ADDRESS_FORM_KEYS,\n  AddressFormFields,\n  DropdownItem,\n} from \"../../../../constants\";\nimport CountryApiService from \"../../../../services/countryapi/CountryApiService\";\nimport ApiError from \"../../../../services/ApiError\";\nimport AddressService from \"../../../../services/address/AddressService\";\nimport FeedbackModal from \"../../feedbackmodal/presentation/FeedbackModal\";\nimport { useTranslation } from \"react-i18next\";\nimport { AddressClass } from \"../../../../services/address/AddressTypes\";\n\ninterface DropdownListActions  {\n  type:\n    | \"FETCHING\"\n    | \"UPDATE_CITIES\"\n    | \"UPDATE_STATES\"\n    | \"UPDATE_LOADING_STATUS\"\n    | \"UPDATE_ERROR_STATUS\"\n    | \"COUNTRY_SELECTED\"\n    | \"STATE_SELECTED\"\n    | \"CITY_SELECTED\";\n  payload?: DropdownItem[] | string | DropdownItem;\n}\ninterface DropdownListState  {\n  selectedCountry: DropdownItem | undefined;\n  selectedState: DropdownItem | undefined;\n  selectedCity: DropdownItem | undefined;\n  countries: DropdownItem[];\n  cities: DropdownItem[];\n  states: DropdownItem[];\n  isLoading: boolean;\n  isError: boolean;\n  errorMessage: string;\n}\ninterface AddAddressModalContainerProps {\n  hideModal(): void;\n  onAddressAddedOrUpdatedCallback?(): void;\n  address?: AddressClass /* Address if it exists: In case of Update */;\n}\n\nfunction dropdownListsReducer(\n  state: DropdownListState,\n  action: DropdownListActions\n) {\n  switch (action.type) {\n    case \"FETCHING\": {\n      return {\n        ...state,\n        isLoading: true,\n        isError: false,\n        errorMessage: \"\",\n      };\n    }\n    case \"COUNTRY_SELECTED\": {\n      if (\n        typeof action.payload !== \"string\" &&\n        !(action.payload instanceof Array)\n      ) {\n        return {\n          ...state,\n          selectedCountry: action.payload,\n        };\n      }\n      return state;\n    }\n    case \"STATE_SELECTED\": {\n      if (\n        typeof action.payload !== \"string\" &&\n        !(action.payload instanceof Array)\n      ) {\n        return {\n          ...state,\n          selectedState: action.payload,\n        };\n      }\n      return state;\n    }\n    case \"CITY_SELECTED\": {\n      if (\n        typeof action.payload !== \"string\" &&\n        !(action.payload instanceof Array)\n      ) {\n        return {\n          ...state,\n          selectedCity: action.payload,\n        };\n      }\n      return state;\n    }\n    case \"UPDATE_STATES\": {\n      if (action.payload instanceof Array) {\n        return {\n          ...state,\n          states: action.payload,\n          cities: [],\n          isLoading: false,\n          isError: false,\n          errorMessage: \"\",\n        };\n      }\n      return state;\n    }\n    case \"UPDATE_CITIES\": {\n      if (action.payload instanceof Array) {\n        return {\n          ...state,\n          cities: action.payload,\n          isLoading: false,\n          isError: false,\n          errorMessage: \"\",\n        };\n      }\n      return state;\n    }\n    case \"UPDATE_ERROR_STATUS\": {\n      if (typeof action.payload === \"string\") {\n        return {\n          ...state,\n          isLoading: false,\n          isError: true,\n          errorMessage: action.payload,\n        };\n      }\n      return state;\n    }\n    default:\n      return state;\n  }\n}\nconst AddAddressModalContainer = (props: AddAddressModalContainerProps) => {\n  const {\n    hideModal = () => {},\n    onAddressAddedOrUpdatedCallback,\n    address,\n  } = props;\n\n  const { t } = useTranslation();\n\n  /* State to hold initially selected address: In case of update (Default Address) */\n  const [initiallySelectedAddress, setInitiallySelectedAddress] = useState<\n     {\n        selectedCountry: DropdownItem;\n        selectedState: DropdownItem;\n        selectedCity: DropdownItem;\n        addressLine1: string;\n        addressLine2: string;\n        pincode: string;\n      }\n    | undefined\n  >();\n\n  /* Loading state for Saving the address to DB  */\n  const [updateInProgress, setUpdateInProgress] = useState(false);\n\n  const [isSuccessModalShown, setIsSuccessModalShown] = useState(false);\n\n  const [state, dispatch] = useReducer(dropdownListsReducer, {\n    selectedCountry: undefined,\n    selectedState: undefined,\n    selectedCity: undefined,\n    countries: COUNTRIES_DROPDOWN_LIST,\n    cities: [],\n    states: [],\n    isLoading: false,\n    isError: false,\n    errorMessage: \"\",\n  });\n\n  const fetchStatesOfCountry = async (countryName: string) => {\n    const response = await CountryApiService.getStatesOfACountry(countryName);\n    if (!(response instanceof ApiError)) {\n      const statesList = response.states.map((state) => {\n        return {\n          id: state.state_code,\n          text: state.name,\n        };\n      });\n      return statesList;\n    } else {\n      // Error\n      dispatch({\n        type: \"UPDATE_ERROR_STATUS\",\n        payload: response.errorResponse?.message || response.errorMessage,\n      });\n    }\n  };\n\n  const fetchCitiesOfState = useCallback(\n    async (country: string | undefined, stateName: string) => {\n      if (country) {\n        const response = await CountryApiService.getCitiesOfAState(\n          country,\n          stateName\n        );\n        if (!(response instanceof ApiError)) {\n          const citiesList = response.map((city, index) => {\n            return {\n              id: index,\n              text: city,\n            };\n          });\n\n          return citiesList;\n        } else {\n          // Error\n          dispatch({\n            type: \"UPDATE_ERROR_STATUS\",\n            payload: response.errorResponse?.message || response.errorMessage,\n          });\n        }\n      }\n    },\n    []\n  );\n\n  const dropdownChangeHandlers = async (\n    key: ADDRESS_FORM_KEYS,\n    value: DropdownItem | undefined\n  ) => {\n    switch (key) {\n      case ADDRESS_FORM_KEYS.country: {\n        // Fetch States\n        if (value?.text) {\n          dispatch({ type: \"COUNTRY_SELECTED\", payload: value });\n          dispatch({ type: \"FETCHING\" });\n          const statesList = await fetchStatesOfCountry(value?.text);\n          statesList &&\n            dispatch({ type: \"UPDATE_STATES\", payload: statesList });\n        }\n        return;\n      }\n      case ADDRESS_FORM_KEYS.state: {\n        // Fetch States\n        if (value?.text) {\n          dispatch({ type: \"STATE_SELECTED\", payload: value });\n          dispatch({ type: \"FETCHING\" });\n          const citiesList = await fetchCitiesOfState(\n            state.selectedCountry?.text,\n            value?.text\n          );\n          citiesList &&\n            dispatch({ type: \"UPDATE_CITIES\", payload: citiesList });\n        }\n        return;\n      }\n      case ADDRESS_FORM_KEYS.city: {\n        // Fetch States\n        if (value?.text) {\n          dispatch({ type: \"CITY_SELECTED\", payload: value });\n        }\n        return;\n      }\n    }\n  };\n\n  const formSubmitHandler = async (data: AddressFormFields) => {\n    setUpdateInProgress(true);\n    let response: boolean | ApiError;\n    if (address) {\n      response = await AddressService.updateAddress(\n        address?._id,\n        data.country.text || \"\",\n        data.state.text || \"\",\n        data.city.text || \"\",\n        data.addressLine1,\n        data.addressLine2,\n        data.pincode\n      );\n    } else {\n      response = await AddressService.createAddress(\n        data.country.text || \"\",\n        data.state.text || \"\",\n        data.city.text || \"\",\n        data.addressLine1,\n        data.addressLine2,\n        data.pincode\n      );\n    }\n\n    setUpdateInProgress(false);\n    if (!(response instanceof ApiError)) {\n      if (onAddressAddedOrUpdatedCallback) {\n        onAddressAddedOrUpdatedCallback();\n      }\n      // Success\n      setIsSuccessModalShown(true);\n    } else {\n      dispatch({\n        type: \"UPDATE_ERROR_STATUS\",\n        payload: response.errorResponse?.message || response.errorMessage,\n      });\n    }\n  };\n\n  useEffect(() => {\n    const initializeStates = async () => {\n      if (address) {\n        /* Find selected country in countries dropdown list */\n        const countryFound = COUNTRIES_DROPDOWN_LIST.find(\n          (country) => country.text === address.country\n        );\n\n        if (!countryFound || !countryFound.text) {\n          return;\n        }\n\n        /* Set selected country */\n        dispatch({ type: \"COUNTRY_SELECTED\", payload: countryFound });\n\n        /* Fetch states of preselected country */\n        dispatch({ type: \"FETCHING\" });\n        const statesList = await fetchStatesOfCountry(countryFound.text);\n        if (!statesList) {\n          return;\n        }\n\n        /* Find selected state in states list */\n        const stateFound = statesList.find(\n          (state) => state.text === address.state\n        );\n\n        if (!stateFound) {\n          return;\n        }\n\n        /* Set states list and selected state */\n        dispatch({ type: \"STATE_SELECTED\", payload: stateFound });\n        dispatch({ type: \"UPDATE_STATES\", payload: statesList });\n\n        /* Fetch Cities */\n        dispatch({ type: \"FETCHING\" });\n        const citiesList = await fetchCitiesOfState(\n          countryFound.text,\n          stateFound.text\n        );\n        if (!citiesList) {\n          return;\n        }\n\n        /* Find Selected City In Cities List */\n        const cityFound = citiesList.find((city) => city.text === address.city);\n        if (!cityFound) {\n          return;\n        }\n\n        /* Set cities list and selected city */\n        dispatch({ type: \"CITY_SELECTED\", payload: cityFound });\n        dispatch({ type: \"UPDATE_CITIES\", payload: citiesList });\n\n        /* Set Initially selected address */\n        setInitiallySelectedAddress({\n          selectedCountry: countryFound,\n          selectedState: stateFound,\n          selectedCity: cityFound,\n          addressLine1: address.addressLine1,\n          addressLine2: address.addressLine2,\n          pincode: address.pincode,\n        });\n      }\n    };\n\n    initializeStates();\n  }, [address, fetchCitiesOfState]);\n\n\n  return (\n    <>\n      {isSuccessModalShown ? (\n        <FeedbackModal\n          messageType=\"SUCCESS\"\n          message={t(\"addressAddedSuccessfully\")}\n          hideModal={hideModal}\n        />\n      ) : (\n        <AddAddressModal\n          countriesList={state.countries}\n          citiesList={state.cities}\n          statesList={state.states}\n          dropdownChangeHandlers={dropdownChangeHandlers}\n          formSubmitHandler={formSubmitHandler}\n          fetchingDropdownLists={state.isLoading}\n          isModalButtonLoading={updateInProgress}\n          hideModal={hideModal}\n          apiError={state.errorMessage}\n          initiallySelectedAddress={initiallySelectedAddress}\n        />\n      )}\n    </>\n  );\n};\n\nexport default AddAddressModalContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/modals/addaddressmodal/presentation/AddAddressModal.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport {\n  ADDRESS_FORM_KEYS,\n  AddressFormFields,\n  ButtonTypes,\n  DropdownItem,\n  DropdownTypes,\n  REGEX_PATTERNS,\n} from \"../../../../constants\";\nimport Dropdown, { DropdownActions } from \"../../../basic/Dropdown\";\nimport Modal from \"../../../basic/Modal\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport { useEffect, useRef } from \"react\";\nimport Input from \"../../../basic/Input\";\nimport FullPageLoadingSpinner from \"../../../basic/FullPageLoadingSpinner\";\nimport Button from \"../../../basic/Button\";\nimport ErrorMessage from \"../../../basic/ErrorMessage\";\nimport { useAppSelector } from \"../../../../store\";\n\ninterface AddAddressModalProps {\n  initiallySelectedAddress?: {\n    selectedCountry: DropdownItem;\n    selectedCity: DropdownItem;\n    selectedState: DropdownItem;\n    addressLine1: string;\n    addressLine2: string;\n    pincode: string\n  };\n  countriesList: Array<DropdownItem>;\n  statesList: Array<DropdownItem>;\n  citiesList: Array<DropdownItem>;\n  dropdownChangeHandlers: (\n    key: ADDRESS_FORM_KEYS,\n    value: DropdownItem | undefined\n  ) => void;\n  formSubmitHandler(data: AddressFormFields): void;\n  fetchingDropdownLists: boolean;\n  isModalButtonLoading: boolean;\n  hideModal(): void;\n  apiError?: string;\n}\nconst AddAddressModal = (props: AddAddressModalProps) => {\n  const {\n    initiallySelectedAddress,\n    countriesList = [],\n    statesList = [],\n    citiesList = [],\n    dropdownChangeHandlers,\n    formSubmitHandler,\n    fetchingDropdownLists = false,\n    isModalButtonLoading = false,\n    hideModal,\n    apiError = \"\",\n  } = props;\n\n  const { t } = useTranslation();\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  const {\n    handleSubmit,\n    control,\n    register,\n    watch,\n    formState: { errors },\n    setValue,\n  } = useForm<AddressFormFields>();\n\n  /* To check for initial country, city and state initialization */\n  const isInitializing = useRef(false);\n\n  /* Refs to get access to dropdown actions  */\n  const countryActionRef = useRef<DropdownActions>({forceSetSelectedItem(_) {},});\n  const stateActionRef = useRef<DropdownActions>({forceSetSelectedItem(_) {},});\n  const cityActionRef = useRef<DropdownActions>({forceSetSelectedItem(_) {},});\n  \n\n  useEffect(() => {\n    const subscription = watch((value, { name }) => {\n\n      /* Call dropdownChangeHandler if initializing is not in progress (To avoid multiple API calls) */\n      if ((name === \"country\" || name === \"city\" || name === \"state\") && !isInitializing.current) {\n        dropdownChangeHandlers(ADDRESS_FORM_KEYS[name], value[name]);\n      }\n    });\n    return () => {\n      subscription.unsubscribe();\n    };\n  }, [watch, dropdownChangeHandlers, isInitializing]);\n\n  useEffect(() => {\n    if (initiallySelectedAddress) {\n      /* Initializing in progress */\n      isInitializing.current = true;\n\n      /* Set Dropdown values */\n      setValue(\"country\", initiallySelectedAddress.selectedCountry);\n      setValue(\"state\", initiallySelectedAddress.selectedState);\n      setValue(\"city\", initiallySelectedAddress.selectedCity);\n      \n      setValue(\"addressLine1\", initiallySelectedAddress.addressLine1);\n      setValue(\"addressLine2\", initiallySelectedAddress.addressLine2);\n      setValue(\"pincode\", initiallySelectedAddress.pincode);\n\n      /* Set selected items on dropdown component */\n      countryActionRef.current?.forceSetSelectedItem(initiallySelectedAddress.selectedCountry);\n      stateActionRef.current?.forceSetSelectedItem(initiallySelectedAddress.selectedState);\n      cityActionRef.current.forceSetSelectedItem(initiallySelectedAddress.selectedCity);\n\n      /* Initializing complete */\n      isInitializing.current = false;\n    }\n  }, [initiallySelectedAddress, setValue]);\n\n  return (\n    <>\n      {fetchingDropdownLists && <FullPageLoadingSpinner />}\n      <Modal\n        heading={initiallySelectedAddress ? t('updateAddress') : t(\"addAddress\")}\n        secondaryButtonHandler={hideModal}\n        isPrimaryButtonLoading={isModalButtonLoading}\n        primaryButtonClassname=\"uppercase\"\n        secondaryButtonClassname=\"uppercase\"\n        className=\"px-4 py-4 w-full lg:px-12 lg:w-2/4\"\n      >\n        <>\n          {apiError && (\n            <ErrorMessage\n              message={apiError}\n              errorIconClassName=\"w-4 h-4\"\n              className=\"text-sm mb-2\"\n            />\n          )}\n          <form\n            className=\"flex flex-col gap-y-6\"\n            onSubmit={handleSubmit(formSubmitHandler)}\n          >\n            <div className=\"grid grid-cols-2 gap-4\" dir={isRTL ? \"rtl\" : \"ltr\"}>\n              <Controller\n                name={\"country\"}\n                control={control}\n                rules={{ required: t(\"countryIsRequired\") }}\n                render={({ field }) => (\n                  <Dropdown\n                    label={t(\"selectCountry\")}\n                    itemsList={countriesList}\n                    type={DropdownTypes.borderedLightBg}\n                    mainButtonClassNames=\"w-full\"\n                    errorMessage={errors.country?.message || \"\"}\n                    actionsRef={countryActionRef.current}\n                    {...field}\n                  />\n                )}\n              />\n\n              <Controller\n                name={\"state\"}\n                control={control}\n                rules={{ required: t(\"stateIsRequired\") }}\n                render={({ field }) => (\n                  <Dropdown\n                    label={t(\"selectState\")}\n                    itemsList={statesList}\n                    type={DropdownTypes.borderedLightBg}\n                    mainButtonClassNames=\"w-full\"\n                    errorMessage={errors.state?.message || \"\"}\n                    actionsRef={stateActionRef.current}\n                    {...field}\n                  />\n                )}\n              />\n\n              <Controller\n                name={\"city\"}\n                control={control}\n                rules={{ required: t(\"cityIsRequired\") }}\n                render={({ field }) => (\n                  <Dropdown\n                    label={t(\"selectCity\")}\n                    itemsList={citiesList}\n                    type={DropdownTypes.borderedLightBg}\n                    mainButtonClassNames=\"w-full\"\n                    errorMessage={errors.city?.message || \"\"}\n                    actionsRef={cityActionRef.current}\n                    {...field}\n                  />\n                )}\n              />\n            </div>\n            <div\n              className=\"grid grid-cols-2 gap-x-4 gap-y-6\"\n              dir={isRTL ? \"rtl\" : \"ltr\"}\n            >\n              <Input\n                type=\"text\"\n                placeholder={t(\"enterAddress1\")}\n                {...register(\"addressLine1\", {\n                  required: t(\"addressIsRequired\"),\n                })}\n                className=\"placeholder:capitalize placeholder:text-sm\"\n                errorMessage={errors.addressLine1?.message || \"\"}\n              />\n\n              <Input\n                type=\"text\"\n                placeholder={t(\"enterAddress2\")}\n                {...register(\"addressLine2\")}\n                className=\"placeholder:capitalize placeholder:text-sm\"\n              />\n\n              <Input\n                type=\"text\"\n                placeholder={t(\"enterPincode\")}\n                {...register(\"pincode\", {\n                  required: t(\"pincodeIsRequired\"),\n                  minLength: { value: 6, message: t(\"invalidPincode\") },\n                  maxLength: { value: 6, message: t(\"invalidPincode\") },\n                  pattern: {\n                    value: new RegExp(REGEX_PATTERNS.numberPattern),\n                    message: t(\"invalidPincode\"),\n                  },\n                })}\n                {...{ maxLength: 6 }}\n                className=\"placeholder:capitalize placeholder:text-sm\"\n                errorMessage={errors.pincode?.message || \"\"}\n              />\n            </div>\n\n            <div className=\"flex flex-col justify-center gap-2\">\n              <Button\n                type=\"submit\"\n                buttonType={ButtonTypes.primaryButton}\n                className={`px-12 py-1 flex justify-center uppercase`}\n                onClickHandler={() => {}}\n                isLoading={isModalButtonLoading}\n              >\n                <span>{initiallySelectedAddress ? t('update') : t(\"add\")}</span>\n              </Button>\n              <Button\n                buttonType={ButtonTypes.secondaryButton}\n                className={`px-12 py-1 flex justify-center uppercase`}\n                onClickHandler={hideModal}\n              >\n                <span>{t(\"cancel\")}</span>\n              </Button>\n            </div>\n          </form>\n        </>\n      </Modal>\n    </>\n  );\n};\n\nexport default AddAddressModal;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/modals/changepasswordmodal/container/ChangePasswordModalContainer.tsx",
    "content": "import { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { ChangePasswordFields } from \"../../../../constants\";\nimport ApiError from \"../../../../services/ApiError\";\nimport AuthService from \"../../../../services/auth/AuthService\";\nimport FeedbackModal from \"../../feedbackmodal/presentation/FeedbackModal\";\nimport ChangePasswordModal from \"../presentation/ChangePasswordModal\";\n\ninterface ChangePasswordModalContainerProps {\n  hideModal(): void;\n}\nconst ChangePasswordModalContainer = (\n  props: ChangePasswordModalContainerProps\n) => {\n  const { hideModal } = props;\n\n  const { t } = useTranslation();\n\n  /* Flag for whether password is changed or not */\n  const [isPasswordChanged, setIsPasswordChanged] = useState(false);\n\n  /* For loading spinner */\n  const [isPasswordChangeInProgress, setIsPasswordChangeInProgress] = useState(false);\n\n  /* To hold errors when calling the change password API */\n  const [errorChangingPassword, setErrorChangingPassword] = useState(\"\");\n\n  /* Change password handler */\n  const changePasswordHandler = async (fields: ChangePasswordFields) => {\n    /* Hide error message */\n    setErrorChangingPassword(\"\");\n\n    /* Show loading spinner */\n    setIsPasswordChangeInProgress(true);\n\n    /* API Call */\n    const response = await AuthService.changePassword(fields);\n\n    /* Hide loading spinner */\n    setIsPasswordChangeInProgress(false);\n\n    /* Error */\n    if (response instanceof ApiError) {\n      setErrorChangingPassword(\n        response.errorResponse?.message || response.errorMessage\n      );\n    } else {\n      /* Success */\n      setIsPasswordChanged(true);\n    }\n  };\n\n  return (\n    <>\n      {isPasswordChanged ? (\n        <FeedbackModal\n          message={t(\"passwordChangedSuccessfully\")}\n          messageType=\"SUCCESS\"\n          hideModal={hideModal}\n        />\n      ) : (\n        <ChangePasswordModal\n          hideModal={hideModal}\n          changePasswordHandler={changePasswordHandler}\n          errorChangingPassword={errorChangingPassword}\n          isPasswordChangeInProgress={isPasswordChangeInProgress}\n        />\n      )}\n    </>\n  );\n};\n\nexport default ChangePasswordModalContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/modals/changepasswordmodal/presentation/ChangePasswordModal.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport Modal from \"../../../basic/Modal\";\nimport Button from \"../../../basic/Button\";\nimport { ButtonTypes, ChangePasswordFields } from \"../../../../constants\";\nimport Input from \"../../../basic/Input\";\nimport { useForm } from \"react-hook-form\";\nimport ErrorMessage from \"../../../basic/ErrorMessage\";\n\ninterface ChangePasswordModalProps {\n  hideModal(): void;\n  errorChangingPassword?: string;\n  changePasswordHandler(fields: ChangePasswordFields): void;\n  isPasswordChangeInProgress: boolean;\n}\nconst ChangePasswordModal = (props: ChangePasswordModalProps) => {\n  const {\n    hideModal,\n    errorChangingPassword = \"\",\n    changePasswordHandler,\n    isPasswordChangeInProgress = false,\n  } = props;\n\n  const { t } = useTranslation();\n\n  const {\n    handleSubmit,\n    register,\n    watch,\n    formState: { errors },\n  } = useForm<ChangePasswordFields>();\n\n  return (\n    <>\n      <Modal\n        heading={t(\"changePassword\")}\n        className=\"px-8 py-4 w-[95%] lg:w-1/3\"\n      >\n        <form\n          className=\"flex flex-col gap-y-8 mt-4\"\n          onSubmit={handleSubmit(changePasswordHandler)}\n        >\n          {errorChangingPassword && (\n            <ErrorMessage\n              message={errorChangingPassword}\n              errorIconClassName=\"w-4 h-4\"\n              className=\"text-sm\"\n            />\n          )}\n          <Input\n            placeholder={t(\"currentPassword\")}\n            type=\"password\"\n            className=\"placeholder:capitalize\"\n            autoComplete=\"current-password\"\n            errorMessage={errors.currentPassword?.message || \"\"}\n            {...register(\"currentPassword\", {\n              required: t(\"thisFieldIsRequired\"),\n            })}\n          />\n\n          <Input\n            placeholder={t(\"newPassword\")}\n            type=\"password\"\n            className=\"placeholder:capitalize\"\n            autoComplete=\"current-password\"\n            errorMessage={errors.newPassword?.message || \"\"}\n            {...register(\"newPassword\", {\n              required: t(\"thisFieldIsRequired\"),\n            })}\n          />\n\n          <Input\n            placeholder={t(\"confirmNewPassword\")}\n            type=\"password\"\n            className=\"placeholder:capitalize\"\n            autoComplete=\"current-password\"\n            errorMessage={errors.confirmNewPassword?.message || \"\"}\n            {...register(\"confirmNewPassword\", {\n              required: t(\"thisFieldIsRequired\"),\n              validate: {\n                matchesNewPassword: (value) => {\n                  if (watch(\"newPassword\") !== value) {\n                    return t(\"passwordsDontMatch\");\n                  }\n                },\n              },\n            })}\n          />\n          <div className=\"flex flex-col gap-y-4\">\n            <Button\n              type=\"submit\"\n              buttonType={ButtonTypes.primaryButton}\n              onClickHandler={() => {}}\n              className=\"uppercase px-12 py-1 flex justify-center\"\n              isLoading={isPasswordChangeInProgress}\n            >\n              <span>{t(\"update\")}</span>\n            </Button>\n\n            {!isPasswordChangeInProgress && (\n              <Button\n                buttonType={ButtonTypes.secondaryButton}\n                onClickHandler={hideModal}\n                className=\"uppercase px-12 py-1\"\n              >\n                <span>{t(\"cancel\")}</span>\n              </Button>\n            )}\n          </div>\n        </form>\n      </Modal>\n    </>\n  );\n};\n\nexport default ChangePasswordModal;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/modals/deleteaddressmodal/container/DeleteAddressModalContainer.tsx",
    "content": "import { useState } from \"react\";\nimport DeleteAddressModal from \"../presentation/DeleteAddressModal\";\nimport { AddressClass } from \"../../../../services/address/AddressTypes\";\nimport AddressService from \"../../../../services/address/AddressService\";\nimport ApiError from \"../../../../services/ApiError\";\nimport FeedbackModal from \"../../feedbackmodal/presentation/FeedbackModal\";\nimport { useTranslation } from \"react-i18next\";\n\ninterface DeleteAddressModalContainerProps {\n  hideModal(): void;\n  onAddressDeletedCallback?(): void;\n  address: AddressClass;\n}\nconst DeleteAddressModalContainer = (\n  props: DeleteAddressModalContainerProps\n) => {\n  const { hideModal, onAddressDeletedCallback, address } = props;\n\n  const {t} = useTranslation();\n\n  const [isDeletionInProgress, setIsDeletionInProgress] = useState(false);\n  const [isFeedbackModalShown, setIsFeedbackModalShown] = useState(false);\n  const [error, setError] = useState(\"\");\n\n  const hideModalHandler = () => {\n    if(isFeedbackModalShown){\n        if(onAddressDeletedCallback){\n            onAddressDeletedCallback();\n        }\n        hideModal();\n        return;\n    }\n    hideModal();\n  }\n\n  const addressDeleteHandler = async () => {\n    setIsDeletionInProgress(true);\n    setError(\"\");\n\n    const response = await AddressService.deleteAddress(address._id);\n    if (!(response instanceof ApiError)) {\n      // Success\n      setIsFeedbackModalShown(true);\n    } else {\n      setError(response.errorResponse?.message || response.errorMessage);\n    }\n    setIsDeletionInProgress(false);\n  };\n  return (\n    <>\n      {isFeedbackModalShown ? (\n        <FeedbackModal message={t('addressDeletedSuccessfully')} messageType=\"SUCCESS\" hideModal={hideModalHandler} />\n      ) : (\n        <DeleteAddressModal\n          hideModal={hideModal}\n          addressDeleteHandler={addressDeleteHandler}\n          apiError={error}\n          isDeletionInProgress={isDeletionInProgress}\n        />\n      )}\n    </>\n  );\n};\n\nexport default DeleteAddressModalContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/modals/deleteaddressmodal/presentation/DeleteAddressModal.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport Modal from \"../../../basic/Modal\";\nimport ErrorMessage from \"../../../basic/ErrorMessage\";\n\ninterface DeleteAddressModalProps {\n  addressDeleteHandler(): void;\n  isDeletionInProgress: boolean;\n  hideModal(): void;\n  apiError?: string;\n}\nconst DeleteAddressModal = (props: DeleteAddressModalProps) => {\n  const {\n    addressDeleteHandler,\n    hideModal,\n    isDeletionInProgress = false,\n    apiError = \"\",\n  } = props;\n  const { t } = useTranslation();\n  return (\n    <Modal\n      heading={t(\"deleteAddress\")}\n      className=\"px-12 py-4\"\n      primaryButtonText={t(\"yes\")}\n      primaryButtonClassname=\"uppercase\"\n      secondaryButtonText={t(\"no\")}\n      secondaryButtonClassname=\"uppercase\"\n      primaryButtonHandler={addressDeleteHandler}\n      secondaryButtonHandler={hideModal}\n      isPrimaryButtonLoading={isDeletionInProgress}\n    >\n      <div className=\"flex flex-col\">\n        {apiError && <ErrorMessage message={apiError} errorIconClassName=\"w-4 h-4\" className=\"text-sm\" />}\n        <span className=\"capitalize text-sm\">{t(\"areYouSureYouWantToDeleteTheAddress\")}</span>\n      </div>\n    </Modal>\n  );\n};\n\nexport default DeleteAddressModal;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/modals/feedbackmodal/presentation/FeedbackModal.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport ErrorMessage from \"../../../basic/ErrorMessage\";\nimport Modal from \"../../../basic/Modal\";\nimport TickIcon from \"../../../icons/TickIcon\";\nimport { useAppSelector } from \"../../../../store\";\n\ninterface FeedbackModalProps {\n  messageType: \"SUCCESS\" | \"ERROR\";\n  message: string;\n  hideModal(): void;\n}\nconst FeedbackModal = (props: FeedbackModalProps) => {\n  const { messageType, message, hideModal } = props;\n\n  const { t } = useTranslation();\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  return (\n    <Modal\n      className=\"px-12 py-8\"\n      primaryButtonText={t(\"ok\")}\n      primaryButtonHandler={hideModal}\n      primaryButtonClassname=\"uppercase\"\n    >\n      <div className=\"flex items-center justify-center\">\n        {messageType === \"ERROR\" && (\n          <ErrorMessage\n            message={message}\n            errorIconClassName=\"w-4 h-4\"\n            className=\"text-sm capitalize\"\n          />\n        )}\n        {messageType === \"SUCCESS\" && (\n          <div className={`flex items-center ${isRTL ? 'flex-row-reverse' : ''}`}>\n            <TickIcon\n              className=\"w-4 h-4 text-zinc-50\"\n              circleProps={{\n                className: \"fill-green-700\",\n                cx: 25,\n                cy: 25,\n                r: 25,\n              }}\n            />\n            <span\n              className={`text-sm text-green-700 font-poppinsMedium capitalize ${\n                isRTL ? \"mr-2\" : \"ml-2\"\n              }`}\n            >\n              {message}\n            </span>\n          </div>\n        )}\n      </div>\n    </Modal>\n  );\n};\n\nexport default FeedbackModal;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/modals/forgotpasswordmodal/container/ForgotPasswordModalContainer.tsx",
    "content": "import { useState } from \"react\";\nimport ForgotPasswordModal from \"../presentation/ForgotPasswordModal\";\nimport { ForgotPasswordFields } from \"../../../../constants\";\nimport AuthService from \"../../../../services/auth/AuthService\";\nimport ApiResponse from \"../../../../services/ApiResponse\";\nimport FeedbackModal from \"../../feedbackmodal/presentation/FeedbackModal\";\nimport { useTranslation } from \"react-i18next\";\n\ninterface ForgotPasswordModalContainerProps {\n  hideModal(): void;\n}\nconst ForgotPasswordModalContainer = (\n  props: ForgotPasswordModalContainerProps\n) => {\n  const { hideModal } = props;\n\n  const { t } = useTranslation();\n\n  /* API Request Loader */\n  const [isLoading, setIsLoading] = useState(false);\n\n  /* If there is any error from the API */\n  const [apiErrorMessage, setApiErrorMessage] = useState(\"\");\n\n  /* email sent modal visbility */\n  const [isEmailSentModalShown, setIsEmailSentModalShown] = useState(false);\n\n  const forgotPasswordSubmitHandler = async (fields: ForgotPasswordFields) => {\n    setIsLoading(true);\n    setApiErrorMessage(\"\");\n\n    const response = await AuthService.forgotPassword(fields);\n\n    setIsLoading(false);\n\n    /* Success show the modal saying email sent */\n    if (response instanceof ApiResponse) {\n      setIsEmailSentModalShown(true);\n    } else {\n      /* Setting the error message */\n      setApiErrorMessage(\n        response.errorResponse?.message || response.errorMessage\n      );\n    }\n  };\n\n  return (\n    <>\n      {isEmailSentModalShown ? (\n        <FeedbackModal\n          messageType=\"SUCCESS\"\n          message={t(\"passwordResetEmailSent\")}\n          hideModal={hideModal}\n        />\n      ) : (\n        <ForgotPasswordModal\n          hideModal={hideModal}\n          isLoading={isLoading}\n          apiErrorMessage={apiErrorMessage}\n          forgotPasswordSubmitHandler={forgotPasswordSubmitHandler}\n        />\n      )}\n    </>\n  );\n};\n\nexport default ForgotPasswordModalContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/modals/forgotpasswordmodal/presentation/ForgotPasswordModal.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport {\n  ButtonTypes,\n  ForgotPasswordFields,\n  REGEX_PATTERNS,\n} from \"../../../../constants\";\nimport Text from \"../../../basic/Text\";\nimport Input from \"../../../basic/Input\";\nimport Modal from \"../../../basic/Modal\";\nimport { useForm } from \"react-hook-form\";\nimport Button from \"../../../basic/Button\";\nimport ErrorMessage from \"../../../basic/ErrorMessage\";\n\ninterface ForgotPasswordProps {\n  forgotPasswordSubmitHandler(fields: ForgotPasswordFields): void;\n  isLoading?: boolean;\n  apiErrorMessage?: string;\n  hideModal(): void;\n}\n\nconst ForgotPasswordModal = (props: ForgotPasswordProps) => {\n  const {\n    forgotPasswordSubmitHandler,\n    isLoading = false,\n    apiErrorMessage = \"\",\n    hideModal,\n  } = props;\n\n  const { t } = useTranslation();\n\n  const {\n    register,\n    handleSubmit,\n    formState: { errors },\n  } = useForm<ForgotPasswordFields>();\n\n  return (\n    <Modal heading={t(\"forgotPassword\")} className=\"px-8 py-8 w-[95%] lg:w-1/3\">\n      <div className=\"flex flex-col gap-y-6 mt-2\">\n        <Text className=\"capitalize\">\n          {t(\"enterYourDetailsBelow\")}\n        </Text>\n\n        {apiErrorMessage && (\n          <ErrorMessage\n            message={apiErrorMessage}\n            errorIconClassName=\"w-4 h-4\"\n          />\n        )}\n        <form\n          className=\"flex flex-col gap-y-8\"\n          onSubmit={handleSubmit(forgotPasswordSubmitHandler)}\n        >\n          <Input\n            placeholder={t(\"email\")}\n            autoComplete=\"email\"\n            type=\"email\"\n            className=\"placeholder:capitalize\"\n            errorMessage={errors.email?.message || \"\"}\n            {...register(\"email\", {\n              required: t(\"thisFieldIsRequired\"),\n              validate: {\n                matchPattern: (value) =>\n                  REGEX_PATTERNS.emailPattern.test(value) ||\n                  t(\"invalidEmailAddress\"),\n              },\n            })}\n          />\n          <div className=\"flex flex-col gap-y-4\">\n            <Button\n              type=\"submit\"\n              buttonType={ButtonTypes.primaryButton}\n              className=\"flex justify-center uppercase px-12 py-1\"\n              onClickHandler={() => {}}\n              isLoading={isLoading}\n            >\n              <span>{t(\"submit\")}</span>\n            </Button>\n\n            {!isLoading && (\n              <Button\n                buttonType={ButtonTypes.secondaryButton}\n                className=\"flex justify-center uppercase px-12 py-1\"\n                onClickHandler={hideModal}\n              >\n                <span>{t(\"cancel\")}</span>\n              </Button>\n            )}\n          </div>\n        </form>\n      </div>\n    </Modal>\n  );\n};\n\nexport default ForgotPasswordModal;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/modals/logoutmodal/container/LogoutModalContainer.tsx",
    "content": "import { useDispatch } from \"react-redux\";\nimport LogoutModal from \"../presentation/LogoutModal\";\nimport useCustomNavigate from \"../../../../hooks/useCustomNavigate\";\nimport { logOut } from \"../../../../store/AuthSlice\";\nimport { useState } from \"react\";\nimport ApiError from \"../../../../services/ApiError\";\nimport AuthService from \"../../../../services/auth/AuthService\";\n\ninterface LogoutModalContainerProps {\n  isShown?: boolean;\n  hideModal(): void;\n}\nconst LogoutModalContainer = (props: LogoutModalContainerProps) => {\n  const { isShown = false, hideModal } = props;\n\n  /* State for loading spinner */\n  const [logoutInProgress, setLogoutInProgress] = useState(false);\n\n  /* To store any error message when logging out */\n  const [errorMessage, setErrorMessage] = useState('');\n\n  const dispatch = useDispatch();\n  const navigate = useCustomNavigate();\n\n  const logoutUser = async () => {\n    setLogoutInProgress(true);\n    const response = await AuthService.logoutService();\n    setLogoutInProgress(false);\n    if (response instanceof ApiError) {\n      //Error\n      setErrorMessage(response.errorResponse?.message || response.errorMessage)\n    } else {\n      dispatch(logOut());\n      navigate(\"/\");\n    }\n  };\n\n  return (\n    <LogoutModal\n      hideLogoutModal={hideModal}\n      isLogoutModalShown={isShown}\n      logoutHandler={logoutUser}\n      isLogoutModalButtonLoading={logoutInProgress}\n      errorMessage={errorMessage}\n    />\n  );\n};\n\nexport default LogoutModalContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/modals/logoutmodal/presentation/LogoutModal.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport Modal from \"../../../basic/Modal\";\nimport ErrorMessage from \"../../../basic/ErrorMessage\";\n\ninterface LogoutModalProps {\n  isLogoutModalShown: boolean;\n  hideLogoutModal(): void;\n  logoutHandler(): void;\n  isLogoutModalButtonLoading?: boolean;\n  errorMessage?: string\n}\nconst LogoutModal = (props: LogoutModalProps) => {\n\n  const { t } = useTranslation();\n\n  const {\n    isLogoutModalShown,\n    hideLogoutModal,\n    logoutHandler,\n    isLogoutModalButtonLoading = false,\n    errorMessage = ''\n  } = props;\n  return (\n    <>\n      {isLogoutModalShown && (\n        <Modal\n          heading={t(\"confirmation\")}\n          primaryButtonText={errorMessage ? t(\"ok\") : t(\"yes\")}\n          secondaryButtonText={isLogoutModalButtonLoading || errorMessage ? '' : t(\"no\")}\n          className=\"px-12 py-8\"\n          primaryButtonHandler={errorMessage ? hideLogoutModal : logoutHandler}\n          secondaryButtonHandler={hideLogoutModal}\n          primaryButtonClassname=\"uppercase\"\n          secondaryButtonClassname=\"uppercase\"\n          isPrimaryButtonLoading={isLogoutModalButtonLoading}\n        >\n          {\n            errorMessage ? \n            <ErrorMessage className=\"justify-center text-sm\" errorIconClassName=\"w-4 h-4\" message={errorMessage} />\n            :\n            <span className=\"capitalize\">{t(\"areYouSureYouWantToLogout\")}</span>\n          }\n        </Modal>\n      )}\n    </>\n  );\n};\n\nexport default LogoutModal;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/about/container/AboutContainer.tsx",
    "content": "import About from \"../presentation/About\"\n\n\nconst AboutContainer = () => {\n    return (\n        <About />\n    )\n}\n\nexport default AboutContainer;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/about/presentation/About.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport Text from \"../../../basic/Text\";\nimport Image from \"../../../basic/Image\";\nimport { PUBLIC_IMAGE_PATHS } from \"../../../../constants\";\nimport CompanyGuranteeListContainer from \"../../companyguranteelist/container/CompanyGuranteeListContainer\";\nimport { useAppSelector } from \"../../../../store\";\n\nconst About = () => {\n  const { t } = useTranslation();\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  return (\n    <div className=\"flex flex-col gap-y-32 py-4\">\n      <div\n        className=\"flex flex-col gap-y-20 lg:gap-y-0 lg:flex-row lg:items-center lg:justify-between\"\n        dir={isRTL ? \"rtl\" : \"ltr\"}\n      >\n        <div className=\"flex flex-col items-center gap-y-4 px-2 lg:items-start lg:w-3/4 lg:px-10\">\n          <Text className=\"capitalize font-semibold text-3xl lg:text-4xl tracking-wider\">\n            {t(\"ourStory\")}\n          </Text>\n          <Text className=\"mt-4 text-center lg:text-start\">\n            Lorem ipsum dolor sit amet consectetur adipisicing elit. Doloribus\n            quibusdam tempora praesentium illum.\n          </Text>\n          <Text className=\"text-center lg:text-start\">\n            Lorem, ipsum dolor sit amet consectetur adipisicing elit. Et eveniet\n            autem consectetur quidem perferendis aliquid molestias ducimus\n            repellat animi possimus. Incidunt laudantium similique pariatur qui\n            accusamus praesentium a odio hic?\n          </Text>\n        </div>\n        <div className=\"lg:w-1/2\">\n          <Image\n            src={PUBLIC_IMAGE_PATHS.aboutSideImage}\n            backupImageSrc=\"\"\n            alt={t(\"about\")}\n            className=\"rounded\"\n          />\n        </div>\n      </div>\n      <CompanyGuranteeListContainer />\n    </div>\n  );\n};\n\nexport default About;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/allproductlist/container/AllProductListContainer.tsx",
    "content": "import { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport ProductService from \"../../../../services/product/ProductService\";\nimport { Product } from \"../../../../services/product/ProductTypes\";\nimport AllProductList from \"../presentation/AllProductList\";\nimport { ProductFilterFields } from \"../../../../constants\";\n\ninterface AllProductListContainerProps {\n  categoryId?: string;\n  productNameSearched?: string;\n}\nconst AllProductListContainer = (props: AllProductListContainerProps) => {\n  const { categoryId = \"\", productNameSearched = \"\" } = props;\n\n  const { t } = useTranslation();\n\n  /* Loading flag */\n  const [isLoading, setIsLoading] = useState(false);\n\n  /* Error flag: When fetching products */\n  const [isError, setIsError] = useState(false);\n\n  /* Products List */\n  const [products, setProducts] = useState<Product[]>([]);\n\n  /* Filtered Products List */\n  const [filteredProducts, setFilteredProducts] = useState<Product[]>([]);\n\n  /* Displayed Products List */\n  const [displayedProducts, setDisplayedProducts] = useState<Product[]>([]);\n\n  /* Category name if categoryId is passed */\n  const [categoryName, setCategoryName] = useState(\"\");\n\n  /* Flag to store when data fetching has started*/\n  const isFetchingDataStarted = useRef(false);\n\n  const setDisplayedProductsForSearch = (data: Product[]) => {\n    setDisplayedProducts((prev) => {\n      /* If there is space for more products to be shown */\n      if (prev.length <= ProductService.defaultPageLimit) {\n        /* slice from 0 to the page limit */\n        prev = [\n          ...prev,\n          ...data.slice(0, ProductService.defaultPageLimit - prev.length),\n        ];\n      }\n      return prev;\n    });\n  };\n  \n  const fetchProducts = useCallback(async () => {\n    /* Data fetching has started */\n    isFetchingDataStarted.current = true;\n\n    /* Hiding error, Displaying loading spinner, Resetting products list state */\n    setIsError(false);\n    setIsLoading(true);\n    setProducts([]);\n    setFilteredProducts([]);\n\n    /* Used to set displayed products list on first response */\n    let isFirstResponse = true;\n\n    ProductService.getAllProductsAsync((data, _, error, categoryInfo) => {\n      if (!error) {\n\n        /* If productNameIsSearched, filter data by product name */\n        if (productNameSearched) {\n          data = data.filter((product) =>\n            product.name\n              ?.toLowerCase()\n              ?.includes(productNameSearched?.toLowerCase())\n          );\n        }\n\n        /* Set overall products list */\n        setProducts((prev) => [...prev, ...data]);\n        setFilteredProducts((prev) => [...prev, ...data]);\n\n        /* If productNameIsSearched set displayed products list by checking page limit */\n        if (productNameSearched) {\n          setDisplayedProductsForSearch(data);\n        }\n\n        /* On first response, set displayed products list, category name and hide loading spinner */\n        if (isFirstResponse) {\n          if (!productNameSearched) {\n            setDisplayedProducts(data);\n          }\n\n          if (categoryInfo) {\n            setCategoryName(categoryInfo.name);\n          }\n          setIsLoading(false);\n        }\n      } else {\n        setIsError(true);\n        setProducts([]);\n        setFilteredProducts([]);\n      }\n      isFirstResponse = false;\n    }, categoryId);\n\n    /* Hide Loading spinner */\n    setIsLoading(false);\n  }, [categoryId, productNameSearched]);\n\n  /* Load more handler */\n  const loadMoreHandler = () => {\n    /**\n     * Append to displayed products list from the end of filtered products list + the default page limit\n     */\n    setDisplayedProducts((prev) => [\n      ...prev,\n      ...filteredProducts.slice(\n        prev.length,\n        prev.length + ProductService.defaultPageLimit\n      ),\n    ]);\n  };\n\n  const resetFilterHandler = () => {\n    /* Setting filtered products list to the entire product list */\n    setFilteredProducts(products);\n\n    /* Setting displayed products from the complete product list */\n    setDisplayedProducts(products.slice(0, ProductService.defaultPageLimit));\n  };\n\n  /* Filtering products */\n  const onFiltersChanged = (fields: ProductFilterFields) => {\n    /* From the entire list of products */\n    const filtered = products.filter((product) => {\n      /* Price filter */\n      if (\n        product.price >= Number(fields.price.min) &&\n        product.price <= Number(fields.price.max)\n      ) {\n        return true;\n      }\n      return false;\n    });\n\n    /* Setting filtered product list */\n    setFilteredProducts(filtered);\n\n    /* Displayed product list from the list of filtered products */\n    setDisplayedProducts(filtered.slice(0, ProductService.defaultPageLimit));\n  };\n\n  useEffect(() => {\n    if (!isFetchingDataStarted.current) {\n      fetchProducts();\n    }\n  }, [fetchProducts]);\n\n  return (\n    <AllProductList\n      heading={\n        productNameSearched\n          ? t(\"searchResults\")\n          : categoryId && categoryName\n            ? categoryName\n            : t(\"ourProducts\")\n      }\n      products={displayedProducts}\n      error={isError ? true : false}\n      loadMoreShown={\n        filteredProducts.length > displayedProducts.length ? true : false\n      }\n      loadMore={loadMoreHandler}\n      isLoading={isLoading}\n      onFiltersChanged={onFiltersChanged}\n      resetFilterHandler={resetFilterHandler}\n    />\n  );\n};\n\nexport default AllProductListContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/allproductlist/presentation/AllProductList.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport { Product } from \"../../../../services/product/ProductTypes\";\nimport CardContainer from \"../../../business/CardContainer\";\nimport ProductList from \"../../../business/ProductList\";\nimport ErrorMessage from \"../../../basic/ErrorMessage\";\nimport {\n  CARD_CONTAINER_OPTION,\n  ProductFilterFields,\n} from \"../../../../constants\";\nimport ProductFilters from \"../../../business/ProductFilters\";\nimport { useAppSelector } from \"../../../../store\";\n\ninterface AllProductListProps {\n  products: Product[];\n  heading: string;\n  error?: boolean;\n  isLoading?: boolean;\n  loadMoreShown: boolean;\n  loadMore(): void;\n  onFiltersChanged(fields: ProductFilterFields): void;\n  resetFilterHandler(): void;\n}\nconst AllProductList = (props: AllProductListProps) => {\n  const {\n    products,\n    heading,\n    error = false,\n    isLoading = false,\n    loadMoreShown = true,\n    loadMore,\n    onFiltersChanged,\n    resetFilterHandler,\n  } = props;\n\n  const { t } = useTranslation();\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  return (\n    <CardContainer\n      heading={heading}\n      extraOption={\n        loadMoreShown ? CARD_CONTAINER_OPTION.BOTTOM_BUTTON : undefined\n      }\n      extraOptionButtonText={t(\"loadMore\")}\n      extraOptionButtonClickHandler={loadMore}\n      isLoadingButton={isLoading}\n    >\n      <div className=\"lg:flex lg:flex-col\" dir={isRTL ? 'rtl' : 'ltr'}>\n        <ProductFilters\n          onFiltersChanged={onFiltersChanged}\n          resetFilterHandler={resetFilterHandler}\n          className=\"lg:self-end lg:mt-2 lg:mb-2\"\n        />\n        <ProductList products={products} className=\"mt-4\" />\n        {error && (\n          <ErrorMessage\n            message={t(\"pleaseTryAgainLater\")}\n            className=\"justify-center\"\n          />\n        )}\n      </div>\n    </CardContainer>\n  );\n};\n\nexport default AllProductList;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/banner/container/BannerContainer.tsx",
    "content": "import { useEffect, useState } from \"react\";\nimport { DATE_TIME_FORMATS } from \"../../../../constants\";\nimport { BANNER_PROMOTION_END_DATE } from \"../../../../data/applicationData\";\nimport { getCurrentUTCTime } from \"../../../../utils/dateTimeHelper\";\nimport Banner from \"../presentation/Banner\";\n\nconst BannerContainer = () => {\n\n  /* Current time in UTC formatted as YYYY-MM-DDTHH:mm:ss */\n  const [startTime, setStartTime] = useState(\n    getCurrentUTCTime(DATE_TIME_FORMATS.standardDateWithTime)\n  );\n\n  useEffect(() => {\n    /* Set current UTC time as start time after every 1 second */\n    setInterval(() => {\n      setStartTime(getCurrentUTCTime(DATE_TIME_FORMATS.standardDateWithTime));\n    }, 1000);\n  }, []);\n\n  return (\n    <Banner\n      isTimerShown={false}\n      startTime={startTime}\n      endTime={BANNER_PROMOTION_END_DATE}\n    />\n  );\n};\n\nexport default BannerContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/banner/presentation/Banner.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport { useAppSelector } from \"../../../../store\";\nimport Image from \"../../../basic/Image\";\nimport Timer from \"../../../business/Timer\";\nimport { PUBLIC_IMAGE_PATHS } from \"../../../../constants\";\n\ninterface BannerProps {\n  isTimerShown: boolean;\n  startTime?: string;\n  endTime?: string;\n}\nconst Banner = (props: BannerProps) => {\n  const { isTimerShown, startTime, endTime } = props;\n\n  const { t } = useTranslation();\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  return (\n    <div\n      className=\" flex flex-col rounded-3xl bg-black\n    \"\n      dir={isRTL ? \"rtl\" : \"ltr\"}\n    >\n      <div className=\"flex justify-between items-center\">\n        <div className=\"flex flex-col gap-y-2\" dir={isRTL ? \"rtl\" : \"ltr\"}>\n          <span\n            className={`text-zinc-50 text-xl lg:text-3xl font-poppinsMedium ${isRTL ? \"mr-6\" : \"ml-6\"} w-fit lg:tracking-widest`}\n          >\n            {t(\"bannerPromotion\")}\n          </span>\n          <span\n            className={`text-zinc-50 text-xl lg:text-3xl font-poppinsMedium ${isRTL ? \"mr-6\" : \"ml-6\"} w-fit lg:tracking-widest`}\n          >\n            {t(\"bannerPromotion2\")}\n          </span>\n        </div>\n        <Image\n          src={PUBLIC_IMAGE_PATHS.bannerProductImage}\n          backupImageSrc=\"\"\n          alt={`${t(\"bannerPromotion\")} ${t(\"bannerPromotion2\")}`}\n          className=\"w-1/3 p-4\"\n        />\n      </div>\n      {isTimerShown && startTime && endTime && (\n        <Timer\n          startTime={startTime}\n          endTime={endTime}\n          className=\"w-full mt-4 justify-center\"\n          timerContainerClassName=\"mr-4\"\n        />\n      )}\n    </div>\n  );\n};\n\nexport default Banner;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/cart/container/CartContainer.tsx",
    "content": "import { useMemo } from \"react\";\nimport { Product } from \"../../../../services/product/ProductTypes\";\nimport { useAppDispatch, useAppSelector } from \"../../../../store\";\nimport {\n  addOrUpdateToCartThunk,\n  removeFromCartThunk,\n} from \"../../../../store/CartSlice\";\nimport Cart from \"../presentation/Cart\";\nimport FullPageLoadingSpinner from \"../../../basic/FullPageLoadingSpinner\";\nimport useCustomNavigate from \"../../../../hooks/useCustomNavigate\";\nimport { ROUTE_PATHS } from \"../../../../constants\";\n\nconst CartContainer = () => {\n\n  const navigate = useCustomNavigate();\n\n  const userCart = useAppSelector((state) => state.cart.userCart);\n\n  /* Is Add / Remove from cart in progress state from redux */\n  const isAddOrUpdateToCartInProgress = useAppSelector(\n    (state) => state.cart.isAddOrUpdateToCartInProgress\n  );\n\n  const isRemoveFromCartInProgress = useAppSelector(\n    (state) => state.cart.isRemoveFromCartInProgress\n  );\n\n  /* If add / update / remove from cart is in progress: Show the loading spinner */\n  const isLoading = useMemo(() => {\n    if (isAddOrUpdateToCartInProgress || isRemoveFromCartInProgress) {\n      return true;\n    }\n    return false;\n  }, [isAddOrUpdateToCartInProgress, isRemoveFromCartInProgress]);\n\n  const dispatch = useAppDispatch();\n\n  /* On change of quantity */\n  const onQuantityChanged = (product: Product, quantity: number) => {\n    dispatch(\n      addOrUpdateToCartThunk({ productId: product._id, quantity: quantity })\n    );\n  };\n\n  /* Remove from cart */\n  const removeFromCart = (product: Product) => {\n    dispatch(removeFromCartThunk({ productId: product._id }));\n  };\n\n  /* Navigate to checkout */\n  const checkoutClickHandler = () => {\n    navigate(ROUTE_PATHS.checkout, false, {isFromCartPage: true});\n  };\n  return (\n    <>\n      {isLoading && <FullPageLoadingSpinner />}\n      <Cart\n        cart={userCart}\n        onQuantityChanged={onQuantityChanged}\n        removeFromCart={removeFromCart}\n        checkoutClickHandler={checkoutClickHandler}\n      />\n    </>\n  );\n};\n\nexport default CartContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/cart/presentation/Cart.tsx",
    "content": "import { UserCart } from \"../../../../services/cart/CartTypes\";\nimport { Product } from \"../../../../services/product/ProductTypes\";\nimport { useAppSelector } from \"../../../../store\";\nimport CartItemList from \"../../../business/CartItemList\";\nimport CartSummary from \"../../../business/CartSummary\";\n\ninterface CartProps {\n  cart: UserCart | null;\n  onQuantityChanged(product: Product, quantity: number): void;\n  removeFromCart(product: Product): void;\n  checkoutClickHandler(): void;\n}\nconst Cart = (props: CartProps) => {\n  const { cart, onQuantityChanged, removeFromCart, checkoutClickHandler } = props;\n\n  const isRTL = useAppSelector(state => state.language.isRTL);\n  \n  return (\n    <div className={`flex flex-col relative lg:flex-row lg:gap-x-4 ${isRTL ? 'lg:flex-row-reverse': ''} `}>\n      <div className=\"overflow-auto h-96 lg:h-auto lg:flex-1\">\n        <CartItemList\n          cartItems={cart?.items || []}\n          onQuantityChanged={onQuantityChanged}\n          removeFromCart={removeFromCart}\n        />\n      </div>\n      {cart && (\n        <div className=\"lg:w-1/3\">\n        <CartSummary\n          userCart={cart}\n          checkoutClickHandler={checkoutClickHandler}\n          className=\"lg:sticky lg:top-28\"\n        />\n        </div>\n      )}\n    </div>\n  );\n};\n\nexport default Cart;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/categorylist/container/CategoryListContainer.tsx",
    "content": "import { useEffect, useState } from \"react\";\nimport CategoryList from \"../presentation/CategoryList\";\nimport { Category } from \"../../../../services/category/CategoryTypes\";\nimport CategoryService from \"../../../../services/category/CategoryService\";\nimport { createSearchParams } from \"react-router-dom\";\nimport { QUERY_PARAMS, ROUTE_PATHS } from \"../../../../constants\";\nimport useCustomNavigate from \"../../../../hooks/useCustomNavigate\";\n\nconst CategoryListContainer = () => {\n  const navigate = useCustomNavigate();\n\n  /* List of all categories */\n  const [categories, setCategories] = useState<Category[]>([]);\n\n  /* To know if an error has occurred when fetching categories */\n  const [isError, setIsError] = useState(false);\n\n  /* Fetch All Categories Asynchronously */\n  const fetchAllCategories = () => {\n    CategoryService.getAllCategoriesAsync((data, _, error) => {\n      if (!error) {\n        setCategories((prev) => [...prev, ...data]);\n      } else {\n        console.error(\"Error -- fetchAllCategories()\", error);\n        setIsError(true);\n      }\n    });\n  };\n\n  /* navigate to /products?category=<categoryId> */\n  const categoryClickHandler = (category: Category) => {\n    navigate({\n      pathname: ROUTE_PATHS.products,\n      search: createSearchParams({\n        [QUERY_PARAMS.category]: category._id,\n      }).toString(),\n    });\n  };\n\n  /* Initial Render */\n  useEffect(() => {\n    fetchAllCategories();\n  }, []);\n  return (\n    <CategoryList\n      categories={categories}\n      error={isError}\n      categoryClickHandler={categoryClickHandler}\n    />\n  );\n};\n\nexport default CategoryListContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/categorylist/presentation/CategoryList.tsx",
    "content": "import { useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CARD_CONTAINER_OPTION } from \"../../../../constants\";\nimport { Category } from \"../../../../services/category/CategoryTypes\";\nimport { useAppSelector } from \"../../../../store\";\nimport ErrorMessage from \"../../../basic/ErrorMessage\";\nimport CardContainer from \"../../../business/CardContainer\";\nimport CategoryCard from \"../../../business/CategoryCard\";\n\ninterface CategoryList {\n  categories: Category[];\n  error: boolean;\n  categoryClickHandler(category: Category) : void; \n}\nconst CategoryList = (props: CategoryList) => {\n  const { categories, error, categoryClickHandler } = props;\n  const { t } = useTranslation();\n\n  /* Category Card Container Reference */\n  const categoryContainerRef = useRef<HTMLDivElement>(null);\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  return (\n    <CardContainer\n      heading={t(\"categories\")}\n      subHeading={t(\"browseByCategory\")}\n      extraOption={CARD_CONTAINER_OPTION.CAROUSEL}\n      carouselScrollableElementRef = {categoryContainerRef}\n    >\n     {\n      error ? \n      <ErrorMessage message={t('pleaseTryAgainLater')} className=\"justify-center\" />\n      :\n      <div\n        className=\"flex overflow-auto no-scrollbar mt-4\"\n        ref={categoryContainerRef}\n        dir={isRTL ? 'rtl': 'ltr'}\n      >\n        {categories.map((category) => (\n          <div key={category._id} className=\"mr-4 p-1\">\n            <CategoryCard category={category} className=\"w-40 h-36\" categoryClickHandler={categoryClickHandler} />\n          </div>\n        ))}\n      </div>}\n    </CardContainer>\n  );\n};\n\nexport default CategoryList;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/checkout/container/CheckoutContainer.tsx",
    "content": "import { useCallback, useEffect, useState } from \"react\";\nimport Checkout from \"../presentation/Checkout\";\nimport { AddressClass } from \"../../../../services/address/AddressTypes\";\nimport AddressService from \"../../../../services/address/AddressService\";\nimport { useAppDispatch, useAppSelector } from \"../../../../store\";\nimport { CouponClass } from \"../../../../services/coupon/CouponTypes\";\nimport CouponService from \"../../../../services/coupon/CouponService\";\nimport {\n  CheckoutApplyCouponCodeFields,\n  TOAST_MESSAGE_TYPES,\n} from \"../../../../constants\";\nimport ApiError from \"../../../../services/ApiError\";\nimport { updateUserCart } from \"../../../../store/CartSlice\";\nimport { postMessageAction } from \"../../../../store/ToastMessageSlice\";\nimport { useTranslation } from \"react-i18next\";\n\nconst CheckoutContainer = () => {\n  const dispatch = useAppDispatch();\n  const { t } = useTranslation();\n\n  /* Addresses stored by the user */\n  const [userAddresses, setUserAddresses] = useState<Array<AddressClass>>([]);\n\n  /* Coupons List */\n  const [couponsAvailableToUser, setCouponsAvailableToUser] = useState<\n    Array<CouponClass>\n  >([]);\n\n  /* Loading state when applying a coupon or removing a coupon */\n  const [isUpdatingCouponInProgress, setIsUpdatingCouponInProgress] =\n    useState(false);\n\n  /* User's cart */\n  const userCart = useAppSelector((state) => state.cart.userCart);\n\n  /* Fetching all the user's stored addresses asynchronously */\n  const fetchUserAddresses = useCallback(() => {\n    setUserAddresses([]);\n    AddressService.getAllAddressesAsync((data, _, error) => {\n      if (data) {\n        setUserAddresses((prev) => [...prev, ...data]);\n      } else if (error) {\n        // Error\n      }\n    });\n  }, []);\n\n  /* Fetching all the coupons available to the user asynchronously */\n  const fetchUserCoupons = useCallback(() => {\n    setCouponsAvailableToUser([]);\n    CouponService.getAllCouponsAvailableToUserAsync((data, _, error) => {\n      if (data) {\n        setCouponsAvailableToUser((prev) => [...prev, ...data]);\n      } else if (error) {\n        // Error Here\n      }\n    });\n  }, []);\n\n  /* Apply Coupon */\n  const applyCouponCodeHandler = async (\n    data: CheckoutApplyCouponCodeFields\n  ) => {\n    setIsUpdatingCouponInProgress(true);\n    const response = await CouponService.applyCouponCode(data.couponCode);\n    setIsUpdatingCouponInProgress(false);\n\n    /* Success */\n    if (!(response instanceof ApiError)) {\n      dispatch(updateUserCart(response));\n      dispatch(\n        postMessageAction({\n          type: TOAST_MESSAGE_TYPES.success,\n          message: t(\"couponCodeAppliedSuccessfully\"),\n        })\n      );\n    } else {\n      // Error\n      dispatch(\n        postMessageAction({\n          type: TOAST_MESSAGE_TYPES.error,\n          message: response.errorResponse?.message || response.errorMessage,\n        })\n      );\n    }\n  };\n\n  /* Remove applied coupon */\n  const removeCouponCodeHandler = async () => {\n    if (userCart?.coupon.couponCode) {\n      setIsUpdatingCouponInProgress(true);\n\n      const response = await CouponService.removeCouponCode(\n        userCart?.coupon.couponCode\n      );\n\n      setIsUpdatingCouponInProgress(false);\n      \n      /* Success */\n      if (!(response instanceof ApiError)) {\n        dispatch(updateUserCart(response));\n        dispatch(\n          postMessageAction({\n            type: TOAST_MESSAGE_TYPES.success,\n            message: t(\"couponCodeRemovedSuccessfully\"),\n          })\n        );\n      } else {\n        // Error\n        dispatch(\n          postMessageAction({\n            type: TOAST_MESSAGE_TYPES.error,\n            message: response.errorResponse?.message || response.errorMessage,\n          })\n        );\n      }\n    }\n  };\n\n  useEffect(() => {\n    fetchUserAddresses();\n  }, [fetchUserAddresses]);\n\n  useEffect(() => {\n    fetchUserCoupons();\n  }, [fetchUserCoupons]);\n\n  return (\n    <>\n      {userCart && (\n        <Checkout\n          userAddresses={userAddresses}\n          refreshUserAddresses={fetchUserAddresses}\n          userCart={userCart}\n          couponsAvailableToUser={couponsAvailableToUser}\n          isUpdatingCouponInProgress={isUpdatingCouponInProgress}\n          applyCouponCodeHandler={applyCouponCodeHandler}\n          removeCouponCodeHandler={removeCouponCodeHandler}\n        />\n      )}\n    </>\n  );\n};\n\nexport default CheckoutContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/checkout/presentation/Checkout.tsx",
    "content": "import { useEffect, useState } from \"react\";\nimport { AddressClass } from \"../../../../services/address/AddressTypes\";\nimport RadioButtons from \"../../../basic/RadioButtons\";\nimport {\n  ButtonTypes,\n  CheckoutApplyCouponCodeFields,\n  CheckoutFormFields,\n  RADIO_BUTTON_TYPE,\n} from \"../../../../constants\";\nimport AddressCard from \"../../../business/AddressCard\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport Button from \"../../../basic/Button\";\nimport AddIcon from \"../../../icons/AddIcon\";\nimport AddAddressModalContainer from \"../../../modals/addaddressmodal/container/AddAddressModalContainer\";\nimport { UserCart } from \"../../../../services/cart/CartTypes\";\nimport InvoiceAmountSummary from \"../../../business/InvoiceAmountSummary\";\nimport { CouponClass } from \"../../../../services/coupon/CouponTypes\";\nimport CouponCardList from \"../../../business/CouponCardList\";\nimport Input from \"../../../basic/Input\";\nimport { useAppSelector } from \"../../../../store\";\nimport Text from \"../../../basic/Text\";\nimport ErrorMessage from \"../../../basic/ErrorMessage\";\nimport Payment from \"../../../business/Payment\";\nimport { DEFAULT_CURRENCY } from \"../../../../data/applicationData\";\n\ninterface CheckoutProps {\n  userAddresses: Array<AddressClass>;\n  couponsAvailableToUser: Array<CouponClass>;\n  userCart: UserCart;\n  isUpdatingCouponInProgress: boolean;\n  refreshUserAddresses(): void;\n  applyCouponCodeHandler(data: CheckoutApplyCouponCodeFields): void;\n  removeCouponCodeHandler(): void;\n}\nconst Checkout = (props: CheckoutProps) => {\n  const {\n    userAddresses = [],\n    couponsAvailableToUser = [],\n    userCart,\n    refreshUserAddresses,\n    applyCouponCodeHandler,\n    removeCouponCodeHandler,\n    isUpdatingCouponInProgress = false,\n  } = props;\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n  const { t } = useTranslation();\n\n  /* To convert User Addresses, to types which can be passed to radio buttons component */\n  const [addressRadioButtons, setAddressRadioButtons] = useState<\n    Array<RADIO_BUTTON_TYPE<AddressClass>>\n  >([]);\n\n  /* If add address modal is shown */\n  const [isAddressModalShown, setIsAddressModalShown] = useState(false);\n\n  const { watch: watchAddress, reset, control } = useForm<CheckoutFormFields>();\n\n  const {\n    handleSubmit: couponHandleSubmit,\n    register: couponCodeRegister,\n    formState: { errors: couponCodeErrors },\n  } = useForm<CheckoutApplyCouponCodeFields>();\n\n  useEffect(() => {\n    /* Creating Radio Button Type Array */\n    const tempAddressRadioButton: Array<RADIO_BUTTON_TYPE<AddressClass>> = [];\n    userAddresses.forEach((address) => {\n      tempAddressRadioButton.push({\n        id: address._id,\n        isDefaultSelected: false,\n        customElement: (\n          <AddressCard\n            address={address}\n            className=\"\"\n            onAddressUpdated={refreshUserAddresses}\n          />\n        ),\n        data: address,\n      });\n    });\n    setAddressRadioButtons(tempAddressRadioButton);\n    reset(); /* Reset Address Form Field */\n  }, [userAddresses, refreshUserAddresses, reset]);\n\n  return (\n    <>\n      {isAddressModalShown && (\n        <AddAddressModalContainer\n          hideModal={() => setIsAddressModalShown(false)}\n          onAddressAddedOrUpdatedCallback={refreshUserAddresses}\n        />\n      )}\n      <div\n        className={`flex flex-col gap-y-4 lg:flex-row lg:gap-x-4 ${\n          isRTL ? \"lg:flex-row-reverse\" : \"\"\n        }`}\n      >\n        <div className=\"flex flex-col lg:w-2/4 gap-2\">\n          <Text className=\"capitalize text-xl font-poppinsMedium\">\n            {t(\"selectAddress\")}\n          </Text>\n          <Controller\n            name=\"address\"\n            control={control}\n            rules={{ required: t(\"addressIsRequired\") }}\n            render={({ field }) => (\n              <RadioButtons\n                items={addressRadioButtons}\n                containerClassName=\"flex flex-col rounded h-[500px] lg:h-3/5 overflow-auto\"\n                radioButtonContainerClassName=\"mb-4 border border-grey shadow rounded p-2\"\n                {...field}\n              />\n            )}\n          />\n\n          <Button\n            className=\"p-2 rounded-full shadow-lg w-fit self-center\"\n            onClickHandler={() => setIsAddressModalShown(true)}\n          >\n            <AddIcon className=\"w-8 h-8 text-black\" />\n          </Button>\n        </div>\n\n        <div className=\"lg:w-2/4 flex flex-col gap-y-8 lg:mt-8\">\n          <InvoiceAmountSummary\n            total={userCart.cartTotal}\n            discountedTotal={userCart.discountedTotal}\n            currency={userCart.items[0]?.product?.currency || DEFAULT_CURRENCY}\n          />\n\n          <CouponCardList\n            coupons={couponsAvailableToUser}\n            className={`flex overflow-auto gap-x-2`}\n            childContainerClassName=\"min-w-[300px] *:h-full\"\n          />\n          {!userCart?.coupon?.couponCode ? (\n            <form\n              className={`flex flex-col gap-y-4 lg:flex-row lg:items-center lg:gap-x-8 ${\n                isRTL ? \"lg:flex-row-reverse\" : \"\"\n              }`}\n              onSubmit={couponHandleSubmit(applyCouponCodeHandler)}\n            >\n              <div className=\"flex-1\">\n                <Input\n                  placeholder={t(\"enterCouponCode\")}\n                  type=\"text\"\n                  className=\"placeholder:capitalize\"\n                  errorMessage={couponCodeErrors.couponCode?.message || \"\"}\n                  {...couponCodeRegister(\"couponCode\", {\n                    required: t(\"codeIsRequired\"),\n                  })}\n                />\n              </div>\n              <Button\n                buttonType={ButtonTypes.primaryButton}\n                type=\"submit\"\n                className=\"py-2 px-4 uppercase flex justify-center\"\n                onClickHandler={() => {}}\n                isLoading={isUpdatingCouponInProgress}\n              >\n                <span>{t(\"applyCode\")}</span>\n              </Button>\n            </form>\n          ) : (\n            <Button\n              onClickHandler={removeCouponCodeHandler}\n              isLoading={isUpdatingCouponInProgress}\n              className=\"py-2 px-4 uppercase flex justify-center\"\n              buttonType={ButtonTypes.secondaryButton}\n            >\n              <span>{t(\"removeCouponCode\")}</span>\n            </Button>\n          )}\n          {!watchAddress(\"address\") && (\n            <ErrorMessage\n              message={t(\"selectAddressToContinueToPayment\")}\n              errorIconClassName=\"w-4 h-4\"\n            />\n          )}\n          <Payment\n            addressId={watchAddress(\"address\")?._id}\n            isDisabled={!watchAddress(\"address\") ? true : false}\n          />\n        </div>\n      </div>\n    </>\n  );\n};\n\nexport default Checkout;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/companyguranteelist/container/CompanyGuranteeListContainer.tsx",
    "content": "import { COMPANY_GURANTEE_LIST } from \"../../../../data/applicationData\";\nimport CompanyGuranteeList from \"../presentation/CompanyGuranteeList\"\n\n\nconst CompanyGuranteeListContainer = () => {\n    return (\n        <CompanyGuranteeList gurantees={COMPANY_GURANTEE_LIST} />\n    )\n}\n\nexport default CompanyGuranteeListContainer;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/companyguranteelist/presentation/CompanyGuranteeList.tsx",
    "content": "import { COMPANY_GURANTEE } from \"../../../../constants\";\nimport { useAppSelector } from \"../../../../store\";\nimport CompanyGurantee from \"../../../business/CompanyGurantee\";\n\ninterface CompanyGuranteeListProps {\n  gurantees: COMPANY_GURANTEE[];\n}\nconst CompanyGuranteeList = (props: CompanyGuranteeListProps) => {\n  const { gurantees } = props;\n\n  const isRTL = useAppSelector((state) => state.language.isRTL)\n  return (\n    <div className={`flex flex-col lg:flex-row lg:justify-around ${isRTL ? 'lg:flex-row-reverse': ''}`}>\n      {gurantees.map((gurantee) => (\n        <div key={gurantee.id} className=\"mb-8 lg:mb-0\">\n          <CompanyGurantee\n            id={gurantee.id}\n            icon={gurantee.icon}\n            descriptionKey={gurantee.descriptionKey}\n            headingKey={gurantee.headingKey}\n          />\n        </div>\n      ))}\n    </div>\n  );\n};\n\nexport default CompanyGuranteeList;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/editaddresses/container/EditAddressesContainer.tsx",
    "content": "import { useCallback, useEffect, useState } from \"react\";\nimport AddressService from \"../../../../services/address/AddressService\";\nimport { AddressClass } from \"../../../../services/address/AddressTypes\";\nimport EditAddresses from \"../presentation/EditAddresses\";\nimport ErrorMessage from \"../../../basic/ErrorMessage\";\nimport { useTranslation } from \"react-i18next\";\n\nconst EditAddressesContainer = () => {\n  const { t } = useTranslation();\n\n  /* User's addresses */\n  const [addressList, setAddressList] = useState<AddressClass[]>([]);\n\n  /* For error while fetching addresses */\n  const [errorFetchingAddresses, setErrorFetchingAddresses] = useState(false);\n\n  const fetchAddresses = useCallback(() => {\n    /* Resetting address list */\n    setAddressList([]);\n\n    /* Hiding the error message */\n    setErrorFetchingAddresses(false);\n\n    AddressService.getAllAddressesAsync((data, _, error) => {\n      if (!error) {\n        /* Appending items to address list state */\n        setAddressList((prev) => [...prev, ...data]);\n      } else {\n        /* In case of error, showing the error message */\n        setErrorFetchingAddresses(true);\n      }\n    });\n  }, []);\n\n  /* Initial Render */\n  useEffect(() => {\n    fetchAddresses();\n  }, [fetchAddresses]);\n\n  return (\n    <>\n      {errorFetchingAddresses ? (\n        <ErrorMessage message={t(\"failedToFetchInformation\")} />\n      ) : (\n        <EditAddresses\n          addressList={addressList}\n          refetchAddresses={fetchAddresses}\n          errorFetchingAddresses={errorFetchingAddresses}\n        />\n      )}\n    </>\n  );\n};\n\nexport default EditAddressesContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/editaddresses/presentation/EditAddresses.tsx",
    "content": "import { useState } from \"react\";\nimport { AddressClass } from \"../../../../services/address/AddressTypes\";\nimport Button from \"../../../basic/Button\";\nimport AddressCardList from \"../../../business/AddressCardList\";\nimport AddIcon from \"../../../icons/AddIcon\";\nimport AddAddressModalContainer from \"../../../modals/addaddressmodal/container/AddAddressModalContainer\";\n\ninterface EditAddressesProps {\n  addressList: AddressClass[];\n  errorFetchingAddresses?: boolean;\n  refetchAddresses(): void;\n}\nconst EditAddresses = (props: EditAddressesProps) => {\n  const { addressList, refetchAddresses } = props;\n\n  /* Visibility for add address modal */\n  const [isAddAdressModalShown, setIsAddAddressModalShown] = useState(false);\n\n  /* Toggling add address modal */\n  const toggleAddAddressModal = () => {\n    setIsAddAddressModalShown((prev) => !prev);\n  };\n  \n  return (\n    <div className=\"flex flex-col\">\n      {isAddAdressModalShown && (\n        <AddAddressModalContainer\n          hideModal={toggleAddAddressModal}\n          onAddressAddedOrUpdatedCallback={refetchAddresses}\n        />\n      )}\n      <AddressCardList\n        addressList={addressList}\n        addressListContainerClassName=\"max-h-[400px] overflow-auto\"\n        onAddressUpdated={refetchAddresses}\n        addressCardItemClassName=\"border \"\n      />\n\n      <Button\n        className=\"p-2 rounded-full shadow-lg w-fit self-center\"\n        onClickHandler={() => toggleAddAddressModal()}\n      >\n        <AddIcon className=\"w-8 h-8 text-black\" />\n      </Button>\n    </div>\n  );\n};\n\nexport default EditAddresses;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/editprofile/container/EditProfileContainer.tsx",
    "content": "import { useCallback, useEffect, useMemo, useState } from \"react\";\nimport ApiError from \"../../../../services/ApiError\";\nimport ProfileService from \"../../../../services/profile/ProfileService\";\nimport EditProfile from \"../presentation/EditProfile\";\nimport { ProfileFormFields, TOAST_MESSAGE_TYPES } from \"../../../../constants\";\nimport ErrorMessage from \"../../../basic/ErrorMessage\";\nimport { useAppDispatch, useAppSelector } from \"../../../../store\";\nimport { postMessageAction } from \"../../../../store/ToastMessageSlice\";\nimport { useTranslation } from \"react-i18next\";\nimport { LOGIN_TYPES } from \"../../../../services/auth/AuthTypes\";\n\nconst EditProfileContainer = () => {\n  const dispatch = useAppDispatch();\n\n  const {t} = useTranslation();\n\n  const loggedInUser = useAppSelector((state) => state.auth.userDetails);\n\n  const [currentProfile, setCurrentProfile] = useState<ProfileFormFields>();\n  const [errorFetchingProfile, setErrorFetchingProfile] = useState(\"\");\n  const [updateInProgress, setUpdateInProgress] = useState(false);\n\n  const isChangePasswordOptionVisible = useMemo(() => {\n    if(loggedInUser?.loginType !== LOGIN_TYPES.emailPassword){\n      return false;\n    }\n    return true;\n  }, [loggedInUser])\n\n  const fetchUserProfile = useCallback(async () => {\n    setErrorFetchingProfile(\"\");\n    const response = await ProfileService.getUserProfile();\n    if (!(response instanceof ApiError)) {\n      setCurrentProfile({\n        firstName: response.firstName,\n        lastName: response.lastName,\n        countryCode: response.countryCode,\n        phoneNumber: response.phoneNumber,\n      });\n    } else {\n      /* Error fetching profile */\n      setErrorFetchingProfile(\n        response.errorResponse?.message || response.errorMessage\n      );\n    }\n  }, []);\n\n  const updateProfileHandler = async (data: ProfileFormFields) => {\n    setUpdateInProgress(true);\n    const response = await ProfileService.updateUserProfile(\n      data.countryCode,\n      data.firstName,\n      data.lastName,\n      data.phoneNumber\n    );\n    setUpdateInProgress(false);\n    if (!(response instanceof ApiError)) {\n      setCurrentProfile({\n        firstName: response.firstName,\n        lastName: response.lastName,\n        countryCode: response.countryCode,\n        phoneNumber: response.phoneNumber,\n      });\n      dispatch(\n        postMessageAction({\n          type: TOAST_MESSAGE_TYPES.success,\n          message: t(\"profileUpdatedSuccessfully\"),\n        })\n      );\n    } else {\n      /* Error */\n      dispatch(\n        postMessageAction({\n          type: TOAST_MESSAGE_TYPES.error,\n          message: response.errorResponse?.message || response.errorMessage,\n        })\n      );\n    }\n  };\n\n  useEffect(() => {\n    fetchUserProfile();\n  }, [fetchUserProfile]);\n\n  return (\n    <>\n      {currentProfile ? (\n        <EditProfile\n          currentProfile={currentProfile}\n          updateProfileHandler={updateProfileHandler}\n          updateInProgress={updateInProgress}\n          isChangePasswordOptionVisible={isChangePasswordOptionVisible}\n        />\n      ) : errorFetchingProfile ? (\n        <ErrorMessage message={t(\"failedToFetchInformation\")} />\n      ) : (\n        <></>\n      )}\n    </>\n  );\n};\n\nexport default EditProfileContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/editprofile/presentation/EditProfile.tsx",
    "content": "import { useEffect, useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n  ButtonTypes,\n  LinkTypes,\n  ProfileFormFields,\n  REGEX_PATTERNS,\n} from \"../../../../constants\";\nimport { useAppSelector } from \"../../../../store\";\nimport Button from \"../../../basic/Button\";\nimport Input from \"../../../basic/Input\";\nimport Link from \"../../../basic/Link\";\nimport ChangePasswordModalContainer from \"../../../modals/changepasswordmodal/container/ChangePasswordModalContainer\";\n\ninterface EditProfileProps {\n  currentProfile: ProfileFormFields;\n  updateProfileHandler(data: ProfileFormFields): void;\n  updateInProgress: boolean;\n  isChangePasswordOptionVisible: boolean;\n}\nconst EditProfile = (props: EditProfileProps) => {\n  const {\n    currentProfile,\n    updateProfileHandler,\n    updateInProgress,\n    isChangePasswordOptionVisible = true,\n  } = props;\n\n  const { t } = useTranslation();\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  /* Change password modal visibility */\n  const [isChangePasswordModalShown, setIsChangePasswordModalShown] =\n    useState(false);\n\n  /* Whether profile values are updated */\n  const [isValuesUpdated, setIsValuesUpdated] = useState(false);\n\n  const {\n    handleSubmit,\n    register,\n    setValue,\n    watch,\n    formState: { errors },\n  } = useForm<ProfileFormFields>();\n\n  const toggleChangePasswordModal = () => {\n    setIsChangePasswordModalShown((prev) => !prev);\n  };\n\n  useEffect(() => {\n    let key: keyof typeof currentProfile;\n\n    /* Whenever current profile prop changes, set the input values */\n    for (key in currentProfile) {\n      setValue(key, currentProfile[key]);\n    }\n  }, [currentProfile, setValue]);\n\n  useEffect(() => {\n    /* Checking on change of input, whether the values are updated or they remain same */\n    const subscribe = watch((value, { name }) => {\n      if (name && currentProfile[name] !== value[name]) {\n        setIsValuesUpdated(true);\n      } else {\n        setIsValuesUpdated(false);\n      }\n    });\n\n    /* Setting to false as currentProfile has been updated here */\n    setIsValuesUpdated(false);\n\n    return () => {\n      subscribe.unsubscribe();\n    };\n  }, [currentProfile, watch]);\n\n  return (\n    <>\n      {isChangePasswordModalShown && (\n        <ChangePasswordModalContainer hideModal={toggleChangePasswordModal} />\n      )}\n      <form\n        className=\"flex flex-col gap-y-8\"\n        onSubmit={handleSubmit(updateProfileHandler)}\n        dir={isRTL ? \"rtl\" : \"ltr\"}\n      >\n        <span className=\"capitalize text-darkRed text-xl font-semibold\">\n          {t(\"editYourProfile\")}\n        </span>\n        <div className=\"flex flex-col gap-y-8 lg:grid lg:grid-cols-2 lg:gap-x-8\">\n          <Input\n            placeholder={t(\"firstName\")}\n            className=\"placeholder:capitalize\"\n            type=\"text\"\n            errorMessage={errors.firstName?.message || \"\"}\n            {...register(\"firstName\", { required: t(\"firstNameIsRequired\") })}\n          />\n\n          <Input\n            placeholder={t(\"lastName\")}\n            className=\"placeholder:capitalize\"\n            type=\"text\"\n            errorMessage={errors.lastName?.message || \"\"}\n            {...register(\"lastName\", { required: t(\"lastNameIsRequired\") })}\n          />\n\n          <Input\n            placeholder={t(\"countryCode\")}\n            className=\"placeholder:capitalize\"\n            type=\"text\"\n            errorMessage={errors.countryCode?.message || \"\"}\n            {...register(\"countryCode\", {\n              required: t(\"countryCodeIsRequired\"),\n              validate: {\n                matchPattern: (value) =>\n                  REGEX_PATTERNS.countryCodePattern.test(value) ||\n                  t(\"invalidCountryCode\"),\n              },\n            })}\n          />\n\n          <Input\n            placeholder={t(\"phoneNumber\")}\n            className=\"placeholder:capitalize\"\n            type=\"number\"\n            errorMessage={errors.phoneNumber?.message || \"\"}\n            {...register(\"phoneNumber\", {\n              required: t(\"phoneNumberIsRequired\"),\n              validate: {\n                matchPattern: (value) =>\n                  REGEX_PATTERNS.phoneNumberPattern.test(value) ||\n                  t(\"invalidPhoneNumber\"),\n              },\n            })}\n          />\n        </div>\n\n        {isChangePasswordOptionVisible && (\n          <Link\n            text={t(\"changePassword\")}\n            className=\"capitalize text-sm\"\n            linkType={LinkTypes.red}\n            onClick={toggleChangePasswordModal}\n          />\n        )}\n\n        <Button\n          type=\"submit\"\n          buttonType={ButtonTypes.primaryButton}\n          className=\"px-4 py-2 flex items-center justify-center lg:w-fit lg:self-center\"\n          onClickHandler={() => {}}\n          isLoading={updateInProgress}\n          isDisabled={!isValuesUpdated}\n        >\n          <span className=\"capitalize\">{t(\"update\")}</span>\n        </Button>\n      </form>\n    </>\n  );\n};\n\nexport default EditProfile;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/exploreproductlist/container/ExploreProductListContainer.tsx",
    "content": "import { useEffect, useState } from \"react\";\nimport ExploreProductList from \"../presentation/ExploreProductList\";\nimport { Product } from \"../../../../services/product/ProductTypes\";\nimport ProductService from \"../../../../services/product/ProductService\";\nimport { EXPLORE_PRODUCTS_COUNT } from \"../../../../data/applicationData\";\nimport { ROUTE_PATHS } from \"../../../../constants\";\nimport useCustomNavigate from \"../../../../hooks/useCustomNavigate\";\n\nconst ExploreProductListContainer = () => {\n  const navigate = useCustomNavigate();\n\n  /* Products List */\n  const [products, setProducts] = useState<Product[]>([]);\n\n  /* True / False: Representing any error when fetching the products list */\n  const [isError, setIsError] = useState(false);\n\n  const fetchProducts = async () => {\n    const response = await ProductService.getTopProducts(EXPLORE_PRODUCTS_COUNT);\n\n    if (response instanceof Array) {\n      setProducts(response);\n    } else {\n      // Error here\n      setIsError(true);\n    }\n  };\n\n  /* navigate to /products */\n  const viewAllClickHandler = () => {\n    navigate(ROUTE_PATHS.products);\n  }\n  \n  useEffect(() => {\n    fetchProducts();\n  }, []);\n  return <ExploreProductList products={products} error={isError} viewAllClickHandler={viewAllClickHandler} />;\n};\n\nexport default ExploreProductListContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/exploreproductlist/presentation/ExploreProductList.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport CardContainer from \"../../../business/CardContainer\";\nimport { CARD_CONTAINER_OPTION } from \"../../../../constants\";\nimport { Product } from \"../../../../services/product/ProductTypes\";\nimport ErrorMessage from \"../../../basic/ErrorMessage\";\nimport ProductList from \"../../../business/ProductList\";\n\ninterface ExploreProductListProps {\n  products: Product[];\n  error?: boolean;\n  viewAllClickHandler(): void;\n}\nconst ExploreProductList = (props: ExploreProductListProps) => {\n  const { products, error = false, viewAllClickHandler } = props;\n  const { t } = useTranslation();\n  return (\n    <CardContainer\n      heading={t(\"ourProducts\")}\n      subHeading={t(\"exploreOurProducts\")}\n      extraOption={CARD_CONTAINER_OPTION.BOTTOM_BUTTON}\n      extraOptionButtonText={t(\"viewAllProducts\")}\n      extraOptionButtonClickHandler={viewAllClickHandler}\n    >\n      {error ? (\n        <ErrorMessage message={t(\"pleaseTryAgainLater\")} className=\"justify-center\"/>\n      ) : (\n        <ProductList products={products} className=\"mt-4\" />\n      )}\n    </CardContainer>\n  );\n};\n\nexport default ExploreProductList;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/featuredproductlist/container/FeaturedProductListContainer.tsx",
    "content": "import { useEffect, useState } from \"react\";\nimport { Product } from \"../../../../services/product/ProductTypes\";\nimport ProductService from \"../../../../services/product/ProductService\";\nimport FeaturedProductList from \"../presentation/FeaturedProductList\";\nimport { FEATURED_PRODUCTS_COUNT } from \"../../../../data/applicationData\";\nimport { ROUTE_PATHS } from \"../../../../constants\";\nimport useCustomNavigate from \"../../../../hooks/useCustomNavigate\";\n\nconst FeaturedProductListContainer = () => {\n  \n  const navigate = useCustomNavigate();\n\n  /* List of products */\n  const [products, setProducts] = useState<Product[]>([]);\n\n  /* True/False: Representing any error when fetching featured products */\n  const [isError, setIsError] = useState(false);\n\n  /* Fetch featured products */\n  const fetchFeaturedProducts = async () => {\n    const response = await ProductService.getTopOnSaleProducts(FEATURED_PRODUCTS_COUNT);\n\n    if (Array.isArray(response)) {\n      setProducts(response);\n    } else {\n      // Error \n      setIsError(true);\n    }\n  };\n\n  /* navigate to /products */\n  const viewAllClickHandler = () => {\n    navigate(ROUTE_PATHS.products);\n  }\n\n  /* Initial Render */\n  useEffect(() => {\n    fetchFeaturedProducts();\n  }, []);\n  return <FeaturedProductList products={products} error={isError} viewAllClickHandler={viewAllClickHandler}/>;\n};\n\nexport default FeaturedProductListContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/featuredproductlist/presentation/FeaturedProductList.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport CardContainer from \"../../../business/CardContainer\";\nimport { CARD_CONTAINER_OPTION } from \"../../../../constants\";\nimport { Product } from \"../../../../services/product/ProductTypes\";\nimport ErrorMessage from \"../../../basic/ErrorMessage\";\nimport ProductList from \"../../../business/ProductList\";\n\ninterface FeaturedProductListProps {\n  products: Product[];\n  error?: boolean;\n  viewAllClickHandler(): void;\n}\nconst FeaturedProductList = (props: FeaturedProductListProps) => {\n  const { products, error = false, viewAllClickHandler } = props;\n  const { t } = useTranslation();\n  return (\n    <CardContainer\n      heading={t(\"thisMonth\")}\n      subHeading={t(\"bestSellingProducts\")}\n      extraOption={CARD_CONTAINER_OPTION.RIGHT_BUTTON}\n      extraOptionButtonText={t(\"viewAll\")}\n      extraOptionButtonClickHandler={viewAllClickHandler}\n    >\n      {error ? (\n        <ErrorMessage message={t(\"pleaseTryAgainLater\")} className=\"justify-center\"/>\n      ) : (\n        <ProductList products={products} className=\"mt-4\" />\n      )}\n    </CardContainer>\n  );\n};\n\nexport default FeaturedProductList;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/footer/container/FooterContainer.tsx",
    "content": "import Footer from \"../presentation/Footer\"\n\n\nconst FooterContainer = () => {\n    return (\n        <Footer />\n    )\n}\n\nexport default FooterContainer;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/footer/presentation/Footer.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport FooterSection from \"../../../business/FooterSection\";\nimport { useAppSelector } from \"../../../../store\";\nimport Text from \"../../../basic/Text\";\n\nconst Footer = () => {\n  const { t } = useTranslation();\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n  return (\n    <footer className=\"bg-black\">\n      <div\n        className={`flex justify-between`}\n        dir={isRTL ? 'rtl' : 'ltr'}\n      >\n        <FooterSection\n          heading={t(\"companyName\")}\n          headingClassName=\"font-semibold tracking-wider capitalize p-8\"\n          className=\"w-2/6\"\n        />\n        <FooterSection heading={t(\"support\")} headingClassName=\"capitalize\" className=\"p-8\">\n          <div className=\"flex flex-col text-zinc-50\">\n            <Text\n              className=\"break-words text-base capitalize\"\n            >\n              {t(\"companyAddress\")}\n            </Text>\n            <Text className=\"mt-4\">\n              {t(\"companyEmail\")}\n            </Text>\n            <Text className=\"mt-4\">\n              {t(\"companyPhone\")}\n            </Text>\n          </div>\n        </FooterSection>\n      </div>\n      <Text\n        className=\"text-zinc-50 flex justify-center pb-4 capitalize\"\n      >\n        {t(\"copyrightMessage\")}\n      </Text>\n    </footer>\n  );\n};\n\nexport default Footer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/header/container/HeaderContainer.tsx",
    "content": "import React, { ForwardedRef, useCallback, useEffect, useState } from \"react\";\nimport Header from \"../presentation/Header\";\nimport useCustomNavigate from \"../../../../hooks/useCustomNavigate\";\nimport AuthService from \"../../../../services/auth/AuthService\";\nimport ApiError from \"../../../../services/ApiError\";\nimport {\n  logIn,\n  logOut,\n  updateLoginCheckDone,\n} from \"../../../../store/AuthSlice\";\nimport {\n  NavigationOption,\n  ROUTE_PATHS,\n  QUERY_PARAMS,\n} from \"../../../../constants\";\nimport { getNavigationItemList } from \"../../../../data/applicationData\";\nimport { useAppDispatch, useAppSelector } from \"../../../../store\";\nimport { getUserCartThunk, resetCartSlice } from \"../../../../store/CartSlice\";\nimport { createSearchParams } from \"react-router-dom\";\n\nconst HeaderContainer = React.forwardRef(function HeaderContainer(\n  _,\n  ref: ForwardedRef<HTMLDivElement>\n) {\n  const navigate = useCustomNavigate();\n  const dispatch = useAppDispatch();\n\n  const isLoggedIn = useAppSelector((state) => state.auth.isLoggedIn);\n  const userCart = useAppSelector((state) => state.cart.userCart);\n\n  const [navigationList, setNavigationList] = useState<NavigationOption[]>([]);\n\n  /* Navigate to /, on click of logo*/\n  const logoClickHandler = () => {\n    navigate(\"/\");\n  };\n\n  /* On click of cart */\n  const cartClickHandler = () => {\n    navigate(ROUTE_PATHS.cart);\n  };\n\n  const fetchUser = useCallback(async () => {\n    /* Get current user info */\n    const response = await AuthService.getCurrentUser();\n\n    /* If the user details are returned */\n    if (!(response instanceof ApiError)) {\n      /* Login and store the user details */\n      dispatch(logIn(response));\n    } else {\n      /* Logout */\n      dispatch(logOut());\n    }\n\n    /* Is logged in check is done */\n    dispatch(updateLoginCheckDone(true));\n  }, [dispatch]);\n\n  /* Navigate to /product-search?productNameSearch=<inputText> */\n  const searchHandler = (inputText: string) => {\n    if (inputText) {\n      navigate({\n        pathname: ROUTE_PATHS.productSearch,\n        search: createSearchParams({\n          [QUERY_PARAMS.productNameSearch]: inputText,\n        }).toString(),\n      });\n    }\n  };\n\n  /* Fetch Current User: To determine login status */\n  useEffect(() => {\n    fetchUser();\n  }, [fetchUser]);\n\n  /* Fetch Users' Cart, when isLoggedIn flag changes in redux */\n  useEffect(() => {\n    if (isLoggedIn) {\n      dispatch(getUserCartThunk());\n    } else {\n      /* Reset Cart Slice as user is logged out */\n      dispatch(resetCartSlice());\n    }\n  }, [dispatch, isLoggedIn]);\n\n  /* Get Navigation Item List based on isLoggedIn flag */\n  useEffect(() => {\n    setNavigationList(getNavigationItemList(isLoggedIn));\n  }, [isLoggedIn]);\n\n  return (\n    <Header\n      ref={ref}\n      logoClickHandler={logoClickHandler}\n      navItemList={navigationList}\n      itemsInCart={userCart ? userCart.items.length : 0}\n      cartClickHandler={cartClickHandler}\n      searchHandler={searchHandler}\n    />\n  );\n});\nexport default HeaderContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/header/presentation/Header.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport { BREAKPOINTS, NavigationOption } from \"../../../../constants\";\nimport useBreakpointCheck from \"../../../../hooks/useBreakpointCheck\";\nimport Hamburger from \"../../../basic/Hamburger\";\nimport SearchInput from \"../../../basic/SearchInput\";\nimport Button from \"../../../basic/Button\";\nimport CartIcon from \"../../../icons/CartIcon\";\nimport { useAppSelector } from \"../../../../store\";\nimport NavList from \"../../../basic/NavList\";\nimport InfoHeaderContainer from \"../../infoheader/container/InfoHeaderContainer\";\nimport { ForwardedRef, forwardRef } from \"react\";\n\ninterface HeaderProps {\n  logoClickHandler(): void;\n  navItemList: NavigationOption[];\n  itemsInCart: number;\n  cartClickHandler(): void;\n  searchHandler(inputText: string): void;\n}\nconst Header = forwardRef(function Header(props: HeaderProps, ref: ForwardedRef<HTMLDivElement>) {\n\n  const {logoClickHandler, navItemList, itemsInCart = 0, cartClickHandler, searchHandler} = props;\n\n  const { t } = useTranslation();\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n  const isLG = useBreakpointCheck(BREAKPOINTS.lg);\n\n  /* Mobile & Tablet */\n  if (!isLG) {\n    return (\n      <header ref={ref} className=\"fixed top-0 w-full z-10 bg-white\">\n        <InfoHeaderContainer />\n        <div\n          className={`flex items-center justify-between px-2 pb-4 mt-4 border-b-2 border-b-neutral-100`}\n          dir={isRTL ? 'rtl' : 'ltr'}\n        >\n          <Hamburger\n            headingText={t(\"companyName\")}\n            navList={navItemList}\n          />\n          <SearchInput\n            placeholder={t(\"searchProductsPlaceholder\")}\n            className=\"flex-1 mx-8\"\n            submitHandler={searchHandler}\n          />\n          <Button onClickHandler={cartClickHandler}>\n            <CartIcon className=\"w-8 h-8 text-black\" quantity={itemsInCart} />\n          </Button>\n        </div>\n      </header>\n    );\n  }\n\n  /* Desktop */\n  return (\n    <header ref={ref} className=\"fixed top-0 w-full z-10 bg-white\">\n      <InfoHeaderContainer />\n      <div\n        className={`flex justify-between items-center mt-4 px-10 pb-4 border-b-2 border-b-neutral-100 `}\n        dir={isRTL ? 'rtl' : 'ltr'}\n      >\n        <button\n          className={`font-semibold capitalize text-2xl tracking-wider text-black`} onClick={logoClickHandler}\n        >\n          {t(\"companyName\")}\n        </button>\n\n        <NavList navList={navItemList} className=\"w-1/3\" />\n\n        <div className={`flex w-2/6`}>\n          <SearchInput\n            placeholder={t(\"searchProductsPlaceholder\")}\n            className={`w-full ${isRTL ? \"ml-2\" : \"mr-2\"}`}\n            submitHandler={searchHandler}\n          />\n          <Button onClickHandler={cartClickHandler}>\n            <CartIcon className=\"w-8 h-8 text-black\" quantity={itemsInCart} />\n          </Button>\n        </div>\n      </div>\n    </header>\n  );\n});\n\nexport default Header;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/infoheader/container/InfoHeaderContainer.tsx",
    "content": "import { useMemo } from \"react\";\nimport InfoHeader from \"../presentation/InfoHeader\";\nimport {\n  DropdownItem,\n  SUPPORTED_LANGUAGES,\n} from \"../../../../constants\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch } from \"react-redux\";\nimport { changeLanguage } from \"../../../../store/LanguageSlice\";\n\nconst InfoHeaderContainer = () => {\n  const { t, i18n } = useTranslation();\n\n  const dispatch = useDispatch();\n\n  /* Shown at the top of the header */\n  const infoText = t(\"infoHeaderMessage\");\n  const linkText = \"\";\n\n  /* Returns the list of supported languages, and the current selected language\n     Used for Dropdown props\n  */\n  const languageConfig = useMemo(() => {\n    const result: Array<DropdownItem> = [];\n    const defaultSelection: DropdownItem = { id: \"\", textKey: \"\" };\n    let languageHeading: keyof typeof SUPPORTED_LANGUAGES;\n\n    for (languageHeading in SUPPORTED_LANGUAGES) {\n      const languageId = SUPPORTED_LANGUAGES[languageHeading];\n\n      result.push({\n        id: languageId,\n        textKey: languageId,\n      });\n\n      /* Default / currently selected language */\n      if (languageId === i18n.language) {\n        defaultSelection.id = languageId;\n        defaultSelection.textKey = languageId;\n      }\n    }\n\n    return {\n      languageList: result,\n      defaultSelection,\n    };\n  }, [i18n.language]);\n\n  /* On change of language */\n  const languageChangeHandler = (selectedLanguage: DropdownItem) => {\n    if (selectedLanguage?.id && typeof selectedLanguage.id === \"string\") {\n      /* Change language in i18n, and redux state */\n      i18n.changeLanguage(selectedLanguage.id);\n      dispatch(changeLanguage(selectedLanguage.id));\n    }\n  };\n\n  const onLinkClickHandler = () => {};\n\n  return (\n    <InfoHeader\n      languageConfig={languageConfig}\n      infoText={infoText}\n      linkText={linkText}\n      onLinkClickHandler={onLinkClickHandler}\n      languageChangeHandler={languageChangeHandler}\n    />\n  );\n};\n\nexport default InfoHeaderContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/infoheader/presentation/InfoHeader.tsx",
    "content": "import {\n  DropdownItem,\n  DropdownTypes,\n} from \"../../../../constants\";\nimport Dropdown from \"../../../basic/Dropdown\";\nimport Link from \"../../../basic/Link\";\nimport { useAppSelector } from \"../../../../store\";\n\n\n\ninterface InfoHeaderProps {\n  languageConfig: {languageList: Array<DropdownItem>, defaultSelection: DropdownItem};\n  infoText: string;\n  linkText?: string;\n  onLinkClickHandler?(): void;\n  languageChangeHandler(selectedLanguage: DropdownItem): void\n}\n\nconst InfoHeader = (props: InfoHeaderProps) => {\n\n  const {languageConfig, infoText, linkText = \"\", onLinkClickHandler, languageChangeHandler} = props;\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  return (\n    <div className={`bg-black py-1 flex justify-center items-center`} dir={isRTL ? 'rtl' : 'ltr'}>\n      <div className={`text-center ${isRTL ? 'mr-auto' : 'ml-auto'}`}>\n        {infoText && <span className=\"text-zinc-50 text-sm\">{infoText}</span>}\n        {linkText && (\n          <Link\n            text={linkText}\n            onClick={onLinkClickHandler}\n            className=\"text-zinc-50 font-semibold text-sm underline ml-1\"\n          />\n        )}\n      </div>\n      <div className={`${isRTL ? 'mr-auto ml-5' : 'ml-auto mr-5'}`}>\n        <Dropdown\n          itemsList={languageConfig.languageList}\n          onChange={languageChangeHandler}\n          defaultSelectedItem={languageConfig.defaultSelection}\n          type={DropdownTypes.noBorderDarkBg}\n        />\n      </div>\n    </div>\n  );\n};\n\nexport default InfoHeader;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/login/container/LoginContainer.tsx",
    "content": "import { useState } from \"react\";\nimport { LoginFormFields, ROUTE_PATHS } from \"../../../../constants\";\nimport Login from \"../presentation/Login\";\nimport AuthService from \"../../../../services/auth/AuthService\";\nimport ApiError from \"../../../../services/ApiError\";\nimport { useLocation } from \"react-router-dom\";\nimport { useDispatch } from \"react-redux\";\nimport { logIn } from \"../../../../store/AuthSlice\";\nimport useCustomNavigate from \"../../../../hooks/useCustomNavigate\";\nimport ForgotPasswordModalContainer from \"../../../modals/forgotpasswordmodal/container/ForgotPasswordModalContainer\";\n\nconst LoginContainer = () => {\n  const navigate = useCustomNavigate();\n\n  const dispatch = useDispatch();\n\n  const location = useLocation();\n\n  /* Login in progress flag */\n  const [isLoading, setIsLoading] = useState(false);\n\n  /* API Error message state */\n  const [errorMessage, setErrorMessage] = useState(\"\");\n\n  /* Forgot Password Modal Visibility */\n  const [isForgotPasswordModalShown, setIsForgotPasswordModalShown] =\n    useState(false);\n\n  const loginClickHandler = async (inputData: LoginFormFields) => {\n    setIsLoading(true);\n    setErrorMessage(\"\");\n\n    const response = await AuthService.loginService(\n      inputData.email,\n      inputData.password\n    );\n\n    setIsLoading(false);\n\n    if (response instanceof ApiError) {\n      setErrorMessage(response.errorResponse?.message || response.errorMessage);\n    } else {\n      // Logged In\n      dispatch(logIn(response.user));\n      const previousRoute = location.state?.previousRoute;\n\n      if (previousRoute) {\n        navigate(previousRoute, true);\n      } else {\n        navigate(\"/\");\n      }\n    }\n  };\n\n  /* Redirection to Backend URL for google login  */\n  const googleLoginClickHandler = () => {\n    window.location.href = `${import.meta.env.VITE_SERVER_URI}${AuthService.GOOGLE_LOGIN_REDIRECT_URL}`;\n  };\n\n  /* navigating to /signup */\n  const signupClickHandler = () => {\n    navigate(ROUTE_PATHS.signup);\n  };\n\n  const toggleForgotPasswordModal = () => {\n    setIsForgotPasswordModalShown((prev) => !prev);\n  };\n  return (\n    <>\n      {isForgotPasswordModalShown && (\n        <ForgotPasswordModalContainer hideModal={toggleForgotPasswordModal} />\n      )}\n      <Login\n        loginClickHandler={loginClickHandler}\n        googleLoginClickHandler={googleLoginClickHandler}\n        signupClickHandler={signupClickHandler}\n        forgotPasswordClickHandler={toggleForgotPasswordModal}\n        isLoading={isLoading}\n        apiError={errorMessage}\n      />\n    </>\n  );\n};\n\nexport default LoginContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/login/presentation/Login.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport Button from \"../../../basic/Button\";\nimport Input from \"../../../basic/Input\";\nimport Link from \"../../../basic/Link\";\nimport {\n  ButtonTypes,\n  LinkTypes,\n  LoginFormFields,\n  REGEX_PATTERNS,\n} from \"../../../../constants\";\nimport { useForm } from \"react-hook-form\";\nimport ErrorMessage from \"../../../basic/ErrorMessage\";\nimport Text from \"../../../basic/Text\";\nimport { useAppSelector } from \"../../../../store\";\nimport GoogleIcon from \"../../../icons/GoogleIcon\";\n\ninterface LoginProps {\n  loginClickHandler(inputData: LoginFormFields): void;\n  googleLoginClickHandler(): void;\n  forgotPasswordClickHandler(): void;\n  signupClickHandler(): void;\n  isLoading?: boolean;\n  apiError?: string;\n}\nconst Login = (props: LoginProps) => {\n  const {\n    loginClickHandler,\n    googleLoginClickHandler,\n    forgotPasswordClickHandler,\n    signupClickHandler,\n    isLoading = false,\n    apiError = \"\",\n  } = props;\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  const { t } = useTranslation();\n\n  const {\n    register,\n    handleSubmit,\n    formState: { errors },\n  } = useForm<LoginFormFields>();\n\n  return (\n    <form\n      className=\"flex flex-col p-4 lg:p-0\"\n      onSubmit={handleSubmit(loginClickHandler)}\n    >\n      <Text className=\"capitalize text-2xl tracking-wider font-poppinsMedium self-center lg:self-auto\">\n        {t(\"login\")}\n      </Text>\n      <Text className=\"capitalize mt-6 self-center lg:self-auto\">\n        {t(\"enterYourDetailsBelow\")}\n      </Text>\n      {apiError && (\n        <ErrorMessage\n          className=\"text-sm mt-1\"\n          errorIconClassName=\"w-4 h-4\"\n          message={apiError}\n        />\n      )}\n      <Input\n        placeholder={t(\"email\")}\n        type=\"text\"\n        className=\"mt-12 placeholder:capitalize\"\n        autoComplete=\"username\"\n        errorMessage={errors.email?.message || \"\"}\n        {...register(\"email\", {\n          required: t(\"emailIsRequired\"),\n          validate: {\n            matchPattern: (value) =>\n              REGEX_PATTERNS.emailPattern.test(value) ||\n              t(\"invalidEmailAddress\"),\n          },\n        })}\n      />\n\n      <Input\n        placeholder={t(\"password\")}\n        type=\"password\"\n        className=\"mt-10 placeholder:capitalize\"\n        autoComplete=\"current-password\"\n        errorMessage={errors.password?.message || \"\"}\n        {...register(\"password\", { required: t(\"passwordIsRequired\") })}\n      />\n\n      <div\n        className={`flex justify-between items-center mt-10`}\n        dir={isRTL ? 'rtl' : 'ltr'}\n      >\n        <Button\n          className=\"px-4 py-2 capitalize\"\n          type=\"submit\"\n          buttonType={ButtonTypes.primaryButton}\n          onClickHandler={() => {}}\n          isLoading={isLoading}\n        >\n          <span>{t(\"login\")}</span>\n        </Button>\n        <Link\n          text={t(\"forgotPassword\")}\n          linkType={LinkTypes.red}\n          onClick={forgotPasswordClickHandler}\n          className=\"capitalize\"\n        />\n      </div>\n\n      <Button\n        className={`px-4 py-2 capitalize mt-4 flex justify-center items-center gap-4 ${isRTL ? 'flex-row-reverse': ''}`}\n        type=\"button\"\n        buttonType={ButtonTypes.secondaryButton}\n        onClickHandler={googleLoginClickHandler}\n      >\n        <>\n          <GoogleIcon className=\"w-6 h-6\" />\n          <span>{t(\"signInWithGoogle\")}</span>\n        </>\n      </Button>\n\n      <Link\n        text={t(\"dontHaveAnAccountSignUp\")}\n        linkType={LinkTypes.red}\n        onClick={signupClickHandler}\n        className=\"capitalize mt-4\"\n      />\n    </form>\n  );\n};\n\nexport default Login;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/myaccountoption/container/MyAccountOptionContainer.tsx",
    "content": "import { ROUTE_PATHS, SelectionMenuItem } from \"../../../../constants\";\nimport MyAccountOption from \"../presentation/MyAccountOption\";\nimport { useState } from \"react\";\nimport LogoutModalContainer from \"../../../modals/logoutmodal/container/LogoutModalContainer\";\nimport useCustomNavigate from \"../../../../hooks/useCustomNavigate\";\n\nconst MyAccountOptionContainer = () => {\n\n  /* Logout modal visibility state */\n  const [isLogoutModalShown, setIsLogoutModalShown] = useState(false);\n  const navigate = useCustomNavigate();\n\n  const itemClickHandler = (item: SelectionMenuItem) => {\n    switch (item.id) {\n      case 1:\n        navigate(ROUTE_PATHS.manageAccount);\n        return;\n      case 2: \n        navigate(ROUTE_PATHS.orders);\n        return;\n      case 3: {\n        //Logout\n        setIsLogoutModalShown(true);\n        return;\n      }\n    }\n  };\n\n  const hideLogoutModal = () => {\n    setIsLogoutModalShown(false);\n  };\n\n  return (\n    <>\n      <MyAccountOption itemClickHandler={itemClickHandler} />\n      {\n        isLogoutModalShown &&\n        <LogoutModalContainer isShown={isLogoutModalShown} hideModal={hideLogoutModal} />\n      }\n    </>\n  );\n};\n\nexport default MyAccountOptionContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/myaccountoption/presentation/MyAccountOption.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport { SelectionMenuItem } from \"../../../../constants\";\nimport SelectionMenu from \"../../../basic/SelectionMenu\";\nimport { MY_ACCOUNT_OPTIONS } from \"../../../../data/applicationData\";\n\ninterface MyAccountOptionProps {\n  itemClickHandler(item: SelectionMenuItem): void\n}\nconst MyAccountOption = (props: MyAccountOptionProps) => {\n  const {\n    itemClickHandler\n  } = props;\n  const { t } = useTranslation();\n\n  return (\n    <>\n      <SelectionMenu\n        heading={t(\"myAccount\")}\n        items={MY_ACCOUNT_OPTIONS}\n        onItemSelect={itemClickHandler}\n        headingClassName=\"capitalize text-zinc-50 lg:text-black\"\n      />\n    </>\n  );\n};\n\nexport default MyAccountOption;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/myorderslist/container/MyOrdersListContainer.tsx",
    "content": "import { useCallback, useEffect, useState } from \"react\";\nimport ProfileService from \"../../../../services/profile/ProfileService\";\nimport { OrderClass } from \"../../../../services/order/OrderTypes\";\nimport ApiError from \"../../../../services/ApiError\";\nimport MyOrdersList from \"../presentation/MyOrdersList\";\nimport useCustomNavigate from \"../../../../hooks/useCustomNavigate\";\nimport {\n  DATE_TIME_FORMATS,\n  OrderListFilterFields,\n  QUERY_PARAMS,\n  ROUTE_PATHS,\n} from \"../../../../constants\";\nimport { createSearchParams } from \"react-router-dom\";\nimport {\n  checkIfDateIsInRange,\n  convertUTCToLocalTime,\n  formatDateFromDateObject,\n} from \"../../../../utils/dateTimeHelper\";\n\nconst MyOrdersListContainer = () => {\n  const navigate = useCustomNavigate();\n\n  const [ordersList, setOrdersList] = useState<Array<OrderClass>>([]);\n  const [displayedOrdersList, setDisplayedOrdersList] = useState<\n    Array<OrderClass>\n  >([]);\n\n  /* To store filters applied if any */\n  const [filters, setFilters] = useState<OrderListFilterFields>();\n\n  const [errorFetchingOrders, setErrorFetchingOrders] = useState(false);\n\n  const fetchMyOrders = useCallback(async () => {\n    setErrorFetchingOrders(false);\n    ProfileService.getUsersOrdersAsync(\n      (orders: Array<OrderClass>, _: boolean, error?: ApiError) => {\n        if (!error) {\n          orders = orders.filter((order) => order.isPaymentDone);\n          setOrdersList((prev) => [...prev, ...orders]);\n        } else {\n          console.error(\n            \"Error -- myorderslistcontainer, fetchMyOrders()\",\n            error\n          );\n          setErrorFetchingOrders(true);\n        }\n      }\n    );\n  }, []);\n\n  /* On change of filters, updating the state */\n  const filtersChangeHandler = (fields: OrderListFilterFields) => {\n    setFilters(fields);\n  };\n\n  /* Navigate to /order?orderId=<orderId> on click of an order */\n  const orderClickHandler = (order: OrderClass) => {\n    navigate({\n      pathname: ROUTE_PATHS.orderDetail,\n      search: createSearchParams({\n        [QUERY_PARAMS.orderId]: order._id,\n      }).toString(),\n    });\n  };\n\n  useEffect(() => {\n    fetchMyOrders();\n  }, [fetchMyOrders]);\n\n  /* On change of filters or main orders list */\n  useEffect(() => {\n    /* If no filters are applied, displayed list will be the entire ordersList */\n    if (!filters) {\n      setDisplayedOrdersList(ordersList);\n    } else {\n      /* Filter from ordersList */\n      const filteredOrders = ordersList.filter((order) => {\n\n        /* Flag to know whether the order was created in the date range selected by the user */\n        let isInDateRange = false;\n\n        /* If date range filter is not selected, setting the flag to true */\n        if (!filters?.dateRange || !filters?.dateRange?.from || !filters?.dateRange?.to) {\n          isInDateRange = true;\n        } else if (\n          filters?.dateRange &&\n          filters?.dateRange?.from &&\n          filters?.dateRange?.to\n        ) {\n          /* Start date & end date selected by user in YYYY-MM-DD format */\n          const startDate = formatDateFromDateObject(\n            filters.dateRange.from,\n            DATE_TIME_FORMATS.standardDate\n          );\n          const endDate = formatDateFromDateObject(\n            filters.dateRange.to,\n            DATE_TIME_FORMATS.standardDate\n          );\n\n          /* Order created at in local time, formatted to YYYY-MM-DD */\n          const orderDateInLocalTime = convertUTCToLocalTime(order.createdAt, DATE_TIME_FORMATS.standardDate);\n\n          /* Checking if the created at date is in between start and end dates */\n          if (\n            checkIfDateIsInRange(\n              orderDateInLocalTime,\n              startDate,\n              endDate,\n              DATE_TIME_FORMATS.standardDate\n            )\n          ) {\n            /* Set flag to true */\n            isInDateRange = true;\n          }\n        }\n\n        /* Checking if the order matches one of the selected statuses  */\n        const isCorrectStatus = filters?.checkedStatus.find(\n          (status) => status.id === order.status\n        )\n          ? true\n          : false;\n\n        /* If both filters match return true, else return false */\n        if (isCorrectStatus && isInDateRange) {\n          return true;\n        }\n        return false;\n      });\n\n      /* Setting the filtered orders list */\n      setDisplayedOrdersList(filteredOrders);\n    }\n  }, [filters, ordersList]);\n\n  return (\n    <>\n      <MyOrdersList\n        ordersList={displayedOrdersList}\n        isError={errorFetchingOrders}\n        orderClickHandler={orderClickHandler}\n        filtersChangeHandler={filtersChangeHandler}\n      />\n    </>\n  );\n};\n\nexport default MyOrdersListContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/myorderslist/presentation/MyOrdersList.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport { OrderListFilterFields } from \"../../../../constants\";\nimport { OrderClass } from \"../../../../services/order/OrderTypes\";\nimport ErrorMessage from \"../../../basic/ErrorMessage\";\nimport OrderListFilters from \"../../../business/OrderListFilters\";\nimport OrdersList from \"../../../business/OrdersList\";\n\ninterface MyOrdersListProps {\n  ordersList: Array<OrderClass>;\n  orderClickHandler(order: OrderClass): void;\n  isError: boolean;\n  filtersChangeHandler(fields: OrderListFilterFields): void;\n}\nconst MyOrdersList = (props: MyOrdersListProps) => {\n  const { ordersList, isError = false, orderClickHandler, filtersChangeHandler } = props;\n\n  const { t } = useTranslation();\n  return (\n    <>\n      {isError ? (\n        <ErrorMessage\n          message={t(\"failedToFetchInformation\")}\n          className=\"justify-center\"\n        />\n      ) : (\n        <div className=\"flex flex-col gap-y-4\">\n          <OrderListFilters orderFiltersSubmitHandler={filtersChangeHandler}/>\n          <OrdersList\n            ordersList={ordersList}\n            orderClickHandler={orderClickHandler}\n          />\n        </div>\n      )}\n    </>\n  );\n};\n\nexport default MyOrdersList;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/orderdetail/container/OrderDetailContainer.tsx",
    "content": "import { useCallback, useEffect, useState } from \"react\";\nimport OrderService from \"../../../../services/order/OrderService\";\nimport { OrderDetailClass } from \"../../../../services/order/OrderTypes\";\nimport ApiError from \"../../../../services/ApiError\";\nimport OrderDetail from \"../presentation/OrderDetail\";\n\ninterface OrderDetailContainerProps {\n  orderId: string;\n}\nconst OrderDetailContainer = ({ orderId }: OrderDetailContainerProps) => {\n  const [order, setOrder] = useState<OrderDetailClass>();\n  const [isError, setIsError] = useState(false);\n\n  const fetchOrder = useCallback(async () => {\n    const response = await OrderService.getOrderDetail(orderId);\n\n    if (!(response instanceof ApiError)) {\n      setOrder(response);\n    } else {\n      /* Error fetching order */\n      setIsError(true);\n    }\n  }, [orderId]);\n\n  useEffect(() => {\n    fetchOrder();\n  }, [fetchOrder]);\n\n  return <>{order && <OrderDetail order={order} isError={isError} />}</>;\n};\n\nexport default OrderDetailContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/orderdetail/presentation/OrderDetail.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport { OrderDetailClass } from \"../../../../services/order/OrderTypes\";\nimport ErrorMessage from \"../../../basic/ErrorMessage\";\nimport OrderItemList from \"../../../business/OrderItemList\";\nimport OrderSummary from \"../../../business/OrderSummary\";\nimport { useAppSelector } from \"../../../../store\";\n\ninterface OrderDetailProps {\n  order: OrderDetailClass;\n  isError: boolean;\n}\nconst OrderDetail = (props: OrderDetailProps) => {\n  const { order, isError } = props;\n\n  const { t } = useTranslation();\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n  return (\n    <div>\n      {isError ? (\n        <ErrorMessage\n          message={t(\"failedToFetchInformation\")}\n          errorIconClassName=\"w-4 h-4\"\n        />\n      ) : (\n        <div className={`flex flex-col relative lg:flex-row lg:gap-x-4 ${isRTL ? 'lg:flex-row-reverse': ''}`}>\n          <div className=\"overflow-auto h-96 lg:h-auto lg:flex-1\">\n            <OrderItemList itemList={order.order.items} />\n          </div>\n          <div className=\"lg:w-1/3\">\n            <OrderSummary orderDetail={order} className=\"lg:sticky top-28\"/>\n          </div>\n        </div>\n      )}\n    </div>\n  );\n};\n\nexport default OrderDetail;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/productdetails/container/ProductDetailsContainer.tsx",
    "content": "import { useCallback, useEffect, useState } from \"react\";\nimport { Product } from \"../../../../services/product/ProductTypes\";\nimport ProductDetails from \"../presentation/ProductDetails\";\nimport ProductService from \"../../../../services/product/ProductService\";\nimport ApiError from \"../../../../services/ApiError\";\nimport { useAppDispatch, useAppSelector } from \"../../../../store\";\nimport useCustomNavigate from \"../../../../hooks/useCustomNavigate\";\nimport { ROUTE_PATHS } from \"../../../../constants\";\nimport {\n  addOrUpdateToCartThunk,\n  removeFromCartThunk,\n} from \"../../../../store/CartSlice\";\nimport { CartItemClass } from \"../../../../services/cart/CartTypes\";\n\ninterface ProductDetailsContainerProps {\n  productId: string;\n}\nconst ProductDetailsContainer = (props: ProductDetailsContainerProps) => {\n  const { productId } = props;\n\n  const dispatch = useAppDispatch();\n  const navigate = useCustomNavigate();\n\n  const isLoggedIn = useAppSelector((state) => state.auth.isLoggedIn);\n  const userCart = useAppSelector((state) => state.cart.userCart);\n\n  /* Product Details State */\n  const [productDetails, setProductDetails] = useState<Product>();\n\n  /* If the product is in cart and the quantity in cart */\n  const [productInCart, setProductInCart] = useState({\n    isProductExistsInCart: false,\n    currentQuantity: 0,\n  });\n\n  /* Error while fetching product details */\n  const [isProductDetailsError, setIsProductDetailsError] = useState(false);\n\n  /* For loading spinner */\n  const isAddOrUpdateCartInProgress = useAppSelector(\n    (state) => state.cart.isAddOrUpdateToCartInProgress\n  );\n  const isRemoveFromCartInProgress = useAppSelector(\n    (state) => state.cart.isRemoveFromCartInProgress\n  );\n\n  const fetchProductDetails = useCallback(async () => {\n    if (productId) {\n      setIsProductDetailsError(false);\n\n      const response = await ProductService.getProduct(productId);\n\n      if (response instanceof ApiError) {\n        // Error\n        setIsProductDetailsError(true);\n      } else {\n        setIsProductDetailsError(false);\n        setProductDetails(response);\n      }\n    }\n  }, [productId]);\n\n  /* Add to cart function */\n  const addToCart = async (product: Product, quantity: number) => {\n    /* If the user is not logged in, route to login */\n    if (!isLoggedIn) {\n      navigate(ROUTE_PATHS.login);\n      return;\n    }\n\n    /* Add to cart thunk */\n    dispatch(addOrUpdateToCartThunk({ productId: product._id, quantity }));\n  };\n\n  /* Remove from cart function */\n  const removeFromCart = async (product: Product) => {\n    /* If the user is not logged in, route to login */\n    if (!isLoggedIn) {\n      navigate(ROUTE_PATHS.login);\n      return;\n    }\n    /* Remove from cart thunk */\n    dispatch(removeFromCartThunk({ productId: product._id }));\n  };\n\n  const checkProductInCart = useCallback(() => {\n    /* Finding the product in user cart */\n    const product = userCart?.items.find(\n      (item: CartItemClass) => item.product._id === productId\n    );\n    if (product) {\n      setProductInCart({\n        isProductExistsInCart: true,\n        currentQuantity: product.quantity,\n      });\n    } else {\n      setProductInCart({ isProductExistsInCart: false, currentQuantity: 0 });\n    }\n  }, [userCart, productId]);\n\n  useEffect(() => {\n    fetchProductDetails();\n  }, [fetchProductDetails]);\n\n  useEffect(() => {\n    checkProductInCart();\n  }, [checkProductInCart]);\n\n  return (\n    <ProductDetails\n      product={productDetails}\n      isError={isProductDetailsError}\n      addToCart={addToCart}\n      removeFromCart={removeFromCart}\n      removeFromCartButtonShown={productInCart.isProductExistsInCart}\n      updateQuantityButtonShown={productInCart.isProductExistsInCart}\n      quantityInCart={productInCart.currentQuantity}\n      isAddOrUpdateCartInProgress={isAddOrUpdateCartInProgress}\n      isRemoveFromCartInProgress={isRemoveFromCartInProgress}\n    />\n  );\n};\n\nexport default ProductDetailsContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/productdetails/presentation/ProductDetails.tsx",
    "content": "import { useEffect, useMemo, useState } from \"react\";\nimport { DEFAULT_CURRENCY } from \"../../../../data/applicationData\";\nimport { Product } from \"../../../../services/product/ProductTypes\";\nimport ProductImagesView from \"../../../business/ProductImagesView\";\nimport { useTranslation } from \"react-i18next\";\nimport QuantityCounter from \"../../../business/QuantityCounter\";\nimport Button from \"../../../basic/Button\";\nimport { ButtonTypes } from \"../../../../constants\";\nimport { useAppSelector } from \"../../../../store\";\nimport ErrorMessage from \"../../../basic/ErrorMessage\";\nimport { formatAmount } from \"../../../../utils/commonHelper\";\n\ninterface ProductDetailsProps {\n  product?: Product;\n  isError?: boolean;\n  updateQuantityButtonShown?: boolean;\n  removeFromCartButtonShown?: boolean;\n  addToCart(product: Product, quantity: number): void;\n  removeFromCart(product: Product): void;\n  quantityInCart: number;\n  isAddOrUpdateCartInProgress?: boolean;\n  isRemoveFromCartInProgress?: boolean;\n}\nconst ProductDetails = (props: ProductDetailsProps) => {\n  const {\n    product,\n    isError = false,\n    updateQuantityButtonShown = false,\n    removeFromCartButtonShown = false,\n    isAddOrUpdateCartInProgress = false,\n    isRemoveFromCartInProgress = false,\n    addToCart,\n    removeFromCart,\n    quantityInCart,\n  } = props;\n\n  const { t } = useTranslation();\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  /* If the product is already in cart, it's quantity is stored in this state */\n  const [quantity, setQuantity] = useState(quantityInCart ? quantityInCart : 1);\n\n  /* Whether the product is available */\n  const isInStock = useMemo(() => {\n    if (product) {\n      if (product.stock > 0) {\n        return true;\n      }\n      return false;\n    }\n  }, [product]);\n\n  /* Case when user has added the entire stock in cart */\n  const isMaxQuantityReached = useMemo(() => {\n    if (product && quantity >= product.stock) {\n      return true;\n    }\n    return false;\n  }, [quantity, product]);\n\n  /* Quantity change handler */\n  const onQuantityChanged = (newQuantity: number): void => {\n    setQuantity(newQuantity);\n  };\n\n  /* Whenever quantityInCart prop changes, update quantity state */\n  useEffect(() => {\n    if (quantityInCart) {\n      setQuantity(quantityInCart);\n    } else {\n      /* Default quantity, If product is not added in cart yet */\n      setQuantity(1);\n    }\n  }, [quantityInCart]);\n\n  return (\n    <>\n      {!product || isError ? (\n        <ErrorMessage\n          message={t(\"pleaseTryAgainLater\")}\n          className=\"justify-center\"\n        />\n      ) : (\n        <div\n          className={`flex flex-col gap-y-4 lg:gap-x-16 ${\n            isRTL ? \"lg:flex-row-reverse\" : \"lg:flex-row\"\n          }`}\n        >\n          <ProductImagesView\n            productName={product.name}\n            mainImage={product.mainImage}\n            subImages={product.subImages}\n            className=\"lg:w-3/5 lg:h-[550px] gap-y-2 lg:gap-y-0 lg:gap-x-4\"\n          />\n          <div className=\"flex flex-col lg:w-2/5\">\n            <div className=\"flex flex-col border-b-2 border-b-grey pb-6\">\n              <span className=\"font-semibold text-2xl tracking-wider\">\n                {product.name}\n              </span>\n\n              <span\n                className={`capitalize mt-2 font-poppinsMedium ${\n                  isInStock ? \"text-green-500\" : \"text-darkRed\"\n                }`}\n              >\n                {isInStock ? t(\"inStock\") : t(\"outOfStock\")}\n              </span>\n\n              <span className=\"mt-2 text-2xl tracking-wider\">\n                {formatAmount(\n                  product.price,\n                  product.currency || DEFAULT_CURRENCY\n                )}\n              </span>\n\n              <span className=\"text-sm mt-4\">{product.description}</span>\n            </div>\n            {isMaxQuantityReached && (\n              <ErrorMessage\n                message={t(\"maxQuantityReached\")}\n                className=\"mt-4 text-sm\"\n                errorIconClassName=\"w-5 h-5\"\n              />\n            )}\n            <div\n              className={`flex flex-col gap-y-6 lg:gap-x-2 mt-16 ${\n                isRTL ? \"lg:flex-row-reverse\" : \"lg:flex-row\"\n              }`}\n            >\n              <QuantityCounter\n                defaultQuantity={quantityInCart ? quantityInCart : 1}\n                onQuantityChanged={onQuantityChanged}\n                className=\"flex-1\"\n                maxLimit={product.stock}\n              />\n              <Button\n                buttonType={ButtonTypes.primaryButton}\n                className=\"flex-1 px-4 py-3 lg:p-0 flex justify-center items-center\"\n                isLoading={isAddOrUpdateCartInProgress}\n                onClickHandler={() => {\n                  addToCart(product, quantity);\n                }}\n              >\n                <span className=\"uppercase\">\n                  {updateQuantityButtonShown\n                    ? t(\"updateQuantity\")\n                    : t(\"addToCart\")}\n                </span>\n              </Button>\n              {removeFromCartButtonShown && (\n                <Button\n                  buttonType={ButtonTypes.secondaryButton}\n                  className=\"flex-1 px-4 py-3 lg:p-0 flex justify-center items-center\"\n                  isLoading={isRemoveFromCartInProgress}\n                  onClickHandler={() => {\n                    removeFromCart(product);\n                  }}\n                >\n                  <span className=\"uppercase\">{t(\"removeFromCart\")}</span>\n                </Button>\n              )}\n            </div>\n          </div>\n        </div>\n      )}\n    </>\n  );\n};\n\nexport default ProductDetails;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/relateditemslist/container/RelatedItemsListContainer.tsx",
    "content": "import { useCallback, useEffect, useState } from \"react\";\nimport ProductService from \"../../../../services/product/ProductService\";\nimport { Product } from \"../../../../services/product/ProductTypes\";\nimport RelatedItemsList from \"../presentation/RelatedItemsList\";\nimport { RELATED_PRODUCTS_COUNT } from \"../../../../data/applicationData\";\nimport ApiError from \"../../../../services/ApiError\";\n\ninterface RelatedItemsListContainerProps {\n  productId: string;\n  categoryId: string;\n}\nconst RelatedItemsListContainer = (props: RelatedItemsListContainerProps) => {\n  const { categoryId, productId } = props;\n\n  /* Related products list */\n  const [relatedProducts, setRelatedProducts] = useState<Product[]>([]);\n\n  /* Error while fetching related items */\n  const [isRelatedItemsError, setIsRelatedItemsError] = useState(false);\n\n  const fetchRelatedProducts = useCallback(async () => {\n    setIsRelatedItemsError(false);\n    const response = await ProductService.getRelatedProducts(\n      categoryId,\n      RELATED_PRODUCTS_COUNT\n    );\n\n    if (response instanceof ApiError) {\n      // Error\n      setIsRelatedItemsError(true);\n    } else {\n      setIsRelatedItemsError(false);\n\n      /* Excluding the current product */\n      const excludingCurrentProduct = response.filter((product) => product._id !== productId);\n      setRelatedProducts(excludingCurrentProduct);\n    }\n  }, [categoryId, productId]);\n\n  useEffect(() => {\n    fetchRelatedProducts();\n  }, [fetchRelatedProducts]);\n\n  return <RelatedItemsList relatedProducts={relatedProducts} isError={isRelatedItemsError} />;\n};\n\nexport default RelatedItemsListContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/relateditemslist/presentation/RelatedItemsList.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport { Product } from \"../../../../services/product/ProductTypes\";\nimport CardContainer from \"../../../business/CardContainer\";\nimport ErrorMessage from \"../../../basic/ErrorMessage\";\nimport ProductList from \"../../../business/ProductList\";\n\ninterface RelatedItemsListProps {\n  isError?: boolean;\n  relatedProducts: Product[];\n}\nconst RelatedItemsList = (props: RelatedItemsListProps) => {\n  const { relatedProducts, isError = false } = props;\n\n  const { t } = useTranslation();\n  return (\n    <CardContainer heading={t(\"relatedItems\")}>\n      {isError ? (\n        <ErrorMessage\n          message={t(\"pleaseTryAgainLater\")}\n          className=\"justify-center mt-4\"\n        />\n      ) : (\n        <ProductList products={relatedProducts} className=\"mt-4\" />\n      )}\n    </CardContainer>\n  );\n};\n\nexport default RelatedItemsList;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/resetforgottenpassword/container/ResetForgottenPasswordContainer.tsx",
    "content": "import { useState } from \"react\";\nimport ResetForgottenPassword from \"../presentation/ResetForgottenPassword\";\nimport { ROUTE_PATHS, ResetForgottenPasswordFields } from \"../../../../constants\";\nimport AuthService from \"../../../../services/auth/AuthService\";\nimport ApiResponse from \"../../../../services/ApiResponse\";\nimport { useTranslation } from \"react-i18next\";\nimport useCustomNavigate from \"../../../../hooks/useCustomNavigate\";\n\ninterface ResetForgottenPasswordContainerProps {\n  token: string;\n}\nconst ResetForgottenPasswordContainer = (\n  props: ResetForgottenPasswordContainerProps\n) => {\n  const { token } = props;\n\n  const navigate = useCustomNavigate();\n\n  const {t} = useTranslation();\n\n  /* API Call in progress flag */\n  const [isLoading, setIsLoading] = useState(false);\n\n  /* Error message from API  */\n  const [apiErrorMessage, setApiErrorMessage] = useState(\"\");\n\n  /* Flag to store if password was reset successfully  */\n  const [isPasswordResetSuccessful, setIsPasswordResetSuccessful] = useState(false);\n\n  /* Reset password handler */\n  const resetForgottenPasswordSubmitHandler = async (\n    fields: ResetForgottenPasswordFields\n  ) => {\n\n    /* Hiding the error message, and showing the loading spinner */\n    setIsLoading(true);\n    setApiErrorMessage(\"\");\n\n    const response = await AuthService.resetForgottenPassword(token, fields);\n\n    setIsLoading(false);\n\n    if(response instanceof ApiResponse){\n        /* Success */\n        setIsPasswordResetSuccessful(true);\n    }\n    else{\n        /* Error */\n        setApiErrorMessage(`${response.errorResponse?.message || response.errorMessage}, ${t(\"tryAgainLater\")}`);\n    }\n\n  };\n\n  /* Navigate to login */\n  const loginClickHandler = () => {\n    navigate(ROUTE_PATHS.login, true);\n  }\n\n  return (\n    <>\n      <ResetForgottenPassword\n        resetForgottenPasswordSubmitHandler={\n          resetForgottenPasswordSubmitHandler\n        }\n        isLoading={isLoading}\n        apiErrorMessage={apiErrorMessage}\n        isPasswordResetSuccessful={isPasswordResetSuccessful}\n        loginClickHandler={loginClickHandler}\n      />\n    </>\n  );\n};\n\nexport default ResetForgottenPasswordContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/resetforgottenpassword/presentation/ResetForgottenPassword.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport {\n  ButtonTypes,\n  ResetForgottenPasswordFields,\n} from \"../../../../constants\";\nimport Text from \"../../../basic/Text\";\nimport { useForm } from \"react-hook-form\";\nimport Input from \"../../../basic/Input\";\nimport Button from \"../../../basic/Button\";\nimport ErrorMessage from \"../../../basic/ErrorMessage\";\nimport { useAppSelector } from \"../../../../store\";\n\ninterface ResetForgottenPasswordProps {\n  resetForgottenPasswordSubmitHandler(\n    fields: ResetForgottenPasswordFields\n  ): void;\n  apiErrorMessage?: string;\n  isLoading: boolean;\n  isPasswordResetSuccessful: boolean;\n  loginClickHandler(): void;\n}\nconst ResetForgottenPassword = (props: ResetForgottenPasswordProps) => {\n  const {\n    resetForgottenPasswordSubmitHandler,\n    apiErrorMessage,\n    isLoading,\n    isPasswordResetSuccessful = false,\n    loginClickHandler,\n  } = props;\n  const { t } = useTranslation();\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  const {\n    handleSubmit,\n    register,\n    watch,\n    formState: { errors },\n  } = useForm<ResetForgottenPasswordFields>();\n\n  /* Password reset complete */\n  if (isPasswordResetSuccessful) {\n    return (\n      <div className={`flex flex-col p-4 lg:p-0`} dir={isRTL ? \"rtl\" : \"ltr\"}>\n        <Text className=\"capitalize text-2xl tracking-wider font-poppinsMedium self-center lg:self-auto\">\n          {t(\"resetPassword\")}\n        </Text>\n        <Text className=\"capitalize mt-6 self-center lg:self-auto\">\n          {t(\"resetPasswordSuccessful\")}\n        </Text>\n        <div dir={isRTL ? \"rtl\" : \"ltr\"} className=\"self-center lg:self-auto\">\n          <Button\n            className=\"capitalize w-fit px-4 py-2 mt-12\"\n            buttonType={ButtonTypes.primaryButton}\n            onClickHandler={loginClickHandler}\n          >\n            <Text>{t(\"proceedToLogin\")}</Text>\n          </Button>\n        </div>\n      </div>\n    );\n  }\n\n  /* Reset password form */\n  return (\n    <form\n      className=\"flex flex-col\"\n      onSubmit={handleSubmit(resetForgottenPasswordSubmitHandler)}\n      dir={isRTL ? \"rtl\" : \"ltr\"}\n    >\n      <Text className=\"capitalize text-2xl tracking-wider font-poppinsMedium self-center lg:self-auto\">\n        {t(\"resetPassword\")}\n      </Text>\n\n      {apiErrorMessage && (\n        <ErrorMessage\n          message={apiErrorMessage}\n          errorIconClassName=\"w-4 h-4\"\n          className=\"mt-4\"\n        />\n      )}\n\n      <Input\n        placeholder={t(\"newPassword\")}\n        type=\"password\"\n        className=\"mt-10 placeholder:capitalize\"\n        autoComplete=\"current-password\"\n        errorMessage={errors.newPassword?.message || \"\"}\n        {...register(\"newPassword\", { required: t(\"thisFieldIsRequired\") })}\n      />\n\n      <Input\n        placeholder={t(\"confirmNewPassword\")}\n        type=\"password\"\n        className=\"mt-10 placeholder:capitalize\"\n        autoComplete=\"current-password\"\n        errorMessage={errors.confirmNewPassword?.message || \"\"}\n        {...register(\"confirmNewPassword\", {\n          required: t(\"thisFieldIsRequired\"),\n          validate: (value) => {\n            if (watch(\"newPassword\") !== value) {\n              return t(\"passwordsDontMatch\");\n            }\n          },\n        })}\n      />\n\n      <Button\n        type=\"submit\"\n        buttonType={ButtonTypes.primaryButton}\n        className=\"capitalize px-12 py-2 lg:w-fit mt-8 flex justify-center\"\n        onClickHandler={() => {}}\n        isLoading={isLoading}\n      >\n        <span>{t(\"reset\")}</span>\n      </Button>\n    </form>\n  );\n};\n\nexport default ResetForgottenPassword;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/signup/container/SignupContainer.tsx",
    "content": "import { useState } from \"react\";\nimport { ROUTE_PATHS, SignupFormFields } from \"../../../../constants\";\nimport useCustomNavigate from \"../../../../hooks/useCustomNavigate\";\nimport Signup from \"../presentation/Signup\";\nimport AuthService from \"../../../../services/auth/AuthService\";\nimport ApiError from \"../../../../services/ApiError\";\nimport { USER_ROLES } from \"../../../../services/auth/AuthTypes\";\n\nconst SignupContainer = () => {\n  const navigate = useCustomNavigate();\n\n  const [isLoading, setIsLoading] = useState(false);\n  const [error, setError] = useState(\"\");\n  const [isSignupSuccessful, setIsSignupSuccessful] = useState(false);\n\n  const signupClickHandler = async (inputData: SignupFormFields) => {\n    setError(\"\");\n    setIsLoading(true);\n\n    const {username, email, password} = inputData\n\n    const response = await AuthService.signUp(email, username, password, USER_ROLES.user);\n\n    setIsLoading(false);\n\n    if(!(response instanceof ApiError)){\n        setIsSignupSuccessful(true);\n    }\n    else{\n        setError(response?.errorResponse?.message || response.errorMessage);\n    }\n\n  };\n  const loginClickHandler = () => {\n    navigate(ROUTE_PATHS.login, true);\n  };\n  return (\n    <Signup\n      loginClickHandler={loginClickHandler}\n      signupClickHandler={signupClickHandler}\n      isLoading={isLoading}\n      apiError={error}\n      isSignedUp={isSignupSuccessful}\n    />\n  );\n};\n\nexport default SignupContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/components/widgets/signup/presentation/Signup.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport Text from \"../../../basic/Text\";\nimport ErrorMessage from \"../../../basic/ErrorMessage\";\nimport { useForm } from \"react-hook-form\";\nimport {\n  ButtonTypes,\n  LinkTypes,\n  MIN_USERNAME_LENGTH,\n  REGEX_PATTERNS,\n  SignupFormFields,\n} from \"../../../../constants\";\nimport Input from \"../../../basic/Input\";\nimport { useAppSelector } from \"../../../../store\";\nimport Button from \"../../../basic/Button\";\nimport Link from \"../../../basic/Link\";\n\ninterface SignupProps {\n  apiError?: string;\n  isLoading?: boolean;\n  signupClickHandler(inputData: SignupFormFields): void;\n  loginClickHandler(): void;\n  isSignedUp: boolean;\n}\nconst Signup = (props: SignupProps) => {\n  const {\n    apiError = \"\",\n    isLoading = false,\n    loginClickHandler,\n    signupClickHandler,\n    isSignedUp = false,\n  } = props;\n  const { t } = useTranslation();\n\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  const {\n    register,\n    handleSubmit,\n    watch,\n    formState: { errors },\n  } = useForm<SignupFormFields>();\n\n  if (isSignedUp) {\n    return (\n      <div\n        className={`flex flex-col p-4 lg:p-0 ${\n          isRTL ? \"flex-row-reverse\" : \"\"\n        }`}\n      >\n        <Text className=\"capitalize text-2xl tracking-wider font-poppinsMedium self-center lg:self-auto\">\n          {t(\"signup\")}\n        </Text>\n        <Text className=\"capitalize mt-6 self-center lg:self-auto\">\n          {t(\"signupSuccessful\")}\n        </Text>\n        <div dir={isRTL ? 'rtl' : 'ltr'} className=\"self-center lg:self-auto\">\n          <Button\n            className=\"capitalize w-fit px-4 py-2 mt-12\"\n            buttonType={ButtonTypes.primaryButton}\n            onClickHandler={loginClickHandler}\n          >\n            <Text>{t(\"proceedToLogin\")}</Text>\n          </Button>\n        </div>\n      </div>\n    );\n  }\n  return (\n    <form\n      className=\"flex flex-col p-4 lg:p-0\"\n      onSubmit={handleSubmit(signupClickHandler)}\n    >\n      <Text className=\"capitalize text-2xl tracking-wider font-poppinsMedium self-center lg:self-auto\">\n        {t(\"signup\")}\n      </Text>\n      <Text className=\"capitalize mt-6 self-center lg:self-auto\">\n        {t(\"enterYourDetailsBelow\")}\n      </Text>\n      {apiError && (\n        <ErrorMessage\n          className=\"text-sm mt-1\"\n          errorIconClassName=\"w-4 h-4\"\n          message={apiError}\n        />\n      )}\n      <Input\n        placeholder={t(\"email\")}\n        type=\"text\"\n        className=\"mt-12 placeholder:capitalize\"\n        autoComplete=\"username\"\n        errorMessage={errors.email?.message || \"\"}\n        {...register(\"email\", {\n          required: t(\"emailIsRequired\"),\n          validate: {\n            matchPattern: (value) =>\n              REGEX_PATTERNS.emailPattern.test(value) ||\n              t(\"invalidEmailAddress\"),\n          },\n        })}\n      />\n\n      <Input\n        placeholder={t(\"username\")}\n        type=\"text\"\n        className=\"mt-10 placeholder:capitalize\"\n        autoComplete=\"username\"\n        errorMessage={errors.username?.message || \"\"}\n        {...register(\"username\", { required: t(\"usernameIsRequired\"),\n          validate: (value) => {\n            if(value.length < MIN_USERNAME_LENGTH){\n              return t(\"usernameMustBeThreeCharactersLong\")\n            }\n          }\n         })}\n      />\n\n      <Input\n        placeholder={t(\"password\")}\n        type=\"password\"\n        className=\"mt-10 placeholder:capitalize\"\n        autoComplete=\"current-password\"\n        errorMessage={errors.password?.message || \"\"}\n        {...register(\"password\", { required: t(\"passwordIsRequired\") })}\n      />\n\n      <Input\n        placeholder={t(\"confirmPassword\")}\n        type=\"password\"\n        className=\"mt-10 placeholder:capitalize\"\n        autoComplete=\"current-password\"\n        errorMessage={errors.confirmPassword?.message || \"\"}\n        {...register(\"confirmPassword\", {\n          required: t(\"passwordIsRequired\"),\n          validate: (confirmPasswordValue: string) => {\n            if (watch(\"password\") !== confirmPasswordValue) {\n              return t(\"passwordsDontMatch\");\n            }\n          },\n        })}\n      />\n\n      <div\n        className={`flex justify-between items-center mt-10 ${\n          isRTL ? \"flex-row-reverse\" : \"\"\n        }`}\n      >\n        <Button\n          className=\"px-4 py-2 capitalize\"\n          type=\"submit\"\n          buttonType={ButtonTypes.primaryButton}\n          onClickHandler={() => {}}\n          isLoading={isLoading}\n        >\n          <span>{t(\"signup\")}</span>\n        </Button>\n      </div>\n\n      <Link\n        text={t(\"alreadyHaveAnAccountLogin\")}\n        linkType={LinkTypes.red}\n        onClick={loginClickHandler}\n        className=\"capitalize mt-4\"\n      />\n    </form>\n  );\n};\n\nexport default Signup;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/constants.ts",
    "content": "import React from \"react\";\nimport { AddressClass } from \"./services/address/AddressTypes\";\nimport { DateRange } from \"react-day-picker\";\n\n/* DROPDOWN */\nexport enum DropdownTypes {\n  noBorderDarkBg,\n  borderedLightBg\n}\n\nexport interface DropdownItem {\n  id?: string | number;\n  textKey?: string;\n  text?: string;\n}\n\n\n/* SELECTION MENU */\nexport interface SelectionMenuItem {\n  id: string | number;\n  textKey: string;\n  icon?: React.ReactElement\n}\n\n/* LANGUAGE */\nexport enum SUPPORTED_LANGUAGES {\n  english = \"en\",\n  arabic = \"ar\",\n  hindi = \"hn\"\n}\n\nexport const DEFAULT_LANGUAGE = SUPPORTED_LANGUAGES.english;\n\n/* LOCAL STORAGE */\nexport enum LOCAL_STORAGE_KEYS {\n  selectedLanguage = \"lang\",\n  accessToken = \"accessToken\",\n}\n\n/* RESPONSIVE: BREAKPOINTS */\n/* NOTE: Breakpoints have to be ordered in ascending order */\nexport enum BREAKPOINTS {\n  \"sm\" = \"640px\",\n  \"md\" = \"768px\",\n  \"lg\" = \"1024px\",\n  \"xl\" = \"1280px\",\n  \"2xl\" = \"1536px\",\n}\n\n/* DRAWER OPTION */\nexport interface NavigationOption {\n  id: string | number;\n  textKey: string;\n  icon?: React.ReactElement;\n  navigateTo: string;\n  customComponent?: React.ReactElement\n}\n\n/* DRAWER OPTION */\nexport interface DrawerOption  {\n  id: string | number;\n  textKey: string;\n  icon?: React.ReactElement;\n}\n\n/* BUTTON TYPES */\nexport enum ButtonTypes {\n  noBackgroundAndBorder,\n  primaryButton,\n  secondaryButton,\n}\n\n/* LINK TYPES */\nexport enum LinkTypes {\n  default,\n  red\n}\n\n/* DATE TIME FORMATS */\nexport enum DATE_TIME_FORMATS {\n  standardDateWithTime = \"YYYY-MM-DDTHH:mm:ss\",\n  displayedDateWithTime = \"Do MMM YYYY, hh:mmA\",\n  standardDate = \"YYYY-MM-DD\"\n}\n\nexport interface DURATION {\n  days: number;\n  hours: number;\n  minutes: number;\n  seconds: number;\n}\n\n/* Category Icon Type */\nexport interface CategoryIcon  { [id: string]: React.ReactElement }\n\n/* Card Container */\nexport enum CARD_CONTAINER_OPTION {\n  CAROUSEL,\n  RIGHT_BUTTON,\n  BOTTOM_BUTTON,\n}\n\n/* Company Gurantee */\nexport interface COMPANY_GURANTEE {\n  id: string | number,\n  icon: React.ReactElement;\n  headingKey: string;\n  descriptionKey: string;\n}\n\n/* Arrow Button Types */\nexport enum ARROW_BUTTONS {\n  UP,\n  RIGHT,\n  DOWN, \n  LEFT\n}\n/* Query param strings */\nexport enum QUERY_PARAMS {\n  category = \"category\",\n  productId = \"productId\",\n  categoryId = \"categoryId\",\n  productNameSearch = \"productNameSearch\",\n  orderId = \"orderId\"\n}\n\n/* Paths */\nexport enum ROUTE_PATHS {\n  products = \"/products\",\n  product = \"/product\",\n  productSearch = \"/product-search\",\n  login = \"/login\",\n  signup = \"/signup\",\n  cart = \"/cart\",\n  checkout = \"/checkout\",\n  paymentFeedback = \"/payment-feedback\",\n  manageAccount = \"/manage-account\",\n  orders = \"/orders\",\n  orderDetail = \"/order\",\n  resetForgottenPassword = \"/forgot-password/:token\",\n  pageNotFound = \"/page-not-found\",\n  about = \"/about\"\n}\n\n\n/* IMAGES IN PUBLIC FOLDER */\nexport enum PUBLIC_IMAGE_PATHS {\n  loginSideImage = \"/images/loginsideimage.png\",\n  defaultProductImage = \"/images/defaultproduct.png\",\n  aboutSideImage = \"/images/aboutsideimage.png\",\n  bannerProductImage = \"/images/bannerproduct.png\"\n}\n\n/* REGEX PATTERNS */\nexport const REGEX_PATTERNS = {\n  emailPattern : /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/,\n  numberPattern: /^[0-9]*$/,\n  countryCodePattern: /^\\+[0-9]{1,3}$/,\n  phoneNumberPattern: /^[0-9]{10}$/\n}\n\nexport const MIN_USERNAME_LENGTH = 3;\n\n/* LOGIN FORM FIELDS */\nexport interface LoginFormFields {\n  email: string;\n  password: string;\n}\n\n/* SIGN UP FORM FIELDS */\nexport interface SignupFormFields {\n  email: string,\n  password: string,\n  username: string,\n  confirmPassword: string\n}\n\n/* TYPES OF TOAST MESSAGES */\nexport enum TOAST_MESSAGE_TYPES {\n  success = \"SUCCESS\",\n  error = \"ERROR\"\n}\n\n/* ADDRESS FORM KEYS */\nexport enum ADDRESS_FORM_KEYS  {\n  country,\n  state,\n  city, \n  addressLine1,\n  addressLine2,\n  pincode\n}\n\nexport interface AddressFormFields {\n  country: DropdownItem,\n  city: DropdownItem,\n  state: DropdownItem,\n  addressLine1: string,\n  addressLine2: string,\n  pincode: string\n}\n\nexport interface CheckoutFormFields {\n  address: AddressClass\n}\n\nexport interface ProfileFormFields {\n  firstName: string,\n  lastName: string,\n  phoneNumber: string,\n  countryCode: string\n}\n\nexport interface CheckoutApplyCouponCodeFields {\n  couponCode: string\n}\n\nexport interface RADIO_BUTTON_TYPE<T> {\n  label?: string;\n  customElement?: React.ReactElement;\n  data: T\n  isDefaultSelected: boolean;\n  id: string;\n}\n\nexport interface CHECKBOX_TYPE<T> {\n  label?: string;\n  isLabelKey?: boolean;\n  customElement?: React.ReactElement;\n  data: T\n  isDefaultSelected: boolean;\n  id: string;\n}\n\n/**\n * Tab Config \n */\nexport interface TabItemConfig {\n  id: number | string,\n  tabHeadingKey: string\n}\n\n/* Change Password Form Fields */\nexport interface ChangePasswordFields {\n  currentPassword: string,\n  newPassword: string,\n  confirmNewPassword: string\n}\n\n/* Forgot Password Form Fields */\nexport interface ForgotPasswordFields {\n  email: string\n}\n\n/* Reset Forgotten Password Form Fields */\nexport interface ResetForgottenPasswordFields {\n  newPassword: string,\n  confirmNewPassword: string\n}\n\n/* Fields for product filters */\nexport interface ProductFilterFields {\n  price: {\n    min: number,\n    max: number\n  }\n}\n\nexport interface OrderListFilterFields {\n  dateRange: DateRange,\n  checkedStatus: Array<CHECKBOX_TYPE<null>>\n}"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/data/applicationData.tsx",
    "content": "import AccountIcon from \"../components/icons/AccountIcon\";\nimport GuranteeIcon from \"../components/icons/GuranteeIcon\";\nimport HeadphoneIcon from \"../components/icons/HeadphoneIcon\";\nimport LogoutIcon from \"../components/icons/LogoutIcon\";\nimport OrderIcon from \"../components/icons/OrderIcon\";\nimport TruckIcon from \"../components/icons/TruckIcon\";\nimport MyAccountOptionContainer from \"../components/widgets/myaccountoption/container/MyAccountOptionContainer\";\nimport {\n  CHECKBOX_TYPE,\n  COMPANY_GURANTEE,\n  CategoryIcon,\n  DropdownItem,\n  NavigationOption,\n  SelectionMenuItem,\n  TabItemConfig,\n} from \"../constants\";\nimport i18n from \"../i18n\";\n\nexport const DRAWER_ITEMS: Array<NavigationOption> = [\n  {\n    id: 1,\n    textKey: \"home\",\n    navigateTo: \"/\",\n  },\n  {\n    id: 2,\n    textKey: \"about\",\n    navigateTo: \"/about\",\n  },\n  {\n    id: 3,\n    textKey: \"login\",\n    navigateTo: \"/login\",\n  },\n];\n\nexport const getNavigationItemList = (isLoggedIn: boolean) => {\n  const tempDrawerItems = [...DRAWER_ITEMS];\n  if (isLoggedIn) {\n    tempDrawerItems.pop();\n    tempDrawerItems.push({\n      id: 4,\n      textKey: \"myAccount\",\n      navigateTo: \"my-account\",\n      customComponent: <MyAccountOptionContainer />\n    });\n  }\n  return tempDrawerItems;\n};\n\n\nexport const MY_ACCOUNT_OPTIONS: Array<SelectionMenuItem> = [\n  {\n    id: 1,\n    textKey: \"manageAccount\",\n    icon: <AccountIcon className=\"w-5 h-5\"/>,\n  },\n  {\n    id: 2,\n    textKey: \"myOrders\",\n    icon: <OrderIcon className=\"w-5 h-5\" />\n  },\n  {\n    id: 3,\n    textKey: \"logout\",\n    icon: <LogoutIcon className=\"w-5 h-5\" />,\n  },\n];\n\nexport const BANNER_PROMOTION_END_DATE = \"2023-04-30T00:00:00\";\n\nexport const CATEGORY_ICONS: CategoryIcon = {};\n\nexport const DEFAULT_CURRENCY = \"INR\";\n\nexport const DEFAULT_COUNTRY = \"United Arab Emirates\";\n\nexport const COUNTRIES_DROPDOWN_LIST: DropdownItem[] = [{id: 1, text: DEFAULT_COUNTRY}, {id: 2, text: \"India\"}]\nexport const COMPANY_GURANTEE_LIST: COMPANY_GURANTEE[] = [\n  {\n    id: 1,\n    icon: <TruckIcon className=\"w-10 h-10 text-white\" />,\n    headingKey: \"freeAndFastDelivery\",\n    descriptionKey: \"freeDeliveryFor\",\n  },\n  {\n    id: 2,\n    icon: <HeadphoneIcon className=\"w-10 h-10 text-white\" />,\n    headingKey: \"247customerService\",\n    descriptionKey: \"247customerServiceDescription\",\n  },\n  {\n    id: 3,\n    icon: <GuranteeIcon className=\"w-10 h-10 text-white\" />,\n    headingKey: \"guranteeHeading\",\n    descriptionKey: \"guranteeDescription\",\n  },\n];\n\nexport const EXPLORE_PRODUCTS_COUNT = 8;\nexport const FEATURED_PRODUCTS_COUNT = 4;\nexport const RELATED_PRODUCTS_COUNT = 4;\n\nexport enum PAYMENT_TYPES {\n  PAYPAL = \"PAYPAL\"\n}\n\nexport const MANAGE_ACCOUNT_TABS: Array<TabItemConfig> = [\n  {\n    id: 1, \n    tabHeadingKey: \"editProfile\"\n  },\n  {\n    id: 2, \n    tabHeadingKey: \"myAddresses\"\n  }\n]\n\nexport enum ORDER_STATUS {\n  PENDING= \"PENDING\",\n  CANCELLED= \"CANCELLED\",\n  DELIVERED= \"DELIVERED\",\n}\nexport const ORDER_STATUS_FILTERS_CHECKBOX: Array<CHECKBOX_TYPE<null>> = [\n  {\n    id: ORDER_STATUS.PENDING,\n    data: null, \n    isDefaultSelected: true,\n    isLabelKey: true,\n    label: i18n.t(\"pending\")\n  },\n  {\n    id: ORDER_STATUS.CANCELLED,\n    data: null, \n    isDefaultSelected: true,\n    label: i18n.t(\"cancelled\"),\n    isLabelKey: true,\n  },\n  {\n    id: ORDER_STATUS.DELIVERED,\n    data: null, \n    isDefaultSelected: true,\n    label: i18n.t(\"delivered\"),\n    isLabelKey: true,\n  }\n]\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/hooks/useBreakpointCheck.tsx",
    "content": "import { useEffect, useState } from \"react\";\nimport { BREAKPOINTS } from \"../constants\";\nimport { useAppSelector } from \"../store\";\n\nconst useBreakpointCheck = (breakpoint: BREAKPOINTS) => {\n\n  /* Current breakpoint from redux */\n  const currentBreakpoint = useAppSelector(\n    (state) => state.breakpoint.currentBreakpoint\n  );\n\n  /* To check the screen size */\n  const [isCurrentBreakpoint, setIsCurrentBreakpoint] = useState(false);\n\n  useEffect(() => {\n    const breakpointWidthInInt = parseInt(breakpoint);\n    \n    if (window.innerWidth >= breakpointWidthInInt) {\n      setIsCurrentBreakpoint(true);\n    } else {\n      setIsCurrentBreakpoint(false);\n    }\n  }, [breakpoint, currentBreakpoint]);\n\n  return isCurrentBreakpoint;\n};\n\nexport default useBreakpointCheck;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/hooks/useCustomNavigate.tsx",
    "content": "import { useMemo } from \"react\";\nimport { To, useLocation, useNavigate } from \"react-router-dom\";\n\n/* Stores previous pathname in state */\nconst useCustomNavigate = () => {\n  const { pathname, search } = useLocation();\n\n  const currentPath = useMemo(() => {\n    return `${pathname}${search}`;\n  }, [pathname, search]);\n\n  const navigate = useNavigate();\n\n  const customNavigate = (\n    navigateParams: To,\n    resetPreviousRouteState?: boolean,\n    extraState?: object\n  ) => {\n    if (resetPreviousRouteState) {\n      navigate(navigateParams, { state: { previousRoute: null, ...extraState } });\n    } else {\n      navigate(navigateParams, { state: { previousRoute: currentPath, ...extraState } });\n    }\n  };\n\n  return customNavigate;\n};\n\nexport default useCustomNavigate;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/hooks/useOnRefresh.tsx",
    "content": "import { useEffect } from \"react\";\n\n\n/* Execute something on refresh of page */\nconst useOnRefresh = (functionToExecute: () => void) => {\n\n    useEffect(() => {\n        window.addEventListener(\"beforeunload\", functionToExecute);\n\n        return () => {\n            window.removeEventListener(\"beforeunload\", functionToExecute);\n        }\n    }, [functionToExecute])\n\n}\n\nexport default useOnRefresh;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/hooks/useOutsideClick.tsx",
    "content": "import { RefObject, useCallback, useEffect, useState } from \"react\";\n\n/**\n * Notifies the component when a click outside of the \n * element whose reference has been passed has occurred\n */\nconst useOutsideClick = (ref: RefObject<HTMLElement>) => {\n\n  /* Counter which increments when clicked outside of the element whose ref passed */\n  const [clickedOutside, setClickedOutside] = useState(0);\n\n  const checkOutsideClick = useCallback(\n    (event: MouseEvent) => {\n      /* If the element's ref passed is in the target event's element - Increment the counter */\n      if (ref?.current && !ref?.current?.contains(event?.target as Node)) {\n        setClickedOutside((prev) => ++prev);\n      }\n    },\n    [ref]\n  );\n\n  /* Listener on mouse down event */\n  useEffect(() => {\n    window.addEventListener(\"mousedown\", checkOutsideClick);\n\n    return () => {\n      window.removeEventListener(\"mousedown\", checkOutsideClick);\n    };\n  }, [ref, checkOutsideClick]);\n\n  /* Return clickedOutside counter */\n  return [clickedOutside];\n};\n\nexport default useOutsideClick;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/i18n.ts",
    "content": "import i18n from \"i18next\";\nimport { initReactI18next } from \"react-i18next\";\n\nimport Backend from \"i18next-http-backend\";\nimport { DEFAULT_LANGUAGE, LOCAL_STORAGE_KEYS, SUPPORTED_LANGUAGES } from \"./constants\";\n\ni18n\n  .use(Backend)\n  .use(initReactI18next)\n  .init({\n    fallbackLng: DEFAULT_LANGUAGE,\n    lng: localStorage.getItem(LOCAL_STORAGE_KEYS.selectedLanguage) || DEFAULT_LANGUAGE,\n    debug: false,\n    supportedLngs: Object.values(SUPPORTED_LANGUAGES)\n  });\n\nexport default i18n;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/index.css",
    "content": "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n\n/* Fonts */\n.font-poppinsLight {\n  font-family: \"Poppins\", sans-serif;\n  font-weight: 300;\n  font-style: normal;\n}\n\n.font-poppinsRegular {\n  font-family: \"Poppins\", sans-serif;\n  font-weight: 400;\n  font-style: normal;\n}\n\n.font-poppinsMedium {\n  font-family: \"Poppins\", sans-serif;\n  font-weight: 500;\n  font-style: normal;\n}\n\n.font-poppinsSemibold {\n  font-family: \"Poppins\", sans-serif;\n  font-weight: 600;\n  font-style: normal;\n}\n\n.font-poppinsBold {\n  font-family: \"Poppins\", sans-serif;\n  font-weight: 700;\n  font-style: normal;\n}\n\n.font-poppinsBlack {\n  font-family: \"Poppins\", sans-serif;\n  font-weight: 900;\n  font-style: normal;\n}\n\n/* Default Font Family */\n* {\n  font-family: \"Poppins\", sans-serif;\n\n}\n\n/* Scroll bar styles*/\n*::-webkit-scrollbar {\n  width: 4px;\n  height: 4px;\n}\n/* Entire bar*/\n*::-webkit-scrollbar-track {\n  background: transparent;\n}\n/* Draggable Area*/\n*::-webkit-scrollbar-thumb {\n  background-color: #a1a1aa;\n  border-radius: 12px;\n}\n\n/* No Scrollbar class name */\n.no-scrollbar::-webkit-scrollbar {\n  display: none;\n}\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/layouts/PageLayout.tsx",
    "content": "import { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { updateBreakpoint } from \"../store/BreakpointSlice\";\nimport { getCurrentBreakpoint } from \"../utils/breakpointsHelper\";\n\nimport { Outlet } from \"react-router-dom\";\nimport ArrowButton from \"../components/basic/ArrowButton\";\nimport ToastMessage from \"../components/basic/ToastMessage\";\nimport FooterContainer from \"../components/widgets/footer/container/FooterContainer\";\nimport HeaderContainer from \"../components/widgets/header/container/HeaderContainer\";\nimport { ARROW_BUTTONS } from \"../constants\";\nimport { useAppSelector } from \"../store\";\n\nconst PageLayout = () => {\n  const dispatch = useDispatch();\n\n  /* isRTL language */\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n\n  /* Header height in pixels */\n  const [headerHeight, setHeaderHeight] = useState(\"0px\");\n\n  /* Reference to the header container */\n  const headerContainerRef = useRef<HTMLDivElement>(null);\n\n  /* Updating current breakpoint: As per tailwind css and updating the redux state*/\n  const checkForBreakpointUpdates = useCallback(() => {\n    const breakpoint = getCurrentBreakpoint();\n    if (breakpoint) {\n      dispatch(updateBreakpoint(breakpoint));\n    }\n  }, [dispatch]);\n\n  /* Checking for resize window event */\n  useEffect(() => {\n    checkForBreakpointUpdates();\n    window.addEventListener(\"resize\", checkForBreakpointUpdates);\n\n    return () => {\n      window.removeEventListener(\"resize\", checkForBreakpointUpdates);\n    };\n  }, [checkForBreakpointUpdates]);\n\n  /* Updating header height */\n  useEffect(() => {\n    setHeaderHeight(`${headerContainerRef.current?.clientHeight}px`);\n  }, [headerContainerRef]);\n\n  /* Scroll to top smoothly */\n  const scrollToTop = () => {\n    window.scrollTo({ top: 0, behavior: \"smooth\" });\n  };\n\n  return (\n    <div className=\"flex flex-col min-h-screen justify-between\">\n      <ToastMessage />\n      <div>\n        <HeaderContainer ref={headerContainerRef} />\n        <main style={{ marginTop: headerHeight }}>\n          <Outlet />\n        </main>\n      </div>\n      <div className=\"flex flex-col\">\n        <ArrowButton\n          type={ARROW_BUTTONS.UP}\n          onClickHandler={scrollToTop}\n          isDisabled={false}\n          className={`mb-4 ${isRTL ? \"mr-auto ml-4\" : \"ml-auto mr-4\"}`}\n        />\n        <FooterContainer />\n      </div>\n    </div>\n  );\n};\n\nexport default PageLayout;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/main.tsx",
    "content": "import axios from \"axios\";\nimport ReactDOM from \"react-dom/client\";\nimport { Provider } from \"react-redux\";\nimport App from \"./App.tsx\";\nimport \"./i18n.ts\";\nimport \"./index.css\";\nimport ApiError from \"./services/ApiError.ts\";\nimport AuthService from \"./services/auth/AuthService.ts\";\nimport store from \"./store/index.ts\";\n\n/* Configuring base URL for axios, withCredentials to send http only cookies when making requests */\naxios.defaults.baseURL = import.meta.env.VITE_SERVER_URI;\naxios.defaults.withCredentials = true;\n\n/* Refresh Token */\n\n/* Flag to check if token refresh is in progress */\nlet refreshingTokenInProgress = false;\n\n/* Axios response intercepto */\naxios.interceptors.response.use(\n  (response) => response,\n  async (error) => {\n\n    /* If an error has occurred from refresh token api */\n    if (error?.config?.url?.includes(\"refresh-token\")) {\n      return Promise.reject(error);\n    }\n    /*If the response status is 401, and the requested api end point is not login api  */\n    if (\n      error?.response?.status === 401 &&\n      !error?.config?.url?.includes(\"login\") &&\n      !refreshingTokenInProgress\n    ) {\n\n      /* Refreshing the token */\n      refreshingTokenInProgress = true;\n\n      const response = await AuthService.refreshAccessToken();\n\n      refreshingTokenInProgress = false;\n\n      /* Refresh token success */\n      if (!(response instanceof ApiError)) {\n        /* Replay the original request */\n        return axios(error.config);\n      }\n    }\n\n    /* Other errors */\n    return Promise.reject(error);\n  }\n);\n/* Axios Instance For Country API */\nexport const axiosCountryApi = axios.create({\n  baseURL: import.meta.env.VITE_COUNTRY_API,\n  withCredentials: false\n});\n\nReactDOM.createRoot(document.getElementById(\"root\")!).render(\n  <Provider store={store}>\n    <App />\n  </Provider>\n);\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/about/container/AboutPageContainer.tsx",
    "content": "import AboutPage from \"../presentation/AboutPage\";\n\n\nconst AboutPageContainer = () => {\n    return (\n        <AboutPage />\n    )\n}\n\nexport default AboutPageContainer;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/about/presentation/AboutPage.tsx",
    "content": "import AboutContainer from \"../../../components/widgets/about/container/AboutContainer\";\n\n\nconst AboutPage = () => {\n    return (\n        <div>\n            <AboutContainer />\n        </div>\n    )\n}\n\nexport default AboutPage;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/cart/container/CartPageContainer.tsx",
    "content": "import CartPage from \"../presentation/CartPage\"\n\n\nconst CartPageContainer = () => {\n    return (\n        <CartPage />\n    )\n}\n\nexport default CartPageContainer;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/cart/presentation/CartPage.tsx",
    "content": "import CartContainer from \"../../../components/widgets/cart/container/CartContainer\";\n\n\nconst CartPage = () => {\n    return (\n        <div className=\"px-2 py-4 lg:px-10\">\n            <CartContainer />\n        </div>\n    )\n}\n\nexport default CartPage;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/checkout/container/CheckoutPageContainer.tsx",
    "content": "import { useEffect, useMemo } from \"react\";\nimport CheckoutPage from \"../presentation/CheckoutPage\"\nimport { useLocation } from \"react-router-dom\";\nimport useCustomNavigate from \"../../../hooks/useCustomNavigate\";\nimport { useAppSelector } from \"../../../store\";\n\n\nconst CheckoutPageContainer = () => {\n\n    const navigate = useCustomNavigate();\n    const location = useLocation();\n\n    const userCart = useAppSelector((state) => state.cart.userCart);\n\n    /* Checking for isFromCartPage state in route location */\n    const isFromCartPage = useMemo(() => {\n        return location.state?.isFromCartPage;\n    }, [location])\n\n    useEffect(() => {\n        /* User can only come to checkout page from cart page */\n        if(!isFromCartPage){\n            navigate(\"/\", true);\n        }\n\n    }, [isFromCartPage, navigate])\n\n    /* No Items in the cart */\n    useEffect(() => {\n        if(!userCart?.items?.length){\n            navigate(\"/\", true);\n        }\n    }, [userCart, navigate])\n\n    return (\n        <CheckoutPage />\n    )\n}\n\nexport default CheckoutPageContainer;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/checkout/presentation/CheckoutPage.tsx",
    "content": "import CheckoutContainer from \"../../../components/widgets/checkout/container/CheckoutContainer\";\n\nconst CheckoutPage = () => {\n  \n  return (\n    <div className=\"px-2 py-4 lg:px-10\">\n      <CheckoutContainer />\n    </div>\n  );\n};\n\nexport default CheckoutPage;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/home/container/HomePageContainer.tsx",
    "content": "import HomePage from \"../presentation/HomePage\";\n\n\nconst HomePageContainer = () => {\n    return (\n        <>\n            <HomePage />\n        </>\n    )\n}\n\nexport default HomePageContainer;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/home/presentation/HomePage.tsx",
    "content": "import BannerContainer from \"../../../components/widgets/banner/container/BannerContainer\";\nimport CategoryListContainer from \"../../../components/widgets/categorylist/container/CategoryListContainer\";\nimport CompanyGuranteeListContainer from \"../../../components/widgets/companyguranteelist/container/CompanyGuranteeListContainer\";\nimport ExploreProductListContainer from \"../../../components/widgets/exploreproductlist/container/ExploreProductListContainer\";\nimport FeaturedProductListContainer from \"../../../components/widgets/featuredproductlist/container/FeaturedProductListContainer\";\nimport { BREAKPOINTS } from \"../../../constants\";\nimport useBreakpointCheck from \"../../../hooks/useBreakpointCheck\";\n\nconst HomePage = () => {\n  const isLG = useBreakpointCheck(BREAKPOINTS.lg);\n  return (\n    <div className=\"px-2 py-4 lg:px-10\">\n      {isLG && <BannerContainer />}\n      <div className={`${isLG ? 'mt-20' : ''}`}>\n        <CategoryListContainer />\n      </div>\n      <div className=\"mt-20\">\n        <FeaturedProductListContainer />\n      </div>\n      <div className=\"mt-20\">\n        <ExploreProductListContainer />\n      </div>\n      <div className=\"mt-20\">\n        <CompanyGuranteeListContainer />\n      </div>\n    </div>\n  );\n};\n\nexport default HomePage;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/login/container/LoginPageContainer.tsx",
    "content": "import { useEffect } from \"react\";\nimport LoginPage from \"../presentation/LoginPage\"\nimport { useAppSelector } from \"../../../store\";\nimport useCustomNavigate from \"../../../hooks/useCustomNavigate\";\n\n\nconst LoginPageContainer = () => {\n\n    const navigate = useCustomNavigate();\n\n    const isLoggedIn = useAppSelector((state) => state.auth.isLoggedIn);\n\n    /* If the user is logged in navigate to home */\n    useEffect(() => {\n        if(isLoggedIn){\n            navigate(\"/\", false);\n        }\n    },  [navigate, isLoggedIn])\n    return (\n        <LoginPage />\n    )\n}\n\nexport default LoginPageContainer;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/login/presentation/LoginPage.tsx",
    "content": "import Image from \"../../../components/basic/Image\";\nimport LoginContainer from \"../../../components/widgets/login/container/LoginContainer\";\nimport { BREAKPOINTS, PUBLIC_IMAGE_PATHS } from \"../../../constants\";\nimport useBreakpointCheck from \"../../../hooks/useBreakpointCheck\";\nimport { useAppSelector } from \"../../../store\";\n\nconst LoginPage = () => {\n  const isLG = useBreakpointCheck(BREAKPOINTS.lg);\n  const isRTL = useAppSelector(state => state.language.isRTL);\n  return (\n    <div className={`px-2 py-4 lg:px-10 lg:flex lg:items-center ${isRTL ? 'lg:flex-row-reverse' : ''}`}>\n      {isLG && (\n        <Image\n          src={PUBLIC_IMAGE_PATHS.loginSideImage}\n          alt=\"Login\"\n          backupImageSrc=\"\"\n          className=\"w-2/5 h-2/5 rounded\"\n        />\n      )}\n      <div className={`flex-1 ${isRTL ? 'lg:mr-32' : 'lg:ml-32'}`}>\n        <LoginContainer />\n      </div>\n    </div>\n  );\n};\n\nexport default LoginPage;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/manageaccount/container/ManageAccountPageContainer.tsx",
    "content": "import ManageAccountPage from \"../presentation/ManageAccountPage\";\n\n\nconst ManageAccountPageContainer = () => {\n    return (\n        <ManageAccountPage />\n    )\n}\n\nexport default ManageAccountPageContainer;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/manageaccount/presentation/ManageAccountPage.tsx",
    "content": "import { useState } from \"react\";\nimport Tabs from \"../../../components/basic/Tabs\";\nimport EditProfileContainer from \"../../../components/widgets/editprofile/container/EditProfileContainer\";\nimport { TabItemConfig } from \"../../../constants\";\nimport { MANAGE_ACCOUNT_TABS } from \"../../../data/applicationData\";\nimport EditAddressesContainer from \"../../../components/widgets/editaddresses/container/EditAddressesContainer\";\n\nconst ManageAccountPage = () => {\n  /* Selected Tab */\n  const [selectedTab, setSelectedTab] = useState<TabItemConfig>(\n    MANAGE_ACCOUNT_TABS[0]\n  );\n\n  /* Change the selected tab state, on click of a new tab */\n  const onTabSelectionChanged = (tabItem: TabItemConfig) => {\n    setSelectedTab(tabItem);\n  };\n\n  return (\n    <>\n      <Tabs\n        tabsConfig={MANAGE_ACCOUNT_TABS}\n        onTabSelectionChanged={onTabSelectionChanged}\n        defaultSelectedTab={MANAGE_ACCOUNT_TABS[0]}\n      />\n\n      <div className={`px-4 py-4 lg:px-10`}>\n        {selectedTab.id === 1 ? (\n          <EditProfileContainer />\n        ) : selectedTab.id === 2 ? (\n          <EditAddressesContainer />\n        ) : (\n          <></>\n        )}\n      </div>\n    </>\n  );\n};\n\nexport default ManageAccountPage;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/orderdetail/container/OrderDetailPageContainer.tsx",
    "content": "import { useSearchParams } from \"react-router-dom\";\nimport { QUERY_PARAMS } from \"../../../constants\";\nimport { useEffect, useMemo } from \"react\";\nimport useCustomNavigate from \"../../../hooks/useCustomNavigate\";\nimport OrderDetailPage from \"../presentation/OrderDetailPage\";\n\nconst OrderDetailPageContainer = () => {\n  const navigate = useCustomNavigate();\n\n  const [searchParams] = useSearchParams();\n\n  const orderId = useMemo(() => {\n    return searchParams.get(QUERY_PARAMS.orderId);\n  }, [searchParams]);\n\n  useEffect(() => {\n    if (!orderId) {\n      navigate(\"/\");\n    }\n  }, [orderId, navigate]);\n\n  return <>{orderId && <OrderDetailPage orderId={orderId} />}</>;\n};\n\nexport default OrderDetailPageContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/orderdetail/presentation/OrderDetailPage.tsx",
    "content": "import OrderDetailContainer from \"../../../components/widgets/orderdetail/container/OrderDetailContainer\";\n\n\ninterface OrderDetailPageProps {\n    orderId: string;\n}\nconst OrderDetailPage = ({orderId}: OrderDetailPageProps) => {\n\n    return (\n        <div className=\"px-2 py-4 lg:px-10\">\n            <OrderDetailContainer orderId={orderId} />\n\n        </div>\n    )\n}\n\nexport default OrderDetailPage;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/orders/container/OrdersPageContainer.tsx",
    "content": "import OrdersPage from \"../presentation/OrdersPage\";\n\n\nconst OrdersPageContainer = () => {\n    return (\n        <OrdersPage />\n    )\n}\n\nexport default OrdersPageContainer;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/orders/presentation/OrdersPage.tsx",
    "content": "import MyOrdersListContainer from \"../../../components/widgets/myorderslist/container/MyOrdersListContainer\";\n\n\nconst OrdersPage = () => {\n    return (\n        <div className=\"px-2 py-4 lg:px-10\">\n            <MyOrdersListContainer />\n        </div>\n    )\n}\n\nexport default OrdersPage;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/pagenotfound/container/PageNotFoundPageContainer.tsx",
    "content": "import PageNotFoundPage from \"../presentation/PageNotFoundPage\";\n\nconst PageNotFoundPageContainer = () => {\n  return <PageNotFoundPage />;\n};\n\nexport default PageNotFoundPageContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/pagenotfound/presentation/PageNotFoundPage.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport Text from \"../../../components/basic/Text\";\n\n\nconst PageNotFoundPage = () => {\n    const {t} = useTranslation();\n    return (\n        <div className=\"px-2 py-4 lg:px-10 flex justify-center items-center\">\n            <Text className=\"text-2xl uppercase tracking-wider font-poppinsMedium\">\n                {t(\"pageNotFound\")}\n            </Text>\n        </div>\n    )\n}\n\nexport default PageNotFoundPage;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/paymentfeedback/container/PaymentFeedbackPageContainer.tsx",
    "content": "import { useLocation } from \"react-router-dom\";\nimport PaymentFeedbackPage from \"../presentation/PaymentFeedbackPage\"\nimport { useEffect } from \"react\";\nimport useCustomNavigate from \"../../../hooks/useCustomNavigate\";\n\n\nconst PaymentFeedbackPageContainer = () => {\n\n    const location = useLocation();\n    const navigate = useCustomNavigate();\n\n\n    useEffect(() => {\n        if(!location.state?.checkoutDetails){\n            navigate(\"/\", true);\n        }\n    }, [location, navigate])\n\n    const navigateToHome = () => {\n        navigate(\"/\", true);\n    }\n    return (\n        <PaymentFeedbackPage \n            isSuccess={location.state?.checkoutDetails?.isSuccess ? true : false}\n            navigateToHome={navigateToHome}\n        />\n    )\n}\n\nexport default PaymentFeedbackPageContainer;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/paymentfeedback/presentation/PaymentFeedbackPage.tsx",
    "content": "import { useTranslation } from \"react-i18next\";\nimport ErrorMessage from \"../../../components/basic/ErrorMessage\";\nimport TickIcon from \"../../../components/icons/TickIcon\";\nimport Button from \"../../../components/basic/Button\";\nimport { ButtonTypes } from \"../../../constants\";\n\ninterface PaymentFeedbackPageProps {\n  isSuccess: boolean;\n  navigateToHome(): void;\n}\nconst PaymentFeedbackPage = (props: PaymentFeedbackPageProps) => {\n  const { isSuccess, navigateToHome } = props;\n\n  const { t } = useTranslation();\n\n  return (\n    <div className=\"flex items-center justify-center pt-8\">\n      <div className=\"flex flex-col gap-y-12\">\n        {isSuccess ? (\n          <div className=\"flex items-center gap-4\">\n            <TickIcon\n              className=\"w-8 h-8 text-zinc-50\"\n              circleProps={{\n                className: \"fill-green-700\",\n                cx: 25,\n                cy: 25,\n                r: 25,\n              }}\n            />\n            <span className=\"capitalize text-xl tracking-wider\">\n              {t(\"paymentSuccessfullyCompleted\")}\n            </span>\n          </div>\n        ) : (\n          <ErrorMessage message={t(\"failedToProcessPaymentTryAgain\")} className=\"text-xl\" />\n        )}\n\n        <Button\n          onClickHandler={navigateToHome}\n          className=\"px-4 py-2 w-fit self-center\"\n          buttonType={ButtonTypes.primaryButton}\n        >\n          <span className=\"capitalize\">{t(\"goToHome\")}</span>\n        </Button>\n      </div>\n    </div>\n  );\n};\n\nexport default PaymentFeedbackPage;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/productdetail/container/ProductDetailPageContainer.tsx",
    "content": "import { useSearchParams } from \"react-router-dom\";\nimport ProductDetailPage from \"../presentation/ProductDetailPage\";\nimport { QUERY_PARAMS } from \"../../../constants\";\nimport { useEffect, useMemo } from \"react\";\n\nconst ProductDetailPageContainer = () => {\n  const [searchParams] = useSearchParams();\n\n  /* Getting the productId and categoryId from search parameters */\n  const productId = useMemo(() => {\n    return searchParams.get(QUERY_PARAMS.productId);\n  }, [searchParams]);\n\n  const categoryId = useMemo(() => {\n    return searchParams.get(QUERY_PARAMS.categoryId);\n  }, [searchParams]);\n\n  /* Scroll to top when search params change */\n  useEffect(() => {\n    window.scrollTo({top: 0, behavior: 'smooth'})\n  }, [searchParams])\n\n  return (\n    <>\n      <ProductDetailPage\n        productId={productId ? productId : \"\"}\n        categoryId={categoryId ? categoryId : \"\"}\n      />\n    </>\n  );\n};\n\nexport default ProductDetailPageContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/productdetail/presentation/ProductDetailPage.tsx",
    "content": "import ProductDetailsContainer from \"../../../components/widgets/productdetails/container/ProductDetailsContainer\";\nimport RelatedItemsListContainer from \"../../../components/widgets/relateditemslist/container/RelatedItemsListContainer\";\n\ninterface ProductDetailPageProps {\n  productId: string;\n  categoryId: string;\n}\nconst ProductDetailPage = (props: ProductDetailPageProps) => {\n  const { productId = \"\", categoryId = \"\" } = props;\n\n  return (\n    <div className=\"px-2 py-4 lg:px-10\">\n      <ProductDetailsContainer productId={productId} />\n      <div className=\"mt-32\">\n        <RelatedItemsListContainer\n          productId={productId}\n          categoryId={categoryId}\n        />\n      </div>\n    </div>\n  );\n};\n\nexport default ProductDetailPage;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/products/container/ProductsPageContainer.tsx",
    "content": "import { useMemo } from \"react\";\nimport ProductsPage from \"../presentation/ProductsPage\";\nimport { useSearchParams } from \"react-router-dom\";\nimport { QUERY_PARAMS } from \"../../../constants\";\n\nconst ProductsPageContainer = () => {\n  /* Search params */\n  const [searchParams] = useSearchParams();\n\n  /* Getting the category id from the search parameters */\n  const categoryId = useMemo(() => {\n    return searchParams.get(QUERY_PARAMS.category);\n  }, [searchParams]);\n\n  return <ProductsPage categoryId={categoryId ? categoryId : undefined} />;\n};\n\nexport default ProductsPageContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/products/presentation/ProductsPage.tsx",
    "content": "import AllProductListContainer from \"../../../components/widgets/allproductlist/container/AllProductListContainer\";\n\ninterface ProductsPageProps {\n  categoryId?: string;\n}\nconst ProductsPage = (props: ProductsPageProps) => {\n  const { categoryId = \"\" } = props;\n\n  return (\n    <div className=\"px-2 py-4 lg:px-10\">\n      <AllProductListContainer categoryId={categoryId} />\n    </div>\n  );\n};\n\nexport default ProductsPage;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/productsearch/container/ProductSearchPageContainer.tsx",
    "content": "import { useSearchParams } from \"react-router-dom\";\nimport ProductSearchPage from \"../presentation/ProductSearchPage\";\nimport { useMemo } from \"react\";\nimport { QUERY_PARAMS } from \"../../../constants\";\n\n\nconst ProductSearchPageContainer = () => {\n\n    const [searchParams] = useSearchParams();\n\n    /* Getting the product name searched from query params */\n    const productNameSearched = useMemo(() => {\n        return searchParams.get(QUERY_PARAMS.productNameSearch) || '';\n    }, [searchParams])\n    return (\n        <ProductSearchPage productNameSearched={productNameSearched} />\n    )\n}\n\nexport default ProductSearchPageContainer;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/productsearch/presentation/ProductSearchPage.tsx",
    "content": "import AllProductListContainer from \"../../../components/widgets/allproductlist/container/AllProductListContainer\";\n\n\ninterface ProductSearchPageProps {\n    productNameSearched: string;\n}\nconst ProductSearchPage = (props: ProductSearchPageProps) => {\n    const {productNameSearched = ''} = props;\n    return (\n        <div className=\"px-2 py-4 lg:px-10\">\n            <AllProductListContainer productNameSearched={productNameSearched} />\n        </div>\n    )\n}\n\nexport default ProductSearchPage;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/resetforgottenpassword/container/ResetForgottenPasswordPageContainer.tsx",
    "content": "import { useParams } from \"react-router-dom\";\nimport ResetForgottenPasswordPage from \"../presentation/ResetForgottenPasswordPage\";\nimport useCustomNavigate from \"../../../hooks/useCustomNavigate\";\nimport { ROUTE_PATHS } from \"../../../constants\";\n\nconst ResetForgottenPasswordPageContainer = () => {\n  const { token } = useParams();\n\n  const navigate = useCustomNavigate();\n\n  /* If there is not token navigate to pageNotFound */\n  if (!token) {\n    navigate(ROUTE_PATHS.pageNotFound, true);\n    return <></>\n  }\n\n  return (\n    <>\n      <ResetForgottenPasswordPage token={token} />\n    </>\n  );\n};\n\nexport default ResetForgottenPasswordPageContainer;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/resetforgottenpassword/presentation/ResetForgottenPasswordPage.tsx",
    "content": "import Image from \"../../../components/basic/Image\";\nimport ResetForgottenPasswordContainer from \"../../../components/widgets/resetforgottenpassword/container/ResetForgottenPasswordContainer\";\nimport { BREAKPOINTS, PUBLIC_IMAGE_PATHS } from \"../../../constants\";\nimport useBreakpointCheck from \"../../../hooks/useBreakpointCheck\";\nimport { useAppSelector } from \"../../../store\";\n\n\ninterface ResetForgottenPasswordPageProps {\n    token: string;\n}\nconst ResetForgottenPasswordPage = (props: ResetForgottenPasswordPageProps) => {\n\n    const {token} = props;\n\n    const isRTL = useAppSelector((state) => state.language.isRTL);\n\n    const isLG = useBreakpointCheck(BREAKPOINTS.lg);\n    return (\n        <div className={`pt-12 pb-4 px-4 lg:px-10 lg:flex lg:items-center ${isRTL ? 'lg:flex-row-reverse' : ''}`}>\n        {isLG && (\n          <Image\n            src={PUBLIC_IMAGE_PATHS.loginSideImage}\n            alt=\"Reset\"\n            backupImageSrc=\"\"\n            className=\"w-2/5 h-2/5 rounded\"\n          />\n        )}\n        <div className={`flex-1 ${isRTL ? 'lg:mr-32' : 'lg:ml-32'}`}>\n          <ResetForgottenPasswordContainer token={token} />\n        </div>\n      </div>\n    )\n}\n\nexport default ResetForgottenPasswordPage;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/signup/container/SignupPageContainer.tsx",
    "content": "import { useEffect } from \"react\";\nimport SignupPage from \"../presentation/SignupPage\"\nimport { useAppSelector } from \"../../../store\";\nimport useCustomNavigate from \"../../../hooks/useCustomNavigate\";\n\n\nconst SignupPageContainer = () => {\n\n    const isLoggedIn = useAppSelector((state) => state.auth.isLoggedIn);\n    const navigate = useCustomNavigate();\n\n    useEffect(() => {\n        if(isLoggedIn){\n            navigate(\"/\", true);\n        }\n    }, [isLoggedIn, navigate])\n    \n    return (\n        <SignupPage />\n    )\n}\n\nexport default SignupPageContainer;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/pages/signup/presentation/SignupPage.tsx",
    "content": "import Image from \"../../../components/basic/Image\";\nimport SignupContainer from \"../../../components/widgets/signup/container/SignupContainer\";\nimport { BREAKPOINTS, PUBLIC_IMAGE_PATHS } from \"../../../constants\";\nimport useBreakpointCheck from \"../../../hooks/useBreakpointCheck\";\nimport { useAppSelector } from \"../../../store\";\n\nconst SignupPage = () => {\n  const isLG = useBreakpointCheck(BREAKPOINTS.lg);\n  const isRTL = useAppSelector((state) => state.language.isRTL);\n  return (\n    <div\n      className={`px-2 py-4 lg:px-10 lg:flex lg:items-center ${\n        isRTL ? \"lg:flex-row-reverse\" : \"\"\n      }`}\n    >\n      {isLG && (\n        <Image\n          src={PUBLIC_IMAGE_PATHS.loginSideImage}\n          alt=\"Login\"\n          backupImageSrc=\"\"\n          className=\"w-2/5 h-2/5 rounded\"\n        />\n      )}\n      <div className={`flex-1 ${isRTL ? \"lg:mr-32\" : \"lg:ml-32\"}`}>\n        <SignupContainer />\n      </div>\n    </div>\n  );\n};\n\nexport default SignupPage;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/protectedroutes/ForLoggedInUsers.tsx",
    "content": "import { Outlet } from \"react-router-dom\";\nimport { useAppSelector } from \"../store\";\nimport useCustomNavigate from \"../hooks/useCustomNavigate\";\nimport { ROUTE_PATHS } from \"../constants\";\nimport { useEffect } from \"react\";\n\nconst ForLoggedInUsers = () => {\n  const isLoggedIn = useAppSelector((state) => state.auth.isLoggedIn);\n  const isLoginCheckDone = useAppSelector(\n    (state) => state.auth.isLogInCheckDone\n  );\n\n  const navigate = useCustomNavigate();\n\n\n  useEffect(() => {\n    if (isLoginCheckDone && !isLoggedIn) {\n      navigate(ROUTE_PATHS.login);\n    }\n  }, [isLoginCheckDone, isLoggedIn, navigate]);\n\n  if (isLoginCheckDone) {\n    return <Outlet />;\n  }\n  return <></>;\n};\n\nexport default ForLoggedInUsers;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/ApiError.ts",
    "content": "import { AxiosError } from \"axios\";\n\nexport class ApiErrorResponse {\n  constructor(\n    public statusCode: number,\n    public message: string,\n    public errors: [],\n    public stack: string\n  ) {}\n}\nclass ApiError {\n  public error: boolean = true;\n  constructor(\n    public errorMessage: string,\n    public errorData?: AxiosError,\n    public errorResponse?: ApiErrorResponse\n  ) {}\n}\n\nexport default ApiError;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/ApiRequest.ts",
    "content": "import axios, { AxiosResponse } from \"axios\";\nimport { asyncHandler } from \"../utils/asyncHandler\";\nimport ApiResponse from \"./ApiResponse\";\nimport ApiError from \"./ApiError\";\n\nclass ApiRequest {\n  constructor(public url: string) {}\n\n  async getRequest<T>(\n    queryParams: object = {},\n    headers: object = {}\n  ): Promise<ApiResponse<T> | ApiError> {\n    return await asyncHandler<T>(\n      (): Promise<AxiosResponse<ApiResponse<T>>> =>\n        axios.get<ApiResponse<T>>(this.url, {\n          params: queryParams,\n          headers: headers,\n        })\n    );\n  }\n\n  async postRequest<T>(\n    body: object,\n    headers: object = {}\n  ): Promise<ApiResponse<T> | ApiError> {\n    return await asyncHandler<T>(\n      (): Promise<AxiosResponse<ApiResponse<T>>> =>\n        axios.post<ApiResponse<T>>(this.url, body, { headers: headers })\n    );\n  }\n\n  async putRequest<T>(\n    body: object,\n    headers: object = {}\n  ): Promise<ApiResponse<T> | ApiError> {\n    return await asyncHandler(\n      (): Promise<AxiosResponse<ApiResponse<T>>> =>\n        axios.put<ApiResponse<T>>(this.url, body, { headers: headers })\n    );\n  }\n\n  async deleteRequest<T>(\n    headers: object = {}\n  ): Promise<ApiResponse<T> | ApiError> {\n    return await asyncHandler(\n      (): Promise<AxiosResponse<ApiResponse<T>>> =>\n        axios.delete<ApiResponse<T>>(this.url, { headers: headers })\n    );\n  }\n\n  async patchRequest<T>(\n    body: object,\n    headers: object = {}\n  ): Promise<ApiResponse<T> | ApiError> {\n    return await asyncHandler(\n      (): Promise<AxiosResponse<ApiResponse<T>>> =>\n        axios.patch<ApiResponse<T>>(this.url, body, { headers: headers })\n    );\n  }\n}\n\nexport default ApiRequest;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/ApiResponse.ts",
    "content": "class ApiResponse<T> {\n  constructor(\n    public statusCode: number,\n    public data: T,\n    public message: string,\n    public success: boolean\n  ) {}\n}\n\nexport default ApiResponse;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/CountryApiRequest.ts",
    "content": "import { AxiosResponse } from \"axios\";\nimport { axiosCountryApi } from \"../main\";\nimport { countryApiAsyncHandler } from \"../utils/countryApiAsyncHandler\";\nimport ApiResponse from \"./ApiResponse\";\nimport ApiError from \"./ApiError\";\nimport { CountryApiResponse } from \"./countryapi/CountryApiTypes\";\n\nclass CountryApiRequest {\n  constructor(public url: string) {}\n\n  async getRequest<T>(\n    queryParams: object = {},\n    headers: object = {}\n  ): Promise<ApiResponse<T> | ApiError> {\n    return await countryApiAsyncHandler<T>(\n      (): Promise<AxiosResponse<CountryApiResponse<T>>> =>\n        axiosCountryApi.get<CountryApiResponse<T>>(this.url, {\n          params: queryParams,\n          headers: headers,\n        })\n    );\n  }\n\n  async postRequest<T>(\n    body: object,\n    headers: object = {}\n  ): Promise<ApiResponse<T> | ApiError> {\n    return await countryApiAsyncHandler<T>(\n      (): Promise<AxiosResponse<CountryApiResponse<T>>> =>\n        axiosCountryApi.post<CountryApiResponse<T>>(this.url, body, {\n          headers: headers,\n        })\n    );\n  }\n\n  async putRequest<T>(\n    body: object,\n    headers: object = {}\n  ): Promise<ApiResponse<T> | ApiError> {\n    return await countryApiAsyncHandler(\n      (): Promise<AxiosResponse<CountryApiResponse<T>>> =>\n        axiosCountryApi.put<CountryApiResponse<T>>(this.url, body, {\n          headers: headers,\n        })\n    );\n  }\n\n  async deleteRequest<T>(\n    headers: object = {}\n  ): Promise<ApiResponse<T> | ApiError> {\n    return await countryApiAsyncHandler(\n      (): Promise<AxiosResponse<CountryApiResponse<T>>> =>\n        axiosCountryApi.delete<CountryApiResponse<T>>(this.url, {\n          headers: headers,\n        })\n    );\n  }\n\n  async patchRequest<T>(\n    body: object,\n    headers: object = {}\n  ): Promise<ApiResponse<T> | ApiError> {\n    return await countryApiAsyncHandler(\n      (): Promise<AxiosResponse<CountryApiResponse<T>>> =>\n        axiosCountryApi.patch<CountryApiResponse<T>>(this.url, body, {\n          headers: headers,\n        })\n    );\n  }\n}\n\nexport default CountryApiRequest;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/address/AddressService.ts",
    "content": "import ApiError from \"../ApiError\";\nimport ApiRequest from \"../ApiRequest\";\nimport ApiResponse from \"../ApiResponse\";\nimport { AddressClass, AddressListClass } from \"./AddressTypes\";\n\nclass AddressService {\n  BASE_URL = \"/api/v1/ecommerce/addresses\";\n  defaultPageLimit = 50;\n  defaultPageNumber = 1;\n  async createAddress(\n    country: string,\n    state: string,\n    city: string,\n    addressLine1: string,\n    addressLine2: string = \"\",\n    pincode: string = \"\"\n  ): Promise<boolean | ApiError> {\n    const apiRequest = new ApiRequest(this.BASE_URL);\n\n    const response = await apiRequest.postRequest<AddressClass>({\n      addressLine1,\n      addressLine2,\n      country,\n      state,\n      city,\n      pincode,\n    });\n\n    if (response instanceof ApiResponse && response.success) {\n      return true;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    } else {\n      return response;\n    }\n  }\n\n  async updateAddress(\n    addressId: string,\n    country: string,\n    state: string,\n    city: string,\n    addressLine1: string,\n    addressLine2: string = \"\",\n    pincode: string = \"\"\n  ): Promise<boolean | ApiError> {\n    const apiRequest = new ApiRequest(`${this.BASE_URL}/${addressId}`);\n\n    const response = await apiRequest.patchRequest<AddressClass>({\n      country,\n      state,\n      city,\n      addressLine1,\n      addressLine2,\n      pincode,\n    });\n\n    if (response instanceof ApiResponse && response.success) {\n      return true;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    }\n    return response;\n  }\n\n  async deleteAddress(addressId: string): Promise<boolean | ApiError> {\n    const apiRequest = new ApiRequest(`${this.BASE_URL}/${addressId}`);\n\n    const response = await apiRequest.deleteRequest<AddressClass>();\n\n    if (response instanceof ApiResponse && response.success) {\n      return true;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    }\n    return response;\n  }\n\n  /* Get All Addresses Asynchronously: As the requests keep fulfilling response will be sent as callback */\n  async getAllAddressesAsync(\n    callback: (\n      data: AddressClass[],\n      isDone: boolean,\n      errorMessage?: ApiError\n    ) => void\n  ) {\n    /* API Request */\n    const apiRequest = new ApiRequest(this.BASE_URL);\n\n    /* Initializing Page Number Counter */\n    let pageNumberCounter = this.defaultPageNumber;\n\n    /* First Request to know the total pages */\n    const firstResponse = await apiRequest.getRequest<AddressListClass>({\n      page: pageNumberCounter,\n      limit: this.defaultPageLimit,\n    });\n\n    /* If the first request is successful */\n    if (firstResponse instanceof ApiResponse && firstResponse.success) {\n      /* Total Number of Pages */\n      const totalPages = firstResponse.data.totalPages;\n\n      /* Incrementing page counter */\n      pageNumberCounter++;\n\n      /* Number of requests to be made */\n      let requestsPending = totalPages - pageNumberCounter + 1;\n\n      /* If first request is the last request: return */\n      if (!requestsPending) {\n        return callback(firstResponse.data.addresses, true);\n      } else {\n        callback(firstResponse.data.addresses, false);\n      }\n\n      /* Remaining requests made in parallel */\n      for (let counter = pageNumberCounter; counter <= totalPages; counter++) {\n        apiRequest\n          .getRequest<AddressListClass>({\n            page: counter,\n            limit: this.defaultPageLimit,\n          })\n          .then((res) => {\n            /* Decrementing pending requests count */\n            requestsPending--;\n\n            /* Error in request: Return */\n            if (!(res instanceof ApiResponse && res.success)) {\n              return res instanceof ApiError\n                ? callback([], true, res)\n                : callback([], true, new ApiError(res.message));\n            } else if (!requestsPending) {\n              /* All Requests are done */\n              return callback(res.data.addresses, true);\n            } else {\n              /* Sending the data of an in between request */\n              callback(res.data.addresses, false);\n            }\n          });\n      }\n    } else {\n      // Error\n      return firstResponse instanceof ApiError\n        ? callback([], true, firstResponse)\n        : callback([], true, new ApiError(firstResponse.message));\n    }\n  }\n}\n\nexport default new AddressService();\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/address/AddressTypes.ts",
    "content": "export class AddressClass {\n  constructor(\n    public __v: number,\n    public _id: string,\n    public addressLine1: string,\n    public addressLine2: string,\n    public city: string,\n    public country: string,\n    public createdAt: string,\n    public owner: string,\n    public pincode: string,\n    public state: string,\n    public updatedAt: string\n  ) {}\n}\n\nexport class AddressListClass {\n  constructor(\n    public addresses: Array<AddressClass>,\n    public hasNextPage: boolean,\n    public hasPrevPage: boolean,\n    public limit: number,\n    public nextPage: number,\n    public page: number,\n    public prevPage: number,\n    public serialNumberStartFrom: number,\n    public totalAddresses: number,\n    public totalPages: number\n  ){}\n}\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/auth/AuthService.ts",
    "content": "import {\n  ChangePasswordFields,\n  ForgotPasswordFields,\n  ResetForgottenPasswordFields,\n} from \"../../constants\";\nimport ApiError from \"../ApiError\";\nimport ApiRequest from \"../ApiRequest\";\nimport ApiResponse from \"../ApiResponse\";\nimport { LoginResp, RefreshTokenResp, USER_ROLES, User } from \"./AuthTypes\";\n\nclass AuthService {\n  USER_BASE_URL = \"/api/v1/users\";\n  GOOGLE_LOGIN_REDIRECT_URL = \"/api/v1/users/google\";\n\n  /* Login Service */\n  async loginService(\n    email: string,\n    password: string\n  ): Promise<LoginResp | ApiError> {\n    /* ApiRequest Object */\n    const apiRequest = new ApiRequest(`${this.USER_BASE_URL}/login`);\n\n    /* Post Request: Response Type is LoginResp */\n    const response = await apiRequest.postRequest<LoginResp>({\n      email,\n      password,\n    });\n\n    /* In case of success: sending LoginResp Object */\n    if (response instanceof ApiResponse && response.success) {\n      return response.data;\n    } else if (response instanceof ApiResponse) {\n      /* 200 With error */\n      return new ApiError(response.message);\n    } else {\n      /* ApiError Object */\n      return response;\n    }\n  }\n\n  async getCurrentUser(): Promise<User | ApiError> {\n    const apiRequest = new ApiRequest(`${this.USER_BASE_URL}/current-user`);\n\n    const response = await apiRequest.getRequest<User>();\n\n    if (response instanceof ApiResponse && response.success) {\n      return response.data;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    } else {\n      return response;\n    }\n  }\n\n  async logoutService(): Promise<boolean | ApiError> {\n    const apiRequest = new ApiRequest(`${this.USER_BASE_URL}/logout`);\n\n    const response = await apiRequest.postRequest<object>({});\n\n    if (response instanceof ApiResponse && response.success) {\n      return true;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    } else {\n      return response;\n    }\n  }\n\n  async signUp(\n    email: string,\n    username: string,\n    password: string,\n    role: USER_ROLES\n  ): Promise<User | ApiError> {\n    const apiRequest = new ApiRequest(`${this.USER_BASE_URL}/register`);\n\n    const response = await apiRequest.postRequest<User>({\n      email,\n      username,\n      password,\n      role,\n    });\n\n    if (response instanceof ApiResponse && response.success) {\n      return response.data;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    } else {\n      return response;\n    }\n  }\n\n  async changePassword(\n    fields: ChangePasswordFields\n  ): Promise<boolean | ApiError> {\n    const apiRequest = new ApiRequest(`${this.USER_BASE_URL}/change-password`);\n\n    const response = await apiRequest.postRequest<object>({\n      newPassword: fields.newPassword,\n      oldPassword: fields.currentPassword,\n    });\n\n    if (response instanceof ApiResponse && response.success) {\n      return true;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    } else {\n      return response;\n    }\n  }\n\n  async forgotPassword(\n    fields: ForgotPasswordFields\n  ): Promise<ApiResponse<null> | ApiError> {\n    const apiRequest = new ApiRequest(`${this.USER_BASE_URL}/forgot-password`);\n\n    const response = await apiRequest.postRequest<null>({\n      email: fields.email,\n    });\n\n    if (response instanceof ApiResponse && response.success) {\n      return response;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    } else {\n      return response;\n    }\n  }\n\n  async resetForgottenPassword(\n    token: string,\n    fields: ResetForgottenPasswordFields\n  ): Promise<ApiResponse<object> | ApiError> {\n    const apiRequest = new ApiRequest(\n      `${this.USER_BASE_URL}/reset-password/${token}`\n    );\n\n    const response = await apiRequest.postRequest<object>({\n      newPassword: fields.newPassword,\n    });\n\n    if (response instanceof ApiResponse && response.success) {\n      return response;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    }\n    return response;\n  }\n\n  async refreshAccessToken(): Promise<\n    ApiResponse<RefreshTokenResp> | ApiError\n  > {\n    const apiRequest = new ApiRequest(`${this.USER_BASE_URL}/refresh-token`);\n\n    const response = await apiRequest.postRequest<RefreshTokenResp>({});\n\n    if (response instanceof ApiResponse && response.success) {\n      return response;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    }\n    return response;\n  }\n}\n\nexport default new AuthService();\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/auth/AuthTypes.ts",
    "content": "import { ImageClass } from \"../product/ProductTypes\";\n\n/* LOGIN TYPES */\nexport enum LOGIN_TYPES {\n  emailPassword = \"EMAIL_PASSWORD\",\n  github = \"GITHUB\",\n  google = \"GOOGLE\",\n}\n\n/* USER ROLES */\nexport enum USER_ROLES {\n  admin = \"ADMIN\",\n  user = \"USER\",\n}\n\nexport class LoginResp {\n  constructor(\n    public accessToken: string,\n    public refreshToken: string,\n    public user: User\n  ) {}\n}\n\nexport class RefreshTokenResp {\n  constructor(\n    public accessToken: string,\n    public refreshToken: string,\n  ){\n    \n  }\n}\n\nexport class User {\n  constructor(\n    public _id: string,\n    public __v: number,\n    public avatar: ImageClass,\n    public createdAt: string,\n    public email: string,\n    public isEmailVerified: boolean,\n    public loginType: LOGIN_TYPES,\n    public role: USER_ROLES,\n    public updatedAt: string,\n    public username: string\n  ) {}\n}\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/cart/CartService.ts",
    "content": "import ApiError from \"../ApiError\";\nimport ApiRequest from \"../ApiRequest\";\nimport ApiResponse from \"../ApiResponse\";\nimport { UserCart } from \"./CartTypes\";\n\nclass CartService {\n  BASE_URL = \"/api/v1/ecommerce/cart\";\n\n  async getUserCart(): Promise<UserCart | ApiError> {\n    const apiRequest = new ApiRequest(this.BASE_URL);\n\n    const response = await apiRequest.getRequest<UserCart>();\n\n    if (response instanceof ApiResponse && response.success) {\n      return response.data;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    } else {\n      return response;\n    }\n  }\n\n  async addOrUpdateItemInCart(\n    productId: string,\n    quantity: number\n  ): Promise<UserCart | ApiError> {\n    const apiRequest = new ApiRequest(`${this.BASE_URL}/item/${productId}`);\n\n    const response = await apiRequest.postRequest<UserCart>({ quantity });\n    if (response instanceof ApiResponse && response.success) {\n      return response.data;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    } else {\n      return response;\n    }\n  }\n\n  async removeItemFromCart(productId: string): Promise<UserCart | ApiError> {\n    const apiRequest = new ApiRequest(`${this.BASE_URL}/item/${productId}`);\n\n    const response = await apiRequest.deleteRequest<UserCart>();\n\n    if (response instanceof ApiResponse && response.success) {\n      return response.data;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    } else {\n      return response;\n    }\n  }\n}\n\nexport default new CartService();\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/cart/CartTypes.ts",
    "content": "import { CouponClass } from \"../coupon/CouponTypes\";\nimport { Product } from \"../product/ProductTypes\";\n\nexport class CartItemClass {\n  constructor(\n    public _id: string,\n    public coupon: string,\n    public product: Product,\n    public quantity: number\n  ) {}\n}\n\nexport class UserCart {\n    constructor(\n      public _id: string,\n      public cartTotal: number,\n      public coupon: CouponClass,\n      public discountedTotal: number,\n      public items: CartItemClass[]\n    ) {}\n  }\n  "
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/category/CategoryService.ts",
    "content": "import ApiError from \"../ApiError\";\nimport ApiRequest from \"../ApiRequest\";\nimport ApiResponse from \"../ApiResponse\";\nimport { Categories, Category } from \"./CategoryTypes\";\n\nclass CategoryService {\n  defaultPageNumber: number = 1;\n  defaultPageLimit: number = 50;\n  BASE_URL: string = \"/api/v1/ecommerce/categories\";\n\n  /* Get All Categories Asynchronously: As the requests keep fulfilling response will be sent as callback */\n  async getAllCategoriesAsync(\n    callback: (data: Category[], isDone: boolean, errorMessage?: ApiError) => void\n  ) {\n    /* API Request */\n    const apiRequest = new ApiRequest(this.BASE_URL);\n\n    /* Initializing Page Number Counter */\n    let pageNumberCounter = this.defaultPageNumber;\n\n    /* First Request to know the total pages */\n    const firstResponse = await apiRequest.getRequest<Categories>({\n      page: pageNumberCounter,\n      limit: this.defaultPageLimit,\n    });\n\n    /* If the first request is successful */\n    if (firstResponse instanceof ApiResponse && firstResponse.success) {\n      /* Total Number of Pages */\n      const totalPages = firstResponse.data.totalPages;\n\n      /* Incrementing page counter */\n      pageNumberCounter++;\n\n      /* Number of requests to be made, adding 1 as pageNumberCounter has been incremented above */\n      let requestsPending = totalPages - pageNumberCounter + 1;\n\n      /* If first request is the last request: return */\n      if (!requestsPending) {\n        return callback(firstResponse.data.categories, true);\n      } else {\n        callback(firstResponse.data.categories, false);\n      }\n\n      /* Remaining requests made in parallel */\n      for (let counter = pageNumberCounter; counter <= totalPages; counter++) {\n        apiRequest\n          .getRequest<Categories>({\n            page: counter,\n            limit: this.defaultPageLimit,\n          })\n          .then((res) => {\n            /* Decrementing pending requests count */\n            requestsPending--;\n\n            /* Error in response: Return */\n            if (!(res instanceof ApiResponse && res.success)) {\n              return res instanceof ApiError\n                ? callback([], true, res)\n                : callback([], true, new ApiError(res.message));\n            } else if (!requestsPending) {\n              /* All Requests are done */\n              return callback(res.data.categories, true);\n            } else {\n              /* Sending the data of an in between request */\n              callback(res.data.categories, false);\n            }\n          });\n      }\n    } else {\n      // Error\n      return firstResponse instanceof ApiError\n        ? callback([], true, firstResponse)\n        : callback([], true, new ApiError(firstResponse.message));\n    }\n  }\n}\n\nexport default new CategoryService();\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/category/CategoryTypes.ts",
    "content": "export class Category {\n  constructor(\n    public _id: string,\n    public name: string,\n    public owner: string,\n    public __v: number,\n    public createdAt: string,\n    public updatedAt: string\n  ) {}\n}\n\nexport class Categories {\n  constructor(\n    public categories: Array<Category>,\n    public totalCategories: number,\n    public limit: number,\n    public page: number,\n    public totalPages: number,\n    public serialNumberStartFrom: number,\n    public hasPrevPage: boolean,\n    public hasNextPage: boolean,\n    public prevPage: number,\n    public nextPage: number\n  ) {}\n}\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/countryapi/CountryApiService.ts",
    "content": "import ApiError from \"../ApiError\";\nimport ApiResponse from \"../ApiResponse\";\nimport CountryApiRequest from \"../CountryApiRequest\";\nimport { StatesOfACountryResponse } from \"./CountryApiTypes\";\n\nclass CountryApiService {\n  COUNTRIES_END_POINT = \"/countries\";\n  STATE_END_POINT = \"/state\"\n  STATES_END_POINT = \"/states\";\n  CITIES_END_POINT = \"/cities\";\n\n  async getStatesOfACountry(\n    countryName: string\n  ): Promise<StatesOfACountryResponse | ApiError> {\n    const apiRequest = new CountryApiRequest(\n      `${this.COUNTRIES_END_POINT}${this.STATES_END_POINT}`\n    );\n\n    const response = await apiRequest.postRequest<StatesOfACountryResponse>({\n      country: countryName,\n    });\n\n    if (response instanceof ApiResponse && response.success) {\n      return response.data;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    } else {\n      return response;\n    }\n  }\n\n  async getCitiesOfAState(\n    countryName: string,\n    stateName: string\n  ): Promise<Array<string> | ApiError> {\n    const apiRequest = new CountryApiRequest(\n      `${this.COUNTRIES_END_POINT}${this.STATE_END_POINT}${this.CITIES_END_POINT}`\n    );\n\n    const response = await apiRequest.postRequest<Array<string>>({\n      country: countryName,\n      state: stateName,\n    });\n\n    if (response instanceof ApiResponse && response.success) {\n      return response.data;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    } else {\n      return response;\n    }\n  }\n}\n\nexport default new CountryApiService();\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/countryapi/CountryApiTypes.ts",
    "content": "export class CountryApiErrorResponse {\n  constructor(public error: boolean, public msg: string) {}\n}\nexport class CountryApiResponse<T> {\n  constructor(public error: boolean, public msg: string, public data: T) {}\n}\n\nexport type STATE_TYPE = {\n  name: string,\n  state_code: string\n}\nexport class StatesOfACountryResponse {\n  constructor(\n    public name: string,\n    public iso3: string,\n    public iso2: string,\n    public states: Array<STATE_TYPE>\n  ) {}\n}\n\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/coupon/CouponService.ts",
    "content": "import ApiError from \"../ApiError\";\nimport ApiRequest from \"../ApiRequest\";\nimport ApiResponse from \"../ApiResponse\";\nimport { UserCart } from \"../cart/CartTypes\";\nimport { CouponClass, CouponListClass } from \"./CouponTypes\";\n\nclass CouponService {\n  BASE_URL = \"/api/v1/ecommerce/coupons\";\n  defaultPageLimit = 50;\n  defaultPageNumber = 1;\n\n  /* Get All Coupons Available to User Asynchronously: As the requests keep fulfilling response will be sent as callback */\n  async getAllCouponsAvailableToUserAsync(\n    callback: (\n      data: CouponClass[],\n      isDone: boolean,\n      errorMessage?: ApiError\n    ) => void\n  ) {\n    /* API Request */\n    const apiRequest = new ApiRequest(`${this.BASE_URL}/customer/available`);\n\n    /* Initializing Page Number Counter */\n    let pageNumberCounter = this.defaultPageNumber;\n\n    /* First Request to know the total pages */\n    const firstResponse = await apiRequest.getRequest<CouponListClass>({\n      page: pageNumberCounter,\n      limit: this.defaultPageLimit,\n    });\n\n    /* If the first request is successful */\n    if (firstResponse instanceof ApiResponse && firstResponse.success) {\n      /* Total Number of Pages */\n      const totalPages = firstResponse.data.totalPages;\n\n      /* Incrementing page counter */\n      pageNumberCounter++;\n\n      /* Number of requests to be made */\n      let requestsPending = totalPages - pageNumberCounter + 1;\n\n      /* If first request is the last request: return */\n      if (!requestsPending) {\n        return callback(firstResponse.data.coupons, true);\n      } else {\n        callback(firstResponse.data.coupons, false);\n      }\n\n      /* Remaining requests made in parallel */\n      for (let counter = pageNumberCounter; counter <= totalPages; counter++) {\n        apiRequest\n          .getRequest<CouponListClass>({\n            page: counter,\n            limit: this.defaultPageLimit,\n          })\n          .then((res) => {\n            /* Decrementing pending requests count */\n            requestsPending--;\n\n            /* Error in request: Return */\n            if (!(res instanceof ApiResponse && res.success)) {\n              return res instanceof ApiError\n                ? callback([], true, res)\n                : callback([], true, new ApiError(res.message));\n            } else if (!requestsPending) {\n              /* All Requests are done */\n              return callback(res.data.coupons, true);\n            } else {\n              /* Sending the data of an in between request */\n              callback(res.data.coupons, false);\n            }\n          });\n      }\n    } else {\n      // Error\n      return firstResponse instanceof ApiError\n        ? callback([], true, firstResponse)\n        : callback([], true, new ApiError(firstResponse.message));\n    }\n  }\n\n  async applyCouponCode(couponCode: string): Promise<UserCart | ApiError> {\n    const apiRequest = new ApiRequest(`${this.BASE_URL}/c/apply`);\n    const response = await apiRequest.postRequest<UserCart>({ couponCode });\n\n    if (response instanceof ApiResponse && response.success) {\n      return response.data;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    } else {\n      return response;\n    }\n  }\n\n  async removeCouponCode(couponCode: string): Promise<UserCart | ApiError> {\n    const apiRequest = new ApiRequest(`${this.BASE_URL}/c/remove`);\n    const response = await apiRequest.postRequest<UserCart>({ couponCode });\n\n    if (response instanceof ApiResponse && response.success) {\n      return response.data;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    } else {\n      return response;\n    }\n  }\n}\n\nexport default new CouponService();\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/coupon/CouponTypes.ts",
    "content": "export enum COUPON_TYPES {\n    FLAT = \"FLAT\"\n}\n\nexport class CouponClass {\n    constructor(\n        public _id: string,\n        public __v: number,\n        public couponCode: string,\n        public createdAt: string,\n        public discountValue: number,\n        public expiryDate: string,\n        public isActive: boolean,\n        public minimumCartValue: number,\n        public name: string,\n        public owner: string,\n        public startDate: string,\n        public type: COUPON_TYPES,\n        public updatedAt: string\n    ){\n\n    }\n}\n\nexport class CouponListClass {\n    constructor(\n        public coupons: Array<CouponClass>,\n        public hasNextPage: boolean,\n        public hasPrevPage: boolean,\n        public limit: number,\n        public nextPage: number,\n        public prevPage: number,\n        public serialNumberStartFrom: number,\n        public page: number,\n        public totalCoupons: number,\n        public totalPages: number\n    ){}\n}\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/order/OrderService.ts",
    "content": "import axios, { AxiosError } from \"axios\";\nimport ApiError from \"../ApiError\";\nimport ApiRequest from \"../ApiRequest\";\nimport ApiResponse from \"../ApiResponse\";\nimport {\n  GeneratePayPalOrderResponseClass,\n  OrderDetailClass\n} from \"./OrderTypes\";\n\nclass OrderService {\n  BASE_ORDERS_URL = \"/api/v1/ecommerce/orders\";\n  BASE_URL = \"/api/v1/ecommerce/orders/provider\";\n\n  async generatePayPalOrder(\n    addressId: string\n  ): Promise<GeneratePayPalOrderResponseClass | ApiError> {\n    const apiRequest = new ApiRequest(`${this.BASE_URL}/paypal`);\n\n    const response =\n      await apiRequest.postRequest<GeneratePayPalOrderResponseClass>({\n        addressId,\n      });\n\n    if (response instanceof ApiResponse && response.success) {\n      return response.data;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    }\n    return response;\n  }\n\n  async verifyPayment(orderId: string): Promise<boolean | ApiError> {\n    try {\n      await axios.post(`${this.BASE_URL}/paypal/verify-payment`, { orderId });\n\n      return true;\n    } catch (error) {\n      if (error instanceof AxiosError) {\n        return new ApiError(error.message, error, error.response?.data);\n      }\n      return new ApiError(\"\");\n    }\n  }\n\n  async getOrderDetail(orderId: string): Promise<OrderDetailClass | ApiError> {\n    const apiRequest = new ApiRequest(`${this.BASE_ORDERS_URL}/${orderId}`);\n\n    const response = await apiRequest.getRequest<OrderDetailClass>();\n\n    if (response instanceof ApiResponse && response.success) {\n      return response.data;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    }\n    return response;\n  }\n}\n\nexport default new OrderService();\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/order/OrderTypes.ts",
    "content": "import { PAYMENT_TYPES } from \"../../data/applicationData\";\nimport { AddressClass } from \"../address/AddressTypes\";\nimport { Product } from \"../product/ProductTypes\";\n\nexport class GeneratePayPalOrderResponseClass {\n  constructor(\n    public id: string,\n    public links: Array<{\n      href: string;\n      method: string;\n      rel: string;\n    }>,\n    public status: string\n  ) {}\n}\n\nexport class OrderClass {\n  constructor(\n    public __v:number,\n    public _id:string,\n    public address: AddressClass,\n    public coupon: string,\n    public createdAt: string,\n    public customer: {\n      _id: string,\n      email: string,\n      username: string\n    },\n    public discountedOrderPrice: number,\n    public isPaymentDone: boolean,\n    public orderPrice: number,\n    public paymentId: string,\n    public paymentProvider: PAYMENT_TYPES.PAYPAL,\n    public status: string,\n    public totalOrderItems: number,\n    public updatedAt: string\n  ){\n\n  }\n}\n\nexport class OrderListClass {\n  constructor(\n    public hasNextPage: boolean,\n    public hasPrevPage: boolean,\n    public limit: number,\n    public nextPage: number,\n    public orders: Array<OrderClass>,\n    public page: number,\n    public prevPage: number,\n    public serialNumberStartFrom: number,\n    public totalOrders: number,\n    public totalPages: number\n  ){\n\n  }\n}\n\nexport class OrderItemClass {\n  constructor(\n    public _id: string,\n    public product: Product,\n    public quantity: number\n  ){\n\n  }\n}\nexport class OrderDetailClass {\n  constructor(\n    public _id: string,\n    public order: {\n      __v: number,\n      _id: string,\n      address: AddressClass,\n      coupon: {\n        _id: string,\n        couponCode: string,\n        name: string\n      },\n      createdAt: string,\n      customer: {\n        _id: string,\n        email: string,\n        username: string\n      },\n      discountedOrderPrice: number,\n      isPaymentDone: boolean,\n      items: Array<OrderItemClass>,\n      orderPrice: number,\n      paymentId: string,\n      paymentProvider: string,\n      status: string,\n      updatedAt: string\n    }\n\n  )  {\n\n  }\n}\n\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/product/ProductService.ts",
    "content": "import { generateRandomNumber } from \"../../utils/commonHelper\";\nimport ApiError from \"../ApiError\";\nimport ApiRequest from \"../ApiRequest\";\nimport ApiResponse from \"../ApiResponse\";\nimport { Product, Products } from \"./ProductTypes\";\n\nclass ProductService {\n  defaultPageNumber: number = 1;\n  defaultPageLimit: number = 30;\n  BASE_URL: string = \"/api/v1/ecommerce/products\";\n  CATEGORY_WISE_URL: string = \"/api/v1/ecommerce/products/category\";\n\n  async getTopProducts(\n    numberOfProducts: number\n  ): Promise<Product[] | ApiError> {\n    const apiRequest = new ApiRequest(this.BASE_URL);\n\n    const response = await apiRequest.getRequest<Products>({\n      page: this.defaultPageNumber,\n      limit: this.defaultPageLimit,\n    });\n\n    if (response instanceof ApiResponse && response.success) {\n      const products = response.data.products;\n      /* Shuffling the products */\n      products.sort(() => Math.random() - 0.5);\n      const featuredProducts = products.slice(0, numberOfProducts);\n      return featuredProducts;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    } else {\n      return response;\n    }\n  }\n\n  async getTopOnSaleProducts(\n    numberOfProducts: number\n  ): Promise<Product[] | ApiError> {\n    const apiRequest = new ApiRequest(this.BASE_URL);\n\n    const response = await apiRequest.getRequest<Products>({\n      page: this.defaultPageNumber,\n      limit: this.defaultPageLimit,\n    });\n\n    if (response instanceof ApiResponse && response.success) {\n      const products = response.data.products;\n\n      /* Shuffling the products list */\n      products.sort(() => Math.random() - 0.5);\n\n      const bestSellingProducts: Product[] = [];\n\n      for (let counter = 0; counter < numberOfProducts; counter++) {\n        /* Generating random discount percent */\n        const discountPercent = generateRandomNumber(10, 20);\n\n        /* Calculating price before discount: ((100 * current price) / (100 - discount percentage)) */\n        products[counter].previousPrice = Math.round(\n          (100 * products[counter].price) / (100 - discountPercent)\n        );\n\n        /* Pushing to best selling products list */\n        bestSellingProducts.push(products[counter]);\n      }\n\n      return bestSellingProducts;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    } else {\n      return response;\n    }\n  }\n\n  async getProducts(\n    pageNumber: number,\n    categoryId?: string\n  ): Promise<Products | ApiError> {\n    /* \n       If categoryId is passed, get products for the particular category, \n       else get all the products \n    */\n    const url = categoryId\n      ? `${this.CATEGORY_WISE_URL}/${categoryId}`\n      : this.BASE_URL;\n\n    const apiRequest = new ApiRequest(url);\n\n    const response = await apiRequest.getRequest<Products>({\n      page: pageNumber,\n      limit: this.defaultPageLimit,\n    });\n\n    if (response instanceof ApiResponse && response.success) {\n      const productsResponse = response.data;\n      return new Products(\n        productsResponse.products,\n        productsResponse.totalProducts,\n        productsResponse.limit,\n        productsResponse.page,\n        productsResponse.totalPages,\n        productsResponse.serialNumberStartFrom,\n        productsResponse.hasPrevPage,\n        productsResponse.hasNextPage,\n        productsResponse.prevPage,\n        productsResponse.nextPage,\n        productsResponse.category\n      );\n    } else if (response instanceof ApiResponse) {\n      /* Error */\n      return new ApiError(response.message);\n    } else {\n      return response;\n    }\n  }\n\n  async getAllProductsAsync(\n    callback: (data: Array<Product>, isDone: boolean, error?: ApiError, categoryInfo?: {_id: string, name: string}) => void,\n    categoryId?: string\n  ) {\n    /* \n       If categoryId is passed, get products for the particular category, \n       else get all the products \n    */\n    const url = categoryId\n      ? `${this.CATEGORY_WISE_URL}/${categoryId}`\n      : this.BASE_URL;\n\n    /* ApiRequest Object */\n    const apiRequest = new ApiRequest(url);\n\n    let page = this.defaultPageNumber;\n    /* First Request */\n    const firstResponse = await apiRequest.getRequest<Products>({\n      page,\n      limit: this.defaultPageLimit,\n    });\n\n    if (firstResponse instanceof ApiResponse && firstResponse.success) {\n      /* Pending requests */\n      const totalPages = firstResponse.data.totalPages;\n\n      page++;\n\n      let requestsPending = totalPages - page + 1;\n\n      /* If no requests are pending return else send intermediate response */\n      if (!requestsPending) {\n        return callback(firstResponse.data.products, true, undefined, firstResponse.data.category);\n      } else {\n        callback(firstResponse.data.products, false, undefined, firstResponse.data.category);\n      }\n      for (let counter = page; counter <= totalPages; counter++) {\n        apiRequest\n          .getRequest<Products>({ page: counter, limit: this.defaultPageLimit })\n          .then((response) => {\n            /* Decrementing pending requests count */\n            requestsPending--;\n\n            /* Error in request: Return */\n            if (!(response instanceof ApiResponse && response.success)) {\n              return response instanceof ApiError\n                ? callback([], true, response)\n                : callback([], true, new ApiError(response.message));\n            } else if (!requestsPending) {\n              /* All Requests are done */\n              return callback(response.data.products, true, undefined, response.data.category);\n            } else {\n              /* Sending the data of an in between request */\n              callback(response.data.products, false, undefined, response.data.category);\n            }\n          });\n      }\n    } else {\n      /* Error */\n      return firstResponse instanceof ApiError\n        ? callback([], true, firstResponse)\n        : callback([], true, new ApiError(firstResponse.message));\n    }\n  }\n\n  async getProduct(productId: string): Promise<Product | ApiError> {\n    const apiRequest = new ApiRequest(`${this.BASE_URL}/${productId}`);\n\n    const response = await apiRequest.getRequest<Product>();\n\n    if (response instanceof ApiResponse && response.success) {\n      return response.data;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    } else {\n      return response;\n    }\n  }\n\n  async getRelatedProducts(\n    categoryId: string,\n    numberOfProducts: number\n  ): Promise<Product[] | ApiError> {\n    const apiRequest = new ApiRequest(\n      `${this.CATEGORY_WISE_URL}/${categoryId}`\n    );\n\n    const response = await apiRequest.getRequest<Products>();\n\n    if (response instanceof ApiResponse && response.success) {\n      const products = response.data.products;\n\n      //Shuffle\n      products.sort(() => Math.random() - 0.5);\n\n      const relatedProducts = products.splice(0, numberOfProducts);\n\n      return relatedProducts;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    } else {\n      return response;\n    }\n  }\n}\n\nexport default new ProductService();\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/product/ProductTypes.ts",
    "content": "import { DEFAULT_CURRENCY } from \"../../data/applicationData\";\n\nexport class ImageClass {\n  constructor(\n    public url: string,\n    public localPath: string,\n    public _id: string\n  ) {}\n}\nexport class Product {\n  constructor(\n    public _id: string,\n    public category: string /* Category Id */,\n    public description: string,\n    public mainImage: ImageClass,\n    public name: string,\n    public owner: string /* User ID */,\n    public price: number,\n    public stock: number,\n    public subImages: Array<ImageClass>,\n    public __v: number,\n    public createdAt: string,\n    public updatedAt: string,\n    public previousPrice?: number,\n    public currency: string = DEFAULT_CURRENCY\n\n  ) {}\n}\n\nexport class Products {\n    constructor(\n        public products: Array<Product>,\n        public totalProducts: number,\n        public limit: number,\n        public page: number,\n        public totalPages: number,\n        public serialNumberStartFrom: number,\n        public hasPrevPage: boolean,\n        public hasNextPage: boolean,\n        public prevPage: number,\n        public nextPage: number,\n        public category?: {_id: string, name: string}\n    ){\n\n    }\n \n}\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/profile/ProfileService.ts",
    "content": "import ApiError from \"../ApiError\";\nimport ApiRequest from \"../ApiRequest\";\nimport ApiResponse from \"../ApiResponse\";\nimport { OrderClass, OrderListClass } from \"../order/OrderTypes\";\nimport { ProfileClass } from \"./ProfileTypes\";\n\nclass ProfileService {\n  BASE_URL = \"/api/v1/ecommerce/profile\";\n\n  defaultPageNumber = 1;\n  defaultPageLimit = 50;\n\n  async getUserProfile(): Promise<ProfileClass | ApiError> {\n    const apiRequest = new ApiRequest(this.BASE_URL);\n    const response = await apiRequest.getRequest<ProfileClass>();\n\n    if (response instanceof ApiResponse && response.success) {\n      return response.data;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    }\n    return response;\n  }\n\n  async updateUserProfile(\n    countryCode: string,\n    firstName: string,\n    lastName: string,\n    phoneNumber: string\n  ): Promise<ProfileClass | ApiError> {\n    const apiRequest = new ApiRequest(this.BASE_URL);\n    const response = await apiRequest.patchRequest<ProfileClass>({\n      countryCode,\n      firstName,\n      lastName,\n      phoneNumber,\n    });\n\n    if (response instanceof ApiResponse && response.success) {\n      return response.data;\n    } else if (response instanceof ApiResponse) {\n      return new ApiError(response.message);\n    }\n    return response;\n  }\n\n  async getUsersOrdersAsync(\n    callback: (data: OrderClass[], isDone: boolean, error?: ApiError) => void\n  ) {\n    const apiRequest = new ApiRequest(`${this.BASE_URL}/my-orders`);\n\n    let page = this.defaultPageNumber;\n    const firstResponse = await apiRequest.getRequest<OrderListClass>({\n      page,\n      limit: this.defaultPageLimit,\n    });\n\n    if (firstResponse instanceof ApiResponse && firstResponse.success) {\n      const totalPages = firstResponse.data.totalPages;\n\n      page++;\n      let requestsPending = totalPages - page + 1;\n\n      if (!requestsPending) {\n        return callback(firstResponse.data.orders, true);\n      } else {\n        callback(firstResponse.data.orders, false);\n      }\n\n      for (page; page <= totalPages; page++) {\n        apiRequest\n          .getRequest<OrderListClass>({ page, limit: this.defaultPageLimit })\n          .then((res) => {\n            requestsPending--;\n\n            /* Error in request: Return */\n            if (!(res instanceof ApiResponse && res.success)) {\n              return res instanceof ApiError\n                ? callback([], true, res)\n                : callback([], true, new ApiError(res.message));\n            } else if (!requestsPending) {\n              /* All Requests are done */\n              return callback(res.data.orders, true);\n            } else {\n              /* Sending the data of an in between request */\n              callback(res.data.orders, false);\n            }\n          });\n      }\n    } else if (firstResponse instanceof ApiResponse) {\n      return callback([], false, new ApiError(firstResponse.message));\n    } else {\n      return callback([], false, firstResponse);\n    }\n  }\n}\n\nexport default new ProfileService();\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/services/profile/ProfileTypes.ts",
    "content": "\n\nexport class ProfileClass {\n    constructor(\n        public __v: number,\n        public _id: string,\n        public countryCode: string,\n        public createdAt: string,\n        public updatedAt: string,\n        public firstName: string,\n        public lastName: string,\n        public owner: string,\n        public phoneNumber: string\n    ){\n\n    }\n}"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/store/AuthSlice.ts",
    "content": "import { createSlice } from \"@reduxjs/toolkit\";\nimport { User } from \"../services/auth/AuthTypes\";\n\ninterface AuthSliceTypes {\n  isLoggedIn: boolean;\n  isLogInCheckDone: boolean;\n  userDetails: User | null;\n}\nconst initialState: AuthSliceTypes = {\n  isLoggedIn: false,\n  isLogInCheckDone: false,\n  userDetails: null,\n};\n\nconst AuthSlice = createSlice({\n  name: \"authSlice\",\n  initialState,\n  reducers: {\n    logIn(state, { payload }) {\n      state.isLoggedIn = true;\n      state.userDetails = payload;\n    },\n    updateLoginCheckDone(state, {payload}){\n      state.isLogInCheckDone = payload\n    },\n    logOut() {\n      return {...initialState, isLogInCheckDone: true};\n    },\n  },\n});\n\nexport const { logIn, logOut, updateLoginCheckDone } = AuthSlice.actions;\nexport default AuthSlice;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/store/BreakpointSlice.ts",
    "content": "import { createSlice } from \"@reduxjs/toolkit\";\n\n/* Stores the breakpoint being applied from the list of Breakpoints */\nconst initialState = {\n    currentBreakpoint: \"\"\n}\n\nconst BreakpointSlice = createSlice({\n    name: \"breakpointSlice\",\n    initialState,\n    reducers: {\n        updateBreakpoint(state, {payload}){\n            state.currentBreakpoint = payload\n        }\n    }\n})\n\nexport const {updateBreakpoint} = BreakpointSlice.actions;\nexport default BreakpointSlice;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/store/CartSlice.ts",
    "content": "import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { UserCart } from \"../services/cart/CartTypes\";\nimport CartService from \"../services/cart/CartService\";\nimport ApiError from \"../services/ApiError\";\nimport { postMessageAction, removeMessage } from \"./ToastMessageSlice\";\nimport i18n from \"../i18n\";\nimport { TOAST_MESSAGE_TYPES } from \"../constants\";\n\ninterface CartSliceTypes {\n  userCart: UserCart | null;\n  isAddOrUpdateToCartInProgress: boolean;\n  isRemoveFromCartInProgress: boolean;\n}\n\nexport const getUserCartThunk = createAsyncThunk(\n  \"auth/getUserCart\",\n  async () => {\n    const response = await CartService.getUserCart();\n    if (!(response instanceof ApiError)) {\n      return response;\n    } else {\n      return null;\n    }\n  }\n);\n\ntype addOrUpdateToCartPayload = { productId: string; quantity: number };\n\nexport const addOrUpdateToCartThunk = createAsyncThunk(\n  \"auth/addOrUpdateToCart\",\n  async (payload: addOrUpdateToCartPayload, { dispatch }) => {\n    const { productId, quantity } = payload;\n\n    dispatch(updateAddToCartInProgress(true));\n\n    dispatch(removeMessage());\n\n    const response = await CartService.addOrUpdateItemInCart(\n      productId,\n      quantity\n    );\n    dispatch(updateAddToCartInProgress(false));\n    if (!(response instanceof ApiError)) {\n      dispatch(\n        postMessageAction({\n          type: TOAST_MESSAGE_TYPES.success,\n          message: i18n.t(\"cartUpdatedSuccessfully\"),\n        })\n      );\n      return response;\n    } else {\n      dispatch(\n        postMessageAction({\n          type: TOAST_MESSAGE_TYPES.error,\n          message: response.errorResponse?.message || response.errorMessage,\n        })\n      );\n      return null;\n    }\n  }\n);\n\ntype removeFromCartPayload = { productId: string };\n\nexport const removeFromCartThunk = createAsyncThunk(\n  \"auth/removeFromCart\",\n  async (payload: removeFromCartPayload, { dispatch }) => {\n    const { productId } = payload;\n\n    dispatch(updateRemoveFromCartInProgress(true));\n    dispatch(removeMessage());\n\n    const response = await CartService.removeItemFromCart(productId);\n\n    dispatch(updateRemoveFromCartInProgress(false));\n\n    if (!(response instanceof ApiError)) {\n      dispatch(\n        postMessageAction({\n          type: TOAST_MESSAGE_TYPES.success,\n          message: i18n.t(\"cartUpdatedSuccessfully\"),\n        })\n      );\n\n      return response;\n    } else {\n      dispatch(\n        postMessageAction({\n          type: TOAST_MESSAGE_TYPES.error,\n          message: response.errorResponse?.message || response.errorMessage,\n        })\n      );\n\n      return null;\n    }\n  }\n);\n\nconst initialState: CartSliceTypes = {\n  userCart: null,\n  isAddOrUpdateToCartInProgress: false,\n  isRemoveFromCartInProgress: false,\n};\n\nconst CartSlice = createSlice({\n  name: \"cartSlice\",\n  initialState,\n  reducers: {\n    updateAddToCartInProgress(state, { payload }) {\n      state.isAddOrUpdateToCartInProgress = payload;\n    },\n    updateRemoveFromCartInProgress(state, { payload }) {\n      state.isRemoveFromCartInProgress = payload;\n    },\n    updateUserCart(state, {payload}){\n      state.userCart = payload\n    },\n    resetCartSlice() {\n      return initialState;\n    },\n  },\n  extraReducers: (builder) => {\n    builder.addCase(getUserCartThunk.fulfilled, (state, { payload }) => {\n      state.userCart = payload;\n    }),\n      builder.addCase(\n        addOrUpdateToCartThunk.fulfilled,\n        (state, { payload }) => {\n          if (payload) {\n            state.userCart = payload;\n          }\n        }\n      ),\n      builder.addCase(removeFromCartThunk.fulfilled, (state, { payload }) => {\n        if (payload) {\n          state.userCart = payload;\n        }\n      });\n  },\n});\n\nexport const {\n  updateAddToCartInProgress,\n  updateRemoveFromCartInProgress,\n  resetCartSlice,\n  updateUserCart\n} = CartSlice.actions;\nexport default CartSlice;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/store/LanguageSlice.ts",
    "content": "import { createSlice } from \"@reduxjs/toolkit\";\nimport { DEFAULT_LANGUAGE, LOCAL_STORAGE_KEYS } from \"../constants\";\nimport { isRTL } from \"../utils/languageHelpers\";\n\n\nconst initialState = {\n    selectedLanguage: localStorage.getItem(LOCAL_STORAGE_KEYS.selectedLanguage) || DEFAULT_LANGUAGE,\n    isRTL: isRTL(localStorage.getItem(LOCAL_STORAGE_KEYS.selectedLanguage) || DEFAULT_LANGUAGE)\n}\nconst LanguageSlice = createSlice({\n    name: \"languageSlice\",\n    initialState,\n    reducers: {\n        changeLanguage(state, {payload}) {\n            state.selectedLanguage = payload;\n            state.isRTL = isRTL(payload);\n            localStorage.setItem(LOCAL_STORAGE_KEYS.selectedLanguage, payload);\n        },\n        reset(state){\n            state.selectedLanguage = DEFAULT_LANGUAGE;\n            state.isRTL = isRTL(DEFAULT_LANGUAGE);\n            localStorage.removeItem(LOCAL_STORAGE_KEYS.selectedLanguage)\n        }\n    }\n})\n\nexport const {changeLanguage, reset} = LanguageSlice.actions;\nexport default LanguageSlice;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/store/ToastMessageSlice.ts",
    "content": "import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { TOAST_MESSAGE_TYPES } from \"../constants\";\nimport store from \".\";\n\ninterface ToastMessageSliceTypes {\n  type: TOAST_MESSAGE_TYPES | null;\n  message: string | null;\n  timeoutId: ReturnType<typeof setTimeout> | null;\n}\n\nconst initialState: ToastMessageSliceTypes = {\n  type: null,\n  message: null,\n  timeoutId: null,\n};\n\nexport const postMessageAction = createAsyncThunk(\n  \"toastMessageSlice/postMessage\",\n  (payload: { type: TOAST_MESSAGE_TYPES; message: string }, { dispatch }) => {\n    const currentTimeoutId = store.getState().toastMessage.timeoutId;\n    if (currentTimeoutId) {\n      clearTimeout(currentTimeoutId);\n    }\n    const timeoutId = setTimeout(() => {\n      dispatch(removeMessage());\n    }, 5000);\n\n    dispatch(addMessage({ ...payload, timeoutId }));\n\n    return true;\n  }\n);\n\nconst ToastMessageSlice = createSlice({\n  name: \"toastMessageSlice\",\n  initialState,\n  reducers: {\n    addMessage(state, { payload }) {\n      state.type = payload.type;\n      state.message = payload.message;\n      state.timeoutId = payload.timeoutId;\n    },\n    removeMessage(state) {\n      if (state.timeoutId) {\n        clearTimeout(state.timeoutId);\n      }\n      state.type = null;\n      state.message = null;\n      state.timeoutId = null;\n    },\n  },\n});\n\nexport const { addMessage, removeMessage } = ToastMessageSlice.actions;\nexport default ToastMessageSlice;\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/store/index.ts",
    "content": "import { configureStore } from \"@reduxjs/toolkit\";\nimport LanguageSlice from \"./LanguageSlice\";\nimport { TypedUseSelectorHook, useDispatch, useSelector } from \"react-redux\";\nimport BreakpointSlice from \"./BreakpointSlice\";\nimport AuthSlice from \"./AuthSlice\";\nimport ToastMessageSlice from \"./ToastMessageSlice\";\nimport CartSlice from \"./CartSlice\";\n\nconst store = configureStore({\n    reducer: {\n        language: LanguageSlice.reducer,\n        breakpoint: BreakpointSlice.reducer,\n        auth: AuthSlice.reducer,\n        toastMessage: ToastMessageSlice.reducer,\n        cart: CartSlice.reducer\n    }\n})\n/* useAppSelector and useAppDispatch for typescript */\nexport type ReduxRootState = ReturnType<typeof store.getState>\nexport const useAppSelector: TypedUseSelectorHook<ReduxRootState> = useSelector;\n\nexport type ReduxDispatch = typeof store.dispatch;\nexport const useAppDispatch = useDispatch<ReduxDispatch>\n\nexport default store;"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/styles/DateRangePicker.css",
    "content": "\n\ndiv.rdp {\n  --rdp-accent-color: #DB4444; /* Accent color for the background of selected days. */\n}\n\nbutton.rdp-day_selected {\n    background-color: var(--rdp-accent-color);\n}"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/utils/asyncHandler.ts",
    "content": "import { AxiosError, AxiosResponse } from \"axios\";\nimport ApiError, { ApiErrorResponse } from \"../services/ApiError\";\nimport ApiResponse from \"../services/ApiResponse\";\n\nexport const asyncHandler = async <T>(\n  func: () => Promise<AxiosResponse<ApiResponse<T>>>\n): Promise<ApiResponse<T> | ApiError> => {\n  return Promise.resolve(func())\n    .then((data) => {\n      const responseData = data.data;\n\n      return new ApiResponse<T>(\n        responseData.statusCode,\n        responseData.data,\n        responseData.message,\n        responseData.success\n      );\n    })\n    .catch((error: AxiosError<ApiErrorResponse>) => {\n      return new ApiError(error.message, error, error.response?.data);\n    });\n};\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/utils/breakpointsHelper.ts",
    "content": "import { BREAKPOINTS } from \"../constants\";\n\n/**\n * \n * @returns The current breakpoint name being applied from the list of breakpoints\n */\nexport const getCurrentBreakpoint = () => {\n  /* Current interior width of the window in pixels */\n  const width = window.innerWidth;\n\n  /* Returns an array, where each element is an array of 2 elements breakpoint name and width respectively */\n  const breakpoints = Object.entries(BREAKPOINTS);\n\n  /* \n   * Iterating backward through the breakpoint entries\n   * NOTE: Breakpoints have to be ordered in ascending order \n  */\n  for (let counter = breakpoints.length - 1; counter >= 0; --counter) {\n    const [breakpointName, breakpointWidth] = breakpoints[counter];\n    const breakpointWidthInInt = parseInt(breakpointWidth);\n\n    if (width >= breakpointWidthInInt) {\n      return breakpointName;\n    }\n  }\n  return \"\";\n};\n\n\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/utils/commonHelper.ts",
    "content": "import { SUPPORTED_LANGUAGES } from \"../constants\";\nimport store from \"../store\";\nexport const generateRandomNumber = (min: number, max: number): number => {\n    return Math.floor(Math.random() * (max - min + 1)) + min\n}\n\nexport const formatAmount = (amount: number, currency: string): string => {\n    const currentLanguage = store.getState().language.selectedLanguage;\n    if(currentLanguage === SUPPORTED_LANGUAGES.arabic){\n        return new Intl.NumberFormat('ar-EN', {style: 'currency', currency: currency}).format(amount); \n    }\n    return new Intl.NumberFormat('en-AE', {style: 'currency', currency: currency}).format(amount);\n}\n\nexport const zeroFormattedNumber = (number: number): string => {\n    if(number < 10){\n        return `0${number}`\n    }\n    return number.toString();\n}\n\nexport const capitalizeSentence = (sentence: string): string => {\n    /* Split by space */\n    const updatedWords = sentence.split(\" \").map((word) => {\n        /* Capitalize first letter of each word */\n        return word.charAt(0).toUpperCase() + word.substring(1);\n    })\n\n    /* Join the words back to a string */\n    return updatedWords.join(\" \");\n    \n}"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/utils/countryApiAsyncHandler.ts",
    "content": "import { AxiosError, AxiosResponse } from \"axios\";\nimport {\n  CountryApiErrorResponse,\n  CountryApiResponse,\n} from \"../services/countryapi/CountryApiTypes\";\nimport ApiResponse from \"../services/ApiResponse\";\nimport ApiError, { ApiErrorResponse } from \"../services/ApiError\";\n\nexport const countryApiAsyncHandler = async <T>(\n  func: () => Promise<AxiosResponse<CountryApiResponse<T>>>\n): Promise<ApiResponse<T> | ApiError> => {\n  return Promise.resolve(func())\n    .then((response) => {\n      if (response.data.error) {\n        return new ApiError(response.data.msg);\n      } else {\n        return new ApiResponse<T>(\n          response.status,\n          response.data.data,\n          response.data.msg,\n          true\n        );\n      }\n    })\n    .catch((error: AxiosError<CountryApiErrorResponse>) => {\n      return new ApiError(\n        error.message,\n        error,\n        new ApiErrorResponse(\n          error.status || 400,\n          error.response?.data.msg || error.message,\n          [],\n          ''\n        )\n      );\n    });\n};\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/utils/dateTimeHelper.ts",
    "content": "import moment from \"moment\";\nimport { DATE_TIME_FORMATS, DURATION } from \"../constants\";\n\nexport const getCurrentUTCTime = (format: DATE_TIME_FORMATS): string => {\n  return moment.utc().format(format);\n};\n\nexport const convertUTCToLocalTime = (date: string, format: DATE_TIME_FORMATS): string => {\n  return moment.utc(date, format).local().format(format);\n}\nexport const convertMillisecondsToDaysHoursMinsSec = (\n  milliseconds: number\n): DURATION => {\n  const days = Math.floor(milliseconds / (1000 * 60 * 60 * 24)) || -1;\n\n  milliseconds = milliseconds % (1000 * 60 * 60 * 24);\n\n  const hours = Math.floor(milliseconds / (1000 * 60 * 60)) || -1;\n\n  milliseconds = milliseconds % (1000 * 60 * 60);\n\n  const minutes = Math.floor(milliseconds / (1000 * 60));\n\n  milliseconds = milliseconds % (1000 * 60);\n\n  const seconds = Math.floor(milliseconds / 1000);\n\n  return {\n    days,\n    hours,\n    minutes,\n    seconds,\n  };\n};\n\nexport const formatDateTime = (\n  input: string,\n  inputFormat: DATE_TIME_FORMATS,\n  outputFormat: DATE_TIME_FORMATS\n): string => {\n  return moment(input, inputFormat).format(outputFormat);\n};\n\nexport const formatDateFromDateObject = (\n  date: Date,\n  outputFormat: DATE_TIME_FORMATS\n): string => {\n  const month = date.getMonth() + 1;\n  const year = date.getFullYear();\n  const day = date.getDate();\n\n  return moment(\n    `${year}-${month}-${day}`,\n    DATE_TIME_FORMATS.standardDate\n  ).format(outputFormat);\n};\n\nexport const checkIfDateIsInRange = (\n  date: string,\n  startRange: string,\n  endRange: string,\n  dateFormat: DATE_TIME_FORMATS\n): boolean => {\n  const momentDate = moment(date, dateFormat);\n  const momentStartRange = moment(startRange, dateFormat);\n  const momentEndRange = moment(endRange, dateFormat);\n\n  if (\n    momentDate.isSameOrBefore(momentEndRange) &&\n    momentDate.isSameOrAfter(momentStartRange)\n  ) {\n    return true;\n  }\n  return false;\n};\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/utils/languageHelpers.ts",
    "content": "import { SUPPORTED_LANGUAGES } from \"../constants\";\n\n/**\n * To check if the language passed is from right to left.\n * @param language - string: Language code, en, ar.\n * @returns True/ False -> Is the language from right to left\n */\nexport const isRTL = (language: string): boolean => {\n    switch(language){\n        case SUPPORTED_LANGUAGES.english: return false;\n        case SUPPORTED_LANGUAGES.arabic: return true;\n        default: return false;\n    }\n}"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/src/vite-env.d.ts",
    "content": "/// <reference types=\"vite/client\" />\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/tailwind.config.js",
    "content": "/** @type {import('tailwindcss').Config} */\nimport { BREAKPOINTS } from \"./src/constants\";\nexport default {\n  content: [\"./index.html\", \"./src/**/*.{js,ts,jsx,tsx}\"],\n  theme: {\n    screens: BREAKPOINTS /* BREAKPOINTS */,\n    extend: {\n      colors: {\n        /* Extra Colors and Font Family */ darkRed: \"#DB4444\",\n        yellow: \"#00FF66\",\n        grey: \"#cdcdcd\",\n      },\n    },\n  },\n  plugins: [],\n};\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"target\": \"ES2020\",\n    \"useDefineForClassFields\": true,\n    \"lib\": [\"ES2020\", \"DOM\", \"DOM.Iterable\"],\n    \"module\": \"ESNext\",\n    \"skipLibCheck\": true,\n\n    /* Bundler mode */\n    \"moduleResolution\": \"bundler\",\n    \"allowImportingTsExtensions\": true,\n    \"resolveJsonModule\": true,\n    \"isolatedModules\": true,\n    \"noEmit\": true,\n    \"jsx\": \"react-jsx\",\n\n    /* Linting */\n    \"strict\": true,\n    \"noUnusedLocals\": true,\n    \"noUnusedParameters\": true,\n    \"noFallthroughCasesInSwitch\": true\n  },\n  \"include\": [\"src\"],\n  \"references\": [{ \"path\": \"./tsconfig.node.json\" }]\n}\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/tsconfig.node.json",
    "content": "{\n  \"compilerOptions\": {\n    \"composite\": true,\n    \"skipLibCheck\": true,\n    \"module\": \"ESNext\",\n    \"moduleResolution\": \"bundler\",\n    \"allowSyntheticDefaultImports\": true\n  },\n  \"include\": [\"vite.config.ts\"]\n}\n"
  },
  {
    "path": "examples/apps/ecommerce/web/react-vite-redux-tailwind/vite.config.ts",
    "content": "import { defineConfig, loadEnv } from \"vite\";\nimport react from \"@vitejs/plugin-react\";\n\n// https://vitejs.dev/config/\n\nexport default defineConfig(({ _, mode }) => {\n\n  /* Loading environment variables */\n  const env = loadEnv(mode, process.cwd(), \"\");\n  return {\n    plugins: [react()],\n    server: {\n      port: env.VITE_APP_PORT, /* APP Port */\n    },\n  };\n});\n"
  },
  {
    "path": "examples/apps/social-media/.gitkeep",
    "content": ""
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/.eslintrc.cjs",
    "content": "module.exports = {\n  root: true,\n  env: { browser: true, es2020: true },\n  extends: [\n    'eslint:recommended',\n    'plugin:@typescript-eslint/recommended',\n    'plugin:react-hooks/recommended',\n  ],\n  ignorePatterns: ['dist', '.eslintrc.cjs'],\n  parser: '@typescript-eslint/parser',\n  plugins: ['react-refresh'],\n  rules: {\n    'react-refresh/only-export-components': [\n      'warn',\n      { allowConstantExport: true },\n    ],\n  },\n}\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\npnpm-debug.log*\nlerna-debug.log*\n\nnode_modules\ndist\ndist-ssr\n*.local\n\n# Editor directories and files\n.vscode/*\n!.vscode/extensions.json\n.idea\n.DS_Store\n*.suo\n*.ntvs*\n*.njsproj\n*.sln\n*.sw?\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/README.md",
    "content": "# Installation and setup\n\nCreate a `.env` file in the ROOT folder and copy past the content of the `.env.sample` file in it.\n\nRun the following commands to start the server\n\n```bash\nnpm install\nnpm run dev\n\n# Make sure to keep the freeapi server running\n```\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/index.html",
    "content": "<!doctype html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"UTF-8\" />\n    <link rel=\"icon\" type=\"image/svg+xml\" href=\"/vite.svg\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Todo</title>\n  </head>\n  <body>\n    <div id=\"root\"></div>\n    <script type=\"module\" src=\"/src/main.tsx\"></script>\n  </body>\n</html>\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/package.json",
    "content": "{\n  \"name\": \"web\",\n  \"private\": true,\n  \"version\": \"0.0.0\",\n  \"type\": \"module\",\n  \"scripts\": {\n    \"dev\": \"vite --host\",\n    \"build\": \"tsc && vite build\",\n    \"lint\": \"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0\",\n    \"preview\": \"vite preview\"\n  },\n  \"dependencies\": {\n    \"axios\": \"^1.7.4\",\n    \"moment\": \"^2.30.1\",\n    \"react\": \"^18.2.0\",\n    \"react-dom\": \"^18.2.0\",\n    \"react-hot-toast\": \"^2.4.1\",\n    \"react-icons\": \"^5.0.1\"\n  },\n  \"devDependencies\": {\n    \"@types/react\": \"^18.2.43\",\n    \"@types/react-dom\": \"^18.2.17\",\n    \"@typescript-eslint/eslint-plugin\": \"^6.14.0\",\n    \"@typescript-eslint/parser\": \"^6.14.0\",\n    \"@vitejs/plugin-react\": \"^4.2.1\",\n    \"autoprefixer\": \"^10.4.16\",\n    \"eslint\": \"^8.55.0\",\n    \"eslint-plugin-react-hooks\": \"^4.6.0\",\n    \"eslint-plugin-react-refresh\": \"^0.4.5\",\n    \"postcss\": \"^8.4.33\",\n    \"tailwindcss\": \"^3.4.1\",\n    \"typescript\": \"^5.2.2\",\n    \"vite\": \"^5.2.14\"\n  },\n  \"resolutions\": {\n    \"cross-spawn\": \"^7.0.5\",\n    \"nanoid\": \"^3.3.8\"\n  }\n}\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/postcss.config.js",
    "content": "export default {\n  plugins: {\n    tailwindcss: {},\n    autoprefixer: {},\n  },\n};\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/src/App.tsx",
    "content": "import { FaCirclePlus } from \"react-icons/fa6\";\nimport { SlDrawer } from \"react-icons/sl\";\nimport Button from \"./components/Button\";\nimport Header from \"./components/Header\";\n\nimport { useState } from \"react\";\nimport CreateTodoModal from \"./components/todos/CreateTodoModal\";\nimport TodoCard from \"./components/todos/TodoCard\";\nimport { useTodo } from \"./context/TodoContext\";\nimport { classNames } from \"./utils\";\nimport Loader from \"./components/Loader\";\nimport TabsHeader from \"./components/todos/TabsHeader\";\n\nfunction App() {\n  const { todos, fetchLoading } = useTodo();\n\n  const [createTodoModal, setCreateTodoModal] = useState<boolean>(false);\n  const [selectedOption, setSelectedOption] = useState<string>(\"all\");\n  // TODO: Implement todo search with debouncing\n  const [query] = useState(\"\"); // for searching (coming soon)\n\n  const closeCreateTodoModal = () => {\n    setCreateTodoModal(false);\n  };\n  const openCreateTodoModal = () => {\n    setCreateTodoModal(true);\n  };\n\n  return (\n    <>\n      <Header openTodoModal={openCreateTodoModal} />\n\n      {createTodoModal && <CreateTodoModal onClose={closeCreateTodoModal} />}\n\n      {todos && todos.length > 0 ? (\n        <div className={classNames(\"flex flex-col items-center p-3 \")}>\n          <TabsHeader\n            openCreateTodoModal={openCreateTodoModal}\n            selectedOption={selectedOption}\n            setSelectedOption={setSelectedOption}\n            query={query}\n          />\n\n          <div className=\" w-full max-w-[800px] flex flex-col overflow-auto h-[calc(100vh-300px)] border-t-2\">\n            {fetchLoading ? (\n              <Loader />\n            ) : (\n              <>\n                {todos?.map((todo) => <TodoCard key={todo._id} todo={todo} />)}\n              </>\n            )}\n          </div>\n        </div>\n      ) : selectedOption === \"all\" ? (\n        <div className=\"flex h-[calc(100vh-100px)] w-full flex-col items-center justify-center px-4 text-center\">\n          <div className=\"flex flex-col items-center justify-center gap-4 text-white\">\n            <SlDrawer className=\" text-6xl md:text-8xl\" />\n            <h1 className=\"text-4xl font-extrabold md:text-6xl\">\n              No todos found?\n            </h1>\n            <p className=\"max-w-sm text-xs text-gray-200 md:text-sm\">\n              No todo has been added till now. Click the below button to create\n              a new task.\n            </p>\n          </div>\n          <Button\n            onClick={openCreateTodoModal}\n            severity=\"primary\"\n            className=\"font-bold mt-14\"\n          >\n            <FaCirclePlus />\n            Create a new task\n          </Button>\n        </div>\n      ) : (\n        <div className={classNames(\"flex flex-col items-center p-3 \")}>\n          <TabsHeader\n            openCreateTodoModal={openCreateTodoModal}\n            selectedOption={selectedOption}\n            setSelectedOption={setSelectedOption}\n            query={query}\n          />\n\n          <div className=\"mt-10 flex flex-col items-center justify-center gap-4 text-white\">\n            <SlDrawer className=\" text-4xl md:text-6xl\" />\n            <h1 className=\"text-2xl font-extrabold md:text-4xl\">\n              No {selectedOption} todos found?\n            </h1>\n          </div>\n        </div>\n      )}\n    </>\n  );\n}\n\nexport default App;\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/src/api/index.ts",
    "content": "// Import necessary modules and utilities\nimport axios from \"axios\";\n\n// Create an Axios instance for API requests\nconst apiClient = axios.create({\n  baseURL: import.meta.env.VITE_SERVER_URL,\n  withCredentials: true,\n  timeout: 120000,\n});\n\n// funtions to create axios instance\nconst createTodoApi = (title: string, description: string) => {\n  return apiClient.post(\n    \"/todos\",\n    { title, description },\n    { headers: { \"Content-Type\": \"application/json\" } }\n  );\n};\n\nconst getAllTodos = () => {\n  return apiClient.get(\"/todos\");\n};\n\nconst toggleTodoStatusApi = (todoId: string) => {\n  return apiClient.patch(`/todos/toggle/status/${todoId}`);\n};\n\nconst deleteTodoApi = (todoId: string) => {\n  return apiClient.delete(`/todos/${todoId}`);\n};\n\nconst editTodo = (\n  todoId: string,\n  todoData: { title: string; description: string }\n) => {\n  return apiClient.patch(`/todos/${todoId}`, todoData, {\n    headers: { \"Content-Type\": \"application/json\" },\n  });\n};\n\nconst getFilteredTodoApi = (query: string, isComplete: boolean | null) => {\n  return apiClient.get(\n    `/todos?query=${query}${\n      isComplete === null ? \"\" : `&complete=${isComplete}`\n    }`\n  );\n};\n\nexport {\n  createTodoApi,\n  deleteTodoApi,\n  editTodo,\n  getAllTodos,\n  getFilteredTodoApi,\n  toggleTodoStatusApi,\n};\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/src/components/Button.tsx",
    "content": "import React from \"react\";\nimport { classNames } from \"../utils\";\nimport { FaSpinner } from \"react-icons/fa6\";\n\nconst Button: React.FC<\n  React.ButtonHTMLAttributes<HTMLButtonElement> & {\n    fullWidth?: boolean;\n    severity?: \"primary\" | \"secondary\";\n    size?: \"base\" | \"small\";\n    loading?: boolean;\n  }\n> = ({\n  fullWidth,\n  severity = \"secondary\",\n  size = \"base\",\n  loading = false,\n  ...props\n}) => {\n  return (\n    <>\n      <button\n        {...props}\n        disabled={loading}\n        className={classNames(\n          \"rounded-md flex flex-shrink-0 gap-2 justify-center items-center text-cente focus-visible:outline  \",\n          fullWidth ? \"w-full\" : \"\",\n          severity === \"primary\"\n            ? \" items-center bg-[#ae7aff] text-black shadow-[5px_5px_0px_0px_#4f4e4e] transition-all duration-150 ease-in-out active:translate-x-[5px] active:translate-y-[5px] active:shadow-[0px_0px_0px_0px_#4f4e4e]\"\n            : \"\",\n\n          size === \"small\" ? \"text-sm px-3 py-1.5\" : \"text-base px-4 py-3\",\n          props.className || \"\"\n        )}\n      >\n        {loading ? <FaSpinner className=\"animate-spin\" /> : props.children}\n      </button>\n    </>\n  );\n};\n\nexport default Button;\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/src/components/Header.tsx",
    "content": "import { FaCirclePlus } from \"react-icons/fa6\";\nimport Button from \"./Button\";\n\nconst Header = ({ openTodoModal }: { openTodoModal: () => void }) => {\n  return (\n    <div className=\"sticky top-0 z-10 mx-auto flex w-full max-w-full items-center justify-between border-b-[1px] border-b-slate-300 bg-black/75 backdrop-blur-sm p-4 text-white lg:px-10\">\n      <h1 className=\"text-xl font-extrabold md:text-3xl\">All todos</h1>\n      <Button onClick={openTodoModal} className=\"border-[1px] border-white\">\n        <FaCirclePlus />\n        Create new\n      </Button>\n    </div>\n  );\n};\n\nexport default Header;\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/src/components/Input.tsx",
    "content": "import React from \"react\";\nimport { classNames } from \"../utils\";\n\nconst Input = React.forwardRef<\n  HTMLInputElement,\n  React.InputHTMLAttributes<HTMLInputElement>\n>((props, ref) => {\n  return (\n    <input\n      {...props}\n      ref={ref}\n      className={classNames(\n        \"bg-transparent rounded-xl outline-none border-[1px] px-5 py-3 text-base md:text-lg focus:border-purple-500 border-white\",\n        props.className || \"\"\n      )}\n    />\n  );\n});\n\nexport default Input;\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/src/components/Loader.tsx",
    "content": "import { FaSpinner } from \"react-icons/fa6\";\n\nconst Loader = () => {\n  return (\n    <div className=\"w-full h-24 flex justify-center gap-3 items-center\">\n      <p>fetching todos</p>\n      <FaSpinner className=\"animate-spin text-2xl\" />\n    </div>\n  );\n};\n\nexport default Loader;\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/src/components/ModalContainer.tsx",
    "content": "import React from \"react\";\n\nconst ModalContainer = ({ children }: { children: React.ReactNode }) => {\n  return (\n    <div className=\"z-40 absolute top-0 left-0 w-[100%] h-[100%] flex justify-center items-center bg-black/50 backdrop-blur-md\">\n      {children}\n    </div>\n  );\n};\n\nexport default ModalContainer;\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/src/components/Options.tsx",
    "content": "import { classNames } from \"../utils\";\n\nconst Options = ({\n  title,\n  count,\n  isActive,\n  onClick,\n}: {\n  title: string;\n  count: number | null;\n  isActive: boolean;\n  onClick: () => void;\n}) => {\n  return (\n    <div\n      onClick={onClick}\n      className={classNames(\n        \"p-2 hover:bg-zinc-700 text-sm md:text-base transition rounded-md cursor-pointer\",\n        isActive ? \"bg-zinc-700\" : \"\"\n      )}\n    >\n      {title} {count && `(${count})`}\n    </div>\n  );\n};\n\nexport default Options;\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/src/components/todos/CreateTodoModal.tsx",
    "content": "import { useState } from \"react\";\nimport Button from \"../Button\";\nimport ModalContainer from \"../ModalContainer\";\nimport Input from \"../Input\";\nimport { FaCirclePlus } from \"react-icons/fa6\";\nimport { RxCross2 } from \"react-icons/rx\";\nimport { useTodo } from \"../../context/TodoContext\";\nimport toast from \"react-hot-toast\";\n\nconst CreateTodoModal: React.FC<{\n  onClose: () => void;\n}> = ({ onClose }) => {\n  const { createLoading, createTodo } = useTodo();\n\n  const [title, setTitle] = useState<string>(\"\");\n  const [description, setDescription] = useState<string>(\"\");\n\n  const onSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n    e.preventDefault();\n\n    if (title.length < 1) {\n      toast.error(\"Please Enter Valid Title !\");\n      return;\n    }\n\n    if (description.length < 1) {\n      toast.error(\"Please Enter Valid Description !\");\n      return;\n    }\n\n    await createTodo(title, description);\n\n    onClose();\n  };\n\n  return (\n    <ModalContainer>\n      <div className=\"relative border-[1px] bg-zinc-900 bg-opacity-95  border-white/75 flex flex-col items-center p-5 rounded-lg w-[95%] max-w-xl\">\n        <div\n          onClick={onClose}\n          className=\"absolute cursor-pointer top-2 right-2 text-2xl p-2 transition-all rounded-md hover:bg-white hover:text-black\"\n        >\n          <RxCross2 />\n        </div>\n        <h1 className=\"text-xl pb-2 border-b-2 sm:text-3xl md:text-4xl my-4 mb-8\">\n          Create A New Task\n        </h1>\n        <form onSubmit={onSubmit} className=\"flex flex-col gap-4 w-full\">\n          <Input\n            value={title}\n            onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\n              setTitle(e.target.value)\n            }\n            placeholder=\"Enter a task...\"\n          />\n          <textarea\n            className=\"bg-transparent rounded-xl focus:border-purple-500 outline-none border-[1px] px-5 py-3 text-base md:text-lg border-white\"\n            value={description}\n            onChange={(e: React.ChangeEvent<HTMLTextAreaElement>) =>\n              setDescription(e.target.value)\n            }\n            placeholder=\"Enter its Description...\"\n            rows={6}\n          />\n          <Button\n            type=\"submit\"\n            className=\"mt-10 mx-auto max-w-[400px]\"\n            fullWidth={true}\n            severity=\"primary\"\n            loading={createLoading}\n          >\n            <FaCirclePlus />\n            Add\n          </Button>\n        </form>\n      </div>\n    </ModalContainer>\n  );\n};\n\nexport default CreateTodoModal;\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/src/components/todos/DetailAndEditModal.tsx",
    "content": "import React, { useEffect, useRef, useState } from \"react\";\nimport ModalContainer from \"../ModalContainer\";\nimport { RxCross2 } from \"react-icons/rx\";\nimport Input from \"../Input\";\nimport Button from \"../Button\";\nimport { MdEdit } from \"react-icons/md\";\nimport { requestHandler } from \"../../utils\";\nimport { TodoInterface } from \"../../interfaces/todo\";\nimport { editTodo } from \"../../api\";\nimport toast from \"react-hot-toast\";\nimport { useTodo } from \"../../context/TodoContext\";\n\nconst DetailAndEditModal: React.FC<{\n  onClose: () => void;\n  todo: TodoInterface;\n}> = ({ onClose, todo }) => {\n  const { todos, changeTodo } = useTodo();\n  const [isEditing, setIsEditing] = useState<boolean>(false);\n  const [editLoading, setEditLoading] = useState<boolean>(false);\n  const inputRef = useRef<HTMLInputElement | null>(null);\n\n  const [title, setTitle] = useState<string>(\"\");\n  const [description, setDescription] = useState<string>(\"\");\n\n  const onSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n    e.stopPropagation();\n    e.preventDefault();\n\n    if (title.length < 1) {\n      toast.error(\"Please Enter Valid Title !\");\n      return;\n    }\n\n    if (description.length < 1) {\n      toast.error(\"Please Enter Valid Description !\");\n      return;\n    }\n\n    await requestHandler(\n      async () => await editTodo(todo._id, { title, description }),\n      setEditLoading,\n      (res) => {\n        const { data } = res;\n\n        const result = todos?.map((todo) =>\n          todo._id === data._id ? { ...data } : todo\n        );\n        changeTodo(result);\n        toast.success(res.message);\n        onClose();\n      },\n      (error) => {\n        toast.error(error);\n      }\n    );\n  };\n\n  useEffect(() => {\n    setTitle(todo.title), setDescription(todo.description);\n  }, []);\n\n  useEffect(() => {\n    if (isEditing && inputRef.current) {\n      inputRef.current.focus();\n    }\n  }, [isEditing]);\n\n  return (\n    <ModalContainer>\n      <div className=\"relative border-[1px] bg-zinc-950 bg-opacity-95  border-white/75 flex flex-col items-center p-5 rounded-lg w-[95%] max-w-xl\">\n        <div\n          onClick={onClose}\n          className=\"absolute cursor-pointer top-2 right-2 text-2xl p-2 transition-all rounded-md hover:bg-white hover:text-black\"\n        >\n          <RxCross2 />\n        </div>\n        <h1 className=\"text-xl pb-2 border-b-2 sm:text-3xl md:text-4xl my-4 mb-8\">\n          {isEditing ? \"Edit the task\" : \"Task Details\"}\n        </h1>\n\n        {isEditing ? (\n          <form onSubmit={onSubmit} className=\"flex flex-col gap-4 w-full\">\n            <Input\n              ref={inputRef}\n              value={title}\n              onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\n                setTitle(e.target.value)\n              }\n              placeholder=\"Enter a Todo...\"\n            />\n            <textarea\n              className=\"bg-transparent rounded-xl focus:border-purple-500 outline-none border-[1px] px-5 py-3 text-base md:text-lg border-white\"\n              value={description}\n              onChange={(e: React.ChangeEvent<HTMLTextAreaElement>) =>\n                setDescription(e.target.value)\n              }\n              placeholder=\"Enter its Description...\"\n              rows={6}\n            />\n\n            <div className=\"mt-10 flex justify-around gap-4\">\n              <Button\n                onClick={(e: React.MouseEvent<HTMLButtonElement>) => {\n                  e.preventDefault();\n                  onClose();\n                }}\n                severity=\"primary\"\n                className=\"bg-red-600 w-[40%] text-white\"\n              >\n                Cancel\n              </Button>\n              <Button\n                type=\"submit\"\n                className=\"w-[40%]\"\n                severity=\"primary\"\n                loading={editLoading}\n              >\n                <MdEdit />\n                Edit\n              </Button>\n            </div>\n          </form>\n        ) : (\n          <div className=\"flex flex-col gap-4 w-full max-h-[75vh]\">\n            <h1 className=\"rounded-xl outline-none border-[1px] px-5 py-3 text-base md:text-lg border-white\">\n              {todo.title}\n            </h1>\n\n            <p className=\"rounded-xl overflow-auto outline-none border-[1px] px-5 py-3 text-base md:text-lg border-white\">\n              {todo.description}\n            </p>\n\n            <Button\n              onClick={() => {\n                setIsEditing(true);\n              }}\n              className=\"mt-10 mx-auto max-w-[400px]\"\n              fullWidth={true}\n              severity=\"primary\"\n              loading={editLoading}\n            >\n              <MdEdit />\n              Edit\n            </Button>\n          </div>\n        )}\n      </div>\n    </ModalContainer>\n  );\n};\n\nexport default DetailAndEditModal;\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/src/components/todos/TabsHeader.tsx",
    "content": "import { FaCirclePlus } from \"react-icons/fa6\";\nimport Button from \"../Button\";\nimport Options from \"../Options\";\nimport { useTodo } from \"../../context/TodoContext\";\n\nconst TabsHeader = ({\n  openCreateTodoModal,\n  selectedOption,\n  setSelectedOption,\n  query,\n}: {\n  openCreateTodoModal: () => void;\n  selectedOption: string;\n  setSelectedOption: (slectedOption: string) => void;\n  query: string;\n}) => {\n  const { getFilteredTodos, todos } = useTodo();\n\n  const optionsList = [\n    {\n      title: \"All Todos\",\n      slug: \"all\",\n    },\n    {\n      title: \"Pending\",\n      slug: \"pending\",\n    },\n    {\n      title: \"Completed\",\n      slug: \"completed\",\n    },\n  ];\n\n  return (\n    <>\n      <div className=\" w-full px-3 mt-10\">\n        <Button\n          onClick={openCreateTodoModal}\n          severity=\"primary\"\n          className=\"mx-auto w-full max-w-[500px]\"\n        >\n          <FaCirclePlus />\n          Create a new task\n        </Button>\n      </div>\n\n      <div className=\"w-full flex justify-around max-w-[600px] gap-4 my-6\">\n        {optionsList.map((option) => (\n          <Options\n            isActive={selectedOption === option.slug}\n            key={option.slug}\n            title={option.title}\n            count={option.slug === selectedOption ? todos.length : null}\n            onClick={async () => {\n              setSelectedOption(option.slug);\n              let complete: boolean | null =\n                option.slug === \"pending\"\n                  ? false\n                  : option.slug === \"completed\"\n                  ? true\n                  : null;\n              await getFilteredTodos(query, complete);\n            }}\n          />\n        ))}\n      </div>\n    </>\n  );\n};\n\nexport default TabsHeader;\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/src/components/todos/TodoCard.tsx",
    "content": "import moment from \"moment\";\nimport { useState } from \"react\";\nimport toast from \"react-hot-toast\";\nimport { FaCheck, FaSpinner } from \"react-icons/fa6\";\nimport { MdDelete, MdEdit } from \"react-icons/md\";\nimport { deleteTodoApi, toggleTodoStatusApi } from \"../../api\";\nimport { useTodo } from \"../../context/TodoContext\";\nimport { TodoInterface } from \"../../interfaces/todo\";\nimport { classNames, requestHandler } from \"../../utils\";\nimport DetailAndEditModal from \"./DetailAndEditModal\";\n\nconst TodoCard = ({ todo }: { todo: TodoInterface }) => {\n  const [deleteLoading, setDeleteLoading] = useState<boolean>(false);\n  const { changeTodo, todos } = useTodo();\n\n  const [isEditModal, setIsEditModal] = useState<boolean>(false);\n\n  const toggleTodoStatus = async (e: React.MouseEvent<HTMLButtonElement>) => {\n    e.stopPropagation();\n\n    const result = todos.map((_todo) =>\n      _todo._id === todo._id\n        ? { ..._todo, isComplete: !_todo.isComplete }\n        : _todo\n    );\n\n    changeTodo(result);\n\n    await requestHandler(\n      async () => await toggleTodoStatusApi(todo._id),\n      null,\n      (res) => {\n        const { data } = res;\n\n        const result = todos?.map((_todo) =>\n          _todo._id === data._id\n            ? { ..._todo, isComplete: data.isComplete }\n            : _todo\n        );\n\n        changeTodo(result);\n      },\n      (error) => {\n        toast.error(error);\n      }\n    );\n  };\n\n  const deleteTodoHandler = async (e: React.MouseEvent<HTMLButtonElement>) => {\n    e.stopPropagation();\n    await requestHandler(\n      async () => await deleteTodoApi(todo._id),\n      setDeleteLoading,\n      (res) => {\n        const { data } = res;\n\n        const result = todos?.filter(\n          (todo) => todo._id !== data.deletedTodo._id\n        );\n\n        changeTodo(result);\n\n        toast.success(res.message);\n      },\n      (error) => {\n        toast.error(error);\n      }\n    );\n  };\n\n  return (\n    <>\n      {isEditModal && (\n        <DetailAndEditModal onClose={() => setIsEditModal(false)} todo={todo} />\n      )}\n      <div\n        role=\"button\"\n        onClick={() => setIsEditModal(true)}\n        className=\"flex border-[1.5px] border-t-0 border-white cursor-default w-full items-center  py-3 px-3\"\n      >\n        <button\n          onClick={toggleTodoStatus}\n          className={classNames(\n            \"p-1 border-[1px] rounded-sm w-5 h-5 md:w-6 md:h-6 flex items-center justify-center\",\n            todo.isComplete ? \"bg-green-600 text-white\" : \"bg-black text-black\"\n          )}\n        >\n          <FaCheck className=\"text-xs\" />\n        </button>\n\n        <div className=\"flex flex-col  justify-center ml-4 mr-4\">\n          <p\n            className={classNames(\n              \"text-base md:text-lg flex items-center gap-4\",\n              todo.isComplete ? \" opacity-50\" : \"\"\n            )}\n          >\n            <span\n              className={classNames(\n                \"line-clamp-1\",\n                todo.isComplete ? \"line-through\" : \"\"\n              )}\n            >\n              {todo.title}\n            </span>\n            <span className=\"hidden sm:block md:text-base text-gray-400 \">\n              ( {moment(todo.updatedAt).add(\"TIME_ZONE\", \"hours\").fromNow(true)}{\" \"}\n              ago )\n            </span>\n          </p>\n          <p\n            className={classNames(\n              \"opacity-75 text-xs sm:text-sm md:text-base line-clamp-1\",\n              todo.isComplete ? \"hidden\" : \"\"\n            )}\n          >\n            {todo.description.substring(0, 50)}\n            {todo.description.length > 50 ? \"...\" : \"\"}\n          </p>\n        </div>\n\n        <div className=\"ml-auto flex flex-shrink-0 gap-2\">\n          <button\n            onClick={deleteTodoHandler}\n            disabled={deleteLoading}\n            className=\"bg-red-500 p-2 md:p-3 md:text-lg  rounded-md\"\n          >\n            {deleteLoading ? (\n              <FaSpinner className=\"animate-spin\" />\n            ) : (\n              <MdDelete />\n            )}\n          </button>\n\n          <button\n            onClick={() => setIsEditModal(true)}\n            className=\"bg-purple-500 p-2 md:p-3 md:text-lg rounded-md\"\n          >\n            <MdEdit />\n          </button>\n        </div>\n      </div>\n    </>\n  );\n};\n\nexport default TodoCard;\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/src/context/TodoContext.tsx",
    "content": "import React, { createContext, useContext, useEffect, useState } from \"react\";\nimport { TodoInterface } from \"../interfaces/todo\";\nimport { requestHandler } from \"../utils\";\nimport { createTodoApi, getAllTodos, getFilteredTodoApi } from \"../api\";\nimport toast from \"react-hot-toast\";\nimport Loader from \"../components/Loader\";\n\n// Create a context to manage todos\nconst TodoContext = createContext<{\n  todos: TodoInterface[];\n  loading: boolean;\n  createLoading: boolean;\n  fetchLoading: boolean;\n  changeTodo: (_todo: TodoInterface[]) => void;\n  createTodo: (title: string, description: string) => Promise<void>;\n  getFilteredTodos: (\n    query: string,\n    isComplete: boolean | null\n  ) => Promise<void>;\n}>({\n  todos: [],\n  loading: false,\n  createLoading: false,\n  fetchLoading: false,\n  createTodo: async () => {},\n  changeTodo: () => {},\n  getFilteredTodos: async () => {},\n});\n\n// Create a hook to access the todos and related functions\nconst useTodo = () => useContext(TodoContext);\n\n// Create a component that provides todos\nconst TodoProvider: React.FC<{ children: React.ReactNode }> = ({\n  children,\n}) => {\n  const [todos, setTodos] = useState<TodoInterface[]>([]);\n  const [createLoading, setCreateloading] = useState<boolean>(false);\n  const [loading, setLoading] = useState<boolean>(false);\n  const [fetchLoading, setFetchLoading] = useState<boolean>(false);\n\n  // function to create todo\n  const createTodo = async (title: string, description: string) => {\n    await requestHandler(\n      async () => await createTodoApi(title, description),\n      setCreateloading,\n      (res) => {\n        const data = res.data;\n        setTodos([data, ...todos]);\n        toast.success(res.message);\n      },\n      (error) => {\n        toast.error(error);\n      }\n    );\n  };\n\n  // change todos\n  const changeTodo = (_todos: TodoInterface[]) => {\n    setTodos(_todos);\n  };\n\n  const getFilteredTodos = async (\n    query: string = \"\",\n    isComplete: boolean | null\n  ) => {\n    await requestHandler(\n      async () => await getFilteredTodoApi(query, isComplete),\n      setFetchLoading,\n      (res) => {\n        const { data } = res;\n        setTodos(data);\n        console.log(data);\n      },\n      (error) => {\n        toast.error(error);\n      }\n    );\n  };\n\n  useEffect(() => {\n    // fetching todos on page refresh\n\n    (async () => {\n      await requestHandler(\n        async () => await getAllTodos(),\n        setLoading,\n        (res) => {\n          const { data } = res;\n          setTodos(data);\n        },\n        (error) => {\n          toast.error(error);\n        }\n      );\n    })();\n  }, []);\n\n  return (\n    <TodoContext.Provider\n      value={{\n        todos,\n        createLoading,\n        createTodo,\n        changeTodo,\n        loading,\n        fetchLoading,\n        getFilteredTodos,\n      }}\n    >\n      {loading ? (\n        <div className=\"flex justify-center items-center text-2xl h-[100vh]\">\n          <Loader />\n        </div>\n      ) : (\n        children\n      )}\n    </TodoContext.Provider>\n  );\n};\n\n// Export the context, provider component, and custom hook\nexport { TodoContext, TodoProvider, useTodo };\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/src/index.css",
    "content": "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n\nbody {\n  background: #000;\n  color: white;\n}\n/* \n* {\n  max-width: 100vw;\n} */\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/src/interfaces/api.ts",
    "content": "export interface FreeAPISuccessResponseInterface {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  data: any;\n  message: string;\n  statusCode: number;\n  success: boolean;\n}\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/src/interfaces/todo.ts",
    "content": "export interface TodoInterface {\n  title: string;\n  description: string;\n  isComplete: boolean;\n  createdAt: string;\n  updatedAt: string;\n  _id: string;\n}\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/src/main.tsx",
    "content": "import React from \"react\";\nimport ReactDOM from \"react-dom/client\";\nimport App from \"./App.tsx\";\nimport \"./index.css\";\nimport { TodoProvider } from \"./context/TodoContext.tsx\";\nimport { Toaster } from \"react-hot-toast\";\n\nReactDOM.createRoot(document.getElementById(\"root\")!).render(\n  <React.StrictMode>\n    <TodoProvider>\n      <App />\n    </TodoProvider>\n    <Toaster />\n  </React.StrictMode>\n);\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/src/utils/index.ts",
    "content": "// Importing necessary modules and interfaces\nimport { AxiosResponse } from \"axios\";\nimport { FreeAPISuccessResponseInterface } from \"../interfaces/api\";\n\n// Check if the code is running in a browser environment\nexport const isBrowser = typeof window !== \"undefined\";\n\n// A utility function for handling API requests with loading, success, and error handling\nexport const requestHandler = async (\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  api: () => Promise<AxiosResponse<FreeAPISuccessResponseInterface, any>>,\n  setLoading: ((loading: boolean) => void) | null,\n  onSuccess: (data: FreeAPISuccessResponseInterface) => void,\n  onError: (error: string) => void\n) => {\n  // Show loading state if setLoading function is provided\n  setLoading && setLoading(true);\n  try {\n    // Make the API request\n    const response = await api();\n    const { data } = response;\n    if (data?.success) {\n      // Call the onSuccess callback with the response data\n      onSuccess(data);\n    }\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  } catch (error: any) {\n    console.log(error);\n    onError(error?.response?.data?.message || \"Something went wrong\");\n  } finally {\n    // Hide loading state if setLoading function is provided\n    setLoading && setLoading(false);\n  }\n};\n\n// A utility function to concatenate CSS class names with proper spacing\nexport const classNames = (...className: string[]) => {\n  // Filter out any empty class names and join them with a space\n  return className.filter(Boolean).join(\" \");\n};\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/src/vite-env.d.ts",
    "content": "/// <reference types=\"vite/client\" />\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/tailwind.config.js",
    "content": "/** @type {import('tailwindcss').Config} */\nexport default {\n  content: [\"./index.html\", \"./src/**/*.{js,ts,jsx,tsx}\"],\n  theme: {\n    extend: {\n      colors: {},\n    },\n  },\n  plugins: [],\n};\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"target\": \"ES2020\",\n    \"useDefineForClassFields\": true,\n    \"lib\": [\"ES2020\", \"DOM\", \"DOM.Iterable\"],\n    \"module\": \"ESNext\",\n    \"skipLibCheck\": true,\n\n    /* Bundler mode */\n    \"moduleResolution\": \"bundler\",\n    \"allowImportingTsExtensions\": true,\n    \"resolveJsonModule\": true,\n    \"isolatedModules\": true,\n    \"noEmit\": true,\n    \"jsx\": \"react-jsx\",\n\n    /* Linting */\n    \"strict\": true,\n    \"noUnusedLocals\": true,\n    \"noUnusedParameters\": true,\n    \"noFallthroughCasesInSwitch\": true\n  },\n  \"include\": [\"src\"],\n  \"references\": [{ \"path\": \"./tsconfig.node.json\" }]\n}\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/tsconfig.node.json",
    "content": "{\n  \"compilerOptions\": {\n    \"composite\": true,\n    \"skipLibCheck\": true,\n    \"module\": \"ESNext\",\n    \"moduleResolution\": \"bundler\",\n    \"allowSyntheticDefaultImports\": true\n  },\n  \"include\": [\"vite.config.ts\"]\n}\n"
  },
  {
    "path": "examples/apps/todo/web/react-vite-tailwind/vite.config.ts",
    "content": "import { defineConfig } from \"vite\";\nimport react from \"@vitejs/plugin-react\";\n\n// https://vitejs.dev/config/\nexport default defineConfig({\n  plugins: [react()],\n  server: {\n    host: \"localhost\",\n    port: 3000,\n  },\n});\n"
  },
  {
    "path": "examples/kitchen-sink/cookies/.gitkeep",
    "content": ""
  },
  {
    "path": "examples/kitchen-sink/httpmethods/.gitkeep",
    "content": ""
  },
  {
    "path": "examples/kitchen-sink/images/.gitkeep",
    "content": ""
  },
  {
    "path": "examples/kitchen-sink/redirects/.gitkeep",
    "content": ""
  },
  {
    "path": "examples/kitchen-sink/requestinspections/.gitkeep",
    "content": ""
  },
  {
    "path": "examples/kitchen-sink/responseinspections/.gitkeep",
    "content": ""
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/.eslintrc.cjs",
    "content": "module.exports = {\n  root: true,\n  env: { browser: true, es2020: true },\n  extends: [\n    'eslint:recommended',\n    'plugin:@typescript-eslint/recommended',\n    'plugin:react-hooks/recommended',\n  ],\n  ignorePatterns: ['dist', '.eslintrc.cjs'],\n  parser: '@typescript-eslint/parser',\n  plugins: ['react-refresh'],\n  rules: {\n    'react-refresh/only-export-components': [\n      'warn',\n      { allowConstantExport: true },\n    ],\n  },\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/.gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\npnpm-debug.log*\nlerna-debug.log*\n\nnode_modules\ndist\ndist-ssr\n*.local\n\n# Editor directories and files\n.vscode/*\n!.vscode/extensions.json\n.idea\n.DS_Store\n*.suo\n*.ntvs*\n*.njsproj\n*.sln\n*.sw?\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/README.md",
    "content": "# React + TypeScript + Vite\n\nThis template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.\n\nCurrently, two official plugins are available:\n\n- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh\n- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh\n\n## Expanding the ESLint configuration\n\nIf you are developing a production application, we recommend updating the configuration to enable type aware lint rules:\n\n- Configure the top-level `parserOptions` property like this:\n\n```js\nexport default {\n  // other rules...\n  parserOptions: {\n    ecmaVersion: 'latest',\n    sourceType: 'module',\n    project: ['./tsconfig.json', './tsconfig.node.json'],\n    tsconfigRootDir: __dirname,\n  },\n}\n```\n\n- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`\n- Optionally add `plugin:@typescript-eslint/stylistic-type-checked`\n- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/components.json",
    "content": "{\n  \"$schema\": \"https://ui.shadcn.com/schema.json\",\n  \"style\": \"new-york\",\n  \"rsc\": false,\n  \"tsx\": true,\n  \"tailwind\": {\n    \"config\": \"tailwind.config.js\",\n    \"css\": \"src/index.css\",\n    \"baseColor\": \"slate\",\n    \"cssVariables\": false,\n    \"prefix\": \"\"\n  },\n  \"aliases\": {\n    \"components\": \"@/components\",\n    \"utils\": \"@/lib/utils\"\n  }\n}"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/index.html",
    "content": "<!doctype html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"UTF-8\" />\n    <link rel=\"icon\" type=\"image/svg+xml\" href=\"/vite.svg\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>HTTP Status Insight</title>\n    <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\" />\n    <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin />\n    <link\n      href=\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap\"\n      rel=\"stylesheet\"\n    />\n  </head>\n  <body>\n    <div id=\"root\"></div>\n    <script type=\"module\" src=\"/src/main.tsx\"></script>\n  </body>\n</html>\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/package.json",
    "content": "{\n  \"name\": \"react-shadcn-tailwind-zustand\",\n  \"private\": true,\n  \"version\": \"0.0.0\",\n  \"type\": \"module\",\n  \"scripts\": {\n    \"dev\": \"vite\",\n    \"build\": \"tsc && vite build\",\n    \"lint\": \"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0\",\n    \"preview\": \"vite preview\"\n  },\n  \"dependencies\": {\n    \"@radix-ui/react-accordion\": \"^1.1.2\",\n    \"@radix-ui/react-dialog\": \"^1.0.5\",\n    \"@radix-ui/react-icons\": \"^1.3.0\",\n    \"@radix-ui/react-label\": \"^2.0.2\",\n    \"@radix-ui/react-navigation-menu\": \"^1.1.4\",\n    \"@radix-ui/react-popover\": \"^1.0.7\",\n    \"@radix-ui/react-radio-group\": \"^1.1.3\",\n    \"@radix-ui/react-select\": \"^2.0.0\",\n    \"@radix-ui/react-slot\": \"^1.0.2\",\n    \"@redux-devtools/extension\": \"^3.3.0\",\n    \"accordion\": \"^3.0.2\",\n    \"add\": \"^2.0.6\",\n    \"class-variance-authority\": \"^0.7.0\",\n    \"clsx\": \"^2.1.0\",\n    \"cmdk\": \"^1.0.0\",\n    \"lucide-react\": \"^0.363.0\",\n    \"npx\": \"^10.2.2\",\n    \"react\": \"^18.2.0\",\n    \"react-dom\": \"^18.2.0\",\n    \"react-router-dom\": \"^6.22.1\",\n    \"shadcn-ui\": \"^0.8.0\",\n    \"tailwind-merge\": \"^2.2.1\",\n    \"tailwindcss-animate\": \"^1.0.7\",\n    \"zustand\": \"^4.5.2\"\n  },\n  \"devDependencies\": {\n    \"@types/node\": \"^20.11.17\",\n    \"@types/react\": \"^18.2.55\",\n    \"@types/react-dom\": \"^18.2.19\",\n    \"@typescript-eslint/eslint-plugin\": \"^6.21.0\",\n    \"@typescript-eslint/parser\": \"^6.21.0\",\n    \"@vitejs/plugin-react\": \"^4.2.1\",\n    \"autoprefixer\": \"^10.4.17\",\n    \"eslint\": \"^8.56.0\",\n    \"eslint-plugin-react-hooks\": \"^4.6.0\",\n    \"eslint-plugin-react-refresh\": \"^0.4.5\",\n    \"postcss\": \"^8.4.35\",\n    \"prettier\": \"^3.2.5\",\n    \"tailwindcss\": \"^3.4.1\",\n    \"typescript\": \"^5.2.2\",\n    \"vite\": \"^5.2.14\"\n  },\n  \"resolutions\": {\n    \"braces\": \"^3.0.3\",\n    \"micromatch\": \"^4.0.8\",\n    \"cross-spawn\": \"^7.0.5\",\n    \"nanoid\": \"^3.3.8\"\n  }\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/postcss.config.js",
    "content": "export default {\n  plugins: {\n    tailwindcss: {},\n    autoprefixer: {},\n  },\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/App.css",
    "content": "body {\n  background-color: #333333;\n  color: #ffffff;\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/App.tsx",
    "content": "import \"./App.css\";\n\nimport Router from \"./router\";\n\nfunction App() {\n  return <Router />;\n}\n\nexport default App;\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/components/ui/accordion.tsx",
    "content": "import * as React from \"react\";\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { ChevronDownIcon } from \"@radix-ui/react-icons\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Accordion = AccordionPrimitive.Root;\n\nconst AccordionItem = React.forwardRef<\n  React.ElementRef<typeof AccordionPrimitive.Item>,\n  React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n  <AccordionPrimitive.Item ref={ref} className={cn(className)} {...props} />\n));\nAccordionItem.displayName = \"AccordionItem\";\n\nconst AccordionTrigger = React.forwardRef<\n  React.ElementRef<typeof AccordionPrimitive.Trigger>,\n  React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n  <AccordionPrimitive.Header className=\"flex\">\n    <AccordionPrimitive.Trigger\n      ref={ref}\n      className={cn(\n        \"flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180\",\n        className\n      )}\n      {...props}\n    >\n      {children}\n      <ChevronDownIcon className=\"w-4 h-4 transition-transform duration-200 shrink-0 text-slate-500 dark:text-slate-400\" />\n    </AccordionPrimitive.Trigger>\n  </AccordionPrimitive.Header>\n));\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;\n\nconst AccordionContent = React.forwardRef<\n  React.ElementRef<typeof AccordionPrimitive.Content>,\n  React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n  <AccordionPrimitive.Content\n    ref={ref}\n    className=\"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\n    {...props}\n  >\n    <div className={cn(\"pb-4 pt-0\", className)}>{children}</div>\n  </AccordionPrimitive.Content>\n));\nAccordionContent.displayName = AccordionPrimitive.Content.displayName;\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/components/ui/button.tsx",
    "content": "import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n  \"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-slate-950 disabled:pointer-events-none disabled:opacity-50 dark:focus-visible:ring-slate-300\",\n  {\n    variants: {\n      variant: {\n        default:\n          \"bg-slate-900 text-slate-50 shadow hover:bg-slate-900/90 dark:bg-slate-50 dark:text-slate-900 dark:hover:bg-slate-50/90\",\n        destructive:\n          \"bg-red-500 text-slate-50 shadow-sm hover:bg-red-500/90 dark:bg-red-900 dark:text-slate-50 dark:hover:bg-red-900/90\",\n        outline:\n          \"border border-slate-200 bg-white shadow-sm hover:bg-slate-100 hover:text-slate-900 dark:border-slate-800 dark:bg-slate-950 dark:hover:bg-slate-800 dark:hover:text-slate-50\",\n        secondary:\n          \"bg-slate-100 text-slate-900 shadow-sm hover:bg-slate-100/80 dark:bg-slate-800 dark:text-slate-50 dark:hover:bg-slate-800/80\",\n        ghost: \"hover:bg-slate-100 hover:text-slate-900 dark:hover:bg-slate-800 dark:hover:text-slate-50\",\n        link: \"text-slate-900 underline-offset-4 hover:underline dark:text-slate-50\",\n      },\n      size: {\n        default: \"h-9 px-4 py-2\",\n        sm: \"h-8 rounded-md px-3 text-xs\",\n        lg: \"h-10 rounded-md px-8\",\n        icon: \"h-9 w-9\",\n      },\n    },\n    defaultVariants: {\n      variant: \"default\",\n      size: \"default\",\n    },\n  }\n)\n\nexport interface ButtonProps\n  extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n    VariantProps<typeof buttonVariants> {\n  asChild?: boolean\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n  ({ className, variant, size, asChild = false, ...props }, ref) => {\n    const Comp = asChild ? Slot : \"button\"\n    return (\n      <Comp\n        className={cn(buttonVariants({ variant, size, className }))}\n        ref={ref}\n        {...props}\n      />\n    )\n  }\n)\nButton.displayName = \"Button\"\n\nexport { Button, buttonVariants }\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/components/ui/card.tsx",
    "content": "import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Card = React.forwardRef<\n  HTMLDivElement,\n  React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n  <div\n    ref={ref}\n    className={cn(\n      \"rounded-xl border border-slate-200 bg-white text-slate-950 shadow dark:border-slate-800 dark:bg-slate-950 dark:text-slate-50\",\n      className\n    )}\n    {...props}\n  />\n))\nCard.displayName = \"Card\"\n\nconst CardHeader = React.forwardRef<\n  HTMLDivElement,\n  React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n  <div\n    ref={ref}\n    className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n    {...props}\n  />\n))\nCardHeader.displayName = \"CardHeader\"\n\nconst CardTitle = React.forwardRef<\n  HTMLParagraphElement,\n  React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n  <h3\n    ref={ref}\n    className={cn(\"font-semibold leading-none tracking-tight\", className)}\n    {...props}\n  />\n))\nCardTitle.displayName = \"CardTitle\"\n\nconst CardDescription = React.forwardRef<\n  HTMLParagraphElement,\n  React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n  <p\n    ref={ref}\n    className={cn(\"text-sm text-slate-500 dark:text-slate-400\", className)}\n    {...props}\n  />\n))\nCardDescription.displayName = \"CardDescription\"\n\nconst CardContent = React.forwardRef<\n  HTMLDivElement,\n  React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n  <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n))\nCardContent.displayName = \"CardContent\"\n\nconst CardFooter = React.forwardRef<\n  HTMLDivElement,\n  React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n  <div\n    ref={ref}\n    className={cn(\"flex items-center p-6 pt-0\", className)}\n    {...props}\n  />\n))\nCardFooter.displayName = \"CardFooter\"\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/components/ui/command.tsx",
    "content": "import * as React from \"react\";\nimport { type DialogProps } from \"@radix-ui/react-dialog\";\nimport { MagnifyingGlassIcon } from \"@radix-ui/react-icons\";\nimport { Command as CommandPrimitive } from \"cmdk\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Dialog, DialogContent } from \"@/components/ui/dialog\";\n\nconst Command = React.forwardRef<\n  React.ElementRef<typeof CommandPrimitive>,\n  React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n  <CommandPrimitive\n    ref={ref}\n    className={cn(\n      \"flex h-full w-full flex-col overflow-hidden rounded-md bg-white text-slate-950 dark:bg-slate-950 dark:text-slate-50\",\n      className\n    )}\n    {...props}\n  />\n));\nCommand.displayName = CommandPrimitive.displayName;\n\ninterface CommandDialogProps extends DialogProps {}\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n  return (\n    <Dialog {...props}>\n      <DialogContent className=\"p-0 overflow-hidden\">\n        <Command className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-slate-500 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5 dark:[&_[cmdk-group-heading]]:text-slate-400\">\n          {children}\n        </Command>\n      </DialogContent>\n    </Dialog>\n  );\n};\n\nconst CommandInput = React.forwardRef<\n  React.ElementRef<typeof CommandPrimitive.Input>,\n  React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n  <div className=\"flex items-center px-3 border-b\" cmdk-input-wrapper=\"\">\n    <MagnifyingGlassIcon className=\"w-4 h-4 mr-2 opacity-50 shrink-0\" />\n    <CommandPrimitive.Input\n      ref={ref}\n      className={cn(\n        \"flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-slate-500 disabled:cursor-not-allowed disabled:opacity-50 dark:placeholder:text-slate-400\",\n        className\n      )}\n      {...props}\n    />\n  </div>\n));\n\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\nconst CommandList = React.forwardRef<\n  React.ElementRef<typeof CommandPrimitive.List>,\n  React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n  <CommandPrimitive.List\n    ref={ref}\n    className={cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", className)}\n    {...props}\n  />\n));\n\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<\n  React.ElementRef<typeof CommandPrimitive.Empty>,\n  React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n  <CommandPrimitive.Empty\n    ref={ref}\n    className=\"py-6 text-sm text-center\"\n    {...props}\n  />\n));\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<\n  React.ElementRef<typeof CommandPrimitive.Group>,\n  React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n  <CommandPrimitive.Group\n    ref={ref}\n    className={cn(\n      \"overflow-hidden p-1 text-slate-950 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-slate-500 dark:text-slate-50 dark:[&_[cmdk-group-heading]]:text-slate-400\",\n      className\n    )}\n    {...props}\n  />\n));\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n  React.ElementRef<typeof CommandPrimitive.Separator>,\n  React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n  <CommandPrimitive.Separator\n    ref={ref}\n    className={cn(\"-mx-1 h-px bg-slate-200 dark:bg-slate-800\", className)}\n    {...props}\n  />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<\n  React.ElementRef<typeof CommandPrimitive.Item>,\n  React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n  <CommandPrimitive.Item\n    ref={ref}\n    className={cn(\n      \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-slate-100 aria-selected:text-slate-900 data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 dark:aria-selected:bg-slate-800 dark:aria-selected:text-slate-50\",\n      className\n    )}\n    {...props}\n  />\n));\n\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nconst CommandShortcut = ({\n  className,\n  ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n  return (\n    <span\n      className={cn(\n        \"ml-auto text-xs tracking-widest text-slate-500 dark:text-slate-400\",\n        className\n      )}\n      {...props}\n    />\n  );\n};\nCommandShortcut.displayName = \"CommandShortcut\";\n\nexport {\n  Command,\n  CommandDialog,\n  CommandInput,\n  CommandList,\n  CommandEmpty,\n  CommandGroup,\n  CommandItem,\n  CommandShortcut,\n  CommandSeparator,\n};\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/components/ui/dialog.tsx",
    "content": "import * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { Cross2Icon } from \"@radix-ui/react-icons\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Dialog = DialogPrimitive.Root\n\nconst DialogTrigger = DialogPrimitive.Trigger\n\nconst DialogPortal = DialogPrimitive.Portal\n\nconst DialogClose = DialogPrimitive.Close\n\nconst DialogOverlay = React.forwardRef<\n  React.ElementRef<typeof DialogPrimitive.Overlay>,\n  React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n  <DialogPrimitive.Overlay\n    ref={ref}\n    className={cn(\n      \"fixed inset-0 z-50 bg-black/80  data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n      className\n    )}\n    {...props}\n  />\n))\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName\n\nconst DialogContent = React.forwardRef<\n  React.ElementRef<typeof DialogPrimitive.Content>,\n  React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n  <DialogPortal>\n    <DialogOverlay />\n    <DialogPrimitive.Content\n      ref={ref}\n      className={cn(\n        \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-slate-200 bg-white p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg dark:border-slate-800 dark:bg-slate-950\",\n        className\n      )}\n      {...props}\n    >\n      {children}\n      <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-slate-950 focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-slate-100 data-[state=open]:text-slate-500 dark:ring-offset-slate-950 dark:focus:ring-slate-300 dark:data-[state=open]:bg-slate-800 dark:data-[state=open]:text-slate-400\">\n        <Cross2Icon className=\"h-4 w-4\" />\n        <span className=\"sr-only\">Close</span>\n      </DialogPrimitive.Close>\n    </DialogPrimitive.Content>\n  </DialogPortal>\n))\nDialogContent.displayName = DialogPrimitive.Content.displayName\n\nconst DialogHeader = ({\n  className,\n  ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n  <div\n    className={cn(\n      \"flex flex-col space-y-1.5 text-center sm:text-left\",\n      className\n    )}\n    {...props}\n  />\n)\nDialogHeader.displayName = \"DialogHeader\"\n\nconst DialogFooter = ({\n  className,\n  ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n  <div\n    className={cn(\n      \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n      className\n    )}\n    {...props}\n  />\n)\nDialogFooter.displayName = \"DialogFooter\"\n\nconst DialogTitle = React.forwardRef<\n  React.ElementRef<typeof DialogPrimitive.Title>,\n  React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n  <DialogPrimitive.Title\n    ref={ref}\n    className={cn(\n      \"text-lg font-semibold leading-none tracking-tight\",\n      className\n    )}\n    {...props}\n  />\n))\nDialogTitle.displayName = DialogPrimitive.Title.displayName\n\nconst DialogDescription = React.forwardRef<\n  React.ElementRef<typeof DialogPrimitive.Description>,\n  React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n  <DialogPrimitive.Description\n    ref={ref}\n    className={cn(\"text-sm text-slate-500 dark:text-slate-400\", className)}\n    {...props}\n  />\n))\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n  Dialog,\n  DialogPortal,\n  DialogOverlay,\n  DialogTrigger,\n  DialogClose,\n  DialogContent,\n  DialogHeader,\n  DialogFooter,\n  DialogTitle,\n  DialogDescription,\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/components/ui/label.tsx",
    "content": "import * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst labelVariants = cva(\n  \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n)\n\nconst Label = React.forwardRef<\n  React.ElementRef<typeof LabelPrimitive.Root>,\n  React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n    VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n  <LabelPrimitive.Root\n    ref={ref}\n    className={cn(labelVariants(), className)}\n    {...props}\n  />\n))\nLabel.displayName = LabelPrimitive.Root.displayName\n\nexport { Label }\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/components/ui/navigation-menu.tsx",
    "content": "import * as React from \"react\"\nimport { ChevronDownIcon } from \"@radix-ui/react-icons\"\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\"\nimport { cva } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst NavigationMenu = React.forwardRef<\n  React.ElementRef<typeof NavigationMenuPrimitive.Root>,\n  React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n  <NavigationMenuPrimitive.Root\n    ref={ref}\n    className={cn(\n      \"relative z-10 flex max-w-max flex-1 items-center justify-center\",\n      className\n    )}\n    {...props}\n  >\n    {children}\n    <NavigationMenuViewport />\n  </NavigationMenuPrimitive.Root>\n))\nNavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName\n\nconst NavigationMenuList = React.forwardRef<\n  React.ElementRef<typeof NavigationMenuPrimitive.List>,\n  React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.List>\n>(({ className, ...props }, ref) => (\n  <NavigationMenuPrimitive.List\n    ref={ref}\n    className={cn(\n      \"group flex flex-1 list-none items-center justify-center space-x-1\",\n      className\n    )}\n    {...props}\n  />\n))\nNavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName\n\nconst NavigationMenuItem = NavigationMenuPrimitive.Item\n\nconst navigationMenuTriggerStyle = cva(\n  \"group inline-flex h-9 w-max items-center justify-center rounded-md bg-white px-4 py-2 text-sm font-medium transition-colors hover:bg-slate-100 hover:text-slate-900 focus:bg-slate-100 focus:text-slate-900 focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-slate-100/50 data-[state=open]:bg-slate-100/50 dark:bg-slate-950 dark:hover:bg-slate-800 dark:hover:text-slate-50 dark:focus:bg-slate-800 dark:focus:text-slate-50 dark:data-[active]:bg-slate-800/50 dark:data-[state=open]:bg-slate-800/50\"\n)\n\nconst NavigationMenuTrigger = React.forwardRef<\n  React.ElementRef<typeof NavigationMenuPrimitive.Trigger>,\n  React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n  <NavigationMenuPrimitive.Trigger\n    ref={ref}\n    className={cn(navigationMenuTriggerStyle(), \"group\", className)}\n    {...props}\n  >\n    {children}{\"\"}\n    <ChevronDownIcon\n      className=\"relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180\"\n      aria-hidden=\"true\"\n    />\n  </NavigationMenuPrimitive.Trigger>\n))\nNavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName\n\nconst NavigationMenuContent = React.forwardRef<\n  React.ElementRef<typeof NavigationMenuPrimitive.Content>,\n  React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content>\n>(({ className, ...props }, ref) => (\n  <NavigationMenuPrimitive.Content\n    ref={ref}\n    className={cn(\n      \"left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto\",\n      className\n    )}\n    {...props}\n  />\n))\nNavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName\n\nconst NavigationMenuLink = NavigationMenuPrimitive.Link\n\nconst NavigationMenuViewport = React.forwardRef<\n  React.ElementRef<typeof NavigationMenuPrimitive.Viewport>,\n  React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport>\n>(({ className, ...props }, ref) => (\n  <div className={cn(\"absolute left-0 top-full flex justify-center\")}>\n    <NavigationMenuPrimitive.Viewport\n      className={cn(\n        \"origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border border-slate-200 bg-white text-slate-950 shadow data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)] dark:border-slate-800 dark:bg-slate-950 dark:text-slate-50\",\n        className\n      )}\n      ref={ref}\n      {...props}\n    />\n  </div>\n))\nNavigationMenuViewport.displayName =\n  NavigationMenuPrimitive.Viewport.displayName\n\nconst NavigationMenuIndicator = React.forwardRef<\n  React.ElementRef<typeof NavigationMenuPrimitive.Indicator>,\n  React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Indicator>\n>(({ className, ...props }, ref) => (\n  <NavigationMenuPrimitive.Indicator\n    ref={ref}\n    className={cn(\n      \"top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in\",\n      className\n    )}\n    {...props}\n  >\n    <div className=\"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-slate-200 shadow-md dark:bg-slate-800\" />\n  </NavigationMenuPrimitive.Indicator>\n))\nNavigationMenuIndicator.displayName =\n  NavigationMenuPrimitive.Indicator.displayName\n\nexport {\n  navigationMenuTriggerStyle,\n  NavigationMenu,\n  NavigationMenuList,\n  NavigationMenuItem,\n  NavigationMenuContent,\n  NavigationMenuTrigger,\n  NavigationMenuLink,\n  NavigationMenuIndicator,\n  NavigationMenuViewport,\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/components/ui/popover.tsx",
    "content": "import * as React from \"react\"\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Popover = PopoverPrimitive.Root\n\nconst PopoverTrigger = PopoverPrimitive.Trigger\n\nconst PopoverAnchor = PopoverPrimitive.Anchor\n\nconst PopoverContent = React.forwardRef<\n  React.ElementRef<typeof PopoverPrimitive.Content>,\n  React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n  <PopoverPrimitive.Portal>\n    <PopoverPrimitive.Content\n      ref={ref}\n      align={align}\n      sideOffset={sideOffset}\n      className={cn(\n        \"z-50 w-72 rounded-md border border-slate-200 bg-white p-4 text-slate-950 shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:border-slate-800 dark:bg-slate-950 dark:text-slate-50\",\n        className\n      )}\n      {...props}\n    />\n  </PopoverPrimitive.Portal>\n))\nPopoverContent.displayName = PopoverPrimitive.Content.displayName\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor }\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/components/ui/radio-group.tsx",
    "content": "import * as React from \"react\";\nimport { CheckIcon } from \"@radix-ui/react-icons\";\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst RadioGroup = React.forwardRef<\n  React.ElementRef<typeof RadioGroupPrimitive.Root>,\n  React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n  return (\n    <RadioGroupPrimitive.Root\n      className={cn(\"grid gap-2\", className)}\n      {...props}\n      ref={ref}\n    />\n  );\n});\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName;\n\nconst RadioGroupItem = React.forwardRef<\n  React.ElementRef<typeof RadioGroupPrimitive.Item>,\n  React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n  return (\n    <RadioGroupPrimitive.Item\n      ref={ref}\n      className={cn(\n        \"aspect-square h-4 w-4 rounded-full border border-slate-200 border-slate-900 text-slate-900 shadow focus:outline-none focus-visible:ring-1 focus-visible:ring-slate-950 disabled:cursor-not-allowed disabled:opacity-50 dark:border-slate-800 dark:border-slate-50 dark:text-slate-50 dark:focus-visible:ring-slate-300\",\n        className\n      )}\n      {...props}\n    >\n      <RadioGroupPrimitive.Indicator className=\"flex items-center justify-center\">\n        <CheckIcon className=\"h-3.5 w-3.5 fill-primary\" />\n      </RadioGroupPrimitive.Indicator>\n    </RadioGroupPrimitive.Item>\n  );\n});\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;\n\nexport { RadioGroup, RadioGroupItem };\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/components/ui/select.tsx",
    "content": "import * as React from \"react\"\nimport {\n  CaretSortIcon,\n  CheckIcon,\n  ChevronDownIcon,\n  ChevronUpIcon,\n} from \"@radix-ui/react-icons\"\nimport * as SelectPrimitive from \"@radix-ui/react-select\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Select = SelectPrimitive.Root\n\nconst SelectGroup = SelectPrimitive.Group\n\nconst SelectValue = SelectPrimitive.Value\n\nconst SelectTrigger = React.forwardRef<\n  React.ElementRef<typeof SelectPrimitive.Trigger>,\n  React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n  <SelectPrimitive.Trigger\n    ref={ref}\n    className={cn(\n      \"flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-slate-200 bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-white placeholder:text-slate-500 focus:outline-none focus:ring-1 focus:ring-slate-950 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 dark:border-slate-800 dark:ring-offset-slate-950 dark:placeholder:text-slate-400 dark:focus:ring-slate-300\",\n      className\n    )}\n    {...props}\n  >\n    {children}\n    <SelectPrimitive.Icon asChild>\n      <CaretSortIcon className=\"h-4 w-4 opacity-50\" />\n    </SelectPrimitive.Icon>\n  </SelectPrimitive.Trigger>\n))\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName\n\nconst SelectScrollUpButton = React.forwardRef<\n  React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n  React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n  <SelectPrimitive.ScrollUpButton\n    ref={ref}\n    className={cn(\n      \"flex cursor-default items-center justify-center py-1\",\n      className\n    )}\n    {...props}\n  >\n    <ChevronUpIcon />\n  </SelectPrimitive.ScrollUpButton>\n))\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName\n\nconst SelectScrollDownButton = React.forwardRef<\n  React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n  React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n  <SelectPrimitive.ScrollDownButton\n    ref={ref}\n    className={cn(\n      \"flex cursor-default items-center justify-center py-1\",\n      className\n    )}\n    {...props}\n  >\n    <ChevronDownIcon />\n  </SelectPrimitive.ScrollDownButton>\n))\nSelectScrollDownButton.displayName =\n  SelectPrimitive.ScrollDownButton.displayName\n\nconst SelectContent = React.forwardRef<\n  React.ElementRef<typeof SelectPrimitive.Content>,\n  React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n  <SelectPrimitive.Portal>\n    <SelectPrimitive.Content\n      ref={ref}\n      className={cn(\n        \"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border border-slate-200 bg-white text-slate-950 shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:border-slate-800 dark:bg-slate-950 dark:text-slate-50\",\n        position === \"popper\" &&\n          \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n        className\n      )}\n      position={position}\n      {...props}\n    >\n      <SelectScrollUpButton />\n      <SelectPrimitive.Viewport\n        className={cn(\n          \"p-1\",\n          position === \"popper\" &&\n            \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\"\n        )}\n      >\n        {children}\n      </SelectPrimitive.Viewport>\n      <SelectScrollDownButton />\n    </SelectPrimitive.Content>\n  </SelectPrimitive.Portal>\n))\nSelectContent.displayName = SelectPrimitive.Content.displayName\n\nconst SelectLabel = React.forwardRef<\n  React.ElementRef<typeof SelectPrimitive.Label>,\n  React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n  <SelectPrimitive.Label\n    ref={ref}\n    className={cn(\"px-2 py-1.5 text-sm font-semibold\", className)}\n    {...props}\n  />\n))\nSelectLabel.displayName = SelectPrimitive.Label.displayName\n\nconst SelectItem = React.forwardRef<\n  React.ElementRef<typeof SelectPrimitive.Item>,\n  React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n  <SelectPrimitive.Item\n    ref={ref}\n    className={cn(\n      \"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-slate-100 focus:text-slate-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-slate-800 dark:focus:text-slate-50\",\n      className\n    )}\n    {...props}\n  >\n    <span className=\"absolute right-2 flex h-3.5 w-3.5 items-center justify-center\">\n      <SelectPrimitive.ItemIndicator>\n        <CheckIcon className=\"h-4 w-4\" />\n      </SelectPrimitive.ItemIndicator>\n    </span>\n    <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n  </SelectPrimitive.Item>\n))\nSelectItem.displayName = SelectPrimitive.Item.displayName\n\nconst SelectSeparator = React.forwardRef<\n  React.ElementRef<typeof SelectPrimitive.Separator>,\n  React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n  <SelectPrimitive.Separator\n    ref={ref}\n    className={cn(\"-mx-1 my-1 h-px bg-slate-100 dark:bg-slate-800\", className)}\n    {...props}\n  />\n))\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName\n\nexport {\n  Select,\n  SelectGroup,\n  SelectValue,\n  SelectTrigger,\n  SelectContent,\n  SelectLabel,\n  SelectItem,\n  SelectSeparator,\n  SelectScrollUpButton,\n  SelectScrollDownButton,\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/constants/index.ts",
    "content": "import { MappingType } from \"./types\";\n\nconst colorCodeMapping: MappingType = {\n  Informational: \"#F2C94C\",\n  Success: \"#6FCF97\",\n  Redirection: \"#56CCF2\",\n  \"Client Error\": \"#EB5757\",\n  \"Server Error\": \"#F2994A\",\n  Unofficial: \"#C1C1C1\",\n};\n\nconst categoryNumberMapping: MappingType = {\n  Informational: \"1xx\",\n  Success: \"2xx\",\n  Redirection: \"3xx\",\n  \"Client Error\": \"4xx\",\n  \"Server Error\": \"5xx\",\n};\n\nconst categoryDescriptionMapping: MappingType = {\n  Informational:\n    \"An informational response code informs the client that the request is continuing\",\n  Success:\n    \"A successful response was received, interpreted corrected, and has been accepted\",\n  Redirection:\n    \"A redirection indicates that further action needs to take place before the request is completed\",\n  \"Client Error\":\n    \"A client error indicates that the request cannot be completed because of an issue with the client, or the syntax of the request\",\n  \"Server Error\":\n    \"An informational response code informs the client that the request is continuing\",\n};\n\nexport { colorCodeMapping, categoryNumberMapping, categoryDescriptionMapping };\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/constants/types.ts",
    "content": "\nexport interface MappingType {\n  [key: string]: string;\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/index.css",
    "content": "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n\n/*\n  1. Use a more-intuitive box-sizing model.\n*/\n*,\n*::before,\n*::after {\n  box-sizing: border-box;\n  font-family: \"poppins\", sans-serif;\n}\n/*\n    2. Remove default margin\n  */\n* {\n  margin: 0;\n}\n/*\n    Typographic tweaks!\n    3. Add accessible line-height\n    4. Improve text rendering\n  */\nbody {\n  line-height: 1.5;\n  -webkit-font-smoothing: antialiased;\n}\n/*\n    5. Improve media defaults\n  */\nimg,\npicture,\nvideo,\ncanvas,\nsvg {\n  display: block;\n  max-width: 100%;\n}\n/*\n    6. Remove built-in form typography styles\n  */\ninput,\nbutton,\ntextarea,\nselect {\n  font: inherit;\n}\n/*\n    7. Avoid text overflows\n  */\np,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n  overflow-wrap: break-word;\n}\n/*\n    8. Create a root stacking context\n  */\n#root,\n#__next {\n  isolation: isolate;\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/layout/header/Header.tsx",
    "content": "import {\n  NavigationMenu,\n  NavigationMenuItem,\n  NavigationMenuList,\n} from \"@/components/ui/navigation-menu\";\nimport navigationMenuItems from \"./menuItem\";\nimport { NavigationMenuLink } from \"@radix-ui/react-navigation-menu\";\nimport { Link, useLocation } from \"react-router-dom\";\n\nexport default function Header() {\n  const { pathname } = useLocation();\n  return (\n    <div className=\"fixed top-0 flex justify-center w-full border-b-4 border-white min-h-[56px] bg-[#333333]\">\n      <div className=\"flex items-center justify-between w-full max-w-screen-lg p-4\">\n        <Link\n          className={`font-bold no-underline cursor-pointer \n          ${pathname === \"/\" ? \"text-blue-500\" : \"text-white\"}\n          hover:text-blue-500\n        `}\n          to=\"/\"\n        >\n          HTTP Status Insight\n        </Link>\n        <NavigationMenu>\n          <NavigationMenuList>\n            <NavigationMenuItem className=\"space-x-4\">\n              {navigationMenuItems\n                .filter((item) => !item.isDisabled)\n                .map((item) => {\n                  const activeLink = pathname === item.path;\n                  if (activeLink) {\n                    return (\n                      <NavigationMenuLink\n                        key={item.path}\n                        href={item.path}\n                        className=\"text-blue-500\"\n                      >\n                        {item.title}\n                      </NavigationMenuLink>\n                    );\n                  }\n                  return (\n                    <NavigationMenuLink\n                      key={item.path}\n                      href={item.path}\n                      className={`text-white hover:text-blue-500`}\n                    >\n                      {item.title}\n                    </NavigationMenuLink>\n                  );\n                })}\n            </NavigationMenuItem>\n          </NavigationMenuList>\n        </NavigationMenu>\n      </div>\n    </div>\n  );\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/layout/header/index.ts",
    "content": "export * from \"./Header\"\nexport { default } from \"./Header\""
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/layout/header/menuItem.ts",
    "content": "interface MenuItem {\n  title: string;\n  path: string;\n  isDisabled: boolean;\n}\n\nconst navigationMenuItems: MenuItem[] = [\n  {\n    title: \"Codes List\",\n    path: \"/codes-list\",\n    isDisabled: false,\n  },\n  {\n    title: \"Find Code\",\n    path: \"/find-code\",\n    isDisabled: false,\n  },\n  {\n    title: \"Quiz\",\n    path: \"/quiz\",\n    isDisabled: false,\n  },\n];\n\nexport default navigationMenuItems;\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/layout/index.ts",
    "content": "import Header from \"./header\";\nimport PageContainer from \"./pageContainer\";\n\nexport { Header, PageContainer }"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/layout/pageContainer/PageContainer.tsx",
    "content": "import { useAppStore } from \"@/store/store\";\nimport Header from \"../header\";\n\ninterface PageContainerProps {\n  children: React.ReactNode;\n  mainClassNames?: string;\n  footer?: React.ReactNode;\n}\nexport default function PageContainer(props: PageContainerProps) {\n  const { children, mainClassNames = \"\" } = props;\n  const { loading } = useAppStore();\n  return (\n    <div className=\"flex flex-col items-center justify-start w-full h-screen\">\n      <Header />\n      <main\n        className={`flex max-w-screen-lg py-10 px-4 w-full mt-[56px] ${mainClassNames}`}\n      >\n        {loading > 0 ? <div>loading...</div> : children}\n      </main>\n      {props.footer}\n    </div>\n  );\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/layout/pageContainer/index.ts",
    "content": "export * from \"./PageContainer\"\nexport { default } from \"./PageContainer\""
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/lib/utils.ts",
    "content": "import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n  return twMerge(clsx(inputs))\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/main.tsx",
    "content": "import React from 'react'\nimport ReactDOM from 'react-dom/client'\nimport App from './App.tsx'\nimport './index.css'\n\nReactDOM.createRoot(document.getElementById('root')!).render(\n  <React.StrictMode>\n    <App />\n  </React.StrictMode>,\n)\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/pages/codesList/CodesList.tsx",
    "content": "import { PageContainer } from \"@/layout\";\nimport { StatusAccordian } from \"./components\";\nimport { useAppStore } from \"@/store/store\";\n\nexport default function CodesList() {\n  const { HTTPStatusCodesList } = useAppStore((state) => state);\n  return (\n    <PageContainer>\n      <div className=\"flex flex-col items-center justify-center w-full gap-8\">\n        <h1 className=\"text-4xl\">HTTP STATUS Codes</h1>\n        <div className=\"flex flex-col w-full gap-8\">\n          {Object.keys(HTTPStatusCodesList)\n            .sort((a, b) =>\n              a === \"Unofficial\" ? 1 : b === \"Unofficial\" ? -1 : 0\n            )\n            .map((status) => {\n              const statusData = HTTPStatusCodesList[status];\n              return <StatusAccordian {...statusData} key={statusData.title} />;\n            })}\n        </div>\n      </div>\n    </PageContainer>\n  );\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/pages/codesList/components/StatusAccordian.tsx",
    "content": "import {\n  Accordion,\n  AccordionContent,\n  AccordionItem,\n  AccordionTrigger,\n} from \"@/components/ui/accordion\";\nimport { StatusAccordianType } from \"./types\";\n\nexport default function StatusAccordian(props: StatusAccordianType) {\n  const { statusCodes, colorCode, title, description } = props;\n  return (\n    <div\n      className={`flex flex-col h-full p-4 text-black rounded-md gap-3 w-full`}\n      style={{ backgroundColor: colorCode }}\n    >\n      <h1 className=\"text-2xl leading-5\">{title}</h1>\n      <p className=\"text-xl\">{description}</p>\n      <div className=\"flex flex-col p-6 bg-[rgba(255,255,255,0.3)] rounded-md gap-3 w-full\">\n        {statusCodes.map((status) => (\n          <Accordion type=\"single\" collapsible key={status.code}>\n            <AccordionItem value=\"item-1\">\n              <AccordionTrigger>\n                {`${status.code} ${status.message}`}{\" \"}\n              </AccordionTrigger>\n              <AccordionContent>\n                <p>{status.description}</p>\n              </AccordionContent>\n            </AccordionItem>\n          </Accordion>\n        ))}\n      </div>\n    </div>\n  );\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/pages/codesList/components/index.ts",
    "content": "import StatusAccordian from \"./StatusAccordian\";\n\nexport { StatusAccordian };\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/pages/codesList/components/types.ts",
    "content": "export interface StatusAccordianType {\n  statusCodes: {\n    code: string;\n    message: string;\n    description: string;\n  }[];\n  colorCode: string;\n  description: string;\n  title: string;\n}\n\nexport interface StatusListType {\n  [key: string]: StatusAccordianType;\n}\n\nexport interface codesType {\n  [key: string]: {\n    category: string;\n    description: string;\n    statusCode: string;\n    statusMessage: string;\n  };\n}\nexport interface colorCodeMappingType {\n  [key: string]: string;\n}\nexport interface categoryNumberMappingType {\n  [key: string]: string;\n}\n\nexport interface categoryDescriptionMappingType {\n  [key: string]: string;\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/pages/codesList/index.ts",
    "content": "export * from \"./CodesList\"\nexport { default } from \"./CodesList\""
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/pages/findCode/FindCode.tsx",
    "content": "import { PageContainer } from \"@/layout\";\nimport { useAppStore } from \"@/store/store\";\nimport { useEffect, useState } from \"react\";\n\nimport ComboBox, { optionsTypes } from \"./components/ComboBox\";\nimport { Card } from \"@/components/ui/card\";\nimport { colorCodeMapping } from \"@/constants\";\n\nexport default function FindCode() {\n  const { HTTPStatusCodesList } = useAppStore((state) => state);\n  const [open, setOpen] = useState(false);\n  const [value, setValue] = useState(\"\");\n  const [selectedOption, setSelectedOption] = useState<{\n    [key: string]: string;\n  }>({});\n\n  const options: optionsTypes = {};\n\n  Object.keys(HTTPStatusCodesList)?.map((codeGroup) => {\n    options[codeGroup] = {\n      groupList: HTTPStatusCodesList[codeGroup].statusCodes.map((code) => {\n        return {\n          label: code.code,\n          value: code.code,\n        };\n      }),\n    };\n  });\n\n  useEffect(() => {\n    if (value) {\n      const _selectedOption: {\n        [key: string]: string;\n      } = {};\n      Object.keys(HTTPStatusCodesList)?.forEach((codeGroup) => {\n        HTTPStatusCodesList[codeGroup].statusCodes.map((code) => {\n          if (value && `${code.code}` === `${value}`) {\n            _selectedOption.codeGroup = codeGroup;\n            _selectedOption.code = code.code;\n            _selectedOption.message = code.message;\n            _selectedOption.description = code.description;\n          }\n        });\n      });\n      setSelectedOption(_selectedOption);\n    }\n  }, [HTTPStatusCodesList, value]);\n\n  const color = colorCodeMapping[selectedOption.codeGroup];\n  return (\n    <PageContainer>\n      <div className=\"flex flex-col justify-center w-full gap-8\">\n        <ComboBox\n          open={open}\n          setOpen={setOpen}\n          options={options}\n          value={value}\n          setValue={setValue}\n          emptyMessage=\"No code selected..\"\n          placeholder=\"Search Code..\"\n        />\n        {!!value && (\n          <Card className=\"w-full p-4 mt-8\" style={{ backgroundColor: color }}>\n            <div\n              className=\"flex flex-col gap-4 bg-[rgba(255,255,255,0.1)] p-4\"\n              style={{ borderRadius: \"8px\" }}\n            >\n              <div>\n                <strong>Category:</strong> {selectedOption.codeGroup}\n              </div>\n              <div>\n                <strong>Code:</strong> {selectedOption.code}\n              </div>\n              <div>\n                <strong>Message:</strong> {selectedOption.message}\n              </div>\n              <div>\n                <strong>Description:</strong> {selectedOption.description}\n              </div>\n            </div>\n          </Card>\n        )}\n      </div>\n    </PageContainer>\n  );\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/pages/findCode/components/ComboBox.tsx",
    "content": "import { Check, ChevronsUpDown } from \"lucide-react\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n  Command,\n  CommandEmpty,\n  CommandGroup,\n  CommandInput,\n  CommandItem,\n} from \"@/components/ui/command\";\nimport {\n  Popover,\n  PopoverContent,\n  PopoverTrigger,\n} from \"@/components/ui/popover\";\nimport { cn } from \"@/lib/utils\";\nimport { CommandList } from \"cmdk\";\n\nexport interface optionsTypes {\n  [key: string]: {\n    groupList: {\n      label: string;\n      value: string;\n    }[];\n  };\n}\ninterface ComboBoxProps {\n  open: boolean;\n  setOpen: (open: boolean) => void;\n  value: string;\n  setValue: (value: string) => void;\n  options: optionsTypes;\n  emptyMessage: string;\n  placeholder: string;\n}\nexport default function ComboBox(props: ComboBoxProps) {\n  const { open, setOpen, value, setValue, options, emptyMessage, placeholder } =\n    props;\n  return (\n    <Popover open={open} onOpenChange={setOpen}>\n      <PopoverTrigger asChild>\n        <Button\n          variant=\"outline\"\n          role=\"combobox\"\n          aria-expanded={open}\n          className=\"w-[200px] justify-between text-black\"\n        >\n          {value ? value : placeholder}\n          <ChevronsUpDown className=\"w-4 h-4 ml-2 opacity-50 shrink-0\" />\n        </Button>\n      </PopoverTrigger>\n      <PopoverContent className=\"w-[200px] p-0\">\n        <Command>\n          <CommandInput placeholder={placeholder} />\n          <CommandEmpty>{emptyMessage}</CommandEmpty>\n          {Object.keys(options)?.map((codeGroup) => {\n            const codes = options[codeGroup]?.groupList;\n            return (\n              <CommandGroup key={codeGroup} heading={codeGroup}>\n                <CommandList>\n                  {codes?.map((code) => {\n                    return (\n                      <CommandItem\n                        key={code.value}\n                        value={code.value}\n                        onSelect={(value) => {\n                          setValue(value);\n                          setOpen(false);\n                        }}\n                      >\n                        <Check\n                          className={cn(\n                            \"mr-2 h-4 w-4\",\n                            `${value}` === `${code.value}`\n                              ? \"opacity-100\"\n                              : \"opacity-0\"\n                          )}\n                        />\n                        {code.value}\n                      </CommandItem>\n                    );\n                  })}\n                </CommandList>\n              </CommandGroup>\n            );\n          })}\n        </Command>\n      </PopoverContent>\n    </Popover>\n  );\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/pages/findCode/components/index.ts",
    "content": "import ComboBox from \"./ComboBox\";\nexport { ComboBox };\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/pages/findCode/index.ts",
    "content": "export * from \"./FindCode\"\nexport { default } from \"./FindCode\""
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/pages/home/Home.tsx",
    "content": "import { PageContainer } from \"@/layout\";\nimport { hero_illustrator, wave_vector } from \"./assets\";\nimport { Button } from \"@/components/ui/button\";\nimport \"./home.css\";\nimport { Link } from \"react-router-dom\";\nexport default function Home() {\n  return (\n    <PageContainer\n      mainClassNames=\"pt-[8%]\"\n      footer={\n        <img\n          src={wave_vector}\n          alt=\"wave_vector\"\n          className=\"w-full wave -left-4 right-0 z-[-1] min-w-[105vw] absolute bottom-0 sm:hidden md:block\"\n        />\n      }\n    >\n      <div className=\"flex w-full h-full\">\n        <div className=\"flex flex-col h-full\">\n          <h2 className=\"text-6xl font-bold leading-[102px]\">\n            Decoding HTTP with Status Code Insight\n          </h2>\n          <p className=\"mt-4 text-lg max-w-[517px]\">\n            StatusCode Insight is your ultimate guide to understanding HTTP\n            status codes, offering a detailed, user-friendly interface for both\n            beginners and seasoned professionals in web development.\n          </p>\n          <div className=\"flex items-center w-full mt-8 space-x-8\">\n            <Link to=\"/codes-list\">\n              <Button className=\"text-black bg-white hover:bg-blue-500 hover:text-white\">\n                Check Codes\n              </Button>\n            </Link>\n            <Link to=\"/quiz\">\n              <Button className=\"text-black bg-white hover:bg-blue-500 hover:text-white\">\n                Quiz\n              </Button>\n            </Link>\n          </div>\n        </div>\n        <div className=\"hidden lg:flex lg:items-center\">\n          <img\n            src={hero_illustrator}\n            alt=\"hero_illustrator\"\n            className=\"w-full h-full\"\n          />\n        </div>\n      </div>\n    </PageContainer>\n  );\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/pages/home/assets/index.ts",
    "content": "import hero_illustrator from './hero_illustration.svg';\nimport wave_vector from './wave_vector.svg';\n\nexport { hero_illustrator, wave_vector };\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/pages/home/home.css",
    "content": ".wave {\n  animation: wave 2s infinite linear alternate;\n}\n\n@keyframes wave {\n  0% {\n    transform: translateX(0);\n  }\n  100% {\n    transform: translateX(-20px);\n  }\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/pages/home/index.ts",
    "content": "export * from \"./Home\"\nexport { default } from \"./Home\""
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/pages/index.ts",
    "content": "import React from \"react\";\nimport CodesList from \"./codesList\";\nimport FindCode from \"./findCode\";\nimport Home from \"./home\";\nimport Quiz from \"./quiz\";\n\nconst LazyCodesList = React.lazy(() => import(\"./codesList\"));\nconst LazyFindCode = React.lazy(() => import(\"./findCode\"));\nconst LazyHome = React.lazy(() => import(\"./home\"));\nconst LazyQuiz = React.lazy(() => import(\"./quiz\"));\n\nexport { CodesList, FindCode, Home, Quiz, LazyCodesList, LazyFindCode, LazyHome, LazyQuiz };"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/pages/quiz/Quiz.tsx",
    "content": "import { PageContainer } from \"@/layout\";\nimport { StatusListType } from \"@/services/types\";\nimport { useAppStore } from \"@/store/store\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { QuestionsCard } from \"./components\";\nimport { Button } from \"@/components/ui/button\";\n\ninterface QuizQuestion {\n  description: string;\n  options: string[];\n  correctOption: string;\n}\nfunction generateQuizFromStatusCodesList(HTTPStatusCodesList: StatusListType) {\n  const descriptions: string[] = [];\n  const descriptionsToStatus: Record<string, string> = {};\n\n  // Collect descriptions and their corresponding correct status codes\n  Object.values(HTTPStatusCodesList).forEach((category) => {\n    category.statusCodes.forEach((status) => {\n      descriptions.push(status.description);\n      descriptionsToStatus[status.description] = status.code;\n    });\n  });\n\n  // Shuffle descriptions\n  descriptions.sort(() => Math.random() - 0.5);\n\n  const askedDescriptions: Set<string> = new Set();\n\n  // Function to get random incorrect status codes\n  function getRandomIncorrectStatusCodes(correctCode: string): string[] {\n    const allStatusCodes: string[] = [];\n    Object.values(HTTPStatusCodesList).forEach((category) => {\n      category.statusCodes.forEach((status) => {\n        allStatusCodes.push(status.code);\n      });\n    });\n    const incorrectCodes = allStatusCodes.filter(\n      (code) => code !== correctCode\n    );\n    return incorrectCodes.sort(() => Math.random() - 0.5).slice(0, 3);\n  }\n\n  const questions: QuizQuestion[] = [];\n  // Generate quiz questions\n  function generateQuestion(): void {\n    if (descriptions.length === 0) {\n      return;\n    }\n\n    const description = descriptions.pop();\n    if (!description) return;\n\n    askedDescriptions.add(description);\n\n    const correctCode = descriptionsToStatus[description];\n    const incorrectCodes = getRandomIncorrectStatusCodes(correctCode);\n    const options: string[] = [correctCode, ...incorrectCodes];\n\n    // Shuffle options\n    options.sort(() => Math.random() - 0.5);\n\n    questions.push({\n      description,\n      options,\n      correctOption: correctCode,\n    });\n\n    // Call generateQuestion recursively\n    generateQuestion();\n  }\n\n  // Start generating questions\n  generateQuestion();\n  return questions;\n}\n\nexport default function Quiz() {\n  const { HTTPStatusCodesList, quizScore, setQuizScore } = useAppStore();\n  const [quizQuestions, setQuizQuestions] = useState<QuizQuestion[]>([]);\n  const [currentQuestionIndex, setCurrentQuestionIndex] = useState(0);\n  const [userAnswers, setUserAnswers] = useState<{\n    [key: string]: string;\n  }>({});\n  const [score, setScore] = useState<number | null>(null);\n\n  const setQuiz = useCallback(() => {\n    const questions = generateQuizFromStatusCodesList(HTTPStatusCodesList);\n    if (questions.length > 0) {\n      setQuizQuestions(questions);\n    }\n  }, [HTTPStatusCodesList]);\n\n  useEffect(() => {\n    setQuiz();\n  }, [setQuiz]);\n\n  function onSubmit() {\n    let score = 0;\n    Object.entries(userAnswers).forEach(([questionIndex, answer]) => {\n      if (\n        `${quizQuestions[parseInt(questionIndex)].correctOption}` ===\n        `${answer}`\n      ) {\n        score += 1;\n      }\n    });\n    setScore(score);\n    setQuizScore(score);\n  }\n  const isFreshQuiz =\n    score === null &&\n    Object.keys(userAnswers).length === 0 &&\n    currentQuestionIndex === 0;\n  return (\n    <PageContainer>\n      <div className=\"flex flex-col items-center w-full h-full gap-8\">\n        <div className=\"flex flex-col items-center w-full h-full gap-8 lg:w-[700px]\">\n          <div className=\"flex items-center justify-between w-full gap-4\">\n            <h1 className=\"text-4xl\">Quiz</h1>\n            <span className=\"text-sm\">\n              Attempted: {Object.keys(userAnswers).length} /{\" \"}\n              {quizQuestions.length}\n            </span>\n          </div>\n          <div className=\"flex flex-col items-center h-full gap-8\">\n            {score === null && quizQuestions[currentQuestionIndex] && (\n              <QuestionsCard\n                {...quizQuestions[currentQuestionIndex]}\n                questionIndex={currentQuestionIndex}\n                setCurrentQuestionIndex={setCurrentQuestionIndex}\n                totalQuestions={quizQuestions.length}\n                onSubmit={onSubmit}\n                value={userAnswers[currentQuestionIndex]}\n                onOptionClick={(option) => {\n                  setUserAnswers((prev) => {\n                    const _prev = { ...prev };\n                    if (_prev[currentQuestionIndex] === option) {\n                      delete _prev[currentQuestionIndex];\n                      return _prev;\n                    }\n                    return {\n                      ...prev,\n                      [currentQuestionIndex]: option,\n                    };\n                  });\n                }}\n              />\n            )}\n          </div>\n          {score !== null && (\n            <div className=\"flex flex-col items-center gap-4\">\n              <p>Your score: {score}</p>\n              <button\n                className=\"px-4 py-2 text-white bg-blue-500 rounded-md\"\n                onClick={() => {\n                  setScore(null);\n                  setCurrentQuestionIndex(0);\n                  setUserAnswers({});\n                  setQuiz();\n                }}\n              >\n                Restart\n              </button>\n            </div>\n          )}\n          {quizQuestions.length === 0 && <p>No quiz questions available.</p>}\n          {/* End Quiz */}\n\n          {score === null ? (\n            <div className=\"flex items-center justify-between w-full h-full gap-8\">\n              <div className=\"flex items-center justify-end w-full\">\n                <Button\n                  onClick={() => {\n                    onSubmit();\n                  }}\n                  className=\"text-white bg-red-500 hover:bg-red-600\"\n                >\n                  End Quiz\n                </Button>\n              </div>\n\n              {!isFreshQuiz ? (\n                <Button\n                  onClick={() => {\n                    setScore(null);\n                    setCurrentQuestionIndex(0);\n                    setUserAnswers({});\n                    setQuiz();\n                  }}\n                  className=\"text-white bg-green-600 hover:bg-green-700\"\n                >\n                  Restart Quiz\n                </Button>\n              ) : null}\n            </div>\n          ) : null}\n\n          <div className=\"flex w-full gap-4\">\n            {<p> Last Score: {quizScore.lastScore}</p>}|\n            {<p> Highest Score: {quizScore.highScore}</p>}\n          </div>\n        </div>\n      </div>\n    </PageContainer>\n  );\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/pages/quiz/components/QuestionsCard.tsx",
    "content": "import { Label } from \"@/components/ui/label\";\nimport { RadioGroup, RadioGroupItem } from \"@/components/ui/radio-group\";\nimport {\n  Card,\n  CardContent,\n  CardFooter,\n  CardHeader,\n} from \"@/components/ui/card\";\nimport { Button } from \"@/components/ui/button\";\n\ninterface QuizQuestion {\n  description: string;\n  options: string[];\n  correctOption: string;\n  questionIndex: number;\n  totalQuestions: number;\n  setCurrentQuestionIndex: React.Dispatch<React.SetStateAction<number>>;\n  onSubmit: () => void;\n  onOptionClick: (option: string) => void;\n  value: string;\n}\nexport default function QuestionsCard(props: QuizQuestion) {\n  const {\n    description,\n    questionIndex,\n    options,\n    totalQuestions,\n    setCurrentQuestionIndex,\n    onSubmit,\n    onOptionClick,\n    value,\n  } = props;\n  return (\n    <Card className=\"lg:w-[700px] lg:min-h-[350px] justify-between flex flex-col\">\n      <CardHeader>\n        <p className=\"text-lg font-semibold\">{`${questionIndex + 1}. ${description}`}</p>\n      </CardHeader>\n      <CardContent>\n        <RadioGroup name={`question-${questionIndex}`}>\n          {options.map((option, optionIndex) => {\n            return (\n              <div\n                key={optionIndex}\n                className=\"flex items-center w-full gap-2 p-2 transition-colors rounded-md cursor-pointer hover:bg-gray-100\"\n                onClick={() => onOptionClick(option)}\n              >\n                <RadioGroupItem\n                  value={option}\n                  key={optionIndex}\n                  checked={`${value}` === `${option}`}\n                />\n                <Label htmlFor=\"option\" className=\"text-sm\">\n                  {option}\n                </Label>\n              </div>\n            );\n          })}\n        </RadioGroup>\n      </CardContent>\n      <CardFooter className=\"flex justify-end gap-2\">\n        <Button\n          onClick={() => {\n            setCurrentQuestionIndex((prev) => prev - 1);\n          }}\n          disabled={questionIndex === 0}\n        >\n          Prev\n        </Button>\n        {questionIndex + 1 === totalQuestions ? (\n          <Button\n            onClick={() => {\n              onSubmit();\n            }}\n          >\n            Submit\n          </Button>\n        ) : (\n          <Button\n            onClick={() => {\n              setCurrentQuestionIndex((prev) => prev + 1);\n            }}\n          >\n            Next\n          </Button>\n        )}\n      </CardFooter>\n    </Card>\n  );\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/pages/quiz/components/index.ts",
    "content": "import QuestionsCard from \"./QuestionsCard\";\nexport { QuestionsCard };\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/pages/quiz/index.ts",
    "content": "export * from \"./Quiz\"\nexport { default } from \"./Quiz\""
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/router/index.ts",
    "content": "export * from \"./router\"\nexport { default } from \"./router\""
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/router/router.tsx",
    "content": "import { BrowserRouter } from \"react-router-dom\";\nimport { AppRoutes } from \"./routes\";\nimport { Route, Routes } from \"react-router-dom\";\nimport { Suspense, useEffect } from \"react\";\nimport { useAppStore } from \"@/store/store\";\nimport { processCodes } from \"@/services/codesList\";\n\nconst Router = () => {\n  const { setHTTPStatusCodesList, setLoading, HTTPStatusCodesList } =\n    useAppStore((state) => state);\n\n  useEffect(() => {\n    if (!HTTPStatusCodesList) {\n      return;\n    } else if (Object.keys(HTTPStatusCodesList).length > 0) {\n      return;\n    } else {\n      setLoading(true);\n      processCodes()\n        .then((HTTPStatusCodesList) => {\n          setHTTPStatusCodesList(HTTPStatusCodesList);\n        })\n        .finally(() => {\n          setLoading(false);\n        });\n    }\n  }, [HTTPStatusCodesList, setHTTPStatusCodesList, setLoading]);\n  return (\n    <BrowserRouter>\n      <Suspense fallback={<div>Loading...</div>}>\n        <Routes>\n          {AppRoutes.map((route, index) => (\n            <Route\n              key={index}\n              path={route.path}\n              element={<route.component />}\n            />\n          ))}\n          <Route path=\"*\" element={<div>Not Found</div>} />\n        </Routes>\n      </Suspense>\n    </BrowserRouter>\n  );\n};\n\nexport { Router };\nexport default Router;\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/router/routes.ts",
    "content": "import { LazyExoticComponent } from \"react\";\nimport { LazyCodesList, LazyFindCode, LazyHome, LazyQuiz } from \"../pages\";\n\ninterface AppRouteType {\n    path: string;\n    component: LazyExoticComponent<() => JSX.Element>;\n    name: string;\n}\nconst AppRoutes: AppRouteType[] = [\n    {\n        path: '/',\n        component: LazyHome,\n        name: 'Home',\n    },\n    {\n        path: '/codes-list',\n        component: LazyCodesList,\n        name: 'Codes List',\n    },\n    {\n        path: '/find-code',\n        component: LazyFindCode,\n        name: 'Find Code',\n    },\n    {\n        path: \"/quiz\",\n        component: LazyQuiz,\n        name: \"Quiz\",\n    }\n\n];\n\nexport { AppRoutes };\nexport default AppRoutes;\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/services/codesList.ts",
    "content": "import {\n  categoryDescriptionMapping,\n  categoryNumberMapping,\n  colorCodeMapping,\n} from \"@/constants\";\nimport { StatusListType, codesType } from \"./types\";\n\nasync function processCodes(): Promise<StatusListType> {\n  const HTTPStatusCodesList: StatusListType = {};\n  try {\n    const result = await fetch(\n      \"https://api.freeapi.app/api/v1/kitchen-sink/status-codes\"\n    ).then((res) => res.json());\n    const codes: codesType = result.data;\n    for (const key in codes) {\n      const code = codes[key];\n      if (HTTPStatusCodesList[code.category]) {\n        HTTPStatusCodesList[code.category].statusCodes.push({\n          code: code.statusCode,\n          message: code.statusMessage,\n          description: code.description,\n        });\n      } else {\n        const categoryNumber = categoryNumberMapping[code.category] ?? \"\";\n        const categoryDescription =\n          categoryDescriptionMapping[code.category] ?? \"\";\n        HTTPStatusCodesList[code.category] = {\n          statusCodes: [\n            {\n              code: code.statusCode,\n              message: code.statusMessage,\n              description: code.description,\n            },\n          ],\n          colorCode: colorCodeMapping[code.category],\n          description: categoryDescription,\n          title: `${categoryNumber !== \"\" ? `${categoryNumber}:` : \"\"} ${code.category}`,\n        };\n      }\n    }\n    return HTTPStatusCodesList;\n  } catch (error) {\n    console.error({ error });\n  }\n\n  return HTTPStatusCodesList;\n}\n\nexport { processCodes };\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/services/types.ts",
    "content": "export interface StatusAccordianType {\n  statusCodes: {\n    code: string;\n    message: string;\n    description: string;\n  }[];\n  colorCode: string;\n  description: string;\n  title: string;\n}\n\nexport interface StatusListType {\n  [key: string]: StatusAccordianType;\n}\n\nexport interface codesType {\n  [key: string]: {\n    category: string;\n    description: string;\n    statusCode: string;\n    statusMessage: string;\n  };\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/store/store.ts",
    "content": "import { StatusListType } from \"@/pages/codesList/components/types\";\nimport { create } from \"zustand\";\nimport { persist } from \"zustand/middleware\";\n\ninterface StoreType {\n  HTTPStatusCodesList: StatusListType;\n  setHTTPStatusCodesList: (HTTPStatusCodesList: StatusListType) => void;\n  loading: number;\n  setLoading: (loading: boolean) => void;\n  quizScore: {\n    lastScore: number;\n    highScore: number;\n  };\n  setQuizScore: (score: number) => void;\n}\n\nexport const useAppStore = create<StoreType>()(\n  persist(\n    (set) => ({\n      HTTPStatusCodesList: {},\n      setHTTPStatusCodesList: (HTTPStatusCodesList) =>\n        set({ HTTPStatusCodesList }),\n      loading: 0,\n      setLoading: (loading) =>\n        set((state) => ({\n          loading: loading ? state.loading + 1 : state.loading - 1,\n        })),\n      quizScore: {\n        lastScore: 0,\n        highScore: 0,\n      },\n      setQuizScore: (quizScore) =>\n        set((state) => {\n          const highScore =\n            quizScore > state.quizScore.highScore\n              ? quizScore\n              : state.quizScore.highScore;\n          return {\n            quizScore: {\n              lastScore: quizScore,\n              highScore,\n            },\n          };\n        }),\n    }),\n    {\n      name: \"HTTPStatusCodesList\",\n    }\n  ) // Add an empty object as the second argument\n);\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/src/vite-env.d.ts",
    "content": "/// <reference types=\"vite/client\" />\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/tailwind.config.js",
    "content": "/** @type {import('tailwindcss').Config} */\nimport tailwindcssAnimate from \"tailwindcss-animate\";\n\nexport default {\n  mode: \"jit\",\n  darkMode: [\"class\"],\n  content: [\n    \"./pages/**/*.{ts,tsx}\",\n    \"./components/**/*.{ts,tsx}\",\n    \"./app/**/*.{ts,tsx}\",\n    \"./src/**/*.{ts,tsx}\",\n  ],\n  purge: [\"./index.html\", \"./src/**/*.{vue,js,ts,jsx,tsx}\"],\n  prefix: \"\",\n  theme: {\n    container: {\n      center: true,\n      padding: \"2rem\",\n      screens: {\n        \"2xl\": \"1400px\",\n      },\n    },\n    extend: {\n      keyframes: {\n        \"accordion-down\": {\n          from: { height: \"0\" },\n          to: { height: \"var(--radix-accordion-content-height)\" },\n        },\n        \"accordion-up\": {\n          from: { height: \"var(--radix-accordion-content-height)\" },\n          to: { height: \"0\" },\n        },\n      },\n      animation: {\n        \"accordion-down\": \"accordion-down 0.2s ease-out\",\n        \"accordion-up\": \"accordion-up 0.2s ease-out\",\n      },\n    },\n  },\n  plugins: [tailwindcssAnimate],\n};\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"target\": \"ES2020\",\n    \"useDefineForClassFields\": true,\n    \"lib\": [\"ES2020\", \"DOM\", \"DOM.Iterable\"],\n    \"module\": \"ESNext\",\n    \"skipLibCheck\": true,\n\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\n        \"./src/*\"\n      ]\n    },\n    /* Bundler mode */\n    \"moduleResolution\": \"bundler\",\n    \"allowImportingTsExtensions\": true,\n    \"resolveJsonModule\": true,\n    \"isolatedModules\": true,\n    \"noEmit\": true,\n    \"jsx\": \"react-jsx\",\n\n    /* Linting */\n    \"strict\": true,\n    \"noUnusedLocals\": true,\n    \"noUnusedParameters\": true,\n    \"noFallthroughCasesInSwitch\": true\n  },\n  \"include\": [\"src\"],\n  \"references\": [{ \"path\": \"./tsconfig.node.json\" }]\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/tsconfig.node.json",
    "content": "{\n  \"compilerOptions\": {\n    \"composite\": true,\n    \"skipLibCheck\": true,\n    \"module\": \"ESNext\",\n    \"moduleResolution\": \"bundler\",\n    \"allowSyntheticDefaultImports\": true,\n    \"strict\": true\n  },\n  \"include\": [\"vite.config.ts\"]\n}\n"
  },
  {
    "path": "examples/kitchen-sink/statuscodes/web/react-shadcn-tailwind-zustand/vite.config.ts",
    "content": "import path from \"path\"\nimport react from \"@vitejs/plugin-react\"\nimport { defineConfig } from \"vite\"\n\nexport default defineConfig({\n  plugins: [react()],\n  resolve: {\n    alias: {\n      \"@\": path.resolve(__dirname, \"./src\"),\n    },\n  },\n})\n"
  },
  {
    "path": "examples/public/books/.gitkeep",
    "content": ""
  },
  {
    "path": "examples/public/cats/.gitkeep",
    "content": ""
  },
  {
    "path": "examples/public/dogs/.gitkeep",
    "content": ""
  },
  {
    "path": "examples/public/meals/.gitkeep",
    "content": ""
  },
  {
    "path": "examples/public/quotes/.gitkeep",
    "content": ""
  },
  {
    "path": "examples/public/randomjokes/.gitkeep",
    "content": ""
  },
  {
    "path": "examples/public/randomproducts/.gitkeep",
    "content": ""
  },
  {
    "path": "examples/public/randomusers/.gitkeep",
    "content": ""
  },
  {
    "path": "examples/public/stocks/.gitkeep",
    "content": ""
  },
  {
    "path": "examples/public/youtube/.gitkeep",
    "content": ""
  },
  {
    "path": "nodemon.json",
    "content": "{\n  \"ext\": \".js, .mjs, .html, .css, .coffee, .litcoffee, .json, .yaml\",\n  \"ignore\": [\"seed-credentials.json\"]\n}\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"freeapi\",\n  \"version\": \"1.3.1\",\n  \"description\": \"A API learning go\",\n  \"type\": \"module\",\n  \"main\": \"src/index.js\",\n  \"scripts\": {\n    \"start\": \"nodemon -r dotenv/config --experimental-json-modules src/index.js\",\n    \"pre-commit\": \"lint-staged\",\n    \"prepare\": \"node prepare.js\",\n    \"start:test-server\": \"node -r dotenv/config --experimental-json-modules e2e/test-server.js\",\n    \"test:playwright\": \"set NODE_OPTIONS=--experimental-vm-modules -r dotenv/config --experimental-json-modules && npx playwright test\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/hiteshchoudhary/apihub.git\"\n  },\n  \"keywords\": [\n    \"apihub\",\n    \"freeapi\",\n    \"open source\",\n    \"api as a service\",\n    \"public apis\",\n    \"kitchen sink\"\n  ],\n  \"author\": \"Hitesh Choudhary\",\n  \"license\": \"ISC\",\n  \"bugs\": {\n    \"url\": \"https://github.com/hiteshchoudhary/apihub/issues\"\n  },\n  \"homepage\": \"https://github.com/hiteshchoudhary/apihub#readme\",\n  \"dependencies\": {\n    \"@faker-js/faker\": \"^8.0.2\",\n    \"bcrypt\": \"^5.1.0\",\n    \"cookie-parser\": \"^1.4.7\",\n    \"cors\": \"^2.8.5\",\n    \"dotenv\": \"^16.0.3\",\n    \"express\": \"4.21.1\",\n    \"express-compression\": \"^1.0.2\",\n    \"express-rate-limit\": \"^6.7.0\",\n    \"express-session\": \"^1.18.1\",\n    \"express-validator\": \"^7.0.1\",\n    \"jsonwebtoken\": \"^9.0.0\",\n    \"mailgen\": \"^2.0.27\",\n    \"mongoose\": \"^7.8.3\",\n    \"mongoose-aggregate-paginate-v2\": \"^1.0.6\",\n    \"morgan\": \"^1.10.0\",\n    \"multer\": \"^1.4.5-lts.1\",\n    \"nanoid\": \"^5.0.9\",\n    \"nodemailer\": \"^6.9.3\",\n    \"passport\": \"^0.6.0\",\n    \"passport-github2\": \"^0.1.12\",\n    \"passport-google-oauth20\": \"^2.0.0\",\n    \"razorpay\": \"^2.8.6\",\n    \"request-ip\": \"^3.3.0\",\n    \"socket.io\": \"^4.8.0\",\n    \"swagger-ui-express\": \"^4.6.3\",\n    \"winston\": \"^3.11.0\",\n    \"yaml\": \"^2.3.1\"\n  },\n  \"devDependencies\": {\n    \"@babel/core\": \"^7.23.7\",\n    \"@babel/plugin-syntax-import-assertions\": \"^7.23.3\",\n    \"@babel/preset-env\": \"^7.23.8\",\n    \"@commitlint/cli\": \"^17.6.6\",\n    \"@commitlint/config-conventional\": \"^17.6.5\",\n    \"@playwright/test\": \"^1.41.1\",\n    \"@shelf/jest-mongodb\": \"^4.2.0\",\n    \"@types/node\": \"^20.11.5\",\n    \"babel-jest\": \"^29.7.0\",\n    \"husky\": \"^8.0.3\",\n    \"jest\": \"^29.7.0\",\n    \"lint-staged\": \"^13.2.2\",\n    \"mongodb-memory-server\": \"^9.1.6\",\n    \"nodemon\": \"^2.0.22\",\n    \"prettier\": \"^3.0.0\",\n    \"supertest\": \"^6.3.4\",\n    \"supertest-session\": \"^5.0.1\"\n  },\n  \"resolutions\": {\n    \"ws\": \"^8.17.1\",\n    \"ejs\": \"^3.1.10\",\n    \"formidable\": \"^3.5.1\",\n    \"braces\": \"^3.0.3\",\n    \"micromatch\": \"^4.0.8\",\n    \"cross-spawn\": \"^7.0.5\",\n    \"path-to-regexp\": \"^0.1.12\"\n  }\n}\n"
  },
  {
    "path": "playwright.config.js",
    "content": "// @ts-check\nimport { defineConfig, devices } from \"@playwright/test\";\n\n/**\n * Read environment variables from file.\n * https://github.com/motdotla/dotenv\n */\n// import 'dotenv/config';\n\n/**\n * @see https://playwright.dev/docs/test-configuration\n */\nexport default defineConfig({\n  testDir: \"./e2e\",\n  /* Run tests in files in parallel */\n  // fullyParallel: true,\n  /* Fail the build on CI if you accidentally left test.only in the source code. */\n  forbidOnly: !!process.env.CI,\n  /* Retry on CI only */\n  retries: process.env.CI ? 2 : 0,\n  /* Opt out of parallel tests on CI. */\n  // using multiple workers will create DB overwrite issue because we use one DB to test everything\n  workers: 1,\n  /* Reporter to use. See https://playwright.dev/docs/test-reporters */\n  reporter: \"html\",\n  /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */\n  use: {\n    /* Base URL to use in actions like `await page.goto('/')`. */\n    // baseURL: `http://127.0.0.1:${process.env.PORT || 8080}`,\n\n    /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */\n    trace: \"on-first-retry\",\n  },\n\n  /* Configure projects for major browsers */\n  projects: [\n    {\n      name: \"chromium\",\n      use: { ...devices[\"Desktop Chrome\"] },\n    },\n\n    // {\n    //   name: \"firefox\",\n    //   use: { ...devices[\"Desktop Firefox\"] },\n    // },\n    //\n    // {\n    //   name: \"webkit\",\n    //   use: { ...devices[\"Desktop Safari\"] },\n    // },\n\n    /* Test against mobile viewports. */\n    // {\n    //   name: 'Mobile Chrome',\n    //   use: { ...devices['Pixel 5'] },\n    // },\n    // {\n    //   name: 'Mobile Safari',\n    //   use: { ...devices['iPhone 12'] },\n    // },\n\n    /* Test against branded browsers. */\n    // {\n    //   name: 'Microsoft Edge',\n    //   use: { ...devices['Desktop Edge'], channel: 'msedge' },\n    // },\n    // {\n    //   name: 'Google Chrome',\n    //   use: { ...devices['Desktop Chrome'], channel: 'chrome' },\n    // },\n  ],\n\n  /* Run your local dev server before starting the tests */\n  webServer: {\n    command: \"npm run start:test-server\",\n    url: `http://localhost:${process.env.PORT || 8080}`,\n    reuseExistingServer: !process.env.CI,\n  },\n});\n"
  },
  {
    "path": "prepare.js",
    "content": "import { spawnSync } from \"child_process\";\nimport os from \"os\";\nimport fs from \"fs\";\n\n// Function to run commands depending on the OS\nconst runCommand = (command, args) => {\n  const isWindows = os.platform() === \"win32\";\n  const shell = isWindows ? true : false;\n  const commandArgs = isWindows ? [\"/C\", command, ...args] : [...args];\n\n  const result = spawnSync(isWindows ? \"cmd\" : command, commandArgs, {\n    stdio: \"inherit\",\n    shell,\n  });\n\n  return result.status;\n};\n\n// Function to prepare Husky\nconst prepareHusky = () => {\n  // Run husky install\n  const huskyInstallStatus = runCommand(\"npx\", [\"husky\", \"install\"]);\n\n  // Check if .husky directory exists, if not, create it\n  fs.mkdir(\".husky\", (err) => {\n    if (err) {\n      console.error(err);\n    } else {\n      console.log(\".husky directory created successfully!\");\n    }\n  });\n\n  // Set permissions for husky on macOS/Linux\n  if (os.platform() !== \"win32\") {\n    const setPermissionsStatus = runCommand(\"chmod\", [\"-R\", \"ug+x\", \".husky\"]);\n    if (setPermissionsStatus !== 0) {\n      console.error(\"Setting permissions failed\");\n      process.exit(1);\n    }\n  }\n\n  // Exit with appropriate status code based on husky install status\n  if (huskyInstallStatus === 0) {\n    console.log(\"Husky preparation executed successfully!\");\n    process.exit(0);\n  } else {\n    console.error(\"Husky installation failed\");\n    process.exit(1);\n  }\n};\n\nprepareHusky();\n"
  },
  {
    "path": "public/assets/templates/html_response.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Response HTML Template</title>\n  </head>\n  <body>\n    <h1>\n      Anything that can be Written in JavaScript, will Eventually be Written in\n      JavaScript\n    </h1>\n\n    <p>\n      Lorem ipsum dolor sit amet consectetur adipisicing elit. Officia ipsum\n      minima voluptatibus harum itaque, expedita corrupti enim similique\n      repudiandae aspernatur, praesentium id, consequatur vitae ex quasi soluta\n      totam voluptatum reiciendis!\n    </p>\n  </body>\n</html>\n"
  },
  {
    "path": "public/assets/templates/xml_response.xml",
    "content": "<?xml version='1.0' encoding='us-ascii'?>\n\n<carousal \n    title=\"Cool carousal\"\n    date=\"Date of creation\"\n    author=\"Yours Truly\"\n    >\n\n    <!-- TITLE SLIDE -->\n    <panel type=\"all\">\n      <title>Javascript is the best</title>\n    </panel>\n\n    <!-- OVERVIEW -->\n    <panel type=\"all\">\n        <title>Overview</title>\n        <item>Why <em>Javascript</em> is the best</item>\n        <item/>\n        <item>Who <em>created</em> Javascript</item>\n    </panel>\n\n</carousal>\n"
  },
  {
    "path": "public/images/.gitkeep",
    "content": ""
  },
  {
    "path": "public/temp/.gitkeep",
    "content": ""
  },
  {
    "path": "src/app.js",
    "content": "import cookieParser from \"cookie-parser\";\nimport cors from \"cors\";\nimport express from \"express\";\nimport { rateLimit } from \"express-rate-limit\";\nimport session from \"express-session\";\nimport fs from \"fs\";\nimport { createServer } from \"http\";\nimport passport from \"passport\";\nimport path from \"path\";\nimport requestIp from \"request-ip\";\nimport { Server } from \"socket.io\";\nimport swaggerUi from \"swagger-ui-express\";\nimport { fileURLToPath } from \"url\";\nimport YAML from \"yaml\";\nimport { DB_NAME } from \"./constants.js\";\nimport { dbInstance } from \"./db/index.js\";\nimport morganMiddleware from \"./logger/morgan.logger.js\";\nimport { initializeSocketIO } from \"./socket/index.js\";\nimport { ApiError } from \"./utils/ApiError.js\";\nimport { ApiResponse } from \"./utils/ApiResponse.js\";\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\nconst file = fs.readFileSync(path.resolve(__dirname, \"./swagger.yaml\"), \"utf8\");\nconst swaggerDocument = YAML.parse(\n  file?.replace(\n    \"- url: ${{server}}\",\n    `- url: ${process.env.FREEAPI_HOST_URL || \"http://localhost:8080\"}/api/v1`\n  )\n);\n\nconst app = express();\n\nconst httpServer = createServer(app);\n\nconst io = new Server(httpServer, {\n  pingTimeout: 60000,\n  cors: {\n    origin: process.env.CORS_ORIGIN,\n    credentials: true,\n  },\n});\n\napp.set(\"io\", io); // using set method to mount the `io` instance on the app to avoid usage of `global`\n\n// global middlewares\napp.use(\n  cors({\n    origin:\n      process.env.CORS_ORIGIN === \"*\"\n        ? \"*\" // This might give CORS error for some origins due to credentials set to true\n        : process.env.CORS_ORIGIN?.split(\",\"), // For multiple cors origin for production. Refer https://github.com/hiteshchoudhary/apihub/blob/a846abd7a0795054f48c7eb3e71f3af36478fa96/.env.sample#L12C1-L12C12\n    credentials: true,\n  })\n);\n\napp.use(requestIp.mw());\n\n// Rate limiter to avoid misuse of the service and avoid cost spikes\nconst limiter = rateLimit({\n  windowMs: 15 * 60 * 1000, // 15 minutes\n  max: 5000, // Limit each IP to 500 requests per `window` (here, per 15 minutes)\n  standardHeaders: true, // Return rate limit info in the `RateLimit-*` headers\n  legacyHeaders: false, // Disable the `X-RateLimit-*` headers\n  keyGenerator: (req, res) => {\n    return req.clientIp; // IP address from requestIp.mw(), as opposed to req.ip\n  },\n  handler: (_, __, ___, options) => {\n    throw new ApiError(\n      options.statusCode || 500,\n      `There are too many requests. You are only allowed ${\n        options.max\n      } requests per ${options.windowMs / 60000} minutes`\n    );\n  },\n});\n\n// Apply the rate limiting middleware to all requests\napp.use(limiter);\n\napp.use(express.json({ limit: \"16kb\" }));\napp.use(express.urlencoded({ extended: true, limit: \"16kb\" }));\napp.use(express.static(\"public\")); // configure static file to save images locally\napp.use(cookieParser());\n\n// required for passport\napp.use(\n  session({\n    secret: process.env.EXPRESS_SESSION_SECRET,\n    resave: true,\n    saveUninitialized: true,\n  })\n); // session secret\napp.use(passport.initialize());\napp.use(passport.session()); // persistent login sessions\n\napp.use(morganMiddleware);\n// api routes\nimport { errorHandler } from \"./middlewares/error.middlewares.js\";\nimport healthcheckRouter from \"./routes/healthcheck.routes.js\";\n\n// * Public routes\nimport bookRouter from \"./routes/public/book.routes.js\";\nimport catRouter from \"./routes/public/cat.routes.js\";\nimport dogRouter from \"./routes/public/dog.routes.js\";\nimport mealRouter from \"./routes/public/meal.routes.js\";\nimport quoteRouter from \"./routes/public/quote.routes.js\";\nimport randomjokeRouter from \"./routes/public/randomjoke.routes.js\";\nimport randomproductRouter from \"./routes/public/randomproduct.routes.js\";\nimport randomuserRouter from \"./routes/public/randomuser.routes.js\";\nimport stockRouter from \"./routes/public/stock.routes.js\";\nimport youtubeRouter from \"./routes/public/youtube.routes.js\";\n\n// * App routes\nimport userRouter from \"./routes/apps/auth/user.routes.js\";\n\nimport addressRouter from \"./routes/apps/ecommerce/address.routes.js\";\nimport cartRouter from \"./routes/apps/ecommerce/cart.routes.js\";\nimport categoryRouter from \"./routes/apps/ecommerce/category.routes.js\";\nimport couponRouter from \"./routes/apps/ecommerce/coupon.routes.js\";\nimport orderRouter from \"./routes/apps/ecommerce/order.routes.js\";\nimport productRouter from \"./routes/apps/ecommerce/product.routes.js\";\nimport ecomProfileRouter from \"./routes/apps/ecommerce/profile.routes.js\";\n\nimport socialBookmarkRouter from \"./routes/apps/social-media/bookmark.routes.js\";\nimport socialCommentRouter from \"./routes/apps/social-media/comment.routes.js\";\nimport socialFollowRouter from \"./routes/apps/social-media/follow.routes.js\";\nimport socialLikeRouter from \"./routes/apps/social-media/like.routes.js\";\nimport socialPostRouter from \"./routes/apps/social-media/post.routes.js\";\nimport socialProfileRouter from \"./routes/apps/social-media/profile.routes.js\";\n\nimport chatRouter from \"./routes/apps/chat-app/chat.routes.js\";\nimport messageRouter from \"./routes/apps/chat-app/message.routes.js\";\n\nimport todoRouter from \"./routes/apps/todo/todo.routes.js\";\n\n// * Kitchen sink routes\nimport cookieRouter from \"./routes/kitchen-sink/cookie.routes.js\";\nimport httpmethodRouter from \"./routes/kitchen-sink/httpmethod.routes.js\";\nimport imageRouter from \"./routes/kitchen-sink/image.routes.js\";\nimport redirectRouter from \"./routes/kitchen-sink/redirect.routes.js\";\nimport requestinspectionRouter from \"./routes/kitchen-sink/requestinspection.routes.js\";\nimport responseinspectionRouter from \"./routes/kitchen-sink/responseinspection.routes.js\";\nimport statuscodeRouter from \"./routes/kitchen-sink/statuscode.routes.js\";\n\n// * Seeding handlers\nimport logger from \"./logger/winston.logger.js\";\nimport { avoidInProduction } from \"./middlewares/auth.middlewares.js\";\nimport { seedChatApp } from \"./seeds/chat-app.seeds.js\";\nimport { seedEcommerce } from \"./seeds/ecommerce.seeds.js\";\nimport { seedSocialMedia } from \"./seeds/social-media.seeds.js\";\nimport { seedTodos } from \"./seeds/todo.seeds.js\";\nimport { getGeneratedCredentials, seedUsers } from \"./seeds/user.seeds.js\";\n\n// * healthcheck\napp.use(\"/api/v1/healthcheck\", healthcheckRouter);\n\n// * Public apis\n// TODO: More functionality specific to the type of api, can be added in the future\napp.use(\"/api/v1/public/randomusers\", randomuserRouter);\napp.use(\"/api/v1/public/randomproducts\", randomproductRouter);\napp.use(\"/api/v1/public/randomjokes\", randomjokeRouter);\napp.use(\"/api/v1/public/books\", bookRouter);\napp.use(\"/api/v1/public/quotes\", quoteRouter);\napp.use(\"/api/v1/public/meals\", mealRouter);\napp.use(\"/api/v1/public/dogs\", dogRouter);\napp.use(\"/api/v1/public/cats\", catRouter);\napp.use(\"/api/v1/public/youtube\", youtubeRouter);\napp.use(\"/api/v1/public/stocks\", stockRouter);\n\n// * App apis\napp.use(\"/api/v1/users\", userRouter);\n\napp.use(\"/api/v1/ecommerce/categories\", categoryRouter);\napp.use(\"/api/v1/ecommerce/addresses\", addressRouter);\napp.use(\"/api/v1/ecommerce/products\", productRouter);\napp.use(\"/api/v1/ecommerce/profile\", ecomProfileRouter);\napp.use(\"/api/v1/ecommerce/cart\", cartRouter);\napp.use(\"/api/v1/ecommerce/orders\", orderRouter);\napp.use(\"/api/v1/ecommerce/coupons\", couponRouter);\n\napp.use(\"/api/v1/social-media/profile\", socialProfileRouter);\napp.use(\"/api/v1/social-media/follow\", socialFollowRouter);\napp.use(\"/api/v1/social-media/posts\", socialPostRouter);\napp.use(\"/api/v1/social-media/like\", socialLikeRouter);\napp.use(\"/api/v1/social-media/bookmarks\", socialBookmarkRouter);\napp.use(\"/api/v1/social-media/comments\", socialCommentRouter);\n\napp.use(\"/api/v1/chat-app/chats\", chatRouter);\napp.use(\"/api/v1/chat-app/messages\", messageRouter);\n\napp.use(\"/api/v1/todos\", todoRouter);\n\n// * Kitchen sink apis\napp.use(\"/api/v1/kitchen-sink/http-methods\", httpmethodRouter);\napp.use(\"/api/v1/kitchen-sink/status-codes\", statuscodeRouter);\napp.use(\"/api/v1/kitchen-sink/request\", requestinspectionRouter);\napp.use(\"/api/v1/kitchen-sink/response\", responseinspectionRouter);\napp.use(\"/api/v1/kitchen-sink/cookies\", cookieRouter);\napp.use(\"/api/v1/kitchen-sink/redirect\", redirectRouter);\napp.use(\"/api/v1/kitchen-sink/image\", imageRouter);\n\n// * Seeding\napp.get(\n  \"/api/v1/seed/generated-credentials\",\n  // avoidInProduction,\n  getGeneratedCredentials\n);\napp.post(\n  \"/api/v1/seed/todos\",\n  // avoidInProduction,\n  seedTodos\n);\napp.post(\n  \"/api/v1/seed/ecommerce\",\n  // avoidInProduction,\n  seedUsers,\n  seedEcommerce\n);\napp.post(\n  \"/api/v1/seed/social-media\",\n  // avoidInProduction,\n  seedUsers,\n  seedSocialMedia\n);\napp.post(\n  \"/api/v1/seed/chat-app\",\n  // avoidInProduction,\n  seedUsers,\n  seedChatApp\n);\n\ninitializeSocketIO(io);\n\n// ! 🚫 Danger Zone\napp.delete(\"/api/v1/reset-db\", avoidInProduction, async (req, res) => {\n  if (dbInstance) {\n    // Drop the whole DB\n    await dbInstance.connection.db.dropDatabase({\n      dbName: DB_NAME,\n    });\n\n    const directory = \"./public/images\";\n\n    // Remove all product images from the file system\n    fs.readdir(directory, (err, files) => {\n      if (err) {\n        // fail silently\n        logger.error(\"Error while removing the images: \", err);\n      } else {\n        for (const file of files) {\n          if (file === \".gitkeep\") continue;\n          fs.unlink(path.join(directory, file), (err) => {\n            if (err) throw err;\n          });\n        }\n      }\n    });\n    // remove the seeded users if exist\n    fs.unlink(\"./public/temp/seed-credentials.json\", (err) => {\n      // fail silently\n      if (err) logger.error(\"Seed credentials are missing.\");\n    });\n    return res\n      .status(200)\n      .json(new ApiResponse(200, null, \"Database dropped successfully\"));\n  }\n  throw new ApiError(500, \"Something went wrong while dropping the database\");\n});\n\n// * API DOCS\n// ? Keeping swagger code at the end so that we can load swagger on \"/\" route\napp.use(\n  \"/\",\n  swaggerUi.serve,\n  swaggerUi.setup(swaggerDocument, {\n    swaggerOptions: {\n      docExpansion: \"none\", // keep all the sections collapsed by default\n    },\n    customSiteTitle: \"FreeAPI docs\",\n  })\n);\n\n// common error handling middleware\napp.use(errorHandler);\n\nexport { httpServer };\n"
  },
  {
    "path": "src/constants.js",
    "content": "/**\n * @type {{ ADMIN: \"ADMIN\"; USER: \"USER\"} as const}\n */\nexport const UserRolesEnum = {\n  ADMIN: \"ADMIN\",\n  USER: \"USER\",\n};\n\nexport const AvailableUserRoles = Object.values(UserRolesEnum);\n\n/**\n * @type {{ PENDING: \"PENDING\"; CANCELLED: \"CANCELLED\"; DELIVERED: \"DELIVERED\" } as const}\n */\nexport const OrderStatusEnum = {\n  PENDING: \"PENDING\",\n  CANCELLED: \"CANCELLED\",\n  DELIVERED: \"DELIVERED\",\n};\n\nexport const AvailableOrderStatuses = Object.values(OrderStatusEnum);\n\n/**\n * @type {{ UNKNOWN:\"UNKNOWN\"; RAZORPAY: \"RAZORPAY\"; PAYPAL: \"PAYPAL\"; } as const}\n */\nexport const PaymentProviderEnum = {\n  UNKNOWN: \"UNKNOWN\",\n  RAZORPAY: \"RAZORPAY\",\n  PAYPAL: \"PAYPAL\",\n};\n\nexport const AvailablePaymentProviders = Object.values(PaymentProviderEnum);\n\n/**\n * @type {{ FLAT:\"FLAT\"; } as const}\n */\nexport const CouponTypeEnum = {\n  FLAT: \"FLAT\",\n  // PERCENTAGE: \"PERCENTAGE\",\n};\n\nexport const AvailableCouponTypes = Object.values(CouponTypeEnum);\n\n/**\n * @type {{ GOOGLE: \"GOOGLE\"; GITHUB: \"GITHUB\"; EMAIL_PASSWORD: \"EMAIL_PASSWORD\"} as const}\n */\nexport const UserLoginType = {\n  GOOGLE: \"GOOGLE\",\n  GITHUB: \"GITHUB\",\n  EMAIL_PASSWORD: \"EMAIL_PASSWORD\",\n};\n\nexport const AvailableSocialLogins = Object.values(UserLoginType);\n\n/**\n * @type {{ MOST_VIEWED: \"mostViewed\"; MOST_LIKED: \"mostLiked\"; LATEST: \"latest\"; OLDEST: \"oldest\"} as const}\n */\nexport const YouTubeFilterEnum = {\n  MOST_VIEWED: \"mostViewed\",\n  MOST_LIKED: \"mostLiked\",\n  LATEST: \"latest\",\n  OLDEST: \"oldest\",\n};\n\nexport const AvailableYouTubeFilters = Object.values(YouTubeFilterEnum);\n\nexport const USER_TEMPORARY_TOKEN_EXPIRY = 20 * 60 * 1000; // 20 minutes\n\nexport const MAXIMUM_SUB_IMAGE_COUNT = 4;\nexport const MAXIMUM_SOCIAL_POST_IMAGE_COUNT = 6;\n\nexport const DB_NAME = \"freeapi\";\n\nexport const paypalBaseUrl = {\n  sandbox: \"https://api-m.sandbox.paypal.com\",\n};\n\n/**\n * @description set of events that we are using in chat app. more to be added as we develop the chat app\n */\nexport const ChatEventEnum = Object.freeze({\n  // ? once user is ready to go\n  CONNECTED_EVENT: \"connected\",\n  // ? when user gets disconnected\n  DISCONNECT_EVENT: \"disconnect\",\n  // ? when user joins a socket room\n  JOIN_CHAT_EVENT: \"joinChat\",\n  // ? when participant gets removed from group, chat gets deleted or leaves a group\n  LEAVE_CHAT_EVENT: \"leaveChat\",\n  // ? when admin updates a group name\n  UPDATE_GROUP_NAME_EVENT: \"updateGroupName\",\n  // ? when new message is received\n  MESSAGE_RECEIVED_EVENT: \"messageReceived\",\n  // ? when there is new one on one chat, new group chat or user gets added in the group\n  NEW_CHAT_EVENT: \"newChat\",\n  // ? when there is an error in socket\n  SOCKET_ERROR_EVENT: \"socketError\",\n  // ? when participant stops typing\n  STOP_TYPING_EVENT: \"stopTyping\",\n  // ? when participant starts typing\n  TYPING_EVENT: \"typing\",\n  // ? when message is deleted\n  MESSAGE_DELETE_EVENT: \"messageDeleted\",\n});\n\nexport const AvailableChatEvents = Object.values(ChatEventEnum);\n"
  },
  {
    "path": "src/controllers/apps/auth/user.controllers.js",
    "content": "import crypto from \"crypto\";\nimport jwt from \"jsonwebtoken\";\nimport { UserLoginType, UserRolesEnum } from \"../../../constants.js\";\nimport { User } from \"../../../models/apps/auth/user.models.js\";\nimport { ApiError } from \"../../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../../utils/asyncHandler.js\";\nimport {\n  getLocalPath,\n  getStaticFilePath,\n  removeLocalFile,\n} from \"../../../utils/helpers.js\";\nimport {\n  emailVerificationMailgenContent,\n  forgotPasswordMailgenContent,\n  sendEmail,\n} from \"../../../utils/mail.js\";\n\nconst generateAccessAndRefreshTokens = async (userId) => {\n  try {\n    const user = await User.findById(userId);\n\n    const accessToken = user.generateAccessToken();\n    const refreshToken = user.generateRefreshToken();\n\n    // attach refresh token to the user document to avoid refreshing the access token with multiple refresh tokens\n    user.refreshToken = refreshToken;\n\n    await user.save({ validateBeforeSave: false });\n    return { accessToken, refreshToken };\n  } catch (error) {\n    throw new ApiError(\n      500,\n      \"Something went wrong while generating the access token\"\n    );\n  }\n};\n\nconst registerUser = asyncHandler(async (req, res) => {\n  const { email, username, password, role } = req.body;\n\n  const existedUser = await User.findOne({\n    $or: [{ username }, { email }],\n  });\n\n  if (existedUser) {\n    throw new ApiError(409, \"User with email or username already exists\", []);\n  }\n  const user = await User.create({\n    email,\n    password,\n    username,\n    isEmailVerified: false,\n    role: role || UserRolesEnum.USER,\n  });\n\n  /**\n   * unHashedToken: unHashed token is something we will send to the user's mail\n   * hashedToken: we will keep record of hashedToken to validate the unHashedToken in verify email controller\n   * tokenExpiry: Expiry to be checked before validating the incoming token\n   */\n  const { unHashedToken, hashedToken, tokenExpiry } =\n    user.generateTemporaryToken();\n\n  /**\n   * assign hashedToken and tokenExpiry in DB till user clicks on email verification link\n   * The email verification is handled by {@link verifyEmail}\n   */\n  user.emailVerificationToken = hashedToken;\n  user.emailVerificationExpiry = tokenExpiry;\n  await user.save({ validateBeforeSave: false });\n\n  await sendEmail({\n    email: user?.email,\n    subject: \"Please verify your email\",\n    mailgenContent: emailVerificationMailgenContent(\n      user.username,\n      `${req.protocol}://${req.get(\n        \"host\"\n      )}/api/v1/users/verify-email/${unHashedToken}`\n    ),\n  });\n\n  const createdUser = await User.findById(user._id).select(\n    \"-password -refreshToken -emailVerificationToken -emailVerificationExpiry\"\n  );\n\n  if (!createdUser) {\n    throw new ApiError(500, \"Something went wrong while registering the user\");\n  }\n\n  return res\n    .status(201)\n    .json(\n      new ApiResponse(\n        200,\n        { user: createdUser },\n        \"Users registered successfully and verification email has been sent on your email.\"\n      )\n    );\n});\n\nconst loginUser = asyncHandler(async (req, res) => {\n  const { email, username, password } = req.body;\n\n  if (!username && !email) {\n    throw new ApiError(400, \"Username or email is required\");\n  }\n\n  const user = await User.findOne({\n    $or: [{ username }, { email }],\n  });\n\n  if (!user) {\n    throw new ApiError(404, \"User does not exist\");\n  }\n\n  if (user.loginType !== UserLoginType.EMAIL_PASSWORD) {\n    // If user is registered with some other method, we will ask him/her to use the same method as registered.\n    // This shows that if user is registered with methods other than email password, he/she will not be able to login with password. Which makes password field redundant for the SSO\n    throw new ApiError(\n      400,\n      \"You have previously registered using \" +\n        user.loginType?.toLowerCase() +\n        \". Please use the \" +\n        user.loginType?.toLowerCase() +\n        \" login option to access your account.\"\n    );\n  }\n\n  // Compare the incoming password with hashed password\n  const isPasswordValid = await user.isPasswordCorrect(password);\n\n  if (!isPasswordValid) {\n    throw new ApiError(401, \"Invalid user credentials\");\n  }\n\n  const { accessToken, refreshToken } = await generateAccessAndRefreshTokens(\n    user._id\n  );\n\n  // get the user document ignoring the password and refreshToken field\n  const loggedInUser = await User.findById(user._id).select(\n    \"-password -refreshToken -emailVerificationToken -emailVerificationExpiry\"\n  );\n\n  // TODO: Add more options to make cookie more secure and reliable\n  const options = {\n    httpOnly: true,\n    secure: process.env.NODE_ENV === \"production\",\n  };\n\n  return res\n    .status(200)\n    .cookie(\"accessToken\", accessToken, options) // set the access token in the cookie\n    .cookie(\"refreshToken\", refreshToken, options) // set the refresh token in the cookie\n    .json(\n      new ApiResponse(\n        200,\n        { user: loggedInUser, accessToken, refreshToken }, // send access and refresh token in response if client decides to save them by themselves\n        \"User logged in successfully\"\n      )\n    );\n});\n\nconst logoutUser = asyncHandler(async (req, res) => {\n  await User.findByIdAndUpdate(\n    req.user._id,\n    {\n      $set: {\n        refreshToken: '',\n      },\n    },\n    { new: true }\n  );\n\n  const options = {\n    httpOnly: true,\n    secure: process.env.NODE_ENV === \"production\",\n  };\n\n  return res\n    .status(200)\n    .clearCookie(\"accessToken\", options)\n    .clearCookie(\"refreshToken\", options)\n    .json(new ApiResponse(200, {}, \"User logged out\"));\n});\n\nconst verifyEmail = asyncHandler(async (req, res) => {\n  const { verificationToken } = req.params;\n\n  if (!verificationToken) {\n    throw new ApiError(400, \"Email verification token is missing\");\n  }\n\n  // generate a hash from the token that we are receiving\n  let hashedToken = crypto\n    .createHash(\"sha256\")\n    .update(verificationToken)\n    .digest(\"hex\");\n\n  // While registering the user, same time when we are sending the verification mail\n  // we have saved a hashed value of the original email verification token in the db\n  // We will try to find user with the hashed token generated by received token\n  // If we find the user another check is if token expiry of that token is greater than current time if not that means it is expired\n  const user = await User.findOne({\n    emailVerificationToken: hashedToken,\n    emailVerificationExpiry: { $gt: Date.now() },\n  });\n\n  if (!user) {\n    throw new ApiError(489, \"Token is invalid or expired\");\n  }\n\n  // If we found the user that means the token is valid\n  // Now we can remove the associated email token and expiry date as we no  longer need them\n  user.emailVerificationToken = undefined;\n  user.emailVerificationExpiry = undefined;\n  // Turn the email verified flag to `true`\n  user.isEmailVerified = true;\n  await user.save({ validateBeforeSave: false });\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, { isEmailVerified: true }, \"Email is verified\"));\n});\n\n// This controller is called when user is logged in and he has snackbar that your email is not verified\n// In case he did not get the email or the email verification token is expired\n// he will be able to resend the token while he is logged in\nconst resendEmailVerification = asyncHandler(async (req, res) => {\n  const user = await User.findById(req.user?._id);\n\n  if (!user) {\n    throw new ApiError(404, \"User does not exists\", []);\n  }\n\n  // if email is already verified throw an error\n  if (user.isEmailVerified) {\n    throw new ApiError(409, \"Email is already verified!\");\n  }\n\n  const { unHashedToken, hashedToken, tokenExpiry } =\n    user.generateTemporaryToken(); // generate email verification creds\n\n  user.emailVerificationToken = hashedToken;\n  user.emailVerificationExpiry = tokenExpiry;\n  await user.save({ validateBeforeSave: false });\n\n  await sendEmail({\n    email: user?.email,\n    subject: \"Please verify your email\",\n    mailgenContent: emailVerificationMailgenContent(\n      user.username,\n      `${req.protocol}://${req.get(\n        \"host\"\n      )}/api/v1/users/verify-email/${unHashedToken}`\n    ),\n  });\n  return res\n    .status(200)\n    .json(new ApiResponse(200, {}, \"Mail has been sent to your mail ID\"));\n});\n\nconst refreshAccessToken = asyncHandler(async (req, res) => {\n  const incomingRefreshToken =\n    req.cookies.refreshToken || req.body.refreshToken;\n\n  if (!incomingRefreshToken) {\n    throw new ApiError(401, \"Unauthorized request\");\n  }\n\n  try {\n    const decodedToken = jwt.verify(\n      incomingRefreshToken,\n      process.env.REFRESH_TOKEN_SECRET\n    );\n    const user = await User.findById(decodedToken?._id);\n    if (!user) {\n      throw new ApiError(401, \"Invalid refresh token\");\n    }\n\n    // check if incoming refresh token is same as the refresh token attached in the user document\n    // This shows that the refresh token is used or not\n    // Once it is used, we are replacing it with new refresh token below\n    if (incomingRefreshToken !== user?.refreshToken) {\n      // If token is valid but is used already\n      throw new ApiError(401, \"Refresh token is expired or used\");\n    }\n    const options = {\n      httpOnly: true,\n      secure: process.env.NODE_ENV === \"production\",\n    };\n\n    const { accessToken, refreshToken: newRefreshToken } =\n      await generateAccessAndRefreshTokens(user._id);\n\n    // Update the user's refresh token in the database\n    user.refreshToken = newRefreshToken;\n    await user.save();\n\n    return res\n      .status(200)\n      .cookie(\"accessToken\", accessToken, options)\n      .cookie(\"refreshToken\", newRefreshToken, options)\n      .json(\n        new ApiResponse(\n          200,\n          { accessToken, refreshToken: newRefreshToken },\n          \"Access token refreshed\"\n        )\n      );\n  } catch (error) {\n    throw new ApiError(401, error?.message || \"Invalid refresh token\");\n  }\n});\n\nconst forgotPasswordRequest = asyncHandler(async (req, res) => {\n  const { email } = req.body;\n\n  // Get email from the client and check if user exists\n  const user = await User.findOne({ email });\n\n  if (!user) {\n    throw new ApiError(404, \"User does not exists\", []);\n  }\n\n  // Generate a temporary token\n  const { unHashedToken, hashedToken, tokenExpiry } =\n    user.generateTemporaryToken(); // generate password reset creds\n\n  // save the hashed version a of the token and expiry in the DB\n  user.forgotPasswordToken = hashedToken;\n  user.forgotPasswordExpiry = tokenExpiry;\n  await user.save({ validateBeforeSave: false });\n\n  // Send mail with the password reset link. It should be the link of the frontend url with token\n  await sendEmail({\n    email: user?.email,\n    subject: \"Password reset request\",\n    mailgenContent: forgotPasswordMailgenContent(\n      user.username,\n      // ! NOTE: Following link should be the link of the frontend page responsible to request password reset\n      // ! Frontend will send the below token with the new password in the request body to the backend reset password endpoint\n      `${process.env.FORGOT_PASSWORD_REDIRECT_URL}/${unHashedToken}`\n    ),\n  });\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n        200,\n        {},\n        \"Password reset mail has been sent on your mail id\"\n      )\n    );\n});\n\nconst resetForgottenPassword = asyncHandler(async (req, res) => {\n  const { resetToken } = req.params;\n  const { newPassword } = req.body;\n\n  // Create a hash of the incoming reset token\n\n  let hashedToken = crypto\n    .createHash(\"sha256\")\n    .update(resetToken)\n    .digest(\"hex\");\n\n  // See if user with hash similar to resetToken exists\n  // If yes then check if token expiry is greater than current date\n\n  const user = await User.findOne({\n    forgotPasswordToken: hashedToken,\n    forgotPasswordExpiry: { $gt: Date.now() },\n  });\n\n  // If either of the one is false that means the token is invalid or expired\n  if (!user) {\n    throw new ApiError(489, \"Token is invalid or expired\");\n  }\n\n  // if everything is ok and token id valid\n  // reset the forgot password token and expiry\n  user.forgotPasswordToken = undefined;\n  user.forgotPasswordExpiry = undefined;\n\n  // Set the provided password as the new password\n  user.password = newPassword;\n  await user.save({ validateBeforeSave: false });\n  return res\n    .status(200)\n    .json(new ApiResponse(200, {}, \"Password reset successfully\"));\n});\n\nconst changeCurrentPassword = asyncHandler(async (req, res) => {\n  const { oldPassword, newPassword } = req.body;\n\n  const user = await User.findById(req.user?._id);\n\n  // check the old password\n  const isPasswordValid = await user.isPasswordCorrect(oldPassword);\n\n  if (!isPasswordValid) {\n    throw new ApiError(400, \"Invalid old password\");\n  }\n\n  // assign new password in plain text\n  // We have a pre save method attached to user schema which automatically hashes the password whenever added/modified\n  user.password = newPassword;\n  await user.save({ validateBeforeSave: false });\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, {}, \"Password changed successfully\"));\n});\n\nconst assignRole = asyncHandler(async (req, res) => {\n  const { userId } = req.params;\n  const { role } = req.body;\n  const user = await User.findById(userId);\n\n  if (!user) {\n    throw new ApiError(404, \"User does not exist\");\n  }\n  user.role = role;\n  await user.save({ validateBeforeSave: false });\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, {}, \"Role changed for the user\"));\n});\n\nconst getCurrentUser = asyncHandler(async (req, res) => {\n  return res\n    .status(200)\n    .json(new ApiResponse(200, req.user, \"Current user fetched successfully\"));\n});\n\nconst handleSocialLogin = asyncHandler(async (req, res) => {\n  const user = await User.findById(req.user?._id);\n\n  if (!user) {\n    throw new ApiError(404, \"User does not exist\");\n  }\n\n  const { accessToken, refreshToken } = await generateAccessAndRefreshTokens(\n    user._id\n  );\n\n  const options = {\n    httpOnly: true,\n    secure: process.env.NODE_ENV === \"production\",\n  };\n\n  return res\n    .status(301)\n    .cookie(\"accessToken\", accessToken, options) // set the access token in the cookie\n    .cookie(\"refreshToken\", refreshToken, options) // set the refresh token in the cookie\n    .redirect(\n      // redirect user to the frontend with access and refresh token in case user is not using cookies\n      `${process.env.CLIENT_SSO_REDIRECT_URL}?accessToken=${accessToken}&refreshToken=${refreshToken}`\n    );\n});\n\nconst updateUserAvatar = asyncHandler(async (req, res) => {\n  // Check if user has uploaded an avatar\n  if (!req.file?.filename) {\n    throw new ApiError(400, \"Avatar image is required\");\n  }\n\n  // get avatar file system url and local path\n  const avatarUrl = getStaticFilePath(req, req.file?.filename);\n  const avatarLocalPath = getLocalPath(req.file?.filename);\n\n  const user = await User.findById(req.user._id);\n\n  let updatedUser = await User.findByIdAndUpdate(\n    req.user._id,\n\n    {\n      $set: {\n        // set the newly uploaded avatar\n        avatar: {\n          url: avatarUrl,\n          localPath: avatarLocalPath,\n        },\n      },\n    },\n    { new: true }\n  ).select(\n    \"-password -refreshToken -emailVerificationToken -emailVerificationExpiry\"\n  );\n\n  // remove the old avatar\n  removeLocalFile(user.avatar.localPath);\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, updatedUser, \"Avatar updated successfully\"));\n});\n\nexport {\n  assignRole,\n  changeCurrentPassword,\n  forgotPasswordRequest,\n  getCurrentUser,\n  handleSocialLogin,\n  loginUser,\n  logoutUser,\n  refreshAccessToken,\n  registerUser,\n  resendEmailVerification,\n  resetForgottenPassword,\n  updateUserAvatar,\n  verifyEmail,\n};\n"
  },
  {
    "path": "src/controllers/apps/chat-app/chat.controllers.js",
    "content": "import mongoose from \"mongoose\";\nimport { ChatEventEnum } from \"../../../constants.js\";\nimport { User } from \"../../../models/apps/auth/user.models.js\";\nimport { Chat } from \"../../../models/apps/chat-app/chat.models.js\";\nimport { ChatMessage } from \"../../../models/apps/chat-app/message.models.js\";\nimport { emitSocketEvent } from \"../../../socket/index.js\";\nimport { ApiError } from \"../../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../../utils/asyncHandler.js\";\nimport { removeLocalFile } from \"../../../utils/helpers.js\";\n\n/**\n * @description Utility function which returns the pipeline stages to structure the chat schema with common lookups\n * @returns {mongoose.PipelineStage[]}\n */\nconst chatCommonAggregation = () => {\n  return [\n    {\n      // lookup for the participants present\n      $lookup: {\n        from: \"users\",\n        foreignField: \"_id\",\n        localField: \"participants\",\n        as: \"participants\",\n        pipeline: [\n          {\n            $project: {\n              password: 0,\n              refreshToken: 0,\n              forgotPasswordToken: 0,\n              forgotPasswordExpiry: 0,\n              emailVerificationToken: 0,\n              emailVerificationExpiry: 0,\n            },\n          },\n        ],\n      },\n    },\n    {\n      // lookup for the group chats\n      $lookup: {\n        from: \"chatmessages\",\n        foreignField: \"_id\",\n        localField: \"lastMessage\",\n        as: \"lastMessage\",\n        pipeline: [\n          {\n            // get details of the sender\n            $lookup: {\n              from: \"users\",\n              foreignField: \"_id\",\n              localField: \"sender\",\n              as: \"sender\",\n              pipeline: [\n                {\n                  $project: {\n                    username: 1,\n                    avatar: 1,\n                    email: 1,\n                  },\n                },\n              ],\n            },\n          },\n          {\n            $addFields: {\n              sender: { $first: \"$sender\" },\n            },\n          },\n        ],\n      },\n    },\n    {\n      $addFields: {\n        lastMessage: { $first: \"$lastMessage\" },\n      },\n    },\n  ];\n};\n\n/**\n *\n * @param {string} chatId\n * @description utility function responsible for removing all the messages and file attachments attached to the deleted chat\n */\nconst deleteCascadeChatMessages = async (chatId) => {\n  // fetch the messages associated with the chat to remove\n  const messages = await ChatMessage.find({\n    chat: new mongoose.Types.ObjectId(chatId),\n  });\n\n  let attachments = [];\n\n  // get the attachments present in the messages\n  attachments = attachments.concat(\n    ...messages.map((message) => {\n      return message.attachments;\n    })\n  );\n\n  attachments.forEach((attachment) => {\n    // remove attachment files from the local storage\n    removeLocalFile(attachment.localPath);\n  });\n\n  // delete all the messages\n  await ChatMessage.deleteMany({\n    chat: new mongoose.Types.ObjectId(chatId),\n  });\n};\n\nconst searchAvailableUsers = asyncHandler(async (req, res) => {\n  const users = await User.aggregate([\n    {\n      $match: {\n        _id: {\n          $ne: req.user._id, // avoid logged in user\n        },\n      },\n    },\n    {\n      $project: {\n        avatar: 1,\n        username: 1,\n        email: 1,\n      },\n    },\n  ]);\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, users, \"Users fetched successfully\"));\n});\n\nconst createOrGetAOneOnOneChat = asyncHandler(async (req, res) => {\n  const { receiverId } = req.params;\n\n  // Check if it's a valid receiver\n  const receiver = await User.findById(receiverId);\n\n  if (!receiver) {\n    throw new ApiError(404, \"Receiver does not exist\");\n  }\n\n  // check if receiver is not the user who is requesting a chat\n  if (receiver._id.toString() === req.user._id.toString()) {\n    throw new ApiError(400, \"You cannot chat with yourself\");\n  }\n\n  const chat = await Chat.aggregate([\n    {\n      $match: {\n        isGroupChat: false, // avoid group chats. This controller is responsible for one on one chats\n        // Also, filter chats with participants having receiver and logged in user only\n        $and: [\n          {\n            participants: { $elemMatch: { $eq: req.user._id } },\n          },\n          {\n            participants: {\n              $elemMatch: { $eq: new mongoose.Types.ObjectId(receiverId) },\n            },\n          },\n        ],\n      },\n    },\n    ...chatCommonAggregation(),\n  ]);\n\n  if (chat.length) {\n    // if we find the chat that means user already has created a chat\n    return res\n      .status(200)\n      .json(new ApiResponse(200, chat[0], \"Chat retrieved successfully\"));\n  }\n\n  // if not we need to create a new one on one chat\n  const newChatInstance = await Chat.create({\n    name: \"One on one chat\",\n    participants: [req.user._id, new mongoose.Types.ObjectId(receiverId)], // add receiver and logged in user as participants\n    admin: req.user._id,\n  });\n\n  // structure the chat as per the common aggregation to keep the consistency\n  const createdChat = await Chat.aggregate([\n    {\n      $match: {\n        _id: newChatInstance._id,\n      },\n    },\n    ...chatCommonAggregation(),\n  ]);\n\n  const payload = createdChat[0]; // store the aggregation result\n\n  if (!payload) {\n    throw new ApiError(500, \"Internal server error\");\n  }\n\n  // logic to emit socket event about the new chat added to the participants\n  payload?.participants?.forEach((participant) => {\n    if (participant._id.toString() === req.user._id.toString()) return; // don't emit the event for the logged in use as he is the one who is initiating the chat\n\n    // emit event to other participants with new chat as a payload\n    emitSocketEvent(\n      req,\n      participant._id?.toString(),\n      ChatEventEnum.NEW_CHAT_EVENT,\n      payload\n    );\n  });\n\n  return res\n    .status(201)\n    .json(new ApiResponse(201, payload, \"Chat retrieved successfully\"));\n});\n\nconst createAGroupChat = asyncHandler(async (req, res) => {\n  const { name, participants } = req.body;\n\n  // Check if user is not sending himself as a participant. This will be done manually\n  if (participants.includes(req.user._id.toString())) {\n    throw new ApiError(\n      400,\n      \"Participants array should not contain the group creator\"\n    );\n  }\n\n  const members = [...new Set([...participants, req.user._id.toString()])]; // check for duplicates\n\n  if (members.length < 3) {\n    // check after removing the duplicate\n    // We want group chat to have minimum 3 members including admin\n    throw new ApiError(\n      400,\n      \"Seems like you have passed duplicate participants.\"\n    );\n  }\n\n  // Create a group chat with provided members\n  const groupChat = await Chat.create({\n    name,\n    isGroupChat: true,\n    participants: members,\n    admin: req.user._id,\n  });\n\n  // structure the chat\n  const chat = await Chat.aggregate([\n    {\n      $match: {\n        _id: groupChat._id,\n      },\n    },\n    ...chatCommonAggregation(),\n  ]);\n\n  const payload = chat[0];\n\n  if (!payload) {\n    throw new ApiError(500, \"Internal server error\");\n  }\n\n  // logic to emit socket event about the new group chat added to the participants\n  payload?.participants?.forEach((participant) => {\n    if (participant._id.toString() === req.user._id.toString()) return; // don't emit the event for the logged in use as he is the one who is initiating the chat\n    // emit event to other participants with new chat as a payload\n    emitSocketEvent(\n      req,\n      participant._id?.toString(),\n      ChatEventEnum.NEW_CHAT_EVENT,\n      payload\n    );\n  });\n\n  return res\n    .status(201)\n    .json(new ApiResponse(201, payload, \"Group chat created successfully\"));\n});\n\nconst getGroupChatDetails = asyncHandler(async (req, res) => {\n  const { chatId } = req.params;\n  const groupChat = await Chat.aggregate([\n    {\n      $match: {\n        _id: new mongoose.Types.ObjectId(chatId),\n        isGroupChat: true,\n      },\n    },\n    ...chatCommonAggregation(),\n  ]);\n\n  const chat = groupChat[0];\n\n  if (!chat) {\n    throw new ApiError(404, \"Group chat does not exist\");\n  }\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, chat, \"Group chat fetched successfully\"));\n});\n\nconst renameGroupChat = asyncHandler(async (req, res) => {\n  const { chatId } = req.params;\n  const { name } = req.body;\n\n  // check for chat existence\n  const groupChat = await Chat.findOne({\n    _id: new mongoose.Types.ObjectId(chatId),\n    isGroupChat: true,\n  });\n\n  if (!groupChat) {\n    throw new ApiError(404, \"Group chat does not exist\");\n  }\n\n  // only admin can change the name\n  if (groupChat.admin?.toString() !== req.user._id?.toString()) {\n    throw new ApiError(404, \"You are not an admin\");\n  }\n\n  const updatedGroupChat = await Chat.findByIdAndUpdate(\n    chatId,\n    {\n      $set: {\n        name,\n      },\n    },\n    { new: true }\n  );\n\n  const chat = await Chat.aggregate([\n    {\n      $match: {\n        _id: updatedGroupChat._id,\n      },\n    },\n    ...chatCommonAggregation(),\n  ]);\n\n  const payload = chat[0];\n\n  if (!payload) {\n    throw new ApiError(500, \"Internal server error\");\n  }\n\n  // logic to emit socket event about the updated chat name to the participants\n  payload?.participants?.forEach((participant) => {\n    // emit event to all the participants with updated chat as a payload\n    emitSocketEvent(\n      req,\n      participant._id?.toString(),\n      ChatEventEnum.UPDATE_GROUP_NAME_EVENT,\n      payload\n    );\n  });\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(200, chat[0], \"Group chat name updated successfully\")\n    );\n});\n\nconst deleteGroupChat = asyncHandler(async (req, res) => {\n  const { chatId } = req.params;\n\n  // check for the group chat existence\n  const groupChat = await Chat.aggregate([\n    {\n      $match: {\n        _id: new mongoose.Types.ObjectId(chatId),\n        isGroupChat: true,\n      },\n    },\n    ...chatCommonAggregation(),\n  ]);\n\n  const chat = groupChat[0];\n\n  if (!chat) {\n    throw new ApiError(404, \"Group chat does not exist\");\n  }\n\n  // check if the user who is deleting is the group admin\n  if (chat.admin?.toString() !== req.user._id?.toString()) {\n    throw new ApiError(404, \"Only admin can delete the group\");\n  }\n\n  await Chat.findByIdAndDelete(chatId); // delete the chat\n\n  await deleteCascadeChatMessages(chatId); // remove all messages and attachments associated with the chat\n\n  // logic to emit socket event about the group chat deleted to the participants\n  chat?.participants?.forEach((participant) => {\n    if (participant._id.toString() === req.user._id.toString()) return; // don't emit the event for the logged in use as he is the one who is deleting\n    // emit event to other participants with left chat as a payload\n    emitSocketEvent(\n      req,\n      participant._id?.toString(),\n      ChatEventEnum.LEAVE_CHAT_EVENT,\n      chat\n    );\n  });\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, {}, \"Group chat deleted successfully\"));\n});\n\nconst deleteOneOnOneChat = asyncHandler(async (req, res) => {\n  const { chatId } = req.params;\n\n  // check for chat existence\n  const chat = await Chat.aggregate([\n    {\n      $match: {\n        _id: new mongoose.Types.ObjectId(chatId),\n      },\n    },\n    ...chatCommonAggregation(),\n  ]);\n\n  const payload = chat[0];\n\n  if (!payload) {\n    throw new ApiError(404, \"Chat does not exist\");\n  }\n\n  await Chat.findByIdAndDelete(chatId); // delete the chat even if user is not admin because it's a personal chat\n\n  await deleteCascadeChatMessages(chatId); // delete all the messages and attachments associated with the chat\n\n  const otherParticipant = payload?.participants?.find(\n    (participant) => participant?._id.toString() !== req.user._id.toString() // get the other participant in chat for socket\n  );\n\n  // emit event to other participant with left chat as a payload\n  emitSocketEvent(\n    req,\n    otherParticipant._id?.toString(),\n    ChatEventEnum.LEAVE_CHAT_EVENT,\n    payload\n  );\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, {}, \"Chat deleted successfully\"));\n});\n\nconst leaveGroupChat = asyncHandler(async (req, res) => {\n  const { chatId } = req.params;\n\n  // check if chat is a group\n  const groupChat = await Chat.findOne({\n    _id: new mongoose.Types.ObjectId(chatId),\n    isGroupChat: true,\n  });\n\n  if (!groupChat) {\n    throw new ApiError(404, \"Group chat does not exist\");\n  }\n\n  const existingParticipants = groupChat.participants;\n\n  // check if the participant that is leaving the group, is part of the group\n  if (!existingParticipants?.includes(req.user?._id)) {\n    throw new ApiError(400, \"You are not a part of this group chat\");\n  }\n\n  const updatedChat = await Chat.findByIdAndUpdate(\n    chatId,\n    {\n      $pull: {\n        participants: req.user?._id, // leave the group\n      },\n    },\n    { new: true }\n  );\n\n  const chat = await Chat.aggregate([\n    {\n      $match: {\n        _id: updatedChat._id,\n      },\n    },\n    ...chatCommonAggregation(),\n  ]);\n\n  const payload = chat[0];\n\n  if (!payload) {\n    throw new ApiError(500, \"Internal server error\");\n  }\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, payload, \"Left a group successfully\"));\n});\n\nconst addNewParticipantInGroupChat = asyncHandler(async (req, res) => {\n  const { chatId, participantId } = req.params;\n\n  // check if chat is a group\n  const groupChat = await Chat.findOne({\n    _id: new mongoose.Types.ObjectId(chatId),\n    isGroupChat: true,\n  });\n\n  if (!groupChat) {\n    throw new ApiError(404, \"Group chat does not exist\");\n  }\n\n  // check if user who is adding is a group admin\n  if (groupChat.admin?.toString() !== req.user._id?.toString()) {\n    throw new ApiError(404, \"You are not an admin\");\n  }\n\n  const existingParticipants = groupChat.participants;\n\n  // check if the participant that is being added in a part of the group\n  if (existingParticipants?.includes(participantId)) {\n    throw new ApiError(409, \"Participant already in a group chat\");\n  }\n\n  const updatedChat = await Chat.findByIdAndUpdate(\n    chatId,\n    {\n      $push: {\n        participants: participantId, // add new participant id\n      },\n    },\n    { new: true }\n  );\n\n  const chat = await Chat.aggregate([\n    {\n      $match: {\n        _id: updatedChat._id,\n      },\n    },\n    ...chatCommonAggregation(),\n  ]);\n\n  const payload = chat[0];\n\n  if (!payload) {\n    throw new ApiError(500, \"Internal server error\");\n  }\n\n  // emit new chat event to the added participant\n  emitSocketEvent(req, participantId, ChatEventEnum.NEW_CHAT_EVENT, payload);\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, payload, \"Participant added successfully\"));\n});\n\nconst removeParticipantFromGroupChat = asyncHandler(async (req, res) => {\n  const { chatId, participantId } = req.params;\n\n  // check if chat is a group\n  const groupChat = await Chat.findOne({\n    _id: new mongoose.Types.ObjectId(chatId),\n    isGroupChat: true,\n  });\n\n  if (!groupChat) {\n    throw new ApiError(404, \"Group chat does not exist\");\n  }\n\n  // check if user who is deleting is a group admin\n  if (groupChat.admin?.toString() !== req.user._id?.toString()) {\n    throw new ApiError(404, \"You are not an admin\");\n  }\n\n  const existingParticipants = groupChat.participants;\n\n  // check if the participant that is being removed in a part of the group\n  if (!existingParticipants?.includes(participantId)) {\n    throw new ApiError(400, \"Participant does not exist in the group chat\");\n  }\n\n  const updatedChat = await Chat.findByIdAndUpdate(\n    chatId,\n    {\n      $pull: {\n        participants: participantId, // remove participant id\n      },\n    },\n    { new: true }\n  );\n\n  const chat = await Chat.aggregate([\n    {\n      $match: {\n        _id: updatedChat._id,\n      },\n    },\n    ...chatCommonAggregation(),\n  ]);\n\n  const payload = chat[0];\n\n  if (!payload) {\n    throw new ApiError(500, \"Internal server error\");\n  }\n\n  // emit leave chat event to the removed participant\n  emitSocketEvent(req, participantId, ChatEventEnum.LEAVE_CHAT_EVENT, payload);\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, payload, \"Participant removed successfully\"));\n});\n\nconst getAllChats = asyncHandler(async (req, res) => {\n  const chats = await Chat.aggregate([\n    {\n      $match: {\n        participants: { $elemMatch: { $eq: req.user._id } }, // get all chats that have logged in user as a participant\n      },\n    },\n    {\n      $sort: {\n        updatedAt: -1,\n      },\n    },\n    ...chatCommonAggregation(),\n  ]);\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(200, chats || [], \"User chats fetched successfully!\")\n    );\n});\n\nexport {\n  addNewParticipantInGroupChat,\n  createAGroupChat,\n  createOrGetAOneOnOneChat,\n  deleteGroupChat,\n  deleteOneOnOneChat,\n  getAllChats,\n  getGroupChatDetails,\n  leaveGroupChat,\n  removeParticipantFromGroupChat,\n  renameGroupChat,\n  searchAvailableUsers,\n};\n"
  },
  {
    "path": "src/controllers/apps/chat-app/message.controllers.js",
    "content": "import mongoose from \"mongoose\";\nimport { ChatEventEnum } from \"../../../constants.js\";\nimport { Chat } from \"../../../models/apps/chat-app/chat.models.js\";\nimport { ChatMessage } from \"../../../models/apps/chat-app/message.models.js\";\nimport { emitSocketEvent } from \"../../../socket/index.js\";\nimport { ApiError } from \"../../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../../utils/asyncHandler.js\";\nimport {\n  getLocalPath,\n  getStaticFilePath,\n  removeLocalFile,\n} from \"../../../utils/helpers.js\";\n\n/**\n * @description Utility function which returns the pipeline stages to structure the chat message schema with common lookups\n * @returns {mongoose.PipelineStage[]}\n */\nconst chatMessageCommonAggregation = () => {\n  return [\n    {\n      $lookup: {\n        from: \"users\",\n        foreignField: \"_id\",\n        localField: \"sender\",\n        as: \"sender\",\n        pipeline: [\n          {\n            $project: {\n              username: 1,\n              avatar: 1,\n              email: 1,\n            },\n          },\n        ],\n      },\n    },\n    {\n      $addFields: {\n        sender: { $first: \"$sender\" },\n      },\n    },\n  ];\n};\n\nconst getAllMessages = asyncHandler(async (req, res) => {\n  const { chatId } = req.params;\n\n  const selectedChat = await Chat.findById(chatId);\n\n  if (!selectedChat) {\n    throw new ApiError(404, \"Chat does not exist\");\n  }\n\n  // Only send messages if the logged in user is a part of the chat he is requesting messages of\n  if (!selectedChat.participants?.includes(req.user?._id)) {\n    throw new ApiError(400, \"User is not a part of this chat\");\n  }\n\n  const messages = await ChatMessage.aggregate([\n    {\n      $match: {\n        chat: new mongoose.Types.ObjectId(chatId),\n      },\n    },\n    ...chatMessageCommonAggregation(),\n    {\n      $sort: {\n        createdAt: -1,\n      },\n    },\n  ]);\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(200, messages || [], \"Messages fetched successfully\")\n    );\n});\n\nconst sendMessage = asyncHandler(async (req, res) => {\n  const { chatId } = req.params;\n  const { content } = req.body;\n\n  if (!content && !req.files?.attachments?.length) {\n    throw new ApiError(400, \"Message content or attachment is required\");\n  }\n\n  const selectedChat = await Chat.findById(chatId);\n\n  if (!selectedChat) {\n    throw new ApiError(404, \"Chat does not exist\");\n  }\n\n  const messageFiles = [];\n\n  if (req.files && req.files.attachments?.length > 0) {\n    req.files.attachments?.map((attachment) => {\n      messageFiles.push({\n        url: getStaticFilePath(req, attachment.filename),\n        localPath: getLocalPath(attachment.filename),\n      });\n    });\n  }\n\n  // Create a new message instance with appropriate metadata\n  const message = await ChatMessage.create({\n    sender: new mongoose.Types.ObjectId(req.user._id),\n    content: content || \"\",\n    chat: new mongoose.Types.ObjectId(chatId),\n    attachments: messageFiles,\n  });\n\n  // update the chat's last message which could be utilized to show last message in the list item\n  const chat = await Chat.findByIdAndUpdate(\n    chatId,\n    {\n      $set: {\n        lastMessage: message._id,\n      },\n    },\n    { new: true }\n  );\n\n  // structure the message\n  const messages = await ChatMessage.aggregate([\n    {\n      $match: {\n        _id: new mongoose.Types.ObjectId(message._id),\n      },\n    },\n    ...chatMessageCommonAggregation(),\n  ]);\n\n  // Store the aggregation result\n  const receivedMessage = messages[0];\n\n  if (!receivedMessage) {\n    throw new ApiError(500, \"Internal server error\");\n  }\n\n  // logic to emit socket event about the new message created to the other participants\n  chat.participants.forEach((participantObjectId) => {\n    // here the chat is the raw instance of the chat in which participants is the array of object ids of users\n    // avoid emitting event to the user who is sending the message\n    if (participantObjectId.toString() === req.user._id.toString()) return;\n\n    // emit the receive message event to the other participants with received message as the payload\n    emitSocketEvent(\n      req,\n      participantObjectId.toString(),\n      ChatEventEnum.MESSAGE_RECEIVED_EVENT,\n      receivedMessage\n    );\n  });\n\n  return res\n    .status(201)\n    .json(new ApiResponse(201, receivedMessage, \"Message saved successfully\"));\n});\n\nconst deleteMessage = asyncHandler(async (req, res) => {\n  //controller to delete chat messages and attachments\n\n  const { chatId, messageId } = req.params;\n\n  //Find the chat based on chatId and checking if user is a participant of the chat\n  const chat = await Chat.findOne({\n    _id: new mongoose.Types.ObjectId(chatId),\n    participants: req.user?._id,\n  });\n\n  if (!chat) {\n    throw new ApiError(404, \"Chat does not exist\");\n  }\n\n  //Find the message based on message id\n  const message = await ChatMessage.findOne({\n    _id: new mongoose.Types.ObjectId(messageId),\n  });\n\n  if (!message) {\n    throw new ApiError(404, \"Message does not exist\");\n  }\n\n  // Check if user is the sender of the message\n  if (message.sender.toString() !== req.user._id.toString()) {\n    throw new ApiError(\n      403,\n      \"You are not the authorised to delete the message, you are not the sender\"\n    );\n  }\n  if (message.attachments.length > 0) {\n    //If the message is attachment  remove the attachments from the server\n    message.attachments.map((asset) => {\n      removeLocalFile(asset.localPath);\n    });\n  }\n  //deleting the message from DB\n  await ChatMessage.deleteOne({\n    _id: new mongoose.Types.ObjectId(messageId),\n  });\n\n  //Updating the last message of the chat to the previous message after deletion if the message deleted was last message\n  if (chat.lastMessage.toString() === message._id.toString()) {\n    const lastMessage = await ChatMessage.findOne(\n      { chat: chatId },\n      {},\n      { sort: { createdAt: -1 } }\n    );\n\n    await Chat.findByIdAndUpdate(chatId, {\n      lastMessage: lastMessage ? lastMessage?._id : null,\n    });\n  }\n  // logic to emit socket event about the message deleted  to the other participants\n  chat.participants.forEach((participantObjectId) => {\n    // here the chat is the raw instance of the chat in which participants is the array of object ids of users\n    // avoid emitting event to the user who is deleting the message\n    if (participantObjectId.toString() === req.user._id.toString()) return;\n    // emit the delete message event to the other participants frontend with delete messageId as the payload\n    emitSocketEvent(\n      req,\n      participantObjectId.toString(),\n      ChatEventEnum.MESSAGE_DELETE_EVENT,\n      message\n    );\n  });\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, message, \"Message deleted successfully\"));\n});\n\nexport { getAllMessages, sendMessage, deleteMessage };\n"
  },
  {
    "path": "src/controllers/apps/ecommerce/address.controllers.js",
    "content": "import { Address } from \"../../../models/apps/ecommerce/address.models.js\";\nimport { ApiError } from \"../../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../../utils/asyncHandler.js\";\nimport { getMongoosePaginationOptions } from \"../../../utils/helpers.js\";\n\nconst createAddress = asyncHandler(async (req, res) => {\n  const { addressLine1, addressLine2, pincode, city, state, country } =\n    req.body;\n  const owner = req.user._id;\n\n  const address = await Address.create({\n    addressLine1,\n    addressLine2,\n    city,\n    country,\n    owner,\n    pincode,\n    state,\n  });\n\n  return res\n    .status(201)\n    .json(new ApiResponse(200, address, \"Address created successfully\"));\n});\n\nconst getAllAddresses = asyncHandler(async (req, res) => {\n  const { page = 1, limit = 10 } = req.query;\n  const addressAggregation = Address.aggregate([\n    {\n      $match: {\n        owner: req.user._id,\n      },\n    },\n  ]);\n\n  const addresses = await Address.aggregatePaginate(\n    addressAggregation,\n    getMongoosePaginationOptions({\n      page,\n      limit,\n      customLabels: {\n        totalDocs: \"totalAddresses\",\n        docs: \"addresses\",\n      },\n    })\n  );\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, addresses, \"Addresses fetched successfully\"));\n});\n\nconst getAddressById = asyncHandler(async (req, res) => {\n  const { addressId } = req.params;\n  const address = await Address.findOne({\n    _id: addressId,\n    owner: req.user._id,\n  });\n\n  if (!address) {\n    throw new ApiError(404, \"Address does not exist\");\n  }\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, address, \"Address fetched successfully\"));\n});\n\nconst updateAddress = asyncHandler(async (req, res) => {\n  const { addressId } = req.params;\n  const { addressLine1, addressLine2, pincode, city, state, country } =\n    req.body;\n  const address = await Address.findOneAndUpdate(\n    {\n      _id: addressId,\n      owner: req.user._id,\n    },\n    {\n      $set: {\n        addressLine1,\n        addressLine2,\n        city,\n        country,\n        pincode,\n        state,\n      },\n    },\n    { new: true }\n  );\n\n  if (!address) {\n    throw new ApiError(404, \"Address does not exist\");\n  }\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, address, \"Address updated successfully\"));\n});\n\nconst deleteAddress = asyncHandler(async (req, res) => {\n  const { addressId } = req.params;\n  const address = await Address.findOneAndDelete({\n    _id: addressId,\n    owner: req.user._id,\n  });\n\n  if (!address) {\n    throw new ApiError(404, \"Address does not exist\");\n  }\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n        200,\n        { deletedAddress: address },\n        \"Address deleted successfully\"\n      )\n    );\n});\n\nexport {\n  createAddress,\n  getAllAddresses,\n  getAddressById,\n  updateAddress,\n  deleteAddress,\n};\n"
  },
  {
    "path": "src/controllers/apps/ecommerce/cart.controllers.js",
    "content": "import { Cart } from \"../../../models/apps/ecommerce/cart.models.js\";\nimport { Coupon } from \"../../../models/apps/ecommerce/coupon.models.js\";\nimport { Product } from \"../../../models/apps/ecommerce/product.models.js\";\nimport { ApiError } from \"../../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../../utils/asyncHandler.js\";\n\n/**\n *\n * @param {string} userId\n * @description A utility function, which querys the {@link Cart} model and returns the cart in `Promise<{_id: string, items: {_id: string, product: Product, quantity: number}[], cartTotal: number}>` format\n *  @returns {Promise<{_id: string, items: {_id: string, product: Product, quantity: number}[], cartTotal: number, discountedTotal: number, coupon: Coupon}>}\n */\nexport const getCart = async (userId) => {\n  const cartAggregation = await Cart.aggregate([\n    {\n      $match: {\n        owner: userId,\n      },\n    },\n    {\n      $unwind: \"$items\",\n    },\n    {\n      $lookup: {\n        from: \"products\",\n        localField: \"items.productId\",\n        foreignField: \"_id\",\n        as: \"product\",\n      },\n    },\n    {\n      $project: {\n        // _id: 0,\n        product: { $first: \"$product\" },\n        quantity: \"$items.quantity\",\n        coupon: 1, // also project coupon field\n      },\n    },\n    {\n      $group: {\n        _id: \"$_id\",\n        items: {\n          $push: \"$$ROOT\",\n        },\n        coupon: { $first: \"$coupon\" }, // get first value of coupon after grouping\n        cartTotal: {\n          $sum: {\n            $multiply: [\"$product.price\", \"$quantity\"], // calculate the cart total based on product price * total quantity\n          },\n        },\n      },\n    },\n    {\n      $lookup: {\n        // lookup for the coupon\n        from: \"coupons\",\n        localField: \"coupon\",\n        foreignField: \"_id\",\n        as: \"coupon\",\n      },\n    },\n    {\n      $addFields: {\n        // As lookup returns an array we access the first item in the lookup array\n        coupon: { $first: \"$coupon\" },\n      },\n    },\n    {\n      $addFields: {\n        discountedTotal: {\n          // Final total is the total we get once user applies any coupon\n          // final total is total cart value - coupon's discount value\n          $ifNull: [\n            {\n              $subtract: [\"$cartTotal\", \"$coupon.discountValue\"],\n            },\n            \"$cartTotal\", // if there is no coupon applied we will set cart total as out final total\n            ,\n          ],\n        },\n      },\n    },\n  ]);\n\n  return (\n    cartAggregation[0] ?? {\n      _id: null,\n      items: [],\n      cartTotal: 0,\n      discountedTotal: 0,\n    }\n  );\n};\n\nconst getUserCart = asyncHandler(async (req, res) => {\n  let cart = await getCart(req.user._id);\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, cart, \"Cart fetched successfully\"));\n});\n\nconst addItemOrUpdateItemQuantity = asyncHandler(async (req, res) => {\n  const { productId } = req.params;\n  const { quantity = 1 } = req.body;\n\n  // fetch user cart\n  const cart = await Cart.findOne({\n    owner: req.user._id,\n  });\n\n  // See if product that user is adding exist in the db\n  const product = await Product.findById(productId);\n\n  if (!product) {\n    throw new ApiError(404, \"Product does not exist\");\n  }\n\n  // If product is there check if the quantity that user is adding is less than or equal to the product's stock\n  if (quantity > product.stock) {\n    // if quantity is greater throw an error\n    throw new ApiError(\n      400,\n      product.stock > 0\n        ? \"Only \" +\n          product.stock +\n          \" products are remaining. But you are adding \" +\n          quantity\n        : \"Product is out of stock\"\n    );\n  }\n\n  // See if the product that user is adding already exists in the cart\n  const addedProduct = cart.items?.find(\n    (item) => item.productId.toString() === productId\n  );\n\n  if (addedProduct) {\n    // If product already exist assign a new quantity to it\n    // ! We are not adding or subtracting quantity to keep it dynamic. Frontend will send us updated quantity here\n    addedProduct.quantity = quantity;\n    // if user updates the cart remove the coupon associated with the cart to avoid misuse\n    // Do this only if quantity changes because if user adds a new project the cart total will increase anyways\n    if (cart.coupon) {\n      cart.coupon = null;\n    }\n  } else {\n    // if its a new product being added in the cart push it to the cart items\n    cart.items.push({\n      productId,\n      quantity,\n    });\n  }\n\n  // Finally save the cart\n  await cart.save({ validateBeforeSave: true });\n\n  const newCart = await getCart(req.user._id); // structure the user cart\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, newCart, \"Item added successfully\"));\n});\n\nconst removeItemFromCart = asyncHandler(async (req, res) => {\n  const { productId } = req.params;\n\n  const product = await Product.findById(productId);\n\n  // check for product existence\n  if (!product) {\n    throw new ApiError(404, \"Product does not exist\");\n  }\n\n  const updatedCart = await Cart.findOneAndUpdate(\n    {\n      owner: req.user._id,\n    },\n    {\n      // Pull the product inside the cart items\n      // ! We are not handling decrement logic here that's we are doing in addItemOrUpdateItemQuantity method\n      // ! this controller is responsible to remove the cart item entirely\n      $pull: {\n        items: {\n          productId: productId,\n        },\n      },\n    },\n    { new: true }\n  );\n\n  let cart = await getCart(req.user._id);\n\n  // check if the cart's new total is greater than the minimum cart total requirement of the coupon\n  if (cart.coupon && cart.cartTotal < cart.coupon.minimumCartValue) {\n    // if it is less than minimum cart value remove the coupon code which is applied\n    updatedCart.coupon = null;\n    await updatedCart.save({ validateBeforeSave: false });\n    // fetch the latest updated cart\n    cart = await getCart(req.user._id);\n  }\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, cart, \"Cart item removed successfully\"));\n});\n\nconst clearCart = asyncHandler(async (req, res) => {\n  await Cart.findOneAndUpdate(\n    {\n      owner: req.user._id,\n    },\n    {\n      $set: {\n        items: [],\n        coupon: null,\n      },\n    },\n    { new: true }\n  );\n  const cart = await getCart(req.user._id);\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, cart, \"Cart has been cleared\"));\n});\n\nexport {\n  getUserCart,\n  addItemOrUpdateItemQuantity,\n  removeItemFromCart,\n  clearCart,\n};\n"
  },
  {
    "path": "src/controllers/apps/ecommerce/category.controllers.js",
    "content": "import { Category } from \"../../../models/apps/ecommerce/category.models.js\";\nimport { ApiError } from \"../../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../../utils/asyncHandler.js\";\nimport { getMongoosePaginationOptions } from \"../../../utils/helpers.js\";\n\nconst createCategory = asyncHandler(async (req, res) => {\n  const { name } = req.body;\n\n  const category = await Category.create({ name, owner: req.user._id });\n\n  return res\n    .status(201)\n    .json(new ApiResponse(200, category, \"Category created successfully\"));\n});\n\nconst getAllCategories = asyncHandler(async (req, res) => {\n  const { page = 1, limit = 10 } = req.query;\n  const categoryAggregate = Category.aggregate([{ $match: {} }]);\n\n  const categories = await Category.aggregatePaginate(\n    categoryAggregate,\n    getMongoosePaginationOptions({\n      page,\n      limit,\n      customLabels: {\n        totalDocs: \"totalCategories\",\n        docs: \"categories\",\n      },\n    })\n  );\n  return res\n    .status(200)\n    .json(new ApiResponse(200, categories, \"Categories fetched successfully\"));\n});\n\nconst getCategoryById = asyncHandler(async (req, res) => {\n  const { categoryId } = req.params;\n  const category = await Category.findById(categoryId);\n  if (!category) {\n    throw new ApiError(404, \"Category does not exist\");\n  }\n  return res\n    .status(200)\n    .json(new ApiResponse(200, category, \"Category fetched successfully\"));\n});\n\nconst updateCategory = asyncHandler(async (req, res) => {\n  const { categoryId } = req.params;\n  const { name } = req.body;\n  const category = await Category.findByIdAndUpdate(\n    categoryId,\n    {\n      $set: {\n        name,\n      },\n    },\n    { new: true }\n  );\n  if (!category) {\n    throw new ApiError(404, \"Category does not exist\");\n  }\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, category, \"Category updated successfully\"));\n});\n\nconst deleteCategory = asyncHandler(async (req, res) => {\n  const { categoryId } = req.params;\n  const category = await Category.findByIdAndDelete(categoryId);\n\n  if (!category) {\n    throw new ApiError(404, \"Category does not exist\");\n  }\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n        200,\n        { deletedCategory: category },\n        \"Category deleted successfully\"\n      )\n    );\n});\n\nexport {\n  createCategory,\n  getAllCategories,\n  getCategoryById,\n  updateCategory,\n  deleteCategory,\n};\n"
  },
  {
    "path": "src/controllers/apps/ecommerce/coupon.controllers.js",
    "content": "import mongoose from \"mongoose\";\nimport { CouponTypeEnum } from \"../../../constants.js\";\nimport { Coupon } from \"../../../models/apps/ecommerce/coupon.models.js\";\nimport { ApiError } from \"../../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../../utils/asyncHandler.js\";\nimport { getCart } from \"./cart.controllers.js\";\nimport { Cart } from \"../../../models/apps/ecommerce/cart.models.js\";\nimport { getMongoosePaginationOptions } from \"../../../utils/helpers.js\";\n\nconst createCoupon = asyncHandler(async (req, res) => {\n  const {\n    name,\n    couponCode,\n    type = CouponTypeEnum.FLAT,\n    discountValue,\n    minimumCartValue,\n    startDate,\n    expiryDate,\n  } = req.body;\n\n  const duplicateCoupon = await Coupon.findOne({\n    couponCode: couponCode.trim().toUpperCase(),\n  });\n\n  if (duplicateCoupon) {\n    throw new ApiError(\n      409,\n      \"Coupon with code \" + duplicateCoupon.couponCode + \" already exists\"\n    );\n  }\n\n  if (minimumCartValue && +minimumCartValue < +discountValue) {\n    // This is important because if minimum cart value is 100 and discount value is 300 and,\n    // if user apply the coupon on 150 cart value the cart value will be in negative\n    throw new ApiError(\n      400,\n      \"Minimum cart value must be greater than or equal to the discount value\"\n    );\n  }\n\n  const coupon = await Coupon.create({\n    name,\n    couponCode,\n    type,\n    discountValue,\n    minimumCartValue,\n    startDate,\n    expiryDate,\n    owner: req.user._id,\n  });\n\n  return res\n    .status(201)\n    .json(new ApiResponse(201, coupon, \"Coupon created successfully\"));\n});\n\nconst applyCoupon = asyncHandler(async (req, res) => {\n  const { couponCode } = req.body;\n\n  // check for coupon code existence\n  let aggregatedCoupon = await Coupon.aggregate([\n    {\n      $match: {\n        // check for coupon code availability\n        couponCode: couponCode.trim().toUpperCase(),\n        // coupon is valid if start date is less than current date\n        startDate: {\n          $lt: new Date(),\n        },\n        // coupon is valid if expiry date is less than current date\n        expiryDate: {\n          $gt: new Date(),\n        },\n        isActive: {\n          $eq: true,\n        },\n      },\n    },\n  ]);\n\n  const coupon = aggregatedCoupon[0];\n\n  if (!coupon) {\n    throw new ApiError(404, \"Invalid coupon code\");\n  }\n\n  // get the user cart\n  const userCart = await getCart(req.user._id);\n\n  // check if the cart's total is greater than the minimum cart total requirement of the coupon\n  if (userCart.cartTotal < coupon.minimumCartValue) {\n    throw new ApiError(\n      400,\n      \"Add items worth INR \" +\n        (coupon.minimumCartValue - userCart.cartTotal) +\n        \"/- or more to apply this coupon\"\n    );\n  }\n\n  // if all the above checks are passed\n  // Find the user cart and apply coupon to it\n  await Cart.findOneAndUpdate(\n    {\n      owner: req.user._id,\n    },\n    {\n      $set: {\n        coupon: coupon._id,\n      },\n    },\n    { new: true }\n  );\n\n  const newCart = await getCart(req.user._id);\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, newCart, \"Coupon applied successfully\"));\n});\n\nconst removeCouponFromCart = asyncHandler(async (req, res) => {\n  // Find the user cart and remove the coupon from it\n  await Cart.findOneAndUpdate(\n    {\n      owner: req.user._id,\n    },\n    {\n      $set: {\n        coupon: null,\n      },\n    },\n    { new: true }\n  );\n\n  const newCart = await getCart(req.user._id);\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, newCart, \"Coupon removed successfully\"));\n});\n\nconst updateCouponActiveStatus = asyncHandler(async (req, res) => {\n  const { isActive } = req.body;\n  const { couponId } = req.params;\n\n  const updatedCoupon = await Coupon.findByIdAndUpdate(\n    couponId,\n    {\n      $set: {\n        isActive,\n      },\n    },\n    { new: true }\n  );\n\n  if (!updatedCoupon) {\n    throw new ApiError(404, \"Coupon does not exist\");\n  }\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n        200,\n        updatedCoupon,\n        `Coupon is ${updatedCoupon?.isActive ? \"active\" : \"inactive\"}`\n      )\n    );\n});\n\nconst getAllCoupons = asyncHandler(async (req, res) => {\n  const { page = 1, limit = 10 } = req.query;\n  const couponAggregate = Coupon.aggregate([{ $match: {} }]);\n\n  const coupons = await Coupon.aggregatePaginate(\n    couponAggregate,\n    getMongoosePaginationOptions({\n      page,\n      limit,\n      customLabels: {\n        totalDocs: \"totalCoupons\",\n        docs: \"coupons\",\n      },\n    })\n  );\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, coupons, \"Coupons fetched successfully\"));\n});\n\nconst getValidCouponsForCustomer = asyncHandler(async (req, res) => {\n  const { page = 1, limit = 10 } = req.query;\n\n  const userCart = await getCart(req.user._id);\n  const cartTotal = userCart.cartTotal;\n  const couponAggregate = Coupon.aggregate([\n    {\n      $match: {\n        // coupon is valid if start date is less than current date\n        startDate: {\n          $lt: new Date(),\n        },\n        // coupon is valid if expiry date is less than current date\n        expiryDate: {\n          $gt: new Date(),\n        },\n        isActive: {\n          $eq: true,\n        },\n        // filter coupons with minimum cart value less than or equal to customer's current cart value\n        minimumCartValue: {\n          $lte: cartTotal,\n        },\n      },\n    },\n  ]);\n\n  const coupons = await Coupon.aggregatePaginate(\n    couponAggregate,\n    getMongoosePaginationOptions({\n      page,\n      limit,\n      customLabels: {\n        totalDocs: \"totalCoupons\",\n        docs: \"coupons\",\n      },\n    })\n  );\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(200, coupons, \"Customer coupons fetched successfully\")\n    );\n});\n\nconst getCouponById = asyncHandler(async (req, res) => {\n  const { couponId } = req.params;\n\n  const coupon = await Coupon.findById(couponId);\n  if (!coupon) {\n    throw new ApiError(404, \"Coupon does not exist\");\n  }\n  return res\n    .status(200)\n    .json(new ApiResponse(200, coupon, \"Coupon deleted successfully\"));\n});\n\nconst updateCoupon = asyncHandler(async (req, res) => {\n  const { couponId } = req.params;\n  const {\n    name,\n    couponCode,\n    type = CouponTypeEnum.FLAT,\n    discountValue,\n    minimumCartValue,\n    startDate,\n    expiryDate,\n  } = req.body;\n\n  const couponToBeUpdated = await Coupon.findById(couponId);\n\n  if (!couponToBeUpdated) {\n    throw new ApiError(404, \"Coupon does not exist\");\n  }\n\n  const duplicateCoupon = await Coupon.aggregate([\n    {\n      $match: {\n        // See if there is a similar coupon code exist\n        couponCode: couponCode?.trim().toUpperCase(),\n        // Also ignore the current coupon code object which we are updating\n        _id: {\n          $ne: new mongoose.Types.ObjectId(couponToBeUpdated._id),\n        },\n      },\n    },\n  ]);\n\n  if (duplicateCoupon[0]) {\n    throw new ApiError(\n      409,\n      \"Coupon with code \" + duplicateCoupon[0].couponCode + \" already exists\"\n    );\n  }\n\n  // Variable to check if min cart value is greater than discount value\n  const _minimumCartValue =\n    minimumCartValue || couponToBeUpdated.minimumCartValue;\n  const _discountValue = discountValue || couponToBeUpdated.discountValue;\n\n  if (_minimumCartValue && +_minimumCartValue < +_discountValue) {\n    throw new ApiError(\n      400,\n      \"Minimum cart value must be greater than or equal to the discount value\"\n    );\n  }\n\n  const coupon = await Coupon.findByIdAndUpdate(\n    couponId,\n    {\n      $set: {\n        name,\n        couponCode,\n        type,\n        discountValue: _discountValue,\n        minimumCartValue: _minimumCartValue,\n        startDate,\n        expiryDate,\n      },\n    },\n    { new: true }\n  );\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, coupon, \"Coupon updated successfully\"));\n});\n\nconst deleteCoupon = asyncHandler(async (req, res) => {\n  const { couponId } = req.params;\n\n  const deletedCoupon = await Coupon.findByIdAndDelete(couponId);\n  if (!deletedCoupon) {\n    throw new ApiError(404, \"Coupon does not exist\");\n  }\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(200, { deletedCoupon }, \"Coupon deleted successfully\")\n    );\n});\n\nexport {\n  createCoupon,\n  getAllCoupons,\n  deleteCoupon,\n  getCouponById,\n  updateCoupon,\n  applyCoupon,\n  removeCouponFromCart,\n  updateCouponActiveStatus,\n  getValidCouponsForCustomer,\n};\n"
  },
  {
    "path": "src/controllers/apps/ecommerce/order.controllers.js",
    "content": "import crypto from \"crypto\";\nimport mongoose from \"mongoose\";\nimport { nanoid } from \"nanoid\";\nimport Razorpay from \"razorpay\";\nimport {\n  AvailableOrderStatuses,\n  OrderStatusEnum,\n  PaymentProviderEnum,\n  paypalBaseUrl,\n} from \"../../../constants.js\";\nimport { Address } from \"../../../models/apps/ecommerce/address.models.js\";\nimport { Cart } from \"../../../models/apps/ecommerce/cart.models.js\";\nimport { EcomOrder } from \"../../../models/apps/ecommerce/order.models.js\";\nimport { Product } from \"../../../models/apps/ecommerce/product.models.js\";\nimport { ApiError } from \"../../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../../utils/asyncHandler.js\";\nimport {\n  orderConfirmationMailgenContent,\n  sendEmail,\n} from \"../../../utils/mail.js\";\nimport { getCart } from \"./cart.controllers.js\";\nimport { getMongoosePaginationOptions } from \"../../../utils/helpers.js\";\n\n// * UTILITY FUNCTIONS\n\nconst generatePaypalAccessToken = async () => {\n  try {\n    const auth = Buffer.from(\n      process.env.PAYPAL_CLIENT_ID + \":\" + process.env.PAYPAL_SECRET\n    ).toString(\"base64\");\n\n    const response = await fetch(`${paypalBaseUrl.sandbox}/v1/oauth2/token`, {\n      method: \"POST\",\n      body: \"grant_type=client_credentials\",\n      headers: {\n        Authorization: `Basic ${auth}`,\n      },\n    });\n    const data = await response.json();\n    return data?.access_token;\n  } catch (error) {\n    throw new ApiError(500, \"Error while generating paypal auth token\");\n  }\n};\n\n/**\n *\n * @param {string} orderPaymentId\n * @param {import(\"express\").Request} req\n * @description Utility function which is responsible for:\n * * Marking order payment done flag to true\n * * Clearing up the cart\n * * Calculate product's remaining stock\n * * Send mail to the user about order confirmation\n */\nconst orderFulfillmentHelper = async (orderPaymentId, req) => {\n  const order = await EcomOrder.findOneAndUpdate(\n    {\n      paymentId: orderPaymentId,\n    },\n    {\n      $set: {\n        isPaymentDone: true,\n      },\n    },\n    { new: true }\n  );\n\n  if (!order) {\n    throw new ApiError(404, \"Order does not exist\");\n  }\n\n  // Get the user's card\n  const cart = await Cart.findOne({\n    owner: req.user._id,\n  });\n\n  const userCart = await getCart(req.user._id);\n\n  // Logic to handle product's stock change once order is placed\n  let bulkStockUpdates = userCart.items.map((item) => {\n    // Reduce the products stock\n    return {\n      updateOne: {\n        filter: { _id: item.product?._id },\n        update: { $inc: { stock: -item.quantity } }, // subtract the item quantity\n      },\n    };\n  });\n\n  // * (bulkWrite()) is faster than sending multiple independent operations (e.g. if you use create())\n  // * because with bulkWrite() there is only one network round trip to the MongoDB server.\n  await Product.bulkWrite(bulkStockUpdates, {\n    skipValidation: true,\n  });\n\n  await sendEmail({\n    email: req.user?.email,\n    subject: \"Order confirmed\",\n    mailgenContent: orderConfirmationMailgenContent(\n      req.user?.username,\n      userCart.items,\n      order.discountedOrderPrice ?? 0 // send discounted price in the mail which is paid by the user\n    ),\n  });\n\n  cart.items = []; // empty the cart\n  cart.coupon = null; // remove the associated coupon\n\n  await cart.save({ validateBeforeSave: false });\n  return order;\n};\n\n/**\n *\n * @param {string} endpoint\n * @param {any} body\n * @description utility function responsible for making paypal api calls for order generation and payment verification\n */\nconst paypalApi = async (endpoint, body = {}) => {\n  const accessToken = await generatePaypalAccessToken();\n  return await fetch(`${paypalBaseUrl.sandbox}/v2/checkout/orders${endpoint}`, {\n    method: \"POST\",\n    headers: {\n      \"Content-Type\": \"application/json\",\n      Authorization: `Bearer ${accessToken}`,\n    },\n    body: JSON.stringify(body),\n  });\n};\n\nlet razorpayInstance;\n\ntry {\n  razorpayInstance = new Razorpay({\n    key_id: process.env.RAZORPAY_KEY_ID,\n    key_secret: process.env.RAZORPAY_KEY_SECRET,\n  });\n} catch (error) {\n  console.error(\"RAZORPAY ERROR: \", error);\n}\n\n// * CONTROLLERS\n\nconst generateRazorpayOrder = asyncHandler(async (req, res) => {\n  const { addressId } = req.body;\n\n  if (!razorpayInstance) {\n    console.error(\"RAZORPAY ERROR: `key_id` is mandatory\");\n    throw new ApiError(500, \"Internal server error\");\n  }\n\n  // Check if address is valid and is of logged in user's\n  const address = await Address.findOne({\n    _id: addressId,\n    owner: req.user._id,\n  });\n\n  if (!address) {\n    throw new ApiError(404, \"Address does not exists\");\n  }\n\n  const cart = await Cart.findOne({\n    owner: req.user._id,\n  });\n\n  if (!cart || !cart.items?.length) {\n    throw new ApiError(400, \"User cart is empty\");\n  }\n  const orderItems = cart.items;\n  const userCart = await getCart(req.user._id);\n\n  // note down th total cart value and cart value after the discount\n  // If no coupon is applied the total and discounted prices will be the same\n  const totalPrice = userCart.cartTotal;\n  const totalDiscountedPrice = userCart.discountedTotal;\n\n  const orderOptions = {\n    amount: parseInt(totalDiscountedPrice) * 100, // in paisa\n    currency: \"INR\", // Might accept from client\n    receipt: nanoid(10),\n  };\n\n  razorpayInstance.orders.create(\n    orderOptions,\n    async function (err, razorpayOrder) {\n      if (!razorpayOrder || (err && err.error)) {\n        // Throwing ApiError here will not trigger the error handler middleware\n        return res\n          .status(err.statusCode)\n          .json(\n            new ApiResponse(\n              err.statusCode,\n              null,\n              err.error.reason ||\n                \"Something went wrong while initialising the razorpay order.\"\n            )\n          );\n      }\n\n      const { addressLine1, addressLine2, city, country, pincode, state } =\n        address;\n\n      // Create an order while we generate razorpay session\n      // In case payment is done and there is some network issue in the payment verification api\n      // We will at least have a record of the order\n      const unpaidOrder = await EcomOrder.create({\n        address: {\n          addressLine1,\n          addressLine2,\n          city,\n          country,\n          pincode,\n          state,\n        },\n        customer: req.user._id,\n        items: orderItems,\n        orderPrice: totalPrice ?? 0,\n        discountedOrderPrice: totalDiscountedPrice ?? 0,\n        paymentProvider: PaymentProviderEnum.RAZORPAY,\n        paymentId: razorpayOrder.id,\n        coupon: userCart.coupon?._id,\n      });\n      if (unpaidOrder) {\n        // if order is created then only proceed with the payment\n        return res\n          .status(200)\n          .json(\n            new ApiResponse(200, razorpayOrder, \"Razorpay order generated\")\n          );\n      } else {\n        return res\n          .status(500)\n          .json(\n            new ApiResponse(\n              500,\n              null,\n              \"Something went wrong while initialising the razorpay order.\"\n            )\n          );\n      }\n    }\n  );\n});\n\nconst verifyRazorpayPayment = asyncHandler(async (req, res) => {\n  const { razorpay_order_id, razorpay_payment_id, razorpay_signature } =\n    req.body;\n\n  let body = razorpay_order_id + \"|\" + razorpay_payment_id;\n\n  let expectedSignature = crypto\n    .createHmac(\"sha256\", process.env.RAZORPAY_KEY_SECRET)\n    .update(body.toString())\n    .digest(\"hex\");\n\n  if (expectedSignature === razorpay_signature) {\n    const order = await orderFulfillmentHelper(razorpay_order_id, req);\n    return res\n      .status(201)\n      .json(new ApiResponse(201, order, \"Order placed successfully\"));\n  } else {\n    throw new ApiError(400, \"Invalid razorpay signature\");\n  }\n});\n\nconst generatePaypalOrder = asyncHandler(async (req, res) => {\n  const { addressId } = req.body;\n\n  // Check if address is valid and is of logged in user's\n  const address = await Address.findOne({\n    _id: addressId,\n    owner: req.user._id,\n  });\n\n  if (!address) {\n    throw new ApiError(404, \"Address does not exists\");\n  }\n\n  const cart = await Cart.findOne({\n    owner: req.user._id,\n  });\n\n  if (!cart || !cart.items?.length) {\n    throw new ApiError(400, \"User cart is empty\");\n  }\n  const orderItems = cart.items; // these items are used further to set product stock\n  const userCart = await getCart(req.user._id);\n\n  // note down th total cart value and cart value after the discount\n  // If no coupon is applied the total and discounted prices will be the same\n  const totalPrice = userCart.cartTotal;\n  const totalDiscountedPrice = userCart.discountedTotal;\n\n  const response = await paypalApi(\"/\", {\n    intent: \"CAPTURE\",\n    purchase_units: [\n      {\n        amount: {\n          currency_code: \"USD\",\n          value: (totalDiscountedPrice * 0.012).toFixed(0), // convert indian rupees to dollars\n        },\n      },\n    ],\n  });\n\n  const paypalOrder = await response.json();\n\n  if (paypalOrder?.id) {\n    const { addressLine1, addressLine2, city, country, pincode, state } =\n      address;\n    // Create an order while we generate paypal session\n    // In case payment is done and there is some network issue in the payment verification api\n    // We will at least have a record of the order\n    const unpaidOrder = await EcomOrder.create({\n      address: {\n        addressLine1,\n        addressLine2,\n        city,\n        country,\n        pincode,\n        state,\n      },\n      customer: req.user._id,\n      items: orderItems,\n      orderPrice: totalPrice ?? 0,\n      discountedOrderPrice: totalDiscountedPrice ?? 0,\n      paymentProvider: PaymentProviderEnum.PAYPAL,\n      paymentId: paypalOrder.id,\n      coupon: userCart.coupon?._id,\n    });\n    if (unpaidOrder) {\n      // if order is created then only proceed with the payment\n      return res\n        .status(201)\n        .json(\n          new ApiResponse(\n            201,\n            paypalOrder,\n            \"Paypal order generated successfully\"\n          )\n        );\n    }\n  }\n  // if there is no paypal order or unpaidOrder created throw an error\n  console.log(\n    \"Make sure you have provided your PAYPAL credentials in the .env file\"\n  );\n  throw new ApiError(\n    500,\n    \"Something went wrong while initialising the paypal order.\"\n  );\n});\n\nconst verifyPaypalPayment = asyncHandler(async (req, res) => {\n  const { orderId } = req.body;\n\n  const response = await paypalApi(`/${orderId}/capture`, {});\n  const capturedData = await response.json();\n\n  if (capturedData?.status === \"COMPLETED\") {\n    const order = await orderFulfillmentHelper(capturedData.id, req);\n\n    return res\n      .status(200)\n      .json(new ApiResponse(200, order, \"Order placed successfully\"));\n  } else {\n    throw new ApiError(500, \"Something went wrong with the paypal payment\");\n  }\n});\n\nconst updateOrderStatus = asyncHandler(async (req, res) => {\n  const { orderId } = req.params;\n  const { status } = req.body;\n\n  let order = await EcomOrder.findById(orderId);\n\n  if (!order) {\n    throw new ApiError(404, \"Order does not exist\");\n  }\n\n  if (order.status === OrderStatusEnum.DELIVERED) {\n    throw new ApiError(400, \"Order is already delivered\");\n  }\n\n  order = await EcomOrder.findByIdAndUpdate(\n    orderId,\n    {\n      $set: {\n        status,\n      },\n    },\n    { new: true }\n  );\n  return res.status(200).json(\n    new ApiResponse(\n      200,\n      {\n        status,\n      },\n      \"Order status changed successfully\"\n    )\n  );\n});\n\nconst getOrderById = asyncHandler(async (req, res) => {\n  const { orderId } = req.params;\n  const order = await EcomOrder.aggregate([\n    {\n      $match: {\n        _id: new mongoose.Types.ObjectId(orderId),\n      },\n    },\n    // lookup for a customer associated with the order\n    {\n      $lookup: {\n        from: \"users\",\n        localField: \"customer\",\n        foreignField: \"_id\",\n        as: \"customer\",\n        pipeline: [\n          {\n            $project: {\n              _id: 1,\n              username: 1,\n              email: 1,\n            },\n          },\n        ],\n      },\n    },\n    // lookup for a coupon applied while placing the order\n    {\n      $lookup: {\n        from: \"coupons\",\n        foreignField: \"_id\",\n        localField: \"coupon\",\n        as: \"coupon\",\n        pipeline: [\n          {\n            $project: {\n              name: 1,\n              couponCode: 1,\n            },\n          },\n        ],\n      },\n    },\n    // lookup returns array so get the first element of address and customer\n    {\n      $addFields: {\n        customer: { $first: \"$customer\" },\n        coupon: { $ifNull: [{ $first: \"$coupon\" }, null] },\n      },\n    },\n    // Now we have array of order items with productId being the id of the product that is being ordered\n    // So we want to send complete details of that product\n\n    // To do so we first unwind the items array\n    { $unwind: \"$items\" },\n\n    // it gives us documents with `items` being an object with ket {_id, productId, quantity}\n    {\n      // lookup for a product associated\n      $lookup: {\n        from: \"products\",\n        localField: \"items.productId\",\n        foreignField: \"_id\",\n        as: \"items.product\", // store that looked up product in items.product key\n      },\n    },\n    // As we know lookup will return an array\n    // we want product key to be an object not array\n    // So, once lookup is done we access first item in an array\n    { $addFields: { \"items.product\": { $first: \"$items.product\" } } },\n    // As we have unwind the items array the output of the following stages is not desired one\n    // So to make it desired we need to group whatever we have unwinded\n    {\n      $group: {\n        // we group the documents with `_id (which is an order id)`\n        // The reason being, each order is unique and main entity of this api\n        _id: \"$_id\",\n        order: { $first: \"$$ROOT\" }, // we also assign whole root object to be the order\n        // we create a new key orderItems in which we will push each order item (product details and quantity) with complete product details\n        orderItems: {\n          $push: {\n            _id: \"$items._id\",\n            quantity: \"$items.quantity\",\n            product: \"$items.product\",\n          },\n        },\n      },\n    },\n    {\n      $addFields: {\n        // now we will create a new items key in the order object and assign the orderItems value to it to keep everything in the `order` key\n        \"order.items\": \"$orderItems\",\n      },\n    },\n    {\n      $project: {\n        // ignore the orderItems key as we don't need it\n        orderItems: 0,\n      },\n    },\n  ]);\n\n  if (!order[0]) {\n    throw new ApiError(404, \"Order does not exist\");\n  }\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, order[0], \"Order fetched successfully\"));\n});\n\nconst getOrderListAdmin = asyncHandler(async (req, res) => {\n  const { status, page = 1, limit = 10 } = req.query;\n  const orderAggregate = EcomOrder.aggregate([\n    {\n      $match:\n        status && AvailableOrderStatuses.includes(status.toUpperCase())\n          ? {\n              status: status.toUpperCase(),\n            }\n          : {},\n    },\n    // lookup for a customer associated with the order\n    {\n      $lookup: {\n        from: \"users\",\n        localField: \"customer\",\n        foreignField: \"_id\",\n        as: \"customer\",\n        pipeline: [\n          {\n            $project: {\n              _id: 1,\n              username: 1,\n              email: 1,\n            },\n          },\n        ],\n      },\n    },\n    {\n      $lookup: {\n        from: \"coupons\",\n        foreignField: \"_id\",\n        localField: \"coupon\",\n        as: \"coupon\",\n        pipeline: [\n          {\n            $project: {\n              name: 1,\n              couponCode: 1,\n            },\n          },\n        ],\n      },\n    },\n    {\n      $addFields: {\n        customer: { $first: \"$customer\" },\n        coupon: { $ifNull: [{ $first: \"$coupon\" }, null] },\n        totalOrderItems: { $size: \"$items\" },\n      },\n    },\n    {\n      $project: {\n        items: 0,\n      },\n    },\n  ]);\n\n  const orders = await EcomOrder.aggregatePaginate(\n    orderAggregate,\n    getMongoosePaginationOptions({\n      page,\n      limit,\n      customLabels: {\n        totalDocs: \"totalOrders\",\n        docs: \"orders\",\n      },\n    })\n  );\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, orders, \"Orders fetched successfully\"));\n});\n\nexport {\n  generateRazorpayOrder,\n  generatePaypalOrder,\n  verifyRazorpayPayment,\n  verifyPaypalPayment,\n  getOrderById,\n  getOrderListAdmin,\n  updateOrderStatus,\n};\n"
  },
  {
    "path": "src/controllers/apps/ecommerce/product.controllers.js",
    "content": "import mongoose from \"mongoose\";\nimport { Product } from \"../../../models/apps/ecommerce/product.models.js\";\nimport { ApiError } from \"../../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../../utils/asyncHandler.js\";\nimport {\n  getLocalPath,\n  getMongoosePaginationOptions,\n  getStaticFilePath,\n  removeLocalFile,\n} from \"../../../utils/helpers.js\";\nimport { MAXIMUM_SUB_IMAGE_COUNT } from \"../../../constants.js\";\nimport { Category } from \"../../../models/apps/ecommerce/category.models.js\";\n\nconst getAllProducts = asyncHandler(async (req, res) => {\n  const { page = 1, limit = 10 } = req.query;\n  const productAggregate = Product.aggregate([{ $match: {} }]);\n\n  const products = await Product.aggregatePaginate(\n    productAggregate,\n    getMongoosePaginationOptions({\n      page,\n      limit,\n      customLabels: {\n        totalDocs: \"totalProducts\",\n        docs: \"products\",\n      },\n    })\n  );\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, products, \"Products fetched successfully\"));\n});\n\nconst createProduct = asyncHandler(async (req, res) => {\n  const { name, description, category, price, stock } = req.body;\n\n  const categoryToBeAdded = await Category.findById(category);\n\n  if (!categoryToBeAdded) {\n    throw new ApiError(404, \"Category does not exist\");\n  }\n\n  // Check if user has uploaded a main image\n  if (!req.files?.mainImage || !req.files?.mainImage.length) {\n    throw new ApiError(400, \"Main image is required\");\n  }\n\n  const mainImageUrl = getStaticFilePath(\n    req,\n    req.files?.mainImage[0]?.filename\n  );\n  const mainImageLocalPath = getLocalPath(req.files?.mainImage[0]?.filename);\n\n  // Check if user has uploaded any subImages if yes then extract the file path\n  // else assign an empty array\n  /**\n   * @type {{ url: string; localPath: string; }[]}\n   */\n  const subImages =\n    req.files.subImages && req.files.subImages?.length\n      ? req.files.subImages.map((image) => {\n          const imageUrl = getStaticFilePath(req, image.filename);\n          const imageLocalPath = getLocalPath(image.filename);\n          return { url: imageUrl, localPath: imageLocalPath };\n        })\n      : [];\n\n  const owner = req.user._id;\n\n  const product = await Product.create({\n    name,\n    description,\n    stock,\n    price,\n    owner,\n    mainImage: {\n      url: mainImageUrl,\n      localPath: mainImageLocalPath,\n    },\n    subImages,\n    category,\n  });\n  return res\n    .status(201)\n    .json(new ApiResponse(201, product, \"Product created successfully\"));\n});\n\nconst updateProduct = asyncHandler(async (req, res) => {\n  const { productId } = req.params;\n  const { name, description, category, price, stock } = req.body;\n\n  const product = await Product.findById(productId);\n\n  // Check the product existence\n  if (!product) {\n    throw new ApiError(404, \"Product does not exist\");\n  }\n\n  const mainImage = req.files?.mainImage?.length\n    ? {\n        // If user has uploaded new main image then we have to create an object with new url and local path in the project\n        url: getStaticFilePath(req, req.files?.mainImage[0]?.filename),\n        localPath: getLocalPath(req.files?.mainImage[0]?.filename),\n      }\n    : product.mainImage; // if there is no new main image uploaded we will stay with the old main image of the product\n\n  /**\n   * @type {{ url: string; localPath: string; }[]}\n   */\n  let subImages =\n    // If user has uploaded new sub images then we have to create an object with new url and local path in the array format\n    req.files?.subImages && req.files.subImages?.length\n      ? req.files.subImages.map((image) => {\n          const imageUrl = getStaticFilePath(req, image.filename);\n          const imageLocalPath = getLocalPath(image.filename);\n          return { url: imageUrl, localPath: imageLocalPath };\n        })\n      : []; // if there are no new sub images uploaded we want to keep an empty array\n\n  const existedSubImages = product.subImages.length; // total sub images already present in the project\n  const newSubImages = subImages.length; // Newly uploaded sub images\n  const totalSubImages = existedSubImages + newSubImages;\n\n  if (totalSubImages > MAXIMUM_SUB_IMAGE_COUNT) {\n    // We want user to only add at max 4 sub images\n    // If the existing sub images + new sub images count exceeds 4\n    // We want to throw an error\n\n    // Before throwing an error we need to do some cleanup\n\n    // remove the  newly uploaded sub images by multer as there is not updation happening\n    subImages?.map((img) => removeLocalFile(img.localPath));\n    if (product.mainImage.url !== mainImage.url) {\n      // If use has uploaded new main image remove the newly uploaded main image as there is no updation happening\n      removeLocalFile(mainImage.localPath);\n    }\n    throw new ApiError(\n      400,\n      \"Maximum \" +\n        MAXIMUM_SUB_IMAGE_COUNT +\n        \" sub images are allowed for a product. There are already \" +\n        existedSubImages +\n        \" sub images attached to the product.\"\n    );\n  }\n\n  // If above checks are passed. We need to merge the existing sub images and newly uploaded sub images\n  subImages = [...product.subImages, ...subImages];\n\n  const updatedProduct = await Product.findByIdAndUpdate(\n    productId,\n    {\n      $set: {\n        name,\n        description,\n        stock,\n        price,\n        category,\n        mainImage,\n        subImages,\n      },\n    },\n    {\n      new: true,\n    }\n  );\n\n  // Once the product is updated. Do some cleanup\n  if (product.mainImage.url !== mainImage.url) {\n    // If user is uploading new main image remove the previous one because we don't need that anymore\n    removeLocalFile(product.mainImage.localPath);\n  }\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, updatedProduct, \"Product updated successfully\"));\n});\n\nconst getProductById = asyncHandler(async (req, res) => {\n  const { productId } = req.params;\n  const product = await Product.findById(productId);\n\n  if (!product) {\n    throw new ApiError(404, \"Product does not exist\");\n  }\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, product, \"Product fetched successfully\"));\n});\n\nconst getProductsByCategory = asyncHandler(async (req, res) => {\n  const { categoryId } = req.params;\n  const { page = 1, limit = 10 } = req.query;\n\n  const category = await Category.findById(categoryId).select(\"name _id\");\n\n  if (!category) {\n    throw new ApiError(404, \"Category does not exist\");\n  }\n\n  const productAggregate = Product.aggregate([\n    {\n      // match the products with provided category\n      $match: {\n        category: new mongoose.Types.ObjectId(categoryId),\n      },\n    },\n  ]);\n\n  const products = await Product.aggregatePaginate(\n    productAggregate,\n    getMongoosePaginationOptions({\n      page,\n      limit,\n      customLabels: {\n        totalDocs: \"totalProducts\",\n        docs: \"products\",\n      },\n    })\n  );\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n        200,\n        { ...products, category },\n        \"Category products fetched successfully\"\n      )\n    );\n});\n\nconst removeProductSubImage = asyncHandler(async (req, res) => {\n  const { productId, subImageId } = req.params;\n\n  const product = await Product.findById(productId);\n\n  // check for product existence\n  if (!product) {\n    throw new ApiError(404, \"Product does not exist\");\n  }\n\n  const updatedProduct = await Product.findByIdAndUpdate(\n    productId,\n    {\n      $pull: {\n        // pull an item from subImages with _id equals to subImageId\n        subImages: {\n          _id: new mongoose.Types.ObjectId(subImageId),\n        },\n      },\n    },\n    { new: true }\n  );\n\n  // retrieve the file object which is being removed\n  const removedSubImage = product.subImages?.find((image) => {\n    return image._id.toString() === subImageId;\n  });\n\n  if (removedSubImage) {\n    // remove the file from file system as well\n    removeLocalFile(removedSubImage.localPath);\n  }\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(200, updatedProduct, \"Sub image removed successfully\")\n    );\n});\n\nconst deleteProduct = asyncHandler(async (req, res) => {\n  const { productId } = req.params;\n\n  const product = await Product.findOneAndDelete({\n    _id: productId,\n  });\n\n  if (!product) {\n    throw new ApiError(404, \"Product does not exist\");\n  }\n\n  const productImages = [product.mainImage, ...product.subImages];\n\n  productImages.map((image) => {\n    // remove images associated with the product that is being deleted\n    removeLocalFile(image.localPath);\n  });\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n        200,\n        { deletedProduct: product },\n        \"Product deleted successfully\"\n      )\n    );\n});\n\nexport {\n  createProduct,\n  deleteProduct,\n  getAllProducts,\n  getProductById,\n  getProductsByCategory,\n  updateProduct,\n  removeProductSubImage,\n};\n"
  },
  {
    "path": "src/controllers/apps/ecommerce/profile.controllers.js",
    "content": "import { EcomOrder } from \"../../../models/apps/ecommerce/order.models.js\";\nimport { EcomProfile } from \"../../../models/apps/ecommerce/profile.models.js\";\nimport { ApiResponse } from \"../../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../../utils/asyncHandler.js\";\nimport { getMongoosePaginationOptions } from \"../../../utils/helpers.js\";\n\nconst getMyEcomProfile = asyncHandler(async (req, res) => {\n  let profile = await EcomProfile.findOne({\n    owner: req.user._id,\n  });\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, profile, \"User profile fetched successfully\"));\n});\n\nconst updateEcomProfile = asyncHandler(async (req, res) => {\n  const { firstName, lastName, phoneNumber, countryCode } = req.body;\n  const profile = await EcomProfile.findOneAndUpdate(\n    {\n      owner: req.user._id,\n    },\n    {\n      $set: {\n        firstName,\n        lastName,\n        phoneNumber,\n        countryCode,\n      },\n    },\n    { new: true }\n  );\n  return res\n    .status(200)\n    .json(new ApiResponse(200, profile, \"User profile updated successfully\"));\n});\n\nconst getMyOrders = asyncHandler(async (req, res) => {\n  const { page = 1, limit = 10 } = req.query;\n  const orderAggregate = EcomOrder.aggregate([\n    {\n      // Get orders associated with the user\n      $match: {\n        customer: req.user._id,\n      },\n    },\n    // lookup for a customer associated with the order\n    {\n      $lookup: {\n        from: \"users\",\n        localField: \"customer\",\n        foreignField: \"_id\",\n        as: \"customer\",\n        pipeline: [\n          {\n            $project: {\n              _id: 1,\n              username: 1,\n              email: 1,\n            },\n          },\n        ],\n      },\n    },\n    // lookup for a coupon applied while placing the order\n    {\n      $lookup: {\n        from: \"coupons\",\n        foreignField: \"_id\",\n        localField: \"coupon\",\n        as: \"coupon\",\n        pipeline: [\n          {\n            $project: {\n              name: 1,\n              couponCode: 1,\n            },\n          },\n        ],\n      },\n    },\n    {\n      $addFields: {\n        customer: { $first: \"$customer\" },\n        coupon: { $ifNull: [{ $first: \"$coupon\" }, null] },\n        totalOrderItems: { $size: \"$items\" },\n      },\n    },\n    {\n      $project: {\n        items: 0,\n      },\n    },\n  ]);\n\n  const orders = await EcomOrder.aggregatePaginate(\n    orderAggregate,\n    getMongoosePaginationOptions({\n      page,\n      limit,\n      customLabels: {\n        totalDocs: \"totalOrders\",\n        docs: \"orders\",\n      },\n    })\n  );\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, orders, \"Orders fetched successfully\"));\n});\n\nexport { getMyEcomProfile, updateEcomProfile, getMyOrders };\n"
  },
  {
    "path": "src/controllers/apps/social-media/bookmark.controllers.js",
    "content": "import { SocialBookmark } from \"../../../models/apps/social-media/bookmark.models.js\";\nimport { SocialPost } from \"../../../models/apps/social-media/post.models.js\";\nimport { ApiError } from \"../../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../../utils/asyncHandler.js\";\n\nconst bookmarkUnBookmarkPost = asyncHandler(async (req, res) => {\n  const { postId } = req.params;\n\n  const post = await SocialPost.findById(postId);\n\n  // Check for post existence\n  if (!post) {\n    throw new ApiError(404, \"Post does not exist\");\n  }\n\n  // See if user has already bookmarked the post\n  const isAlreadyBookmarked = await SocialBookmark.findOne({\n    postId,\n    bookmarkedBy: req.user?._id,\n  });\n\n  if (isAlreadyBookmarked) {\n    // if already bookmarked, dislike it by removing the record from the DB\n    await SocialBookmark.findOneAndDelete({\n      postId,\n      bookmarkedBy: req.user?._id,\n    });\n    return res.status(200).json(\n      new ApiResponse(\n        200,\n        {\n          isBookmarked: false,\n        },\n        \"Bookmark removed successfully\"\n      )\n    );\n  } else {\n    // if not bookmarked, like it by adding the record from the DB\n    await SocialBookmark.create({\n      postId,\n      bookmarkedBy: req.user?._id,\n    });\n    return res.status(200).json(\n      new ApiResponse(\n        200,\n        {\n          isBookmarked: true,\n        },\n        \"Bookmarked successfully\"\n      )\n    );\n  }\n});\n\nexport { bookmarkUnBookmarkPost };\n"
  },
  {
    "path": "src/controllers/apps/social-media/comment.controllers.js",
    "content": "import mongoose from \"mongoose\";\nimport { SocialComment } from \"../../../models/apps/social-media/comment.models.js\";\nimport { ApiResponse } from \"../../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../../utils/asyncHandler.js\";\nimport { getMongoosePaginationOptions } from \"../../../utils/helpers.js\";\nimport { ApiError } from \"../../../utils/ApiError.js\";\n\nconst addComment = asyncHandler(async (req, res) => {\n  const { postId } = req.params;\n  const { content } = req.body;\n\n  const comment = await SocialComment.create({\n    content,\n    author: req.user?._id,\n    postId,\n  });\n\n  return res\n    .status(201)\n    .json(new ApiResponse(201, comment, \"Comment added successfully\"));\n});\n\nconst getPostComments = asyncHandler(async (req, res) => {\n  const { postId } = req.params;\n  const { page = 1, limit = 10 } = req.query;\n  const commentAggregation = SocialComment.aggregate([\n    {\n      $match: {\n        postId: new mongoose.Types.ObjectId(postId),\n      },\n    },\n    {\n      $lookup: {\n        from: \"sociallikes\",\n        localField: \"_id\",\n        foreignField: \"commentId\",\n        as: \"likes\",\n      },\n    },\n    {\n      $lookup: {\n        from: \"sociallikes\",\n        localField: \"_id\",\n        foreignField: \"commentId\",\n        as: \"isLiked\",\n        pipeline: [\n          {\n            $match: {\n              likedBy: new mongoose.Types.ObjectId(req.user?._id),\n            },\n          },\n        ],\n      },\n    },\n    {\n      $lookup: {\n        from: \"socialprofiles\",\n        localField: \"author\",\n        foreignField: \"owner\",\n        as: \"author\",\n        pipeline: [\n          {\n            $lookup: {\n              from: \"users\",\n              localField: \"owner\",\n              foreignField: \"_id\",\n              as: \"account\",\n              pipeline: [\n                {\n                  $project: {\n                    avatar: 1,\n                    email: 1,\n                    username: 1,\n                  },\n                },\n              ],\n            },\n          },\n          {\n            $project: {\n              firstName: 1,\n              lastName: 1,\n              account: 1,\n            },\n          },\n          {\n            $addFields: {\n              account: { $first: \"$account\" },\n            },\n          },\n        ],\n      },\n    },\n    {\n      $addFields: {\n        author: { $first: \"$author\" },\n        likes: { $size: \"$likes\" },\n        isLiked: {\n          $cond: {\n            if: {\n              $gte: [\n                {\n                  // if the isLiked key has document in it\n                  $size: \"$isLiked\",\n                },\n                1,\n              ],\n            },\n            then: true,\n            else: false,\n          },\n        },\n      },\n    },\n  ]);\n\n  const comments = await SocialComment.aggregatePaginate(\n    commentAggregation,\n    getMongoosePaginationOptions({\n      page,\n      limit,\n      customLabels: {\n        totalDocs: \"totalComments\",\n        docs: \"comments\",\n      },\n    })\n  );\n  return res\n    .status(200)\n    .json(new ApiResponse(200, comments, \"Post comments fetched successfully\"));\n});\n\nconst deleteComment = asyncHandler(async (req, res) => {\n  const { commentId } = req.params;\n  const deletedComment = await SocialComment.findOneAndDelete({\n    _id: new mongoose.Types.ObjectId(commentId),\n    author: req.user?._id,\n  });\n\n  if (!deletedComment) {\n    throw new ApiError(\n      404,\n      \"Comment is already deleted or you are not authorized for this action.\"\n    );\n  }\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(200, { deletedComment }, \"Comment deleted successfully\")\n    );\n});\n\nconst updateComment = asyncHandler(async (req, res) => {\n  const { commentId } = req.params;\n  const { content } = req.body;\n\n  const updatedComment = await SocialComment.findOneAndUpdate(\n    {\n      _id: new mongoose.Types.ObjectId(commentId),\n      author: req.user?._id,\n    },\n    {\n      $set: { content },\n    },\n    { new: true }\n  );\n\n  if (!updatedComment) {\n    throw new ApiError(\n      404,\n      \"Comment does not exist or you are not authorized for this action.\"\n    );\n  }\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, updatedComment, \"Comment updated successfully\"));\n});\n\nexport { addComment, getPostComments, deleteComment, updateComment };\n"
  },
  {
    "path": "src/controllers/apps/social-media/follow.controllers.js",
    "content": "import mongoose from \"mongoose\";\nimport { User } from \"../../../models/apps/auth/user.models.js\";\nimport { SocialFollow } from \"../../../models/apps/social-media/follow.models.js\";\nimport { ApiError } from \"../../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../../utils/asyncHandler.js\";\nimport { getMongoosePaginationOptions } from \"../../../utils/helpers.js\";\n\nconst followUnFollowUser = asyncHandler(async (req, res) => {\n  const { toBeFollowedUserId } = req.params;\n\n  // See if user that is being followed exist\n  const toBeFollowed = await User.findById(toBeFollowedUserId);\n\n  if (!toBeFollowed) {\n    throw new ApiError(404, \"User does not exist\");\n  }\n\n  // Check of the user who is being followed is not the one who is requesting\n  if (toBeFollowedUserId.toString() === req.user._id.toString()) {\n    throw new ApiError(422, \"You cannot follow yourself\");\n  }\n\n  // Check if logged user is already following the to be followed user\n  const isAlreadyFollowing = await SocialFollow.findOne({\n    followerId: req.user._id,\n    followeeId: toBeFollowed._id,\n  });\n\n  if (isAlreadyFollowing) {\n    // if yes, then unfollow the user by deleting the follow entry from the DB\n    await SocialFollow.findOneAndDelete({\n      followerId: req.user._id,\n      followeeId: toBeFollowed._id,\n    });\n    return res.status(200).json(\n      new ApiResponse(\n        200,\n        {\n          following: false,\n        },\n        \"Un-followed successfully\"\n      )\n    );\n  } else {\n    // if no, then create a follow entry\n    await SocialFollow.create({\n      followerId: req.user._id,\n      followeeId: toBeFollowed._id,\n    });\n    return res.status(200).json(\n      new ApiResponse(\n        200,\n        {\n          following: true,\n        },\n        \"Followed successfully\"\n      )\n    );\n  }\n});\n\nconst getFollowersListByUserName = asyncHandler(async (req, res) => {\n  const { username } = req.params;\n  const { page = 1, limit = 10 } = req.query;\n\n  const userAggregation = await User.aggregate([\n    {\n      $match: {\n        username: username.toLowerCase(),\n      },\n    },\n    {\n      $lookup: {\n        // lookup for the each user's profile\n        from: \"socialprofiles\",\n        localField: \"_id\",\n        foreignField: \"owner\",\n        as: \"profile\",\n        pipeline: [\n          {\n            $project: {\n              firstName: 1,\n              lastName: 1,\n              bio: 1,\n              location: 1,\n              countryCode: 1,\n              phoneNumber: 1,\n              coverImage: 1,\n            },\n          },\n        ],\n      },\n    },\n    {\n      $addFields: { profile: { $first: \"$profile\" } },\n    },\n    {\n      $project: {\n        username: 1,\n        email: 1,\n        isEmailVerified: 1,\n        avatar: 1,\n        profile: 1,\n      },\n    },\n  ]);\n\n  const user = userAggregation[0];\n\n  if (!user) {\n    throw new ApiError(404, \"User does not exist\");\n  }\n  const userId = user._id;\n  const followersAggregate = SocialFollow.aggregate([\n    {\n      $match: {\n        // When we are fetching the followers list we want to match the follow documents with followee as current user\n        // Meaning, someone is FOLLOWING current user (followee)\n        followeeId: new mongoose.Types.ObjectId(userId),\n      },\n    },\n    // Now we have all the follow documents where current user is followee (who is being followed)\n    {\n      $lookup: {\n        // Lookup for the followers (users which are following current users)\n        from: \"users\",\n        localField: \"followerId\",\n        foreignField: \"_id\",\n        as: \"follower\",\n        pipeline: [\n          {\n            $lookup: {\n              // lookup for the each user's profile\n              from: \"socialprofiles\",\n              localField: \"_id\",\n              foreignField: \"owner\",\n              as: \"profile\",\n            },\n          },\n          {\n            // NOTE: In this logic we want to treat logged in user as a follower\n            // LOGIC TO CHECK IF THE LOGGED IN USER IS FOLLOWING ANY OF THE FOLLOWERS\n            // Point to be noted: There are chances that the logged in user is seeing someone else's follower list\n            $lookup: {\n              // We want to check if there is a document where follower is current logged in user and followee is the looked up user\n              // If there is a document with above case that means logged in user is following the looked up user\n              from: \"socialfollows\",\n              localField: \"_id\", // ID of the looked up user\n              foreignField: \"followeeId\",\n              as: \"isFollowing\",\n              pipeline: [\n                {\n                  $match: {\n                    followerId: new mongoose.Types.ObjectId(req.user?._id), // Only get documents where logged in user is the follower\n                  },\n                },\n              ],\n            },\n          },\n\n          // Now we wither get no document (meaning, logged in user is not following anyone) or have the document where `LOOKED UP USER is the one who is BEING FOLLOWED BY THE CURRENT LOGGED IN USER`\n          // So, if the document exist then the isFollowing flag should be true\n          {\n            $addFields: {\n              profile: { $first: \"$profile\" },\n              isFollowing: {\n                $cond: {\n                  if: {\n                    $gte: [\n                      {\n                        // if the isFollowing key has document in it\n                        $size: \"$isFollowing\",\n                      },\n                      1,\n                    ],\n                  },\n                  then: true,\n                  else: false,\n                },\n              },\n            },\n          },\n          {\n            $project: {\n              // only project necessary fields\n              username: 1,\n              email: 1,\n              avatar: 1,\n              profile: 1,\n              isFollowing: 1,\n            },\n          },\n        ],\n      },\n    },\n    {\n      $addFields: {\n        follower: { $first: \"$follower\" },\n      },\n    },\n    {\n      $project: {\n        _id: 0,\n        follower: 1,\n      },\n    },\n    {\n      $replaceRoot: {\n        newRoot: \"$follower\",\n      },\n    },\n  ]);\n\n  const followersList = await SocialFollow.aggregatePaginate(\n    followersAggregate,\n    getMongoosePaginationOptions({\n      page,\n      limit,\n      customLabels: {\n        totalDocs: \"totalFollowers\",\n        docs: \"followers\",\n      },\n    })\n  );\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n        200,\n        { user, ...followersList },\n        \"Followers list fetched successfully\"\n      )\n    );\n});\n\nconst getFollowingListByUserName = asyncHandler(async (req, res) => {\n  const { username } = req.params;\n  const { page = 1, limit = 10 } = req.query;\n\n  const userAggregation = await User.aggregate([\n    {\n      $match: {\n        username: username.toLowerCase(),\n      },\n    },\n    {\n      $lookup: {\n        // lookup for the each user's profile\n        from: \"socialprofiles\",\n        localField: \"_id\",\n        foreignField: \"owner\",\n        as: \"profile\",\n        pipeline: [\n          {\n            $project: {\n              firstName: 1,\n              lastName: 1,\n              bio: 1,\n              location: 1,\n              countryCode: 1,\n              phoneNumber: 1,\n              coverImage: 1,\n            },\n          },\n        ],\n      },\n    },\n    {\n      $addFields: { profile: { $first: \"$profile\" } },\n    },\n    {\n      $project: {\n        username: 1,\n        email: 1,\n        isEmailVerified: 1,\n        avatar: 1,\n        profile: 1,\n      },\n    },\n  ]);\n\n  const user = userAggregation[0];\n\n  if (!user) {\n    throw new ApiError(404, \"User does not exist\");\n  }\n\n  const userId = user._id;\n  const followingAggregate = SocialFollow.aggregate([\n    {\n      $match: {\n        // When we are fetching the following list we want to match the follow documents with follower as current user\n        // Meaning, current user is FOLLOWING someone\n        followerId: new mongoose.Types.ObjectId(userId),\n      },\n    },\n    // Now we have all the follow documents where current user is a follower (who is following someone)\n    {\n      $lookup: {\n        // Lookup for the followees (users which are being followed by the current user)\n        from: \"users\",\n        localField: \"followeeId\",\n        foreignField: \"_id\",\n        as: \"following\",\n        pipeline: [\n          {\n            $lookup: {\n              // lookup for the each user's profile\n              from: \"socialprofiles\",\n              localField: \"_id\",\n              foreignField: \"owner\",\n              as: \"profile\",\n            },\n          },\n          // NOTE: In this logic we want to treat logged in user as a follower\n          // LOGIC TO CHECK IF THE LOGGED IN USER IS FOLLOWING ANY OF THE USERS THAT LOADED PROFILE USER FOLLOWING\n          // Point to be noted: There are chances that the logged in user is seeing someone else's following list. SO if logged in user is seeing his own following list the isFollowing flag will be true\n          {\n            $lookup: {\n              // We want to check if there is a document where follower is current logged in user and followee is the looked up user\n              // If there is a document with above case that means logged in user is following the looked up user\n              from: \"socialfollows\",\n              localField: \"_id\",\n              foreignField: \"followeeId\",\n              as: \"isFollowing\",\n              pipeline: [\n                {\n                  $match: {\n                    followerId: new mongoose.Types.ObjectId(req.user?._id), // Only get documents where logged in user is the follower\n                  },\n                },\n              ],\n            },\n          },\n          {\n            $addFields: {\n              profile: { $first: \"$profile\" },\n              isFollowing: {\n                $cond: {\n                  if: {\n                    $gte: [\n                      {\n                        $size: \"$isFollowing\",\n                      },\n                      1,\n                    ],\n                  },\n                  then: true,\n                  else: false,\n                },\n              },\n            },\n          },\n          {\n            $project: {\n              // only project necessary fields\n              username: 1,\n              email: 1,\n              avatar: 1,\n              profile: 1,\n              isFollowing: 1,\n            },\n          },\n        ],\n      },\n    },\n    {\n      $addFields: {\n        following: { $first: \"$following\" },\n      },\n    },\n    {\n      $project: {\n        _id: 0,\n        following: 1,\n      },\n    },\n    {\n      $replaceRoot: {\n        newRoot: \"$following\",\n      },\n    },\n  ]);\n\n  const followingList = await SocialFollow.aggregatePaginate(\n    followingAggregate,\n    getMongoosePaginationOptions({\n      page,\n      limit,\n      customLabels: {\n        totalDocs: \"totalFollowing\",\n        docs: \"following\",\n      },\n    })\n  );\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n        200,\n        { user, ...followingList },\n        \"Following list fetched successfully\"\n      )\n    );\n});\n\nexport {\n  followUnFollowUser,\n  getFollowersListByUserName,\n  getFollowingListByUserName,\n};\n"
  },
  {
    "path": "src/controllers/apps/social-media/like.controllers.js",
    "content": "import { SocialComment } from \"../../../models/apps/social-media/comment.models.js\";\nimport { SocialLike } from \"../../../models/apps/social-media/like.models.js\";\nimport { SocialPost } from \"../../../models/apps/social-media/post.models.js\";\nimport { ApiError } from \"../../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../../utils/asyncHandler.js\";\n\nconst likeDislikePost = asyncHandler(async (req, res) => {\n  const { postId } = req.params;\n\n  const post = await SocialPost.findById(postId);\n\n  // Check for post existence\n  if (!post) {\n    throw new ApiError(404, \"Post does not exist\");\n  }\n\n  // See if user has already liked the post\n  const isAlreadyLiked = await SocialLike.findOne({\n    postId,\n    likedBy: req.user?._id,\n  });\n\n  if (isAlreadyLiked) {\n    // if already liked, dislike it by removing the record from the DB\n    await SocialLike.findOneAndDelete({\n      postId,\n      likedBy: req.user?._id,\n    });\n    return res.status(200).json(\n      new ApiResponse(\n        200,\n        {\n          isLiked: false,\n        },\n        \"Unliked successfully\"\n      )\n    );\n  } else {\n    // if not liked, like it by adding the record from the DB\n    await SocialLike.create({\n      postId,\n      likedBy: req.user?._id,\n    });\n    return res.status(200).json(\n      new ApiResponse(\n        200,\n        {\n          isLiked: true,\n        },\n        \"Liked successfully\"\n      )\n    );\n  }\n});\n\nconst likeDislikeComment = asyncHandler(async (req, res) => {\n  const { commentId } = req.params;\n\n  const comment = await SocialComment.findById(commentId);\n\n  // Check for comment existence\n  if (!comment) {\n    throw new ApiError(404, \"Comment does not exist\");\n  }\n\n  // See if user has already liked the comment\n  const isAlreadyLiked = await SocialLike.findOne({\n    commentId,\n    likedBy: req.user?._id,\n  });\n\n  if (isAlreadyLiked) {\n    // if already liked, dislike it by removing the record from the DB\n    await SocialLike.findOneAndDelete({\n      commentId,\n      likedBy: req.user?._id,\n    });\n    return res.status(200).json(\n      new ApiResponse(\n        200,\n        {\n          isLiked: false,\n        },\n        \"Unliked successfully\"\n      )\n    );\n  } else {\n    // if not liked, like it by adding the record from the DB\n    await SocialLike.create({\n      commentId,\n      likedBy: req.user?._id,\n    });\n    return res.status(200).json(\n      new ApiResponse(\n        200,\n        {\n          isLiked: true,\n        },\n        \"Liked successfully\"\n      )\n    );\n  }\n});\n\nexport { likeDislikePost, likeDislikeComment };\n"
  },
  {
    "path": "src/controllers/apps/social-media/post.controllers.js",
    "content": "import mongoose from \"mongoose\";\nimport { MAXIMUM_SOCIAL_POST_IMAGE_COUNT } from \"../../../constants.js\";\nimport { User } from \"../../../models/apps/auth/user.models.js\";\nimport { SocialBookmark } from \"../../../models/apps/social-media/bookmark.models.js\";\nimport { SocialPost } from \"../../../models/apps/social-media/post.models.js\";\nimport { ApiError } from \"../../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../../utils/asyncHandler.js\";\nimport {\n  getLocalPath,\n  getMongoosePaginationOptions,\n  getStaticFilePath,\n  removeLocalFile,\n} from \"../../../utils/helpers.js\";\n\n/**\n * @param {import(\"express\").Request} req\n * @description Utility function which returns the pipeline stages to structure the social post schema with calculations like, likes count, comments count, isLiked, isBookmarked etc\n * @returns {mongoose.PipelineStage[]}\n */\nconst postCommonAggregation = (req) => {\n  return [\n    {\n      $lookup: {\n        from: \"socialcomments\",\n        localField: \"_id\",\n        foreignField: \"postId\",\n        as: \"comments\",\n      },\n    },\n    {\n      $lookup: {\n        from: \"sociallikes\",\n        localField: \"_id\",\n        foreignField: \"postId\",\n        as: \"likes\",\n      },\n    },\n    {\n      $lookup: {\n        from: \"sociallikes\",\n        localField: \"_id\",\n        foreignField: \"postId\",\n        as: \"isLiked\",\n        pipeline: [\n          {\n            $match: {\n              likedBy: new mongoose.Types.ObjectId(req.user?._id),\n            },\n          },\n        ],\n      },\n    },\n    {\n      $lookup: {\n        from: \"socialbookmarks\",\n        localField: \"_id\",\n        foreignField: \"postId\",\n        as: \"isBookmarked\",\n        pipeline: [\n          {\n            $match: {\n              bookmarkedBy: new mongoose.Types.ObjectId(req.user?._id),\n            },\n          },\n        ],\n      },\n    },\n    {\n      $lookup: {\n        from: \"socialprofiles\",\n        localField: \"author\",\n        foreignField: \"owner\",\n        as: \"author\",\n        pipeline: [\n          {\n            $lookup: {\n              from: \"users\",\n              localField: \"owner\",\n              foreignField: \"_id\",\n              as: \"account\",\n              pipeline: [\n                {\n                  $project: {\n                    avatar: 1,\n                    email: 1,\n                    username: 1,\n                  },\n                },\n              ],\n            },\n          },\n          { $addFields: { account: { $first: \"$account\" } } },\n        ],\n      },\n    },\n    {\n      $addFields: {\n        author: { $first: \"$author\" },\n        likes: { $size: \"$likes\" },\n        comments: { $size: \"$comments\" },\n        isLiked: {\n          $cond: {\n            if: {\n              $gte: [\n                {\n                  // if the isLiked key has document in it\n                  $size: \"$isLiked\",\n                },\n                1,\n              ],\n            },\n            then: true,\n            else: false,\n          },\n        },\n        isBookmarked: {\n          $cond: {\n            if: {\n              $gte: [\n                {\n                  // if the isBookmarked key has document in it\n                  $size: \"$isBookmarked\",\n                },\n                1,\n              ],\n            },\n            then: true,\n            else: false,\n          },\n        },\n      },\n    },\n  ];\n};\n\nconst createPost = asyncHandler(async (req, res) => {\n  const { content, tags } = req.body;\n  // Check if user has uploaded any images if yes then extract the file path\n  // else assign an empty array\n  /**\n   * @type {{ url: string; localPath: string; }[]}\n   */\n  const images =\n    req.files.images && req.files.images?.length\n      ? req.files.images.map((image) => {\n          const imageUrl = getStaticFilePath(req, image.filename);\n          const imageLocalPath = getLocalPath(image.filename);\n          return { url: imageUrl, localPath: imageLocalPath };\n        })\n      : [];\n\n  const author = req.user._id;\n\n  const post = await SocialPost.create({\n    content,\n    tags: tags || [],\n    author,\n    images,\n  });\n\n  if (!post) {\n    throw new ApiError(500, \"Error while creating a post\");\n  }\n\n  const createdPost = await SocialPost.aggregate([\n    {\n      $match: {\n        _id: post._id,\n      },\n    },\n    ...postCommonAggregation(req),\n  ]);\n\n  return res\n    .status(201)\n    .json(new ApiResponse(201, createdPost[0], \"Post created successfully\"));\n});\n\nconst updatePost = asyncHandler(async (req, res) => {\n  const { content, tags } = req.body;\n  const { postId } = req.params;\n  const post = await SocialPost.findOne({\n    _id: new mongoose.Types.ObjectId(postId),\n    author: req.user?._id,\n  });\n\n  if (!post) {\n    throw new ApiError(404, \"Post does not exist\");\n  }\n\n  /**\n   * @type {{ url: string; localPath: string; }[]}\n   */\n  let images =\n    // If user has uploaded new images then we have to create an object with new url and local path in the array format\n    req.files?.images && req.files.images?.length\n      ? req.files.images.map((image) => {\n          const imageUrl = getStaticFilePath(req, image.filename);\n          const imageLocalPath = getLocalPath(image.filename);\n          return { url: imageUrl, localPath: imageLocalPath };\n        })\n      : []; // if there are no new images uploaded we want to keep an empty array\n\n  const existedImages = post.images.length; // total images already present in the post\n  const newImages = images.length; // Newly uploaded images\n  const totalImages = existedImages + newImages;\n\n  if (totalImages > MAXIMUM_SOCIAL_POST_IMAGE_COUNT) {\n    // We want user to only add at max 6 images\n    // If the existing images + new images count exceeds 6\n    // We want to throw an error\n\n    // Before throwing an error we need to do some cleanup\n\n    // remove the  newly uploaded images by multer as there is not updation happening\n    images?.map((img) => removeLocalFile(img.localPath));\n\n    throw new ApiError(\n      400,\n      \"Maximum \" +\n        MAXIMUM_SOCIAL_POST_IMAGE_COUNT +\n        \" images are allowed for a post. There are already \" +\n        existedImages +\n        \" images attached to the post.\"\n    );\n  }\n\n  // If above checks are passed. We need to merge the existing images and newly uploaded images\n  images = [...post.images, ...images];\n  const updatedPost = await SocialPost.findByIdAndUpdate(\n    postId,\n    {\n      $set: {\n        content,\n        tags,\n        images,\n      },\n    },\n    {\n      new: true,\n    }\n  );\n\n  const aggregatedPost = await SocialPost.aggregate([\n    {\n      $match: {\n        _id: updatedPost._id,\n      },\n    },\n    ...postCommonAggregation(req),\n  ]);\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, aggregatedPost[0], \"Post updated successfully\"));\n});\n\nconst removePostImage = asyncHandler(async (req, res) => {\n  const { postId, imageId } = req.params;\n\n  const post = await SocialPost.findOne({\n    _id: new mongoose.Types.ObjectId(postId),\n    author: req.user?._id,\n  });\n\n  // check for post existence\n  if (!post) {\n    throw new ApiError(404, \"Post does not exist\");\n  }\n\n  const updatedPost = await SocialPost.findByIdAndUpdate(\n    postId,\n    {\n      $pull: {\n        // pull an item from images with _id equals to imageId\n        images: {\n          _id: new mongoose.Types.ObjectId(imageId),\n        },\n      },\n    },\n    { new: true }\n  );\n\n  // retrieve the file object which is being removed\n  const removedImage = post.images?.find((image) => {\n    return image._id.toString() === imageId;\n  });\n\n  if (removedImage) {\n    // remove the file from file system as well\n    removeLocalFile(removedImage.localPath);\n  }\n\n  const aggregatedPost = await SocialPost.aggregate([\n    {\n      $match: {\n        _id: updatedPost._id,\n      },\n    },\n    ...postCommonAggregation(req),\n  ]);\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(200, aggregatedPost[0], \"Post image removed successfully\")\n    );\n});\n\nconst getAllPosts = asyncHandler(async (req, res) => {\n  const { page = 1, limit = 10 } = req.query;\n  const postAggregation = SocialPost.aggregate([...postCommonAggregation(req)]);\n\n  const posts = await SocialPost.aggregatePaginate(\n    postAggregation,\n    getMongoosePaginationOptions({\n      page,\n      limit,\n      customLabels: {\n        totalDocs: \"totalPosts\",\n        docs: \"posts\",\n      },\n    })\n  );\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, posts, \"Posts fetched successfully\"));\n});\n\nconst getPostsByUsername = asyncHandler(async (req, res) => {\n  const { page = 1, limit = 10 } = req.query;\n  const { username } = req.params;\n\n  const user = await User.findOne({\n    username: username.toLowerCase(),\n  });\n\n  if (!user) {\n    throw new ApiError(\n      404,\n      \"User with username '\" + username + \"' does not exist\"\n    );\n  }\n\n  const userId = user._id;\n\n  const postAggregation = SocialPost.aggregate([\n    {\n      $match: {\n        author: new mongoose.Types.ObjectId(userId),\n      },\n    },\n    ...postCommonAggregation(req),\n  ]);\n\n  const posts = await SocialPost.aggregatePaginate(\n    postAggregation,\n    getMongoosePaginationOptions({\n      page,\n      limit,\n      customLabels: {\n        totalDocs: \"totalPosts\",\n        docs: \"posts\",\n      },\n    })\n  );\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, posts, \"User's posts fetched successfully\"));\n});\n\nconst getMyPosts = asyncHandler(async (req, res) => {\n  const { page = 1, limit = 10 } = req.query;\n\n  const postAggregation = SocialPost.aggregate([\n    {\n      $match: {\n        author: new mongoose.Types.ObjectId(req.user?._id),\n      },\n    },\n    ...postCommonAggregation(req),\n  ]);\n\n  const posts = await SocialPost.aggregatePaginate(\n    postAggregation,\n    getMongoosePaginationOptions({\n      page,\n      limit,\n      customLabels: {\n        totalDocs: \"totalPosts\",\n        docs: \"posts\",\n      },\n    })\n  );\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, posts, \"My posts fetched successfully\"));\n});\n\nconst getBookMarkedPosts = asyncHandler(async (req, res) => {\n  const { page = 1, limit = 10 } = req.query;\n\n  const postAggregation = SocialBookmark.aggregate([\n    {\n      $match: {\n        bookmarkedBy: new mongoose.Types.ObjectId(req.user?._id),\n      },\n    },\n    {\n      $lookup: {\n        from: \"socialposts\",\n        localField: \"postId\",\n        foreignField: \"_id\",\n        as: \"post\",\n        pipeline: postCommonAggregation(req), // after lookup we need to structure the posts same as other post apis\n      },\n    },\n    {\n      $addFields: {\n        post: { $first: \"$post\" },\n      },\n    },\n    {\n      $project: {\n        _id: 0,\n        post: 1,\n      },\n    },\n    {\n      $replaceRoot: {\n        newRoot: \"$post\",\n      },\n    },\n  ]);\n\n  const posts = await SocialBookmark.aggregatePaginate(\n    postAggregation,\n    getMongoosePaginationOptions({\n      page,\n      limit,\n      customLabels: {\n        totalDocs: \"totalBookmarkedPosts\",\n        docs: \"bookmarkedPosts\",\n      },\n    })\n  );\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, posts, \"Bookmarked posts fetched successfully\"));\n});\n\nconst getPostById = asyncHandler(async (req, res) => {\n  const { postId } = req.params;\n  const post = await SocialPost.aggregate([\n    {\n      $match: {\n        _id: new mongoose.Types.ObjectId(postId),\n      },\n    },\n    ...postCommonAggregation(req),\n  ]);\n\n  if (!post[0]) {\n    throw new ApiError(404, \"Post does not exist\");\n  }\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, post[0], \"Post fetched successfully\"));\n});\n\nconst deletePost = asyncHandler(async (req, res) => {\n  const { postId } = req.params;\n\n  const post = await SocialPost.findOneAndDelete({\n    _id: postId,\n    author: req.user._id,\n  });\n\n  if (!post) {\n    throw new ApiError(404, \"Post does not exist\");\n  }\n\n  const postImages = [...(post.images || [])];\n\n  postImages.map((image) => {\n    // remove images associated with the post that is being deleted\n    removeLocalFile(image.localPath);\n  });\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, {}, \"Post deleted successfully\"));\n});\n\nconst getPostsByTag = asyncHandler(async (req, res) => {\n  const { page = 1, limit = 10 } = req.query;\n  const { tag } = req.params;\n\n  const postAggregation = SocialPost.aggregate([\n    {\n      $redact: {\n        $cond: {\n          if: {\n            $in: [tag, \"$tags\"],\n          },\n          then: \"$$KEEP\",\n          else: \"$$PRUNE\",\n        },\n      },\n    },\n    ...postCommonAggregation(req),\n  ]);\n\n  const posts = await SocialPost.aggregatePaginate(\n    postAggregation,\n    getMongoosePaginationOptions({\n      page,\n      limit,\n      customLabels: {\n        totalDocs: \"totalPosts\",\n        docs: \"posts\",\n      },\n    })\n  );\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(200, posts, `Posts with tag #${tag} fetched successfully`)\n    );\n});\n\nexport {\n  createPost,\n  deletePost,\n  getAllPosts,\n  getBookMarkedPosts,\n  getMyPosts,\n  getPostById,\n  getPostsByUsername,\n  removePostImage,\n  updatePost,\n  getPostsByTag,\n};\n"
  },
  {
    "path": "src/controllers/apps/social-media/profile.controllers.js",
    "content": "import mongoose from \"mongoose\";\nimport { User } from \"../../../models/apps/auth/user.models.js\";\nimport { SocialFollow } from \"../../../models/apps/social-media/follow.models.js\";\nimport { SocialProfile } from \"../../../models/apps/social-media/profile.models.js\";\nimport { ApiError } from \"../../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../../utils/asyncHandler.js\";\nimport {\n  getLocalPath,\n  getStaticFilePath,\n  removeLocalFile,\n} from \"../../../utils/helpers.js\";\n\n/**\n *\n * @param {string} userId\n * @param {import(\"express\").Request} req\n * @description A utility function, which querys the {@link SocialProfile} model and returns the profile with account details\n */\nconst getUserSocialProfile = async (userId, req) => {\n  const user = await User.findById(userId);\n\n  if (!user) {\n    throw new ApiError(404, \"User does not exist\");\n  }\n\n  let profile = await SocialProfile.aggregate([\n    {\n      $match: {\n        owner: new mongoose.Types.ObjectId(userId),\n      },\n    },\n    {\n      $lookup: {\n        from: \"users\",\n        localField: \"owner\",\n        foreignField: \"_id\",\n        as: \"account\",\n        pipeline: [\n          {\n            $project: {\n              avatar: 1,\n              username: 1,\n              email: 1,\n              isEmailVerified: 1,\n            },\n          },\n        ],\n      },\n    },\n    {\n      $lookup: {\n        from: \"socialfollows\",\n        localField: \"owner\",\n        foreignField: \"followerId\",\n        as: \"following\", // users that are followed by current user\n      },\n    },\n    {\n      $lookup: {\n        from: \"socialfollows\",\n        localField: \"owner\",\n        foreignField: \"followeeId\",\n        as: \"followedBy\", // users that are following the current user\n      },\n    },\n    {\n      $addFields: {\n        account: { $first: \"$account\" },\n        followersCount: { $size: \"$followedBy\" },\n        followingCount: { $size: \"$following\" },\n      },\n    },\n    {\n      $project: {\n        followedBy: 0,\n        following: 0,\n      },\n    },\n  ]);\n\n  let isFollowing = false;\n\n  if (req.user?._id && req.user?._id?.toString() !== userId.toString()) {\n    // Check if there is a logged in user and logged in user is NOT same as the profile that is being loaded\n    // In such case we will check if the logged in user follows the loaded profile user\n    const followInstance = await SocialFollow.findOne({\n      followerId: req.user?._id, // logged in user. If this is null `isFollowing` will be false\n      followeeId: userId,\n    });\n    isFollowing = followInstance ? true : false;\n  }\n\n  const userProfile = profile[0];\n\n  if (!userProfile) {\n    throw new ApiError(404, \"User profile does not exist\");\n  }\n  return { ...userProfile, isFollowing };\n};\n\nconst getMySocialProfile = asyncHandler(async (req, res) => {\n  let profile = await getUserSocialProfile(req.user._id, req);\n  return res\n    .status(200)\n    .json(new ApiResponse(200, profile, \"User profile fetched successfully\"));\n});\n\n// Public route\nconst getProfileByUserName = asyncHandler(async (req, res) => {\n  const { username } = req.params;\n\n  const user = await User.findOne({ username });\n\n  if (!user) {\n    throw new ApiError(404, \"User does not exist\");\n  }\n\n  const userProfile = await getUserSocialProfile(user._id, req);\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(200, userProfile, \"User profile fetched successfully\")\n    );\n});\n\nconst updateSocialProfile = asyncHandler(async (req, res) => {\n  const { firstName, lastName, phoneNumber, countryCode, bio, dob, location } =\n    req.body;\n\n  let profile = await SocialProfile.findOneAndUpdate(\n    {\n      owner: req.user._id,\n    },\n    {\n      $set: {\n        firstName,\n        lastName,\n        phoneNumber,\n        countryCode,\n        bio,\n        dob,\n        location,\n      },\n    },\n    { new: true }\n  );\n\n  profile = await getUserSocialProfile(req.user._id, req);\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, profile, \"User profile updated successfully\"));\n});\n\nconst updateCoverImage = asyncHandler(async (req, res) => {\n  // Check if user has uploaded a cover image\n  if (!req.file?.filename) {\n    throw new ApiError(400, \"Cover image is required\");\n  }\n  // get cover image file's system url and local path\n  const coverImageUrl = getStaticFilePath(req, req.file?.filename);\n  const coverImageLocalPath = getLocalPath(req.file?.filename);\n\n  const profile = await SocialProfile.findOne({\n    owner: req.user._id,\n  });\n\n  let updatedProfile = await SocialProfile.findOneAndUpdate(\n    {\n      owner: req.user._id,\n    },\n    {\n      $set: {\n        // set the newly uploaded cover image\n        coverImage: {\n          url: coverImageUrl,\n          localPath: coverImageLocalPath,\n        },\n      },\n    },\n    { new: true }\n  );\n\n  // remove the old cover image\n  removeLocalFile(profile.coverImage.localPath);\n\n  updatedProfile = await getUserSocialProfile(req.user._id, req);\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(200, updatedProfile, \"Cover image updated successfully\")\n    );\n});\n\nexport {\n  getMySocialProfile,\n  getProfileByUserName,\n  updateSocialProfile,\n  updateCoverImage,\n};\n"
  },
  {
    "path": "src/controllers/apps/todo/todo.controllers.js",
    "content": "import { Todo } from \"../../../models/apps/todo/todo.models.js\";\nimport { ApiError } from \"../../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../../utils/asyncHandler.js\";\n\nconst getAllTodos = asyncHandler(async (req, res) => {\n  const { query, complete } = req.query;\n  const todos = await Todo.aggregate([\n    {\n      $match:\n        query?.length > 0\n          ? // return docs if either of the following keys match\n            {\n              title: {\n                $regex: query.trim(),\n                $options: \"i\",\n              },\n            }\n          : {},\n    },\n    {\n      $match: complete\n        ? {\n            isComplete: JSON.parse(complete), // parse string to boolean. \"true\" -> true\n          }\n        : {},\n    },\n    {\n      $sort: {\n        updatedAt: -1,\n      },\n    },\n  ]);\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, todos, \"Todos fetched successfully\"));\n});\n\nconst getTodoById = asyncHandler(async (req, res) => {\n  const { todoId } = req.params;\n  const todo = await Todo.findById(todoId);\n  if (!todo) {\n    throw new ApiError(404, \"Todo does not exist\");\n  }\n  return res\n    .status(200)\n    .json(new ApiResponse(200, todo, \"Todo fetched successfully\"));\n});\n\nconst createTodo = asyncHandler(async (req, res) => {\n  const { title, description } = req.body;\n  const todo = await Todo.create({\n    title,\n    description,\n  });\n\n  return res\n    .status(201)\n    .json(new ApiResponse(201, todo, \"Todo created successfully\"));\n});\n\nconst updateTodo = asyncHandler(async (req, res) => {\n  const { todoId } = req.params;\n  const { title, description } = req.body;\n  const todo = await Todo.findByIdAndUpdate(\n    todoId,\n    {\n      $set: {\n        title,\n        description,\n      },\n    },\n    { new: true }\n  );\n\n  if (!todo) {\n    throw new ApiError(404, \"Todo does not exist\");\n  }\n\n  return res\n    .status(200)\n    .json(new ApiResponse(200, todo, \"Todo updated successfully\"));\n});\n\nconst toggleTodoDoneStatus = asyncHandler(async (req, res) => {\n  const { todoId } = req.params;\n  const todo = await Todo.findById(todoId);\n\n  if (!todo) {\n    throw new ApiError(404, \"Todo does not exist\");\n  }\n\n  todo.isComplete = !todo.isComplete;\n  await todo.save({ validateBeforeSave: false });\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n    200,\n    todo,\n    `Todo marked ${todo.isComplete ? \"done\" : \"undone\"}`\n    )\n\n    );\n});\n\nconst deleteTodo = asyncHandler(async (req, res) => {\n  const { todoId } = req.params;\n  const todo = await Todo.findByIdAndDelete(todoId);\n\n  if (!todo) {\n    throw new ApiError(404, \"Todo does not exist\");\n  }\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(200, { deletedTodo: todo }, \"Todo deleted successfully\")\n    );\n});\n\nexport {\n  getAllTodos,\n  getTodoById,\n  createTodo,\n  updateTodo,\n  deleteTodo,\n  toggleTodoDoneStatus,\n};\n"
  },
  {
    "path": "src/controllers/healthcheck.controllers.js",
    "content": "import { ApiResponse } from \"../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../utils/asyncHandler.js\";\n\nconst healthcheck = asyncHandler(async (req, res) => {\n  return res\n    .status(200)\n    .json(new ApiResponse(200, \"OK\", \"Health check passed\"));\n});\n\nexport { healthcheck };\n"
  },
  {
    "path": "src/controllers/kitchen-sink/cookie.controllers.js",
    "content": "import { ApiResponse } from \"../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../utils/asyncHandler.js\";\n\nconst getCookies = asyncHandler(async (req, res) => {\n  return res\n    .status(200)\n    .json(new ApiResponse(200, { cookies: req.cookies }, \"Cookies returned\"));\n});\n\nconst setCookie = asyncHandler(async (req, res) => {\n  const cookieObject = req.body;\n\n  Object.entries(cookieObject).forEach((entry) => {\n    res.cookie(...entry);\n  });\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n        200,\n        { cookies: { ...req.cookies, ...cookieObject } },\n        \"Cookie has been set\"\n      )\n    );\n});\n\nconst removeCookie = asyncHandler(async (req, res) => {\n  const { cookieKey } = req.query;\n\n  return res\n    .status(200)\n    .clearCookie(cookieKey)\n    .json(\n      new ApiResponse(\n        200,\n        { cookies: { ...req.cookies, [cookieKey]: undefined } },\n        \"Cookie has been cleared\"\n      )\n    );\n});\n\nexport { getCookies, setCookie, removeCookie };\n"
  },
  {
    "path": "src/controllers/kitchen-sink/httpmethod.controllers.js",
    "content": "import { ApiResponse } from \"../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../utils/asyncHandler.js\";\n\n// TODO: Add more request methods (low priority)\n\n/**\n *\n * @param {import(\"express\").Request} req\n */\nconst getRequestMethodPayload = (req) => {\n  return {\n    method: req.method,\n    headers: req.headers,\n    origin: req.socket.localAddress,\n    url: req.protocol + \"://\" + req.headers.host + req.originalUrl,\n  };\n};\n\nconst getRequest = asyncHandler(async (req, res) => {\n  return res\n    .status(200)\n    .json(new ApiResponse(200, getRequestMethodPayload(req), \"GET request\"));\n});\n\nconst postRequest = asyncHandler(async (req, res) => {\n  return res\n    .status(200)\n    .json(new ApiResponse(200, getRequestMethodPayload(req), \"POST request\"));\n});\n\nconst putRequest = asyncHandler(async (req, res) => {\n  return res\n    .status(200)\n    .json(new ApiResponse(200, getRequestMethodPayload(req), \"PUT request\"));\n});\n\nconst patchRequest = asyncHandler(async (req, res) => {\n  return res\n    .status(200)\n    .json(new ApiResponse(200, getRequestMethodPayload(req), \"PATCH request\"));\n});\n\nconst deleteRequest = asyncHandler(async (req, res) => {\n  return res\n    .status(200)\n    .json(new ApiResponse(200, getRequestMethodPayload(req), \"DELETE request\"));\n});\n\nexport { getRequest, postRequest, putRequest, patchRequest, deleteRequest };\n"
  },
  {
    "path": "src/controllers/kitchen-sink/image.controllers.js",
    "content": "import { asyncHandler } from \"../../utils/asyncHandler.js\";\n\nconst sendJpegImage = asyncHandler(async (req, res) => {\n  return res.status(200).sendFile(\"/public/assets/images/ken_thompson.jpeg\", {\n    root: \"./\",\n  });\n});\n\nconst sendJpgImage = asyncHandler(async (req, res) => {\n  return res.status(200).sendFile(\"/public/assets/images/gaearon.jpg\", {\n    root: \"./\",\n  });\n});\n\nconst sendPngImage = asyncHandler(async (req, res) => {\n  return res.status(200).sendFile(\"/public/assets/images/rich_harris.png\", {\n    root: \"./\",\n  });\n});\n\nconst sendSvgImage = asyncHandler(async (req, res) => {\n  return res.status(200).sendFile(\"/public/assets/images/javascript.svg\", {\n    root: \"./\",\n  });\n});\n\nconst sendWebpImage = asyncHandler(async (req, res) => {\n  return res\n    .status(200)\n    .sendFile(\"/public/assets/images/guido_van_rossum.webp\", {\n      root: \"./\",\n    });\n});\n\nexport {\n  sendJpegImage,\n  sendJpgImage,\n  sendPngImage,\n  sendSvgImage,\n  sendWebpImage,\n};\n"
  },
  {
    "path": "src/controllers/kitchen-sink/redirect.controllers.js",
    "content": "import { asyncHandler } from \"../../utils/asyncHandler.js\";\n\nconst redirectToTheUrl = asyncHandler(async (req, res) => {\n  const { url } = req.query;\n\n  return res.status(301).redirect(url);\n});\n\nexport { redirectToTheUrl };\n"
  },
  {
    "path": "src/controllers/kitchen-sink/requestinspection.controllers.js",
    "content": "import { ApiResponse } from \"../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../utils/asyncHandler.js\";\n\nconst getRequestHeaders = asyncHandler(async (req, res) => {\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(200, { headers: req.headers }, \"Request headers returned\")\n    );\n});\n\nconst getClientIP = asyncHandler(async (req, res) => {\n  return res.status(200).json(\n    new ApiResponse(\n      200,\n      {\n        ip: req.socket.remoteAddress || req.socket.localAddress,\n        ipv: req.socket.remoteFamily || req.socket.localFamily,\n      },\n      \"IP information returned\"\n    )\n  );\n});\n\nconst getUserAgent = asyncHandler(async (req, res) => {\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n        200,\n        { userAgent: req.headers[\"user-agent\"] },\n        \"User agent returned\"\n      )\n    );\n});\n\nconst getPathVariables = asyncHandler(async (req, res) => {\n  const { pathVariable } = req.params;\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n        200,\n        { pathVariable },\n        \"Path variables caught successfully\"\n      )\n    );\n});\n\nconst getQueryParameters = asyncHandler(async (req, res) => {\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(200, req.query, \"Query parameters caught successfully\")\n    );\n});\n\nexport {\n  getClientIP,\n  getRequestHeaders,\n  getUserAgent,\n  getPathVariables,\n  getQueryParameters,\n};\n"
  },
  {
    "path": "src/controllers/kitchen-sink/responseinspection.controllers.js",
    "content": "import { ApiResponse } from \"../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../utils/asyncHandler.js\";\n\nconst getResponseHeaders = asyncHandler(async (req, res) => {\n  res.set({\n    \"Content-Type\": \"application/json; charset=utf-8\",\n    \"Content-Length\": \"280\",\n    etag: \"12345\",\n  });\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n        200,\n        { headers: res.getHeaders() },\n        \"Response headers returned\"\n      )\n    );\n});\n\n/**\n * @description `Cache-control` is an HTTP header used to specify browser caching policies in both client requests and server responses. Policies include how a resource is cached, where it’s cached and its maximum age before expiring (i.e., time to live)\n * For example,\n * - cache-control: max-age=120 means that the returned resource is valid for 120 seconds, after which the browser has to request a newer version.\n */\nconst setCacheControlHeader = asyncHandler(async (req, res) => {\n  const { timeToLive, cacheResponseDirective } = req.params;\n  res.set(\n    // The `public` (cacheResponseDirective) response directive indicates that a resource can be cached by any cache.\n    // The `private` (cacheResponseDirective) response directive indicates that a resource is user specific—it can still be cached, but only on a client device. For example, a web page response marked as private can be cached by a desktop browser, but not a content delivery network (CDN).\n    \"Cache-Control\",\n    `${cacheResponseDirective}, max-age=${timeToLive}`\n  );\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n        200,\n        { headers: res.getHeaders() },\n        \"Cache control header has been set\"\n      )\n    );\n});\n\nconst sendHTMLTemplate = asyncHandler(async (req, res) => {\n  return res\n    .status(200)\n    .set(\"content-type\", \"text/html\")\n    .sendFile(\"/public/assets/templates/html_response.html\", {\n      root: \"./\",\n    });\n});\n\nconst sendXMLData = asyncHandler(async (req, res) => {\n  return res\n    .status(200)\n    .set(\"content-type\", \"application/xml\")\n    .sendFile(\"/public/assets/templates/xml_response.xml\", {\n      root: \"./\",\n    });\n});\n\nconst sendGzipResponse = asyncHandler(async (req, res) => {\n  // This controller is guarded by compression middleware which compresses the response\n  const animal = \"elephant\";\n  // It will repeatedly send the word 'elephant' in a\n  // 'text/html' format file\n  res.status(200).send(\n    new ApiResponse(\n      200,\n      {\n        contentEncoding: \"gzip\",\n        string: animal.repeat(1000),\n      },\n      \"Response compressed with gzip\"\n    )\n  );\n});\n\nconst sendBrotliResponse = asyncHandler(async (req, res) => {\n  // This controller is guarded by compression middleware which compresses the response in `br` encoding\n  const animal = \"elephant\";\n  res.status(200).send(\n    new ApiResponse(\n      200,\n      {\n        contentEncoding: \"br\",\n        string: animal.repeat(1000),\n      },\n      \"Response compressed with brotli\"\n    )\n  );\n});\n\nexport {\n  getResponseHeaders,\n  setCacheControlHeader,\n  sendHTMLTemplate,\n  sendXMLData,\n  sendGzipResponse,\n  sendBrotliResponse,\n};\n"
  },
  {
    "path": "src/controllers/kitchen-sink/statuscode.controllers.js",
    "content": "import { asyncHandler } from \"../../utils/asyncHandler.js\";\nimport statusCodesJson from \"../../json/status-codes.json\" assert { type: \"json\" };\nimport { ApiError } from \"../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../utils/ApiResponse.js\";\n\n/**\n * @description status codes which are avoiding sending response due to their nature\n */\nconst CONFLICTING_STATUS_CODES = [100, 102, 103, 204, 205, 304];\n\nconst getStatusCode = asyncHandler(async (req, res) => {\n  const { statusCode } = req.params;\n\n  /** @type {{statusCode: number, statusMessage: string, description: string, category: string}} */\n  const payload = statusCodesJson[statusCode];\n\n  if (!payload) {\n    throw new ApiError(404, \"Invalid status code\");\n  }\n\n  return res\n    .status(\n      // If the status codes are causing problem in sending response just send 200 OK response so that user can see the response\n      CONFLICTING_STATUS_CODES.includes(payload.statusCode)\n        ? 200\n        : payload.statusCode\n    )\n    .json(\n      new ApiResponse(\n        payload.statusCode,\n        { ...payload },\n        `${payload.statusCode}: ${payload.statusMessage}`\n      )\n    );\n});\n\nconst getAllStatusCodes = asyncHandler(async (req, res) => {\n  return res\n    .status(200)\n    .json(new ApiResponse(200, statusCodesJson, \"Status codes fetched\"));\n});\n\nexport { getStatusCode, getAllStatusCodes };\n"
  },
  {
    "path": "src/controllers/public/book.controllers.js",
    "content": "import booksJson from \"../../json/books.json\" assert { type: \"json\" };\nimport { filterObjectKeys, getPaginatedPayload } from \"../../utils/helpers.js\";\nimport { ApiError } from \"../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../utils/asyncHandler.js\";\n\nconst getBooks = asyncHandler(async (req, res) => {\n  const page = +(req.query.page || 1);\n  const limit = +(req.query.limit || 10);\n  const query = req.query.query?.toLowerCase(); // search query\n  const inc = req.query.inc?.split(\",\"); // only include fields mentioned in this query\n\n  let booksArray = query\n    ? structuredClone(booksJson).filter((book) => {\n        return (\n          book.searchInfo?.textSnippet.toLowerCase().includes(query) ||\n          book.volumeInfo.title?.includes(query) ||\n          book.volumeInfo.subtitle?.includes(query)\n        );\n      })\n    : structuredClone(booksJson);\n  const paginatedBooks = getPaginatedPayload(booksArray, page, limit);\n  const updatedBooks = inc\n    ? filterObjectKeys(inc, paginatedBooks.data)\n    : paginatedBooks.data;\n  return res.status(200).json(\n    new ApiResponse(\n      200,\n      {\n        ...paginatedBooks,\n        data: updatedBooks,\n      },\n      \"Books fetched successfully\"\n    )\n  );\n});\n\nconst getBookById = asyncHandler(async (req, res) => {\n  const { bookId } = req.params;\n  const book = booksJson.find((book) => +book.id === +bookId);\n  if (!book) {\n    throw new ApiError(404, \"Book does not exist.\");\n  }\n  return res\n    .status(200)\n    .json(new ApiResponse(200, book, \"Book fetched successfully\"));\n});\n\nconst getARandomBook = asyncHandler(async (req, res) => {\n  const booksArray = booksJson;\n  const randomIndex = Math.floor(Math.random() * booksArray.length);\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(200, booksArray[randomIndex], \"Book fetched successfully\")\n    );\n});\n\nexport { getBooks, getARandomBook, getBookById };\n"
  },
  {
    "path": "src/controllers/public/cat.controllers.js",
    "content": "import catsJson from \"../../json/cats.json\" assert { type: \"json\" };\nimport { filterObjectKeys, getPaginatedPayload } from \"../../utils/helpers.js\";\nimport { ApiError } from \"../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../utils/asyncHandler.js\";\n\nconst getCats = asyncHandler(async (req, res) => {\n  const page = +(req.query.page || 1);\n  const limit = +(req.query.limit || 10);\n  const query = req.query.query?.toLowerCase(); // search query\n  const inc = req.query.inc?.split(\",\"); // only include fields mentioned in this query\n\n  let catsArray = query\n    ? structuredClone(catsJson).filter((cat) => {\n        return (\n          cat.name?.toLowerCase().includes(query) ||\n          cat.temperament?.toLowerCase().includes(query)\n        );\n      })\n    : structuredClone(catsJson);\n\n  const paginatedCats = getPaginatedPayload(catsArray, page, limit);\n  const updatedCats = inc\n    ? filterObjectKeys(inc, paginatedCats.data)\n    : paginatedCats.data;\n  return res.status(200).json(\n    new ApiResponse(\n      200,\n      {\n        ...paginatedCats,\n        data: updatedCats,\n      },\n      \"Cats fetched successfully\"\n    )\n  );\n});\n\nconst getCatById = asyncHandler(async (req, res) => {\n  const { catId } = req.params;\n  const cat = catsJson.find((cat) => +cat.id === +catId);\n  if (!cat) {\n    throw new ApiError(404, \"Cat does not exist.\");\n  }\n  return res\n    .status(200)\n    .json(new ApiResponse(200, cat, \"Cat fetched successfully\"));\n});\n\nconst getARandomCat = asyncHandler(async (req, res) => {\n  const catsArray = catsJson;\n  const randomIndex = Math.floor(Math.random() * catsArray.length);\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(200, catsArray[randomIndex], \"Cat fetched successfully\")\n    );\n});\n\nexport { getCats, getARandomCat, getCatById };\n"
  },
  {
    "path": "src/controllers/public/dog.controllers.js",
    "content": "import dogsJson from \"../../json/dogs.json\" assert { type: \"json\" };\nimport { filterObjectKeys, getPaginatedPayload } from \"../../utils/helpers.js\";\nimport { ApiError } from \"../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../utils/asyncHandler.js\";\n\nconst getDogs = asyncHandler(async (req, res) => {\n  const page = +(req.query.page || 1);\n  const limit = +(req.query.limit || 10);\n  const query = req.query.query?.toLowerCase(); // search query\n  const inc = req.query.inc?.split(\",\"); // only include fields mentioned in this query\n\n  let dogsArray = query\n    ? structuredClone(dogsJson).filter((dog) => {\n        return (\n          dog.name?.toLowerCase().includes(query) ||\n          dog.breed_group?.toLowerCase().includes(query)\n        );\n      })\n    : structuredClone(dogsJson);\n\n  const paginatedDogs = getPaginatedPayload(dogsArray, page, limit);\n  const updatedDogs = inc\n    ? filterObjectKeys(inc, paginatedDogs.data)\n    : paginatedDogs.data;\n  return res.status(200).json(\n    new ApiResponse(\n      200,\n      {\n        ...paginatedDogs,\n        data: updatedDogs,\n      },\n      \"Dogs fetched successfully\"\n    )\n  );\n});\n\nconst getDogById = asyncHandler(async (req, res) => {\n  const { dogId } = req.params;\n  const dog = dogsJson.find((dog) => +dog.id === +dogId);\n  if (!dog) {\n    throw new ApiError(404, \"Dog does not exist.\");\n  }\n  return res\n    .status(200)\n    .json(new ApiResponse(200, dog, \"Dog fetched successfully\"));\n});\n\nconst getARandomDog = asyncHandler(async (req, res) => {\n  const dogsArray = dogsJson;\n  const randomIndex = Math.floor(Math.random() * dogsArray.length);\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(200, dogsArray[randomIndex], \"Dog fetched successfully\")\n    );\n});\n\nexport { getDogs, getARandomDog, getDogById };\n"
  },
  {
    "path": "src/controllers/public/meal.controllers.js",
    "content": "import mealsJson from \"../../json/meals.json\" assert { type: \"json\" };\nimport { filterObjectKeys, getPaginatedPayload } from \"../../utils/helpers.js\";\nimport { ApiError } from \"../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../utils/asyncHandler.js\";\n\nconst getMeals = asyncHandler(async (req, res) => {\n  const page = +(req.query.page || 1);\n  const limit = +(req.query.limit || 10);\n  const query = req.query.query?.toLowerCase(); // search query\n  const inc = req.query.inc?.split(\",\"); // only include fields mentioned in this query\n\n  let mealsArray = query\n    ? structuredClone(mealsJson).filter((meal) => {\n        return (\n          meal.strMeal?.toLowerCase().includes(query) ||\n          meal.strCategory?.includes(query)\n        );\n      })\n    : structuredClone(mealsJson);\n\n  const paginatedMeals = getPaginatedPayload(mealsArray, page, limit);\n  const updatedMeals = inc\n    ? filterObjectKeys(inc, paginatedMeals.data)\n    : paginatedMeals.data;\n  return res.status(200).json(\n    new ApiResponse(\n      200,\n      {\n        ...paginatedMeals,\n        data: updatedMeals,\n      },\n      \"Meals fetched successfully\"\n    )\n  );\n});\n\nconst getMealById = asyncHandler(async (req, res) => {\n  const { mealId } = req.params;\n  const meal = mealsJson.find((meal) => +meal.id === +mealId);\n  if (!meal) {\n    throw new ApiError(404, \"Meal does not exist.\");\n  }\n  return res\n    .status(200)\n    .json(new ApiResponse(200, meal, \"Meal fetched successfully\"));\n});\n\nconst getARandomMeal = asyncHandler(async (req, res) => {\n  const mealsArray = mealsJson;\n  const randomIndex = Math.floor(Math.random() * mealsArray.length);\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(200, mealsArray[randomIndex], \"Meal fetched successfully\")\n    );\n});\n\nexport { getMeals, getARandomMeal, getMealById };\n"
  },
  {
    "path": "src/controllers/public/quote.controllers.js",
    "content": "import quotesJson from \"../../json/quotes.json\" assert { type: \"json\" };\nimport { filterObjectKeys, getPaginatedPayload } from \"../../utils/helpers.js\";\nimport { ApiError } from \"../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../utils/asyncHandler.js\";\n\nconst getQuotes = asyncHandler(async (req, res) => {\n  const page = +(req.query.page || 1);\n  const limit = +(req.query.limit || 10);\n  const query = req.query.query?.toLowerCase(); // search query\n  const inc = req.query.inc?.split(\",\"); // only include fields mentioned in this query\n\n  let quotesArray = query\n    ? structuredClone(quotesJson).filter((quote) => {\n        return (\n          quote.content.toLowerCase().includes(query) ||\n          quote.author?.includes(query)\n        );\n      })\n    : structuredClone(quotesJson);\n\n  const paginatedQuotes = getPaginatedPayload(quotesArray, page, limit);\n  const updatedQuotes = inc\n    ? filterObjectKeys(inc, paginatedQuotes.data)\n    : paginatedQuotes.data;\n\n  return res.status(200).json(\n    new ApiResponse(\n      200,\n      {\n        ...paginatedQuotes,\n        data: updatedQuotes,\n      },\n      \"Quotes fetched successfully\"\n    )\n  );\n});\n\nconst getQuoteById = asyncHandler(async (req, res) => {\n  const { quoteId } = req.params;\n  const quote = quotesJson.find((quote) => +quote.id === +quoteId);\n  if (!quote) {\n    throw new ApiError(404, \"Quote does not exist.\");\n  }\n  return res\n    .status(200)\n    .json(new ApiResponse(200, quote, \"Quote fetched successfully\"));\n});\n\nconst getARandomQuote = asyncHandler(async (req, res) => {\n  const quotesArray = quotesJson;\n  const randomIndex = Math.floor(Math.random() * quotesArray.length);\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n        200,\n        quotesArray[randomIndex],\n        \"Quote fetched successfully\"\n      )\n    );\n});\n\nexport { getQuotes, getARandomQuote, getQuoteById };\n"
  },
  {
    "path": "src/controllers/public/randomjoke.controllers.js",
    "content": "import randomJokesJson from \"../../json/randomjoke.json\" assert { type: \"json\" };\nimport { filterObjectKeys, getPaginatedPayload } from \"../../utils/helpers.js\";\nimport { ApiError } from \"../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../utils/asyncHandler.js\";\n\nconst getRandomJokes = asyncHandler(async (req, res) => {\n  const page = +(req.query.page || 1);\n  const limit = +(req.query.limit || 10);\n  const query = req.query.query?.toLowerCase(); // search query\n  const inc = req.query.inc?.split(\",\"); // only include fields mentioned in this query\n\n  let randomJokesArray = query\n    ? structuredClone(randomJokesJson).filter((joke) => {\n        return joke.content.toLowerCase().includes(query);\n      })\n    : structuredClone(randomJokesJson);\n\n  const paginatedJokes = getPaginatedPayload(randomJokesArray, page, limit);\n  const updatedJokes = inc\n    ? filterObjectKeys(inc, paginatedJokes.data)\n    : paginatedJokes.data;\n\n  return res.status(200).json(\n    new ApiResponse(\n      200,\n      {\n        ...paginatedJokes,\n        data: updatedJokes,\n      },\n      \"Random jokes fetched successfully\"\n    )\n  );\n});\n\nconst getJokeById = asyncHandler(async (req, res) => {\n  const { jokeId } = req.params;\n  const joke = randomJokesJson.find((joke) => +joke.id === +jokeId);\n  if (!joke) {\n    throw new ApiError(404, \"Joke does not exist.\");\n  }\n  return res\n    .status(200)\n    .json(new ApiResponse(200, joke, \"Joke fetched successfully\"));\n});\n\nconst getARandomJoke = asyncHandler(async (req, res) => {\n  const randomJokesArray = randomJokesJson;\n  const randomIndex = Math.floor(Math.random() * randomJokesArray.length);\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n        200,\n        randomJokesArray[randomIndex],\n        \"Random joke fetched successfully\"\n      )\n    );\n});\n\nexport { getRandomJokes, getARandomJoke, getJokeById };\n"
  },
  {
    "path": "src/controllers/public/randomproduct.controllers.js",
    "content": "import randomProductsJson from \"../../json/randomproduct.json\" assert { type: \"json\" };\nimport { filterObjectKeys, getPaginatedPayload } from \"../../utils/helpers.js\";\nimport { ApiError } from \"../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../utils/asyncHandler.js\";\n\nconst getRandomProducts = asyncHandler(async (req, res) => {\n  const page = +(req.query.page || 1);\n  const limit = +(req.query.limit || 10);\n  const query = req.query.query?.toLowerCase(); // search query\n  const inc = req.query.inc?.split(\",\"); // only include fields mentioned in this query\n\n  let randomProductsArray = query\n    ? structuredClone(randomProductsJson).filter((product) => {\n        return (\n          product.title.toLowerCase().includes(query) ||\n          product.description.toLowerCase().includes(query) ||\n          product.category.toLowerCase().includes(query)\n        );\n      })\n    : structuredClone(randomProductsJson);\n\n  const paginatedProducts = getPaginatedPayload(\n    randomProductsArray,\n    page,\n    limit\n  );\n  const updatedProducts = inc\n    ? filterObjectKeys(inc, paginatedProducts.data)\n    : paginatedProducts.data;\n\n  return res.status(200).json(\n    new ApiResponse(\n      200,\n      {\n        ...paginatedProducts,\n        data: updatedProducts,\n      },\n      \"Random products fetched successfully\"\n    )\n  );\n});\n\nconst getProductById = asyncHandler(async (req, res) => {\n  const { productId } = req.params;\n  const product = randomProductsJson.find(\n    (product) => +product.id === +productId\n  );\n  if (!product) {\n    throw new ApiError(404, \"Product does not exist.\");\n  }\n  return res\n    .status(200)\n    .json(new ApiResponse(200, product, \"Product fetched successfully\"));\n});\n\nconst getARandomProduct = asyncHandler(async (req, res) => {\n  const randomProductsArray = randomProductsJson;\n  const randomIndex = Math.floor(Math.random() * randomProductsArray.length);\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n        200,\n        randomProductsArray[randomIndex],\n        \"Random product fetched successfully\"\n      )\n    );\n});\n\nexport { getRandomProducts, getARandomProduct, getProductById };\n"
  },
  {
    "path": "src/controllers/public/randomuser.controllers.js",
    "content": "import randomUsersJson from \"../../json/randomuser.json\" assert { type: \"json\" };\nimport { filterObjectKeys, getPaginatedPayload } from \"../../utils/helpers.js\";\nimport { ApiError } from \"../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../utils/asyncHandler.js\";\n\nconst getRandomUsers = asyncHandler(async (req, res) => {\n  const page = +(req.query.page || 1);\n  const limit = +(req.query.limit || 10);\n  const query = req.query.query?.toLowerCase(); // search query\n  const inc = req.query.inc?.split(\",\"); // only include fields mentioned in this query\n\n  let randomUsersArray = query\n    ? structuredClone(randomUsersJson).filter((user) => {\n        return (\n          user.name.first.toLowerCase().includes(query) ||\n          user.name.last.toLowerCase().includes(query) ||\n          user.name.title.toLowerCase().includes(query) ||\n          user.email.toLowerCase().includes(query)\n        );\n      })\n    : structuredClone(randomUsersJson);\n\n  const paginatedUsers = getPaginatedPayload(randomUsersArray, page, limit);\n  const updatedUsers = inc\n    ? filterObjectKeys(inc, paginatedUsers.data)\n    : paginatedUsers.data;\n  return res.status(200).json(\n    new ApiResponse(\n      200,\n      {\n        ...paginatedUsers,\n        data: updatedUsers,\n      },\n      \"Random users fetched successfully\"\n    )\n  );\n});\n\nconst getUserById = asyncHandler(async (req, res) => {\n  const { userId } = req.params;\n  const user = randomUsersJson.find((user) => +user.id === +userId);\n  if (!user) {\n    throw new ApiError(404, \"User does not exist.\");\n  }\n  return res\n    .status(200)\n    .json(new ApiResponse(200, user, \"User fetched successfully\"));\n});\n\nconst getARandomUser = asyncHandler(async (req, res) => {\n  const randomUsersArray = randomUsersJson;\n  const randomIndex = Math.floor(Math.random() * randomUsersArray.length);\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n        200,\n        randomUsersArray[randomIndex],\n        \"Random user fetched successfully\"\n      )\n    );\n});\n\nexport { getRandomUsers, getARandomUser, getUserById };\n"
  },
  {
    "path": "src/controllers/public/stock.controllers.js",
    "content": "import nseStocksJson from \"../../json/nse-stocks.json\" assert { type: \"json\" };\nimport { filterObjectKeys, getPaginatedPayload } from \"../../utils/helpers.js\";\nimport { ApiError } from \"../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../utils/asyncHandler.js\";\n\nconst getStocks = asyncHandler(async (req, res) => {\n  const page = +(req.query.page || 1);\n  const limit = +(req.query.limit || 10);\n  const query = req.query.query?.toLowerCase(); // search query\n  const inc = req.query.inc?.split(\",\"); // only include fields mentioned in this query\n\n  let stocksArray = query\n    ? structuredClone(nseStocksJson).filter((stock) => {\n        return (\n          stock.Name?.toLowerCase()?.includes(query) ||\n          stock.Symbol?.includes(query)\n        );\n      })\n    : structuredClone(nseStocksJson);\n\n  const paginatedStocks = getPaginatedPayload(stocksArray, page, limit);\n  const updatedStocks = inc\n    ? filterObjectKeys(inc, paginatedStocks.data)\n    : paginatedStocks.data;\n\n  return res.status(200).json(\n    new ApiResponse(\n      200,\n      {\n        ...paginatedStocks,\n        data: updatedStocks,\n      },\n      \"Stocks fetched successfully\"\n    )\n  );\n});\n\nconst getStockById = asyncHandler(async (req, res) => {\n  const { stockSymbol } = req.params;\n  const stock = nseStocksJson.find(\n    (stock) => stock.Symbol.toLowerCase() === stockSymbol.toLowerCase()\n  );\n  if (!stock) {\n    throw new ApiError(404, \"Stock does not exist.\");\n  }\n  return res\n    .status(200)\n    .json(new ApiResponse(200, stock, \"Stock fetched successfully\"));\n});\n\nconst getARandomStock = asyncHandler(async (req, res) => {\n  const stocksArray = nseStocksJson;\n  const randomIndex = Math.floor(Math.random() * stocksArray.length);\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n        200,\n        stocksArray[randomIndex],\n        \"Stock fetched successfully\"\n      )\n    );\n});\n\nexport { getStocks, getARandomStock, getStockById };\n"
  },
  {
    "path": "src/controllers/public/youtube.controllers.js",
    "content": "import { YouTubeFilterEnum, AvailableYouTubeFilters } from \"../../constants.js\";\nimport channelJson from \"../../json/youtube/channel.json\" assert { type: \"json\" };\nimport commentsJson from \"../../json/youtube/comments.json\" assert { type: \"json\" };\nimport playlistItemsJson from \"../../json/youtube/playlistitems.json\" assert { type: \"json\" };\nimport playlistsJson from \"../../json/youtube/playlists.json\" assert { type: \"json\" };\nimport videosJson from \"../../json/youtube/videos.json\" assert { type: \"json\" };\nimport { ApiError } from \"../../utils/ApiError.js\";\nimport { ApiResponse } from \"../../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../../utils/asyncHandler.js\";\nimport { filterObjectKeys, getPaginatedPayload } from \"../../utils/helpers.js\";\n\nconst getChannelDetails = asyncHandler(async (req, res) => {\n  const channelDetails = channelJson.channel;\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n        200,\n        channelDetails,\n        \"Channel details fetched successfully!\"\n      )\n    );\n});\n\nconst getPlaylists = asyncHandler(async (req, res) => {\n  const page = +(req.query.page || 1);\n  const limit = +(req.query.limit || 10);\n\n  const playlists = playlistsJson;\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n        200,\n        getPaginatedPayload(playlists, page, limit),\n        \"Playlists fetched successfully\"\n      )\n    );\n});\n\nconst getPlaylistById = asyncHandler(async (req, res) => {\n  const { playlistId } = req.params;\n\n  // filter out the playlist by id from json array\n  const playlist = playlistsJson.find((playlist) => playlist.id === playlistId);\n\n  if (!playlist) {\n    throw new ApiError(\n      404,\n      \"Playlist with ID \" + playlistId + \" Does not exist\"\n    );\n  }\n\n  // get the channel info\n  const channel = {\n    info: channelJson.channel.info.snippet,\n    statistics: channelJson.channel.info.statistics,\n  };\n\n  // Get the playlist items in the playlist\n  const playlistItems = playlistItemsJson.filter(\n    (item) => item.snippet.playlistId === playlistId\n  );\n\n  return res.status(200).json(\n    new ApiResponse(\n      200,\n      {\n        channel,\n        playlist,\n        playlistItems,\n      },\n      \"Playlist fetched successfully\"\n    )\n  );\n});\n\nconst getVideos = asyncHandler(async (req, res) => {\n  const page = +(req.query.page || 1);\n  const limit = +(req.query.limit || 10);\n\n  /**\n   * @type {AvailableYouTubeFilters[0]}\n   */\n  const sortBy = req.query.sortBy;\n\n  const query = req.query.query?.toLowerCase(); // search query\n  const inc = req.query.inc?.split(\",\"); // only include fields mentioned in this query\n\n  const videos = videosJson.channelVideos;\n\n  let videosArray = query\n    ? structuredClone(videos).filter((video) => {\n        return (\n          // Search videos based on title, description and tags\n          video.items.snippet.title.toLowerCase().includes(query) ||\n          video.items.snippet.tags?.includes(query) ||\n          video.items.snippet.description?.includes(query)\n        );\n      })\n    : structuredClone(videos);\n\n  // if (inc && inc[0]?.trim()) {\n  //   videosArray = filterObjectKeys(inc, videosArray);\n  // }\n\n  switch (sortBy) {\n    case YouTubeFilterEnum.LATEST:\n      // sort by publishedAt key in descending order\n      videosArray.sort(\n        (a, b) =>\n          new Date(b.items.snippet.publishedAt) -\n          new Date(a.items.snippet.publishedAt)\n      );\n      break;\n    case YouTubeFilterEnum.OLDEST:\n      // sort by publishedAt key in ascending order\n      videosArray.sort(\n        (a, b) =>\n          new Date(a.items.snippet.publishedAt) -\n          new Date(b.items.snippet.publishedAt)\n      );\n      break;\n    case YouTubeFilterEnum.MOST_LIKED:\n      videosArray.sort(\n        (a, b) => +b.items.statistics.likeCount - +a.items.statistics.likeCount\n      );\n      break;\n    case YouTubeFilterEnum.MOST_VIEWED:\n      videosArray.sort(\n        (a, b) => +b.items.statistics.viewCount - +a.items.statistics.viewCount\n      );\n      break;\n    default:\n      // Return latest videos by default\n      videosArray.sort(\n        (a, b) =>\n          new Date(b.items.snippet.publishedAt) -\n          new Date(a.items.snippet.publishedAt)\n      );\n      break;\n  }\n  const paginatedVideos = getPaginatedPayload(videosArray, page, limit);\n  const updatedVideos =\n    inc && inc[0]?.trim()\n      ? filterObjectKeys(inc, paginatedVideos.data)\n      : paginatedVideos.data;\n\n  return res.status(200).json(\n    new ApiResponse(\n      200,\n      {\n        ...paginatedVideos,\n        data: updatedVideos,\n      },\n      \"Videos fetched successfully\"\n    )\n  );\n});\n\nconst getVideoById = asyncHandler(async (req, res) => {\n  const { videoId } = req.params;\n\n  // get filter based on id\n  const video = videosJson.channelVideos.find(\n    (video) => video.items.id === videoId\n  );\n\n  if (!video) {\n    throw new ApiError(404, \"Video with ID \" + videoId + \" Does not exist\");\n  }\n\n  const channel = {\n    info: channelJson.channel.info.snippet,\n    statistics: channelJson.channel.info.statistics,\n  };\n\n  return res.status(200).json(\n    new ApiResponse(\n      200,\n      {\n        channel,\n        video,\n      },\n      \"Video fetched successfully\"\n    )\n  );\n});\n\nconst getVideoComments = asyncHandler(async (req, res) => {\n  const { videoId } = req.params;\n\n  const video = videosJson.channelVideos.find(\n    (video) => video.items.id === videoId\n  );\n\n  if (!video) {\n    throw new ApiError(404, \"Video with ID \" + videoId + \" Does not exist\");\n  }\n\n  const comments = commentsJson[videoId]?.items || [];\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(200, comments, \"Video comments fetched successfully\")\n    );\n});\n\nconst getRelatedVideos = asyncHandler(async (req, res) => {\n  const { videoId } = req.params;\n  const page = +(req.query.page || 1);\n  const limit = +(req.query.limit || 10);\n\n  const video = videosJson.channelVideos.find(\n    (video) => video.items.id === videoId\n  );\n\n  if (!video) {\n    throw new ApiError(404, \"Video with ID \" + videoId + \" Does not exist\");\n  }\n\n  // related videos are all except the selected one\n  const relatedVideos = videosJson.channelVideos.filter(\n    (video) => video.items.id !== videoId\n  );\n\n  return res\n    .status(200)\n    .json(\n      new ApiResponse(\n        200,\n        getPaginatedPayload(relatedVideos, page, limit),\n        \"Related videos fetched successfully\"\n      )\n    );\n});\n\nexport {\n  getChannelDetails,\n  getPlaylistById,\n  getPlaylists,\n  getRelatedVideos,\n  getVideoById,\n  getVideoComments,\n  getVideos,\n};\n"
  },
  {
    "path": "src/db/index.js",
    "content": "import mongoose from \"mongoose\";\nimport { DB_NAME } from \"../constants.js\";\nimport logger from \"../logger/winston.logger.js\";\n\n/** @type {typeof mongoose | undefined} */\nexport let dbInstance = undefined;\n\nconst connectDB = async () => {\n  try {\n    const connectionInstance = await mongoose.connect(\n      `${process.env.MONGODB_URI}/${DB_NAME}`\n    );\n    dbInstance = connectionInstance;\n    logger.info(\n      `\\n☘️  MongoDB Connected! Db host: ${connectionInstance.connection.host}\\n`\n    );\n  } catch (error) {\n    logger.error(\"MongoDB connection error: \", error);\n    process.exit(1);\n  }\n};\n\nexport default connectDB;\n"
  },
  {
    "path": "src/index.js",
    "content": "import dotenv from \"dotenv\";\nimport { httpServer } from \"./app.js\";\nimport connectDB from \"./db/index.js\";\nimport logger from \"./logger/winston.logger.js\";\n\ndotenv.config({\n  path: \"./.env\",\n});\n\n/**\n * Starting from Node.js v14 top-level await is available and it is only available in ES modules.\n * This means you can not use it with common js modules or Node version < 14.\n */\nconst majorNodeVersion = +process.env.NODE_VERSION?.split(\".\")[0] || 0;\n\nconst startServer = () => {\n  httpServer.listen(process.env.PORT || 8080, () => {\n    logger.info(\n      `📑 Visit the documentation at: http://localhost:${\n        process.env.PORT || 8080\n      }`\n    );\n    logger.info(\"⚙️  Server is running on port: \" + process.env.PORT);\n  });\n};\n\nif (majorNodeVersion >= 14) {\n  try {\n    await connectDB();\n    startServer();\n  } catch (err) {\n    logger.error(\"Mongo db connect error: \", err);\n  }\n} else {\n  connectDB()\n    .then(() => {\n      startServer();\n    })\n    .catch((err) => {\n      logger.error(\"Mongo db connect error: \", err);\n    });\n}\n"
  },
  {
    "path": "src/json/books.json",
    "content": "[\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 1,\n    \"etag\": \"KfkbeLGcmEA\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/KA9QDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Practices of an Agile Developer\",\n      \"subtitle\": \"Working in the Real World\",\n      \"authors\": [\"Venkat Subramaniam\", \"Andy Hunt\"],\n      \"publisher\": \"Pragmatic Bookshelf\",\n      \"publishedDate\": \"2006-04-04\",\n      \"description\": \"These are the proven, effective agile practices that will make you a better developer. You'll learn pragmatic ways of approaching the development process and your personal coding techniques. You'll learn about your own attitudes, issues with working on a team, and how to best manage your learning, all in an iterative, incremental, agile style. You'll see how to apply each practice, and what benefits you can expect. Bottom line: This book will make you a better developer.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781680504149\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1680504142\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 237,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 3,\n      \"ratingsCount\": 4,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.2.3.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=KA9QDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=KA9QDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=KA9QDwAAQBAJ&printsec=frontcover&dq=developer&hl=&cd=1&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=KA9QDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=KA9QDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 1923.4,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 1923.4,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=KA9QDwAAQBAJ&rdid=book-KA9QDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 1923400000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 1923400000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=KA9QDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"These are the proven, effective agile practices that will make you a better developer.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 2,\n    \"etag\": \"aT6gRM8dLto\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/bmDFjgEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Developer Testing\",\n      \"subtitle\": \"Building Quality Into Software\",\n      \"authors\": [\"Alexander Tarlinder\"],\n      \"publisher\": \"Addison-Wesley Signature Series (Cohn)\",\n      \"publishedDate\": \"2016\",\n      \"description\": \"To build high-quality software, you need to write testable code. That's harder than it seems: it requires insights drawn from arenas ranging from software craftsmanship to unit testing, refactoring to test-driven development. Most programming books either discuss testing only briefly, or drill down on just one or two techniques, with little guidance on how to systematically verify code. Most testing books, on the other hand, focus on a specific testing process, without showing how to write software that can be easily and systematically tested. In Developer Testing, leading software engineering consultant Alexander Tarnowski strikes an optimal balance, integrating insights from multiple disciplines to help frustrated practitioners get better results. Drawing on his extensive experience as a mentor and trainer, he offers insights that help you accelerate through the typical software assurance learning curve, so you can progress far more rapidly. Tarnowski organizes his insights into \\\"chunks\\\" to help you quickly absorb key concepts, and focuses on technology-agnostic approaches you can keep using with any new language, platform, or toolset. The first guide to cover testing mindset, techniques, and applications from the developer's perspective, Developer Testing will help developers get what they really want: better code. -- Provided by publisher.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0134291069\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780134291062\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 0,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computer programs\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=bmDFjgEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=bmDFjgEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=bmDFjgEACAAJ&dq=developer&hl=&cd=2&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=bmDFjgEACAAJ&dq=developer&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Developer_Testing.html?hl=&id=bmDFjgEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=bmDFjgEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The first guide to cover testing mindset, techniques, and applications from the developer&#39;s perspective, Developer Testing will help developers get what they really want: better code. -- Provided by publisher.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 3,\n    \"etag\": \"6NOaUBND99o\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/A31lDQAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Java Programming for Android Developers For Dummies\",\n      \"authors\": [\"Barry Burd\"],\n      \"publisher\": \"John Wiley & Sons\",\n      \"publishedDate\": \"2016-11-07\",\n      \"description\": \"Develop the next killer Android App using Java programming! Android is everywhere! It runs more than half the smartphones in the U.S.—and Java makes it go. If you want to cash in on its popularity by learning to build Android apps with Java, all the easy-to-follow guidance you need to get started is at your fingertips. Inside, you'll learn the basics of Java and grasp how it works with Android; then, you'll go on to create your first real, working application. How cool is that? The demand for Android apps isn't showing any signs of slowing, but if you're a mobile developer who wants to get in on the action, it's vital that you get the necessary Java background to be a success. With the help of Java Programming for Android Developers For Dummies, you'll quickly and painlessly discover the ins and outs of using Java to create groundbreaking Android apps—no prior knowledge or experience required! Get the know-how to create an Android program from the ground up Make sense of basic Java development concepts and techniques Develop the skills to handle programming challenges Find out how to debug your app Don't sit back and watch other developers release apps that bring in the bucks! Everything you need to create that next killer Android app is just a page away!\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781119301080\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1119301084\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 456,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.3.2.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=A31lDQAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=A31lDQAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=A31lDQAAQBAJ&printsec=frontcover&dq=developer&hl=&cd=3&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=A31lDQAAQBAJ&dq=developer&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Java_Programming_for_Android_Developers.html?hl=&id=A31lDQAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Java_Programming_for_Android_Developers-sample-pdf.acsm?id=A31lDQAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=A31lDQAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"With the help of Java Programming for Android Developers For Dummies, you&#39;ll quickly and painlessly discover the ins and outs of using Java to create groundbreaking Android apps—no prior knowledge or experience required!\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 4,\n    \"etag\": \"M+aHgueRKtY\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/lT3LDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Ask Your Developer\",\n      \"subtitle\": \"How to Harness the Power of Software Developers and Win in the 21st Century\",\n      \"authors\": [\"Jeff Lawson\"],\n      \"publisher\": \"HarperCollins\",\n      \"publishedDate\": \"2021-01-12\",\n      \"description\": \"Jeff Lawson, developer turned CEO of Twilio (one of Bloomberg Businessweek's Top 50 Companies to Watch in 2021), creates a new playbook for unleashing the full potential of software developers in any organization, showing how to help management utilize this coveted and valuable workforce to enable growth, solve a wide range of business problems, and drive digital transformation. From banking and retail to insurance and finance, every industry is turning digital, and every company needs the best software to win the hearts and minds of customers. The landscape has shifted from the classic build vs. buy question, to one of build vs. die. Companies have to get this right to survive. But how do they make this transition? Software developers are sought after, highly paid, and desperately needed to compete in the modern, digital economy. Yet most companies treat them like digital factory workers without really understanding how to unleash their full potential. Lawson argues that developers are the creative workforce who can solve major business problems and create hit products for customers—not just grind through rote tasks. From Google and Amazon, to one-person online software companies—companies that bring software developers in as partners are winning. Lawson shows how leaders who build industry changing software products consistently do three things well. First, they understand why software developers matter more than ever. Second, they understand developers and know how to motivate them. And third, they invest in their developers' success. As a software developer and public company CEO, Lawson uses his unique position to bridge the language and tools executives use with the unique culture of high performing, creative software developers. Ask Your Developer is a toolkit to help business leaders, product managers, technical leaders, software developers, and executives achieve their common goal—building great digital products and experiences. How to compete in the digital economy? In short: Ask Your Developer.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780063018303\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0063018306\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 304,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Business & Economics\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.1.1.0.preview.2\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=lT3LDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=lT3LDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=lT3LDwAAQBAJ&printsec=frontcover&dq=developer&hl=&cd=4&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=lT3LDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=lT3LDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 1643.55,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 1643.55,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=lT3LDwAAQBAJ&rdid=book-lT3LDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 1643550000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 1643550000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Ask_Your_Developer-sample-epub.acsm?id=lT3LDwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=lT3LDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"How to compete in the digital economy? In short: Ask Your Developer.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 5,\n    \"etag\": \"b7yZqHfYIlM\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/lAOqDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"AWS Certified Developer Official Study Guide\",\n      \"subtitle\": \"Associate (DVA-C01) Exam\",\n      \"authors\": [\n        \"Nick Alteen\",\n        \"Jennifer Fisher\",\n        \"Casey Gerena\",\n        \"Wes Gruver\",\n        \"Asim Jalis\",\n        \"Heiwad Osman\",\n        \"Marife Pagan\",\n        \"Santosh Patlolla\",\n        \"Michael Roth\"\n      ],\n      \"publisher\": \"John Wiley & Sons\",\n      \"publishedDate\": \"2019-09-24\",\n      \"description\": \"Foreword by Werner Vogels, Vice President and Corporate Technology Officer, Amazon The AWS exam has been updated. Your study guide should be, too. The AWS Certified Developer Official Study Guide–Associate Exam is your ultimate preparation resource for the latest exam! Covering all exam objectives, this invaluable resource puts a team of AWS experts at your side with expert guidance, clear explanations, and the wisdom of experience with AWS best practices. You’ll master core services and basic architecture, and equip yourself to develop, deploy, and debug cloud-based applications using AWS. The AWS Developer certification is earned by those who demonstrate the technical knowledge and skill associated with best practices for building secure, reliable cloud-based applications using AWS technology. This book is your official exam prep companion, providing everything you need to know to pass with flying colors. Study the AWS Certified Developer Exam objectives Gain expert insight on core AWS services and best practices Test your understanding of key concepts with challenging chapter questions Access online study tools including electronic flashcards, a searchable glossary, practice exams, and more Cloud computing offers businesses the opportunity to replace up-front capital infrastructure expenses with low, variable costs that scale as they grow. This customized responsiveness has negated the need for far-future infrastructure planning, putting thousands of servers at their disposal as needed—and businesses have responded, propelling AWS to the number-one spot among cloud service providers. Now these businesses need qualified AWS developers, and the AWS certification validates the exact skills and knowledge they’re looking for. When you’re ready to get serious about your cloud credentials, the AWS Certified Developer Official Study Guide–Associate Exam is the resource you need to pass the exam with flying colors. NOTE: As of October 7, 2019, the accompanying code for hands-on exercises in the book is available for downloading from the secure Resources area in the online test bank. You'll find code for Chapters 1, 2, 11, and 12.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781119508199\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1119508193\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 992,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.3.1.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=lAOqDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=lAOqDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=lAOqDwAAQBAJ&printsec=frontcover&dq=developer&hl=&cd=5&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=lAOqDwAAQBAJ&dq=developer&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/AWS_Certified_Developer_Official_Study_G.html?hl=&id=lAOqDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/AWS_Certified_Developer_Official_Study_G-sample-pdf.acsm?id=lAOqDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=lAOqDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This Sybex Study Guide covers the exam topics, helping you gain an understanding of core AWS development concepts. This official study guide is what you need to achieve your goals on exam day and throughout your career.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 6,\n    \"etag\": \"N/lZcdU/jzU\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/UFGaCwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Android Development Patterns\",\n      \"subtitle\": \"Best Practices for Professional Developers\",\n      \"authors\": [\"Phil Dutson\"],\n      \"publisher\": \"Addison-Wesley Professional\",\n      \"publishedDate\": \"2016-02-18\",\n      \"description\": \"“A must read for all developers that want to begin serious Android development.” —Justin Anderson, Freelance Android Developer “From start to finish, this book contains a variety of great tips and insight into the most important attributes of Android design. This book will definitely be required reading for any of our future Android engineers.” —Cameron Banga, Cofounder, 9magnets, LLC There’s a downside to Android’s amazing openness and versatility: it’s easy for developers to write code that’s inefficient, unreliable, insecure, or hard to maintain. In Android Development Patterns , enterprise Android developer Phil Dutson helps you leverage Android 5.0+’s amazing power without falling victim to those pitfalls. Dutson presents today’s most comprehensive set of patterns and procedures for building optimized, robust apps with Android 5.0+. First, Dutson guides you through establishing a highly efficient development environment and workflow, and testing your app to ensure that your code works just as you expect. Then, he walks through the modern best practices for structuring apps, using widgets and components, and working with views. You learn how to build apps that are easy to manage and update, deliver accurate and up-to-date information without wasting precious battery power, and take advantage of new hardware, such as Android Wear and Android TV. Dutson concludes by presenting powerful strategies for optimizing your apps and packaging them for distribution. Coverage includes Using testing to build more trustworthy, dependable, maintainable apps Understanding subtle but critical differences between Android and traditional Java programming Building consistent, modern user interfaces with views and layouts Leveraging the proven MVC pattern to cleanly organize logic Creating rich visual experiences with 3D graphics, animation, and media Simplifying capture and use of location data with the new Locations API Integrating optional hardware, such as Bluetooth, NFC, or USB Building better apps with Google Play Services Creating Android Wear notifications and apps Tuning and improving apps with Google Analytics Designing Android TV apps for the “ten foot view” informit.com/aw https://github.com/dutsonpa/adp-files\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780133924046\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0133924041\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 320,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.1.1.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=UFGaCwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=UFGaCwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=UFGaCwAAQBAJ&printsec=frontcover&dq=developer&hl=&cd=6&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=UFGaCwAAQBAJ&dq=developer&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Android_Development_Patterns.html?hl=&id=UFGaCwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED_FOR_ACCESSIBILITY\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Android_Development_Patterns-sample-epub.acsm?id=UFGaCwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Android_Development_Patterns-sample-pdf.acsm?id=UFGaCwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=UFGaCwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"“A must read for all developers that want to begin serious Android development.” —Justin Anderson, Freelance Android Developer “From start to finish, this book contains a variety of great tips and insight into the most important ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 7,\n    \"etag\": \"NkycvzZAzfU\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/oxg8_i9dVakC\",\n    \"volumeInfo\": {\n      \"title\": \"HTTP Developer's Handbook\",\n      \"authors\": [\"Chris Shiflett\"],\n      \"publisher\": \"Sams Publishing\",\n      \"publishedDate\": \"2003\",\n      \"description\": \"HTTP is the protocol that powers the Web. As Web applications become more sophisticated, and as emerging technologies continue to rely heavily on HTTP, understanding this protocol is becoming more and more essential for professional Web developers. By learning HTTP protocol, Web developers gain a deeper understanding of the Web's architecture and can create even better Web applications that are more reliable, faster, and more secure. The HTTP Developer's Handbook is written specifically for Web developers. It begins by introducing the protocol and explaining it in a straightforward manner. It then illustrates how to leverage this information to improve applications. Extensive information and examples are given covering a wide variety of issues, such as state and session management, caching, SSL, software architecture, and application security.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0672324547\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780672324543\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 306,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Bilgisayar Ağ Protokolü\"],\n      \"averageRating\": 3.5,\n      \"ratingsCount\": 6,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"5.6.5.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=oxg8_i9dVakC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=oxg8_i9dVakC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=oxg8_i9dVakC&printsec=frontcover&dq=developer&hl=&cd=7&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=oxg8_i9dVakC&dq=developer&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/HTTP_Developer_s_Handbook.html?hl=&id=oxg8_i9dVakC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED_FOR_ACCESSIBILITY\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=oxg8_i9dVakC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The HTTP Developer&#39;s Handbook is written specifically for Web developers. It begins by introducing the protocol and explaining it in a straightforward manner. It then illustrates how to leverage this information to improve applications.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 8,\n    \"etag\": \"3bPp8sgWsAk\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/ld6E19QIMo4C\",\n    \"volumeInfo\": {\n      \"title\": \"Mastering ENVY/Developer\",\n      \"authors\": [\"Joseph Pelrine\", \"Alan Knight\", \"Adrian Cho\"],\n      \"publisher\": \"Cambridge University Press\",\n      \"publishedDate\": \"2001-03-19\",\n      \"description\": \"This book is an in-depth exploration of ENVY/Developer, IBM's team programming environment for Smalltalk and Java. Written by well-known experts in the area, it presents both introductory and advanced topics with detailed examples. The first two parts of the book introduce the basics that a developer or development manager must know in order to use ENVY in a project setting, including the development process and the organization of applications. The third part covers advanced programming and customization, including detailed information on administering, troubleshooting, and extending the tools. This book covers VisualAge for Smalltalk, VisualWorks, and VisualAge Generator in detail. In addition, the concepts and management presented within the book apply to VisualAge for Java. Code examples, tools, and add-ons, are available on the supporting Web site.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0521666503\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780521666503\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 382,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"3.3.5.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=ld6E19QIMo4C&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=ld6E19QIMo4C&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=ld6E19QIMo4C&printsec=frontcover&dq=developer&hl=&cd=8&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=ld6E19QIMo4C&dq=developer&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Mastering_ENVY_Developer.html?hl=&id=ld6E19QIMo4C\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Mastering_ENVY_Developer-sample-pdf.acsm?id=ld6E19QIMo4C&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=ld6E19QIMo4C&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book covers VisualAge for Smalltalk, VisualWorks, and VisualAge Generator in detail. In addition, the concepts and management presented within the book apply to VisualAge for Java.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 9,\n    \"etag\": \"48wn8Io+xX0\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/dfJqmAEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Coder to Developer\",\n      \"subtitle\": \"Tools and Strategies for Delivering Your Software\",\n      \"authors\": [\"Mike Gunderloy\"],\n      \"publisher\": \"Sybex\",\n      \"publishedDate\": \"2004-05-07\",\n      \"description\": \"\\\"Two thumbs up\\\" —Gregory V. Wilson, Dr. Dobbs Journal (October 2004) No one can disparage the ability to write good code. At its highest levels, it is an art. But no one can confuse writing good code with developing good software. The difference—in terms of challenges, skills, and compensation—is immense. Coder to Developer helps you excel at the many non-coding tasks entailed, from start to finish, in just about any successful development project. What's more, it equips you with the mindset and self-assurance required to pull it all together, so that you see every piece of your work as part of a coherent process. Inside, you'll find plenty of technical guidance on such topics as: Choosing and using a source code control system Code generation tools--when and why Preventing bugs with unit testing Tracking, fixing, and learning from bugs Application activity logging Streamlining and systematizing the build process Traditional installations and alternative approaches To pull all of this together, the author has provided the source code for Download Tracker, a tool for organizing your collection of downloaded code, that's used for examples throughout this book. The code is provided in various states of completion, reflecting every stage of development, so that you can dig deep into the actual process of building software. But you'll also develop \\\"softer\\\" skills, in areas such as team management, open source collaboration, user and developer documentation, and intellectual property protection. If you want to become someone who can deliver not just good code but also a good product, this book is the place to start. If you must build successful software projects, it's essential reading.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"078214327X\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780782143270\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 320,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 3,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=dfJqmAEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=dfJqmAEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=dfJqmAEACAAJ&dq=developer&hl=&cd=9&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=dfJqmAEACAAJ&dq=developer&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Coder_to_Developer.html?hl=&id=dfJqmAEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=dfJqmAEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Inside, you&#39;ll find plenty of technical guidance on such topics as: Choosing and using a source code control system Code generation tools--when and why Preventing bugs with unit testing Tracking, fixing, and learning from bugs Application ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 10,\n    \"etag\": \"sQCa8UyT7gM\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/zp5hDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"A Day at Work with a Software Developer\",\n      \"authors\": [\"Devon McKinney\"],\n      \"publisher\": \"The Rosen Publishing Group, Inc\",\n      \"publishedDate\": \"2015-12-15\",\n      \"description\": \"This book is sure to grab the attention of readers who love coding and computers. Readers will enjoy learning about STEM through the lens of a career as a software developer. The book introduces readers to the creative minds who develop computer programs and applications. Readers will learn how software developers use STEM every day, and how someone can land a job in this exciting field. Engaging text is illustrated with bright images to allow readers to fully grasp the topic. Readers will love fun features, such as fact boxes and graphic organizers. This book is an excellent guide to computers, careers, and STEM concepts.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781508144168\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1508144168\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 26,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Juvenile Nonfiction\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=zp5hDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=zp5hDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=zp5hDwAAQBAJ&printsec=frontcover&dq=developer&hl=&cd=10&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=zp5hDwAAQBAJ&dq=developer&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/A_Day_at_Work_with_a_Software_Developer.html?hl=&id=zp5hDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/A_Day_at_Work_with_a_Software_Developer-sample-pdf.acsm?id=zp5hDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=zp5hDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book is sure to grab the attention of readers who love coding and computers.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 11,\n    \"etag\": \"QK8e4EF5ASM\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/_uTRAwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"JavaScript and jQuery\",\n      \"subtitle\": \"Interactive Front-End Web Development\",\n      \"authors\": [\"Jon Duckett\"],\n      \"publisher\": \"John Wiley & Sons\",\n      \"publishedDate\": \"2014-07-21\",\n      \"description\": \"A visual and accessible guide to JavaScript and jQuery in a built-to-last hardcover edition In JavaScript & jQuery renowned author Jon Duckett discards the traditional programming book template and approaches writing code in a more relevant, less intimidating way. Full-color and packed with instructional graphics and photos, his books have gained a loyal following by illustrating programming in a way both instructive for newcomers and invaluable for seasoned coders. By discussing JavaScript and jQuery in a single text, Duckett ensures you will quickly be writing your own working scripts. Yet the book doesn't assume you have experience in either JavaScript or jQuery. By making use of popular jQuery plugins, Duckett illustrates techniques that would require pages upon pages of detailed explanation if you were being taught to create the plugins yourself. This durable and attractive hardcover edition is a book you will have open on your desk as a reference for years to come. A timeless and lasting version of a classic \\\"Duckett\\\" book in a hardbound, dust-jacketed edition Completely accessible to those who feel intimidated by the subject matter and relevant to all front-end designers and developers who need to understand JavaScript Discusses applying responsive design techniques, leveraging APIs to save you time and work in coding, and identifying when to use CSS transforms over pure JavaScript Beautiful 4-color illustrations and examples make this a terrific academic resource for those of all experience levels JavaScript & jQuery clearly explains the jargon of programming, addressing the vocabulary without making it a prerequisite for readers. Duckett speaks directly to readers, making this an invaluable resource. This book is also available as a set, Web Design with HTML, CSS, JavaScript and jQuery Set 978119038634 along with HTML and CSS Design and Build Websites 9781118871645.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781118871652\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1118871650\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 640,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.1.0.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=_uTRAwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=_uTRAwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=_uTRAwAAQBAJ&pg=PP1&dq=javascript&hl=&cd=1&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=_uTRAwAAQBAJ&dq=javascript&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/JavaScript_and_jQuery.html?hl=&id=_uTRAwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/JavaScript_and_jQuery-sample-pdf.acsm?id=_uTRAwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=_uTRAwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Duckett speaks directly to readers, making this an invaluable resource. This book is also available as a set, Web Design with HTML, CSS, JavaScript and jQuery Set 978119038634 along with HTML and CSS Design and Build Websites 9781118871645.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 12,\n    \"etag\": \"sFdgjoG7log\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/p1v6DwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Eloquent JavaScript, 3rd Edition\",\n      \"subtitle\": \"A Modern Introduction to Programming\",\n      \"authors\": [\"Marijn Haverbeke\"],\n      \"publisher\": \"No Starch Press\",\n      \"publishedDate\": \"2018-12-04\",\n      \"description\": \"Completely revised and updated, this best-selling introduction to programming in JavaScript focuses on writing real applications. JavaScript lies at the heart of almost every modern web application, from social apps like Twitter to browser-based game frameworks like Phaser and Babylon. Though simple for beginners to pick up and play with, JavaScript is a flexible, complex language that you can use to build full-scale applications. This much anticipated and thoroughly revised third edition of Eloquent JavaScript dives deep into the JavaScript language to show you how to write beautiful, effective code. It has been updated to reflect the current state of Java¬Script and web browsers and includes brand-new material on features like class notation, arrow functions, iterators, async functions, template strings, and block scope. A host of new exercises have also been added to test your skills and keep you on track. As with previous editions, Haverbeke continues to teach through extensive examples and immerses you in code from the start, while exercises and full-chapter projects give you hands-on experience with writing your own programs. You start by learning the basic structure of the JavaScript language as well as control structures, functions, and data structures to help you write basic programs. Then you'll learn about error handling and bug fixing, modularity, and asynchronous programming before moving on to web browsers and how JavaScript is used to program them. As you build projects such as an artificial life simulation, a simple programming language, and a paint program, you'll learn how to: - Understand the essential elements of programming, including syntax, control, and data - Organize and clarify your code with object-oriented and functional programming techniques - Script the browser and make basic web applications - Use the DOM effectively to interact with browsers - Harness Node.js to build servers and utilities Isn't it time you became fluent in the language of the Web? * All source code is available online in an inter¬active sandbox, where you can edit the code, run it, and see its output instantly.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781593279509\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1593279507\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 474,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=p1v6DwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=p1v6DwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=p1v6DwAAQBAJ&printsec=frontcover&dq=javascript&hl=&cd=2&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=p1v6DwAAQBAJ&dq=javascript&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Eloquent_JavaScript_3rd_Edition.html?hl=&id=p1v6DwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=p1v6DwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"As with previous editions, Haverbeke continues to teach through extensive examples and immerses you in code from the start, while exercises and full-chapter projects give you hands-on experience with writing your own programs.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 13,\n    \"etag\": \"ATORLA2SxgE\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/Nz9iAwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Effective JavaScript\",\n      \"subtitle\": \"68 Specific Ways to Harness the Power of JavaScript\",\n      \"authors\": [\"David Herman\"],\n      \"publisher\": \"Pearson Education\",\n      \"publishedDate\": \"2012\",\n      \"description\": \"Provides information on how to write better JavaScript programs, covering such topics as functions, arrays, library and API design, and concurrency.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780321812186\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0321812182\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 231,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.1.0.0.preview.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=Nz9iAwAAQBAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=Nz9iAwAAQBAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=Nz9iAwAAQBAJ&dq=javascript&hl=&cd=3&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=Nz9iAwAAQBAJ&dq=javascript&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Effective_JavaScript.html?hl=&id=Nz9iAwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=Nz9iAwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Provides information on how to write better JavaScript programs, covering such topics as functions, arrays, library and API design, and concurrency.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 14,\n    \"etag\": \"LQp8jj+yVcY\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/nfiRBgAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Beginning JavaScript\",\n      \"authors\": [\"Jeremy McPeak\"],\n      \"publisher\": \"John Wiley & Sons\",\n      \"publishedDate\": \"2015-03-09\",\n      \"description\": \"The bestselling JavaScript guide, updated with current features and best practices Beginning JavaScript 5th Edition shows you how to work effectively with JavaScript frameworks, functions, and modern browsers, and teaches more effective coding practices using HTML5. This new edition has been extensively updated to reflect the way JavaScript is most commonly used today, introducing you to the latest tools and techniques available to JavaScript developers. Coverage includes modern coding practices using HTML5 markup, the JSON data format, DOM APIs, the jQuery framework, and more. Exercises with solutions provide plenty of opportunity to practice, and the companion website offers downloadable code for all examples given in the book. Learn JavaScript using the most up to date coding style Understand JSON, functions, events, and feature detection Utilize the new HTML5 elements and the related API Explore new features including geolocation, local storage, and more JavaScript has shaped the Web from a passive medium into one that is rich, dynamic, and interactive. No matter the technology on the server side, it's JavaScript that makes it come alive in the browser. To learn JavaScript the way it's used today, Beginning JavaScript, 5th Edition is your concise guide.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781118903339\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1118903331\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 770,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.14.2.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=nfiRBgAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=nfiRBgAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=nfiRBgAAQBAJ&printsec=frontcover&dq=javascript&hl=&cd=4&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=nfiRBgAAQBAJ&dq=javascript&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Beginning_JavaScript.html?hl=&id=nfiRBgAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Beginning_JavaScript-sample-pdf.acsm?id=nfiRBgAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=nfiRBgAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The bestselling JavaScript guide, updated with current features and best practices Beginning JavaScript 5th Edition shows you how to work effectively with JavaScript frameworks, functions, and modern browsers, and teaches more effective ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 15,\n    \"etag\": \"ahgqWFHpk38\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/qU3rAgAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Speaking JavaScript\",\n      \"subtitle\": \"An In-Depth Guide for Programmers\",\n      \"authors\": [\"Axel Rauschmayer\"],\n      \"publisher\": \"\\\"O'Reilly Media, Inc.\\\"\",\n      \"publishedDate\": \"2014-02-25\",\n      \"description\": \"Like it or not, JavaScript is everywhere these days—from browser to server to mobile—and now you, too, need to learn the language or dive deeper than you have. This concise book guides you into and through JavaScript, written by a veteran programmer who once found himself in the same position. Speaking JavaScript helps you approach the language with four standalone sections. First, a quick-start guide teaches you just enough of the language to help you be productive right away. More experienced JavaScript programmers will find a complete and easy-to-read reference that covers each language feature in depth. Complete contents include: JavaScript quick start: Familiar with object-oriented programming? This part helps you learn JavaScript quickly and properly. JavaScript in depth: Learn details of ECMAScript 5, from syntax, variables, functions, and object-oriented programming to regular expressions and JSON with lots of examples. Pick a topic and jump in. Background: Understand JavaScript’s history and its relationship with other programming languages. Tips, tools, and libraries: Survey existing style guides, best practices, advanced techniques, module systems, package managers, build tools, and learning resources.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781449364991\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1449364993\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 460,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.4.5.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=qU3rAgAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=qU3rAgAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=qU3rAgAAQBAJ&printsec=frontcover&dq=javascript&hl=&cd=5&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=qU3rAgAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=qU3rAgAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 1475,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 737.5,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=qU3rAgAAQBAJ&rdid=book-qU3rAgAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 1475000000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 737500000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=qU3rAgAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This concise book guides you into and through JavaScript, written by a veteran programmer who once found himself in the same position. Speaking JavaScript helps you approach the language with four standalone sections.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 16,\n    \"etag\": \"qAH93cWaftc\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/MhNhBgAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Coding with JavaScript For Dummies\",\n      \"authors\": [\"Chris Minnick\", \"Eva Holland\"],\n      \"publisher\": \"John Wiley & Sons\",\n      \"publishedDate\": \"2015-05-26\",\n      \"description\": \"Go from beginner to builder quickly with this hands-on JavaScript guide Coding with JavaScript For Dummies provides easy, hands-on instruction for anyone looking to learn this popular client-side language. No experience? No problem! This friendly guide starts from the very beginning and walks you through the basics, then shows you how to apply what you've learned to real projects. You'll start building right away, including web page elements and simple applications, so you can immediately see how JavaScript is used in the real world. Online exercises allow you to test your code and expand your skills, and the easy-to-follow instruction provides step-by-step guidance toward understanding the JavaScript syntax, applications, and language. JavaScript enhances static web pages by providing dynamic elements that can adapt and react to user action. It's a need-to-know tool for aspiring web designers, but anyone can benefit from understanding this core development language. Coding with JavaScript For Dummies takes you from beginner to builder quickly as you: Learn what JavaScript does, how it works, and where to use it Master the core elements of JavaScript and immediately put it to work Build interactive web elements and try out your code online Create basic applications as you apply JavaScript to the app development workflow Anytime a website responds to your movement around the screen, that's JavaScript. It makes websites more functional, more beautiful, and more engaging, and your site visitors will demand nothing less. If you want to build a better website, you need JavaScript. If you need JavaScript, Coding with JavaScript For Dummies gets you started off quickly and painlessly, with plenty of hands-on practice.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781119056072\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1119056071\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 371,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 4,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"2.9.4.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=MhNhBgAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=MhNhBgAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=MhNhBgAAQBAJ&printsec=frontcover&dq=javascript&hl=&cd=6&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=MhNhBgAAQBAJ&dq=javascript&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Coding_with_JavaScript_For_Dummies.html?hl=&id=MhNhBgAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Coding_with_JavaScript_For_Dummies-sample-pdf.acsm?id=MhNhBgAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=MhNhBgAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"No experience? No problem! This friendly guide starts from the very beginning and walks you through the basics, then shows you how to apply what you&#39;ve learned to real projects.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 17,\n    \"etag\": \"yBuxUr8rbdI\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/71nDBQAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"JavaScript for Kids\",\n      \"subtitle\": \"A Playful Introduction to Programming\",\n      \"authors\": [\"Nick Morgan\"],\n      \"publisher\": \"No Starch Press\",\n      \"publishedDate\": \"2014-12-14\",\n      \"description\": \"JavaScript is the programming language of the Internet, the secret sauce that makes the Web awesome, your favorite sites interactive, and online games fun! JavaScript for Kids is a lighthearted introduction that teaches programming essentials through patient, step-by-step examples paired with funny illustrations. You’ll begin with the basics, like working with strings, arrays, and loops, and then move on to more advanced topics, like building interactivity with jQuery and drawing graphics with Canvas. Along the way, you’ll write games such as Find the Buried Treasure, Hangman, and Snake. You’ll also learn how to: –Create functions to organize and reuse your code –Write and modify HTML to create dynamic web pages –Use the DOM and jQuery to make your web pages react to user input –Use the Canvas element to draw and animate graphics –Program real user-controlled games with collision detection and score keeping With visual examples like bouncing balls, animated bees, and racing cars, you can really see what you’re programming. Each chapter builds on the last, and programming challenges at the end of each chapter will stretch your brain and inspire your own amazing programs. Make something cool with JavaScript today! Ages 10+ (and their parents!)\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781593274085\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1593274084\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 338,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 4,\n      \"ratingsCount\": 3,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.2.2.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=71nDBQAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=71nDBQAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=71nDBQAAQBAJ&printsec=frontcover&dq=javascript&hl=&cd=7&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=71nDBQAAQBAJ&dq=javascript&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/JavaScript_for_Kids.html?hl=&id=71nDBQAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=71nDBQAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"JavaScript for Kids is a lighthearted introduction that teaches programming essentials through patient, step-by-step examples paired with funny illustrations.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 18,\n    \"etag\": \"L7hz97IHUj8\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/9U5I_tskq9MC\",\n    \"volumeInfo\": {\n      \"title\": \"Eloquent JavaScript\",\n      \"subtitle\": \"A Modern Introduction to Programming\",\n      \"authors\": [\"Marijn Haverbeke\"],\n      \"publisher\": \"No Starch Press\",\n      \"publishedDate\": \"2011\",\n      \"description\": \"Provides information and examples on writing JavaScript code, covering such topics as syntax, control, data, regular expressions, and scripting.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781593272821\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1593272820\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 227,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 4,\n      \"ratingsCount\": 6,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"0.2.2.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=9U5I_tskq9MC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=9U5I_tskq9MC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=9U5I_tskq9MC&printsec=frontcover&dq=javascript&hl=&cd=8&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=9U5I_tskq9MC&dq=javascript&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Eloquent_JavaScript.html?hl=&id=9U5I_tskq9MC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=9U5I_tskq9MC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Provides information and examples on writing JavaScript code, covering such topics as syntax, control, data, regular expressions, and scripting.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 19,\n    \"etag\": \"/wisZye3qPU\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/3GOuDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Professional JavaScript for Web Developers\",\n      \"authors\": [\"Matt Frisbie\"],\n      \"publisher\": \"John Wiley & Sons\",\n      \"publishedDate\": \"2019-10-15\",\n      \"description\": \"Update your skill set for ES 6 and 7 with the ultimate JavaScript guide for pros Professional JavaScript for Web Developers is the essential guide to next-level JavaScript development. Written for intermediate-to-advanced programmers, this book jumps right into the technical details to help you clean up your code and become a more sophisticated JavaScript developer. From JavaScript-specific object-oriented programming and inheritance, to combining JavaScript with HTML and other markup languages, expert instruction walks you through the fundamentals and beyond. This new fourth edition has been updated to cover ECMAScript 6 and 7 (also known as ES2015 and ES2016) and the major re-imagination and departure from ES 5.1; new frameworks and libraries, new techniques, new testing tools, and more are explained in detail for the professional developer, with a practical focus that helps you put your new skills to work on real-world projects. The latest—and most dramatic—ES release is already being incorporated into JavaScript engines in major browsers; this, coupled with the rise in mobile web traffic increasing demand for responsive, dynamic web design, means that all web developers need to update their skills—and this book is your ideal resource for quick, relevant guidance. Get up to date with ECMAScript 6 and 7, new frameworks, and new libraries Delve into web animation, emerging APIs, and build systems Test more effectively with mocks, unit tests, functional tests, and other tools Plan your builds for future ES releases Even if you think you know JavaScript, new ES releases bring big changes that will affect the way you work. For a professional-level update that doesn't waste time on coding fundamentals, Professional JavaScript for Web Developers is the ultimate resource to bring you up to speed.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781119366447\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1119366445\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 1200,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.7.1.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=3GOuDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=3GOuDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=3GOuDwAAQBAJ&printsec=frontcover&dq=javascript&hl=&cd=9&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=3GOuDwAAQBAJ&dq=javascript&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Professional_JavaScript_for_Web_Develope.html?hl=&id=3GOuDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Professional_JavaScript_for_Web_Develope-sample-pdf.acsm?id=3GOuDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=3GOuDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Written for intermediate-to-advanced programmers, this book jumps right into the technical details to help you clean up your code and become a more sophisticated JavaScript developer.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 20,\n    \"etag\": \"EnyY2iEQkJg\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/2weL0iAfrEMC\",\n    \"volumeInfo\": {\n      \"title\": \"JavaScript: The Definitive Guide\",\n      \"subtitle\": \"The Definitive Guide\",\n      \"authors\": [\"David Flanagan\"],\n      \"publisher\": \"\\\"O'Reilly Media, Inc.\\\"\",\n      \"publishedDate\": \"2006-08-17\",\n      \"description\": \"This Fifth Edition is completely revised and expanded to cover JavaScript as it is used in today's Web 2.0 applications. This book is both an example-driven programmer's guide and a keep-on-your-desk reference, with new chapters that explain everything you need to know to get the most out of JavaScript, including: Scripted HTTP and Ajax XML processing Client-side graphics using the canvas tag Namespaces in JavaScript--essential when writing complex programs Classes, closures, persistence, Flash, and JavaScript embedded in Java applications Part I explains the core JavaScript language in detail. If you are new to JavaScript, it will teach you the language. If you are already a JavaScript programmer, Part I will sharpen your skills and deepen your understanding of the language. Part II explains the scripting environment provided by web browsers, with a focus on DOM scripting with unobtrusive JavaScript. The broad and deep coverage of client-side JavaScript is illustrated with many sophisticated examples that demonstrate how to: Generate a table of contents for an HTML document Display DHTML animations Automate form validation Draw dynamic pie charts Make HTML elements draggable Define keyboard shortcuts for web applications Create Ajax-enabled tool tips Use XPath and XSLT on XML documents loaded with Ajax And much more Part III is a complete reference for core JavaScript. It documents every class, object, constructor, method, function, property, and constant defined by JavaScript 1.5 and ECMAScript Version 3. Part IV is a reference for client-side JavaScript, covering legacy web browser APIs, the standard Level 2 DOM API, and emerging standards such as the XMLHttpRequest object and the canvas tag. More than 300,000 JavaScript programmers around the world have madethis their indispensable reference book for building JavaScript applications. \\\"A must-have reference for expert JavaScript programmers...well-organized and detailed.\\\" -- Brendan Eich, creator of JavaScript\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780596554477\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0596554478\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 1022,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 4,\n      \"ratingsCount\": 55,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"0.7.3.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=2weL0iAfrEMC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=2weL0iAfrEMC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=2weL0iAfrEMC&printsec=frontcover&dq=javascript&hl=&cd=10&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=2weL0iAfrEMC&dq=javascript&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/JavaScript_The_Definitive_Guide.html?hl=&id=2weL0iAfrEMC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=2weL0iAfrEMC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This Fifth Edition is completely revised and expanded to cover JavaScript as it is used in today&#39;s Web 2.0 applications.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 21,\n    \"etag\": \"WsbEaVsKbC4\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/RQ6xDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Automate the Boring Stuff with Python, 2nd Edition\",\n      \"subtitle\": \"Practical Programming for Total Beginners\",\n      \"authors\": [\"Al Sweigart\"],\n      \"publisher\": \"No Starch Press\",\n      \"publishedDate\": \"2019-11-12\",\n      \"description\": \"The second edition of this best-selling Python book (over 500,000 copies sold!) uses Python 3 to teach even the technically uninclined how to write programs that do in minutes what would take hours to do by hand. There is no prior programming experience required and the book is loved by liberal arts majors and geeks alike. If you've ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how tedious tasks like these can be. But what if you could have your computer do them for you? In this fully revised second edition of the best-selling classic Automate the Boring Stuff with Python, you'll learn how to use Python to write programs that do in minutes what would take you hours to do by hand--no prior programming experience required. You'll learn the basics of Python and explore Python's rich library of modules for performing specific tasks, like scraping data off websites, reading PDF and Word documents, and automating clicking and typing tasks. The second edition of this international fan favorite includes a brand-new chapter on input validation, as well as tutorials on automating Gmail and Google Sheets, plus tips on automatically updating CSV files. You'll learn how to create programs that effortlessly perform useful feats of automation to: • Search for text in a file or across multiple files • Create, update, move, and rename files and folders • Search the Web and download online content • Update and format data in Excel spreadsheets of any size • Split, merge, watermark, and encrypt PDFs • Send email responses and text notifications • Fill out online forms Step-by-step instructions walk you through each program, and updated practice projects at the end of each chapter challenge you to improve those programs and use your newfound skills to automate similar tasks. Don't spend your time doing work a well-trained monkey could do. Even if you've never written a line of code, you can make your computer do the grunt work. Learn how in Automate the Boring Stuff with Python, 2nd Edition.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781593279936\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1593279930\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 592,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 4.5,\n      \"ratingsCount\": 2,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.2.2.0.preview.2\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=RQ6xDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=RQ6xDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=RQ6xDwAAQBAJ&pg=PP1&dq=python&hl=&cd=1&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=RQ6xDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=RQ6xDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 3086.92,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 3086.92,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=RQ6xDwAAQBAJ&rdid=book-RQ6xDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 3086920000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 3086920000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=RQ6xDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The second edition of this international fan favorite includes a brand-new chapter on input validation, Gmail and Google Sheets automations, tips for updating CSV files, and more.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 22,\n    \"etag\": \"0xEV7CDTW+M\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/H9emM_LGFDEC\",\n    \"volumeInfo\": {\n      \"title\": \"Programming in Python 3\",\n      \"subtitle\": \"A Complete Introduction to the Python Language\",\n      \"authors\": [\"Mark Summerfield\"],\n      \"publisher\": \"Addison-Wesley Professional\",\n      \"publishedDate\": \"2010\",\n      \"description\": \"Now fully updated, this edition brings together all the knowledge needed to write programs, use any library, and even create new library modules. The book teaches every aspect of the Python 3 language and covers all the built-in functionality.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780321680563\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0321680561\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 648,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Object-oriented programming (Computer science).\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=H9emM_LGFDEC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=H9emM_LGFDEC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=H9emM_LGFDEC&printsec=frontcover&dq=python&hl=&cd=2&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=H9emM_LGFDEC&dq=python&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Programming_in_Python_3.html?hl=&id=H9emM_LGFDEC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED_FOR_ACCESSIBILITY\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=H9emM_LGFDEC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Now fully updated, this edition brings together all the knowledge needed to write programs, use any library, and even create new library modules.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 23,\n    \"etag\": \"t2K2eO04ZtM\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/zjqzDAEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Python for Everybody\",\n      \"subtitle\": \"Exploring Data in Python 3\",\n      \"authors\": [\"Charles R. Severance\"],\n      \"publishedDate\": \"2016-04-09\",\n      \"description\": \"Python for Everybody is designed to introduce students to programming and software development through the lens of exploring data. You can think of the Python programming language as your tool to solve data problems that are beyond the capability of a spreadsheet.Python is an easy to use and easy to learn programming language that is freely available on Macintosh, Windows, or Linux computers. So once you learn Python you can use it for the rest of your career without needing to purchase any software.This book uses the Python 3 language. The earlier Python 2 version of this book is titled \\\"Python for Informatics: Exploring Information\\\".There are free downloadable electronic copies of this book in various formats and supporting materials for the book at www.pythonlearn.com. The course materials are available to you under a Creative Commons License so you can adapt them to teach your own Python course.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1530051126\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781530051120\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 242,\n      \"printType\": \"BOOK\",\n      \"averageRating\": 5,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=zjqzDAEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=zjqzDAEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=zjqzDAEACAAJ&dq=python&hl=&cd=3&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=zjqzDAEACAAJ&dq=python&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Python_for_Everybody.html?hl=&id=zjqzDAEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=zjqzDAEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"&quot;Designed to teach people to program even if they have no prior experience.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 24,\n    \"etag\": \"A7zxNtYtwaI\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/LqmaDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Python For Dummies\",\n      \"authors\": [\"Stef Maruch\", \"Aahz Maruch\"],\n      \"publisher\": \"John Wiley & Sons\",\n      \"publishedDate\": \"2006-09-14\",\n      \"description\": \"Python is one of the most powerful, easy-to-read programming languages around, but it does have its limitations. This general purpose, high-level language that can be extended and embedded is a smart option for many programming problems, but a poor solution to others. Python For Dummies is the quick-and-easy guide to getting the most out of this robust program. This hands-on book will show you everything you need to know about building programs, debugging code, and simplifying development, as well as defining what actions it can perform. You’ll wrap yourself around all of its advanced features and become an expert Python user in no time. This guide gives you the tools you need to: Master basic elements and syntax Document, design, and debug programs Work with strings like a pro Direct a program with control structures Integrate integers, complex numbers, and modules Build lists, stacks, and queues Create an organized dictionary Handle functions, data, and namespace Construct applications with modules and packages Call, create, extend, and override classes Access the Internet to enhance your library Understand the new features of Python 2.5 Packed with critical idioms and great resources to maximize your productivity, Python For Dummies is the ultimate one-stop information guide. In a matter of minutes you’ll be familiar with Python’s building blocks, strings, dictionaries, and sets; and be on your way to writing the program that you’ve dreamed about!\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780471778646\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0471778648\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 443,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.3.2.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=LqmaDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=LqmaDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=LqmaDwAAQBAJ&printsec=frontcover&dq=python&hl=&cd=4&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=LqmaDwAAQBAJ&dq=python&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Python_For_Dummies.html?hl=&id=LqmaDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Python_For_Dummies-sample-pdf.acsm?id=LqmaDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=LqmaDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This guide gives you the tools you need to: Master basic elements and syntax Document, design, and debug programs Work with strings like a pro Direct a program with control structures Integrate integers, complex numbers, and modules Build ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 25,\n    \"etag\": \"X1JRSv9uclI\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/lMfaDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Basics of Python Programming\",\n      \"subtitle\": \"Embrace the Future of Python\",\n      \"authors\": [\"Dr. Pratiyush Guleria\"],\n      \"publisher\": \"BPB Publications\",\n      \"description\": \"Learn a Programmer-Friendly language KEY FEATURES Strengthens the foundations, as a detailed explanation of programming language concepts are given in a simple manner Lists down all the important points that you need to know related to various topics in an organized manner Prepares you for coding related interview and theoretical questions Provides an in-depth explanation of complex topics and Questions It focuses on how to think logically to solve a problem Follows a systematic approach that will help you to prepare for an interview in a short duration of time Exercises are exceptionally useful to complete the reader’s understanding of a topic DESCRIPTION Book will come as a relief to the students wishing to go through a comprehensive work explaining the programming concepts of Python. Examples are given with proper description, offering a variety of practical examples and conceptual problems along with their systematically worked out solutions. It also covers all the concepts which are helpful for the students and beginners to learn the basics of Python programming. WHAT WILL YOU LEARN This book is written, taking into consideration the skills required at the beginner level for understanding Python Programming Concepts. The book covers the practical examples of Python in an easy way so that students can able to understand efficiently. WHO THIS BOOK IS FOR Book promises to be a perfect starting point for beginners and an asset for those having insight towards programming. Table of Contents 1. Introduction 2. Conditions and Loops 3. Arrays and Functions 4. Lists, Tuples, Iterators and GeneratorsDictionaries and Modules 5. File Handling and Databases 6. Object-Oriented Programming 7. Regular Expressions, Date, and Time 8. Exception Handling 9. Practice Exercise\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9789388511803\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"9388511808\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 94,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.2.1.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=lMfaDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=lMfaDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=lMfaDwAAQBAJ&printsec=frontcover&dq=python&hl=&cd=5&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=lMfaDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=lMfaDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 376.42,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 263.49,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=lMfaDwAAQBAJ&rdid=book-lMfaDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 376420000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 263490000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Basics_of_Python_Programming-sample-epub.acsm?id=lMfaDwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Basics_of_Python_Programming-sample-pdf.acsm?id=lMfaDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=lMfaDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"It also covers all the concepts which are helpful for the students and beginners to learn the basics of Python programming. Ê WHAT WILL YOU LEARN This book is written, taking into consideration the skills required at the beginner level for ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 26,\n    \"etag\": \"EgQnsN184us\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/hLazngEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Core Python Programming\",\n      \"authors\": [\"Wesley Chun\"],\n      \"publisher\": \"Prentice-Hall PTR\",\n      \"publishedDate\": \"2007\",\n      \"description\": \"A quick guide to everything anyone would want to know about the soaringly popular Internet programming language, Python. Software architect Chun provides an introduction to new features introduced in Python 1.6, and topics covered include regular expressions, extending Python, and OOP. The CD-ROM includes the source code for all of the examples in the text.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0132269937\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780132269933\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 1077,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 2,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=hLazngEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=hLazngEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=hLazngEACAAJ&dq=python&hl=&cd=6&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=hLazngEACAAJ&dq=python&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Core_Python_Programming.html?hl=&id=hLazngEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=hLazngEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Software architect Chun provides an introduction to new features introduced in Python 1.6, and topics covered include regular expressions, extending Python, and OOP. The CD-ROM includes the source code for all of the examples in the text.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 27,\n    \"etag\": \"2Mos3VZsrj8\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/Chr1NDlUcI8C\",\n    \"volumeInfo\": {\n      \"title\": \"Python Essential Reference\",\n      \"authors\": [\"David M. Beazley\"],\n      \"publisher\": \"Addison-Wesley Professional\",\n      \"publishedDate\": \"2009\",\n      \"description\": \"Python Essential Reference is the definitive reference guide to the Python programming language--the one authoritative handbook that reliably untangles and explains both the core Python library. Designed for the practicing programmer, the book is concise, to the point, and highly accessible. It also includes detailed information on the Python library and many advanced subjects that is not available in either the official Python documentation or any other single reference source. Thoroughly updated to reflect the significant new programming language features and library modules that have been introduced in Python 2.6 and Python 3, the fourth edition of Python Essential Reference is the complete guide for programmers who need to modernize existing Python code or who are planning an eventual migration to Python 3.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780672329784\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0672329786\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 746,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Data mining\"],\n      \"averageRating\": 4.5,\n      \"ratingsCount\": 5,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"0.4.3.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=Chr1NDlUcI8C&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=Chr1NDlUcI8C&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=Chr1NDlUcI8C&printsec=frontcover&dq=python&hl=&cd=7&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=Chr1NDlUcI8C&dq=python&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Python_Essential_Reference.html?hl=&id=Chr1NDlUcI8C\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED_FOR_ACCESSIBILITY\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=Chr1NDlUcI8C&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Python Essential Reference is the definitive reference guide to the Python programming language--the one authoritative handbook that reliably untangles and explains both the core Python library.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 28,\n    \"etag\": \"zeMjKaNtDkQ\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/6omNDQAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Python Data Science Handbook\",\n      \"subtitle\": \"Essential Tools for Working with Data\",\n      \"authors\": [\"Jake VanderPlas\"],\n      \"publisher\": \"\\\"O'Reilly Media, Inc.\\\"\",\n      \"publishedDate\": \"2016-11-21\",\n      \"description\": \"For many researchers, Python is a first-class tool mainly because of its libraries for storing, manipulating, and gaining insight from data. Several resources exist for individual pieces of this data science stack, but only with the Python Data Science Handbook do you get them all—IPython, NumPy, Pandas, Matplotlib, Scikit-Learn, and other related tools. Working scientists and data crunchers familiar with reading and writing Python code will find this comprehensive desk reference ideal for tackling day-to-day issues: manipulating, transforming, and cleaning data; visualizing different types of data; and using data to build statistical or machine learning models. Quite simply, this is the must-have reference for scientific computing in Python. With this handbook, you’ll learn how to use: IPython and Jupyter: provide computational environments for data scientists using Python NumPy: includes the ndarray for efficient storage and manipulation of dense data arrays in Python Pandas: features the DataFrame for efficient storage and manipulation of labeled/columnar data in Python Matplotlib: includes capabilities for a flexible range of data visualizations in Python Scikit-Learn: for efficient and clean Python implementations of the most important and established machine learning algorithms\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781491912133\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1491912138\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 743,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.3.5.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=6omNDQAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=6omNDQAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=6omNDQAAQBAJ&printsec=frontcover&dq=python&hl=&cd=8&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=6omNDQAAQBAJ&dq=python&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Python_Data_Science_Handbook.html?hl=&id=6omNDQAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=6omNDQAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"With this handbook, you’ll learn how to use: IPython and Jupyter: provide computational environments for data scientists using Python NumPy: includes the ndarray for efficient storage and manipulation of dense data arrays in Python Pandas ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 29,\n    \"etag\": \"z8Ht5KwwcFE\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/WDIyEAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Advance Core Python Programming\",\n      \"subtitle\": \"Begin your Journey to Master the World of Python (English Edition)\",\n      \"authors\": [\"Meenu Kohli\"],\n      \"publisher\": \"BPB Publications\",\n      \"publishedDate\": \"2021-06-08\",\n      \"description\": \"Mastering Advanced Python Programming KEY FEATURES ● In-depth coverage on fundamentals of functions, recursion, classes, inheritance, and files. ● Mastery of advanced topics - Database connectivity, Errors and Exception, Testing and Debugging, threads, Data visualization, and Data analysis. ● In-depth coverage of advanced concepts such as data structures, and algorithms. ● Simplifies GUI and Widgets. ● Learn to connect GUI with MySQL to create a complete working application. ● Introduction to Flask. ● Thorough, detailed, and complete coverage of all topics along with ample coding examples and illustrations. DESCRIPTION Advance Core Python Programming is designed for Programmers who have a good understanding of Python basics and are ready to take the next steps. For entry-level Python programmers willing to dive deeper into programming, this book provides a path that will help them to add innovative features to their applications. This book starts by introducing you to the concept of Functions and Recursion and then moves on to higher levels of introducing you to OOP concepts, Files, integrating Python with database, threading, errors, exceptions, testing, debugging, data visualization, data analysis, GUI, data structures and algorithms. All these topics are the need of the hour and this book simplifies all these critical and essential concepts of Python for you. Knowledge of these topics will ease the functioning of your envisioned application. Throughout the book, you will have access to several coding examples which will help you to understand the real practical application of advanced Python concepts and you will be able to work on any kind of Python project with confidence. WHAT YOU WILL LEARN ● Learn advanced Python topics in simple language. ● Learn how to code in easy-to-follow steps. ● Learn to create your own classes and functions. ● Learn to work with Files. ● Learn to configure MySQL and make Python programs interact with the MySQL database. ● Get to know different types of errors, exceptions, and ways to test, debug and rectify them. ● Learn how to use Python for Data Visualization and Data Analysis. ● Learn to Create GUI features and add Widgets. ● Learn about data structures and algorithms. ● Learn to create and develop stack, queues, trees, and linked lists. ● Explore Flask, its features, and how to use it to build web applications. ● Learn to work on complex code by following simple step-by-step instructions. ● Prepare for theory and practical exams related to advanced Python Concepts. WHO THIS BOOK IS FOR This book is highly appealing to all tech-savvy students, programming enthusiasts, IT graduates, and computer science professionals who want to build strong proficiency in building Python applications. Prior understanding of Python basic coding concepts like variables, expressions, and control structures is required to begin with this book. You can also read Basic Core Python Programming to develop strong fundamentals before you start with this book. TABLE OF CONTENTS 1. Functions and Recursion 2. Classes, Objects, and Inheritance 3. Files 4. MySQL for Python 5. Python Threads 6. Errors, Exceptions, Testing, and Debugging 7. Data Visualization and Data Analysis 8. Creating the GUI form and Adding Widgets 9. MySQL and Python Graphical User Interface 10. Stack, Queue, and Deque 11. Linked List 12. Trees 13. Searching and Sorting 14. Getting Started with Flask\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9789390684069\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"9390684064\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 658,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.1.1.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=WDIyEAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=WDIyEAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=WDIyEAAAQBAJ&printsec=frontcover&dq=python&hl=&cd=9&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=WDIyEAAAQBAJ&dq=python&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Advance_Core_Python_Programming.html?hl=&id=WDIyEAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Advance_Core_Python_Programming-sample-epub.acsm?id=WDIyEAAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Advance_Core_Python_Programming-sample-pdf.acsm?id=WDIyEAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=WDIyEAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book starts by introducing you to the concept of Functions and Recursion and then moves on to higher levels of introducing you to OOP concepts, Files, integrating Python with database, threading, errors, exceptions, testing, debugging, ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 30,\n    \"etag\": \"rVgpcZdfS+s\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/ENIVBdZIJ6cC\",\n    \"volumeInfo\": {\n      \"title\": \"Head First Python\",\n      \"authors\": [\"Paul Barry\"],\n      \"publisher\": \"\\\"O'Reilly Media, Inc.\\\"\",\n      \"publishedDate\": \"2010-11-22\",\n      \"description\": \"A guide to the programming language describes how to build Python-enabled Web servers and applications, write mobile apps on the Android platform, develop sophisticated games, build GUI-based programs, and write Python scripts to automate tasks.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781449382674\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1449382673\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 492,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"2.4.0.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=ENIVBdZIJ6cC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=ENIVBdZIJ6cC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=ENIVBdZIJ6cC&printsec=frontcover&dq=python&hl=&cd=10&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=ENIVBdZIJ6cC&dq=python&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Head_First_Python.html?hl=&id=ENIVBdZIJ6cC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=ENIVBdZIJ6cC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Taking Python users beyond typical how-to manuals, this book features engaging images, puzzles, stories, and quizzes that are proven to stimulate learning and retention.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 31,\n    \"etag\": \"0M4kag6x1l4\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/wX9jQgAACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Programming Ruby\",\n      \"subtitle\": \"The Pragmatic Programmers' Guide\",\n      \"authors\": [\"David Thomas\"],\n      \"publishedDate\": \"2004\",\n      \"description\": \"A tutorial and reference to the object-oriented programming language for beginning to experienced programmers, updated for version 1.8, describes the language's structure, syntax, and operation, and explains how to build applications. Original. (Intermediate)\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0974514055\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780974514055\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 830,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 4,\n      \"ratingsCount\": 4,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=wX9jQgAACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=wX9jQgAACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=wX9jQgAACAAJ&dq=ruby&hl=&cd=1&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=wX9jQgAACAAJ&dq=ruby&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Programming_Ruby.html?hl=&id=wX9jQgAACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=wX9jQgAACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"A tutorial and reference to the object-oriented programming language for beginning to experienced programmers, updated for version 1.8, describes the language&#39;s structure, syntax, and operation, and explains how to build applications.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 32,\n    \"etag\": \"Pzuy9mShnxg\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/_ZbtAQAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Ruby\",\n      \"subtitle\": \"A Novel\",\n      \"authors\": [\"Cynthia Bond\"],\n      \"publisher\": \"Hogarth\",\n      \"publishedDate\": \"2014-04-29\",\n      \"description\": \"A New York Times bestseller and Oprah Book Club 2.0 selection, the epic, unforgettable story of a man determined to protect the woman he loves from the town desperate to destroy her. This beautiful and devastating debut heralds the arrival of a major new voice in fiction. Ephram Jennings has never forgotten the beautiful girl with the long braids running through the piney woods of Liberty, their small East Texas town. Young Ruby Bell, “the kind of pretty it hurt to look at,” has suffered beyond imagining, so as soon as she can, she flees suffocating Liberty for the bright pull of 1950s New York. Ruby quickly winds her way into the ripe center of the city—the darkened piano bars and hidden alleyways of the Village—all the while hoping for a glimpse of the red hair and green eyes of her mother. When a telegram from her cousin forces her to return home, thirty-year-old Ruby finds herself reliving the devastating violence of her girlhood. With the terrifying realization that she might not be strong enough to fight her way back out again, Ruby struggles to survive her memories of the town’s dark past. Meanwhile, Ephram must choose between loyalty to the sister who raised him and the chance for a life with the woman he has loved since he was a boy. Full of life, exquisitely written, and suffused with the pastoral beauty of the rural South, Ruby is a transcendent novel of passion and courage. This wondrous page-turner rushes through the red dust and gossip of Main Street, to the pit fire where men swill bootleg outside Bloom’s Juke, to Celia Jennings’s kitchen, where a cake is being made, yolk by yolk, that Ephram will use to try to begin again with Ruby. Utterly transfixing, with unforgettable characters, riveting suspense, and breathtaking, luminous prose, Ruby offers an unflinching portrait of man’s dark acts and the promise of the redemptive power of love. Ruby was a finalist for the PEN America Robert Bingham Debut Novel Award, a Barnes & Noble Discover Great New Writers selection, and an Indie Next Pick.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780804139106\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0804139105\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 352,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Fiction\"],\n      \"averageRating\": 3,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.8.9.0.preview.2\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=_ZbtAQAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=_ZbtAQAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=_ZbtAQAAQBAJ&printsec=frontcover&dq=ruby&hl=&cd=2&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=_ZbtAQAAQBAJ&dq=ruby&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Ruby.html?hl=&id=_ZbtAQAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Ruby-sample-epub.acsm?id=_ZbtAQAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=_ZbtAQAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"A New York Times bestseller and Oprah Book Club 2.0 selection, the epic, unforgettable story of a man determined to protect the woman he loves from the town desperate to destroy her.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 33,\n    \"etag\": \"9oLS+EB64vE\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/JD-QEAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Ruby Wizardry\",\n      \"subtitle\": \"An Introduction to Programming for Kids\",\n      \"authors\": [\"Eric Weinstein\"],\n      \"publisher\": \"National Geographic Books\",\n      \"publishedDate\": \"2014-12-14\",\n      \"description\": \"The Ruby programming language is perfect for beginners: easy to learn, powerful, and fun to use! But wouldn't it be more fun if you were learning with the help of some wizards and dragons? Ruby Wizardry is a playful, illustrated tale that will teach you how to program in Ruby by taking you on a fantastical journey. As you follow the adventures of young heroes Ruben and Scarlet, you’ll learn real programming skills, like how to: –Use fundamental concepts like variables, symbols, arrays, and strings –Work with Ruby hashes to create a programmable breakfast menu –Control program flow with loops and conditionals to help the Royal Plumber –Test your wild and crazy ideas in IRB and save your programs as scripts –Create a class of mini-wizards, each with their own superpower! –Organize and reuse your code with methods and lists –Write your own amazing interactive stories using Ruby Along the way, you’ll meet colorful characters from around the kingdom, like the hacker Queen, the Off-White Knight, and Wherefore the minstrel. Ruby Wizardry will have you (or your little wizard) hooked on programming in no time. For ages 10+ (and their parents!)\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781593275662\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1593275668\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 0,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=JD-QEAAAQBAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=JD-QEAAAQBAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=JD-QEAAAQBAJ&dq=ruby&hl=&cd=3&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=JD-QEAAAQBAJ&dq=ruby&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Ruby_Wizardry.html?hl=&id=JD-QEAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=JD-QEAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"But wouldn&#39;t it be more fun if you were learning with the help of some wizards and dragons? Ruby Wizardry is a playful, illustrated tale that will teach you how to program in Ruby by taking you on a fantastical journey.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 34,\n    \"etag\": \"k+T4WE8p+Qg\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/V0iToAEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Metaprogramming Ruby 2\",\n      \"subtitle\": \"Program Like the Ruby Pros\",\n      \"authors\": [\"Paolo Perrotta\"],\n      \"publishedDate\": \"2014\",\n      \"description\": \"Paolo Perrotta has fifteen years of experience as a developer, ranging from embedded to enterprise software, computer games, and web applications. Paolo lives a nomadic life, mentoring agile teams throughout Europe. He has a base camp in Bologna, Italy. He loves Ruby.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1941222129\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781941222126\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 0,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Object-oriented programming (Computer science)\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=V0iToAEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=V0iToAEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=V0iToAEACAAJ&dq=ruby&hl=&cd=4&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=V0iToAEACAAJ&dq=ruby&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Metaprogramming_Ruby_2.html?hl=&id=V0iToAEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=V0iToAEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Paolo Perrotta has fifteen years of experience as a developer, ranging from embedded to enterprise software, computer games, and web applications. Paolo lives a nomadic life, mentoring agile teams throughout Europe.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 35,\n    \"etag\": \"3vGGFsk8rso\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/a3mIzJvJwnEC\",\n    \"volumeInfo\": {\n      \"title\": \"The Book of Ruby\",\n      \"subtitle\": \"A Hands-On Guide for the Adventurous\",\n      \"authors\": [\"Huw Collingbourne\", \"Chris Takemura\"],\n      \"publisher\": \"No Starch Press\",\n      \"publishedDate\": \"2011-07-11\",\n      \"description\": \"Ruby is famous for being easy to learn, but most users only scratch the surface of what it can do. While other books focus on Ruby's trendier features, The Book of Ruby reveals the secret inner workings of one of the world's most popular programming languages, teaching you to write clear, maintainable code. You'll start with the basics—types, data structures, and control flows—and progress to advanced features like blocks, mixins, metaclasses, and beyond. Rather than bog you down with a lot of theory, The Book of Ruby takes a hands-on approach and focuses on making you productive from day one. As you follow along, you’ll learn to: –Leverage Ruby's succinct and flexible syntax to maximize your productivity –Balance Ruby's functional, imperative, and object-oriented features –Write self-modifying programs using dynamic programming techniques –Create new fibers and threads to manage independent processes concurrently –Catch and recover from execution errors with robust exception handling –Develop powerful web applications with the Ruby on Rails framework Each chapter includes a \\\"Digging Deeper\\\" section that shows you how Ruby works under the hood, so you'll never be caught off guard by its deceptively simple scoping, multithreading features, or precedence rules. Whether you're new to programming or just new Ruby, The Book of Ruby is your guide to rapid, real-world software development with this unique and elegant language.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781593274009\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1593274009\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 400,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 2,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.2.2.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=a3mIzJvJwnEC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=a3mIzJvJwnEC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=a3mIzJvJwnEC&printsec=frontcover&dq=ruby&hl=&cd=5&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=a3mIzJvJwnEC&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=a3mIzJvJwnEC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 3086.92,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 3086.92,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=a3mIzJvJwnEC&rdid=book-a3mIzJvJwnEC&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 3086920000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 3086920000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=a3mIzJvJwnEC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Whether you&#39;re new to programming or just new Ruby, The Book of Ruby is your guide to rapid, real-world software development with this unique and elegant language.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 36,\n    \"etag\": \"xGSmmQMlsLE\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/-s2xL0pVsLUC\",\n    \"volumeInfo\": {\n      \"title\": \"Eloquent Ruby\",\n      \"authors\": [\"Russ Olsen\"],\n      \"publisher\": \"Addison-Wesley Professional\",\n      \"publishedDate\": \"2011-02-07\",\n      \"description\": \"It’s easy to write correct Ruby code, but to gain the fluency needed to write great Ruby code, you must go beyond syntax and absorb the “Ruby way” of thinking and problem solving. In Eloquent Ruby, Russ Olsen helps you write Ruby like true Rubyists do–so you can leverage its immense, surprising power. Olsen draws on years of experience internalizing the Ruby culture and teaching Ruby to other programmers. He guides you to the “Ah Ha!” moments when it suddenly becomes clear why Ruby works the way it does, and how you can take advantage of this language’s elegance and expressiveness. Eloquent Ruby starts small, answering tactical questions focused on a single statement, method, test, or bug. You’ll learn how to write code that actually looks like Ruby (not Java or C#); why Ruby has so many control structures; how to use strings, expressions, and symbols; and what dynamic typing is really good for. Next, the book addresses bigger questions related to building methods and classes. You’ll discover why Ruby classes contain so many tiny methods, when to use operator overloading, and when to avoid it. Olsen explains how to write Ruby code that writes its own code–and why you’ll want to. He concludes with powerful project-level features and techniques ranging from gems to Domain Specific Languages. A part of the renowned Addison-Wesley Professional Ruby Series, Eloquent Ruby will help you “put on your Ruby-colored glasses” and get results that make you a true believer.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780321700278\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0321700279\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 446,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 4.5,\n      \"ratingsCount\": 2,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"0.7.3.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=-s2xL0pVsLUC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=-s2xL0pVsLUC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=-s2xL0pVsLUC&printsec=frontcover&dq=ruby&hl=&cd=6&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=-s2xL0pVsLUC&dq=ruby&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Eloquent_Ruby.html?hl=&id=-s2xL0pVsLUC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED_FOR_ACCESSIBILITY\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=-s2xL0pVsLUC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Next, the book addresses bigger questions related to building methods and classes. You’ll discover why Ruby classes contain so many tiny methods, when to use operator overloading, and when to avoid it.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 37,\n    \"etag\": \"fiOdOePDF9M\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/CiFfEAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Mastering Ruby on Rails\",\n      \"subtitle\": \"A Beginner's Guide\",\n      \"authors\": [\"Sufyan bin Uzayr\"],\n      \"publisher\": \"CRC Press\",\n      \"publishedDate\": \"2022-04-07\",\n      \"description\": \"There is no shortage of programming languages and frameworks out there. But in the midst of all this, Ruby on Rails stands out. Despite losing out on the top spot to other contenders, Ruby on Rails has earned for itself a position of repute and a robust user base. Ever since its debut in 2004, Ruby on Rails has rapidly become one of the most impactful and popular tools for building dynamic web applications. Rails owes much of its success to its compact design and the usage of the underlying Ruby language. It effectively creates a domain-specific language for writing web applications. As a result, many common web programming tasks—such as generating HTML, making data models, and routing URLs—are easier with Rails. Although its outstanding capabilities have made Ruby on Rails one of the world’s most popular web development frameworks, some might still find it challenging to learn and use. Mastering Ruby on Rails: A Beginner’s Guide could be just the right solution for that. Whatever your previous web development experience is, Mastering Ruby on Rails can guide you to true Rails proficiency. It will help you to: Install and set up your Rails development environment Go beyond generated code to build Rails applications from scratch Effectively use the Model-View-Controller (MVC) pattern Master the Ruby programming skills all Rails developers need Define high-quality site layouts and data models Add social features and navigate Asynchronous Javascript and XML (Ajax) Mastering Ruby on Rails will walk you through Rails' inner workings and equip you to tackle complicated projects with solutions that are well-tested, adaptive, and easy to maintain. This book starts by explaining critical points behind object-oriented programming and builds toward creating a full Rails application within a few chapters. By the end of this book, besides in-depth knowledge of Rails, you will also have a basic understanding of many supporting technologies such as SQL, web frameworks, and Integrated Development Environment (IDE). You will be able to quickly grasp the Rails methodology by focusing on the development from the point of view of the beginner-level developer. Additionally, you will be provided with a reliable roadmap for migrating your applications, skill set, and development procedures to the newer, more flexible programming platform that Rails offers. Moreover, learning Rails development independently will let you use all the qualities like creativeness, critical thinking, and project management. Mastering Ruby on Rails serves as a complete guide to exploring Ruby on Rails, expanding your set of skills and experience that will only benefit you throughout your professional life. If you are looking to get into the fascinating world of Rails development, Mastering Ruby on Rails is the right pick for you! Learn more about our other Mastering titles at: https://www.routledge.com/Mastering-Computer-Science/book-series/MCS\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781000553895\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1000553892\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 340,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.1.1.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=CiFfEAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=CiFfEAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=CiFfEAAAQBAJ&printsec=frontcover&dq=ruby&hl=&cd=7&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=CiFfEAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=CiFfEAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 3034.75,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 3034.75,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=CiFfEAAAQBAJ&rdid=book-CiFfEAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 3034750000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 3034750000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Mastering_Ruby_on_Rails-sample-epub.acsm?id=CiFfEAAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Mastering_Ruby_on_Rails-sample-pdf.acsm?id=CiFfEAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=CiFfEAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book starts by explaining critical points behind object-oriented programming and builds toward creating a full Rails application within a few chapters.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 38,\n    \"etag\": \"/H67h6UGDno\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/MiGpDAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Beginning Ruby\",\n      \"subtitle\": \"From Novice to Professional\",\n      \"authors\": [\"Peter Cooper\"],\n      \"publisher\": \"Apress\",\n      \"publishedDate\": \"2016-07-11\",\n      \"description\": \"Learn the principles behind object-oriented programming and within a few chapters create a fully functional Ruby application. You'll also gain a basic understanding of many ancillary technologies such as databases, XML, web frameworks, and networking - some of which are needed as part of a fully functioning Ruby application. Based on the bestselling first and second editions, Beginning Ruby, Third Edition is a leading guide to learn Ruby from the ground up. The new edition of this book provides the same excellent introduction to Ruby as the previous editions plus updates for the newest version of Ruby 2.3. This book can also be used as a textbook or companion to a textbook on beginning Ruby programming. The light and agile Ruby programming language remains a very popular open source scripting option for developers building today's web and even some enterprise applications. And, now, Ruby also has applications using the Raspberry Pi, popular among hobbyists and makers. Many former Java developers still use Ruby on Rails today, the most popular framework for building Ruby applications. What You'll Learn Discover the fundamentals of Ruby and its object-oriented building blocks Use the Ruby libraries, gems, and documentation Work with files and databases Write and deploy Ruby applications Harness the various Ruby web frameworks and how to use them Do network programming with Ruby Who This Book Is For Beginning programmers, programmers new to Ruby, and web developers interested in learning and knowing the foundations of the Ruby programming language.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781484212783\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1484212789\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 476,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.3.3.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=MiGpDAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=MiGpDAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=MiGpDAAAQBAJ&printsec=frontcover&dq=ruby&hl=&cd=8&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=MiGpDAAAQBAJ&dq=ruby&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Beginning_Ruby.html?hl=&id=MiGpDAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Beginning_Ruby-sample-epub.acsm?id=MiGpDAAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Beginning_Ruby-sample-pdf.acsm?id=MiGpDAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=MiGpDAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book can also be used as a textbook or companion to a textbook on beginning Ruby programming.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 39,\n    \"etag\": \"1vN/nB9C/F0\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/bLWi6l8BDuIC\",\n    \"volumeInfo\": {\n      \"title\": \"Ruby On Rails Bible\",\n      \"authors\": [\"Timothy Fisher\"],\n      \"publisher\": \"John Wiley & Sons\",\n      \"publishedDate\": \"2008-11-10\",\n      \"description\": \"Ruby on Rails is a Web application framework written in Ruby, an object-oriented programming language. RoR has grown year over year in notoriety and popularity among developers because its ease of use and speed for which a Web developer can build and maintain Web sites and applications. One of its key principles is using less code for application development by avoiding redundancy and following Rails conventions, encouraging increased performance, but with less development time. Ruby on Rails Bible takes all that is key to this framework and programming language and details it in one concise guide for all user levels. Coverage includes an introduction and summary of the Ruby programming language, followed by complete in-depth coverage of the Ruby on Rails framework. In addition to chapters detailing all of the features of Rails, a separate section of the book will provide a walkthrough of the development of a complete Rails web application utilizing much of what is taught earlier in the book. Current hot development trends including Agile development, Web Services, Web 2.0, and Ajax will be covered from the Rails perspective too.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"8126518901\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9788126518906\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 630,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Ruby (Computer program language)\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.5.5.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=bLWi6l8BDuIC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=bLWi6l8BDuIC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=bLWi6l8BDuIC&printsec=frontcover&dq=ruby&hl=&cd=9&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=bLWi6l8BDuIC&dq=ruby&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Ruby_On_Rails_Bible.html?hl=&id=bLWi6l8BDuIC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Ruby_On_Rails_Bible-sample-pdf.acsm?id=bLWi6l8BDuIC&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=bLWi6l8BDuIC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"In addition to chapters detailing all of the features of Rails, a separate section of the book will provide a walkthrough of the development of a complete Rails web application utilizing much of what is taught earlier in the book.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 40,\n    \"etag\": \"f7GYCbE2maE\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/PvNzBAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Effective Ruby\",\n      \"subtitle\": \"48 Specific Ways to Write Better Ruby\",\n      \"authors\": [\"Peter J. Jones\"],\n      \"publisher\": \"Addison-Wesley Professional\",\n      \"publishedDate\": \"2014-09-08\",\n      \"description\": \"If you’re an experienced Ruby programmer, Effective Ruby will help you harness Ruby’s full power to write more robust, efficient, maintainable, and well-performing code. Drawing on nearly a decade of Ruby experience, Peter J. Jones brings together 48 Ruby best practices, expert tips, and shortcuts—all supported by realistic code examples. Jones offers practical advice for each major area of Ruby development, from modules to memory to metaprogramming. Throughout, he uncovers little-known idioms, quirks, pitfalls, and intricacies that powerfully impact code behavior and performance. Each item contains specific, actionable, clearly organized guidelines; careful advice; detailed technical arguments; and illuminating code examples. When multiple options exist, Jones shows you how to choose the one that will work best in your situation. Effective Ruby will help you systematically improve your code—not by blindly following rules, but by thoroughly understanding Ruby programming techniques. Key features of this concise guide include How to avoid pitfalls associated with Ruby’s sometimes surprising idiosyncrasies What you should know about inheritance hierarchies to successfully use Rails (and other large frameworks) How to use misunderstood methods to do amazingly useful things with collections Better ways to use exceptions to improve code reliability Powerful metaprogramming approaches (and techniques to avoid) Practical, efficient testing solutions, including MiniTest Unit and Spec Testing How to reliably manage RubyGem dependencies How to make the most of Ruby’s memory management and profiling tools How to improve code efficiency by understanding the Ruby interpreter’s internals\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780133847062\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0133847063\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 240,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"2.3.2.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=PvNzBAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=PvNzBAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=PvNzBAAAQBAJ&printsec=frontcover&dq=ruby&hl=&cd=10&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=PvNzBAAAQBAJ&dq=ruby&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Effective_Ruby.html?hl=&id=PvNzBAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED_FOR_ACCESSIBILITY\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=PvNzBAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Key features of this concise guide include How to avoid pitfalls associated with Ruby’s sometimes surprising idiosyncrasies What you should know about inheritance hierarchies to successfully use Rails (and other large frameworks) How to ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 41,\n    \"etag\": \"Thg4zxSkl5Y\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/R2dxDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Tesla Model S\",\n      \"authors\": [\"Julio Diaz\"],\n      \"publisher\": \"Carson-Dellosa Publishing\",\n      \"publishedDate\": \"2016-08-01\",\n      \"description\": \"Tesla Model S is the new 21st century automotive leader. Discover the electrifying facts about this unusual car that you simply have to plug in, charge up, and take off!\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781681919416\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1681919419\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 32,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Juvenile Nonfiction\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.7.1.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=R2dxDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=R2dxDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=R2dxDwAAQBAJ&printsec=frontcover&dq=tesla&hl=&cd=1&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=R2dxDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=R2dxDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 1938.08,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 1938.08,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=R2dxDwAAQBAJ&rdid=book-R2dxDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 1938080000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 1938080000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Tesla_Model_S-sample-pdf.acsm?id=R2dxDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=R2dxDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Tesla Model S is the new 21st century automotive leader. Discover the electrifying facts about this unusual car that you simply have to plug in, charge up, and take off!\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 42,\n    \"etag\": \"MoHjhT8zZKE\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/H1d1EAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Genius of Tesla\",\n      \"subtitle\": \"How Elon Musk and Electric Cars Changed the World\",\n      \"authors\": [\"Dionna L. Mann\"],\n      \"publisher\": \"Lerner Publications TM\",\n      \"publishedDate\": \"2022-08-01\",\n      \"description\": \"In the face of climate change, demand for electric cars is growing. Elon Musk founded Tesla, making a big bet on electric cars, in 2003. Learn more about Tesla's history and what it's planning next.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781728455334\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1728455332\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 35,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Juvenile Nonfiction\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.1.1.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=H1d1EAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=H1d1EAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=H1d1EAAAQBAJ&printsec=frontcover&dq=tesla&hl=&cd=2&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=H1d1EAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=H1d1EAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 970.69,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 485.34,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=H1d1EAAAQBAJ&rdid=book-H1d1EAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 970690000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 485340000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Genius_of_Tesla-sample-epub.acsm?id=H1d1EAAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Genius_of_Tesla-sample-pdf.acsm?id=H1d1EAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=H1d1EAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"In the face of climate change, demand for electric cars is growing. Elon Musk founded Tesla, making a big bet on electric cars, in 2003. Learn more about Tesla&#39;s history and what it&#39;s planning next.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 43,\n    \"etag\": \"ZK8ST3zhg0U\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/VWyYDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Tesla\",\n      \"subtitle\": \"Inventor of the Electrical Age\",\n      \"authors\": [\"W. Bernard Carlson\"],\n      \"publisher\": \"Princeton University Press\",\n      \"publishedDate\": \"2015-04-27\",\n      \"description\": \"Nikola Tesla was a major contributor to the electrical revolution that transformed daily life at the turn of the twentieth century. His inventions, patents, and theoretical work formed the basis of modern AC electricity, and contributed to the development of radio and television. Like his competitor Thomas Edison, Tesla was one of America's first celebrity scientists, enjoying the company of New York high society and dazzling the likes of Mark Twain with his electrical demonstrations. An astute self-promoter and gifted showman, he cultivated a public image of the eccentric genius. Even at the end of his life when he was living in poverty, Tesla still attracted reporters to his annual birthday interview, regaling them with claims that he had invented a particle-beam weapon capable of bringing down enemy aircraft. Plenty of biographies glamorize Tesla and his eccentricities, but until now none has carefully examined what, how, and why he invented. In this groundbreaking book, W. Bernard Carlson demystifies the legendary inventor, placing him within the cultural and technological context of his time, and focusing on his inventions themselves as well as the creation and maintenance of his celebrity. Drawing on original documents from Tesla's private and public life, Carlson shows how he was an \\\"idealist\\\" inventor who sought the perfect experimental realization of a great idea or principle, and who skillfully sold his inventions to the public through mythmaking and illusion. This major biography sheds new light on Tesla's visionary approach to invention and the business strategies behind his most important technological breakthroughs.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780691165615\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0691165610\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 516,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Biography & Autobiography\"],\n      \"averageRating\": 4,\n      \"ratingsCount\": 3,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.0.1.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=VWyYDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=VWyYDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=VWyYDwAAQBAJ&printsec=frontcover&dq=tesla&hl=&cd=3&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=VWyYDwAAQBAJ&dq=tesla&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Tesla.html?hl=&id=VWyYDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Tesla-sample-pdf.acsm?id=VWyYDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=VWyYDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"In this groundbreaking book, W. Bernard Carlson demystifies the legendary inventor, placing him within the cultural and technological context of his time, and focusing on his inventions themselves as well as the creation and maintenance of ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 44,\n    \"etag\": \"xOU7AZU/h8Y\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/7X8OvQEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Tesla\",\n      \"subtitle\": \"The Man, the Inventor and the Age of Electricity\",\n      \"authors\": [\"Richard Gunderman\"],\n      \"publisher\": \"Andre Deutsch\",\n      \"publishedDate\": \"2019\",\n      \"description\": \"From X-ray to radar, to the Tesla Coil, radio, and remote control, this illustrated biography reveals the development of Tesla's key theories and inventions. Known as the father of modern electricity, Nikola Tesla's work transformed the world. Devoted to discovery, the scientist and engineer registered more than 700 patents in his lifetime, from X-ray to radar, to the Tesla Coil, radio, and remote control. This illustrated biography follows the development of Tesla's key theories and inventions, shining a light on an eccentric man who, ultimately, led a life of solitude and penury despite contributing so much to modern civilization. Featuring more than 150 rare and beautifully reproduced photographs plus documents from his archives, Tesla is a comprehensive portrait of an ever-questioning mind.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0233005765\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780233005768\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 0,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Electrical engineers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=7X8OvQEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=7X8OvQEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=7X8OvQEACAAJ&dq=tesla&hl=&cd=4&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=7X8OvQEACAAJ&dq=tesla&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Tesla.html?hl=&id=7X8OvQEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=7X8OvQEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"From X-ray to radar, to the Tesla Coil, radio, and remote control, this illustrated biography reveals the development of Tesla&#39;s key theories and inventions.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 45,\n    \"etag\": \"AEU04iXh3fg\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/RtjgDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Power Play\",\n      \"subtitle\": \"Elon Musk, Tesla, and the Bet of the Century\",\n      \"authors\": [\"Tim Higgins\"],\n      \"publisher\": \"Random House\",\n      \"publishedDate\": \"2021-08-05\",\n      \"description\": \"*A Wall Street Journal Business Bestseller* 'A deeply reported and business-savvy chronicle of Tesla's wild ride' --Walter Isaacson 'A masterclass in narrative journalism' --Bradley Hope 'Exemplary' --The Times 'An exceptional work' --Washington Post Inside the outrageous, come-from-behind story of Elon Musk and Tesla's bid to build the world's greatest car and the race to drive the future. Elon Musk is among the most controversial titans of Silicon Valley. To some he's a genius and a visionary and to others he's a mercurial huckster. Billions of dollars have been gained and lost on his tweets and his personal exploits are the stuff of tabloids. But for all his outrageous talk of mind-uploading and space travel, his most audacious vision is the one closest to the ground: the electric car. When Tesla was founded in the 2000s, electric cars were novelties, trotted out and thrown on the scrap heap by carmakers for more than a century. But where most onlookers saw only failure, a small band of Silicon Valley engineers and entrepreneurs saw potential and they pitted themselves against the biggest, fiercest business rivals in the world, setting out to make a car that was quicker, sexier, smoother, cleaner than the competition. Tesla would undergo a truly hellish fifteen years, beset by rivals, pressured by investors, hobbled by whistleblowers, buoyed by its loyal supporters. Musk himself would often prove Tesla's worst enemy--his antics repeatedly taking the company he had funded himself to the brink of collapse. Was he an underdog, an antihero, a conman, or some combination of the three? Wall Street Journal tech and auto reporter Tim Higgins had a front-row seat for the drama: the pileups, wrestling for control, meltdowns, and the unlikeliest outcome of all, success. A story of power, recklessness, struggle, and triumph, Power Play is an exhilarating look at how a team of eccentrics and innovators beat the odds... and changed the future.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780753554401\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0753554402\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 400,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Biography & Autobiography\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.4.4.0.preview.2\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=RtjgDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=RtjgDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=RtjgDwAAQBAJ&printsec=frontcover&dq=tesla&hl=&cd=5&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=RtjgDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=RtjgDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 707.11,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 353.56,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=RtjgDwAAQBAJ&rdid=book-RtjgDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 707110000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 353560000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Power_Play-sample-epub.acsm?id=RtjgDwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=RtjgDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"A story of power, recklessness, struggle, and triumph, Power Play is an exhilarating look at how a team of eccentrics and innovators beat the odds... and changed the future.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 46,\n    \"etag\": \"6E2/U6b3Ffc\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/7qc0DwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Definition and Market Analysis of the Tesla Motors Model S\",\n      \"authors\": [\"Erik Somssich\"],\n      \"publisher\": \"GRIN Verlag\",\n      \"publishedDate\": \"2017-04-04\",\n      \"description\": \"Seminar paper from the year 2016 in the subject Business economics - Marketing, Corporate Communication, CRM, Market Research, Social Media, grade: 1,3, University of applied sciences, Cologne, course: Marketing, language: English, abstract: The purpose of this document is to analyse the strategic marketing positioning of Tesla Motors with the focus on its premium electric car, “Model S”. From the text: - The Company Tesla Motors; - Business Analysis; - Market Analysis; - Market Positioning and Strategy\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9783668428799\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"3668428794\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 15,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Business & Economics\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.1.0.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=7qc0DwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=7qc0DwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=7qc0DwAAQBAJ&printsec=frontcover&dq=tesla&hl=&cd=6&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=7qc0DwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=7qc0DwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 1537.73,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 1537.73,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=7qc0DwAAQBAJ&rdid=book-7qc0DwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 1537730000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 1537730000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Definition_and_Market_Analysis_of_the_Te-sample-pdf.acsm?id=7qc0DwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=7qc0DwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"From the text: - The Company Tesla Motors; - Business Analysis; - Market Analysis; - Market Positioning and Strategy\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 47,\n    \"etag\": \"zXttD+uoNMk\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/MVpWAQAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Strange Life of Nikola Tesla\",\n      \"authors\": [\"Nikola Tesla\"],\n      \"publisher\": \"Library of Alexandria\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781465588418\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1465588418\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"printType\": \"BOOK\",\n      \"averageRating\": 5,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.1.1.0.preview.2\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=MVpWAQAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=MVpWAQAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=MVpWAQAAQBAJ&printsec=frontcover&dq=tesla&hl=&cd=7&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=MVpWAQAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=MVpWAQAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 400,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 280,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=MVpWAQAAQBAJ&rdid=book-MVpWAQAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 400000000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 280000000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Strange_Life_of_Nikola_Tesla-sample-epub.acsm?id=MVpWAQAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=MVpWAQAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 48,\n    \"etag\": \"r4QPvIhe+88\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/dZo3CwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Evaluation of the Marketing Strategy of Tesla Motors Inc\",\n      \"authors\": [\"Dominic Birk\"],\n      \"publisher\": \"GRIN Verlag\",\n      \"publishedDate\": \"2015-11-06\",\n      \"description\": \"Research Paper (undergraduate) from the year 2015 in the subject Business economics - Marketing, Corporate Communication, CRM, Market Research, Social Media, grade: 1,0, University of applied sciences, Cologne, language: English, abstract: Tesla Motors, Inc. is a car manufacturer, which polarizes like no other company in this industry. It is often said that with its business model and its special strategic moves, Tesla confuses competitors, utilities and marketing agencies. Therefore, this assignment will focus on the analysis of the key aspects of Tesla’s business model in order to find out why it is considered to be different. Moreover, the objective of this assessment is to find out, whether this strategy is useful, or if it should be changed. The market definition and analysis of the first assignment is hereby the basis for this evaluation of Tesla Motor’s current marketing strategy. Therefore, the focus will be again on the company’s domestic market: the United States of America. Furthermore, only Tesla’s automotive products will be taken into consideration – its recently launched home battery will not be object of this work.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9783668082687\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"3668082685\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 24,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Business & Economics\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"0.3.3.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=dZo3CwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=dZo3CwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=dZo3CwAAQBAJ&printsec=frontcover&dq=tesla&hl=&cd=8&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=dZo3CwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=dZo3CwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 1638.69,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 1638.69,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=dZo3CwAAQBAJ&rdid=book-dZo3CwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 1638690000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 1638690000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Evaluation_of_the_Marketing_Strategy_of-sample-epub.acsm?id=dZo3CwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Evaluation_of_the_Marketing_Strategy_of-sample-pdf.acsm?id=dZo3CwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=dZo3CwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Furthermore, only Tesla’s automotive products will be taken into consideration – its recently launched home battery will not be object of this work.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 49,\n    \"etag\": \"yj8SjL4QKNM\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/8b-Dp_2KmJoC\",\n    \"volumeInfo\": {\n      \"title\": \"Tesla\",\n      \"subtitle\": \"Man Out of Time\",\n      \"authors\": [\"Margaret Cheney\"],\n      \"publisher\": \"Simon and Schuster\",\n      \"publishedDate\": \"2001-10-02\",\n      \"description\": \"Now back in paperback comes the fascinating portrait of Nikola Tesla, one of the most brilliant scientists and inventors of the 20th century, from the impact of his seminal accomplishments to the eccentricities and obsessions of the man behind the science. of photos.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780743215367\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0743215362\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 422,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Biography & Autobiography\"],\n      \"averageRating\": 3.5,\n      \"ratingsCount\": 11,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"3.4.1.0.preview.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=8b-Dp_2KmJoC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=8b-Dp_2KmJoC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=8b-Dp_2KmJoC&printsec=frontcover&dq=tesla&hl=&cd=9&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=8b-Dp_2KmJoC&dq=tesla&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Tesla.html?hl=&id=8b-Dp_2KmJoC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED_FOR_ACCESSIBILITY\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=8b-Dp_2KmJoC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Now back in paperback comes the fascinating portrait of Nikola Tesla, one of the most brilliant scientists and inventors of the 20th century, from the impact of his seminal accomplishments to the eccentricities and obsessions of the man ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 50,\n    \"etag\": \"RgUap+zZ0OI\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/7W30DwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Tesla: Wizard at War\",\n      \"subtitle\": \"The Genius, the Particle Beam Weapon, and the Pursuit of Power\",\n      \"authors\": [\"Marc Seifer\"],\n      \"publisher\": \"Citadel Press\",\n      \"publishedDate\": \"2022-08-30\",\n      \"description\": \"In this revelatory new book, the author of the award-winning international bestseller Wizard: The Life & Times of Nikola Tesla delves deeper into the groundbreaking ideas and astonishing mind of one of the greatest geniuses of modern times . . . “In a few years hence, it will be possible for nations to fight without armies, ships or guns, by weapons far more terrible to the destructive action and range of which there is virtually no limit. Any city at any distance whatsoever from the enemy can be destroyed by him and no power on Earth can stop him from doing so.” —Nikola Tesla, circa 1925 Drawing on forty years of research and a treasure trove of new information, Tesla: Wizard at War provides a comprehensive view of Tesla’s discoveries, which continue to influence today’s military technology and diplomatic strategies. One of the world’s leading Tesla experts, Marc J. Seifer offers new insight into the brilliant scientist’s particle beam weapon (aka the “Death Ray”) and explores his military negotiations with pivotal historical figures—including his links to Joseph Stalin, Vannevar Bush, General Andrew McNaughton, and Franklin Delano Roosevelt. From Tesla’s role in the origins of Star Wars technology and his dynamic theory of gravity, to the real purpose behind the iconic tower at Wardenclyffe, this is an eye-opening account of Tesla’s projects, passions, and ambitions—and an illuminating, important study of one of history’s most intriguing figures.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780806540986\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0806540982\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 386,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Biography & Autobiography\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.3.3.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=7W30DwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=7W30DwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=7W30DwAAQBAJ&printsec=frontcover&dq=tesla&hl=&cd=10&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=7W30DwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=7W30DwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 2311.86,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 2311.86,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=7W30DwAAQBAJ&rdid=book-7W30DwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 2311860000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 2311860000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Tesla_Wizard_at_War-sample-epub.acsm?id=7W30DwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Tesla_Wizard_at_War-sample-pdf.acsm?id=7W30DwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=7W30DwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"In this revelatory new book, the author of the award-winning international bestseller Wizard: The Life &amp; Times of Nikola Tesla delves deeper into the groundbreaking ideas and astonishing mind of one of the greatest geniuses of modern times  ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 51,\n    \"etag\": \"W/OzjwQjTbE\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/wZKiDAEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Cricket Stars\",\n      \"authors\": [\"Pegasus\"],\n      \"publishedDate\": \"2021-05-11\",\n      \"description\": \"Ages 6 to 9 years. Super Pegasus is a fantastic way to introduce children to interesting individuals and concepts. The titles in this fabulous series introduce you to some of the most well know sports persons, artists and leaders in the world.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"8131937135\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9788131937136\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 0,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Cricket\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=wZKiDAEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=wZKiDAEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=wZKiDAEACAAJ&dq=cricket&hl=&cd=1&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=wZKiDAEACAAJ&dq=cricket&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Cricket_Stars.html?hl=&id=wZKiDAEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=wZKiDAEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Super Pegasus is a fantastic way to introduce children to interesting individuals and concepts. The titles in this fabulous series introduce you to some of the most well know sports persons, artists and leaders in the world.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 52,\n    \"etag\": \"1M8XulYRU1Y\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/sG_Y0yF0q8EC\",\n    \"volumeInfo\": {\n      \"title\": \"Cricket, My Style\",\n      \"authors\": [\"Kapil Dev\"],\n      \"publisher\": \"Allied Publishers\",\n      \"publishedDate\": \"1987\",\n      \"description\": \"Experiences of an Indian cricket captain.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"8170230608\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9788170230601\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 644,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Cricket players\"],\n      \"averageRating\": 3,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.4.3.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=sG_Y0yF0q8EC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=sG_Y0yF0q8EC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=sG_Y0yF0q8EC&printsec=frontcover&dq=cricket&hl=&cd=2&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=sG_Y0yF0q8EC&dq=cricket&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Cricket_My_Style.html?hl=&id=sG_Y0yF0q8EC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Cricket_My_Style-sample-pdf.acsm?id=sG_Y0yF0q8EC&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=sG_Y0yF0q8EC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Experiences of an Indian cricket captain.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 53,\n    \"etag\": \"lcinOsQgAe4\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/u4u_opZ8w_kC\",\n    \"volumeInfo\": {\n      \"title\": \"Pataudi - Nawab Of Cricket\",\n      \"authors\": [\"Suresh Menon\"],\n      \"publisher\": \"Harper Collins\",\n      \"publishedDate\": \"2013-01-10\",\n      \"description\": \"A brilliant anthology of essays on Mansur Ali Khan Pataudi n Pataudi: Nawab of Cricket, players, writers, editors, actors, friends and opponents reminisce about their association with Mansur Ali Khan Pataudi, one of India's greatest cricketing heroes, highlighting various aspects of the gentleman-cricketer, from his days as an exciting new talent at school and Oxford to his ascendancy as an iconic figure of Indian sport. Including an intimate Foreword by Sharmila Tagore, this extraordinary anthology - brilliantly put together by Suresh Menon, arguably India's best sports writer and journalist - offers a fascinating portrait of a cricketer and a gentleman whose contribution to Indian cricket went beyond the number of Tests he played and the runs he scored.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9789350299678\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"9350299674\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 208,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Biography & Autobiography\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.3.3.0.preview.2\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=u4u_opZ8w_kC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=u4u_opZ8w_kC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=u4u_opZ8w_kC&printsec=frontcover&dq=cricket&hl=&cd=3&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=u4u_opZ8w_kC&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=u4u_opZ8w_kC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 399,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 279.3,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=u4u_opZ8w_kC&rdid=book-u4u_opZ8w_kC&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 399000000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 279300000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Pataudi_Nawab_Of_Cricket-sample-epub.acsm?id=u4u_opZ8w_kC&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=u4u_opZ8w_kC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"A brilliant anthology of essays on Mansur Ali Khan Pataudi n Pataudi: Nawab of Cricket, players, writers, editors, actors, friends and opponents reminisce about their association with Mansur Ali Khan Pataudi, one of India&#39;s greatest ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 54,\n    \"etag\": \"iX4Q+aQyQz8\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/35omDAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Picador Book of Cricket\",\n      \"authors\": [\"Ramachandra Guha\"],\n      \"publisher\": \"Pan Macmillan\",\n      \"publishedDate\": \"2016-06-30\",\n      \"description\": \"A tribute to the finest writers on the game of cricket and an acknowledgement that the great days of cricket literature are behind us. There was a time when major English writers – P. G. Wodehouse, Arthur Conan Doyle, Alec Waugh – took time off to write about cricket, whereas the cricket book market today is dominated by ghosted autobiographies and statistical compendiums. The Picador Book of Cricket celebrates the best writing on the game and includes many pieces that have been out of print, or difficult to get hold of, for years. Including Neville Cardus, C. L. R. James, John Arlott, V. S. Naipaul, and C. B. Fry, this anthology is a must for any cricket follower or anyone interested in sports writing elevated to high art.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781509841400\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1509841407\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 496,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Literary Collections\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.3.4.0.preview.2\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=35omDAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=35omDAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=35omDAAAQBAJ&pg=PP1&dq=cricket&hl=&cd=4&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=35omDAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=35omDAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 505.71,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 252.86,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=35omDAAAQBAJ&rdid=book-35omDAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 505710000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 252860000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Picador_Book_of_Cricket-sample-epub.acsm?id=35omDAAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=35omDAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The Picador Book of Cricket celebrates the best writing on the game and includes many pieces that have been out of print, or difficult to get hold of, for years.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 55,\n    \"etag\": \"NYjsjaJlsSQ\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/CT4tAAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"101 Youth Cricket Drills Age 12-16\",\n      \"authors\": [\"Luke Sellers\"],\n      \"publisher\": \"A&amp;C Black\",\n      \"publishedDate\": \"2013-08-30\",\n      \"description\": \"Designed specifically for players aged 12 to 16, this manual contains a wide range of progressive practice drills to help young players develop. Fun, educational and challenging, all drills are illustrated and cover the essential technical skills, including: warming up; batting; bowling; fielding; wicket keeping; conditioned games; cooling down. As well as easy-to-follow instructions, each drill contains information on the equipment needed, the space required, how to construct a safe and effective training session and how to organise the players.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781408128893\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1408128896\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 176,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Sports & Recreation\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"3.16.12.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=CT4tAAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=CT4tAAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=CT4tAAAAQBAJ&printsec=frontcover&dq=cricket&hl=&cd=5&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=CT4tAAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=CT4tAAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 539,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 269.5,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=CT4tAAAAQBAJ&rdid=book-CT4tAAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 539000000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 269500000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/101_Youth_Cricket_Drills_Age_12_16-sample-epub.acsm?id=CT4tAAAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/101_Youth_Cricket_Drills_Age_12_16-sample-pdf.acsm?id=CT4tAAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=CT4tAAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Designed specifically for players aged 12 to 16, this manual contains a wide range of progressive practice drills to help young players develop.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 56,\n    \"etag\": \"1Zz+0Pf1D1c\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/s5MkBQAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Cricket and Beyond\",\n      \"authors\": [\"Gulu Ezekiel\"],\n      \"publisher\": \"Prabhat Prakashan\",\n      \"publishedDate\": \"2011-01-01\",\n      \"description\": \"Gulu wears his passion on his sleeve and on the numerous TV debates in which we have featured together I have found we are on the same wavelength when it comes to issues and controversies concerning cricket. This book contains an impressive array of Gulu’s articles on a wide range of sports with an emphasis on cricket which is so close to Gulu’s heart. There are numerous articles on the India Premier League in this collection stretching back to its origins and the reader can judge for himself how perceptive Gulu has been on this vexing issue. On this we share common ground and many of our dire predictions on what we both consider a cancer in the game have proved uncannily correct. Besides controversies, there is much to celebrate as well in this anthology and I wish both the book and its author all the best while looking forward to another such collection 20 years down the line! —from the Foreword ofBishan Singh Bedi\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9788184301007\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"8184301006\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 182,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Sports & Recreation\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=s5MkBQAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=s5MkBQAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=s5MkBQAAQBAJ&printsec=frontcover&dq=cricket&hl=&cd=6&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=s5MkBQAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=s5MkBQAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 177,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 123.9,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=s5MkBQAAQBAJ&rdid=book-s5MkBQAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 177000000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 123900000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Cricket_and_Beyond-sample-pdf.acsm?id=s5MkBQAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=s5MkBQAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book contains an impressive array of Gulu’s articles on a wide range of sports with an emphasis on cricket which is so close to Gulu’s heart.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 57,\n    \"etag\": \"8yO3QqwMIdk\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/Z3jADwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Cricket Performance Management\",\n      \"subtitle\": \"Mathematical Formulation and Analytics\",\n      \"authors\": [\n        \"Hemanta Saikia\",\n        \"Dibyojyoti Bhattacharjee\",\n        \"Diganta Mukherjee\"\n      ],\n      \"publisher\": \"Springer Nature\",\n      \"publishedDate\": \"2019-11-26\",\n      \"description\": \"This book focuses on the application of data mining techniques in cricket. It provides detailed examples of how data mining can be helpful for decision-making in sports with special reference to cricket, particularly the quantitative features related to Twenty20 cricket, the latest and the most popular format of the game. The book highlights the performance quantification of cricketers (batsmen, bowlers, all-rounders, and wicket keepers), determining the market valuation of cricketers based on their on-field performances and the effect of age on the performance of the cricketers. It also provides a comprehensive overview of the different aspects of the game where quantitative techniques are beneficial, and highlights the use of statistical and data mining tools in analysing sports-related data and objective decision-making in sports. The book appeals to a wide readership, including postgraduate students of statistics/mathematics, data analysts, sports management bodies. It also offers data miners, such as researchers in statistics, mathematics, operations research, and computer science ideas for projects.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9789811513541\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"9811513546\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 231,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Mathematics\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.1.1.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=Z3jADwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=Z3jADwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=Z3jADwAAQBAJ&printsec=frontcover&dq=cricket&hl=&cd=7&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=Z3jADwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=Z3jADwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 4200.8,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 4200.8,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=Z3jADwAAQBAJ&rdid=book-Z3jADwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 4200800000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 4200800000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Cricket_Performance_Management-sample-epub.acsm?id=Z3jADwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Cricket_Performance_Management-sample-pdf.acsm?id=Z3jADwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=Z3jADwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book focuses on the application of data mining techniques in cricket.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 58,\n    \"etag\": \"7UsJQJ5qLYY\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/37Y0kP30HDAC\",\n    \"volumeInfo\": {\n      \"title\": \"Cricket-Indo\",\n      \"subtitle\": \"The Story of an Indo-Pak One-Day Cricket Turf War\",\n      \"authors\": [\"K. L. Mohana Varma\"],\n      \"publisher\": \"Strategic Book Publishing\",\n      \"publishedDate\": \"2012-10\",\n      \"description\": \"Cricket is considered a religion in the Indian sub-continent. The ambition of every mother in India is to make her son a national player, but only one in 1 billion succeeds. Cricket-Indo tells the story of how young Suresh Menon is nurtured and groomed by his dedicated and determined mother to become a dashing and dynamic cricketer in the 1990s. The sporting \\\"war on turf\\\" between India and Pakistan plays out on television screens, glorifying national pride, even as the age-old legends and history of the countries are symbolized in the brutality and sportsmanship of the game. About the Author: K.L. Mohana Varma is a well known and popular novelist, short story writer and columnist in Malayalam - the language spoken in the state of Kerala, India. He has won many literary awards. About the English Translator: R.A.M. Varma is the author of the English version of this novel. A fisheries consultant and fisheries journalist, he has been closely associated with the Indian seafood industry for more than 30 years. He enjoys cartooning and translating short stories from Malayalam into English. His award-winning translations have been utilized by the Kerala Literary Academy and in popular magazines and he was awarded the second place prize by the British Council in a competition for short story translation from South Indian languages into English. His business interests take him from India to the UAE. He and his wife have two daughters, two granddaughters and one grandson. Publisher's website: http: //sbpra.com/RAMVarma\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781618975737\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1618975730\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 383,\n      \"printType\": \"BOOK\",\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.1.2.0.preview.2\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=37Y0kP30HDAC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=37Y0kP30HDAC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=37Y0kP30HDAC&printsec=frontcover&dq=cricket&hl=&cd=8&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=37Y0kP30HDAC&dq=cricket&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Cricket_Indo.html?hl=&id=37Y0kP30HDAC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Cricket_Indo-sample-epub.acsm?id=37Y0kP30HDAC&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=37Y0kP30HDAC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Cricket-Indo tells the story of how young Suresh Menon is nurtured and groomed by his dedicated and determined mother to become a dashing and dynamic cricketer in the 1990s.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 59,\n    \"etag\": \"WZk/fgxAQCs\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/Mfw9lvplI8EC\",\n    \"volumeInfo\": {\n      \"title\": \"Lost Histories of Indian Cricket\",\n      \"subtitle\": \"Battles Off the Pitch\",\n      \"authors\": [\"Boria Majumdar\"],\n      \"publisher\": \"Routledge\",\n      \"publishedDate\": \"2006-01-16\",\n      \"description\": \"Lost Histories of Indian Cricket studies the personalities and controversies that have shaped Indian cricket over the years and brings to life the intensity surrounding India's national game. It may be true that that cricket today arouses more passions in India than in any other cricket playing country in the world. Yet, when it comes to writing on the history of the game, Indians have been reticent and much of the past has been obscured and lost. Majumdar here recovers this history and restores it to its rightful place in India's rich sporting heritage.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781134243365\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1134243367\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 168,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Sports & Recreation\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.7.0.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=Mfw9lvplI8EC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=Mfw9lvplI8EC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=Mfw9lvplI8EC&printsec=frontcover&dq=cricket&hl=&cd=9&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=Mfw9lvplI8EC&dq=cricket&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Lost_Histories_of_Indian_Cricket.html?hl=&id=Mfw9lvplI8EC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Lost_Histories_of_Indian_Cricket-sample-pdf.acsm?id=Mfw9lvplI8EC&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=Mfw9lvplI8EC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Lost Histories of Indian Cricket studies the personalities and controversies that have shaped Indian cricket over the years and brings to life the intensity surrounding India&#39;s national game.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 60,\n    \"etag\": \"rWexu/bivfU\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/SP4GEAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Cricket India: Tales Untold\",\n      \"subtitle\": \"Controversies and Contributions\",\n      \"authors\": [\"Raju Mukherji\"],\n      \"publisher\": \"Notion Press\",\n      \"publishedDate\": \"2020-11-05\",\n      \"description\": \"With cricket at its soul, Cricket India: Tales Untold is a masterpiece of history–replete with accounts of rousing patriotism on one hand and petty self-centricity and malice on the other–the two opposing sentiments that make for the most intriguing study of human nature. It is a tale of a young nation’s grit to master the master’s game and the legendary people who gave their all to lift not only the game but the country from subordination to equality.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781636337869\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1636337864\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 178,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Sports & Recreation\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.3.3.0.preview.2\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=SP4GEAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=SP4GEAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=SP4GEAAAQBAJ&printsec=frontcover&dq=cricket&hl=&cd=10&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=SP4GEAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=SP4GEAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 180,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 126,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=SP4GEAAAQBAJ&rdid=book-SP4GEAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 180000000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 126000000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=SP4GEAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"With cricket at its soul, Cricket India: Tales Untold is a masterpiece of history–replete with accounts of rousing patriotism on one hand and petty self-centricity and malice on the other–the two opposing sentiments that make for the ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 61,\n    \"etag\": \"F19G2++j+m0\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/MJmJAwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Beginning COBOL for Programmers\",\n      \"authors\": [\"Michael Coughlan\"],\n      \"publisher\": \"Apress\",\n      \"publishedDate\": \"2014-04-04\",\n      \"description\": \"Beginning COBOL for Programmers is a comprehensive, sophisticated tutorial and modular skills reference on the COBOL programming language for established programmers. This book is for you if you are a developer who would like to—or must—add COBOL to your repertoire. Perhaps you recognize the opportunities presented by the current COBOL skills crisis, or are working in a mission critical enterprise which retains legacy COBOL applications. Whatever your situation, Beginning COBOL for Programmers meets your needs as an established programmer moving to COBOL. Beginning COBOL for Programmers includes comprehensive coverage of ANS 85 COBOL features and techniques, including control structures, condition names, sequential and direct access files, data redefinition, string handling, decimal arithmetic, subprograms, and the report writer. The final chapter includes a substantial introduction to object-oriented COBOL. Benefiting from over one hundred example programs, you’ll receive an extensive introduction to the core and advanced features of the COBOL language and will learn to apply these through comprehensive and varied exercises. If you've inherited some legacy COBOL, you’ll be able to grasp the COBOL idioms, understand the constructs, and recognize what's happening in the code you’re working with. Today’s enterprise application developers will find that COBOL skills open new—or old—doors, and this extensive COBOL reference is the book to help you acquire and develop your COBOL skills.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781430262541\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1430262540\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 575,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.6.5.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=MJmJAwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=MJmJAwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=MJmJAwAAQBAJ&printsec=frontcover&dq=cobol&hl=&cd=1&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=MJmJAwAAQBAJ&dq=cobol&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Beginning_COBOL_for_Programmers.html?hl=&id=MJmJAwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Beginning_COBOL_for_Programmers-sample-epub.acsm?id=MJmJAwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Beginning_COBOL_for_Programmers-sample-pdf.acsm?id=MJmJAwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=MJmJAwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book is for you if you are a developer who would like to—or must—add COBOL to your repertoire.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 62,\n    \"etag\": \"bkAJQyAtojo\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/kDcNAAAACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Murach's Mainframe COBOL\",\n      \"authors\": [\"Mike Murach\", \"Anne Prince\", \"Raul Menendez\"],\n      \"publisher\": \"Mike Murach & Associates\",\n      \"publishedDate\": \"2004\",\n      \"description\": \"This is the latest edition of our classic COBOL book that has set the standard for structured design and coding since the mid-1970s. So if you want to learn how to write COBOL programs the way they're written in the best enterprise COBOL shops, this is the book for you. And when you're done learning from this book, it becomes the best reference you'll ever find for use on the job. Throughout the book, you will learn how to use COBOL on IBM mainframes because that's where 90% or more of all COBOL is running. But to work on a mainframe, you need to know more than just the COBOL language. That's why this book also shows you: how to use the ISPF editor for entering programs; how to use TSO/E and JCL to compile and test programs; how to use the AMS utility to work with VSAM files; how to use CICS for developing interactive COBOL programs; how to use DB2 for developing COBOL programs that handle database data; how to maintain legacy programs. If you want to learn COBOL for other platforms, this book will get you off to a good start because COBOL is a standard language. In fact, all of the COBOL that's presented in this book will also run on any other platform that has a COBOL compiler. Remember, though, that billions of lines of mainframe COBOL are currently in use, and those programs will keep programmers busy for many years to come.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1890774243\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781890774240\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 0,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 4,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=kDcNAAAACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=kDcNAAAACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=kDcNAAAACAAJ&dq=cobol&hl=&cd=2&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=kDcNAAAACAAJ&dq=cobol&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Murach_s_Mainframe_COBOL.html?hl=&id=kDcNAAAACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=kDcNAAAACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This is the latest edition of our classic COBOL book that has set the standard for structured design and coding since the mid-1970s.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 63,\n    \"etag\": \"3WFm+dYlIbY\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/hTeOAAAACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Cobol Programming\",\n      \"authors\": [\"Roy\"],\n      \"publisher\": \"McGraw-Hill\",\n      \"publishedDate\": \"1988-06-01\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0074518658\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780074518656\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 324,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"COBOL (Computer program language)\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=hTeOAAAACAAJ&dq=cobol&hl=&cd=3&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=hTeOAAAACAAJ&dq=cobol&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Cobol_Programming.html?hl=&id=hTeOAAAACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=hTeOAAAACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 64,\n    \"etag\": \"e+PjI3wslys\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/EECeBQAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Programming in COBOL\",\n      \"subtitle\": \"Library of Computer Education\",\n      \"authors\": [\"G. T. Lancaster\"],\n      \"publisher\": \"Elsevier\",\n      \"publishedDate\": \"2014-05-17\",\n      \"description\": \"Programming in COBOL is a simple yet concise how-to book that teaches the programming language in a short yet effective step-by-step manner, which can be easily understood by anyone with sufficient knowledge in information technology. Covering first the advantages of COBOL over other programming languages, the book discusses COBOL's divisions - identification, environment, procedure, and data, and then describes the testing of the COBOL source programs and program questions. The book is valuable for those who wish to learn basic COBOL language, but do not have the time to take manufacturers' or technical college courses. Intended readers include experienced computer programmers familiar with other programming languages but not with COBOL, as well as students taking a course in computer science. The book is also helpful as it includes self-assessment questions for readers to ensure they understood the principles covered.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781483137810\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1483137813\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 152,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Reference\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.1.1.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=EECeBQAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=EECeBQAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=EECeBQAAQBAJ&printsec=frontcover&dq=cobol&hl=&cd=4&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=EECeBQAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=EECeBQAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 2297.46,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 2297.46,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=EECeBQAAQBAJ&rdid=book-EECeBQAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 2297460000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 2297460000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Programming_in_COBOL-sample-pdf.acsm?id=EECeBQAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=EECeBQAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The book is also helpful as it includes self-assessment questions for readers to ensure they understood the principles covered.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 65,\n    \"etag\": \"G5d5NCLk+98\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/FtxWAAAAMAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Structured COBOL Programming\",\n      \"authors\": [\"Nancy B. Stern\", \"Robert A. Stern\"],\n      \"publishedDate\": \"1988-02-03\",\n      \"description\": \"This new edition of the best-selling COBOL text has been thoroughly revised and updated--covers the latest COBOL standard, COBOL 85. Covers both mainframe and microcomputer (Microsoft) COBOL. Focuses on good program design, not just the syntax of the language, and provides an early introduction to structured programming by means of pseudocode, hierarchy charts, and structure charts. Offers a superior treatment of control breaks, date division, validating data, and the debugging of programs. There is new material on the design of files and the printing of well-designed reports. Continues the tradition of excellent pedagogical aids: chapter outlines, objectives, study/review questions, examples, programming exercises, glossary, and extensive appendixes.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"OTHER\",\n          \"identifier\": \"UOM:39015013062966\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 868,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.6.6.0.preview.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=FtxWAAAAMAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=FtxWAAAAMAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=FtxWAAAAMAAJ&q=cobol&dq=cobol&hl=&cd=5&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=FtxWAAAAMAAJ&dq=cobol&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Structured_COBOL_Programming.html?hl=&id=FtxWAAAAMAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=FtxWAAAAMAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This new edition of the best-selling COBOL text has been thoroughly revised and updated--covers the latest COBOL standard, COBOL 85.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 66,\n    \"etag\": \"2YdZ5zgXwQU\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/yohKpvMIXaYC\",\n    \"volumeInfo\": {\n      \"title\": \"Cobol for Students\",\n      \"authors\": [\"Andrew Parkin\", \"Richard Yorke\"],\n      \"publisher\": \"Butterworth-Heinemann\",\n      \"publishedDate\": \"1995-12\",\n      \"description\": \"COBOL for Students has established itself as one of the most successful teaching texts on COBOL programming and is now in its fourth edition. The first part of the book concentrates on the fundamentals of the language and takes students to the point where they can write modestly sized programs using sequential files. Part two assumes competence in elementary COBOL and explains design and other programming techniques which should be part of the professional programmer's repertoire. Part three extends the student's knowledge of the language by explaining some of the more advanced features of COBOL. Written for students learning COBOL for the first time, it takes the reader from the basic fundamentals right through to some of the more advanced features in one handy, and inexpensive volume. As many lecture courses have been based upon earlier editions of this book, this edition maintains the highly successful style and format and has been updated to include the 'Intrinsic Function Module for COBOL'. (This is the ANSI Standard X3.23a-1989 (COBOL 89) which has also been adopted as ISO International Standard 1989 Addendum 1 (an addendum to the ANSI Standard X3.23-1985 (COBOL 85)) and consists mainly of 42 predefined functions related to many different application areas).\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780340645529\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0340645520\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 353,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.1.0.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=yohKpvMIXaYC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=yohKpvMIXaYC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=yohKpvMIXaYC&printsec=frontcover&dq=cobol&hl=&cd=6&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=yohKpvMIXaYC&dq=cobol&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Cobol_for_Students.html?hl=&id=yohKpvMIXaYC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Cobol_for_Students-sample-pdf.acsm?id=yohKpvMIXaYC&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=yohKpvMIXaYC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"As many lecture courses have been based upon earlier editions of this book, this edition maintains the highly successful style and format and has been updated to include the &#39;Intrinsic Function Module for COBOL&#39;. (This is the ANSI Standard ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 67,\n    \"etag\": \"Fg1v/OZ9r2U\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/JcnflKuF2ycC\",\n    \"volumeInfo\": {\n      \"title\": \"Structured Programming with COBOL Examples\",\n      \"authors\": [\"Earl H. Parsons\"],\n      \"publisher\": \"iUniverse\",\n      \"publishedDate\": \"2002-11\",\n      \"description\": \"As the conversion of legacy systems continues, the ability to understand embedded business rules becomes more and more critical. This ability is directly related to the structure of the programs within those systems. We also see the need to teach structured programming to a new generation of programmers who must maintain the billions of lines of existing COBOL code. The ultimate purpose of this text is to discuss how to judge the level of structure of a program. We do this by defining structured programming and then discussing how a structured program can be built through the application of the concepts of coupling and cohesion. We also show how embedded business rules of the program can be separated from the data and presentation functions. The reader will be able to use to these skills to judge and to improve the structure of a new program or an existing program.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780595250943\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0595250947\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 196,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"COBOL (Computer program language)\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.1.1.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=JcnflKuF2ycC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=JcnflKuF2ycC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=JcnflKuF2ycC&printsec=frontcover&dq=cobol&hl=&cd=7&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=JcnflKuF2ycC&dq=cobol&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Structured_Programming_with_COBOL_Exampl.html?hl=&id=JcnflKuF2ycC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Structured_Programming_with_COBOL_Exampl-sample-pdf.acsm?id=JcnflKuF2ycC&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=JcnflKuF2ycC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The ultimate purpose of this text is to discuss how to judge the level of structure of a program.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 68,\n    \"etag\": \"skzbUbh5XQY\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/posN1cl6XFUC\",\n    \"volumeInfo\": {\n      \"title\": \"Object-Oriented COBOL\",\n      \"authors\": [\"Edmund C. Arranga\", \"Frank P. Coyle\"],\n      \"publisher\": \"Cambridge University Press\",\n      \"publishedDate\": \"1996\",\n      \"description\": \"Walks COBOL users through the next phase of COBOL: Object-Oriented COBOL. Teaches how to integrate COBOL with object-oriented methodologies.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0132611406\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780132611404\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 532,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"3.5.4.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=posN1cl6XFUC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=posN1cl6XFUC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=posN1cl6XFUC&printsec=frontcover&dq=cobol&hl=&cd=8&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=posN1cl6XFUC&dq=cobol&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Object_Oriented_COBOL.html?hl=&id=posN1cl6XFUC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Object_Oriented_COBOL-sample-pdf.acsm?id=posN1cl6XFUC&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=posN1cl6XFUC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Walks COBOL users through the next phase of COBOL: Object-Oriented COBOL. Teaches how to integrate COBOL with object-oriented methodologies.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 69,\n    \"etag\": \"r4WxfpfwR54\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/InhGAAAAYAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"COBOL\",\n      \"subtitle\": \"From Micro to Mainframe : Preparing for the New Millennium\",\n      \"authors\": [\"Robert T. Grauer\", \"Carol Vazquez Villar\", \"Arthur R. Buss\"],\n      \"publishedDate\": \"2000\",\n      \"description\": \"This machine-independent introduction covers the basic COBOL elements and special features, as well as provides an introduction to using the Fujitsu compiler. Includes a free CD-ROM with Fujitsu COBOL Compiler Version 4.0.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"OTHER\",\n          \"identifier\": \"UVA:X004418335\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 932,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"COBOL (Computer program language)\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.4.1.0.preview.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=InhGAAAAYAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=InhGAAAAYAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=InhGAAAAYAAJ&q=cobol&dq=cobol&hl=&cd=9&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=InhGAAAAYAAJ&dq=cobol&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/COBOL.html?hl=&id=InhGAAAAYAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=InhGAAAAYAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The text includes additional chapters on the Year 2000 problem, structured programming and design, debugging, subprograms, table processing, sorting, screen I/O, sequential file maintenance, indexed files, and object-oriented COBOL.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 70,\n    \"etag\": \"1kWznZKRP0I\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/XCpDCdXA13wC\",\n    \"volumeInfo\": {\n      \"title\": \"Structured Cobol Programming, 8Th Ed\",\n      \"authors\": [\"Stern\"],\n      \"publisher\": \"John Wiley & Sons\",\n      \"publishedDate\": \"2009-06\",\n      \"description\": \"This edition includes a revised disk, a full account of the problem, and an in-depth consideration of its relevance to COBOL. It also discusses other issues that could have a profound impact on information processing in the new century.· An Introduction to Structured Program Design in COBOL· The Data Division· Designing and Debugging Batch and Interactive COBOL Programs· Decision Making Using the If and Evaluate Statements· Iteration: Beyond the Basic Perform· Control Break Processing· Data Validation· Array Processing and Table Handling· Sequential File Processing· Sorting and Merging· Indexed and Relative File Processing· The Report Writer Module· An Introduction to Object-Oriented Programming\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"8126511877\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9788126511877\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 820,\n      \"printType\": \"BOOK\",\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.8.7.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=XCpDCdXA13wC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=XCpDCdXA13wC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=XCpDCdXA13wC&printsec=frontcover&dq=cobol&hl=&cd=10&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=XCpDCdXA13wC&dq=cobol&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Structured_Cobol_Programming_8Th_Ed.html?hl=&id=XCpDCdXA13wC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Structured_Cobol_Programming_8Th_Ed-sample-pdf.acsm?id=XCpDCdXA13wC&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=XCpDCdXA13wC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This edition includes a revised disk, a full account of the problem, and an in-depth consideration of its relevance to COBOL.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 71,\n    \"etag\": \"VFvsWCIsHcs\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/XXdyQgAACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The C Book, Featuring the ANSI C Standard\",\n      \"authors\": [\"Mike Banahan\", \"Declan Brady\", \"Mark Doran\"],\n      \"publisher\": \"Addison-Wesley\",\n      \"publishedDate\": \"1991\",\n      \"description\": \"This book presents an introduction to the C programming language, featuring a structured approach and aimed at professionals and students with some experience of high-level languages. Features *includes embedded summary material in bulleted form *highlights common traps and pitfalls in C programming.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0201544334\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780201544336\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 310,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=XXdyQgAACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=XXdyQgAACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=XXdyQgAACAAJ&dq=c&hl=&cd=1&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=XXdyQgAACAAJ&dq=c&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/The_C_Book_Featuring_the_ANSI_C_Standard.html?hl=&id=XXdyQgAACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=XXdyQgAACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book presents an introduction to the C programming language, featuring a structured approach and aimed at professionals and students with some experience of high-level languages.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 72,\n    \"etag\": \"rdROzcNYqaw\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/X5DZDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Effective C\",\n      \"subtitle\": \"An Introduction to Professional C Programming\",\n      \"authors\": [\"Robert C. Seacord\"],\n      \"publisher\": \"No Starch Press\",\n      \"publishedDate\": \"2020-08-11\",\n      \"description\": \"A detailed introduction to the C programming language for experienced programmers. The world runs on code written in the C programming language, yet most schools begin the curriculum with Python or Java. Effective C bridges this gap and brings C into the modern era--covering the modern C17 Standard as well as potential C2x features. With the aid of this instant classic, you'll soon be writing professional, portable, and secure C programs to power robust systems and solve real-world problems. Robert C. Seacord introduces C and the C Standard Library while addressing best practices, common errors, and open debates in the C community. Developed together with other C Standards committee experts, Effective C will teach you how to debug, test, and analyze C programs. You'll benefit from Seacord's concise explanations of C language constructs and behaviors, and from his 40 years of coding experience. You'll learn: How to identify and handle undefined behavior in a C program The range and representations of integers and floating-point values How dynamic memory allocation works and how to use nonstandard functions How to use character encodings and types How to perform I/O with terminals and filesystems using C Standard streams and POSIX file descriptors How to understand the C compiler's translation phases and the role of the preprocessor How to test, debug, and analyze C programs Effective C will teach you how to write professional, secure, and portable C code that will stand the test of time and help strengthen the foundation of the computing world.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781718501058\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1718501056\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 273,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 4,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.4.3.0.preview.2\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=X5DZDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=X5DZDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=X5DZDwAAQBAJ&pg=PP1&dq=c&hl=&cd=2&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=X5DZDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=X5DZDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 3859.88,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 3859.88,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=X5DZDwAAQBAJ&rdid=book-X5DZDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 3859880000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 3859880000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=X5DZDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Effective C bridges this gap and brings C into the modern era--covering the modern C17 Standard as well as potential C2x features.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 73,\n    \"etag\": \"uuTUtEuds1o\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/Yi5FI5QcdmYC\",\n    \"volumeInfo\": {\n      \"title\": \"C Programming Language\",\n      \"subtitle\": \"C PROGRAMMING LANG _p2\",\n      \"authors\": [\"Brian W. Kernighan\", \"Dennis Ritchie\"],\n      \"publisher\": \"Prentice Hall\",\n      \"publishedDate\": \"1988-03-22\",\n      \"description\": \"This ebook is the first authorized digital version of Kernighan and Ritchie’s 1988 classic, The C Programming Language (2nd Ed.). One of the best-selling programming books published in the last fifty years, \\\"K&R\\\" has been called everything from the \\\"bible\\\" to \\\"a landmark in computer science\\\" and it has influenced generations of programmers. Available now for all leading ebook platforms, this concise and beautifully written text is a \\\"must-have\\\" reference for every serious programmer’s digital library. As modestly described by the authors in the Preface to the First Edition, this \\\"is not an introductory programming manual; it assumes some familiarity with basic programming concepts like variables, assignment statements, loops, and functions. Nonetheless, a novice programmer should be able to read along and pick up the language, although access to a more knowledgeable colleague will help.\\\"\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780133086218\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0133086216\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 99998,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 4,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.13.15.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=Yi5FI5QcdmYC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=Yi5FI5QcdmYC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=Yi5FI5QcdmYC&pg=PP1&dq=c&hl=&cd=3&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=Yi5FI5QcdmYC&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=Yi5FI5QcdmYC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 2979.35,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 2979.35,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=Yi5FI5QcdmYC&rdid=book-Yi5FI5QcdmYC&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 2979350000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 2979350000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED_FOR_ACCESSIBILITY\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=Yi5FI5QcdmYC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"As modestly described by the authors in the Preface to the First Edition, this &quot;is not an introductory programming manual; it assumes some familiarity with basic programming concepts like variables, assignment statements, loops, and ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 74,\n    \"etag\": \"fCujesKbepA\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/UoN_r_NMR_EC\",\n    \"volumeInfo\": {\n      \"title\": \"Programming in C, 2/e\",\n      \"authors\": [\"Ashok N. Kamthane\"],\n      \"publisher\": \"Pearson Education India\",\n      \"publishedDate\": \"2011\",\n      \"description\": \"Combining the features of high level language and functionality assembly language, this book reduces the gap between high level language and low level language, which is why C is known as middle level language. It is written for the students of B.E./B. Tech, M.E./M. Tech, MCA, M. Sc(Comp. Sc)/M. Sc(IT), B CA, BBA, MBA, B. Sc(IT), B. Sc(Comp. Sc), Diploma in Computer Science and other computer programs. --\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"8131760316\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9788131760314\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 676,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"C (Computer program language)\"],\n      \"averageRating\": 4,\n      \"ratingsCount\": 5,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.3.2.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=UoN_r_NMR_EC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=UoN_r_NMR_EC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=UoN_r_NMR_EC&printsec=frontcover&dq=c&hl=&cd=4&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=UoN_r_NMR_EC&dq=c&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Programming_in_C_2_e.html?hl=&id=UoN_r_NMR_EC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Programming_in_C_2_e-sample-pdf.acsm?id=UoN_r_NMR_EC&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=UoN_r_NMR_EC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Combining the features of high level language and functionality assembly language, this book reduces the gap between high level language and low level language, which is why C is known as middle level language.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 75,\n    \"etag\": \"mvBVw8/ZMjE\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/tEQ8BAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Programming in C++, 2/e\",\n      \"authors\": [\"Ashok Kamthane\"],\n      \"publisher\": \"Pearson Education India\",\n      \"description\": \"The revised and updated version of the student-friendly, practical and example-driven book, Programming in C++, continues to give its readers a solid background and a learning platform to the fundamentals of C++. This comprehensive book, enriched with illustrations and a number of solved programs, will help the students to master this subject.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9789332520288\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"9332520283\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 896,\n      \"printType\": \"BOOK\",\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=tEQ8BAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=tEQ8BAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=tEQ8BAAAQBAJ&pg=PP1&dq=c&hl=&cd=5&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=tEQ8BAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=tEQ8BAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 319,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 223.3,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=tEQ8BAAAQBAJ&rdid=book-tEQ8BAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 319000000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 223300000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Programming_in_C++_2_e-sample-pdf.acsm?id=tEQ8BAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=tEQ8BAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This comprehensive book, enriched with illustrations and a number of solved programs, will help the students to master this subject.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 76,\n    \"etag\": \"ofiqmDCg48c\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/Jvzj5zcxxE4C\",\n    \"volumeInfo\": {\n      \"title\": \"Head First C\",\n      \"subtitle\": \"A Brain-Friendly Guide\",\n      \"authors\": [\"David Griffiths\", \"Dawn Griffiths\"],\n      \"publisher\": \"\\\"O'Reilly Media, Inc.\\\"\",\n      \"publishedDate\": \"2012-04-03\",\n      \"description\": \"Learn key topics such as language basics, pointers and pointer arithmetic, dynamic memory management, multithreading, and network programming. Learn how to use the compiler, the make tool, and the archiver.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781449335656\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1449335659\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 632,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.4.0.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=Jvzj5zcxxE4C&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=Jvzj5zcxxE4C&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=Jvzj5zcxxE4C&printsec=frontcover&dq=c&hl=&cd=6&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=Jvzj5zcxxE4C&dq=c&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Head_First_C.html?hl=&id=Jvzj5zcxxE4C\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=Jvzj5zcxxE4C&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Learn key topics such as language basics, pointers and pointer arithmetic, dynamic memory management, multithreading, and network programming. Learn how to use the compiler, the make tool, and the archiver.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 77,\n    \"etag\": \"y+amipbZ8IU\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/6CPa3Ill7p0C\",\n    \"volumeInfo\": {\n      \"title\": \"Oregon Evidence\",\n      \"authors\": [\"Laird C. Kirkpatrick\"],\n      \"publisher\": \"LexisNexis\",\n      \"publishedDate\": \"2012-11-08\",\n      \"description\": \"Oregon Evidence, Fifth Edition is the only Oregon-specific evidence treatise published, regularly cited by the Oregon courts. It is written and updated by Professor Laird C. Kirkpatrick, noted Oregon and federal evidence expert. An eminent work by the first name in Oregon evidence, Oregon Evidence contains everything you need to know about the Oregon evidence rules, including the full text of the rules, official legislative commentary, and insightful commentary by Prof. Kirkpatrick. Also included is the full text of the Federal Rules of Evidence. The publication provides quick access to supporting authority and detailed analysis to aid in developing winning courtroom strategies. Ideal for lawyers, judges, and law students alike, this well-organized work delivers clear insight into evidentiary issues, pinpoints hidden aspects of rules, and cites more than 1,100 cases to illustrate important points. Be sure to use the same evidence book the judge is using!\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780327168836\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0327168838\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 1714,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Law\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.4.4.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=6CPa3Ill7p0C&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=6CPa3Ill7p0C&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=6CPa3Ill7p0C&printsec=frontcover&dq=c&hl=&cd=7&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=6CPa3Ill7p0C&dq=c&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Oregon_Evidence.html?hl=&id=6CPa3Ill7p0C\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Oregon_Evidence-sample-epub.acsm?id=6CPa3Ill7p0C&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Oregon_Evidence-sample-pdf.acsm?id=6CPa3Ill7p0C&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=6CPa3Ill7p0C&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Ideal for lawyers, judges, and law students alike, this well-organized work delivers clear insight into evidentiary issues, pinpoints hidden aspects of rules, and cites more than 1,100 cases to illustrate important points.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 78,\n    \"etag\": \"jRduX54gKeE\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/CEc2WsZkxUsC\",\n    \"volumeInfo\": {\n      \"title\": \"Programming In C\",\n      \"authors\": [\"D Ravichandran\"],\n      \"publisher\": \"New Age International\",\n      \"publishedDate\": \"1996\",\n      \"description\": \"It Introduces The C Programming Language To Both The Computer Novices And To The Advanced Software Engineers In A Well Organized And Systematic Manner. It Does Not Assume Any Preliminary Knowledge Of Computer Programming Of A Reader. It Covers Almost All Topics With Numerous Illustrative Examples And Well Graded Problems. Some Of The Chapters Such As Pointers, Preprocessors, Structures, Unions And The File Operations Are Thoroughly Discussed With Suitable Number Of Examples. The Source Code Of The Editor Package Has Been Included As An Appendix Of The Book.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"8122407854\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9788122407853\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 416,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"C (Computer program language)\"],\n      \"averageRating\": 4,\n      \"ratingsCount\": 3,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.3.6.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=CEc2WsZkxUsC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=CEc2WsZkxUsC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=CEc2WsZkxUsC&printsec=frontcover&dq=c&hl=&cd=8&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=CEc2WsZkxUsC&dq=c&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Programming_In_C.html?hl=&id=CEc2WsZkxUsC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Programming_In_C-sample-pdf.acsm?id=CEc2WsZkxUsC&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=CEc2WsZkxUsC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Some Of The Chapters Such As Pointers, Preprocessors, Structures, Unions And The File Operations Are Thoroughly Discussed With Suitable Number Of Examples. The Source Code Of The Editor Package Has Been Included As An Appendix Of The Book.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 79,\n    \"etag\": \"QAfgPzROhyc\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/-pH7RT-VWjsC\",\n    \"volumeInfo\": {\n      \"title\": \"21st Century C\",\n      \"subtitle\": \"C Tips from the New School\",\n      \"authors\": [\"Ben Klemens\"],\n      \"publisher\": \"\\\"O'Reilly Media, Inc.\\\"\",\n      \"publishedDate\": \"2012-10-15\",\n      \"description\": \"Throw out your old ideas about C and get to know a programming language that’s substantially outgrown its origins. With this revised edition of 21st Century C, you’ll discover up-to-date techniques missing from other C tutorials, whether you’re new to the language or just getting reacquainted. C isn’t just the foundation of modern programming languages; it is a modern language, ideal for writing efficient, state-of-the-art applications. Get past idioms that made sense on mainframes and learn the tools you need to work with this evolved and aggressively simple language. No matter what programming language you currently favor, you’ll quickly see that 21st century C rocks. Set up a C programming environment with shell facilities, makefiles, text editors, debuggers, and memory checkers Use Autotools, C’s de facto cross-platform package manager Learn about the problematic C concepts too useful to discard Solve C’s string-building problems with C-standard functions Use modern syntactic features for functions that take structured inputs Build high-level, object-based libraries and programs Perform advanced math, talk to internet servers, and run databases with existing C libraries This edition also includes new material on concurrent threads, virtual tables, C99 numeric types, and other features.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781449344665\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1449344666\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 297,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=-pH7RT-VWjsC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=-pH7RT-VWjsC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=-pH7RT-VWjsC&pg=PP1&dq=c&hl=&cd=9&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=-pH7RT-VWjsC&dq=c&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/21st_Century_C.html?hl=&id=-pH7RT-VWjsC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=-pH7RT-VWjsC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"With this revised edition of 21st Century C, you’ll discover up-to-date techniques missing from other C tutorials, whether you’re new to the language or just getting reacquainted.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 80,\n    \"etag\": \"Dxr0Ae0FlOs\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/LZbx-i1S2CoC\",\n    \"volumeInfo\": {\n      \"title\": \"A Book on C\",\n      \"subtitle\": \"Programming in C\",\n      \"authors\": [\"Al Kelley\", \"Ira Pohl\"],\n      \"publisher\": \"Benjamin-Cummings Publishing Company\",\n      \"publishedDate\": \"1990\",\n      \"description\": \"The authors provide clear examples and thorough explanations of every feature in the C language. They teach C vis-a-vis the UNIX operating system. A reference and tutorial to the C programming language. Annotation copyrighted by Book News, Inc., Portland, OR\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0805300600\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780805300604\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 548,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"C# (Computer program language)\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.3.1.0.preview.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=LZbx-i1S2CoC&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=LZbx-i1S2CoC&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=LZbx-i1S2CoC&q=c&dq=c&hl=&cd=10&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=LZbx-i1S2CoC&dq=c&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/A_Book_on_C.html?hl=&id=LZbx-i1S2CoC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=LZbx-i1S2CoC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The authors provide clear examples and thorough explanations of every feature in the C language.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 81,\n    \"etag\": \"Yo5r0+qCXos\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/1y8NEAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"SwiftUI Essentials - iOS 14 Edition\",\n      \"subtitle\": \"Learn to Develop iOS Apps Using SwiftUI, Swift 5 and Xcode 12\",\n      \"authors\": [\"Neil Smyth\"],\n      \"publisher\": \"eBookFrenzy\",\n      \"publishedDate\": \"2020-12-07\",\n      \"description\": \"The goal of this book is to teach the skills necessary to build iOS 14 applications using SwiftUI, Xcode 12 and the Swift 5.3 programming language. Beginning with the basics, this book provides an outline of the steps necessary to set up an iOS development environment together with an introduction to the use of Swift Playgrounds to learn and experiment with Swift. The book also includes in-depth chapters introducing the Swift 5.3 programming language including data types, control flow, functions, object-oriented programming, property wrappers and error handling. An introduction to the key concepts of SwiftUI and project architecture is followed by a guided tour of Xcode in SwiftUI development mode. The book also covers the creation of custom SwiftUI views and explains how these views are combined to create user interface layouts including the use of stacks, frames and forms. Other topics covered include data handling using state properties in addition to observable, state and environment objects, as are key user interface design concepts such as modifiers, lists, tabbed views, context menus, user interface navigation, and outline groups. The book also includes chapters covering graphics drawing, user interface animation, view transitions and gesture handling, WidgetKit, document-based apps and SiriKit integration. Chapters are also provided explaining how to integrate SwiftUI views into existing UIKit-based projects and explains the integration of UIKit code into SwiftUI. Finally, the book explains how to package up a completed app and upload it to the App Store for publication. Along the way, the topics covered in the book are put into practice through detailed tutorials, the source code for which is also available for download. The aim of this book, therefore, is to teach you the skills necessary to build your own apps for iOS 14 using SwiftUI. Assuming you are ready to download the iOS 14 SDK and Xcode 12 and have an Apple Mac system you are ready to get started.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781951442279\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"195144227X\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 492,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.1.1.0.preview.2\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=1y8NEAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=1y8NEAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=1y8NEAAAQBAJ&printsec=frontcover&dq=swiftui&hl=&cd=1&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=1y8NEAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=1y8NEAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 3205.16,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 3205.16,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=1y8NEAAAQBAJ&rdid=book-1y8NEAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 3205160000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 3205160000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/SwiftUI_Essentials_iOS_14_Edition-sample-epub.acsm?id=1y8NEAAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=1y8NEAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The goal of this book is to teach the skills necessary to build iOS 14 applications using SwiftUI, Xcode 12 and the Swift 5.3 programming language.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 82,\n    \"etag\": \"n03d7VEb08Q\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/2qELEAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"SwiftUI Projects\",\n      \"subtitle\": \"Build six real-world, cross-platform mobile applications using Swift, Xcode 12, and SwiftUI\",\n      \"authors\": [\"Craig Clayton\"],\n      \"publisher\": \"Packt Publishing Ltd\",\n      \"publishedDate\": \"2020-12-11\",\n      \"description\": \"Learn SwiftUI by designing and building complex user interfaces for watchOS, iPadOS, and iOS with the help of projects including a financial app, a sports news app, and a POS system Key Features Learn SwiftUI with the help of practical cross-platform development projects Understand the design considerations for building apps for different devices such as Apple Watch, iPhone, and iPad using SwiftUI's latest features Work with advanced SwiftUI layout features, including SF Symbols, SwiftUI grids, and forms in SwiftUI Book Description Released by Apple during WWDC 2019, SwiftUI provides an innovative and exceptionally simple way to build user interfaces for all Apple platforms with the power of Swift. This practical guide involves six real-world projects built from scratch, with two projects each for iPhone, iPad, and watchOS, built using Swift programming and Xcode. Starting with the basics of SwiftUI, you'll gradually delve into building these projects. You'll learn the fundamental concepts of SwiftUI by working with views, layouts, and dynamic types. This SwiftUI book will also help you get hands-on with declarative programming for building apps that can run on multiple platforms. Throughout the book, you'll work on a chart app (watchOS), NBA draft app (watchOS), financial app (iPhone), Tesla form app (iPhone), sports news app (iPad), and shoe point-of-sale system (iPad), which will enable you to understand the core elements of a SwiftUI project. By the end of the book, you'll have built fully functional projects for multiple platforms and gained the knowledge required to become a professional SwiftUI developer. What you will learn Understand the basics of SwiftUI by building an app with watchOS Work with UI elements such as text, lists, and buttons Create a video player in UIKit and import it into SwiftUI Discover how to leverage an API and parse JSON in your app using Combine Structure your app to use Combine and state-driven features Create flexible layouts on iPad Who this book is for SwiftUI Projects is intended for anyone who is already comfortable with Swift. We do not cover Swift topics in detail, so you need to be familiar with these already. All of the SwiftUI topics are taught as if this is the first time you've learned them and will gradually get more difficult.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781839218293\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1839218290\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 410,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.2.2.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=2qELEAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=2qELEAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=2qELEAAAQBAJ&printsec=frontcover&dq=swiftui&hl=&cd=2&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=2qELEAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=2qELEAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 2371.79,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 2371.79,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=2qELEAAAQBAJ&rdid=book-2qELEAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 2371790000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 2371790000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=2qELEAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"What you will learnUnderstand the basics of SwiftUI by building an app with watchOSWork with UI elements such as text, lists, and buttonsCreate a video player in UIKit and import it into SwiftUIDiscover how to leverage an API and parse JSON ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 83,\n    \"etag\": \"3/zm1RGG+XQ\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/G-69DwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"SwiftUI for Absolute Beginners\",\n      \"subtitle\": \"Program Controls and Views for iPhone, iPad, and Mac Apps\",\n      \"authors\": [\"Jayant Varma\"],\n      \"publisher\": \"Apress\",\n      \"publishedDate\": \"2019-11-12\",\n      \"description\": \"Dive into the world of developing for all of Apple platforms with SwiftUI, Apple’s new framework that makes writing applications faster and easier with fewer lines of code. This book teaches the basics of SwiftUI to help you write amazing native applications using XCode. For developers already familiar with ReactNative, this book reviews the declarative, state-based DSL that manages the UI and updates it automatically will feel just like what they’re used to. You'll see how SwiftUI reduces the number of lines of code required to achieve the same effects by over 60% and provides a much better experience. Like the announcement of Swift in 2014, SwiftUI is expected to fundamentally change the way developing programmers approach coding iPhone and iPad applications. This book examines how SwiftUI lowers the entry barrier for developers to write amazing cross-platform applications for iOS and iPadOS as well as WatchOS, Mac OS, and TVOS. What You'll LearnWrite code in the new SwiftUI syntax Combine views to arrange them for an application Add gestures and controls to an applicationWho This Book Is For Anyone who wants to learn to develop apps for the Mac, iPhone, iPad, and Apple Watch using the Swift programming language. No previous programming experience is necessary.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781484255162\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"148425516X\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 189,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.1.1.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=G-69DwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=G-69DwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=G-69DwAAQBAJ&printsec=frontcover&dq=swiftui&hl=&cd=3&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=G-69DwAAQBAJ&dq=swiftui&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/SwiftUI_for_Absolute_Beginners.html?hl=&id=G-69DwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/SwiftUI_for_Absolute_Beginners-sample-epub.acsm?id=G-69DwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/SwiftUI_for_Absolute_Beginners-sample-pdf.acsm?id=G-69DwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=G-69DwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book teaches the basics of SwiftUI to help you write amazing native applications using XCode.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 84,\n    \"etag\": \"02awW/BBUkM\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/t1TbDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Learn SwiftUI\",\n      \"subtitle\": \"An introductory guide to creating intuitive cross-platform user interfaces using Swift 5\",\n      \"authors\": [\"Chris Barker\"],\n      \"publisher\": \"Packt Publishing Ltd\",\n      \"publishedDate\": \"2020-04-03\",\n      \"description\": \"Get to grips with Apple’s new SwiftUI framework for creating robust UIs for iOS and iPadOS using Swift programming Key FeaturesUse SwiftUI for building dynamic apps for Apple devices from scratchUnderstand declarative syntax in cross-platform development and how states work within SwiftUILearn to develop watchOS apps by reusing SwiftUI codeBook Description SwiftUI is the new and powerful interface toolkit that lets you design and build iOS, iPadOS, and macOS apps using declarative syntax. It is a powerful way to develop the UI elements of applications, which would normally be tightly coupled to application logic. Learn SwiftUI will get you up to speed with the framework and cross-device UI development in no time. Complete with detailed explanations and practical examples, this easy-to-follow guide will teach you the fundamentals of the SwiftUI toolkit. You'll learn how to build a powerful iOS and iPadOS application that can be reused for deployment on watchOS. As you progress, you'll delve into UI and unit testing in iOS apps, along with learning how to test your SwiftUI code for multiple devices. The book will also show you how to integrate SwiftUI features such as data binding and network requests into your current application logic. By the end of this book, you will have learned how to build a cross-device application using the SwiftUI framework and Swift programming. What you will learnExplore the fundamentals of SwiftUI and compare it with existing UI frameworksWrite SwiftUI syntax and understand what should and shouldn't be included in SwiftUI's layerAdd text and images to a SwiftUI view and decorate them using SwiftUI's modifiersCreate basic forms, and use camera and photo library functions to add images to themUnderstand the core concepts of Maps in iOS apps and add a MapView in SwiftUIDesign extensions within your existing apps to run them on watchOSHandle networking calls in SwiftUI to retrieve data from external sourcesWho this book is for This SwiftUI book helps any mobile app developer looking to understand the fundamentals of the new SwiftUI framework along with the benefits of cross-device development. A solid understanding of iOS and macOS app development, along with some knowledge of the Swift programming language, will be beneficial. Basic programming knowledge is essential to grasp the concepts covered in the book effectively.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781839210877\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1839210877\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 316,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.2.2.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=t1TbDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=t1TbDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=t1TbDwAAQBAJ&pg=PP1&dq=swiftui&hl=&cd=4&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=t1TbDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=t1TbDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 2020.15,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 2020.15,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=t1TbDwAAQBAJ&rdid=book-t1TbDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 2020150000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 2020150000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=t1TbDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"By the end of this book, you will have learned how to build a cross-device application using the SwiftUI framework and Swift programming.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 85,\n    \"etag\": \"9G/w18LIrF4\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/4jzADwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"SwiftUI Essentials - iOS Edition\",\n      \"authors\": [\"Neil Smyth\"],\n      \"publisher\": \"Payload Media\",\n      \"publishedDate\": \"2019-11-26\",\n      \"description\": \"The goal of this book is to teach the skills necessary to build iOS 13 applications using SwiftUI, Xcode 11 and the Swift 5 programming language. Beginning with the basics, this book provides an outline of the steps necessary to set up an iOS development environment together with an introduction to the use of Swift Playgrounds to learn and experiment with Swift. The book also includes in depth chapters introducing the Swift 5 programming language including data types, control flow, functions, object-oriented programming, property wrappers and error handling. An introduction to the key concepts of SwiftUI and project architecture is followed by a guided tour of Xcode in SwiftUI development mode. The book also covers the creation of custom SwiftUI views and explains how these views are combined to create user interface layouts including the use of stacks, frames and forms. Other topics covered include data handling using state properties and both observable and environment objects, as are key user interface design concepts such as modifiers, lists, tabbed views, context menus and user interface navigation. The book also includes chapters covering graphics drawing, user interface animation, view transitions and gesture handling. Chapters are also provided explaining how to integrate SwiftUI views into existing UIKit-based projects and explains the integration of UIKit code into SwiftUI. Finally, the book explains how to package up a completed app and upload it to the App Store for publication. Along the way, the topics covered in the book are put into practice through detailed tutorials, the source code for which is also available for download. The aim of this book, therefore, is to teach you the skills necessary to build your own apps for iOS 13 using SwiftUI. Assuming you are ready to download the iOS 13 SDK and Xcode 11 and have an Intel-based Mac you are ready to get started.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781951442064\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1951442067\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 348,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.1.1.0.preview.2\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=4jzADwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=4jzADwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=4jzADwAAQBAJ&printsec=frontcover&dq=swiftui&hl=&cd=5&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=4jzADwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=4jzADwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 3205.16,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 3205.16,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=4jzADwAAQBAJ&rdid=book-4jzADwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 3205160000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 3205160000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/SwiftUI_Essentials_iOS_Edition-sample-epub.acsm?id=4jzADwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=4jzADwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The goal of this book is to teach the skills necessary to build iOS 13 applications using SwiftUI, Xcode 11 and the Swift 5 programming language.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 86,\n    \"etag\": \"q6rcSHZv2Oc\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/Uj9ZEAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"iOS Development with SwiftUI\",\n      \"subtitle\": \"Acquire the Knowledge and Skills to Create iOS Applications Using SwiftUI, Xcode 13, and UIKit (English Edition)\",\n      \"authors\": [\"Mukesh Sharma\"],\n      \"publisher\": \"BPB Publications\",\n      \"publishedDate\": \"2022-01-13\",\n      \"description\": \"Learn iOS Programming Using SwiftUI Framework and Xcode KEY FEATURES ● Demonstrates numerous examples using the SwiftUI concepts. ● A step-by-step walkthrough of the lifecycle of an Xcode 13 project. ● Access to SwiftUI development challenges and expert solutions. DESCRIPTION ‘iOS Development with SwiftUI' focuses on teaching and practicing the use of SwiftUI for developing iOS applications that leverage the latest iOS features. To begin, the book covers the fundamentals of SwiftUI and its core functionalities and how to write UI without having to worry much about it. It explains the fundamental Swift syntax, data types, control statements, functions, classes, and structures, as well as methods, protocols, and closures. The book covers expert tips for adding animations with a single line of code, as well as some SwiftUI transitions. Then, through a dissection of an iOS application, it teaches how to create APIs and implement API calls. It also covers widgets, App Clip development, web banner creation, and how the app communicates with the App Clip. The book will help demonstrate how to integrate XCTest into your application for both UI and unit testing and how to write your test case and prepare the application for general use. At the end of the book, you will be able to write an iOS application in SwiftUI and gain some experience to call API or web services using combine. WHAT YOU WILL LEARN ● Learn to use the feature 'Combine' in the application and call various APIs. ● Understand data flow and stacks, including VStack, HStack, and ZStack. ● Understand and practice how to share the data between the app and extensions. ● Work with the latest iOS features such as App Clip and Widgets. ● Become well versed with Xcode 13 and UIKit while using it with SwiftUI. WHO THIS BOOK IS FOR This book caters to SwiftUI developers, iOS developers, and students who want to build good proficiency in the entire process of iOS application development. Knowing basic programming concepts would be good, although not mandatory. TABLE OF CONTENTS 1. What is SwiftUI 2. Basics of Swift 3. Anatomy of the Basics of SwiftUI Projects 4. Introduction to SwiftUI Basic Controls and User Input 5. State Properties, Observable, Environment Objects, and Combine Framework 6. Stacks of Views Using VStack, HStack, And ZStack 7. Work with Lists and Navigation. 8. SwiftUI with UIKit 9. UIKit with SwiftUI 10. UI Logic of the MVVM Architecture and Networking 11. Drawing in SwiftUI 12. Animations and Transitions in SwiftUI 13. App Clip 14. Widgets\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9789391030988\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"939103098X\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 418,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 2,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.1.1.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=Uj9ZEAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=Uj9ZEAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=Uj9ZEAAAQBAJ&printsec=frontcover&dq=swiftui&hl=&cd=6&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=Uj9ZEAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=Uj9ZEAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 848.42,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 424.21,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=Uj9ZEAAAQBAJ&rdid=book-Uj9ZEAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 848420000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 424210000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/iOS_Development_with_SwiftUI-sample-epub.acsm?id=Uj9ZEAAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/iOS_Development_with_SwiftUI-sample-pdf.acsm?id=Uj9ZEAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=Uj9ZEAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"WHO THIS BOOK IS FOR This book caters to SwiftUI developers, iOS developers, and students who want to build good proficiency in the entire process of iOS application development.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 87,\n    \"etag\": \"MsOJT+xM8aM\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/yzakzgEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Beginning iPhone Development with SwiftUI\",\n      \"subtitle\": \"Exploring the iOS SDK\",\n      \"authors\": [\"Wally Wang\"],\n      \"publisher\": \"Apress\",\n      \"publishedDate\": \"2022-01-02\",\n      \"description\": \"Tame the power of Apple’s new user interface toolkit, SwiftUI. Integrate all the interface elements iOS users have come to know and love, such as buttons, switches, pickers, toolbars, and sliders with less effort and more efficiency. You’ll also learn about touch gestures, lists, and grids for displaying data on a user interface. And you’ll even go beyond those simple controls to liven up any user interface with simple animation techniques. Spice your designs up with movement, scaling, and resizing, including spring and bounce effects! You’ll start with basic designs and then explore more sophisticated ones. Assuming little or no working knowledge of the Swift programming language, and written in a friendly, easy-to-follow style, this book offers a comprehensive course in iPhone and iPad programming. The book starts with a gentle introduction to using Xcode and then guides you though the creation of your first simple application. You’ll create user interfaces for that application using multiple screens in two different ways—using Navigation View and Tab Bars. Beginning iPhone Development with Swift UI covers the basic information you need to get up and running quickly to turn your great ideas into working iOS apps with stunningly interactive interfaces using SwiftUI. Once you’re ready, move on to Pro iPhone Development with Swift UI to learn more of the unique aspects of iOS programming and the Swift language. What You Will Learn Discover the basics of designing a user interface using SwiftUI Build cool, crisp user interfaces that use animation Display data in lists and outlines Organize user interfaces in forms and groups Who This Book is For Aspiring iOS app developers new to the Apple Swift programming language and/or the iOS SDK.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1484278178\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781484278178\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 466,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=yzakzgEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=yzakzgEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=yzakzgEACAAJ&dq=swiftui&hl=&cd=7&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=yzakzgEACAAJ&dq=swiftui&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Beginning_iPhone_Development_with_SwiftU.html?hl=&id=yzakzgEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=yzakzgEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Assuming little or no working knowledge of the Swift programming language, and written in a friendly, easy-to-follow style, this book offers a comprehensive course in iPhone and iPad programming.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 88,\n    \"etag\": \"VVXx0EIc3lA\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/aVkezgEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Thinking in SwiftUI\",\n      \"authors\": [\"Florian Kugler\", \"Chris Eidhof\"],\n      \"publishedDate\": \"2020-03-16\",\n      \"description\": \"SwiftUI is radically different from UIKit. So in this short book, we will help you build a mental model of how SwiftUI works. We explain the most important concepts in detail, and we follow them up with exercises to give you hands-on experience.SwiftUI is still a young framework, and as such, we don't believe it's appropriate to write a complete reference. Instead, this book focuses on transitioning your way of thinking from the object-oriented style of UIKit to the declarative style of SwiftUI.Thinking in SwiftUI is geared toward readers who are familiar with Swift and who have experience building apps in frameworks like UIKit.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9798626292411\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 168,\n      \"printType\": \"BOOK\",\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=aVkezgEACAAJ&dq=swiftui&hl=&cd=8&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=aVkezgEACAAJ&dq=swiftui&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Thinking_in_SwiftUI.html?hl=&id=aVkezgEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=aVkezgEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Instead, this book focuses on transitioning your way of thinking from the object-oriented style of UIKit to the declarative style of SwiftUI.Thinking in SwiftUI is geared toward readers who are familiar with Swift and who have experience ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 89,\n    \"etag\": \"JkBKgmYv1TI\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/mJ1jEAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"SwiftUI for Masterminds 2nd Edition 2022\",\n      \"subtitle\": \"How to take advantage of Swift 5.5 and SwiftUI 3 to create insanely great apps for iPhones, iPads, and Macs\",\n      \"authors\": [\"J.D Gauchat\"],\n      \"publisher\": \"J.D. Gauchat\",\n      \"publishedDate\": \"2022-03-10\",\n      \"description\": \"Learn how to create apps for iOS 15 and macOS Monterey with Swift 5.5 and the SwiftUI 3 framework. SwiftUI for Masterminds is a complete course on how to create professional applications for iPhones, iPads and Mac computers. After reading this book, you will know how to program in Swift, how to design user interfaces with SwiftUI, and how to work with the most powerful frameworks available for app development. In this book we teach you how to build insanely great apps from scratch. Each chapter explores basic and complex concepts; from computer programming and the Swift programming language to database storage, iCloud data sharing, and everything you need to know to develop applications for Apple devices. The information is supported by practical examples that gradually introduce the technologies involved and make them accessible to everyone. SwiftUI for Masterminds was designed to prepare you for the future and was written for the genius in you, for Masterminds. Introduction to Swift 5.5 Swift Paradigm Swift Concurrency Declarative User Interfaces SwiftUI Framework Combine Framework Layout and Navigation Scroll Views UIKit in SwiftUI Lists and Grids Maps Graphics and Animations Files Archiving Core Data iCloud CloudKit Camera and Photo Library Video View Web View Gesture Recognizers Drag & Drop Timers Notifications Error Handling ...and more! iOS and Mac development with iOS 15, Xcode 13, Swift 5.5 and SwiftUI 3\",\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 800,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=mJ1jEAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=mJ1jEAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=mJ1jEAAAQBAJ&printsec=frontcover&dq=swiftui&hl=&cd=9&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=mJ1jEAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=mJ1jEAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 970.69,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 485.34,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=mJ1jEAAAQBAJ&rdid=book-mJ1jEAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 970690000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 485340000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/SwiftUI_for_Masterminds_2nd_Edition_2022-sample-epub.acsm?id=mJ1jEAAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/SwiftUI_for_Masterminds_2nd_Edition_2022-sample-pdf.acsm?id=mJ1jEAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=mJ1jEAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"After reading this book, you will know how to program in Swift, how to design user interfaces with SwiftUI, and how to work with the most powerful frameworks available for app development.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 90,\n    \"etag\": \"oaBzqODRl7I\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/hfL0DwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"SwiftUI For Dummies\",\n      \"authors\": [\"Wei-Meng Lee\"],\n      \"publisher\": \"John Wiley & Sons\",\n      \"publishedDate\": \"2020-09-09\",\n      \"description\": \"The simplest way to create world-class apps Have a unique app idea but worried you don’t quite have the coding skills to build it? Good news: You can stop fretting about someone beating you to market with the same idea and start work right now using SwiftUI. SwiftUI is a gateway app development framework that has become one of the best ways for fledgling developers to get iOS apps off the ground without having to become a coding expert overnight. SwiftUI For Dummies makes that process even faster, providing a friendly introduction to the SwiftUI and Swift programming language and helping you feel right at home creating and building with playgrounds. The book also covers the frameworks and APIs that make it so easy to create smooth, intuitive interfaces—just dive right in and have fun! Combine projects into workspaces Employ Xcode editing tools Use constants and variables Test your code on iOS Simulator Time is of the essence, and with SwiftUI For Dummies, it’s also on your side. Get going with this friendly guide today, and you’ll be celebrating the successful launch of your app way before you thought possible!\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781119652687\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1119652685\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 416,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.4.1.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=hfL0DwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=hfL0DwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=hfL0DwAAQBAJ&printsec=frontcover&dq=swiftui&hl=&cd=10&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=hfL0DwAAQBAJ&dq=swiftui&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/SwiftUI_For_Dummies.html?hl=&id=hfL0DwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/SwiftUI_For_Dummies-sample-pdf.acsm?id=hfL0DwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=hfL0DwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Get going with this friendly guide today, and you’ll be celebrating the successful launch of your app way before you thought possible!\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 91,\n    \"etag\": \"qYbPaxeAPFA\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/MTIIEAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Block Chain & Crypto Currencies\",\n      \"authors\": [\"Anshul Kaushik\"],\n      \"publisher\": \"KHANNA PUBLISHING HOUSE\",\n      \"description\": \"This book is the author's attempt to peep into the world of Block Chain & Crypto Currencies without getting into complex algorithms and mathematics. Both the technical and the transactional aspects are explained with help of simple metaphors for all classes of readers. For curious readers who frequently encounter \\\"Bit Coin\\\", \\\"Block Chain\\\" & Crypto Currencies\\\" in their daily lives without a clue, this book can be considered as an authentic introductory text. Prospective investors can find this book useful in making decisions for choosing a suitable currency for investments. Readers who have already invested will find enough literature to understand the technical and functional aspects of resources for its readers to explore. This text also introduce readers with other popular crypto currencies Monero, DASH, Lite Coin, Etherium & Ripple.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9789386173720\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"9386173727\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 128,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Antiques & Collectibles\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 15,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=MTIIEAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=MTIIEAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=MTIIEAAAQBAJ&printsec=frontcover&dq=crypto&hl=&cd=1&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=MTIIEAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=MTIIEAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 234.82,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 164.37,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=MTIIEAAAQBAJ&rdid=book-MTIIEAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 234820000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 164370000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Block_Chain_Crypto_Currencies-sample-pdf.acsm?id=MTIIEAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=MTIIEAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book is the author&#39;s attempt to peep into the world of Block Chain &amp; Crypto Currencies without getting into complex algorithms and mathematics.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 92,\n    \"etag\": \"NE65wc4G2OA\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/7SFkDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Crypto Book\",\n      \"subtitle\": \"How to Invest Safely in Bitcoin and Other Cryptocurrencies\",\n      \"authors\": [\"Siam Kidd\"],\n      \"publisher\": \"Hachette UK\",\n      \"publishedDate\": \"2018-10-04\",\n      \"description\": \"THE CRYPTO GOLD RUSH IS ONLY JUST BEGINNING... This book is for everyone who has heard of bitcoin and cryptocurrencies, wants to learn more - and make money on the back of it. Believe it or not, if you bought $1,000 of Bitcoin in 2010, you would now be worth over $220m! This has left the public stunned. People around the world are asking \\\"What on earth is a crypto?\\\", \\\"Should I buy some Bitcoin?\\\", \\\"How do I even buy some cryptocurrencies?\\\", \\\"Isn't this just one big bubble?\\\" and more. Siam Kidd is one of the world's leading authorities on how to safely invest in cryptocurrencies. He runs The Realistic Trader, home to the world's best crypto investing course for beginners with a community of followers from around the globe. He created this book to lift up the crypto bonnet in order to reveal, explain and illustrate everything you really need to know about this fascinating market. You'll learn: * What all this Crypto stuff is * Why it exists * Where this industry is going in the future * How it will positively change your life * The pitfalls and errors every newbie makes * And importantly, how to safely play in this market if you so wish to have a dabble with some risk capital! Blockchain technology and the cryptocurrencies it enables are being described by some people as the biggest thing since the internet, but very few people understand it, or the opportunities it brings. Enter this down-to-earth guide to understanding what cryptocurrencies are, why it matters, and how to make money from them. This book does all that without boring you with mathematics and Geek Speak.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781473693333\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1473693330\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 209,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Business & Economics\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 8,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.6.5.0.preview.2\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=7SFkDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=7SFkDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=7SFkDwAAQBAJ&pg=PP1&dq=crypto&hl=&cd=2&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=7SFkDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=7SFkDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 566.4,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 283.2,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=7SFkDwAAQBAJ&rdid=book-7SFkDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 566400000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 283200000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Crypto_Book-sample-epub.acsm?id=7SFkDwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=7SFkDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Enter this down-to-earth guide to understanding what cryptocurrencies are, why it matters, and how to make money from them. This book does all that without boring you with mathematics and Geek Speak.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 93,\n    \"etag\": \"g763LMOmMas\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/XmIPEAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"An Introduction to Cryptocurrencies\",\n      \"subtitle\": \"The Crypto Market Ecosystem\",\n      \"authors\": [\"Nikos Daskalakis\", \"Panagiotis Georgitseas\"],\n      \"publisher\": \"Routledge\",\n      \"publishedDate\": \"2020-05-28\",\n      \"description\": \"The Crypto Market Ecosystem has emerged as the most profound application of blockchain technology in finance. This textbook adopts an integrated approach, linking traditional functions of the current financial system (payments, traded assets, fundraising, regulation) with the respective functions in the crypto market, in order to facilitate the reader in their understanding of how this new ecosystem works. The book walks the reader through the main features of the blockchain technology, the definitions, classifications, and distinct characteristics of cryptocurrencies and tokens, how these are evaluated, how funds are raised in the cryptocurrency ecosystem (ICOs), and what the main regulatory approaches are. The authors have compiled more than 100 sources from different sub-fields of economics, finance, and regulation to create a coherent textbook that provides the reader with a clear and easily understandable picture of the new world of encrypted finance and its applications. The book is primarily aimed at business and finance students, who already have an understanding of the basic principles of how the financial system works, but also targets a more general readership, by virtue of its broader scope and engaging and accessible tone.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781000077704\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1000077705\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 88,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Business & Economics\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 7,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.1.1.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=XmIPEAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=XmIPEAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=XmIPEAAAQBAJ&printsec=frontcover&dq=crypto&hl=&cd=3&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=XmIPEAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=XmIPEAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 4146.52,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 4146.52,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=XmIPEAAAQBAJ&rdid=book-XmIPEAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 4146520000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 4146520000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/An_Introduction_to_Cryptocurrencies-sample-pdf.acsm?id=XmIPEAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=XmIPEAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The book walks the reader through the main features of the blockchain technology, the definitions, classifications, and distinct characteristics of cryptocurrencies and tokens, how these are evaluated, how funds are raised in the ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 94,\n    \"etag\": \"v7591khDABA\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/u6SXDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Crypto Trader\",\n      \"authors\": [\"Glen Goodman\"],\n      \"publisher\": \"Harriman House Limited\",\n      \"publishedDate\": \"2019-05-20\",\n      \"description\": \"The real-life trades and strategies of a successful cryptocurrency trader Glen Goodman's goal was to retire young and wealthy, escaping the daily grind. He taught himself how to trade everything from shares to Bitcoin and made enough money to realise his dream and quit his day job while still in his 30s. In The Crypto Trader, Glen will show you exactly how he made huge profits trading Bitcoin, Ethereum, Ripple and more, so that you can do it too - without risking your shirt. Glen publicly called the top of the market in December 2017 and took his profits before the crash. But there are still tons of trading opportunities out there and Glen continues to trade crypto successfully. Inside you'll see his multi-hundred-percent gains on a raft of cryptocurrencies and learn how he builds his profits and holds onto them. Glen reveals all his trading strategies, the proven methods and rules that make him one of the most followed traders in the world on social media. (He is also frequently interviewed by the BBC, Forbes and LBC, and is a contributing expert on cryptocurrency at the London School of Economics.) It took Glen years of study and trial and error to become a consistent money maker. He learnt his trading lessons the hard way - so you don't have to. With The Crypto Trader by your side, you'll learn how to grab opportunities, make money - and keep it.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780857197184\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0857197185\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 250,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Business & Economics\"],\n      \"averageRating\": 3,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.1.1.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=u6SXDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=u6SXDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=u6SXDwAAQBAJ&printsec=frontcover&dq=crypto&hl=&cd=4&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=u6SXDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=u6SXDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 1759.72,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 1759.72,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=u6SXDwAAQBAJ&rdid=book-u6SXDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 1759720000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 1759720000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Crypto_Trader-sample-epub.acsm?id=u6SXDwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Crypto_Trader-sample-pdf.acsm?id=u6SXDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=u6SXDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"In The Crypto Trader, Glen will show you exactly how he made huge profits trading Bitcoin, Ethereum, Ripple and more, so that you can do it too - without risking your shirt.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 95,\n    \"etag\": \"opUg7jC3/Sg\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/W_aBDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Crypto Economy\",\n      \"subtitle\": \"How Blockchain, Cryptocurrency, and Token-Economy Are Disrupting the Financial World\",\n      \"authors\": [\"Aries Wanlin Wang\"],\n      \"publisher\": \"Simon and Schuster\",\n      \"publishedDate\": \"2018-11-20\",\n      \"description\": \"In late 2008, under the long shadow cast by the most severe economic crisis in generations, a revolutionary new form of currency was quietly being shaped. At the time no one could have predicted that an obscure form of electronic money would in less than a decade prove to be the most important financial innovation of the 21st century—a tool that would spark an entire new economic institution: crypto economy. That once-obscure money was known as Bitcoin, and today it is the highest valued digital coin. And though consumers continue to scramble to cash in on the trending currency, the technology behind Bitcoin known as Blockchain, which allows the currency to bought and sold without regulation by a government, remains a mystery to the public. In Crypto Economy, Aries Wanlin Wang provides the definitive blueprint for understanding how Bitcoin, Blockchain, and other digital technologies are disrupting traditional financial institutions and forever changing the world of commerce.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781510744837\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1510744835\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 148,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Business & Economics\"],\n      \"averageRating\": 4.5,\n      \"ratingsCount\": 7,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.10.8.0.preview.2\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=W_aBDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=W_aBDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=W_aBDwAAQBAJ&printsec=frontcover&dq=crypto&hl=&cd=5&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=W_aBDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=W_aBDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 1008.9,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 504.45,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=W_aBDwAAQBAJ&rdid=book-W_aBDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 1008900000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 504450000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED_FOR_ACCESSIBILITY\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Crypto_Economy-sample-epub.acsm?id=W_aBDwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=W_aBDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"In Crypto Economy, Aries Wanlin Wang provides the definitive blueprint for understanding how Bitcoin, Blockchain, and other digital technologies are disrupting traditional financial institutions and forever changing the world of commerce.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 96,\n    \"etag\": \"N7Yf2HUmXyk\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/vdIHEAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Crypto Asset Investing in the Age of Autonomy\",\n      \"authors\": [\"Jake Ryan\"],\n      \"publisher\": \"John Wiley & Sons\",\n      \"publishedDate\": \"2020-12-22\",\n      \"description\": \"Competition, the drive for efficiency, and continuous improvement ultimately push businesses toward automation and later towards autonomy. If a business can operate without human intervention, it will minimize its operational cost. If Uber can remove the expense of a driver with an autonomous vehicle, it will provide its service cheaper than a competitor who can’t. If an artificially intelligent trading company can search, find, and take advantage of some arbitrage opportunity, then it can profit where its competitors cannot. A business that can analyze and execute in real-time without needing to wait for a human to act, is a business that will be able to take advantage of brief inefficiencies from other markets or businesses. This trend following a thesis that is based on 100 years of proven economic theory. Short-wave economic cycles, those 5- to 10-year cycles, are driven by credit but the long-wave economic cycles, those 50- to 60-year cycles, are driven by technological revolution. We’ve had 5 cycles over the past 200 years with the last wave, the Age of Information & Telecommunications. We've seen evidence that a new cycle has begun. Technological revolutions come by way of a cluster of new innovations. About a decade ago, you started to see AI, robotics and IoT (sensors) delivering on automation. That’s been powerful, but not transformational. It does not force businesses to fundamentally change how they do business. The last piece of the puzzle was cryptocurrency because it allows us to process and transfer economic value without human intervention. Soon, there will be a global race to build autonomous operations. Businesses and organizations without autonomous operations simply will not be able to compete with those that do because … autonomy is the ultimate competitive advantage. Crypto is the mechanism that will accrue value from being the infrastructure for the next digital financial revolution. Crypto Asset Investing lays out a case that we’ve begun a new technological revolution similar to the Internet Age of the 1990’s. Artificial intelligence, the Internet of Things, robotics and cryptocurrency are converging to deliver on a new age, what I call the Age of Autonomy. Understanding the transformation that’s taken place before anyone else can yield enormous investment opportunity. In this book, you’ll learn how and why to invest in crypto assets.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781119705369\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1119705363\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 304,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Business & Economics\"],\n      \"averageRating\": 4.5,\n      \"ratingsCount\": 10,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.1.1.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=vdIHEAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=vdIHEAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=vdIHEAAAQBAJ&printsec=frontcover&dq=crypto&hl=&cd=6&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=vdIHEAAAQBAJ&dq=crypto&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Crypto_Asset_Investing_in_the_Age_of_Aut.html?hl=&id=vdIHEAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Crypto_Asset_Investing_in_the_Age_of_Aut-sample-pdf.acsm?id=vdIHEAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=vdIHEAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This is a solid read that&#39;s completely accessible to the complete novice, yet one that rings true to those who have been in the trenches of this evolution for many years.&quot; —Michael Terpin, Founder, Transform Group; Co-founder, BitAngels; ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 97,\n    \"etag\": \"/z5PPt6XOlg\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/caxVEAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Crypto-Finance, Law and Regulation\",\n      \"subtitle\": \"Governing an Emerging Ecosystem\",\n      \"authors\": [\"Joseph Lee\"],\n      \"publisher\": \"Routledge\",\n      \"publishedDate\": \"2022-01-28\",\n      \"description\": \"Crypto-Finance, Law and Regulation investigates whether crypto-finance will cause a paradigm shift in regulation from a centralised model to a model based on distributed consensus. This book explores the emergence of a decentralised and disintermediated crypto-market and investigates the way in which it can transform the financial markets. It examines three components of the financial market – technology, finance, and the law – and shows how their interrelationship dictates the structure of a crypto-market. It focuses on regulators’ enforcement policies and their jurisdiction over crypto-finance operators and participants. The book also discusses the latest developments in crypto-finance, and the advantages and disadvantages of crypto-currency as an alternative payment product. It also investigates how such a decentralised crypto-finance system can provide access to finance, promote a shared economy, and allow access to justice. By exploring the law, regulation and governance of crypto-finance from a national, regional and global viewpoint, the book provides a fascinating and comprehensive overview of this important topic and will appeal to students, scholars and practitioners interested in regulation, finance and the law.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780429657313\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0429657315\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 272,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Law\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 6,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=caxVEAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=caxVEAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=caxVEAAAQBAJ&printsec=frontcover&dq=crypto&hl=&cd=7&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=caxVEAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=caxVEAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 4734.78,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 4734.78,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=caxVEAAAQBAJ&rdid=book-caxVEAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 4734780000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 4734780000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Crypto_Finance_Law_and_Regulation-sample-epub.acsm?id=caxVEAAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Crypto_Finance_Law_and_Regulation-sample-pdf.acsm?id=caxVEAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=caxVEAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book explores the emergence of a decentralised and disintermediated crypto-market and investigates the way in which it can transform the financial markets.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 98,\n    \"etag\": \"2SeSH2MhYas\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/LiWFDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Crypto Uncovered\",\n      \"subtitle\": \"The Evolution of Bitcoin and the Crypto Currency Marketplace\",\n      \"authors\": [\"Sarah Swammy\", \"Richard Thompson\", \"Marvin Loh\"],\n      \"publisher\": \"Springer\",\n      \"publishedDate\": \"2019-01-24\",\n      \"description\": \"Crypto currency integrated BlockChain under Virtual Scalable Enterprises is a widely debated and earnestly discussed topic in the technology arena. Executives at the largest institutions are calling crypto currency fraudulent while high-level institutional banking professionals are leaving their positions to jump into crypto technology, regulation and investment opportunities as industries advance towards adoption. The narratives on these topics are diametrically opposite and polarizing on both side of the debate. While this debate has many layers from a government regulatory side to social impact to the practicality of everyday use of crypto currencies in developing markets, it is safe to assume that crypto currencies or utility tokens are more than a global phenomenon and are now becoming a working framework for optional modes of business. This book demystifies what crypto currency is, how it is used, and what it means to the consumer, investor, and the future of our global currency marketplace. By providing the historical backdrop to the market, authors Sarah Swammy, Richard Thompson, and Marvin Loh provide a clear definition of what crypto-currencies actually are, how they are being used and by whom, and the unique reasons why they have gone from back street to Main Street almost overnight. The book will also delve into the government’s role in regulating this commerce medium. Lastly, the authors will look at the current global monetary policy and discuss if this type of currency phenomena was a direct result while also examining the potential risk and rewards for investors and the economy.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9783030001353\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"3030001350\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 181,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Business & Economics\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 7,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=LiWFDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=LiWFDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=LiWFDwAAQBAJ&printsec=frontcover&dq=crypto&hl=&cd=8&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=LiWFDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=LiWFDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 3197.8,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 3197.8,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=LiWFDwAAQBAJ&rdid=book-LiWFDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 3197800000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 3197800000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Crypto_Uncovered-sample-epub.acsm?id=LiWFDwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Crypto_Uncovered-sample-pdf.acsm?id=LiWFDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=LiWFDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This is important work that will help diverse communities such as HBCUs lead in the development of these technologies to build wealth.” —Chad Womack, Senior Director, STEM Initiatives and Special Projects, UNCF\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 99,\n    \"etag\": \"sl/W/WuwmPU\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/3doMEAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Crypto Wars\",\n      \"subtitle\": \"The Fight for Privacy in the Digital Age: A Political History of Digital Encryption\",\n      \"authors\": [\"Craig Jarvis\"],\n      \"publisher\": \"CRC Press\",\n      \"publishedDate\": \"2020-12-30\",\n      \"description\": \"The crypto wars have raged for half a century. In the 1970s, digital privacy activists prophesied the emergence of an Orwellian State, made possible by computer-mediated mass surveillance. The antidote: digital encryption. The U.S. government warned encryption would not only prevent surveillance of law-abiding citizens, but of criminals, terrorists, and foreign spies, ushering in a rival dystopian future. Both parties fought to defend the citizenry from what they believed the most perilous threats. The government tried to control encryption to preserve its surveillance capabilities; privacy activists armed citizens with cryptographic tools and challenged encryption regulations in the courts. No clear victor has emerged from the crypto wars. Governments have failed to forge a framework to govern the, at times conflicting, civil liberties of privacy and security in the digital age—an age when such liberties have an outsized influence on the citizen–State power balance. Solving this problem is more urgent than ever. Digital privacy will be one of the most important factors in how we architect twenty-first century societies—its management is paramount to our stewardship of democracy for future generations. We must elevate the quality of debate on cryptography, on how we govern security and privacy in our technology-infused world. Failure to end the crypto wars will result in societies sleepwalking into a future where the citizen–State power balance is determined by a twentieth-century status quo unfit for this century, endangering both our privacy and security. This book provides a history of the crypto wars, with the hope its chronicling sets a foundation for peace.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781000284867\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1000284867\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 292,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.1.1.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=3doMEAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=3doMEAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=3doMEAAAQBAJ&printsec=frontcover&dq=crypto&hl=&cd=9&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=3doMEAAAQBAJ&dq=crypto&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Crypto_Wars.html?hl=&id=3doMEAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Crypto_Wars-sample-epub.acsm?id=3doMEAAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Crypto_Wars-sample-pdf.acsm?id=3doMEAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=3doMEAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book provides a history of the crypto wars, with the hope its chronicling sets a foundation for peace.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 100,\n    \"etag\": \"bSc1AwRlEaU\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/fW-YDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Bitcoin and Cryptocurrency Technologies\",\n      \"subtitle\": \"A Comprehensive Introduction\",\n      \"authors\": [\n        \"Arvind Narayanan\",\n        \"Joseph Bonneau\",\n        \"Edward Felten\",\n        \"Andrew Miller\",\n        \"Steven Goldfeder\"\n      ],\n      \"publisher\": \"Princeton University Press\",\n      \"publishedDate\": \"2016-07-19\",\n      \"description\": \"An authoritative introduction to the exciting new technologies of digital money Bitcoin and Cryptocurrency Technologies provides a comprehensive introduction to the revolutionary yet often misunderstood new technologies of digital currency. Whether you are a student, software developer, tech entrepreneur, or researcher in computer science, this authoritative and self-contained book tells you everything you need to know about the new global money for the Internet age. How do Bitcoin and its block chain actually work? How secure are your bitcoins? How anonymous are their users? Can cryptocurrencies be regulated? These are some of the many questions this book answers. It begins by tracing the history and development of Bitcoin and cryptocurrencies, and then gives the conceptual and practical foundations you need to engineer secure software that interacts with the Bitcoin network as well as to integrate ideas from Bitcoin into your own projects. Topics include decentralization, mining, the politics of Bitcoin, altcoins and the cryptocurrency ecosystem, the future of Bitcoin, and more. An essential introduction to the new technologies of digital currency Covers the history and mechanics of Bitcoin and the block chain, security, decentralization, anonymity, politics and regulation, altcoins, and much more Features an accompanying website that includes instructional videos for each chapter, homework problems, programming assignments, and lecture slides Also suitable for use with the authors' Coursera online course Electronic solutions manual (available only to professors)\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780691171692\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0691171696\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 334,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 4.5,\n      \"ratingsCount\": 18,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.0.1.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=fW-YDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=fW-YDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=fW-YDwAAQBAJ&printsec=frontcover&dq=crypto&hl=&cd=10&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=fW-YDwAAQBAJ&dq=crypto&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Bitcoin_and_Cryptocurrency_Technologies.html?hl=&id=fW-YDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Bitcoin_and_Cryptocurrency_Technologies-sample-pdf.acsm?id=fW-YDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=fW-YDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"How do Bitcoin and its block chain actually work? How secure are your bitcoins? How anonymous are their users? Can cryptocurrencies be regulated? These are some of the many questions this book answers.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 101,\n    \"etag\": \"gjnwHTaoHns\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/5gxMAAAAMAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Über Beckett\",\n      \"authors\": [\"Jean-Jacques Mayoux\"],\n      \"publishedDate\": \"1966\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"OTHER\",\n          \"identifier\": \"UOM:39015009328587\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 172,\n      \"printType\": \"BOOK\",\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"4.6.4.0.preview.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=5gxMAAAAMAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=5gxMAAAAMAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=5gxMAAAAMAAJ&q=uber&dq=uber&hl=&cd=1&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=5gxMAAAAMAAJ&dq=uber&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/%C3%9Cber_Beckett.html?hl=&id=5gxMAAAAMAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=5gxMAAAAMAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"... Leben des Galilei 1 Materialien zu Brechts &gt; Galilei « 44 Brecht , Mahagonny 21 Brecht , Mutter Courage 49 Materialien zu Brechts » Courage so Brecht , Schweyk 132 Brecht , <b>Uber</b> Lyrik 70 Brooks , Paradoxie im Gedicht 124 Burke&nbsp;...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 102,\n    \"etag\": \"ywjRM1ExXfw\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/Pz0xAQAAMAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Über Eigenartige Erythemtypen und Dermatitiden Des Frühen Säuglings Alters ...\",\n      \"authors\": [\"Karl Leiner\"],\n      \"publishedDate\": \"1920\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"OTHER\",\n          \"identifier\": \"CHI:087132113\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 66,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Erythema\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.4.3.0.preview.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=Pz0xAQAAMAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=Pz0xAQAAMAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=Pz0xAQAAMAAJ&q=uber&dq=uber&hl=&cd=2&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=Pz0xAQAAMAAJ&dq=uber&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/%C3%9Cber_Eigenartige_Erythemtypen_und_Derma.html?hl=&id=Pz0xAQAAMAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=Pz0xAQAAMAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"I. Vorlesungen <b>über</b> Kinderkrankheiten im Alter der Zehnung. Von Prof. Dr. M. Knssowitz. Preis geh. M. 7.—. II. l-lämatologisclje Studien von Dr. A. Bock und Dr. M. Schlesinger. — <b>Uber</b> das Verhalten des lndicnns bei der Tuberkulose des&nbsp;...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 103,\n    \"etag\": \"zcjBdf2IqEE\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/rHjEDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Uber\",\n      \"authors\": [\"B. Yasanthi Perera\", \"Pia A. Albinsson\"],\n      \"publisher\": \"ABC-CLIO\",\n      \"publishedDate\": \"2020-01-31\",\n      \"description\": \"Uber is one of the most innovative companies of our time. This book provides a detailed analysis of the company and its success, beyond the headlines about safety and culture. Americans are so accustomed to using Uber today that the name of the innovative ride-sharing company has almost become a verb, as in \\\"to Uber\\\" somewhere, and yet Uber has been around only since 2010. In less than a decade, Uber has disrupted the ride-hailing industry, from making it easier and more affordable to become an Uber driver than a cab driver to rating riders as well as drivers. As an early pioneer in using technology to create a new business model and new efficiencies, Uber is considered one of the most important case studies in the sharing economy. However, little in-depth information exists on this innovative company. This book traces Uber's origin and evolution in the face of competitive pressures, discusses the company leadership and corporate culture, addresses such controversies as rider and driver safety and sexual harassment of female employees, and explores how the company is addressing these challenges. Students of business, entrepreneurs, and anyone interested in the development and exponential growth of the sharing economy will benefit from reading this book. Provides key insights into the inner workings of the Sharing Economy Delivers a comprehensive overview of Uber's technological innovations, global expansion, and business model Explores the leadership challenges faced by founder Travis Kalanick Reveals how the company has addressed reports of a sexist corporate culture\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781440864254\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"144086425X\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 236,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Business & Economics\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.2.2.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=rHjEDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=rHjEDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=rHjEDwAAQBAJ&printsec=frontcover&dq=uber&hl=&cd=3&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=rHjEDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=rHjEDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 5321.88,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 5321.88,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=rHjEDwAAQBAJ&rdid=book-rHjEDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 5321880000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 5321880000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Uber-sample-epub.acsm?id=rHjEDwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Uber-sample-pdf.acsm?id=rHjEDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=rHjEDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book traces Uber&#39;s origin and evolution in the face of competitive pressures, discusses the company leadership and corporate culture, addresses such controversies as rider and driver safety and sexual harassment of female employees, ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 104,\n    \"etag\": \"qJ9WwUYu7lo\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/SLwyAQAAMAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Über Ameisen\",\n      \"authors\": [\"Adele Marion Fielde\"],\n      \"publishedDate\": \"1901\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"OTHER\",\n          \"identifier\": \"UOM:39015061392091\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Ants\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"2.4.2.0.preview.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=SLwyAQAAMAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=SLwyAQAAMAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=SLwyAQAAMAAJ&q=uber&dq=uber&hl=&cd=4&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=SLwyAQAAMAAJ&dq=uber&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/%C3%9Cber_Ameisen.html?hl=&id=SLwyAQAAMAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=SLwyAQAAMAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ll\\\\ll\\\\&#39;\\\\&quot;\\\\\\\\,\\\\&#39;i§&#39;\\\\\\\\,\\\\&#39;°lMi,\\\\&#39;\\\\i\\\\ll\\\\&#39;ji\\\\\\\\*;\\\\l,i\\\\ij&#39;\\\\1&quot;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ , _____r H &#39;—_~ MUSeum Q1. F . gee i§I:3§6nAdele . 7 - F46 <b>Uber</b> Amei n_ o1o.oo1oooo&#39; Ts PIEASE Slllil .&#39;i.&#39;-.&#39;:lI. ,&#39;i33R[S3ili“lll BATE I no not REMUVE _ on&nbsp;...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 105,\n    \"etag\": \"1CqgTPbHJ3Q\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/GR7dDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Choice Hacking\",\n      \"subtitle\": \"How to use psychology and behavioral science to create an experience that sings\",\n      \"authors\": [\"Jennifer L. Clinehens\"],\n      \"publisher\": \"Jennifer L. Clinehens\",\n      \"publishedDate\": \"2020-06-16\",\n      \"description\": \"What if you could use Nobel prize-winning science to predict the choices your customers will make? Customer and user behaviors can seem irrational. Shaped by mental shortcuts and psychological biases, their actions often appear random on the surface. In Choice Hacking, we'll learn to predict these irrational behaviors and apply the science of decision-making to create unforgettable customer experiences. Discover a framework for designing experiences that doesn't just show you what principles to apply, but introduces a new way of thinking about customer behavior. You'll finish Choice Hacking feeling confident and ready to transform your experience with science. In Choice Hacking, you'll discover: - How to make sure your customer experience is designed for what people do (not what they say they'll do) - How to increase the odds that customers will make the \\\"right choice\\\" in any environment - How to design user experiences that drive action and engagement - How to create retail experiences that persuade and drive brand love - How brands like Uber, Netflix, Disney, and Starbucks apply these principles in their customer and user experiences Additional resources included with the book: - Access to free video Companion Course - Access to exclusive free resources, tools, examples, and use cases online Who will benefit from reading Choice Hacking? This book was written for anyone who wants to better understand customer and user decision-making. Whether you're a consultant, strategist, digital marketer, small business owner, writer, user experience designer, student, manager, or organizational leader, you will find immediate value in Choice Hacking. About the Author Jennifer Clinehens is currently Head of Experience at a major global experience agency. She holds a Master's degree in Brand Management as well as an MBA from Emory University's Goizueta School. Ms. Clinehens has client-side and consulting experience working for brands like AT&T, McDonald's, and Adidas, and she's helped shape customer experiences across the globe. A recognized authority in marketing and customer experience, she is also the author of CX That Sings: An Introduction To Customer Journey Mapping. To learn more about this book or contact the author, please visit ChoiceHacking.com\",\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 262,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Business & Economics\"],\n      \"averageRating\": 2,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.5.4.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=GR7dDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=GR7dDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=GR7dDwAAQBAJ&pg=PT222&dq=uber&hl=&cd=5&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=GR7dDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=GR7dDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 483,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 338.1,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=GR7dDwAAQBAJ&rdid=book-GR7dDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 483000000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 338100000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Choice_Hacking-sample-epub.acsm?id=GR7dDwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Choice_Hacking-sample-pdf.acsm?id=GR7dDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=GR7dDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"“<b>Uber</b> to Ban Riders with Low Ratings: Will You Pass the Test?” The Guardian, Guardian News and Media, 1 June 2019, www.theguardian.com/technology/2019/may/31/<b>uber</b>-to-ban-riderswith-low-ratings. 6 “How Is My Rating Determined?\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 106,\n    \"etag\": \"OR4IdPvL27k\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/TKg_AAAAIAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Essays Über Dichtung\",\n      \"authors\": [\"Rudolf Bayr\"],\n      \"publishedDate\": \"1947\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"OTHER\",\n          \"identifier\": \"UCAL:$B134072\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 104,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Classical literature\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.3.2.0.preview.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=TKg_AAAAIAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=TKg_AAAAIAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=TKg_AAAAIAAJ&q=uber&dq=uber&hl=&cd=6&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=TKg_AAAAIAAJ&dq=uber&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Essays_%C3%9Cber_Dichtung.html?hl=&id=TKg_AAAAIAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=TKg_AAAAIAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Rudolf Bayr. ------------~--~ - - - - <b>ÜBER</b> RAINER MARIA RILKES DICHTUNG VOM KRIEGE Im August 1915.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 107,\n    \"etag\": \"1aSfsxnrUcI\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/RMOxswEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Upstarts\",\n      \"subtitle\": \"How Uber, Airbnb, and the Killer Companies of the New Silicon Valley Are Changing the World\",\n      \"authors\": [\"Brad Stone\"],\n      \"publisher\": \"Corgi\",\n      \"publishedDate\": \"2018-04-05\",\n      \"description\": \"New York Times bestselling author of The Everything Store Brad Stone takes us deep inside the new Silicon Valley. Ten years ago, the idea of getting into a stranger's car, or walking into a stranger's home, would have seemed bizarre and dangerous, but today it's as common as ordering a book online. Uber and Airbnb are household names: redefining neighbourhoods, challenging the way governments regulate business and changing the way we travel. In the spirit of iconic Silicon Valley renegades like Steve Jobs and Bill Gates, a new generation of entrepreneurs is sparking yet another cultural upheaval through technology. They are among the Upstarts, idiosyncratic founders with limitless drive and an abundance of self-confidence. Young, hungry and brilliant, they are rewriting the traditional rules of business, changing our day-to-day lives and often sidestepping serious ethical and legal obstacles in the process. The Upstarts is the definitive account of a dawning age of tenacity, creativity, conflict and wealth. In Brad Stone's highly anticipated and riveting account of the most radical companies of the new Silicon Valley, we find out how it all started, and how the world is wildly different than it was ten years ago.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0552172588\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780552172585\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 432,\n      \"printType\": \"BOOK\",\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=RMOxswEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=RMOxswEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=RMOxswEACAAJ&dq=uber&hl=&cd=7&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=RMOxswEACAAJ&dq=uber&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/The_Upstarts.html?hl=&id=RMOxswEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=RMOxswEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"They are among the Upstarts, idiosyncratic founders with limitless drive and an abundance of self-confidence.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 108,\n    \"etag\": \"St2BLeJmfHM\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/AvQeAQAAMAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"European Conference on Microcirculation\",\n      \"authors\": [\"European Conference on Microcirculation\"],\n      \"publishedDate\": \"1974\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"OTHER\",\n          \"identifier\": \"UIUC:30112009353803\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 404,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Microcirculation\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.1.1.0.preview.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=AvQeAQAAMAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=AvQeAQAAMAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=AvQeAQAAMAAJ&q=uber&dq=uber&hl=&cd=8&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=AvQeAQAAMAAJ&dq=uber&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/European_Conference_on_Microcirculation.html?hl=&id=AvQeAQAAMAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=AvQeAQAAMAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 109,\n    \"etag\": \"I3RwnYlzOD4\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/-E24SzbGL0sC\",\n    \"volumeInfo\": {\n      \"title\": \"Schrifttum Über Polen\",\n      \"subtitle\": \"Mit Besonderer Berücksichtigung Des Posener Landes\",\n      \"publishedDate\": \"1956\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"OTHER\",\n          \"identifier\": \"MINN:31951002250946T\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Poland\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.1.2.0.preview.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=-E24SzbGL0sC&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=-E24SzbGL0sC&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=-E24SzbGL0sC&q=uber&dq=uber&hl=&cd=9&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=-E24SzbGL0sC&dq=uber&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Schrifttum_%C3%9Cber_Polen.html?hl=&id=-E24SzbGL0sC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=-E24SzbGL0sC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 110,\n    \"etag\": \"tRn3dqOPR1g\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/5TQ5AAAAIAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Vorlesungen Über Thermodynamik\",\n      \"authors\": [\"Max Planck\"],\n      \"publishedDate\": \"1927\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"OTHER\",\n          \"identifier\": \"UCAL:B3532004\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 324,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Thermodynamics\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.3.3.0.preview.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=5TQ5AAAAIAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=5TQ5AAAAIAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=5TQ5AAAAIAAJ&q=uber&dq=uber&hl=&cd=10&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=5TQ5AAAAIAAJ&dq=uber&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Vorlesungen_%C3%9Cber_Thermodynamik.html?hl=&id=5TQ5AAAAIAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=5TQ5AAAAIAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 111,\n    \"etag\": \"lLZSiCer91M\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/XbF2EAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Marvel Studios Visual Dictionary\",\n      \"authors\": [\"Adam Bray\"],\n      \"publisher\": \"Dorling Kindersley Ltd\",\n      \"publishedDate\": \"2018-09-13\",\n      \"description\": \"Join Captain America, Thor, Iron Man, Black Widow, and the Guardians of the Galaxy on a stunning journey through the Marvel Cinematic Universe! DK is bringing its expertise in creating beautiful illustrated non-fiction to this modern pop culture phenomenon; Marvel Studios: The Visual Dictionary shows the world of the Avengers as it has never been seen before. Iron Man's armour, S.H.I.E.L.D.'s helicarriers, the soaring towers of Asgard, Hawkeye's bow, Thor's hammer, mighty Thanos and the Infinity Stones, Star-Lord's quad blasters - each subject is shown using beautiful movie stills and stunning prop photography, accompanied by engaging text explaining their key features and role in the Marvel saga. A unique and captivating showcase of the first ten years of Marvel Studios, this is the book that every Marvel movie fan has been waiting for! © 2018 MARVEL\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780241429471\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0241429471\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 202,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Comics & Graphic Novels\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.1.1.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=XbF2EAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=XbF2EAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=XbF2EAAAQBAJ&printsec=frontcover&dq=marvel&hl=&cd=1&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=XbF2EAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=XbF2EAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 2108.58,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 2108.58,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=XbF2EAAAQBAJ&rdid=book-XbF2EAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 2108580000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 2108580000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Marvel_Studios_Visual_Dictionary-sample-epub.acsm?id=XbF2EAAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Marvel_Studios_Visual_Dictionary-sample-pdf.acsm?id=XbF2EAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=XbF2EAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"A unique and captivating showcase of the first ten years of Marvel Studios, this is the book that every Marvel movie fan has been waiting for! © 2018 MARVEL\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 112,\n    \"etag\": \"ifNFWNItZ7I\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/Jve0DwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Marvel Book\",\n      \"subtitle\": \"Expand Your Knowledge Of A Vast Comics Universe\",\n      \"authors\": [\"DK\", \"Stephen Wiacek\"],\n      \"publisher\": \"Dorling Kindersley Ltd\",\n      \"publishedDate\": \"2019-10-03\",\n      \"description\": \"One Marvel book to guide them all. The Marvel Book charts an exhilarating course through the fascinating, dynamic and awe-inspiring Marvel Comics universe. Packed with vivid comic book imagery, illuminating infographics and incisive, specially curated essays, this book explores the key concepts, characters and events that have defined and shaped Marvel Comics over the past 80 years. Meticulously researched and expertly written, this discerning guide sheds new light on the myriad wonders of the Marvel Comics universe. So whether you are a devoted Marvel Comics fan or a casual reader keen to find out more, The Marvel Book is an invaluable roadmap to a boundless comics universe that will encourage you to see it anew. © 2019 MARVEL\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780241430347\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0241430348\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 670,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Comics & Graphic Novels\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.7.7.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=Jve0DwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=Jve0DwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=Jve0DwAAQBAJ&pg=PP1&dq=marvel&hl=&cd=2&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=Jve0DwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=Jve0DwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 2057.12,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 2057.12,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=Jve0DwAAQBAJ&rdid=book-Jve0DwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 2057120000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 2057120000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Marvel_Book-sample-epub.acsm?id=Jve0DwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Marvel_Book-sample-pdf.acsm?id=Jve0DwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=Jve0DwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"One Marvel book to guide them all. The Marvel Book charts an exhilarating course through the fascinating, dynamic and awe-inspiring Marvel Comics universe.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 113,\n    \"etag\": \"uizLZ4bfpR8\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/eQjSwQEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Marvel Book: Expand Your Knowledge of a Vast Comics Universe\",\n      \"authors\": [\"Stephen Wiacek\"],\n      \"publishedDate\": \"2019-08-20\",\n      \"description\": \"The Marvel Book is an exhilarating journey through the endlessly fascinating, ever-dynamic, and awe-inspiring Marvel Comics universe. From iconic Super Heroes such as the Avengers, Spider-Man, and the Black Panther, to amazing technology like Iron Man's armors and S.H.I.E.L.D.'s Helicarriers, to the cosmic escapades of the Guardians of the Galaxy, to unforgettable villains such as Thanos and Loki, this book explores the key concepts, characters, and events that have defined and shaped Marvel Comics over the past 80 years. Meticulously researched and expertly written, The Marvel Book is packed with vivid, carefully sourced artwork, illuminating infographics, and incisive, specially curated essays that shed new light on the myriad wonders of the Marvel Comics universe, from the microverse to the multiverse, and beyond. The book's content is divided into key subject areas - The Multiverse, Science and Technology, War and Peace, Cosmic Forces, Magic and the Supernatural, and Alternate Realities - that form the foundations of Marvel Comics. The Marvel Book is a revealing and invaluable roadmap to a boundless comics universe that no Marvel fan will want to miss! 2019 MARVEL\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0241357659\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780241357651\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 256,\n      \"printType\": \"BOOK\",\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=eQjSwQEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=eQjSwQEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=eQjSwQEACAAJ&dq=marvel&hl=&cd=3&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=eQjSwQEACAAJ&dq=marvel&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/The_Marvel_Book_Expand_Your_Knowledge_of.html?hl=&id=eQjSwQEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=eQjSwQEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"&quot;The Marvel Book is a breath-taking tour of literally every concept that forms the gloriously bewildering and expansive Marvel Multiverse... an indispensable guide.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 114,\n    \"etag\": \"nRVukGZVMXM\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/PP2QEAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Marvel Studios: The First Ten Years\",\n      \"authors\": [\"Titan\"],\n      \"publisher\": \"National Geographic Books\",\n      \"publishedDate\": \"2018-11-20\",\n      \"description\": \"Celebrate the first 10 years of Marvel Studios movies in this collector's edition featuring all of the films from Iron Man to Captain Marvel! Includes interviews with Robert Downey Jr., Chris Evans, Scarlett Johansson, Chadwick Boseman, Chris Hemsworth, Chris Pratt and more, plus Marvel Studios President Kevin Feige and Co-President Louis D'Esposito. Features stunning photography and in-depth sections on each film, including a guide to each movie's Easter Eggs and end-credits scenes.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781787730915\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1787730913\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 0,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Performing Arts\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=PP2QEAAAQBAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=PP2QEAAAQBAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=PP2QEAAAQBAJ&dq=marvel&hl=&cd=4&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=PP2QEAAAQBAJ&dq=marvel&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Marvel_Studios_The_First_Ten_Years.html?hl=&id=PP2QEAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=PP2QEAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Celebrate the first 10 years of Marvel Studios movies in this collector&#39;s edition featuring all of the films from Iron Man to Captain Marvel!\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 115,\n    \"etag\": \"kkclnTAQ/m4\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/LD1qDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Science of Marvel\",\n      \"subtitle\": \"From Infinity Stones to Iron Man's Armor, the Real Science Behind the MCU Revealed!\",\n      \"authors\": [\"Sebastian Alvarado\"],\n      \"publisher\": \"Simon and Schuster\",\n      \"publishedDate\": \"2019-04-09\",\n      \"description\": \"Science meets fantasy in this behind-the-scenes look at the Marvel Cinematic Universe—now you can experience the magic of the movies, and learn how to replicate it in real-life. The Marvel Cinematic Universe is filled with extraordinary humans and abilities. There are teenaged geniuses swinging through the streets of New York, billionaires creating impenetrable armor in hidden caves, and aliens flying through wormholes to Earth. All of these characters seem to lie firmly in the realm of fantasy—but the technology behind them might not be as farfetched as you think… The Science of Marvel pulls back the curtain and reveals the secrets behind Marvel movie magic, and shows us how to recreate these comic book wonders in our everyday life. Using quantum physics, a little bit of mechanical engineering, and some out-of-the-box thinking, you’ll be amazed to discover that it’s possible to create a real-life Captain America, Incredible Hulk, or Black Panther. The perfect gift or collectible for Marvel fans everywhere, The Science of Marvel brings beloved movies and characters to life like never before.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781507209998\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1507209991\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 240,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Science\"],\n      \"averageRating\": 4,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.1.1.0.preview.2\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=LD1qDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=LD1qDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=LD1qDwAAQBAJ&printsec=frontcover&dq=marvel&hl=&cd=5&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=LD1qDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=LD1qDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 874.38,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 437.19,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=LD1qDwAAQBAJ&rdid=book-LD1qDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 874380000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 437190000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED_FOR_ACCESSIBILITY\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Science_of_Marvel-sample-epub.acsm?id=LD1qDwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=LD1qDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"All of these characters seem to lie firmly in the realm of fantasy—but the technology behind them might not be as farfetched as you think… The Science of Marvel pulls back the curtain and reveals the secrets behind Marvel movie magic, ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 116,\n    \"etag\": \"f6RMdg64lG4\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/1ov6CgAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Marvel Universe Deadpool & Wolverine\",\n      \"authors\": [\"Marvel Comics\"],\n      \"publisher\": \"Marvel Entertainment\",\n      \"publishedDate\": \"2016-01-27\",\n      \"description\": \"Marvel Adventures Super Heroes (2010) 4, Marvel Universe Ultimate Spider-Man: Web Warriors 8, Free Comic Book Day 2009: Wolverine, Marvel Adventures Spider-Man (2010) 3 [research]\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781302484095\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1302484095\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Comics & Graphic Novels\"],\n      \"averageRating\": 4,\n      \"ratingsCount\": 2,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.1.1.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": true,\n        \"imageBubbleVersion\": \"ef8e7e6cfeaf802f\"\n      },\n      \"comicsContent\": true,\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=1ov6CgAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=1ov6CgAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=1ov6CgAAQBAJ&printsec=frontcover&dq=marvel&hl=&cd=6&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=1ov6CgAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=1ov6CgAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 970.69,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 485.34,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=1ov6CgAAQBAJ&rdid=book-1ov6CgAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 970690000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 485340000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED_FOR_ACCESSIBILITY\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Marvel_Universe_Deadpool_Wolverine-sample-pdf.acsm?id=1ov6CgAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=1ov6CgAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Marvel Adventures Super Heroes (2010) 4, Marvel Universe Ultimate Spider-Man: Web Warriors 8, Free Comic Book Day 2009: Wolverine, Marvel Adventures Spider-Man (2010) 3 [research]\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 117,\n    \"etag\": \"wTh+aY9xI0k\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/C3GeDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Marvel Studios Story\",\n      \"subtitle\": \"How a Failing Comic Book Publisher Became a Hollywood Superhero\",\n      \"authors\": [\"Charlie Wetzel\", \"Stephanie Wetzel\"],\n      \"publisher\": \"HarperCollins Leadership\",\n      \"publishedDate\": \"2020-05-26\",\n      \"description\": \"What can you learn from the world’s most successful companies? The Marvel Studios Story will help you understand and adopt the competitive strategies, workplace culture, and daily business practices that enabled a struggling comic book publisher to parlay the power of myth and storytelling to become one of history’s most successful movie studios. Marvel characters have been shaping pop culture for decades and when comic books were no longer keeping the company afloat, Marvel Studios was born. Marvel Studios is the multibillion-dollar home to iconic franchises. They are known for creating brilliant multilayered worlds and storylines that allow their audiences to escape into a fantasy and inspire the creative side of every viewer. But, behind those visionaries is a well-oiled storytelling machine dedicated to getting the Hulk’s smash fists in the hands of every child and a sea of Spiderman costumes deployed every Halloween. This book educates readers on how one of the largest creative companies in the planetary universe runs their business and keeps their fans and their parent company, Disney, counting the profits. Through the story of Marvel Studios, you’ll learn: How to recognize and pursue additional revenue streams. How a company can successfully balance the creative with business to appease investors and fans alike. And how to keep a decades-old superhero franchise new and exciting without losing sight of its roots.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781400216192\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1400216192\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 192,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Business & Economics\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.5.4.0.preview.2\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=C3GeDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=C3GeDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=C3GeDwAAQBAJ&printsec=frontcover&dq=marvel&hl=&cd=7&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=C3GeDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=C3GeDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 1009.84,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 504.92,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=C3GeDwAAQBAJ&rdid=book-C3GeDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 1009840000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 504920000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Marvel_Studios_Story-sample-epub.acsm?id=C3GeDwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=C3GeDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The Marvel Studios Story will help you understand and adopt the competitive strategies, workplace culture, and daily business practices that enabled a struggling comic book publisher to parlay the power of myth and storytelling to become ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 118,\n    \"etag\": \"d2n8Q1OA5Ig\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/FMigDgAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Make Ours Marvel\",\n      \"subtitle\": \"Media Convergence and a Comics Universe\",\n      \"authors\": [\"Matt Yockey\"],\n      \"publisher\": \"University of Texas Press\",\n      \"publishedDate\": \"2017-06-20\",\n      \"description\": \"Tracing the rise of the Marvel Comics brand from the creation of the Fantastic Four to the development of the Marvel Cinematic Universe, this volume of original essays considers how a comic book publisher became a transmedia empire.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781477312506\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1477312501\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 369,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Business & Economics\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=FMigDgAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=FMigDgAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=FMigDgAAQBAJ&printsec=frontcover&dq=marvel&hl=&cd=8&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=FMigDgAAQBAJ&dq=marvel&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Make_Ours_Marvel.html?hl=&id=FMigDgAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=FMigDgAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Tracing the rise of the Marvel Comics brand from the creation of the Fantastic Four to the development of the Marvel Cinematic Universe, this volume of original essays considers how a comic book publisher became a transmedia empire.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 119,\n    \"etag\": \"Phu057cd0dw\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/MWk0EAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Periodic Table of Marvel\",\n      \"authors\": [\"Melanie Scott\"],\n      \"publisher\": \"Dorling Kindersley Ltd\",\n      \"publishedDate\": \"2021-10-14\",\n      \"description\": \"Discover the elemental properties of iconic Marvel Comics characters. From the volatile gamma-irradiated Hulk to the stable Super-Soldier Captain America, and the technologically enhanced Iron Man to the cosmically charged Silver Surfer, the Marvel Comics Universe boasts a diverse array of heroes and villains. Whether mutants or Asgardians, Celestials or Inhumans, The Periodic Table of Marvel expertly classifies key and lesser known Marvel characters to reveal the properties that bind them, the catalysts that created them, the chain reactions that energize them, and the underlying structures and formulas that underpin the Marvel Universe. With more than 130 character profiles written by a Marvel expert, beautiful comic book art, and Marvel's seal of approval, The Periodic Table of Marvel reveals the fascinating and surprising connections between the most incredible heroes and villains ever created. © 2021 MARVEL\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780241550212\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0241550211\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 194,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Comics & Graphic Novels\"],\n      \"averageRating\": 4,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.2.2.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=MWk0EAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=MWk0EAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=MWk0EAAAQBAJ&printsec=frontcover&dq=marvel&hl=&cd=9&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=MWk0EAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=MWk0EAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 1336.77,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 668.38,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=MWk0EAAAQBAJ&rdid=book-MWk0EAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 1336770000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 668380000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Periodic_Table_of_Marvel-sample-epub.acsm?id=MWk0EAAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Periodic_Table_of_Marvel-sample-pdf.acsm?id=MWk0EAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=MWk0EAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"With more than 130 character profiles written by a Marvel expert, beautiful comic book art, and Marvel&#39;s seal of approval, The Periodic Table of Marvel reveals the fascinating and surprising connections between the most incredible heroes ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 120,\n    \"etag\": \"+iK8ylfpLvA\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/NgXeDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Marvel Encyclopedia New Edition\",\n      \"authors\": [\"Stephen Wiacek\", \"DK\", \"Stan Lee\", \"Adam Bray\"],\n      \"publisher\": \"Dorling Kindersley Ltd\",\n      \"publishedDate\": \"2019-04-04\",\n      \"description\": \"\\\"[A] book that mankind has been hungering for, a book that is-now and forever-a shining beacon of wonder, a titanic tribute to talent unleashed\\\" - Stan Lee. Keep up with the ever-expanding Marvel Universe with the new edition of DK's best-selling Marvel Encyclopedia. Discover the essential facts about Marvel Comics' timeless characters: mighty heroes such as Captain America, Spider-Man, Black Widow, and Iron Man, and malevolent villains like Thanos, Galactus, Loki, and Kingpin. Featuring an introduction by Marvel Comics supremo Stan Lee, this definitive Who's Who of Marvel Comics reveals vital info and secret histories of more than 1200 classic and brand new Marvel characters, and provides the lowdown on recent key events including Civil War 2, Secret Empire, and Infinity Countdown. From iconic teams such as the Avengers, X-Men, and Guardians of the Galaxy, and fan favourites Black Panther, Deadpool, and Captain Marvel, to rising stars Amadeus Cho, Squirrel Girl, and the Exiles, every significant Marvel character is showcased with the latest comic artwork. Meticulously researched, expertly written, and stunningly illustrated, the Marvel Encyclopedia boasts newly commissioned cover art by one of Marvel's hottest up-and-coming talents. This unique, in-depth, and accessible encyclopedia is an indispensable guide to Marvel Comics that devoted fans and newcomers alike will return to time and again. © 2020 MARVEL\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780241438190\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0241438195\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 450,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Comics & Graphic Novels\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"0.2.2.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=NgXeDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=NgXeDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=NgXeDwAAQBAJ&printsec=frontcover&dq=marvel&hl=&cd=10&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=NgXeDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=NgXeDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 3601.77,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 3601.77,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=NgXeDwAAQBAJ&rdid=book-NgXeDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 3601770000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 3601770000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Marvel_Encyclopedia_New_Edition-sample-epub.acsm?id=NgXeDwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Marvel_Encyclopedia_New_Edition-sample-pdf.acsm?id=NgXeDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=NgXeDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Keep up with the ever-expanding Marvel Universe with the new edition of DK&#39;s best-selling Marvel Encyclopedia.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 121,\n    \"etag\": \"6I09b9J4gz8\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/HegDAAAAMBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Competition Science Vision\",\n      \"publishedDate\": \"1999-06\",\n      \"description\": \"Competition Science Vision (monthly magazine) is published by Pratiyogita Darpan Group in India and is one of the best Science monthly magazines available for medical entrance examination students in India. Well-qualified professionals of Physics, Chemistry, Zoology and Botany make contributions to this magazine and craft it with focus on providing complete and to-the-point study material for aspiring candidates. The magazine covers General Knowledge, Science and Technology news, Interviews of toppers of examinations, study material of Physics, Chemistry, Zoology and Botany with model papers, reasoning test questions, facts, quiz contest, general awareness and mental ability test in every monthly issue.\",\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 154,\n      \"printType\": \"MAGAZINE\",\n      \"averageRating\": 5,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.0.1.0.preview.1\",\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=HegDAAAAMBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=HegDAAAAMBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=HegDAAAAMBAJ&printsec=frontcover&dq=science&hl=&cd=1&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=HegDAAAAMBAJ&dq=science&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Competition_Science_Vision.html?hl=&id=HegDAAAAMBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"ALL_PAGES\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=HegDAAAAMBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Competition Science Vision (monthly magazine) is published by Pratiyogita Darpan Group in India and is one of the best Science monthly magazines available for medical entrance examination students in India.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 122,\n    \"etag\": \"LiDPZsIjuKQ\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/ZsYZa8MYtTsC\",\n    \"volumeInfo\": {\n      \"title\": \"Popular Science\",\n      \"publishedDate\": \"1973-06\",\n      \"description\": \"Popular Science gives our readers the information and tools to improve their technology and their world. The core belief that Popular Science and our readers share: The future is going to be better, and science and technology are the driving forces that will help make it better.\",\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 172,\n      \"printType\": \"MAGAZINE\",\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=ZsYZa8MYtTsC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=ZsYZa8MYtTsC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=ZsYZa8MYtTsC&printsec=frontcover&dq=science&hl=&cd=2&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=ZsYZa8MYtTsC&dq=science&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Popular_Science.html?hl=&id=ZsYZa8MYtTsC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"ALL_PAGES\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=ZsYZa8MYtTsC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Popular Science gives our readers the information and tools to improve their technology and their world.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 123,\n    \"etag\": \"R22+F8XFB/g\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/FJKbBgAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Science Book\",\n      \"subtitle\": \"Big Ideas Simply Explained\",\n      \"authors\": [\"DK\"],\n      \"publisher\": \"Dorling Kindersley Ltd\",\n      \"publishedDate\": \"2015-02-02\",\n      \"description\": \"Did the Universe start with a Big Bang? Is light a wave, a particle - or both? Are we the cause of global warming? Science has made it possible to comprehend the world we live in and the theoretical multiverses beyond, offering technological advances and extending the frontiers of knowledge. Written in plain English, The Science Book presents 80 of the most trailblazing ideas in physics, chemistry, and biology. It is packed with short, pithy explanations that cut through the jargon, step-by-step diagrams that untangle knotty theories, classic quotes that make scientific discoveries memorable, and witty illustrations that enhance and play with our understanding of science. Whatever your grasp of the subject, whether you're a keen student or an armchair expert, you'll find plenty to stimulate you within this book. Part of the popular \\\"Big Ideas\\\" series, The Science Book is the perfect way to explore this fascinating subject.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780241202364\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0241202361\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 710,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Science\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.6.6.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=FJKbBgAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=FJKbBgAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=FJKbBgAAQBAJ&pg=PP1&dq=science&hl=&cd=3&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=FJKbBgAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=FJKbBgAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 2057.12,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 2057.12,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=FJKbBgAAQBAJ&rdid=book-FJKbBgAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 2057120000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 2057120000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Science_Book-sample-epub.acsm?id=FJKbBgAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Science_Book-sample-pdf.acsm?id=FJKbBgAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=FJKbBgAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Written in plain English, The Science Book presents 80 of the most trailblazing ideas in physics, chemistry, and biology.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 124,\n    \"etag\": \"woKzS/EFlrY\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/K-gDAAAAMBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Competition Science Vision\",\n      \"publishedDate\": \"1999-12\",\n      \"description\": \"Competition Science Vision (monthly magazine) is published by Pratiyogita Darpan Group in India and is one of the best Science monthly magazines available for medical entrance examination students in India. Well-qualified professionals of Physics, Chemistry, Zoology and Botany make contributions to this magazine and craft it with focus on providing complete and to-the-point study material for aspiring candidates. The magazine covers General Knowledge, Science and Technology news, Interviews of toppers of examinations, study material of Physics, Chemistry, Zoology and Botany with model papers, reasoning test questions, facts, quiz contest, general awareness and mental ability test in every monthly issue.\",\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 136,\n      \"printType\": \"MAGAZINE\",\n      \"averageRating\": 5,\n      \"ratingsCount\": 2,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.0.1.0.preview.1\",\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=K-gDAAAAMBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=K-gDAAAAMBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=K-gDAAAAMBAJ&printsec=frontcover&dq=science&hl=&cd=4&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=K-gDAAAAMBAJ&dq=science&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Competition_Science_Vision.html?hl=&id=K-gDAAAAMBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"ALL_PAGES\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=K-gDAAAAMBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Competition Science Vision (monthly magazine) is published by Pratiyogita Darpan Group in India and is one of the best Science monthly magazines available for medical entrance examination students in India.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 125,\n    \"etag\": \"kCQ4o8k0ing\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/jAAAAAAAMBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Popular Science\",\n      \"publishedDate\": \"1978-06\",\n      \"description\": \"Popular Science gives our readers the information and tools to improve their technology and their world. The core belief that Popular Science and our readers share: The future is going to be better, and science and technology are the driving forces that will help make it better.\",\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 198,\n      \"printType\": \"MAGAZINE\",\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.1.1.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=jAAAAAAAMBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=jAAAAAAAMBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=jAAAAAAAMBAJ&printsec=frontcover&dq=science&hl=&cd=5&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=jAAAAAAAMBAJ&dq=science&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Popular_Science.html?hl=&id=jAAAAAAAMBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"ALL_PAGES\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=jAAAAAAAMBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Popular Science gives our readers the information and tools to improve their technology and their world.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 126,\n    \"etag\": \"+z9I10+0MUM\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/LugDAAAAMBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Competition Science Vision\",\n      \"publishedDate\": \"1998-07\",\n      \"description\": \"Competition Science Vision (monthly magazine) is published by Pratiyogita Darpan Group in India and is one of the best Science monthly magazines available for medical entrance examination students in India. Well-qualified professionals of Physics, Chemistry, Zoology and Botany make contributions to this magazine and craft it with focus on providing complete and to-the-point study material for aspiring candidates. The magazine covers General Knowledge, Science and Technology news, Interviews of toppers of examinations, study material of Physics, Chemistry, Zoology and Botany with model papers, reasoning test questions, facts, quiz contest, general awareness and mental ability test in every monthly issue.\",\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 152,\n      \"printType\": \"MAGAZINE\",\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.0.1.0.preview.1\",\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=LugDAAAAMBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=LugDAAAAMBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=LugDAAAAMBAJ&printsec=frontcover&dq=science&hl=&cd=6&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=LugDAAAAMBAJ&dq=science&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Competition_Science_Vision.html?hl=&id=LugDAAAAMBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"ALL_PAGES\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=LugDAAAAMBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Competition Science Vision (monthly magazine) is published by Pratiyogita Darpan Group in India and is one of the best Science monthly magazines available for medical entrance examination students in India.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 127,\n    \"etag\": \"BcPfpBJie90\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/zOcDAAAAMBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Competition Science Vision\",\n      \"publishedDate\": \"1998-05\",\n      \"description\": \"Competition Science Vision (monthly magazine) is published by Pratiyogita Darpan Group in India and is one of the best Science monthly magazines available for medical entrance examination students in India. Well-qualified professionals of Physics, Chemistry, Zoology and Botany make contributions to this magazine and craft it with focus on providing complete and to-the-point study material for aspiring candidates. The magazine covers General Knowledge, Science and Technology news, Interviews of toppers of examinations, study material of Physics, Chemistry, Zoology and Botany with model papers, reasoning test questions, facts, quiz contest, general awareness and mental ability test in every monthly issue.\",\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 152,\n      \"printType\": \"MAGAZINE\",\n      \"averageRating\": 5,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.0.1.0.preview.1\",\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=zOcDAAAAMBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=zOcDAAAAMBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=zOcDAAAAMBAJ&printsec=frontcover&dq=science&hl=&cd=7&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=zOcDAAAAMBAJ&dq=science&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Competition_Science_Vision.html?hl=&id=zOcDAAAAMBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"ALL_PAGES\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=zOcDAAAAMBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Competition Science Vision (monthly magazine) is published by Pratiyogita Darpan Group in India and is one of the best Science monthly magazines available for medical entrance examination students in India.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 128,\n    \"etag\": \"fNLETlTRG8w\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/iiQDAAAAMBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Popular Science\",\n      \"publishedDate\": \"1879-06\",\n      \"description\": \"Popular Science gives our readers the information and tools to improve their technology and their world. The core belief that Popular Science and our readers share: The future is going to be better, and science and technology are the driving forces that will help make it better.\",\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 144,\n      \"printType\": \"MAGAZINE\",\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.0.1.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=iiQDAAAAMBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=iiQDAAAAMBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=iiQDAAAAMBAJ&printsec=frontcover&dq=science&hl=&cd=8&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=iiQDAAAAMBAJ&dq=science&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Popular_Science.html?hl=&id=iiQDAAAAMBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"ALL_PAGES\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=iiQDAAAAMBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Popular Science gives our readers the information and tools to improve their technology and their world.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 129,\n    \"etag\": \"264ewI8PALA\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/3iEDAAAAMBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Popular Science\",\n      \"publishedDate\": \"1963-03\",\n      \"description\": \"Popular Science gives our readers the information and tools to improve their technology and their world. The core belief that Popular Science and our readers share: The future is going to be better, and science and technology are the driving forces that will help make it better.\",\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 242,\n      \"printType\": \"MAGAZINE\",\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.0.1.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=3iEDAAAAMBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=3iEDAAAAMBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=3iEDAAAAMBAJ&printsec=frontcover&dq=science&hl=&cd=9&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=3iEDAAAAMBAJ&dq=science&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Popular_Science.html?hl=&id=3iEDAAAAMBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"ALL_PAGES\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=3iEDAAAAMBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Popular Science gives our readers the information and tools to improve their technology and their world.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 130,\n    \"etag\": \"3Ut8UmmU/Qg\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/LOgDAAAAMBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Competition Science Vision\",\n      \"publishedDate\": \"1998-12\",\n      \"description\": \"Competition Science Vision (monthly magazine) is published by Pratiyogita Darpan Group in India and is one of the best Science monthly magazines available for medical entrance examination students in India. Well-qualified professionals of Physics, Chemistry, Zoology and Botany make contributions to this magazine and craft it with focus on providing complete and to-the-point study material for aspiring candidates. The magazine covers General Knowledge, Science and Technology news, Interviews of toppers of examinations, study material of Physics, Chemistry, Zoology and Botany with model papers, reasoning test questions, facts, quiz contest, general awareness and mental ability test in every monthly issue.\",\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 144,\n      \"printType\": \"MAGAZINE\",\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.0.1.0.preview.1\",\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=LOgDAAAAMBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=LOgDAAAAMBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=LOgDAAAAMBAJ&printsec=frontcover&dq=science&hl=&cd=10&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=LOgDAAAAMBAJ&dq=science&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Competition_Science_Vision.html?hl=&id=LOgDAAAAMBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"ALL_PAGES\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=LOgDAAAAMBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Competition Science Vision (monthly magazine) is published by Pratiyogita Darpan Group in India and is one of the best Science monthly magazines available for medical entrance examination students in India.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 131,\n    \"etag\": \"04cdvVjYr/k\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/sDifDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Maths Book\",\n      \"subtitle\": \"Big Ideas Simply Explained\",\n      \"authors\": [\"DK\"],\n      \"publisher\": \"Dorling Kindersley Ltd\",\n      \"publishedDate\": \"2019-09-05\",\n      \"description\": \"Learn about the most important mathematical ideas, theorems, and movements in The Maths Book. Part of the fascinating Big Ideas series, this book tackles tricky topics and themes in a simple and easy to follow format. Learn about Maths in this overview guide to the subject, great for novices looking to find out more and experts wishing to refresh their knowledge alike! The Maths Book brings a fresh and vibrant take on the topic through eye-catching graphics and diagrams to immerse yourself in. This captivating book will broaden your understanding of Maths, with: - More than 85 ideas and events key to the development of mathematics - Packed with facts, charts, timelines and graphs to help explain core concepts - A visual approach to big subjects with striking illustrations and graphics throughout - Easy to follow text makes topics accessible for people at any level of understanding The Maths Book is a captivating introduction to the world's most famous theorems, mathematicians and movements, aimed at adults with an interest in the subject and students wanting to gain more of an overview. Charting the development of maths around the world from Babylon to Bletchley Park, this book explains how maths help us understand everything from patterns in nature to artificial intelligence. Your Maths Questions, Simply Explained What is an imaginary number? Can two parallel lines ever meet? How can maths help us predict the future? This engaging overview explores answers to big questions like these and how they contribute to our understanding of maths. If you thought it was difficult to learn about topics like algebra and statistics, The Maths Book presents key information in an easy to follow layout. Learn about the history of maths, from ancient ideas such as magic squares and the abacus to modern cryptography, fractals, and the final proof of Fermat's Last Theorem. The Big Ideas Series With millions of copies sold worldwide, The Maths Book is part of the award-winning Big Ideas series from DK. The series uses striking graphics along with engaging writing, making big topics easy to understand. r to understand.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780241425893\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0241425891\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 709,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Mathematics\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.8.7.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=sDifDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=sDifDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=sDifDwAAQBAJ&pg=PP1&dq=maths&hl=&cd=1&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=sDifDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=sDifDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 2057.12,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 2057.12,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=sDifDwAAQBAJ&rdid=book-sDifDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 2057120000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 2057120000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Maths_Book-sample-epub.acsm?id=sDifDwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Maths_Book-sample-pdf.acsm?id=sDifDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=sDifDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Learn about the most important mathematical ideas, theorems, and movements in The Maths Book. Part of the fascinating Big Ideas series, this book tackles tricky topics and themes in a simple and easy to follow format.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 132,\n    \"etag\": \"HbhHZWrYx24\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/y0wwEAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Maths for Economics\",\n      \"authors\": [\"Geoff Renshaw\"],\n      \"publisher\": \"Oxford University Press\",\n      \"publishedDate\": \"2021-03-29\",\n      \"description\": \"Maths for Economics provides a comprehensive and solid foundation in core mathematical principles and methods used in economics, beginning with revisiting basic skills in arithmetic, algebra, equation solving, and slowly building to more advanced topics.Suitable for those with a range of prior school-level expereince or more generally for those who feel they need to go back to the very basics, students can learn with confidence.Drawing on his extensive experience of teaching in the area, the author appreciates that maths can be a daunting topic for many. As such the text is fully supports the reader by using a combination of engaging learning features including summary sections, examples to show how theory is used inpractice and progress exercises, which encourage independent study. Each chapter ends with a conclusion check list to allow students to reflect on topics as they master them.Digital formats and resourcesThe fifth edition is available for students and institutions to purchase in a variety of formats, and is supported by online resources.The e-book offers a mobile experience and convenient access along with functionality tools, navigation features, and links that offer extra learning support: www.oxfordtextbooks.co.uk/ebooksOnline resources supporting the book include,For Students:- Ask the author forum- Excel tutorial- Maple tutorial- Further exercises- Answers to further questions- Expanded solutions to progress exercisesFor Lecturers:- Test exercises- Graphs from the book- Answers to test exercises\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780198839507\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0198839502\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 747,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Econometrics\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.0.1.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=y0wwEAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=y0wwEAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=y0wwEAAAQBAJ&printsec=frontcover&dq=maths&hl=&cd=2&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=y0wwEAAAQBAJ&dq=maths&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Maths_for_Economics.html?hl=&id=y0wwEAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Maths_for_Economics-sample-pdf.acsm?id=y0wwEAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=y0wwEAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"As such the text is fully supports the reader by using a combination of engaging learning features including summary sections, examples to show how theory is used inpractice and progress exercises, which encourage independent study.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 133,\n    \"etag\": \"P67uY0C21wM\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/qununQEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Chemistry Maths Book\",\n      \"authors\": [\"Erich Steiner\"],\n      \"publishedDate\": \"1996\",\n      \"description\": \"The Chemistry Maths Book is a comprehensive textbook of mathematics for undergraduate students of chemistry. Such students often find themselves unprepared and ill-equipped to deal with the mathematical content of their chemistry courses. Textbooks designed to overcome this problem have so far been too basic for complete undergraduate courses and have been unpopular with students. However, this modern textbook provides a complete and up-to-date course companion suitable for all levels of undergraduate chemistry courses. All the most useful and important topics are covered with numerous examples of applications in chemistry and some in physics. The subject is developed in a logical and consistent way with few assumptions of prior knowledge of mathematics. This text is sure to become a widely adopted text and will be highly recommended for all chemistry courses.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0198559135\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780198559139\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 542,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Science\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=qununQEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=qununQEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=qununQEACAAJ&dq=maths&hl=&cd=3&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=qununQEACAAJ&dq=maths&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/The_Chemistry_Maths_Book.html?hl=&id=qununQEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=qununQEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The Chemistry Maths Book is a comprehensive textbook of mathematics for undergraduate students of chemistry.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 134,\n    \"etag\": \"zA7/bRobZDQ\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/LNfiDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"S. Chand's Smart Maths book 1\",\n      \"authors\": [\"Sheela Khandelwall\"],\n      \"publisher\": \"S. Chand Publishing\",\n      \"description\": \"S Chand's Smart Maths is a carefully graded Mathematics series of 9 books for the children of KG to Class 8. The series adheres to the National Curriculum Framework and the books have been designed in accordance with the latest guidelines laid down by the NCERT.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9789352837588\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"9352837584\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Mathematics\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=LNfiDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=LNfiDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=LNfiDwAAQBAJ&pg=PA1&dq=maths&hl=&cd=4&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=LNfiDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=LNfiDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 424.8,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 297.36,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=LNfiDwAAQBAJ&rdid=book-LNfiDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 424800000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 297360000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/S_Chand_s_Smart_Maths_book_1-sample-pdf.acsm?id=LNfiDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=LNfiDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The series adheres to the National Curriculum Framework and the books have been designed in accordance with the latest guidelines laid down by the NCERT.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 135,\n    \"etag\": \"k38cRfp0yBU\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/FA2u5Gc0WpEC\",\n    \"volumeInfo\": {\n      \"title\": \"Folens Maths Programme\",\n      \"authors\": [\"Laura Nolan\"],\n      \"publisher\": \"Folens Limited\",\n      \"publishedDate\": \"2002-04\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781843032014\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1843032015\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 68,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Mathematics\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.3.2.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=FA2u5Gc0WpEC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=FA2u5Gc0WpEC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=FA2u5Gc0WpEC&printsec=frontcover&dq=maths&hl=&cd=5&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=FA2u5Gc0WpEC&dq=maths&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Folens_Maths_Programme.html?hl=&id=FA2u5Gc0WpEC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Folens_Maths_Programme-sample-pdf.acsm?id=FA2u5Gc0WpEC&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=FA2u5Gc0WpEC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 136,\n    \"etag\": \"f2itMyHSaXs\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/5RjtDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Maths Mate – 2\",\n      \"authors\": [\"Madhubun\"],\n      \"publisher\": \"Vikas Publishing House\",\n      \"description\": \"1. It is a series of eight textbooks for Classes 1 to 8 that conforms to the vision of National Curriculum Framework and is written in accordance with the latest syllabus of the CBSE. 2. Learning Objectives: Lists well what a learner will know and be able to do after studying the chapter. 3. Let’s Recall: Refreshes the concepts learnt in the form of a revision exercise to brush up the concepts taught in previous chapters or grades. 4. Let’s Begin: Introduction to the chapter. 5. My Notes: Tips to help the learner remember the important points/formulae taught in the chapter. 6. Let’s Try: Simple straight forward questions for quick practice while studying any topic based on the first two levels of Bloom’s Taxonomy —Knowledge and Understanding. 7. Error Alarm: Common mistakes which learners commit often along with the correct way of doing the same. 8. Know More: Additional information for the learners relating to the concepts learnt in the chapter 9. Maths in My Life includes questions relating Maths to daily life and which can help relate the topic with the environment (life) around us. 10. Tricky Maths: Challenge questions to help the learners build thinking skills and reasoning skills by solving tricky questions. 11. Project Work: Projects which can help learners connect Math with our daily life or that take the concepts learnt to a new level. 12. Concept Map: Summary points to list the important concepts learnt in the chapter in a crisp form. 13. Test Zone: Revision exercise of the concepts learnt in the chapter. This includes both objective and subjective type of questions. 14. Mental Maths: Maths problems for performing faster calculations mentally. 15. Maths Master: Involves deep critical thinking of learners about any topic, concept, relation, fact or anything related to that chapter. May have open ended questions or extension of the topic. 16. Application in Real-Life: Every chapter in each book also explains how and where it is used in daily life. 17. In the Lab: Math lab activities for helping the learners understand the concepts learnt through hands-on experience. 18. Practice Zone: Chapter-wise practice sheets includes subjective questions for additional practice which are a part of each book.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9789352719709\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"9352719700\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Mathematics\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.0.1.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=5RjtDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=5RjtDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=5RjtDwAAQBAJ&printsec=frontcover&dq=maths&hl=&cd=6&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=5RjtDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=5RjtDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 536.9,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 268.45,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=5RjtDwAAQBAJ&rdid=book-5RjtDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 536900000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 268450000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Maths_Mate_2-sample-pdf.acsm?id=5RjtDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=5RjtDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"1. It is a series of eight textbooks for Classes 1 to 8 that conforms to the vision of National Curriculum Framework and is written in accordance with the latest syllabus of the CBSE. 2.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 137,\n    \"etag\": \"yBDUsKd0SU4\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/nbXvDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Problems in Maths for JEE (Main & Advanced) - Volume 2\",\n      \"authors\": [\"Career Point Kota\"],\n      \"publisher\": \"Career Point Publication\",\n      \"publishedDate\": \"2020-07-07\",\n      \"description\": \"Problems in Maths for JEE (Main & Advanced) by Career Point – Volume 2 is a collection of conceptual questions along with detailed solutions. These questions are thought-provoking and cover the application of various concepts in solving problems. Questions in this book are handpicked by experienced faculty members of Career Point to enhance the following skills of the students– 1. Understanding of concepts and their application to the grass-root level. 2. Improving their scoring ability & accuracy by providing an opportunity to practice a variety of questions. The book approaches the subject in a very conceptual and coherent manner. Chapter-wise varieties of questions are arranged in a sequential manner to build a strong foundation of fundamentals. The coverage and features of books make it highly useful for all those preparing for JEE (Main & Advanced) and aspiring to become IITians or NITians. The book is also useful for students who are preparing for KVPY and Olympiads. This volume consists of chapter wise challenging questions with detailed explanatory solutions from the following chapters for JEE- 1. Function 2. Inverse Trigonometric Functions 3. Limit 4. Continuity 5. Differentiation 6. Application of Derivatives # 1 (Tangent & Normal) 7. Application of Derivatives # 2 (Monotonicity) 8. Application of Derivatives # 3 (Maxima & Minima) 9. Indefinite Integration 10. Definite Integration 11. Area Under the Curve 12. Differential Equation 13. Probability 14. Determinants 15. Matrices 16. Vector 17. Three Dimensional Geometry (3D) Highlights: Improves student’s critical thinking & application of concepts in varied situations As per the requirement of JEE(Advanced) Improves self-learning hence enhances confidence and scoring ability Also useful for Olympiad and other high-level competitive exams Prepared by Career Point Kota classroom Faculty Team\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9788193262832\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"8193262832\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 404,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Mathematics\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=nbXvDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=nbXvDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=nbXvDwAAQBAJ&pg=PP1&dq=maths&hl=&cd=7&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=nbXvDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=nbXvDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 97.94,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 97.94,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=nbXvDwAAQBAJ&rdid=book-nbXvDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 97940000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 97940000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Problems_in_Maths_for_JEE_Main_Advanced-sample-pdf.acsm?id=nbXvDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=nbXvDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The book is also useful for students who are preparing for KVPY and Olympiads. This volume consists of chapter wise challenging questions with detailed explanatory solutions from the following chapters for JEE- 1. Function 2.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 138,\n    \"etag\": \"i41PwBldd4U\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/xNBmtwAACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Math Doctor\",\n      \"subtitle\": \"Year 9 & 10 Maths Study Guide\",\n      \"authors\": [\"Fouad Abi-Esber\"],\n      \"publishedDate\": \"2009\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0975770985\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780975770986\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 144,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Mathematics\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=xNBmtwAACAAJ&dq=maths&hl=&cd=8&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=xNBmtwAACAAJ&dq=maths&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Math_Doctor.html?hl=&id=xNBmtwAACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=xNBmtwAACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 139,\n    \"etag\": \"Q9wl5s4jq5s\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/O-2MzQEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Fundamentals of Mathematics \\\\\",\n      \"authors\": [\"Denny Burzynski\", \"Wade Ellis\"],\n      \"publishedDate\": \"2008\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"OTHER\",\n          \"identifier\": \"OCLC:1148175442\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Mathematics\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=O-2MzQEACAAJ&dq=maths&hl=&cd=9&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=O-2MzQEACAAJ&dq=maths&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Fundamentals_of_Mathematics.html?hl=&id=O-2MzQEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=O-2MzQEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 140,\n    \"etag\": \"G8SIx447Lac\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/yviNswEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"This Is Not Another Maths Book\",\n      \"subtitle\": \"A Smart Art Activity Book\",\n      \"authors\": [\"Anna Weltman\"],\n      \"publishedDate\": \"2017-07-06\",\n      \"description\": \"Discover the clever craft behind the beautiful numbers and patterns of maths with this awesome activity book, packed with fun drawing challenges based on math tricks and rules.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1782404988\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781782404989\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 80,\n      \"printType\": \"BOOK\",\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=yviNswEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=yviNswEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=yviNswEACAAJ&dq=maths&hl=&cd=10&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=yviNswEACAAJ&dq=maths&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/This_Is_Not_Another_Maths_Book.html?hl=&id=yviNswEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=yviNswEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Discover the clever craft behind the beautiful numbers and patterns of maths with this awesome activity book, packed with fun drawing challenges based on math tricks and rules.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 141,\n    \"etag\": \"WZgfYU5s7wU\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/UCstDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"WILDLIFE BIOLOGY : AN INDIAN PERSPECTIVE\",\n      \"authors\": [\"GOUTAM KUMAR SAHA\", \"SUBHENDU MAZUMDAR\"],\n      \"publisher\": \"PHI Learning Pvt. Ltd.\",\n      \"publishedDate\": \"2017-07-01\",\n      \"description\": \"his book attempts to cover the whole gamut of wildlife in India portraying its different dimensions and conservation. Comprising thirteen chapters, the book is enriched with principles, theories, methods and tools of wildlife study, latest findings in Indian perspective including supportive data, and photographs of wildlife species in their natural habitat inclusive of colour plates. The chapters on ‘Wildlife tools and techniques’, ‘Special wildlife management programmes’ and ‘Wildlife legislations and initiatives’ will certainly attract special attention of the readers. The students who wish to pursue career in wildlife biology will be benefited with the book as it provides comprehensive understanding of the common field methods in wildlife research. The present text is a pioneer effort of the authors to fulfill the course requirement of undergraduate and postgraduate students of wildlife biology and zoology. The book will be equally valuable for the wildlife conservationists, academicians and those who are actively engaged in wildlife research.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9788120353138\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"8120353137\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 328,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Science\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"0.1.2.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=UCstDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=UCstDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=UCstDwAAQBAJ&printsec=frontcover&dq=wildlife&hl=&cd=1&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=UCstDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=UCstDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 584.1,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 292.05,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=UCstDwAAQBAJ&rdid=book-UCstDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 584100000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 292050000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/WILDLIFE_BIOLOGY_AN_INDIAN_PERSPECTIVE-sample-epub.acsm?id=UCstDwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/WILDLIFE_BIOLOGY_AN_INDIAN_PERSPECTIVE-sample-pdf.acsm?id=UCstDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=UCstDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The book will be equally valuable for the wildlife conservationists, academicians and those who are actively engaged in wildlife research.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 142,\n    \"etag\": \"MIj7HkCCJ/k\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/e_faAAAAMAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Treasures of Indian Wildlife\",\n      \"authors\": [\"Ashok S. Kothari\", \"B. F. Chhapgar\"],\n      \"publisher\": \"Oxford University Press\",\n      \"publishedDate\": \"2005\",\n      \"description\": \"Selections from the Society's Library's books, journals, and gazeteers, and from its Journal.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"OTHER\",\n          \"identifier\": \"UOM:39015069128265\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 224,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Language Arts & Disciplines\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.2.1.0.preview.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=e_faAAAAMAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=e_faAAAAMAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=e_faAAAAMAAJ&q=wildlife&dq=wildlife&hl=&cd=2&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=e_faAAAAMAAJ&dq=wildlife&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Treasures_of_Indian_Wildlife.html?hl=&id=e_faAAAAMAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=e_faAAAAMAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Selections from the Society&#39;s Library&#39;s books, journals, and gazeteers, and from its Journal.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 143,\n    \"etag\": \"taj6Hzi0+VI\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/TNnf6FbDWZ8C\",\n    \"volumeInfo\": {\n      \"title\": \"Practical Wildlife Care\",\n      \"authors\": [\"Les Stocker\"],\n      \"publisher\": \"Wiley-Blackwell\",\n      \"publishedDate\": \"2005-09-02\",\n      \"description\": \"Wildlife care and rehabilitation is often on a one-to-one basis and involves a lot of time, care and skill. However, for many years, care of injured wildlife was regarded as a low priority and euthanasia was the recommended option. A lot has changed over the past twenty years and now caring for wildlife casualties is part of everyday life in many veterinary practices. Following on from the major success of the first edition, this second edition provides even more useful information on wildlife care and rehabilitation. As well as covering a whole range of species, with sections on birds, mammals, reptiles and amphibians, this edition now includes information on many 'alien' species appearing in the British countryside such as wallabies, wild boar and exotic reptiles. In this edition: * Essential guidance on handling, first aid, feeding and releasing, and many other disciplines not featured in veterinary or nursing training; * Full of helpful tips from an expert in wildlife rehabilitation who has unparalleled practical experience; * Expanded chapters on the care of all species - particularly casualty badgers, otters and hedgehogs - and more comprehensive guidance on rearing orphaned mammals and birds; * Lots more colour pictures to aid in management and care techniques and the latest information on zoonotic diseases from around the world.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781405127493\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"140512749X\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 352,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Medical\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=TNnf6FbDWZ8C&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=TNnf6FbDWZ8C&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=TNnf6FbDWZ8C&dq=wildlife&hl=&cd=3&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=TNnf6FbDWZ8C&dq=wildlife&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Practical_Wildlife_Care.html?hl=&id=TNnf6FbDWZ8C\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=TNnf6FbDWZ8C&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"In this edition: Essential guidance on handling, first aid, feeding and releasing, and many other disciplines not featured in veterinary or nursing training Full of helpful tips from an expert in wildlife rehabilitation who has unparalleled ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 144,\n    \"etag\": \"JXs4lhl3gnM\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/1K3YoAEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Urban Wildlife Conservation\",\n      \"subtitle\": \"Theory and Practice\",\n      \"authors\": [\n        \"Robert A. McCleery\",\n        \"Christopher Moorman\",\n        \"M. Nils Peterson\"\n      ],\n      \"publisher\": \"Springer\",\n      \"publishedDate\": \"2014-11-11\",\n      \"description\": \"In the past, wildlife living in urban areas were ignored by wildlife professionals and urban planners because cities were perceived as places for people and not for wild animals. Paradoxically, though, many species of wildlife thrive in these built environments. Interactions between humans and wildlife are more frequent in urban areas than any other place on earth and these interactions impact human health, safety and welfare in both positive and negative ways. Although urban wildlife control pest species, pollinate plants and are fun to watch, they also damage property, spread disease and even attack people and pets. In urban areas, the combination of dense human populations, buildings, impermeable surfaces, introduced vegetation, and high concentrations of food, water and pollution alter wildlife populations and communities in ways unseen in more natural environments. For these ecological and practical reasons, researchers and mangers have shown a growing interest in urban wildlife ecology and management. This growing interest in urban wildlife has inspired many studies on the subject that have yet to be synthesized in a cohesive narrative. Urban Wildlife: Theory and Practice fills this void by synthesizing the latest ecological and social knowledge in the subject area into an interdisciplinary and practical text. This volume provides a foundation for the future growth and understanding of urban wildlife ecology and management by: • Clearly defining the concepts used to study and describe urban wildlife, • Offering a cohesive understanding of the coupled natural and social drivers that shape urban wildlife ecology, • Presenting the patterns and processes of wildlife response to an urbanizing world and explaining the mechanisms behind them and • Proposing means to create physical and social environments that are mutually beneficial for both humans and wildlife.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1489974997\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781489974990\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 0,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Science\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=1K3YoAEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=1K3YoAEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=1K3YoAEACAAJ&dq=wildlife&hl=&cd=4&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=1K3YoAEACAAJ&dq=wildlife&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Urban_Wildlife_Conservation.html?hl=&id=1K3YoAEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=1K3YoAEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This volume provides a foundation for the future growth and understanding of urban wildlife ecology and management by: • Clearly defining the concepts used to study and describe urban wildlife • Offering a cohesive understanding of the ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 145,\n    \"etag\": \"OootfEM+x8M\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/bkBm5AAACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Wildlife and Conservation Volunteering\",\n      \"subtitle\": \"The Complete Guide\",\n      \"authors\": [\"Peter Lynch\"],\n      \"publisher\": \"Bradt Publications\",\n      \"publishedDate\": \"2012\",\n      \"description\": \"A unique feature of this guide is its dedicated focus on wildlife and environmental conservation volunteering. It is aimed at all three sectors of the age and career spectrum: young people such as gap year students and backpackers; the larger market of vacation conservation volunteers; and the early retired. Peter Lynch investigates rather than lists different types of organisations including charities, clearinghouses, eco-tour operators and travel agents. He audits, analyses and deconstructs them according to a range of verifiable criteria, including their scientific validity.This second edition had been completely updated and expanded, including more organizations, updated assessments, more volunteer stories and more field adventures. There is also a new chapter on great wildlife migration events - how, when and where to see them, with more great photographs. The guide includes long- and short-term opportunities from roughing it in tents, through simple permanent accommodation to quasi-luxury. The extensive range of expedition opportunities include working with antelope, big cats, birds, coral reefs, dolphins, elephants, fish, hippos, monkeys, orang-utans, turtles, whales, zebras, injured wildlife and people - in every type of habitat - all over the globe. First-hand accounts by volunteers reveal the day-to-day life of being a volunteer.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1841623830\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781841623832\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 258,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Nature\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=bkBm5AAACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=bkBm5AAACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=bkBm5AAACAAJ&dq=wildlife&hl=&cd=5&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=bkBm5AAACAAJ&dq=wildlife&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Wildlife_and_Conservation_Volunteering.html?hl=&id=bkBm5AAACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=bkBm5AAACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"A unique feature of this guide is its dedicated focus on wildlife and environmental conservation volunteering.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 146,\n    \"etag\": \"lubgLpUZcpo\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/DPgTAAAAYAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The demand for nonconsumptive wildlife uses\",\n      \"subtitle\": \"a review of the literature\",\n      \"authors\": [\"Thomas A. More\"],\n      \"publishedDate\": \"1979\",\n      \"description\": \"\\\"Nonconsumptive wildlife use is a generic term for a variety of recreational activities related to wildlife. Primary nonconsumptive uses include general wildlife observation, birdwatching, birdfeeding, and wildlife and bird photography. Secondary activities include nature walks, membership in animal-related organizations, ownership of wildlife pets, and zoo visitation. This report reviews the literature about the demand for nonconsumptive wildlife, based on surveys of the attitudes, preferences, participation, and expenditures for related activities.\\\"--Title page verso.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"OTHER\",\n          \"identifier\": \"UVA:X002398128\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 22,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Bird watching\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.4.6.0.full.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=DPgTAAAAYAAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=DPgTAAAAYAAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=DPgTAAAAYAAJ&printsec=frontcover&dq=wildlife&hl=&cd=6&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=DPgTAAAAYAAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=DPgTAAAAYAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FREE\",\n      \"isEbook\": true,\n      \"buyLink\": \"https://play.google.com/store/books/details?id=DPgTAAAAYAAJ&rdid=book-DPgTAAAAYAAJ&rdot=1&source=gbs_api\"\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"ALL_PAGES\",\n      \"embeddable\": true,\n      \"publicDomain\": true,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false,\n        \"downloadLink\": \"http://books.google.co.in/books/download/The_demand_for_nonconsumptive_wildlife_u.epub?id=DPgTAAAAYAAJ&hl=&output=epub&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=DPgTAAAAYAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"FULL_PUBLIC_DOMAIN\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This report reviews the literature about the demand for nonconsumptive wildlife, based on surveys of the attitudes, preferences, participation, and expenditures for related activities.&quot;--Title page verso.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 147,\n    \"etag\": \"Y+DKtWjqKj8\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/Mk8qwAU6w18C\",\n    \"volumeInfo\": {\n      \"title\": \"Animals in Traditional Folk Medicine\",\n      \"subtitle\": \"Implications for Conservation\",\n      \"authors\": [\"Rômulo Alves\", \"Ierecê Lucena Rosa\"],\n      \"publisher\": \"Springer Science & Business Media\",\n      \"publishedDate\": \"2012-09-19\",\n      \"description\": \"People have relied on medicinal products derived from natural sources for millennia, and animals have long been an important part of that repertoire; nearly all cultures, from ancient times to the present, have used animals as a source of medicine. Ingredients derived from wild animals are not only widely used in traditional remedies, but are also increasingly valued as raw materials in the preparation of modern medicines. Regrettably, the unsustainable use of plants and animals in traditional medicine is recognized as a threat to wildlife conservation, as a result of which discussions concerning the links between traditional medicine and biodiversity are becoming increasingly imperative, particularly in view of the fact that folk medicine is the primary source of health care for 80% of the world’s population. This book discusses the role of animals in traditional folk medicine and its meaning for wildlife conservation. We hope to further stimulate further discussions about the use of biodiversity and its implications for wildlife conservation strategies.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9783642290251\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"3642290256\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 494,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Science\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=Mk8qwAU6w18C&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=Mk8qwAU6w18C&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=Mk8qwAU6w18C&printsec=frontcover&dq=wildlife&hl=&cd=7&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=Mk8qwAU6w18C&dq=wildlife&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Animals_in_Traditional_Folk_Medicine.html?hl=&id=Mk8qwAU6w18C\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Animals_in_Traditional_Folk_Medicine-sample-pdf.acsm?id=Mk8qwAU6w18C&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=Mk8qwAU6w18C&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book discusses the role of animals in traditional folk medicine and its meaning for wildlife conservation.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 148,\n    \"etag\": \"5pF/mDlsUOQ\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/3R06DwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Guide to the Wildlife of Southwest China\",\n      \"authors\": [\"William McShea\"],\n      \"publisher\": \"Smithsonian Institution\",\n      \"publishedDate\": \"2018-05-29\",\n      \"description\": \"Guide to the Wildlife of Southwest China allows readers to enter the fascinating world of Southwest China, a biodiverse hot spot teeming with interesting wildlife. This field guide, designed to inform nature reserve staff, students of natural history, and casual wildlife tourists alike, presents one hundred and thirty species along with detailed descriptions, a range map, and full color photographs..\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781944466145\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1944466142\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 312,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Nature\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.2.3.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=3R06DwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=3R06DwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=3R06DwAAQBAJ&printsec=frontcover&dq=wildlife&hl=&cd=8&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=3R06DwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=3R06DwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 2994.4,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 2994.4,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=3R06DwAAQBAJ&rdid=book-3R06DwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 2994400000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 2994400000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Guide_to_the_Wildlife_of_Southwest_China-sample-epub.acsm?id=3R06DwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Guide_to_the_Wildlife_of_Southwest_China-sample-pdf.acsm?id=3R06DwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=3R06DwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This field guide, designed to inform nature reserve staff, students of natural history, and casual wildlife tourists alike, presents one hundred and thirty species along with detailed descriptions, a range map, and full color photographs.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 149,\n    \"etag\": \"NC+aB/IMD+A\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/mfgEAQAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Free-Ranging Dogs and Wildlife Conservation\",\n      \"authors\": [\"Matthew E. Gompper\"],\n      \"publisher\": \"Oxford University Press\",\n      \"publishedDate\": \"2013-10\",\n      \"description\": \"This edited volume adopts a global perspective to review how dogs interact with wildlife, how humans perceive these interactions, the potential importance of dog-wildlife interactions, and the scope of the problems.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780199663217\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0199663211\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 329,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Nature\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.2.0.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=mfgEAQAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=mfgEAQAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=mfgEAQAAQBAJ&printsec=frontcover&dq=wildlife&hl=&cd=9&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=mfgEAQAAQBAJ&dq=wildlife&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Free_Ranging_Dogs_and_Wildlife_Conservat.html?hl=&id=mfgEAQAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Free_Ranging_Dogs_and_Wildlife_Conservat-sample-pdf.acsm?id=mfgEAQAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=mfgEAQAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This edited volume adopts a global perspective to review how dogs interact with wildlife, how humans perceive these interactions, the potential importance of dog-wildlife interactions, and the scope of the problems.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 150,\n    \"etag\": \"u+GMFchkagM\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/fVLEV64qYfcC\",\n    \"volumeInfo\": {\n      \"title\": \"Conservation of Wildlife Populations\",\n      \"subtitle\": \"Demography, Genetics and Management\",\n      \"authors\": [\"L. Scott Mills\"],\n      \"publisher\": \"John Wiley & Sons\",\n      \"publishedDate\": \"2009-03-12\",\n      \"description\": \"Professor L. Scott Mills has been named a 2009 Guggenheim Fellowby the board of trustees of the John Simon Guggenheim MemorialFoundation. Conservation of Wildlife Populations provides anaccessible introduction to the most relevant concepts andprinciples for solving real-world management problems in wildlifeand conservation biology. Bringing together insights fromtraditionally disparate disciplines, the book shows how populationbiology addresses important questions involving the harvest,monitoring, and conservation of wildlife populations. Covers the most up-to-date approaches for assessing factorsthat affect both population growth and interactions with otherspecies, including predation, genetic changes, harvest, introducedspecies, viability analysis and habitat loss andfragmentation. Is an essential guide for undergraduates and postgraduatestudents of wildlife biology, conservation biology, ecology, andenvironmental studies and an invaluable resource for practisingmanagers on how population biology can be applied to wildlifeconservation and management. Artwork from the book is available to instructors online at ahref=\\\"http://www.blackwellpublishing.com/mills\\\"www.blackwellpublishing.com/mills/a.An Instructor manual CD-ROM for this title is available. Pleasecontact our Higher Education team at ahref=\\\"mailto:HigherEducation@wiley.com\\\"HigherEducation@wiley.com/afor more information.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781444308938\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1444308939\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 425,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Science\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.1.0.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=fVLEV64qYfcC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=fVLEV64qYfcC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=fVLEV64qYfcC&printsec=frontcover&dq=wildlife&hl=&cd=10&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=fVLEV64qYfcC&dq=wildlife&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Conservation_of_Wildlife_Populations.html?hl=&id=fVLEV64qYfcC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Conservation_of_Wildlife_Populations-sample-pdf.acsm?id=fVLEV64qYfcC&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=fVLEV64qYfcC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Bringing together insights fromtraditionally disparate disciplines, the book shows how populationbiology addresses important questions involving the harvest,monitoring, and conservation of wildlife populations.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 151,\n    \"etag\": \"0RE4Z6rgL+A\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/c6E_EAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Football Book\",\n      \"subtitle\": \"The Teams *The Rules *The Leagues *The Tactics\",\n      \"authors\": [\"DK\"],\n      \"publisher\": \"Dorling Kindersley Ltd\",\n      \"publishedDate\": \"2021-12-09\",\n      \"description\": \"This is the ultimate e-guide for any football fan who wants to know everything about the \\\"beautiful game\\\" - from World Cup winners to football skills and techniques. Whether you are a keen player, a lifelong supporter, or an armchair football manager, this ebook illustrates every aspect of the most popular sport in the world. The Football Book reveals the story behind the game - from the history of the sport to the results of tournaments in the 2019-20 season, and the rescheduled 2020 European Cup. Eye-catching step-by-step artworks and jargon-free text profile the roles of players, equipment, team formations, strategies, and individual skills, while maps, quotes, and statistics give you all of the key facts on national teams, famous club sides, and iconic players, as well as the greatest competitions around the world.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780241560389\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0241560381\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 400,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Sports & Recreation\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.4.2.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=c6E_EAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=c6E_EAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=c6E_EAAAQBAJ&pg=PA1&dq=football&hl=&cd=1&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=c6E_EAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=c6E_EAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 2108.58,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 2108.58,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=c6E_EAAAQBAJ&rdid=book-c6E_EAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 2108580000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 2108580000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Football_Book-sample-epub.acsm?id=c6E_EAAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Football_Book-sample-pdf.acsm?id=c6E_EAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=c6E_EAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This is the ultimate e-guide for any football fan who wants to know everything about the &quot;beautiful game&quot; - from World Cup winners to football skills and techniques.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 152,\n    \"etag\": \"6LGI5FAB2fI\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/oGv1DwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Mapping the Pitch\",\n      \"subtitle\": \"Football Formations Through The Ages\",\n      \"authors\": [\"Edward Couzens-Lake\"],\n      \"publisher\": \"Meyer & Meyer Sport\",\n      \"publishedDate\": \"2015-08-20\",\n      \"description\": \"This book takes an informal and entertaining look at some of the most influential football coaches and teams in the game's history as well as exploring some of the origins of football's more wellknown formations and the players who were an integral part of them. By taking an informative yet informal and entertaining look at the history and evolution of football formations and tactics, the author identifies just a few of some of the pioneering figures in the early years of the game, people like Jack Hunter, the visionary coach of Blackburn Olympic who prepared his team for a crucial match by taking them to the seaside for a few days of \\\"...hard running on the towns famous sands as well as a regular diet of oysters, and, very strictly, no beer\\\" and the players of Queens Park FC who conceived and played tiki-taka football over a century before Pep Guardiola and his all-conquering Barcelona players were even born. Mapping The Pitch also looks at some of the great international sides in the games history, including the Hungary team which so astonished and captivated the sporting world in the 1950's, not least because of the role played by and exceptional ability of a player very few people will have heard of today, Nándor Hidegkuti, one of the forerunners of the position that made players like Pelé, Cruyff and Maradona so revered in the modern game. It also explores the contemporary theme within the game that sees teams enter matches with a mentality of looking not to lose rather than to win, a telling but subtle difference between football today and how it was half a century and more ago, one typified by an emphasis on midfield domination and possession-one that is not so dissimilar to the priorities teams adopted in mob football in the middle ages.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781782557265\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1782557261\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 304,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Sports & Recreation\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.0.1.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=oGv1DwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=oGv1DwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=oGv1DwAAQBAJ&printsec=frontcover&dq=football&hl=&cd=2&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=oGv1DwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=oGv1DwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 1011,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 505.5,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=oGv1DwAAQBAJ&rdid=book-oGv1DwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 1011000000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 505500000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Mapping_the_Pitch-sample-pdf.acsm?id=oGv1DwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=oGv1DwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book takes an informal and entertaining look at some of the most influential football coaches and teams in the game&#39;s history as well as exploring some of the origins of football&#39;s more wellknown formations and the players who were an ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 153,\n    \"etag\": \"bfoD+M0efBY\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/kd79AQAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Future of Football\",\n      \"subtitle\": \"Challenges for the Twenty-first Century\",\n      \"authors\": [\"Jon Garland\", \"Dominic Malcolm\", \"Mike Rowe\"],\n      \"publisher\": \"Routledge\",\n      \"publishedDate\": \"2013-11-05\",\n      \"description\": \"World football has undergone unprecedented change over the past decade. On the field, the richest European clubs have retained their pre-eminence, but with multinational playing squads backed up by global marketing industries. Club ownership rests increasingly with impersonal shareholders, rather than local business figures. Domestic and international football competitions are being transformed by the financial power of the mass media. The world's top players are paid far more than their peers from previous eras. This volume covers a wide range of topical issues which football players, fans and administrators will have to confront in the years to come.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781135306250\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1135306257\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 260,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Sports & Recreation\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.5.6.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=kd79AQAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=kd79AQAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=kd79AQAAQBAJ&printsec=frontcover&dq=football&hl=&cd=3&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=kd79AQAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=kd79AQAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 5491.72,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 5491.72,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=kd79AQAAQBAJ&rdid=book-kd79AQAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 5491720000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 5491720000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Future_of_Football-sample-epub.acsm?id=kd79AQAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Future_of_Football-sample-pdf.acsm?id=kd79AQAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=kd79AQAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The world&#39;s top players are paid far more than their peers from previous eras. This volume covers a wide range of topical issues which football players, fans and administrators will have to confront in the years to come.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 154,\n    \"etag\": \"EIdE5+iRX3E\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/m-QsEAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Football, Family, Gender and Identity\",\n      \"subtitle\": \"The Football Self\",\n      \"authors\": [\"Hanya Pielichaty\"],\n      \"publisher\": \"Routledge\",\n      \"publishedDate\": \"2021-05-12\",\n      \"description\": \"This book presents a cross-disciplinary examination of the lived experiences of girls and women football players using theoretical insights from sports studies, psychology, sociology and gender studies. It examines the concept of ‘the football self’ – your own, personal football identity that encapsulates the importance of football to our everyday lives – and what that can tell us about the complex relationships between sport, family, gender and identity. The book draws on in-depth ethnographic research involving players and family members, and offers important new insights into the everyday experiences of those girls and women who play. It breaks new ground in focusing on the significant relationships between player and family with a particular focus on parenting through football. The book brings to the fore key debates around gender identity, barriers to participation, cultural gaps and discrimination. The author also brings a personal perspective to bear, drawing on experience gained over 20 years as a player, adding an extra critical layer to her important empirical research. This is essential reading for all researchers and students with an interest in football, sport studies or issues around gender, inclusion or the family in sport, and fascinating reading for anybody generally curious about football.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781000412208\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1000412202\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 156,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Social Science\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=m-QsEAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=m-QsEAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=m-QsEAAAQBAJ&printsec=frontcover&dq=football&hl=&cd=4&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=m-QsEAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=m-QsEAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 1904.52,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 1904.52,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=m-QsEAAAQBAJ&rdid=book-m-QsEAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 1904520000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 1904520000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Football_Family_Gender_and_Identity-sample-epub.acsm?id=m-QsEAAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Football_Family_Gender_and_Identity-sample-pdf.acsm?id=m-QsEAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=m-QsEAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book presents a cross-disciplinary examination of the lived experiences of girls and women football players using theoretical insights from sports studies, psychology, sociology and gender studies.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 155,\n    \"etag\": \"9FfPJ7uws+g\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/KZvHwtAB1ekC\",\n    \"volumeInfo\": {\n      \"title\": \"Red: My Autobiography\",\n      \"authors\": [\"Gary Neville\"],\n      \"publisher\": \"Random House\",\n      \"publishedDate\": \"2011-09-01\",\n      \"description\": \"No player has been more synonymous with the glory years of Manchester United Football Club over the past two decades than right-back Gary Neville. An Old Trafford regular since he attended his first match at the age of six, captain of the brilliant 1992 FA Youth Cup-winning team that became known as 'Fergie's Fledglings', outspoken representative of MUFC, Neville is the ultimate one-club man. He has been at the heart of it all and, at the end of an amazing career, is now ready to tell it all. Authoritative, insightful, fearless and never less than 100% honest, no-one has better credentials for documenting the story of United under Sir Alex Ferguson. Neville reveals the behind-the-scenes secrets of his early days with the likes of Giggs, Scholes and his best mate David Beckham; what it was like to play with Cantona, Keane and Ronaldo; the Treble in 1999; and of course an entire career of playing for the greatest manager in the game. Then there are all his experiences with England, from being the youngest starter at Euro 96 when football came home, to the ups and downs of five major championships and seven managers - Venables, Hoddle, Wilkinson, Keegan, Eriksson, McClaren and Capello. There are opinions and analysis on Gazza, Rooney, WAGs and the true story of the FA and Rio Ferdinand. For twenty glorious years, Gary Neville has worn his heart on his sleeve. This is his story.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781446465196\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1446465195\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 416,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Biography & Autobiography\"],\n      \"averageRating\": 4.5,\n      \"ratingsCount\": 8,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"0.19.6.0.preview.2\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=KZvHwtAB1ekC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=KZvHwtAB1ekC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=KZvHwtAB1ekC&printsec=frontcover&dq=football&hl=&cd=5&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=KZvHwtAB1ekC&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=KZvHwtAB1ekC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 400.02,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 280.01,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=KZvHwtAB1ekC&rdid=book-KZvHwtAB1ekC&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 400020000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 280010000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Red_My_Autobiography-sample-epub.acsm?id=KZvHwtAB1ekC&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=KZvHwtAB1ekC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"There are opinions and analysis on Gazza, Rooney, WAGs and the true story of the FA and Rio Ferdinand. For twenty glorious years, Gary Neville has worn his heart on his sleeve. This is his story.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 156,\n    \"etag\": \"S51HeEHdyJk\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/kXiGDAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The New Business of Football\",\n      \"subtitle\": \"Accountability and Finance in Football\",\n      \"authors\": [\"S. Morrow\"],\n      \"publisher\": \"Springer\",\n      \"publishedDate\": \"1999-04-12\",\n      \"description\": \"This dynamic study of the business of football considers its income and cost drivers, its capital structure and its accounting policies through UK examples and international comparison. Also addressed are the conflicts arising out of the incorporation of football and the dichotomy between sport and business, leading to a suggested contemporary framework for accountability and business behaviour.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780230371743\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0230371744\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 236,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Business & Economics\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.2.2.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=kXiGDAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=kXiGDAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=kXiGDAAAQBAJ&printsec=frontcover&dq=football&hl=&cd=6&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=kXiGDAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=kXiGDAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 8401.6,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 8401.6,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=kXiGDAAAQBAJ&rdid=book-kXiGDAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 8401600000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 8401600000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_New_Business_of_Football-sample-pdf.acsm?id=kXiGDAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=kXiGDAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This dynamic study of the business of football considers its income and cost drivers, its capital structure and its accounting policies through UK examples and international comparison.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 157,\n    \"etag\": \"DpjWqS070fM\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/nQ6ingEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Football Book\",\n      \"authors\": [\n        \"David Goldblatt\",\n        \"Dorling Kindersley Publishing Staff\",\n        \"Johnny Acton\"\n      ],\n      \"publishedDate\": \"2014\",\n      \"description\": \"Have all the football facts at your fingertips ready for the 2014 World Cup Learn to shoot like Suárez and dribble like Messi with The Football Book, the ultimate visual guide to planet football - revised and updated to include details of all the stats, goal tallies and cup wins. You can also follow the excitement of the Brazil 2014 World Cup with a brand new wallchart profiling all the qualifying countries. You'll relive the finest moments of the players, coaches and teams who have created football history and learn everything from match highlights to the inside stories on the players, managers and fans. Use The Football Book(previous ISBN 9781405360586) to find out about the laws, the tactics, the science, and the art of the beautiful game. With a fantastic cover that feels just like a football, it's a great gift for football lovers and sports enthusiasts alike.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1409346978\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781409346975\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 0,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Soccer\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=nQ6ingEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=nQ6ingEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=nQ6ingEACAAJ&dq=football&hl=&cd=7&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=nQ6ingEACAAJ&dq=football&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/The_Football_Book.html?hl=&id=nQ6ingEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=nQ6ingEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Have all the football facts at your fingertips ready for the 2014 World Cup Learn to shoot like Suárez and dribble like Messi with The Football Book, the ultimate visual guide to planet football - revised and updated to include details of ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 158,\n    \"etag\": \"HN7dgaCEl5Q\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/mZM9vQEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Football School Season 3\",\n      \"subtitle\": \"Where Football Explains\",\n      \"authors\": [\"Alex Bellos\", \"Ben Lyttleton\"],\n      \"publisher\": \"Football School\",\n      \"publishedDate\": \"2019-03\",\n      \"description\": \"View more details of this book at www.walkerbooks.com.au\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1406386405\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781406386400\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 176,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Science\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=mZM9vQEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=mZM9vQEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=mZM9vQEACAAJ&dq=football&hl=&cd=8&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=mZM9vQEACAAJ&dq=football&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Football_School_Season_3.html?hl=&id=mZM9vQEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=mZM9vQEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The third book in the bestselling series that teaches you about the world through football. This book is packed with awesome true stories, real science and fascinating facts and will make you laugh loads - and it&#39;s all about football.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 159,\n    \"etag\": \"nlMLDvoYsl8\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/8S1BLVPZqOsC\",\n    \"volumeInfo\": {\n      \"title\": \"Football Goes East\",\n      \"subtitle\": \"Business, Culture and the People's Game in East Asia\",\n      \"authors\": [\"John Horne\", \"Wolfram Manzenreiter\"],\n      \"publisher\": \"Routledge\",\n      \"publishedDate\": \"2004-09-23\",\n      \"description\": \"Global popular culture and big business have revolutionised the East in a generation. Football, Sport of the masses and now commercial super power, has travelled with this tide of change in the East in its own right. The development of football as a major participatory sport in Japan, Korea and China makes it an ideal case study for analysis of the complex relationship between sport, culture, society and economy in the East. Football is also a useful entry point for examination of the phenomena of increasing globalisation, and this theme is widely discussed. This broad ranging collection of essays includes: - Social change and national identity - Women's football and gender traditions - Finance and investment in football - The development of professional football - Football and the media - Football Fans, 'hooligans' and soccer supporter culture\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781134365586\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1134365586\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 285,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"History\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.3.0.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=8S1BLVPZqOsC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=8S1BLVPZqOsC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=8S1BLVPZqOsC&printsec=frontcover&dq=football&hl=&cd=9&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=8S1BLVPZqOsC&dq=football&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Football_Goes_East.html?hl=&id=8S1BLVPZqOsC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Football_Goes_East-sample-pdf.acsm?id=8S1BLVPZqOsC&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=8S1BLVPZqOsC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This broad ranging collection of essays includes: - Social change and national identity - Women&#39;s football and gender traditions - Finance and investment in football - The development of professional football - Football and the media - ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 160,\n    \"etag\": \"CafoBAClnEE\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/aTYtBgAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Managing Football\",\n      \"authors\": [\"Simon Chadwick\", \"Sean Hamil\"],\n      \"publisher\": \"Routledge\",\n      \"publishedDate\": \"2010-07-15\",\n      \"description\": \"Managing Football is the first book to directly respond to the rapid managerial, commercial and global development of the sport and offers a thorough analysis of how the football industry can meet the challenges that flow from these developments. Expertly edited by two well known specialists in football business management, it draws together the work of a world-class contributor team to form a comprehensive analysis of the most important issues facing the managers of football businesses across the world. The cutting edge analysis examines all the important business challenges in the football industry and the management of football businesses and covers all of the key football markets including England, Spain, France, Italy, Germany, Australia, North America, China, South Africa, South Korea, the Netherlands & Belgium, and Mexico. Managing Football is simply a must-read for anyone studying or working in football business management and is set to be an important landmark in this rapidly moving and globally expansive field.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781136437632\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1136437630\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 514,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Business & Economics\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.1.0.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=aTYtBgAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=aTYtBgAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=aTYtBgAAQBAJ&printsec=frontcover&dq=football&hl=&cd=10&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=aTYtBgAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=aTYtBgAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 5491.72,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 5491.72,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=aTYtBgAAQBAJ&rdid=book-aTYtBgAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 5491720000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 5491720000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Managing_Football-sample-pdf.acsm?id=aTYtBgAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=aTYtBgAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Managing Football is the first book to directly respond to the rapid managerial, commercial and global development of the sport and offers a thorough analysis of how the football industry can meet the challenges that flow from these ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 161,\n    \"etag\": \"BCrQZEK0ylI\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/3EvowAEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Open Water Swimming\",\n      \"authors\": [\"Penny Lee Dean\"],\n      \"publisher\": \"Human Kinetics Publishers\",\n      \"publishedDate\": \"1998\",\n      \"description\": \"Presents stretches, drills, and workouts for open water swimmers, with conditioning plans, event profiles, and mental training techniques\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0880117044\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780880117043\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 223,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Fiction\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=3EvowAEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=3EvowAEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=3EvowAEACAAJ&dq=swimming&hl=&cd=1&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=3EvowAEACAAJ&dq=swimming&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Open_Water_Swimming.html?hl=&id=3EvowAEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=3EvowAEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Presents stretches, drills, and workouts for open water swimmers, with conditioning plans, event profiles, and mental training techniques\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 162,\n    \"etag\": \"x7/OcpRcss0\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/hcci6RP9juYC\",\n    \"volumeInfo\": {\n      \"title\": \"Swimming Lessons (The Beach House, Book 2)\",\n      \"authors\": [\"Mary Alice Monroe\"],\n      \"publisher\": \"HarperCollins UK\",\n      \"publishedDate\": \"2011-12-01\",\n      \"description\": \"Toy Sooner has dealt with enough rough waves in her troubled past. It's only been through the enduring love of a close-knit group of women on this tiny island that she's finally started to find her footing. But as new challenges in her career arise for this young single mother, the choices and demons of her past will catch up to her.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781408975978\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1408975971\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 339,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Fiction\"],\n      \"averageRating\": 4,\n      \"ratingsCount\": 4,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.7.7.0.preview.2\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=hcci6RP9juYC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=hcci6RP9juYC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=hcci6RP9juYC&pg=PT9&dq=swimming&hl=&cd=2&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=hcci6RP9juYC&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=hcci6RP9juYC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 798.06,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 399.03,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=hcci6RP9juYC&rdid=book-hcci6RP9juYC&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 798060000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 399030000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Swimming_Lessons_The_Beach_House_Book_2-sample-epub.acsm?id=hcci6RP9juYC&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=hcci6RP9juYC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"I ignore the hunger that gnaws at my belly and <b>swim</b> through the living broth of drifting plankton. I push past gangly, gliding invertebrates and hallucinatory looking creatures, beyond the wreck fish and sea bream that share space&nbsp;...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 163,\n    \"etag\": \"T08tP9J35cs\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/b6Vpedt1zc0C\",\n    \"volumeInfo\": {\n      \"title\": \"Swimming\",\n      \"authors\": [\"Clive Gifford\"],\n      \"publisher\": \"Marshall Cavendish\",\n      \"publishedDate\": \"2010-01-30\",\n      \"description\": \"This exciting new series explores different sports, describing how and where you play them as well as the equipment and gear you'll need. There are tips on training and on practicing techniques. The books also feature heroes of the sport, with photos of them in action at the world's greatest competition. In this book you can find out all about basketball and learn how to develop your skills as a player. clear, friendly text Highly illustrated, with pictures of children demonstrating techniques and shots of famous basketball players in action Fascinating facts and statistics with historical flashbacks and record-breaking performances Glossary and index Book jacket.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0761444629\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780761444626\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 32,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Swimming\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.3.5.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=b6Vpedt1zc0C&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=b6Vpedt1zc0C&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=b6Vpedt1zc0C&printsec=frontcover&dq=swimming&hl=&cd=3&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=b6Vpedt1zc0C&dq=swimming&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Swimming.html?hl=&id=b6Vpedt1zc0C\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Swimming-sample-pdf.acsm?id=b6Vpedt1zc0C&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=b6Vpedt1zc0C&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This exciting new series explores different sports, describing how and where you play them as well as the equipment and gear you&#39;ll need.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 164,\n    \"etag\": \"xm2W2food+k\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/gH-TEAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Swimming-Pool Library\",\n      \"authors\": [\"Alan Hollinghurst\"],\n      \"publisher\": \"Vintage\",\n      \"publishedDate\": \"1989-09-19\",\n      \"description\": \"The dazzling first novel from the best-selling, Booker Prize-Winning author of The Line of Beauty and The Sparsholt Affair. An enthralling, darkly erotic novel of homosexuality before the scourge of AIDS; an elegy, possessed of chilling clarity, for ways of life that can no longer be lived with impunity. The Swimming-Pool Library focuses on the friendship of two men: William Beckwith, a young gay aristocrat who leads a life of privilege and promiscuity, and Lord Nantwich, an elderly man searching for someone to write his biography and inherit his traditions.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780679722564\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0679722564\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 0,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Fiction\"],\n      \"averageRating\": 4,\n      \"ratingsCount\": 14,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=gH-TEAAAQBAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=gH-TEAAAQBAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=gH-TEAAAQBAJ&dq=swimming&hl=&cd=4&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=gH-TEAAAQBAJ&dq=swimming&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/The_Swimming_Pool_Library.html?hl=&id=gH-TEAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=gH-TEAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The dazzling first novel from the best-selling, Booker Prize-Winning author of The Line of Beauty and The Sparsholt Affair.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 165,\n    \"etag\": \"MLK+pKwfbJk\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/YKyAu8YGacgC\",\n    \"volumeInfo\": {\n      \"title\": \"Swimming Pools\",\n      \"subtitle\": \"Design and Construction, Fourth Edition\",\n      \"authors\": [\"Philip H. Perkins\"],\n      \"publisher\": \"CRC Press\",\n      \"publishedDate\": \"2000-02-03\",\n      \"description\": \"The fourth edition of this classic book provides a comprehensive treatise on the design and construction of swimming pools, both public and private. Significantly revised, it covers planning, materials, design, construction and finishing, water circulation and treatment, energy conservation, maintenance and repairs. This is a standard book for all civil engineers who need to design and construct swimming pools, and a useful reference on the design of water-retaining structures.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780419235903\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0419235906\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 250,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Architecture\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"2.2.5.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=YKyAu8YGacgC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=YKyAu8YGacgC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=YKyAu8YGacgC&printsec=frontcover&dq=swimming&hl=&cd=5&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=YKyAu8YGacgC&dq=swimming&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Swimming_Pools.html?hl=&id=YKyAu8YGacgC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Swimming_Pools-sample-epub.acsm?id=YKyAu8YGacgC&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Swimming_Pools-sample-pdf.acsm?id=YKyAu8YGacgC&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=YKyAu8YGacgC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The fourth edition of this classic book provides a comprehensive treatise on the design and construction of swimming pools, both public and private.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 166,\n    \"etag\": \"Wisekkqw7to\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/YecZZV1ryJgC\",\n    \"volumeInfo\": {\n      \"title\": \"Swimming for Fitness\",\n      \"subtitle\": \"A Guide to Developing a Self-Directed Swimming Program\",\n      \"authors\": [\"David A. Grootenhuis\"],\n      \"publisher\": \"iUniverse\",\n      \"publishedDate\": \"2002-10\",\n      \"description\": \"Swimming is one of the most beneficial and refreshing ways to exercise. However, many swimmers miss the greatest benefits of the sport. These swimmers train by swimming continuously for an allotted time or for a specified distance. By organizing and structuring their time in the pool, swimmers can greatly increase the benefits and enjoyment they derive from their workouts. Swimming for Fitness is a complete guide to developing a swimming program. Topics include goal setting, choosing a facility, structuring a program, equipment, organizing workouts, open water swimming, tips on stroke mechanics, pool etiquette and dealing with minor ailments. The book includes sample workouts for swimmers of all levels, from beginners to experienced swimmers. Also included are examples of swimming drills, stretching exercises and tips on staying motivated. Swimming for Fitness is a complete guide to designing a swimming program to get in shape, stay in shape and feel great!\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780595253005\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0595253008\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 128,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Health & Fitness\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.2.3.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=YecZZV1ryJgC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=YecZZV1ryJgC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=YecZZV1ryJgC&printsec=frontcover&dq=swimming&hl=&cd=6&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=YecZZV1ryJgC&dq=swimming&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Swimming_for_Fitness.html?hl=&id=YecZZV1ryJgC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Swimming_for_Fitness-sample-epub.acsm?id=YecZZV1ryJgC&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Swimming_for_Fitness-sample-pdf.acsm?id=YecZZV1ryJgC&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=YecZZV1ryJgC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The book includes sample workouts for swimmers of all levels, from beginners to experienced swimmers. Also included are examples of swimming drills, stretching exercises and tips on staying motivated.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 167,\n    \"etag\": \"jhOLoebmMao\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/3Sw9DgAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Swimming Drill Book, 2E\",\n      \"authors\": [\"Guzman, Ruben\"],\n      \"publisher\": \"Human Kinetics\",\n      \"publishedDate\": \"2017-03-01\",\n      \"description\": \"The best-selling drill book in the sport is now updated, expanded, and improved. More than 175 drills, accompanied by detailed illustrations, will help coaches and swimmers master every skill. Drills for strokes, starts, turns, and finishes, as well as for buoyancy and body balance, breathing and kicking, and sculling, are bolstered by new chapters on poolside strength training and open-water swimming.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781492508366\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1492508365\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 368,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Sports & Recreation\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.2.1.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=3Sw9DgAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=3Sw9DgAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=3Sw9DgAAQBAJ&printsec=frontcover&dq=swimming&hl=&cd=7&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=3Sw9DgAAQBAJ&dq=swimming&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/The_Swimming_Drill_Book_2E.html?hl=&id=3Sw9DgAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Swimming_Drill_Book_2E-sample-pdf.acsm?id=3Sw9DgAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=3Sw9DgAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The best-selling drill book in the sport is now updated, expanded, and improved.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 168,\n    \"etag\": \"XehS57oOm2A\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/l9BClwEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Swimming Across\",\n      \"subtitle\": \"A Memoir\",\n      \"authors\": [\"Andrew S. Grove\"],\n      \"publisher\": \"Grand Central Pub\",\n      \"publishedDate\": \"2001\",\n      \"description\": \"A memoir by the chairman of Intel describes growing up in Europe on the eve of Nazi Germany's invasion of his native Hungary, his flight from communism to America as a young man, and his rise to success in the business world.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0446528595\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780446528597\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 290,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Biography & Autobiography\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=l9BClwEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=l9BClwEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=l9BClwEACAAJ&dq=swimming&hl=&cd=8&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=l9BClwEACAAJ&dq=swimming&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Swimming_Across.html?hl=&id=l9BClwEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=l9BClwEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"A memoir by the chairman of Intel describes growing up in Europe on the eve of Nazi Germany&#39;s invasion of his native Hungary, his flight from communism to America as a young man, and his rise to success in the business world.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 169,\n    \"etag\": \"rt6k0D3akJk\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/nYp8AwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Open Water Swimming\",\n      \"subtitle\": \"A Complete Guide for Swimmers and Triathletes\",\n      \"authors\": [\"Emma Davis\"],\n      \"publisher\": \"Crowood\",\n      \"publishedDate\": \"2013-11-30\",\n      \"description\": \"Open Water Swimming: A Complete Guide for Swimmers and Triathletes is aimed at all levels of open water swimmer, from beginners right through to competing professionals. It covers all aspects of the sport: its history and health benefits; a thorough introduction to getting started; a full discussion on training equipment and how it should be used; the safety and legal aspects of choosing a suitable location for swimming; acclimatization for both the beginner and the experienced swimmer. The author then goes on to explain in detail all technical aspects of open water swimming; sighting; drafting; turning around buoys; entraces, exits and transitions. Topics covered include: the importance of nutrition - for training, competition and improving recovery - and injury prevention and rehab, including a programme for core stability and stretching. The only open water swimming guide to be written by a professional athlete and Olympian. Basic training programmes for Triathlon 750m and 1500m distances, Ironman events and 10km and channel swimming. Superbly illustrated with 75 colour photographs.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781847976109\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1847976107\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 155,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Sports & Recreation\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.4.4.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=nYp8AwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=nYp8AwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=nYp8AwAAQBAJ&printsec=frontcover&dq=swimming&hl=&cd=9&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=nYp8AwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=nYp8AwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 838.95,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 419.48,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=nYp8AwAAQBAJ&rdid=book-nYp8AwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 838950000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 419480000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Open_Water_Swimming-sample-epub.acsm?id=nYp8AwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Open_Water_Swimming-sample-pdf.acsm?id=nYp8AwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=nYp8AwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Open Water Swimming: A Complete Guide for Swimmers and Triathletes is aimed at all levels of open water swimmer, from beginners right through to competing professionals.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 170,\n    \"etag\": \"QNZdMnaopdI\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/RQvomoMfTngC\",\n    \"volumeInfo\": {\n      \"title\": \"Bio-mechanisms of Swimming and Flying\",\n      \"subtitle\": \"Fluid Dynamics, Biomimetic Robots, and Sports Science\",\n      \"authors\": [\"Naomi Kato\", \"Shinji Kamimura\"],\n      \"publisher\": \"Springer Science & Business Media\",\n      \"publishedDate\": \"2008-01-08\",\n      \"description\": \"This book covers a wide range of animals from flagellated microorganisms to marine mammals. It follows \\\"Bio-mechanisms of Animals in Swimming and Flying\\\" published in 2004 including 11 chapters. This time, the book includes 31 chapters on the latest researches into natural autonomous systems and locomotion in both flying and swimming organisms. The area of sports science such as analysis and simulation of human swimming is newly added. The computational frameworks for the modeling, simulation and optimization of animals in swimming and flying demonstrate an important role in the progress of interdisciplinary work in the fields of biology and engineering.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9784431733805\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"4431733809\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 403,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Science\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"3.5.3.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=RQvomoMfTngC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=RQvomoMfTngC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=RQvomoMfTngC&printsec=frontcover&dq=swimming&hl=&cd=10&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=RQvomoMfTngC&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=RQvomoMfTngC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 16874,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 16874,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=RQvomoMfTngC&rdid=book-RQvomoMfTngC&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 16874000000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 16874000000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Bio_mechanisms_of_Swimming_and_Flying-sample-pdf.acsm?id=RQvomoMfTngC&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=RQvomoMfTngC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book covers a wide range of animals from flagellated microorganisms to marine mammals. It follows &quot;Bio-mechanisms of Animals in Swimming and Flying&quot; published in 2004 including 11 chapters.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 171,\n    \"etag\": \"U6QNXWGVTkA\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/VNA1DwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Speed Read F1\",\n      \"subtitle\": \"The Technology, Rules, History and Concepts Key to the Sport\",\n      \"authors\": [\"Stuart Codling\"],\n      \"publisher\": \"Speed Read\",\n      \"publishedDate\": \"2017-10-10\",\n      \"description\": \"Don't be intimidated by F1, Speed Read F1 is your guide to this great sports tech, rules, history, culture and concepts in one stylish, easy-to-read package.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780760355626\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0760355622\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 162,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Sports & Recreation\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=VNA1DwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=VNA1DwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=VNA1DwAAQBAJ&printsec=frontcover&dq=f1&hl=&cd=1&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=VNA1DwAAQBAJ&dq=f1&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Speed_Read_F1.html?hl=&id=VNA1DwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Speed_Read_F1-sample-pdf.acsm?id=VNA1DwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=VNA1DwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Don&#39;t be intimidated by F1, Speed Read F1 is your guide to this great sports tech, rules, history, culture and concepts in one stylish, easy-to-read package.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 172,\n    \"etag\": \"kkP/651J1c0\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/ClDUDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Formula One: The Champions\",\n      \"subtitle\": \"70 years of legendary F1 drivers\",\n      \"authors\": [\"Maurice Hamilton\"],\n      \"publisher\": \"White Lion Publishing\",\n      \"publishedDate\": \"2020-03-03\",\n      \"description\": \"Since the Grand Prix’s start in 1950 just 33 men have achieved the accolade of F1 World Champion. For the first time, legendary F1 commentator Maurice Hamilton and award-winning photographers Bernard and Paul-Henri Cahier bring the heroes of this iconic sport together, in a stunning photographic portrayal of the poise, skill and winning mindset that separates the fast from the furious, the elite from the talented. With exclusive quotes from icons such as Lewis Hamilton and Nico Rosberg, and including Maurice’s historic interviews with the sport’s lost heroes – including James Hunt and Aryton Senna – F1: The Champions is a beautiful tribute to the most ferocious of sports and the incredible sportsmen who drive at the edge in pursuit of greatness.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781781319468\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1781319464\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 243,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Sports & Recreation\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.1.0.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=ClDUDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=ClDUDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=ClDUDwAAQBAJ&printsec=frontcover&dq=f1&hl=&cd=2&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=ClDUDwAAQBAJ&dq=f1&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Formula_One_The_Champions.html?hl=&id=ClDUDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Formula_One_The_Champions-sample-pdf.acsm?id=ClDUDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=ClDUDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"For the first time, legendary F1 commentator Maurice Hamilton and award-winning photographers Bernard and Paul-Henri Cahier bring the heroes of this iconic sport together, in a stunning photographic portrayal of the poise, skill and winning ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 173,\n    \"etag\": \"gb0IKtbCGOg\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/Py-oDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"F1 Mavericks\",\n      \"subtitle\": \"The Men and Machines that Revolutionized Formula 1 Racing\",\n      \"authors\": [\"Pete Biro\", \"George Levy\"],\n      \"publisher\": \"Motorbooks\",\n      \"publishedDate\": \"2019-08-06\",\n      \"description\": \"F1 Mavericks is the story of the grandest, most influential, and most fondly remembered era in Formula 1 racing as seen through the lens of master motorsports photographer, Pete Biro. The period from 1960 to 1982 saw the greatest technological changes in the history of Formula 1 racing: the transition from front engines to rear engines, narrow-treaded tires, massive racing slicks, zero downforce, and neck-wrenching ground effects—and, of course, a staggering increase in performance and reduction in lap times. In short, the period saw the creation of the modern Formula 1 car. This is also the time when legendary names who defined F1 were out in full force: Jim Clark, Jack Brabham, Dan Gurney, Sir Jackie Stewart, Graham Hill, Niki Lauda, James Hunt, Bruce McLaren, Jody Scheckter. We’ll see and meet all of them. But F1 Mavericks also focuses on the designers and engineers behind the cars—men like Colin Chapman, Sir Patrick Head, Maurice Philippe, Franco Rochhi, Gordon Murray, and many others. We’ll hear directly from many of them, including a foreword from 1978 F1 World Champion, Mario Andretti. Every chapter is a photographic account of key races throughout the period, supplemented with sidebars featuring key designers and technologies, like wings, ground effects, slick tires, turbochargers, and the Brabham “fan” suction car. F1 Mavericks is an international story, and includes loads of information on designs from Japan (Honda), Britain (McLaren, Tyrrell, Cooper, BRM) Italy (Ferrari, Maserati, Alfa Romeo), France (Matra, Ligier, Renault), Germany (Porsche, BMW) and the United States (Eagle, Shadow, Penske, Parnelli). Strap yourself in for the story of the greatest era in Formula 1 racing—it's all here in F1 Mavericks.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780760362211\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0760362211\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 243,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Transportation\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.1.0.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=Py-oDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=Py-oDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=Py-oDwAAQBAJ&printsec=frontcover&dq=f1&hl=&cd=3&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=Py-oDwAAQBAJ&dq=f1&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/F1_Mavericks.html?hl=&id=Py-oDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/F1_Mavericks-sample-pdf.acsm?id=Py-oDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=Py-oDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"F1 Mavericks is the story of the grandest, most influential, and most fondly remembered era in Formula 1 racing as seen through the lens of master motorsports photographer, Pete Biro.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 174,\n    \"etag\": \"PRofQ6D9JzE\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/LbytAAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"F1\",\n      \"subtitle\": \"A History of Formula One Racing\",\n      \"authors\": [\"Frank Foster\"],\n      \"publisher\": \"BookCaps Study Guides\",\n      \"publishedDate\": \"2013-09-05\",\n      \"description\": \"For as long as there have been automobiles, there have been courageous men and women with nerves of steel, willing to risk life and limb to race them. This book takes you on an inside look at one of the greatest racing sports of them all: F1. Let HistorCaps take you on a journey through the creation of the sport to what the future holds! HistoryCaps is an imprint of BookCaps Study Guides. With each book, a brief period of history is recapped. We publish a wide array of topics (from baseball and music to science and philosophy), so check our growing catalogue regularly to see our newest books.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781621075738\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1621075737\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 70,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Sports & Recreation\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.1.1.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=LbytAAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=LbytAAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=LbytAAAAQBAJ&printsec=frontcover&dq=f1&hl=&cd=4&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=LbytAAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=LbytAAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 579.61,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 289.8,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=LbytAAAAQBAJ&rdid=book-LbytAAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 579610000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 289800000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/F1-sample-epub.acsm?id=LbytAAAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/F1-sample-pdf.acsm?id=LbytAAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=LbytAAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book takes you on an inside look at one of the greatest racing sports of them all: F1. Let HistorCaps take you on a journey through the creation of the sport to what the future holds! HistoryCaps is an imprint of BookCaps Study Guides.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 175,\n    \"etag\": \"uMGBmCYRgDw\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/SdYTDgAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Formula One: The Pursuit of Speed\",\n      \"subtitle\": \"A Photographic Celebration of F1's Greatest Moments\",\n      \"authors\": [\"Maurice Hamilton\"],\n      \"publisher\": \"Aurum\",\n      \"publishedDate\": \"2016-11-01\",\n      \"description\": \"The adrenaline-fueled, high-octane world of Formula One has created some of the greatest moments in sporting history. From the intense rivalries between teams and drivers, such as Alain Prost and Arton Senns and 2015's Rosberg and Hamilton, to the infamous tracks that have created moments of tragedy and triumph -- F1's greatest moments read like a film script. The Cahier Archive has captured the drama from the 1950's to the present day including Lewis Hamilton's 2015 winning season. It is fulled with stunning behind-the-scenes shots, from pit stops to personal moments, beautiful portraits of the drivers and atmospheric shots of the racing in action. Structured around three sections: Drivers and Rivalries, Teams and Cars, and Tragedy and Triumph of the Circuits, Formula 1: The Pursuit of Speed captures the intensity and beauty of the sport. Each sectionis introduced with vivid essays by F1 correspondent Maurice Hamilton, and filled with the Cahier's beautiful and resonating photographs, many unpublished giving a behind-the-scenes look at the world of F1.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781781316498\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"178131649X\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 272,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Photography\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.2.3.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=SdYTDgAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=SdYTDgAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=SdYTDgAAQBAJ&printsec=frontcover&dq=f1&hl=&cd=5&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=SdYTDgAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=SdYTDgAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 3885.21,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 3885.21,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=SdYTDgAAQBAJ&rdid=book-SdYTDgAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 3885210000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 3885210000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Formula_One_The_Pursuit_of_Speed-sample-epub.acsm?id=SdYTDgAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Formula_One_The_Pursuit_of_Speed-sample-pdf.acsm?id=SdYTDgAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=SdYTDgAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Each sectionis introduced with vivid essays by F1 correspondent Maurice Hamilton, and filled with the Cahier&#39;s beautiful and resonating photographs, many unpublished giving a behind-the-scenes look at the world of F1.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 176,\n    \"etag\": \"bkb+UkEiEtI\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/UUkgEAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Ferrari Formula 1 Car by Car\",\n      \"subtitle\": \"Every Race Car Since 1950\",\n      \"authors\": [\"Stuart Codling\"],\n      \"publisher\": \"Motorbooks International\",\n      \"publishedDate\": \"2021-05-25\",\n      \"description\": \"Ferrari Formula 1 Car by Car is the complete guide to every Ferrari Formula 1 car that has competed since 1950.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780760367773\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0760367779\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 230,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Sports & Recreation\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.0.1.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=UUkgEAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=UUkgEAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=UUkgEAAAQBAJ&printsec=frontcover&dq=f1&hl=&cd=6&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=UUkgEAAAQBAJ&dq=f1&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Ferrari_Formula_1_Car_by_Car.html?hl=&id=UUkgEAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Ferrari_Formula_1_Car_by_Car-sample-pdf.acsm?id=UUkgEAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=UUkgEAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Ferrari Formula 1 Car by Car is the complete guide to every Ferrari Formula 1 car that has competed since 1950.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 177,\n    \"etag\": \"gsK1ifZ/Gzs\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/SpUaDgAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Mechanic\",\n      \"subtitle\": \"The Secret World of the F1 Pitlane\",\n      \"authors\": [\"Marc 'Elvis' Priestley\"],\n      \"publisher\": \"Random House\",\n      \"publishedDate\": \"2017-11-02\",\n      \"description\": \"Meet Marc 'Elvis' Priestley: the former number-one McLaren mechanic, and the brains behind some of Formula One's greatest ever drivers. Revealing the most outrageous secrets and fiercest rivalries, The Mechanic follows Priestley as he travels the world working in the high-octane atmosphere of the F1 pit lane. While the spotlight is most often on the superstar drivers, the mechanics are the guys who make every World Champion, and any mistakes can have critical consequences. However, these highly skilled engineers don't just fine-tune machinery and crunch data through high-spec computers. These boys can seriously let their hair down. Whether it's partying on luxury yachts or gravity-defying photos aboard aeroplanes, this is a world which thrills on and off the track. This is Formula One, but not like you've seen it before.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781473548893\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1473548896\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 256,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Sports & Recreation\"],\n      \"averageRating\": 3,\n      \"ratingsCount\": 2,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.9.10.0.preview.2\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=SpUaDgAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=SpUaDgAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=SpUaDgAAQBAJ&printsec=frontcover&dq=f1&hl=&cd=7&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=SpUaDgAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=SpUaDgAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 530.11,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 265.06,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=SpUaDgAAQBAJ&rdid=book-SpUaDgAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 530110000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 265060000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Mechanic-sample-epub.acsm?id=SpUaDgAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=SpUaDgAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Whether it&#39;s partying on luxury yachts or photo opportunites aboard gravity-defying aeroplanes, this is a world which thrills on and off the track. This is Formula One, but not like you&#39;ve seen it before.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 178,\n    \"etag\": \"glBqWAP931s\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/NUs-AQAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Inspired to Design\",\n      \"subtitle\": \"– F1 cars, Indycars & racing tyres: the autobiography of Nigel Bennett\",\n      \"authors\": [\"Nigel Bennett\"],\n      \"publisher\": \"Veloce Publishing Ltd\",\n      \"publishedDate\": \"2013-10-15\",\n      \"description\": \"Nigel Bennett’s unique autobiography describes his life and career, from growing-up influenced by car design, to his education and the building of his 750 specials. He describes his work as Firestone Development Manager, recounting many tales of the outstanding designers and drivers of the period. Detailing his work in Formula 1, as a Team Lotus engineer, and then as Team Ensign designer, he also covers his Indycar designs at Theodore, Lola Cars and Penske Cars. Life after his retirement, his involvement in boat design and with modern F1 teams, are also recounted.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781845845360\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1845845366\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": false\n      },\n      \"pageCount\": 176,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Sports & Recreation\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"0.1.1.0.preview.2\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=NUs-AQAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=NUs-AQAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=NUs-AQAAQBAJ&printsec=frontcover&dq=f1&hl=&cd=8&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=NUs-AQAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=NUs-AQAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 2139.79,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 2139.79,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=NUs-AQAAQBAJ&rdid=book-NUs-AQAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 2139790000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 2139790000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Inspired_to_Design-sample-epub.acsm?id=NUs-AQAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=NUs-AQAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Nigel Bennett’s unique autobiography describes his life and career, from growing-up influenced by car design, to his education and the building of his 750 specials.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 179,\n    \"etag\": \"zbOtiWlTYQE\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/DCujDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"How To Be An F1 Driver\",\n      \"subtitle\": \"My Guide To Life In The Fast Lane\",\n      \"authors\": [\"Jenson Button\"],\n      \"publisher\": \"Kings Road Publishing\",\n      \"publishedDate\": \"2019-10-17\",\n      \"description\": \"AUTHOR OF SUNDAY TIMES BESTSELLER, LIFE TO THE LIMIT In his 17 years as a Formula 1 driver, Jenson Button has picked up a thing or two about how to do the job properly. Sure, you need to be able to drive a car fast - and Jenson is on hand to pass on a few tricks of the trade here - but you also need to know the real rules for making it to the top. Like, how to tell a multiple F1 champion they need to check their blind-spot. What the difference is between a helmet and a hat, and indeed a 'helmet-hat'. How to practise your champagne spray ahead of the big day. Why it is never, ever, under any circumstances a good idea to buy a yacht. And how to face down your team when you've just stacked their multi-million-pound car into a wall during practice. But 'JB' (nicknames in F1 run the full range from initials to, well, just using first names) doesn't stop there. HTBAF1D (catchy) lifts the lid on the people, the places, the weird rituals, the motorhomes, the media, the cars, the perks and the disasters. Join Jenson as he reveals how not to race a stupid big truck, why driving Le Mans is like having five shots of tequila before lunch, and what to do when you finally hang up your helmet-hat.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781788702638\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1788702638\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 285,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Transportation\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.4.3.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=DCujDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=DCujDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=DCujDwAAQBAJ&printsec=frontcover&dq=f1&hl=&cd=9&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=DCujDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=DCujDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 510.86,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 255.43,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=DCujDwAAQBAJ&rdid=book-DCujDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 510860000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 255430000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/How_To_Be_An_F1_Driver-sample-epub.acsm?id=DCujDwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/How_To_Be_An_F1_Driver-sample-pdf.acsm?id=DCujDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=DCujDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"AUTHOR OF SUNDAY TIMES BESTSELLER, LIFE TO THE LIMIT In his 17 years as a Formula 1 driver, Jenson Button has picked up a thing or two about how to do the job properly.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 180,\n    \"etag\": \"TVT9MTN9onE\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/UYRtEAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Formula One: The Pinnacle\",\n      \"subtitle\": \"The pivotal events that made F1 the greatest motorsport series\",\n      \"authors\": [\"Tony Dodgins\", \"Simon Arron\"],\n      \"publisher\": \"Ivy Press\",\n      \"publishedDate\": \"2022-05-10\",\n      \"description\": \"With a foreword by Guenther Steiner - Team Principal of the Haas Formula One Team, Formula 1: The Pinnacle tracks a history of the changes which have taken F1 from its rudimentary beginnings to the exhilarating high octane spectacle it is today. The biggest change in a generation is coming to F1 in 2022. Technical changes aimed at levelling the playing field for the teams combined with the sport’s tightening budget cap will make the races closer than ever. There will be more sprint races – trialled in 2021 – and greater fan interest driven by Netflix’s hugely successful ‘Drive to Survive’ series. So, how did we get here? How did F1 become the acknowledged ‘Pinnacle of Motorsport’? Simon Arron and Tony Dodgins have identified the 100 most significant changes to the series since its inception in 1950. Formula One is unrecognizable from its debut season, where drivers raced around on old bomber training aerodrome in Northamptonshire with oil drums to mark the corners and straw bales the only concession to safety. New fans will welcome a complete and highly illustrated guide to the history of F1, while older fans will be able to compare their own views of what were the pivotal moments of change, in a book written by experienced motoring writers with two lifetimes worth of knowledge of the sport. The book will link technical progress with the personalities involved, indeed many of the swiftest changes have come about as a result of accidents or tragedies – the death of Roland Ratzenberger at Imola in 1994, the same weekend as Ayrton Senna, could have been avoided by the HANS safety device. The introduction of the halo saved Romain Grosjean’s life in Bahrain last year, but only came about because of the tragic accident that claimed Jules Bianchi in Japan. Along with changes to circuits and the technology of the cars, this book highlights the commercial changes and the controversies that threatened to split the sport apart - such as the threat of breakaway series proposed at various times by teams. A must-read for completists or for those new to the sport, F1: The Pinnacle is a fascinating insight into one of the most exciting and dangerous sports in the world.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780711274211\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0711274215\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 240,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Sports & Recreation\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=UYRtEAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=UYRtEAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=UYRtEAAAQBAJ&printsec=frontcover&dq=f1&hl=&cd=10&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=UYRtEAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=UYRtEAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 4857.55,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 4857.55,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=UYRtEAAAQBAJ&rdid=book-UYRtEAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 4857550000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 4857550000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Formula_One_The_Pinnacle-sample-epub.acsm?id=UYRtEAAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Formula_One_The_Pinnacle-sample-pdf.acsm?id=UYRtEAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=UYRtEAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"As Lewis Hamilton, Max Verstappen and Charles Leclerc battle it out head-to-head in the most hotly contested championship in years, this in-depth book, with a foreword from Haas team principal Guenther Steiner, tells the story of how the ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 181,\n    \"etag\": \"TAJ3GGYLZL4\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/72CHDQAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Android App Development\",\n      \"authors\": [\"Franceschi\"],\n      \"publisher\": \"Jones & Bartlett Learning\",\n      \"publishedDate\": \"2016-12-29\",\n      \"description\": \"Android App Development is written for the Android programming course and takes a building block approach, presenting a real app from start to finish in each chapter. Each chapter is broken down into manageable topics, demonstrating a topic and then a working app.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781284092127\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1284092127\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 700,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=72CHDQAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=72CHDQAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=72CHDQAAQBAJ&printsec=frontcover&dq=android&hl=&cd=1&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=72CHDQAAQBAJ&dq=android&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Android_App_Development.html?hl=&id=72CHDQAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Android_App_Development-sample-pdf.acsm?id=72CHDQAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=72CHDQAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Android App Development is written for the Android programming course and takes a building block approach, presenting a real app from start to finish in each chapter.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 182,\n    \"etag\": \"FY/CFpvi73Y\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/zmnhDAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Android App Development\",\n      \"subtitle\": \"A Complete Tutorial For Beginners\",\n      \"authors\": [\"Padmini\"],\n      \"publisher\": \"Educreation Publishing\",\n      \"publishedDate\": \"2016-08-25\",\n      \"description\": \"This book is a complete tutorial for the beginners in Android development. It can be read by the students of Btech in Computer science or Information Technology, Bachelors in Computer Application, Masters in Computer application. All the topics of this book are explained in reader’s digest version. At the end of this book, there is a small project.\",\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 264,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Self-Help\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.0.0.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=zmnhDAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=zmnhDAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=zmnhDAAAQBAJ&printsec=frontcover&dq=android&hl=&cd=2&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=zmnhDAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=zmnhDAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 352.82,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 246.97,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=zmnhDAAAQBAJ&rdid=book-zmnhDAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 352820000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 246970000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Android_App_Development-sample-pdf.acsm?id=zmnhDAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=zmnhDAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"All the topics of this book are explained in reader’s digest version. At the end of this book, there is a small project.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 183,\n    \"etag\": \"a7eXEVc16LY\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/onhDnwEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Android Internals - Volume I\",\n      \"subtitle\": \"A Confectioner's Cookbook\",\n      \"authors\": [\"Jonathan Levin\"],\n      \"publishedDate\": \"2014-10-24\",\n      \"description\": \"An in-depth exploration of the inner-workings of Android: In Volume I, we take the perspective of the Power User as we delve into the foundations of Android, filesystems, partitions, boot process, native daemons and services.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0991055527\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780991055524\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"printType\": \"BOOK\",\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=onhDnwEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=onhDnwEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=onhDnwEACAAJ&dq=android&hl=&cd=3&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=onhDnwEACAAJ&dq=android&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Android_Internals_Volume_I.html?hl=&id=onhDnwEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=onhDnwEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"An in-depth exploration of the inner-workings of Android: In Volume I, we take the perspective of the Power User as we delve into the foundations of Android, filesystems, partitions, boot process, native daemons and services.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 184,\n    \"etag\": \"CrY7IXrGpi4\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/qWYtAAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Business of Android Apps Development\",\n      \"subtitle\": \"Making and Marketing Apps that Succeed on Google Play, Amazon Appstore and More\",\n      \"authors\": [\"Mark Rollins\", \"Roy Sandberg\"],\n      \"publisher\": \"Apress\",\n      \"publishedDate\": \"2013-07-22\",\n      \"description\": \"The growing but still evolving success of the Android platform has ushered in a second mobile technology “gold rush” for app developers. Google Play and Amazon Appstore for Android apps has become the second go-to apps eco for today's app developers. While not yet as large in terms of number of apps as iTunes, Google Play and Amazon Appstore have so many apps that it has become increasingly difficult for new apps to stand out in the crowd. Achieving consumer awareness and sales longevity for your Android app requires a lot of organization and some strategic planning. Written for today's Android apps developer or apps development shop, this new and improved book from Apress, The Business of Android Apps Development, Second Edition, tells you today's story on how to make money on Android apps. This book shows you how to take your app from idea to design to development to distribution and marketing your app on Google Play or Amazon Appstore. This book takes you step-by-step through cost-effective marketing, public relations and sales techniques that have proven successful for professional Android app creators and indie shops—perfect for independent developers on shoestring budgets. It even shows you how to get interest from venture capitalists and how they view a successful app vs. the majority of so-so to unsuccessful apps in Android. No prior business knowledge is required. This is the book you wish you had read before you launched your first app! What you’ll learn How to take your app from idea to design to development to distributing and marketing your app on Google Play or Amazon Appstore How do Venture Capitalists validate new App Ideas, and use their techniques. How to monetize your app: Freemium, ads, in-app purchasing and more What are the programming tips and tricks that help you sell your app How to optimize your app for the marketplace How to marketing your app How to listen to your customer base, and grow your way to greater revenue Who this book is for This book is for those who have an idea for an app, but otherwise may know relatively little about entrepreneurship, app development, or even business in general. You should be able to pick up this book and feel like someone is holding your hand as they go through the process of evaluating your idea, learning to code, placing your app in the marketplace, marketing your app, and finally, improving your app to meet the needs of your customer base. Table of Contents1. The Android Market: A Background 2. Making Sure Your App Will Succeed 3. Legal Issues: Better Safe Than Sorry 4. A Brief Introduction to Android Development 5. Develop Apps Like a Pro 6. Making Money with Ads on Your Application 7. In-App Billing: Putting A Store in Your Application 8. Making App Marketplaces Work for You 9. Getting The Word Out 10. After You Have A User Base\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781430250074\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1430250070\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 162,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.2.2.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=qWYtAAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=qWYtAAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=qWYtAAAAQBAJ&printsec=frontcover&dq=android&hl=&cd=4&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=qWYtAAAAQBAJ&dq=android&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/The_Business_of_Android_Apps_Development.html?hl=&id=qWYtAAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Business_of_Android_Apps_Development-sample-epub.acsm?id=qWYtAAAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Business_of_Android_Apps_Development-sample-pdf.acsm?id=qWYtAAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=qWYtAAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book shows you how to take your app from idea to design to development to distribution and marketing your app on Google Play or Amazon Appstore.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 185,\n    \"etag\": \"Sed3ayHhq/I\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/Y6KfAwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Efficient Android Threading\",\n      \"subtitle\": \"Asynchronous Processing Techniques for Android Applications\",\n      \"authors\": [\"Anders Goransson\"],\n      \"publisher\": \"\\\"O'Reilly Media, Inc.\\\"\",\n      \"publishedDate\": \"2014-05-22\",\n      \"description\": \"Multithreading is essential if you want to create an Android app with a great user experience, but how do you know which techniques can help solve your problem? This practical book describes many asynchronous mechanisms available in the Android SDK, and provides guidelines for selecting the ones most appropriate for the app you’re building. Author Anders Goransson demonstrates the advantages and disadvantages of each technique, with sample code and detailed explanations for using it efficiently. The first part of the book describes the building blocks of asynchronous processing, and the second part covers Android libraries and constructs for developing fast, responsive, and well-structured apps. Understand multithreading basics in Java and on the Android platform Learn how threads communicate within and between processes Use strategies to reduce the risk of memory leaks Manage the lifecycle of a basic thread Run tasks sequentially in the background with HandlerThread Use Java’s Executor Framework to control or cancel threads Handle background task execution with AsyncTask and IntentService Access content providers with AsyncQueryHandler Use loaders to update the UI with new data\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781449364113\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"144936411X\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 279,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 4,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=Y6KfAwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=Y6KfAwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=Y6KfAwAAQBAJ&printsec=frontcover&dq=android&hl=&cd=5&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=Y6KfAwAAQBAJ&dq=android&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Efficient_Android_Threading.html?hl=&id=Y6KfAwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=Y6KfAwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This practical book describes many asynchronous mechanisms available in the Android SDK, and provides guidelines for selecting the ones most appropriate for the app you’re building.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 186,\n    \"etag\": \"jv7YAeZ1v+g\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/A31lDQAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Java Programming for Android Developers For Dummies\",\n      \"authors\": [\"Barry Burd\"],\n      \"publisher\": \"John Wiley & Sons\",\n      \"publishedDate\": \"2016-11-07\",\n      \"description\": \"Develop the next killer Android App using Java programming! Android is everywhere! It runs more than half the smartphones in the U.S.—and Java makes it go. If you want to cash in on its popularity by learning to build Android apps with Java, all the easy-to-follow guidance you need to get started is at your fingertips. Inside, you'll learn the basics of Java and grasp how it works with Android; then, you'll go on to create your first real, working application. How cool is that? The demand for Android apps isn't showing any signs of slowing, but if you're a mobile developer who wants to get in on the action, it's vital that you get the necessary Java background to be a success. With the help of Java Programming for Android Developers For Dummies, you'll quickly and painlessly discover the ins and outs of using Java to create groundbreaking Android apps—no prior knowledge or experience required! Get the know-how to create an Android program from the ground up Make sense of basic Java development concepts and techniques Develop the skills to handle programming challenges Find out how to debug your app Don't sit back and watch other developers release apps that bring in the bucks! Everything you need to create that next killer Android app is just a page away!\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781119301080\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1119301084\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 456,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.3.2.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=A31lDQAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=A31lDQAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=A31lDQAAQBAJ&printsec=frontcover&dq=android&hl=&cd=6&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=A31lDQAAQBAJ&dq=android&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Java_Programming_for_Android_Developers.html?hl=&id=A31lDQAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Java_Programming_for_Android_Developers-sample-pdf.acsm?id=A31lDQAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=A31lDQAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"With the help of Java Programming for Android Developers For Dummies, you&#39;ll quickly and painlessly discover the ins and outs of using Java to create groundbreaking Android apps—no prior knowledge or experience required!\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 187,\n    \"etag\": \"pM3fFnbiW5w\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/7dsAAAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Expert Android\",\n      \"authors\": [\"Satya Komatineni\", \"Dave MacLean\", \"Phani Kanakala\"],\n      \"publisher\": \"Apress\",\n      \"publishedDate\": \"2013-07-02\",\n      \"description\": \"From the leading publisher of Android books, Apress’ Expert Android gives you advanced techniques for customizing views, controls, and layouts. You’ll learn to develop apps in record time using JSON, Advanced Form Processing, and the BaaS (Backend As A Service) platform Parse. The book also includes extensive coverage on OpenGL, Search, and Telephony. With these advanced and time saving technologies you’ll be able to release compelling mobile applications in Google Play and the Amazon Appstore at a rapid pace. In Expert Android, you’ll learn to: Borrow, reuse, or build custom Android UI components Create 3D experiences using OpenGL ES 2.0 Write collaborative applications in the Parse cloud and communicate with your app user community through Parse Push Technology Reduce the time-to-market while creating rock solid apps for multiple devices Whether you are an individual or enterprise developer, in Expert Android you’ll find the advanced techniques and practices to take your mobile apps to the next level. Regardless of the Android release, this book serves as your definitive, capstone reference for your Apress Android experience. What you’ll learn How to deliver impactful Apps cheaper, better, and faster. How to develop for multiple devices and manage fragmentation in Android How to use Parse cloud for Storage, Collaborative Social Apps, and Push notifications How to create Custom Views, Controls, and Layouts How to create 3D experience with OpenGL ES 2.0 How to achieve speed to market through JSON, Form processing, and Parse How to eliminate memory leaks and poor-performing code Who this book is for This book is for advanced Android app developers who have read/used Pro Android already by the very same authors that bring you Expert Android. Table of Contents01. Custom Views 02. Compound Views 03. Custom Layouts 04. Using JSON for On-Device Persistence 05. Programming for multiple devices 06. Advanced Form Processing for Android 07. Using the Telephony API 08. Advanced Debugging and Analysis 09. Programming in OpenGL ES 2.0 for Android 10. Android Search User Experience 11. Android Search Providers 12. Android Search Custom Providers 13. Cloud storage for Applications: Parse.com 14. Enhancing Parse with Parcelables 15. Using Push Notifications with Parse\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781430249504\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1430249501\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 425,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"2.3.3.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=7dsAAAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=7dsAAAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=7dsAAAAAQBAJ&printsec=frontcover&dq=android&hl=&cd=7&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=7dsAAAAAQBAJ&dq=android&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Expert_Android.html?hl=&id=7dsAAAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Expert_Android-sample-epub.acsm?id=7dsAAAAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Expert_Android-sample-pdf.acsm?id=7dsAAAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=7dsAAAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"How to develop for multiple devices and manage fragmentation in Android How to use Parse cloud for Storage, Collaborative Social Apps, and Push notifications How to create Custom Views, Controls, and Layouts How to create 3D experience with ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 188,\n    \"etag\": \"yhqseLWxdRk\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/X9IoEAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Android Programming for Beginners\",\n      \"subtitle\": \"Build in-depth, full-featured Android apps starting from zero programming experience, 3rd Edition\",\n      \"authors\": [\"John Horton\"],\n      \"publisher\": \"Packt Publishing Ltd\",\n      \"publishedDate\": \"2021-04-09\",\n      \"description\": \"Learn the Java and Android skills you need to start developing powerful mobile applications with the help of actionable steps Key FeaturesKick-start your Android programming career or just have fun publishing apps to the Google Play marketplaceGet a first principles introduction to using Java and Android and prepare to start building your own apps from scratchLearn by example by building four real-world apps and dozens of mini appsBook Description Do you want to make a career in programming but don’t know where to start? Do you have a great idea for an app but don't know how to make it a reality? Or are you worried that you’ll have to learn Java programming to become an Android developer? Look no further! This new and expanded third edition of Android Programming for Beginners will be your guide to creating Android applications from scratch. The book starts by introducing you to all the fundamental concepts of programming in an Android context, from the basics of Java to working with the Android API. You’ll learn with the help of examples that use up-to-date API classes and are created within Android Studio, the official Android development environment that helps supercharge your mobile application development process. After a crash course on the key programming concepts, you’ll explore Android programming and get to grips with creating applications with a professional-standard UI using fragments and storing user data with SQLite. This Android Java book also shows you how you can make your apps multilingual, draw on the screen with a finger, and work with graphics, sound, and animations. By the end of this Android programming book, you'll be ready to start building your own custom applications in Android and Java. What you will learnUnderstand the fundamentals of coding in Java for AndroidInstall and set up your Android development environmentBuild functional user interfaces with the Android Studio visual designerAdd user interaction, data captures, sound, and animation to your appsManage your apps' data using the built-in Android SQLite databaseExplore the design patterns used by professionals to build top-grade applicationsBuild real-world Android applications that you can deploy to the Google Play marketplaceWho this book is for This Android book is for you if you are completely new to Java, Android, or programming and want to get started with Android app development. If you have experience of using Java on Android, this book will serve as a refresher to help you advance your knowledge and make progress through the early projects covered in the book.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781800566446\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1800566441\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 742,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.2.2.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=X9IoEAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=X9IoEAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=X9IoEAAAQBAJ&printsec=frontcover&dq=android&hl=&cd=8&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=X9IoEAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=X9IoEAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 3163.57,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 3163.57,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=X9IoEAAAQBAJ&rdid=book-X9IoEAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 3163570000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 3163570000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=X9IoEAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"If you have experience of using Java on Android, this book will serve as a refresher to help you advance your knowledge and make progress through the early projects covered in the book.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 189,\n    \"etag\": \"Ws0CNk+NBFI\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/9ukkDQAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Beginning Android Programming with Android Studio\",\n      \"authors\": [\"Jerome DiMarzio\"],\n      \"publisher\": \"John Wiley & Sons\",\n      \"publishedDate\": \"2016-10-24\",\n      \"description\": \"A hands-on introduction to the latest release of the Android OS and the easiest Android tools for developers As the dominant mobile platform today, the Android OS is a powerful and flexible platform for mobile device. The new Android 7 release (New York Cheesecake) boasts significant new features and enhancements for both smartphone and tablet applications. This step-by-step resource takes a hands-on approach to teaching you how to create Android applications for the latest OS and the newest devices, including both smartphones and tablets. Shows you how to install, get started with, and use Android Studio 2 - the simplest Android developer tool ever for beginners Addresses how to display notifications, create rich user interfaces, and use activities and intents Reviews mastering views and menus and managing data Discusses working with SMS Looks at packaging and publishing applications to the Android market Beginning Android Programming with Android Studio starts with the basics and goes on to provide you with everything you need to know to begin to successfully develop your own Android applications.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781118705599\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1118705599\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 471,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.9.4.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=9ukkDQAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=9ukkDQAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=9ukkDQAAQBAJ&printsec=frontcover&dq=android&hl=&cd=9&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=9ukkDQAAQBAJ&dq=android&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Beginning_Android_Programming_with_Andro.html?hl=&id=9ukkDQAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Beginning_Android_Programming_with_Andro-sample-pdf.acsm?id=9ukkDQAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=9ukkDQAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book offers hands-on instruction backed by real-world examples to provide the quickest route to productivity.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 190,\n    \"etag\": \"oED6VtUFA8U\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/5_0CAwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Android Hacker's Handbook\",\n      \"authors\": [\n        \"Joshua J. Drake\",\n        \"Zach Lanier\",\n        \"Collin Mulliner\",\n        \"Pau Oliva Fora\",\n        \"Stephen A. Ridley\",\n        \"Georg Wicherski\"\n      ],\n      \"publisher\": \"John Wiley & Sons\",\n      \"publishedDate\": \"2014-03-31\",\n      \"description\": \"The first comprehensive guide to discovering and preventing attacks on the Android OS As the Android operating system continues to increase its share of the smartphone market, smartphone hacking remains a growing threat. Written by experts who rank among the world's foremost Android security researchers, this book presents vulnerability discovery, analysis, and exploitation tools for the good guys. Following a detailed explanation of how the Android OS works and its overall security architecture, the authors examine how vulnerabilities can be discovered and exploits developed for various system components, preparing you to defend against them. If you are a mobile device administrator, security researcher, Android app developer, or consultant responsible for evaluating Android security, you will find this guide is essential to your toolbox. A crack team of leading Android security researchers explain Android security risks, security design and architecture, rooting, fuzz testing, and vulnerability analysis Covers Android application building blocks and security as well as debugging and auditing Android apps Prepares mobile device administrators, security researchers, Android app developers, and security consultants to defend Android systems against attack Android Hacker's Handbook is the first comprehensive resource for IT professionals charged with smartphone security.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781118608647\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"111860864X\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 581,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.4.3.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=5_0CAwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=5_0CAwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=5_0CAwAAQBAJ&printsec=frontcover&dq=android&hl=&cd=10&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=5_0CAwAAQBAJ&dq=android&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Android_Hacker_s_Handbook.html?hl=&id=5_0CAwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Android_Hacker_s_Handbook-sample-pdf.acsm?id=5_0CAwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=5_0CAwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book explains how the operating system works, security risks associated with it, and the overall security architecture of the operating system.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 191,\n    \"etag\": \"Gkmbr3H3BXQ\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/SZtsFe66zucC\",\n    \"volumeInfo\": {\n      \"title\": \"Google Apps: The Missing Manual\",\n      \"subtitle\": \"The Missing Manual\",\n      \"authors\": [\"Nancy Conner\"],\n      \"publisher\": \"\\\"O'Reilly Media, Inc.\\\"\",\n      \"publishedDate\": \"2008-05-27\",\n      \"description\": \"Among its many amazing applications, Google now has web-based alternatives to many of the applications in Microsoft Office. This comprehensive and easy-to-follow new book enables you to explore Google's new office applications in detail. Once you do, you'll be in good company -- more than 100,000 small businesses and some corporations are already looking to take advantage of these free Google offerings. Google Apps: The Missing Manual teaches you how to use three relatively new applications from Google: \\\"Docs and Spreadsheets\\\", which provide many of the same core tools that you find in Word and Excel; and Google Calendar and Gmail, the applications that offer an alternative to Outlook. This book demonstrates how these applications together can ease your ability to collaborate with others, and allow you access to your documents, mail and appointments from any computer at any location. Of course, as remarkable as these applications are, Google's office suite is definitely a work-in-progress. Navigating what you can and can't do and -- more importantly -- understanding how to do it isn't always easy. And good luck finding enough help online. Google Apps: The Missing Manual is the one book you need to get the most out of this increasingly useful part of the Google empire. This book: Explains how to create, save and share each of Google's web-based office applications Offers separate sections for Docs and Spreadsheets, Google Calendar, and Gmail Demonstrates how to use these applications in conjunction with one another Gives you crystal-clear and jargon-free explanations that will satisfy users of all technical levels Many of you already use Gmail, but do you know its full potential? Do you know how you can increase its power by using Gmail with Doc and Spreadsheets and Google Calendar? You'll find out with Google Apps: The Missing Manual. You'll also come to understand why large corporations such as General Electric and Proctor & Gamble are taking a long, hard look at these applications.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780596551766\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0596551762\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 744,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 3.5,\n      \"ratingsCount\": 7,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"0.6.7.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=SZtsFe66zucC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=SZtsFe66zucC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=SZtsFe66zucC&printsec=frontcover&dq=google&hl=&cd=1&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=SZtsFe66zucC&dq=google&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Google_Apps_The_Missing_Manual.html?hl=&id=SZtsFe66zucC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=SZtsFe66zucC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book demonstrates how these applications together can ease your ability to collaborate with others, and allow you access to your documents, mail and appointments from any computer at any location.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 192,\n    \"etag\": \"RjH3UfneEdY\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/etFX6ZHHsTcC\",\n    \"volumeInfo\": {\n      \"title\": \"Building Web Apps for Google TV\",\n      \"authors\": [\n        \"Andres Ferrate\",\n        \"Amanda Surya\",\n        \"Daniels Lee\",\n        \"Maile Ohye\",\n        \"Paul Carff\"\n      ],\n      \"publisher\": \"\\\"O'Reilly Media, Inc.\\\"\",\n      \"publishedDate\": \"2011-06-23\",\n      \"description\": \"By integrating the Web with traditional TV, Google TV offers developers an important new channel for content. But creating apps for Google TV requires learning some new skills—in fact, what you may already know about mobile or desktop web apps isn't entirely applicable. Building Web Apps for Google TV will help you make the transition to Google TV as you learn the tools and techniques necessary to build sophisticated web apps for this platform. This book shows you how Google TV works, how it fits into the web ecosystem, and what the opportunities are for delivering rich content to millions of households. Discover the elements of a compelling TV web app, and what comprises TV-friendly navigation Learn the fundamentals for designing the 10-foot user experience Work with the Google Chrome browser on a TV display, and migrate an existing site Use examples for developing a TV web app, including the UI, controls, and scrolling Understand how to optimize, deliver, and protect video content for Google TV Help users discover your content by optimizing your site for Search—especially videos\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781449304577\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1449304575\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 117,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.2.0.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=etFX6ZHHsTcC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=etFX6ZHHsTcC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=etFX6ZHHsTcC&printsec=frontcover&dq=google&hl=&cd=2&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=etFX6ZHHsTcC&dq=google&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Building_Web_Apps_for_Google_TV.html?hl=&id=etFX6ZHHsTcC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=etFX6ZHHsTcC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book shows you how Google TV works, how it fits into the web ecosystem, and what the opportunities are for delivering rich content to millions of households.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 193,\n    \"etag\": \"n+JeWaAHyyo\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/4fpRDQAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Google It\",\n      \"subtitle\": \"Total Information Awareness\",\n      \"authors\": [\"Newton Lee\"],\n      \"publisher\": \"Springer\",\n      \"publishedDate\": \"2016-10-23\",\n      \"description\": \"From Google search to self-driving cars to human longevity, is Alphabet creating a neoteric Garden of Eden or Bentham’s Panopticon? Will King Solomon’s challenge supersede the Turing test for artificial intelligence? Can transhumanism mitigate existential threats to humankind? These are some of the overarching questions in this book, which explores the impact of information awareness on humanity starting from the Book of Genesis to the Royal Library of Alexandria in the 3rd century BC to the modern day of Google Search, IBM Watson, and Wolfram|Alpha. The book also covers Search Engine Optimization, Google AdWords, Google Maps, Google Local Search, and what every business leader must know about digital transformation. “Search is curiosity, and that will never be done,” said Google’s first female engineer and Yahoo’s sixth CEO Marissa Mayer. The truth is out there; we just need to know how to Google it!\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781493964154\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1493964151\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 564,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.1.2.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=4fpRDQAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=4fpRDQAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=4fpRDQAAQBAJ&printsec=frontcover&dq=google&hl=&cd=3&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=4fpRDQAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=4fpRDQAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 12626,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 12626,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=4fpRDQAAQBAJ&rdid=book-4fpRDQAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 12626000000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 12626000000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Google_It-sample-epub.acsm?id=4fpRDQAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Google_It-sample-pdf.acsm?id=4fpRDQAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=4fpRDQAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"These are some of the overarching questions in this book, which explores the impact of information awareness on humanity starting from the Book of Genesis to the Royal Library of Alexandria in the 3rd century BC to the modern day of Google ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 194,\n    \"etag\": \"TOG46GbzZjg\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/DnIxCwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Ugly Truth About Google Adwords\",\n      \"authors\": [\"Thomas Schwartz\"],\n      \"publisher\": \"Lulu Press, Inc\",\n      \"publishedDate\": \"2015-12-05\",\n      \"description\": \"Google Adwords is one of the most promising advertising opportunities that abound in the Internet arena. It is a pay-per-click system that advertises websites which have the highest bids for a certain search word or phrase. If one would look at the window of an Internet browser and search something on the Google search engine, he will notice a section containing “sponsored links” at the right-hand side of the screen. These are the Adwords advertisements. These are websites which pay to be shown whenever a certain phrase or word is searched through Google. Discover everything you need to know by grabbing a copy of this ebook today.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781329737723\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1329737725\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.1.2.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=DnIxCwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=DnIxCwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=DnIxCwAAQBAJ&printsec=frontcover&dq=google&hl=&cd=4&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=DnIxCwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=DnIxCwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 360.85,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 252.59,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=DnIxCwAAQBAJ&rdid=book-DnIxCwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 360850000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 252590000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Ugly_Truth_About_Google_Adwords-sample-epub.acsm?id=DnIxCwAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Ugly_Truth_About_Google_Adwords-sample-pdf.acsm?id=DnIxCwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=DnIxCwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"These are the Adwords advertisements. These are websites which pay to be shown whenever a certain phrase or word is searched through Google. Discover everything you need to know by grabbing a copy of this ebook today.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 195,\n    \"etag\": \"G4fuQW8OyYQ\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/Vh2uswEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Introduction to Google Analytics\",\n      \"subtitle\": \"A Guide for Absolute Beginners\",\n      \"authors\": [\"Todd Kelsey\"],\n      \"publisher\": \"Apress\",\n      \"publishedDate\": \"2017-06-21\",\n      \"description\": \"Develop your digital/online marketing skills and learn web analytics to understand the performance of websites and ad campaigns. Approaches covered will be immediately useful for business or nonprofit organizations. If you are completely new to Google Analytics and you want to learn the basics, this guide will introduce you to the content quickly. Web analytics is critical to online marketers as they seek to track return on investment and optimize their websites. Introduction to Google Analytics covers the basics of Google Analytics, starting with creating a blog, and monitoring the number of people who see the blog posts and where they come from. What You’ll Learn Understand basic techniques to generate traffic for a blog or website Review the performance of a website or campaign Set up a Shopify account to track ROI Create and maximize AdWords to track conversion Discover opportunities offered by Google, including the Google Individual Qualification Who This Book Is For Those who need to get up to speed on Google Analytics tools and techniques for business or personal use. This book is also suitable as a student reference.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1484228286\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781484228289\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 0,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Business & Economics\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=Vh2uswEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=Vh2uswEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=Vh2uswEACAAJ&dq=google&hl=&cd=5&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=Vh2uswEACAAJ&dq=google&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Introduction_to_Google_Analytics.html?hl=&id=Vh2uswEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=Vh2uswEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book is also suitable as a student reference. Develop your digital/online marketing skills. Learn web analytics to understand the performance of websites and ad campaigns.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 196,\n    \"etag\": \"ManQI99fJiE\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/jDNRw3Ed4AcC\",\n    \"volumeInfo\": {\n      \"title\": \"Google Adwords That Work\",\n      \"subtitle\": \"7 secrets to cashing in with the world's no.1 search engine\",\n      \"authors\": [\"Jon Smith\"],\n      \"publisher\": \"Infinite Ideas\",\n      \"publishedDate\": \"2008-11-30\",\n      \"description\": \"\\\"Google AdWords That Work\\\" is intended for web owners, marketing managers, project managers and anyone interested in promoting their website effectively. It is for the non-techie who wants to be involved - this book will show you how to research, prepare and run your own AdWords campaign and will also give you the tools and the confidence to be able to explain to other team members, third-party suppliers and anyone else you care to talk to, about what it is you want them to do for you. AdWords can offer you a real chance of 'getting big, fast'. This isn't about just throwing a limitless budget at Google and seeing what happens, with your fingers crossed that something will stick - quite simply, through a systematic and prepared campaign you can quite easily grow from obscurity to perceived market leader in a couple of months. \\\"Google Adwords That Work\\\" shows you how.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781907755880\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1907755888\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 176,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Business & Economics\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"0.1.2.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=jDNRw3Ed4AcC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=jDNRw3Ed4AcC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=jDNRw3Ed4AcC&printsec=frontcover&dq=google&hl=&cd=6&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=jDNRw3Ed4AcC&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=jDNRw3Ed4AcC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 634.72,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 317.36,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=jDNRw3Ed4AcC&rdid=book-jDNRw3Ed4AcC&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 634720000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 317360000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Google_Adwords_That_Work-sample-epub.acsm?id=jDNRw3Ed4AcC&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Google_Adwords_That_Work-sample-pdf.acsm?id=jDNRw3Ed4AcC&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=jDNRw3Ed4AcC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"It is for the non-techie who wants to be involved - this book will show you how to research, prepare and run your own AdWords campaign and will also give you the tools and the confidence to be able to explain to other team members, third ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 197,\n    \"etag\": \"uHtZ16Dz7O4\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/8a_rAgAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Google Maps\",\n      \"subtitle\": \"Power Tools for Maximizing the API\",\n      \"authors\": [\"Evangelos Petroutsos\"],\n      \"publisher\": \"McGraw Hill Professional\",\n      \"publishedDate\": \"2014-03-21\",\n      \"description\": \"Create custom applications with the Google Maps API Featuring step-by-step examples, this practical resource gets you started programming the Google Maps API with JavaScript in no time. Learn how to embed maps on web pages, annotate the embedded maps with your data, generate KML files to store and reuse your map data, and enable client applications to request spatial data through web services. Google Maps: Power Tools for Maximizing the API explains techniques for visualizing masses of data and animating multiple items on the map. You’ll also find out how to embed Google maps in desktop applications to combine the richness of the Windows interface with the unique features of the API. You can use the numerous samples included throughout this hands-on guide as your starting point for building customized applications. Create map-enabled web pages with a custom look Learn the JavaScript skills required to exploit the Google Maps API Create highly interactive interfaces for mapping applications Embed maps in desktop applications written in .NET Annotate maps with labels, markers, and shapes Understand geodesic paths and shapes and perform geodesic calculations Store geographical data in KML format Add GIS features to mapping applications Store large sets of geography data in databases and perform advanced spatial queries Use web services to request spatial data from within your script on demand Automate the generation of standalone web pages with annotated maps Use the Geocoding and Directions APIs Visualize large data sets using symbols and heatmaps Animate items on a map Bonus online content includes: A tutorial on The SQL Spatial application A bonus chapter on animating multiple airplanes Three appendices: debugging scripts in the browser; scalable vector graphics; and applying custom styles\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780071823043\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0071823042\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 464,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"0.1.1.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=8a_rAgAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=8a_rAgAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=8a_rAgAAQBAJ&printsec=frontcover&dq=google&hl=&cd=7&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=8a_rAgAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=8a_rAgAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 3497.43,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 3497.43,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=8a_rAgAAQBAJ&rdid=book-8a_rAgAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 3497430000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 3497430000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED_FOR_ACCESSIBILITY\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Google_Maps-sample-epub.acsm?id=8a_rAgAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Google_Maps-sample-pdf.acsm?id=8a_rAgAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=8a_rAgAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"You can use the numerous samples included throughout this hands-on guide as your starting point for building customized applications.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 198,\n    \"etag\": \"Gkx0m5EFmAo\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/JQCqDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Google Adsense Secrets\",\n      \"subtitle\": \"What Google Never Told You About Making Money with Adsense\",\n      \"authors\": [\"A B Lawal\"],\n      \"publisher\": \"A. B. Lawal\",\n      \"publishedDate\": \"2019-03-22\",\n      \"description\": \"This is the an expanded and updated edition of the world's most-complete book on how to make money with Google AdSense! I have been teaching people around the world how to make money with Google's AdSense program for publishers since 2004. As one of the first website publishers to \\\"crack the code\\\", my books and ebooks have been read by thousands of people. This completely updated and revised edition of the book that has become the AdSense bible contains the latest strategies and tips for creating content rich sites that can be monetized with Google AdSense. Whether you're new to AdSense, looking for help to resolve your issues with Adsense, or if you just want to catch up with the latest tricks or strategies to increase your Adsense earnings, you should find everything you need to know about AdSense right here. This completely updated and revised edition of the book that has become the AdSense bible also contains the latest strategies and tips for creating content rich sites that can be monetized with Google AdSense.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9788832548440\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"8832548445\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Business & Economics\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.2.2.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=JQCqDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=JQCqDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=JQCqDwAAQBAJ&printsec=frontcover&dq=google&hl=&cd=8&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=JQCqDwAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=JQCqDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 1309.46,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 654.73,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=JQCqDwAAQBAJ&rdid=book-JQCqDwAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 1309460000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 654730000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=JQCqDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This is the an expanded and updated edition of the world&#39;s most-complete book on how to make money with Google AdSense!\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 199,\n    \"etag\": \"WjiFPrfpGpU\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/eKJHzwEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"What Would Google Do?\",\n      \"authors\": [\"Jeff Jarvis\"],\n      \"publisher\": \"HarperBusiness\",\n      \"publishedDate\": \"2009-01-27\",\n      \"description\": \"A bold and vital book that asks and answers the most urgent question of today: What Would Google Do? In a book that's one part prophecy, one part thought experiment, one part manifesto, and one part survival manual, internet impresario and blogging pioneer Jeff Jarvis reverse-engineers Google—the fastest-growing company in history—to discover forty clear and straightforward rules to manage and live by. At the same time, he illuminates the new worldview of the internet generation: how it challenges and destroys, but also opens up vast new opportunities. His findings are counterintuitive, imaginative, practical, and above all visionary, giving readers a glimpse of how everyone and everything—from corporations to governments, nations to individuals—must evolve in the Google era. Along the way, he looks under the hood of a car designed by its drivers, ponders a worldwide university where the students design their curriculum, envisions an airline fueled by a social network, imagines the open-source restaurant, and examines a series of industries and institutions that will soon benefit from this book's central question. The result is an astonishing, mind-opening book that, in the end, is not about Google. It's about you.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0061709719\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780061709715\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 0,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Business & Economics\"],\n      \"averageRating\": 4,\n      \"ratingsCount\": 6,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=eKJHzwEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=eKJHzwEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=eKJHzwEACAAJ&dq=google&hl=&cd=9&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=eKJHzwEACAAJ&dq=google&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/What_Would_Google_Do.html?hl=&id=eKJHzwEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=eKJHzwEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Along the way, he looks under the hood of a car designed by its drivers, ponders a worldwide university where the students design their curriculum, envisions an airline fueled by a social network, imagines the open-source restaurant, and ...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 200,\n    \"etag\": \"LrVAMCCC/LM\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/qWYtAAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Business of Android Apps Development\",\n      \"subtitle\": \"Making and Marketing Apps that Succeed on Google Play, Amazon Appstore and More\",\n      \"authors\": [\"Mark Rollins\", \"Roy Sandberg\"],\n      \"publisher\": \"Apress\",\n      \"publishedDate\": \"2013-07-22\",\n      \"description\": \"The growing but still evolving success of the Android platform has ushered in a second mobile technology “gold rush” for app developers. Google Play and Amazon Appstore for Android apps has become the second go-to apps eco for today's app developers. While not yet as large in terms of number of apps as iTunes, Google Play and Amazon Appstore have so many apps that it has become increasingly difficult for new apps to stand out in the crowd. Achieving consumer awareness and sales longevity for your Android app requires a lot of organization and some strategic planning. Written for today's Android apps developer or apps development shop, this new and improved book from Apress, The Business of Android Apps Development, Second Edition, tells you today's story on how to make money on Android apps. This book shows you how to take your app from idea to design to development to distribution and marketing your app on Google Play or Amazon Appstore. This book takes you step-by-step through cost-effective marketing, public relations and sales techniques that have proven successful for professional Android app creators and indie shops—perfect for independent developers on shoestring budgets. It even shows you how to get interest from venture capitalists and how they view a successful app vs. the majority of so-so to unsuccessful apps in Android. No prior business knowledge is required. This is the book you wish you had read before you launched your first app! What you’ll learn How to take your app from idea to design to development to distributing and marketing your app on Google Play or Amazon Appstore How do Venture Capitalists validate new App Ideas, and use their techniques. How to monetize your app: Freemium, ads, in-app purchasing and more What are the programming tips and tricks that help you sell your app How to optimize your app for the marketplace How to marketing your app How to listen to your customer base, and grow your way to greater revenue Who this book is for This book is for those who have an idea for an app, but otherwise may know relatively little about entrepreneurship, app development, or even business in general. You should be able to pick up this book and feel like someone is holding your hand as they go through the process of evaluating your idea, learning to code, placing your app in the marketplace, marketing your app, and finally, improving your app to meet the needs of your customer base. Table of Contents1. The Android Market: A Background 2. Making Sure Your App Will Succeed 3. Legal Issues: Better Safe Than Sorry 4. A Brief Introduction to Android Development 5. Develop Apps Like a Pro 6. Making Money with Ads on Your Application 7. In-App Billing: Putting A Store in Your Application 8. Making App Marketplaces Work for You 9. Getting The Word Out 10. After You Have A User Base\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781430250074\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1430250070\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 162,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"1.2.2.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=qWYtAAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=qWYtAAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=qWYtAAAAQBAJ&printsec=frontcover&dq=google&hl=&cd=10&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=qWYtAAAAQBAJ&dq=google&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/The_Business_of_Android_Apps_Development.html?hl=&id=qWYtAAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Business_of_Android_Apps_Development-sample-epub.acsm?id=qWYtAAAAQBAJ&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Business_of_Android_Apps_Development-sample-pdf.acsm?id=qWYtAAAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=qWYtAAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This book shows you how to take your app from idea to design to development to distribution and marketing your app on Google Play or Amazon Appstore.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 201,\n    \"etag\": \"ISa/1WRfU5s\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/HxytDwAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Apple Book\",\n      \"authors\": [\"Rosie Sanders\"],\n      \"publisher\": \"White Lion Publishing\",\n      \"publishedDate\": \"2019-09-24\",\n      \"description\": \"Rosie Sanders, often described as the best painter of the world's most famous fruit, has devoted years to researching this book and submitting the apples to hour upon hour of meticulous observation. In 144 beautifully detailed watercolours she depicts the unrivalled range of form, colour and texture which characterize such varieties as Beauty of Bath, Peasgood Nonsuch, Cox's Orange Pippin and Egremont Russet. Painted with their blossom, twig and leaf, Rosie offers detailed descriptions of each apple's aroma, flavour and season as well as something of the history of each variety. The book is enhanced by a practical essay on apple growing by Harry Baker, fruit officer for many years at the Royal Horticultural Society and one of Britain’s foremost authorities on apple growing.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780711245129\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0711245126\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 323,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Gardening\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=HxytDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=HxytDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=HxytDwAAQBAJ&printsec=frontcover&dq=apple&hl=&cd=1&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=HxytDwAAQBAJ&dq=apple&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/The_Apple_Book.html?hl=&id=HxytDwAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Apple_Book-sample-pdf.acsm?id=HxytDwAAQBAJ&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=HxytDwAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Rosie Sanders, often described as the best painter of the world&#39;s most famous fruit, has devoted years to researching this book and submitting the apples to hour upon hour of meticulous observation.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 202,\n    \"etag\": \"nbWrUxlnR60\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/JS74jwEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Designed by Apple in California\",\n      \"publishedDate\": \"2016-10-05\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"0997513829\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9780997513820\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"printType\": \"BOOK\",\n      \"averageRating\": 2,\n      \"ratingsCount\": 1,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=JS74jwEACAAJ&dq=apple&hl=&cd=2&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=JS74jwEACAAJ&dq=apple&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Designed_by_Apple_in_California.html?hl=&id=JS74jwEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=JS74jwEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 203,\n    \"etag\": \"cCTkrni97Bw\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/wY_NAgAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Apple Grower\",\n      \"subtitle\": \"A Guide for the Organic Orchardist\",\n      \"authors\": [\"Michael Phillips\"],\n      \"publisher\": \"Chelsea Green Publishing\",\n      \"publishedDate\": \"2005\",\n      \"description\": \"For decades fruit growers have sprayed their trees with toxic chemicals in an attempt to control a range of insect and fungal pests. Yet it is possible to grow apples responsibly, by applying the intuitive knowledge of our great-grandparents with the fruits of modern scientific research and innovation. Since The Apple Grower first appeared in 1998, orchardist Michael Phillips has continued his research with apples, which have been called \\\"organic's final frontier.\\\" In this new edition of his widely acclaimed work, Phillips delves even deeper into the mysteries of growing good fruit with minimal inputs. Some of the cuttingedge topics he explores include: The use of kaolin clay as an effective strategy against curculio and borers, as well as its limitations Creating a diverse, healthy orchard ecosystem through understory management of plants, nutrients, and beneficial microorganisms How to make a small apple business viable by focusing on heritage and regional varieties, value-added products, and the \\\"community orchard\\\" model The author's personal voice and clear-eyed advice have already made The Apple Grower a classic among small-scale growers and home orchardists. In fact, anyone serious about succeeding with apples needs to have this updated edition on their bookshelf.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781931498913\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1931498911\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 362,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Apples\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 2,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=wY_NAgAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=wY_NAgAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=wY_NAgAAQBAJ&printsec=frontcover&dq=apple&hl=&cd=3&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=wY_NAgAAQBAJ&dq=apple&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/The_Apple_Grower.html?hl=&id=wY_NAgAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=wY_NAgAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"&quot; In this new edition of his widely acclaimed work, Phillips delves even deeper into the mysteries of growing good fruit with minimal inputs.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 204,\n    \"etag\": \"RzXO+BvuxQA\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/G0Faik1mSp0C\",\n    \"volumeInfo\": {\n      \"title\": \"The Apple Grower\",\n      \"subtitle\": \"Guide for the Organic Orchardist, 2nd Edition\",\n      \"authors\": [\"Michael Phillips\"],\n      \"publisher\": \"Chelsea Green Publishing\",\n      \"publishedDate\": \"2005-11-30\",\n      \"description\": \"For decades fruit growers have sprayed their trees with toxic chemicals in an attempt to control a range of insect and fungal pests. Yet it is possible to grow apples responsibly, by applying the intuitive knowledge of our great-grandparents with the fruits of modern scientific research and innovation. Since The Apple Grower first appeared in 1998, orchardist Michael Phillips has continued his research with apples, which have been called \\\"organic's final frontier.\\\" In this new edition of his widely acclaimed work, Phillips delves even deeper into the mysteries of growing good fruit with minimal inputs. Some of the cuttingedge topics he explores include: The use of kaolin clay as an effective strategy against curculio and borers, as well as its limitations Creating a diverse, healthy orchard ecosystem through understory management of plants, nutrients, and beneficial microorganisms How to make a small apple business viable by focusing on heritage and regional varieties, value-added products, and the \\\"community orchard\\\" model The author's personal voice and clear-eyed advice have already made The Apple Grower a classic among small-scale growers and home orchardists. In fact, anyone serious about succeeding with apples needs to have this updated edition on their bookshelf.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781603581325\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1603581324\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 360,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Gardening\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 3,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"0.1.1.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=G0Faik1mSp0C&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=G0Faik1mSp0C&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=G0Faik1mSp0C&pg=PA305&dq=apple&hl=&cd=4&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=G0Faik1mSp0C&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=G0Faik1mSp0C\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 2799.43,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 2799.43,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=G0Faik1mSp0C&rdid=book-G0Faik1mSp0C&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 2799430000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 2799430000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Apple_Grower-sample-epub.acsm?id=G0Faik1mSp0C&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/The_Apple_Grower-sample-pdf.acsm?id=G0Faik1mSp0C&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=G0Faik1mSp0C&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Time out for a reality check: Selling even your highest- grade <b>apples</b> to a juice processor is rather unlikely in this new era of Chinese concentrate being imported at incredibly low prices. The market for drops from IPM orchards here in&nbsp;...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 205,\n    \"etag\": \"CYT1Hn4SXc0\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/3S_ICjUtAOgC\",\n    \"volumeInfo\": {\n      \"title\": \"Apple Pie\",\n      \"subtitle\": \"100 Delicious and Decidedly Different Recipes for America's Favorite Pie\",\n      \"authors\": [\"Ken Haedrich\"],\n      \"publisher\": \"Houghton Mifflin Harcourt\",\n      \"publishedDate\": \"2011-09-13\",\n      \"description\": \"100 Delicious and Decidedly Different Recipes for America's Favorite Pie\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781558327429\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1558327428\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 276,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Cooking\"],\n      \"averageRating\": 5,\n      \"ratingsCount\": 2,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=3S_ICjUtAOgC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=3S_ICjUtAOgC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=3S_ICjUtAOgC&pg=PA243&dq=apple&hl=&cd=5&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=3S_ICjUtAOgC&dq=apple&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Apple_Pie.html?hl=&id=3S_ICjUtAOgC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Apple_Pie-sample-pdf.acsm?id=3S_ICjUtAOgC&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=3S_ICjUtAOgC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"See also specific fruits dried, in <b>apple</b> pies, 189 Fuji <b>apples</b>, xvii Sugarless <b>Apple</b> Pie, 156-57. G. Gala <b>apples</b>, xvii <b>Apple</b> Bread-Pudding Pie, 120-21 “Assembled” <b>Apple</b> Pie, 202-3 Skins-On <b>Apple</b> Pie in a Whole Wheat Crust, 154-55 Ginger&nbsp;...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 206,\n    \"etag\": \"DtLROcyYAO4\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/Le1FDAAAQBAJ\",\n    \"volumeInfo\": {\n      \"title\": \"Swift Development for the Apple Watch\",\n      \"subtitle\": \"An Intro to the WatchKit Framework, Glances, and Notifications\",\n      \"authors\": [\"Jon Manning\", \"Paris Buttfield-Addison\"],\n      \"publisher\": \"\\\"O'Reilly Media, Inc.\\\"\",\n      \"publishedDate\": \"2016-05-30\",\n      \"description\": \"Apple Watch is the sort of science-fiction gadget that people used to dream about as kids. What kinds of apps do you envision for this new device? If you’re comfortable using OS X, Xcode, and iOS—and familiar with Swift—this concise book shows you the basics of building your own apps for this wrist-mounted computer with Apple’s WatchKit framework. You’ll learn what an Apple Watch is, what it isn’t, and how and why people might interact with apps you build for it. This practical guide also examines the type of apps most suitable for this device, and shows you how to be a good citizen in the iOS/Watch ecosystem. Learn the Watch app lifecycle, and understand how these apps interact with the user’s iPhone Build a Watch app and its iOS counterpart by adding controls, working with multiple screens, and sharing data Design a simple glance, the non-interactive Watch component that provides quick-look information Add functionality to the notification system, including actionable items, and display them on the Watch face Design and build complications, Watch-face gadgets that can display quick snapshots of information, including future events with Time Travel\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781491925287\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1491925280\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": true,\n        \"image\": true\n      },\n      \"pageCount\": 88,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.1.2.0.preview.3\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=Le1FDAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=Le1FDAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=Le1FDAAAQBAJ&printsec=frontcover&dq=apple&hl=&cd=6&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=Le1FDAAAQBAJ&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=Le1FDAAAQBAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 1545.8,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 1545.8,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=Le1FDAAAQBAJ&rdid=book-Le1FDAAAQBAJ&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 1545800000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 1545800000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": true\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=Le1FDAAAQBAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"This practical guide also examines the type of apps most suitable for this device, and shows you how to be a good citizen in the iOS/Watch ecosystem.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 207,\n    \"etag\": \"y3QPRladiVI\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/mXnw5tM8QRwC\",\n    \"volumeInfo\": {\n      \"title\": \"Apple Confidential 2.0\",\n      \"subtitle\": \"The Definitive History of the World's Most Colorful Company\",\n      \"authors\": [\"Owen W. Linzmayer\"],\n      \"publisher\": \"No Starch Press\",\n      \"publishedDate\": \"2004\",\n      \"description\": \"Chronicles the best and the worst of Apple Computer's remarkable story.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9781593270100\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"1593270100\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 341,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Computers\"],\n      \"averageRating\": 3.5,\n      \"ratingsCount\": 8,\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": true,\n      \"contentVersion\": \"1.2.1.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=mXnw5tM8QRwC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=mXnw5tM8QRwC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=mXnw5tM8QRwC&printsec=frontcover&dq=apple&hl=&cd=7&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=mXnw5tM8QRwC&dq=apple&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Apple_Confidential_2_0.html?hl=&id=mXnw5tM8QRwC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=mXnw5tM8QRwC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"Chronicles the best and the worst of Apple Computer&#39;s remarkable story.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 208,\n    \"etag\": \"AKyIxawGmVs\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/b73p1FYylZcC\",\n    \"volumeInfo\": {\n      \"title\": \"Apple Pest Management for Home Gardeners\",\n      \"authors\": [\"Patricia S. McManus\"],\n      \"publishedDate\": \"2006\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"OTHER\",\n          \"identifier\": \"WISC:89101576106\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 30,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Apples\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.3.2.0.preview.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=b73p1FYylZcC&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=b73p1FYylZcC&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=b73p1FYylZcC&q=apple&dq=apple&hl=&cd=8&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=b73p1FYylZcC&dq=apple&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/Apple_Pest_Management_for_Home_Gardeners.html?hl=&id=b73p1FYylZcC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=b73p1FYylZcC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"The fungus overwinters in <b>apple</b> buds and survives best during mild winters and on <b>apple</b> trees growing near heated buildings. The powdery mildew fungus becomes active when shoot growth starts in the spring, and this is when chemical&nbsp;...\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 209,\n    \"etag\": \"LBqBmJNE2qQ\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/JMCniu2oQNMC\",\n    \"volumeInfo\": {\n      \"title\": \"Apple SWOT Analysis\",\n      \"authors\": [\"Adam Tar\"],\n      \"publisher\": \"GRIN Verlag\",\n      \"publishedDate\": \"2013-06-13\",\n      \"description\": \"Research paper from the year 2013 in the subject Business economics - Business Management, Corporate Governance, grade: A+, Webster University, course: BUSN 6120-2R, language: English, abstract: When reflecting on technology, and the progress that we have made in the last ten years, it is hard to imagine where we would be today without it. We as a society have integrated technology into our lives every single day. A large part of this is due to the ability to connect to the world with our fingertips whenever and wherever we may be. Whether we are surfing the web, listening to music, face timing with our friends and or loved ones, or simply checking in on our social networks. Technology has become a norm and a hygiene factor of our society that most of us could not live without. Apple Inc. and its former CEO, Steve Jobs deserve a substantial amount of credit for these changes. They have led the way in innovation, user friendliness, and ascetically pleasing products that many have tried to contend with and have had no success. Apple Inc. has created a brand so powerful, that their products themselves have become fashionable and almost a never-ending trend. Their brand loyalty is so deep that consumers will stand in lines for not hours but, days awaiting the release of the newest product, even if the changes that are made to it are minimal. They are the first and only company to create a line of products that seamlessly integrate together, and are accessible anywhere with a cellphone signal. However, many question the company’s viability due to the recent passing of former CEO Steve Jobs. Will Apple Inc. be able to continue in its predecessor’s footsteps? Or will Apple Inc. dwindle away like last years fashion trend? This paper will examine Apple Inc. using a SWOT Analysis, and will bring to light Apple Inc. areas of strengths, weaknesses, opportunities and threats.\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9783656445647\"\n        },\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"3656445648\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": true\n      },\n      \"pageCount\": 11,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Business & Economics\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"0.4.1.0.preview.1\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=JMCniu2oQNMC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=JMCniu2oQNMC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=JMCniu2oQNMC&printsec=frontcover&dq=apple&hl=&cd=9&source=gbs_api\",\n      \"infoLink\": \"https://play.google.com/store/books/details?id=JMCniu2oQNMC&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://play.google.com/store/books/details?id=JMCniu2oQNMC\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"FOR_SALE\",\n      \"isEbook\": true,\n      \"listPrice\": {\n        \"amount\": 1531.58,\n        \"currencyCode\": \"INR\"\n      },\n      \"retailPrice\": {\n        \"amount\": 1531.58,\n        \"currencyCode\": \"INR\"\n      },\n      \"buyLink\": \"https://play.google.com/store/books/details?id=JMCniu2oQNMC&rdid=book-JMCniu2oQNMC&rdot=1&source=gbs_api\",\n      \"offers\": [\n        {\n          \"finskyOfferType\": 1,\n          \"listPrice\": {\n            \"amountInMicros\": 1531580000,\n            \"currencyCode\": \"INR\"\n          },\n          \"retailPrice\": {\n            \"amountInMicros\": 1531580000,\n            \"currencyCode\": \"INR\"\n          }\n        }\n      ]\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"PARTIAL\",\n      \"embeddable\": true,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": true,\n        \"acsTokenLink\": \"http://books.google.co.in/books/download/Apple_SWOT_Analysis-sample-pdf.acsm?id=JMCniu2oQNMC&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\"\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=JMCniu2oQNMC&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"SAMPLE\",\n      \"quoteSharingAllowed\": false\n    },\n    \"searchInfo\": {\n      \"textSnippet\": \"We as a society have integrated technology into our lives every single day. A large part of this is due to the ability to connect to the world with our fingertips whenever and wherever we may be.\"\n    }\n  },\n  {\n    \"kind\": \"books#volume\",\n    \"id\": 210,\n    \"etag\": \"591BuJwCWbw\",\n    \"selfLink\": \"https://www.googleapis.com/books/v1/volumes/Mad4zgEACAAJ\",\n    \"volumeInfo\": {\n      \"title\": \"The Apple\",\n      \"authors\": [\"Devashish Sardana\"],\n      \"publishedDate\": \"2020-03-09\",\n      \"industryIdentifiers\": [\n        {\n          \"type\": \"ISBN_10\",\n          \"identifier\": \"9387131343\"\n        },\n        {\n          \"type\": \"ISBN_13\",\n          \"identifier\": \"9789387131347\"\n        }\n      ],\n      \"readingModes\": {\n        \"text\": false,\n        \"image\": false\n      },\n      \"pageCount\": 262,\n      \"printType\": \"BOOK\",\n      \"categories\": [\"Fiction\"],\n      \"maturityRating\": \"NOT_MATURE\",\n      \"allowAnonLogging\": false,\n      \"contentVersion\": \"preview-1.0.0\",\n      \"panelizationSummary\": {\n        \"containsEpubBubbles\": false,\n        \"containsImageBubbles\": false\n      },\n      \"imageLinks\": {\n        \"smallThumbnail\": \"http://books.google.com/books/content?id=Mad4zgEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\",\n        \"thumbnail\": \"http://books.google.com/books/content?id=Mad4zgEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\"\n      },\n      \"language\": \"en\",\n      \"previewLink\": \"http://books.google.co.in/books?id=Mad4zgEACAAJ&dq=apple&hl=&cd=10&source=gbs_api\",\n      \"infoLink\": \"http://books.google.co.in/books?id=Mad4zgEACAAJ&dq=apple&hl=&source=gbs_api\",\n      \"canonicalVolumeLink\": \"https://books.google.com/books/about/The_Apple.html?hl=&id=Mad4zgEACAAJ\"\n    },\n    \"saleInfo\": {\n      \"country\": \"IN\",\n      \"saleability\": \"NOT_FOR_SALE\",\n      \"isEbook\": false\n    },\n    \"accessInfo\": {\n      \"country\": \"IN\",\n      \"viewability\": \"NO_PAGES\",\n      \"embeddable\": false,\n      \"publicDomain\": false,\n      \"textToSpeechPermission\": \"ALLOWED\",\n      \"epub\": {\n        \"isAvailable\": false\n      },\n      \"pdf\": {\n        \"isAvailable\": false\n      },\n      \"webReaderLink\": \"http://play.google.com/books/reader?id=Mad4zgEACAAJ&hl=&source=gbs_api\",\n      \"accessViewStatus\": \"NONE\",\n      \"quoteSharingAllowed\": false\n    }\n  }\n]\n"
  },
  {
    "path": "src/json/cats.json",
    "content": "[\n  {\n    \"weight\": {\n      \"imperial\": \"7  -  10\",\n      \"metric\": \"3 - 5\"\n    },\n    \"id\": 1,\n    \"name\": \"Abyssinian\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsAB/Abyssinian.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/abyssinian\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/abyssinian\",\n    \"temperament\": \"Active, Energetic, Independent, Intelligent, Gentle\",\n    \"origin\": \"Egypt\",\n    \"country_codes\": \"EG\",\n    \"country_code\": \"EG\",\n    \"description\": \"The Abyssinian is easy to care for, and a joy to have in your home. They’re affectionate cats and love both people and other animals.\",\n    \"life_span\": \"14 - 15\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 3,\n    \"dog_friendly\": 4,\n    \"energy_level\": 5,\n    \"grooming\": 1,\n    \"health_issues\": 2,\n    \"intelligence\": 5,\n    \"shedding_level\": 2,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 5,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 1,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Abyssinian_(cat)\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/0XYvRd7oD.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"7 - 10\",\n      \"metric\": \"3 - 5\"\n    },\n    \"id\": 2,\n    \"name\": \"Aegean\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/aegean-cat\",\n    \"temperament\": \"Affectionate, Social, Intelligent, Playful, Active\",\n    \"origin\": \"Greece\",\n    \"country_codes\": \"GR\",\n    \"country_code\": \"GR\",\n    \"description\": \"Native to the Greek islands known as the Cyclades in the Aegean Sea, these are natural cats, meaning they developed without humans getting involved in their breeding. As a breed, Aegean Cats are rare, although they are numerous on their home islands. They are generally friendly toward people and can be excellent cats for families with children.\",\n    \"life_span\": \"9 - 12\",\n    \"indoor\": 0,\n    \"alt_names\": \"\",\n    \"adaptability\": 5,\n    \"affection_level\": 4,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 4,\n    \"energy_level\": 3,\n    \"grooming\": 3,\n    \"health_issues\": 1,\n    \"intelligence\": 3,\n    \"shedding_level\": 3,\n    \"social_needs\": 4,\n    \"stranger_friendly\": 4,\n    \"vocalisation\": 3,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Aegean_cat\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/ozEvzdVM-.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"7 - 16\",\n      \"metric\": \"3 - 7\"\n    },\n    \"id\": 3,\n    \"name\": \"American Bobtail\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsAB/AmericanBobtail.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/american-bobtail\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/american-bobtail\",\n    \"temperament\": \"Intelligent, Interactive, Lively, Playful, Sensitive\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"American Bobtails are loving and incredibly intelligent cats possessing a distinctive wild appearance. They are extremely interactive cats that bond with their human family with great devotion.\",\n    \"life_span\": \"11 - 15\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 3,\n    \"grooming\": 1,\n    \"health_issues\": 1,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 3,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 3,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 1,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/American_Bobtail\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/hBXicehMA.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"5 - 10\",\n      \"metric\": \"2 - 5\"\n    },\n    \"id\": 4,\n    \"name\": \"American Curl\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsAB/AmericanCurl.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/american-curl\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/american-curl\",\n    \"temperament\": \"Affectionate, Curious, Intelligent, Interactive, Lively, Playful, Social\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"Distinguished by truly unique ears that curl back in a graceful arc, offering an alert, perky, happily surprised expression, they cause people to break out into a big smile when viewing their first Curl. Curls are very people-oriented, faithful, affectionate soulmates, adjusting remarkably fast to other pets, children, and new situations.\",\n    \"life_span\": \"12 - 16\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 3,\n    \"grooming\": 2,\n    \"health_issues\": 1,\n    \"intelligence\": 3,\n    \"shedding_level\": 3,\n    \"social_needs\": 3,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 3,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/American_Curl\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/xnsqonbjW.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"8 - 15\",\n      \"metric\": \"4 - 7\"\n    },\n    \"id\": 5,\n    \"name\": \"American Shorthair\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsAB/AmericanShorthair.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/american-shorthair\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/american-shorthair\",\n    \"temperament\": \"Active, Curious, Easy Going, Playful, Calm\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"The American Shorthair is known for its longevity, robust health, good looks, sweet personality, and amiability with children, dogs, and other pets.\",\n    \"life_span\": \"15 - 17\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Domestic Shorthair\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 3,\n    \"grooming\": 1,\n    \"health_issues\": 3,\n    \"intelligence\": 3,\n    \"shedding_level\": 3,\n    \"social_needs\": 4,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 3,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 1,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/American_Shorthair\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/JFPROfGtQ.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"8 - 15\",\n      \"metric\": \"4 - 7\"\n    },\n    \"id\": 6,\n    \"name\": \"American Wirehair\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsAB/AmericanWirehair.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/american-wirehair\",\n    \"temperament\": \"Affectionate, Curious, Gentle, Intelligent, Interactive, Lively, Loyal, Playful, Sensible, Social\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"The American Wirehair tends to be a calm and tolerant cat who takes life as it comes. His favorite hobby is bird-watching from a sunny windowsill, and his hunting ability will stand you in good stead if insects enter the house.\",\n    \"life_span\": \"14 - 18\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 3,\n    \"grooming\": 1,\n    \"health_issues\": 3,\n    \"intelligence\": 3,\n    \"shedding_level\": 1,\n    \"social_needs\": 3,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 3,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/American_Wirehair\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/8D--jCd21.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"8 - 16\",\n      \"metric\": \"4 - 7\"\n    },\n    \"id\": 7,\n    \"name\": \"Arabian Mau\",\n    \"vcahospitals_url\": \"\",\n    \"temperament\": \"Affectionate, Agile, Curious, Independent, Playful, Loyal\",\n    \"origin\": \"United Arab Emirates\",\n    \"country_codes\": \"AE\",\n    \"country_code\": \"AE\",\n    \"description\": \"Arabian Mau cats are social and energetic. Due to their energy levels, these cats do best in homes where their owners will be able to provide them with plenty of playtime, attention and interaction from their owners. These kitties are friendly, intelligent, and adaptable, and will even get along well with other pets and children.\",\n    \"life_span\": \"12 - 14\",\n    \"indoor\": 0,\n    \"alt_names\": \"Alley cat\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 4,\n    \"grooming\": 1,\n    \"health_issues\": 1,\n    \"intelligence\": 3,\n    \"shedding_level\": 1,\n    \"social_needs\": 3,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 1,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Arabian_Mau\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/k71ULYfRr.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"7 - 15\",\n      \"metric\": \"3 - 7\"\n    },\n    \"id\": 8,\n    \"name\": \"Australian Mist\",\n    \"temperament\": \"Lively, Social, Fun-loving, Relaxed, Affectionate\",\n    \"origin\": \"Australia\",\n    \"country_codes\": \"AU\",\n    \"country_code\": \"AU\",\n    \"description\": \"The Australian Mist thrives on human companionship. Tolerant of even the youngest of children, these friendly felines enjoy playing games and being part of the hustle and bustle of a busy household. They make entertaining companions for people of all ages, and are happy to remain indoors between dusk and dawn or to be wholly indoor pets.\",\n    \"life_span\": \"12 - 16\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Spotted Mist\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 4,\n    \"grooming\": 3,\n    \"health_issues\": 1,\n    \"intelligence\": 4,\n    \"shedding_level\": 3,\n    \"social_needs\": 4,\n    \"stranger_friendly\": 4,\n    \"vocalisation\": 3,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Australian_Mist\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/_6x-3TiCA.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"4 - 10\",\n      \"metric\": \"2 - 5\"\n    },\n    \"id\": 9,\n    \"name\": \"Balinese\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsAB/Balinese.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/balinese\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/balinese\",\n    \"temperament\": \"Affectionate, Intelligent, Playful\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"Balinese are curious, outgoing, intelligent cats with excellent communication skills. They are known for their chatty personalities and are always eager to tell you their views on life, love, and what you’ve served them for dinner. \",\n    \"life_span\": \"10 - 15\",\n    \"indoor\": 0,\n    \"alt_names\": \"Long-haired Siamese\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 5,\n    \"grooming\": 3,\n    \"health_issues\": 3,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 5,\n    \"vocalisation\": 5,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Balinese_(cat)\",\n    \"hypoallergenic\": 1,\n    \"image\": \"https://cdn2.thecatapi.com/images/13MkvUreZ.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"4 - 9\",\n      \"metric\": \"2 - 4\"\n    },\n    \"id\": 10,\n    \"name\": \"Bambino\",\n    \"temperament\": \"Affectionate, Lively, Friendly, Intelligent\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"The Bambino is a breed of cat that was created as a cross between the Sphynx and the Munchkin breeds. The Bambino cat has short legs, large upright ears, and is usually hairless. They love to be handled and cuddled up on the laps of their family members.\",\n    \"life_span\": \"12 - 14\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 5,\n    \"grooming\": 1,\n    \"health_issues\": 1,\n    \"intelligence\": 5,\n    \"shedding_level\": 1,\n    \"social_needs\": 3,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 3,\n    \"experimental\": 1,\n    \"hairless\": 1,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 1,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Bambino_cat\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/5AdhMjeEu.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"6 - 12\",\n      \"metric\": \"3 - 7\"\n    },\n    \"id\": 11,\n    \"name\": \"Bengal\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsAB/Bengal.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/bengal\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/bengal\",\n    \"temperament\": \"Alert, Agile, Energetic, Demanding, Intelligent\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"Bengals are a lot of fun to live with, but they're definitely not the cat for everyone, or for first-time cat owners. Extremely intelligent, curious and active, they demand a lot of interaction and woe betide the owner who doesn't provide it.\",\n    \"life_span\": \"12 - 15\",\n    \"indoor\": 0,\n    \"lap\": 0,\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"cat_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 5,\n    \"grooming\": 1,\n    \"health_issues\": 3,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 5,\n    \"bidability\": 3,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Bengal_(cat)\",\n    \"hypoallergenic\": 1,\n    \"image\": \"https://cdn2.thecatapi.com/images/O3btzLlsO.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"6 - 15\",\n      \"metric\": \"3 - 7\"\n    },\n    \"id\": 12,\n    \"name\": \"Birman\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsAB/Birman.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/birman\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/birman\",\n    \"temperament\": \"Affectionate, Active, Gentle, Social\",\n    \"origin\": \"France\",\n    \"country_codes\": \"FR\",\n    \"country_code\": \"FR\",\n    \"description\": \"The Birman is a docile, quiet cat who loves people and will follow them from room to room. Expect the Birman to want to be involved in what you’re doing. He communicates in a soft voice, mainly to remind you that perhaps it’s time for dinner or maybe for a nice cuddle on the sofa. He enjoys being held and will relax in your arms like a furry baby.\",\n    \"life_span\": \"14 - 15\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Sacred Birman, Sacred Cat Of Burma\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 3,\n    \"grooming\": 2,\n    \"health_issues\": 1,\n    \"intelligence\": 3,\n    \"shedding_level\": 3,\n    \"social_needs\": 4,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Birman\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/HOrX5gwLS.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"6 - 11\",\n      \"metric\": \"3 - 5\"\n    },\n    \"id\": 13,\n    \"name\": \"Bombay\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsAB/Bombay.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/bombay\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/bombay\",\n    \"temperament\": \"Affectionate, Dependent, Gentle, Intelligent, Playful\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"The the golden eyes and the shiny black coa of the Bopmbay is absolutely striking. Likely to bond most with one family member, the Bombay will follow you from room to room and will almost always have something to say about what you are doing, loving attention and to be carried around, often on his caregiver's shoulder.\",\n    \"life_span\": \"12 - 16\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Small black Panther\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 3,\n    \"grooming\": 1,\n    \"health_issues\": 3,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 4,\n    \"stranger_friendly\": 4,\n    \"vocalisation\": 5,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Bombay_(cat)\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/5iYq9NmT1.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"8 - 18\",\n      \"metric\": \"4 - 8\"\n    },\n    \"id\": 14,\n    \"name\": \"British Longhair\",\n    \"temperament\": \"Affectionate, Easy Going, Independent, Intelligent, Loyal, Social\",\n    \"origin\": \"United Kingdom\",\n    \"country_codes\": \"GB\",\n    \"country_code\": \"GB\",\n    \"description\": \"The British Longhair is a very laid-back relaxed cat, often perceived to be very independent although they will enjoy the company of an equally relaxed and likeminded cat. They are an affectionate breed, but very much on their own terms and tend to prefer to choose to come and sit with their owners rather than being picked up.\",\n    \"life_span\": \"12 - 14\",\n    \"indoor\": 0,\n    \"alt_names\": \"\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 4,\n    \"grooming\": 5,\n    \"health_issues\": 1,\n    \"intelligence\": 5,\n    \"shedding_level\": 1,\n    \"social_needs\": 3,\n    \"stranger_friendly\": 4,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/British_Longhair\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/7isAO4Cav.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"12 - 20\",\n      \"metric\": \"5 - 9\"\n    },\n    \"id\": 15,\n    \"name\": \"British Shorthair\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsAB/BritishShorthair.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/british-shorthair\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/british-shorthair\",\n    \"temperament\": \"Affectionate, Easy Going, Gentle, Loyal, Patient, calm\",\n    \"origin\": \"United Kingdom\",\n    \"country_codes\": \"GB\",\n    \"country_code\": \"GB\",\n    \"description\": \"The British Shorthair is a very pleasant cat to have as a companion, ans is easy going and placid. The British is a fiercely loyal, loving cat and will attach herself to every one of her family members. While loving to play, she doesn't need hourly attention. If she is in the mood to play, she will find someone and bring a toy to that person. The British also plays well by herself, and thus is a good companion for single people.\",\n    \"life_span\": \"12 - 17\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Highlander, Highland Straight, Britannica\",\n    \"adaptability\": 5,\n    \"affection_level\": 4,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 2,\n    \"grooming\": 2,\n    \"health_issues\": 2,\n    \"intelligence\": 3,\n    \"shedding_level\": 4,\n    \"social_needs\": 3,\n    \"stranger_friendly\": 2,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 1,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/British_Shorthair\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/s4wQfYoEk.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"6 - 12\",\n      \"metric\": \"3 - 5\"\n    },\n    \"id\": 16,\n    \"name\": \"Burmese\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsAB/Burmese.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/burmese\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/burmese\",\n    \"temperament\": \"Curious, Intelligent, Gentle, Social, Interactive, Playful, Lively\",\n    \"origin\": \"Burma\",\n    \"country_codes\": \"MM\",\n    \"country_code\": \"MM\",\n    \"description\": \"Burmese love being with people, playing with them, and keeping them entertained. They crave close physical contact and abhor an empty lap. They will follow their humans from room to room, and sleep in bed with them, preferably under the covers, cuddled as close as possible. At play, they will turn around to see if their human is watching and being entertained by their crazy antics.\",\n    \"life_span\": \"15 - 16\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 4,\n    \"grooming\": 1,\n    \"health_issues\": 3,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 5,\n    \"vocalisation\": 5,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Burmese_(cat)\",\n    \"hypoallergenic\": 1,\n    \"image\": \"https://cdn2.thecatapi.com/images/4lXnnfxac.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"6 - 13\",\n      \"metric\": \"3 - 6\"\n    },\n    \"id\": 17,\n    \"name\": \"Burmilla\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsAB/Burmilla.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/burmilla\",\n    \"temperament\": \"Easy Going, Friendly, Intelligent, Lively, Playful, Social\",\n    \"origin\": \"United Kingdom\",\n    \"country_codes\": \"GB\",\n    \"country_code\": \"GB\",\n    \"description\": \"The Burmilla is a fairly placid cat. She tends to be an easy cat to get along with, requiring minimal care. The Burmilla is affectionate and sweet and makes a good companion, the Burmilla is an ideal companion to while away a lonely evening. Loyal, devoted, and affectionate, this cat will stay by its owner, always keeping them company.\",\n    \"life_span\": \"10 - 15\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 4,\n    \"energy_level\": 3,\n    \"grooming\": 3,\n    \"health_issues\": 3,\n    \"intelligence\": 3,\n    \"shedding_level\": 3,\n    \"social_needs\": 4,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 5,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Burmilla\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/jvg3XfEdC.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"10 - 15\",\n      \"metric\": \"5 - 7\"\n    },\n    \"id\": 18,\n    \"name\": \"California Spangled\",\n    \"temperament\": \"Affectionate, Curious, Intelligent, Loyal, Social\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"Perhaps the only thing about the California spangled cat that isn’t wild-like is its personality. Known to be affectionate, gentle and sociable, this breed enjoys spending a great deal of time with its owners. They are very playful, often choosing to perch in high locations and show off their acrobatic skills.\",\n    \"life_span\": \"10 - 14\",\n    \"indoor\": 0,\n    \"alt_names\": \"Spangle\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 5,\n    \"grooming\": 1,\n    \"health_issues\": 1,\n    \"intelligence\": 5,\n    \"shedding_level\": 1,\n    \"social_needs\": 3,\n    \"stranger_friendly\": 4,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/California_Spangled\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/B1ERTmgph.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"7 - 12\",\n      \"metric\": \"3 - 5\"\n    },\n    \"id\": 19,\n    \"name\": \"Chantilly-Tiffany\",\n    \"temperament\": \"Affectionate, Demanding, Interactive, Loyal\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"The Chantilly is a devoted companion and prefers company to being left alone. While the Chantilly is not demanding, she will \\\"chirp\\\" and \\\"talk\\\" as if having a conversation. This breed is affectionate, with a sweet temperament. It can stay still for extended periods, happily lounging in the lap of its loved one. This quality makes the Tiffany an ideal traveling companion, and an ideal house companion for senior citizens and the physically handicapped.\",\n    \"life_span\": \"14 - 16\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Chantilly, Foreign Longhair\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 4,\n    \"grooming\": 5,\n    \"health_issues\": 1,\n    \"intelligence\": 5,\n    \"shedding_level\": 5,\n    \"social_needs\": 3,\n    \"stranger_friendly\": 4,\n    \"vocalisation\": 5,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Chantilly-Tiffany\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/TR-5nAd_S.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"6 - 15\",\n      \"metric\": \"3 - 7\"\n    },\n    \"id\": 20,\n    \"name\": \"Chartreux\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsCJ/Chartreux.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/chartreux\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/chartreux\",\n    \"temperament\": \"Affectionate, Loyal, Intelligent, Social, Lively, Playful\",\n    \"origin\": \"France\",\n    \"country_codes\": \"FR\",\n    \"country_code\": \"FR\",\n    \"description\": \"The Chartreux is generally silent but communicative. Short play sessions, mixed with naps and meals are their perfect day. Whilst appreciating any attention you give them, they are not demanding, content instead to follow you around devotedly, sleep on your bed and snuggle with you if you’re not feeling well.\",\n    \"life_span\": \"12 - 15\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 2,\n    \"grooming\": 1,\n    \"health_issues\": 2,\n    \"intelligence\": 4,\n    \"shedding_level\": 3,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 5,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 1,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Chartreux\",\n    \"hypoallergenic\": 1,\n    \"image\": \"https://cdn2.thecatapi.com/images/j6oFGLpRG.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"7 - 15\",\n      \"metric\": \"3 - 7\"\n    },\n    \"id\": 21,\n    \"name\": \"Chausie\",\n    \"temperament\": \"Affectionate, Intelligent, Playful, Social\",\n    \"origin\": \"Egypt\",\n    \"country_codes\": \"EG\",\n    \"country_code\": \"EG\",\n    \"description\": \"For those owners who desire a feline capable of evoking the great outdoors, the strikingly beautiful Chausie retains a bit of the wild in its appearance but has the house manners of our friendly, familiar moggies. Very playful, this cat needs a large amount of space to be able to fully embrace its hunting instincts.\",\n    \"life_span\": \"12 - 14\",\n    \"indoor\": 0,\n    \"alt_names\": \"Nile Cat\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 4,\n    \"grooming\": 3,\n    \"health_issues\": 1,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 3,\n    \"stranger_friendly\": 4,\n    \"vocalisation\": 1,\n    \"experimental\": 1,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Chausie\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/vJ3lEYgXr.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"8 - 15\",\n      \"metric\": \"4 - 7\"\n    },\n    \"id\": 22,\n    \"name\": \"Cheetoh\",\n    \"temperament\": \"Affectionate, Gentle, Intelligent, Social\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"The Cheetoh has a super affectionate nature and real love for their human companions; they are intelligent with the ability to learn quickly. You can expect that a Cheetoh will be a fun-loving kitty who enjoys playing, running, and jumping through every room in your house.\",\n    \"life_span\": \"12 - 14\",\n    \"indoor\": 0,\n    \"alt_names\": \" \",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 4,\n    \"grooming\": 1,\n    \"health_issues\": 1,\n    \"intelligence\": 5,\n    \"shedding_level\": 1,\n    \"social_needs\": 3,\n    \"stranger_friendly\": 4,\n    \"vocalisation\": 5,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Bengal_cat#Cheetoh\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/IFXsxmXLm.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"4 - 10\",\n      \"metric\": \"2 - 5\"\n    },\n    \"id\": 23,\n    \"name\": \"Colorpoint Shorthair\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsCJ/ColorpointShorthair.aspx\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/colorpoint-shorthair\",\n    \"temperament\": \"Affectionate, Intelligent, Playful, Social\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"Colorpoint Shorthairs are an affectionate breed, devoted and loyal to their people. Sensitive to their owner’s moods, Colorpoints are more than happy to sit at your side or on your lap and purr words of encouragement on a bad day. They will constantly seek out your lap whenever it is open and in the moments when your lap is preoccupied they will stretch out in sunny spots on the ground.\",\n    \"life_span\": \"12 - 16\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"\",\n    \"adaptability\": 3,\n    \"affection_level\": 4,\n    \"child_friendly\": 4,\n    \"cat_friendly\": 3,\n    \"dog_friendly\": 4,\n    \"energy_level\": 4,\n    \"grooming\": 2,\n    \"health_issues\": 2,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 4,\n    \"stranger_friendly\": 2,\n    \"vocalisation\": 5,\n    \"bidability\": 4,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Colorpoint_Shorthair\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/oSpqGyUDS.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"5 - 9\",\n      \"metric\": \"2 - 4\"\n    },\n    \"id\": 24,\n    \"name\": \"Cornish Rex\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsCJ/CornishRex.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/cornish-rex\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/cornish-rex\",\n    \"temperament\": \"Affectionate, Intelligent, Active, Curious, Playful\",\n    \"origin\": \"United Kingdom\",\n    \"country_codes\": \"GB\",\n    \"country_code\": \"GB\",\n    \"description\": \"This is a confident cat who loves people and will follow them around, waiting for any opportunity to sit in a lap or give a kiss. He enjoys being handled, making it easy to take him to the veterinarian or train him for therapy work. The Cornish Rex stay in kitten mode most of their lives and well into their senior years. \",\n    \"life_span\": \"11 - 14\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"cat_friendly\": 2,\n    \"dog_friendly\": 5,\n    \"energy_level\": 5,\n    \"grooming\": 1,\n    \"health_issues\": 2,\n    \"intelligence\": 5,\n    \"shedding_level\": 1,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 1,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Cornish_Rex\",\n    \"hypoallergenic\": 1,\n    \"image\": \"https://cdn2.thecatapi.com/images/unX21IBVB.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"8 - 13\",\n      \"metric\": \"4 - 6\"\n    },\n    \"id\": 25,\n    \"name\": \"Cymric\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/cymric\",\n    \"temperament\": \"Gentle, Loyal, Intelligent, Playful\",\n    \"origin\": \"Canada\",\n    \"country_codes\": \"CA\",\n    \"country_code\": \"CA\",\n    \"description\": \"The Cymric is a placid, sweet cat. They do not get too upset about anything that happens in their world. They are loving companions and adore people. They are smart and dexterous, capable of using his paws to get into cabinets or to open doors.\",\n    \"life_span\": \"8 - 14\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Spangle\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 5,\n    \"grooming\": 3,\n    \"health_issues\": 3,\n    \"intelligence\": 5,\n    \"shedding_level\": 5,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 3,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 1,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Cymric_(cat)\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/3dbtapCWM.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"8 - 16\",\n      \"metric\": \"4 - 7\"\n    },\n    \"id\": 26,\n    \"name\": \"Cyprus\",\n    \"temperament\": \"Affectionate, Social\",\n    \"origin\": \"Cyprus\",\n    \"country_codes\": \"CY\",\n    \"country_code\": \"CY\",\n    \"description\": \"Loving, loyal, social and inquisitive, the Cyprus cat forms strong ties with their families and love nothing more than to be involved in everything that goes on in their surroundings. They are not overly active by nature which makes them the perfect companion for people who would like to share their homes with a laid-back relaxed feline companion. \",\n    \"life_span\": \"12 - 15\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Cypriot cat\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 4,\n    \"grooming\": 3,\n    \"health_issues\": 1,\n    \"intelligence\": 3,\n    \"shedding_level\": 3,\n    \"social_needs\": 3,\n    \"stranger_friendly\": 4,\n    \"vocalisation\": 3,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 1,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Cyprus_cat\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/tJbzb7FKo.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"5 - 10\",\n      \"metric\": \"2 - 5\"\n    },\n    \"id\": 27,\n    \"name\": \"Devon Rex\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsCJ/DevonRex.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/devon-rex\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/devon-rex\",\n    \"temperament\": \"Highly interactive, Mischievous, Loyal, Social, Playful\",\n    \"origin\": \"United Kingdom\",\n    \"country_codes\": \"GB\",\n    \"country_code\": \"GB\",\n    \"description\": \"The favourite perch of the Devon Rex is right at head level, on the shoulder of her favorite person. She takes a lively interest in everything that is going on and refuses to be left out of any activity. Count on her to stay as close to you as possible, occasionally communicating his opinions in a quiet voice. She loves people and welcomes the attentions of friends and family alike.\",\n    \"life_span\": \"10 - 15\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Pixie cat, Alien cat, Poodle cat\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 5,\n    \"grooming\": 1,\n    \"health_issues\": 3,\n    \"intelligence\": 5,\n    \"shedding_level\": 1,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 5,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 1,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Devon_Rex\",\n    \"hypoallergenic\": 1,\n    \"image\": \"https://cdn2.thecatapi.com/images/4RzEwvyzz.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"10 - 12\",\n      \"metric\": \"5 - 6\"\n    },\n    \"id\": 28,\n    \"name\": \"Donskoy\",\n    \"temperament\": \"Playful, affectionate, loyal, social\",\n    \"origin\": \"Russia\",\n    \"country_codes\": \"RU\",\n    \"country_code\": \"RU\",\n    \"description\": \"Donskoy are affectionate, intelligent, and easy-going. They demand lots of attention and interaction. The Donskoy also gets along well with other pets. It is now thought the same gene that causes degrees of hairlessness in the Donskoy also causes alterations in cat personality, making them calmer the less hair they have.\",\n    \"life_span\": \"12 - 15\",\n    \"indoor\": 0,\n    \"adaptability\": 4,\n    \"affection_level\": 4,\n    \"child_friendly\": 3,\n    \"cat_friendly\": 3,\n    \"dog_friendly\": 3,\n    \"energy_level\": 4,\n    \"grooming\": 2,\n    \"health_issues\": 3,\n    \"intelligence\": 3,\n    \"shedding_level\": 1,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 5,\n    \"vocalisation\": 2,\n    \"experimental\": 0,\n    \"hairless\": 1,\n    \"natural\": 0,\n    \"rare\": 1,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Donskoy_(cat)\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/3KG57GfMW.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"9 - 12\",\n      \"metric\": \"4 - 6\"\n    },\n    \"id\": 29,\n    \"name\": \"Dragon Li\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/li-hua\",\n    \"temperament\": \"Intelligent, Friendly, Gentle, Loving, Loyal\",\n    \"origin\": \"China\",\n    \"country_codes\": \"CN\",\n    \"country_code\": \"CN\",\n    \"description\": \"The Dragon Li is loyal, but not particularly affectionate. They are known to be very intelligent, and their natural breed status means that they're very active. She is is gentle with people, and has a reputation as a talented hunter of rats and other vermin.\",\n    \"life_span\": \"12 - 15\",\n    \"indoor\": 1,\n    \"alt_names\": \"Chinese Lia Hua, Lí hua māo (貍花貓), Li Hua\",\n    \"adaptability\": 3,\n    \"affection_level\": 3,\n    \"child_friendly\": 3,\n    \"cat_friendly\": 3,\n    \"dog_friendly\": 3,\n    \"energy_level\": 3,\n    \"grooming\": 1,\n    \"health_issues\": 1,\n    \"intelligence\": 3,\n    \"shedding_level\": 3,\n    \"social_needs\": 4,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 3,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 1,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Dragon_Li\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/BQMSld0A0.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"6 - 14\",\n      \"metric\": \"3 - 6\"\n    },\n    \"id\": 30,\n    \"name\": \"Egyptian Mau\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsCJ/EgyptianMau.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/egyptian-mau\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/egyptian-mau\",\n    \"temperament\": \"Agile, Dependent, Gentle, Intelligent, Lively, Loyal, Playful\",\n    \"origin\": \"Egypt\",\n    \"country_codes\": \"EG\",\n    \"country_code\": \"EG\",\n    \"description\": \"The Egyptian Mau is gentle and reserved. She loves her people and desires attention and affection from them but is wary of others. Early, continuing socialization is essential with this sensitive and sometimes shy cat, especially if you plan to show or travel with her. Otherwise, she can be easily startled by unexpected noises or events.\",\n    \"life_span\": \"18 - 20\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Pharaoh Cat\",\n    \"adaptability\": 2,\n    \"affection_level\": 5,\n    \"child_friendly\": 3,\n    \"dog_friendly\": 3,\n    \"energy_level\": 5,\n    \"grooming\": 1,\n    \"health_issues\": 3,\n    \"intelligence\": 4,\n    \"shedding_level\": 3,\n    \"social_needs\": 4,\n    \"stranger_friendly\": 2,\n    \"vocalisation\": 3,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 1,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Egyptian_Mau\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/TuSyTkt2n.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"7 - 14\",\n      \"metric\": \"3 - 6\"\n    },\n    \"id\": 31,\n    \"name\": \"Exotic Shorthair\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsCJ/Exotic.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/exotic-shorthair\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/exotic-shorthair\",\n    \"temperament\": \"Affectionate, Sweet, Loyal, Quiet, Peaceful\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"The Exotic Shorthair is a gentle friendly cat that has the same personality as the Persian. They love having fun, don’t mind the company of other cats and dogs, also love to curl up for a sleep in a safe place. Exotics love their own people, but around strangers they are cautious at first. Given time, they usually warm up to visitors.\",\n    \"life_span\": \"12 - 15\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Exotic\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 3,\n    \"dog_friendly\": 3,\n    \"energy_level\": 3,\n    \"grooming\": 2,\n    \"health_issues\": 3,\n    \"intelligence\": 3,\n    \"shedding_level\": 2,\n    \"social_needs\": 4,\n    \"stranger_friendly\": 2,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Exotic_Shorthair\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/YnPrYEmfe.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"6 - 10\",\n      \"metric\": \"3 - 5\"\n    },\n    \"id\": 32,\n    \"name\": \"Havana Brown\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsCJ/HavanaBrown.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/havana-brown\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/havana-brown\",\n    \"temperament\": \"Affectionate, Curious, Demanding, Friendly, Intelligent, Playful\",\n    \"origin\": \"United Kingdom\",\n    \"country_codes\": \"GB\",\n    \"country_code\": \"GB\",\n    \"description\": \"The Havana Brown is human oriented, playful, and curious. She has a strong desire to spend time with her people and involve herself in everything they do. Being naturally inquisitive, the Havana Brown reaches out with a paw to touch and feel when investigating curiosities in its environment. They are truly sensitive by nature and frequently gently touch their human companions as if they are extending a paw of friendship.\",\n    \"life_span\": \"10 - 15\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Havana, HB\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 3,\n    \"grooming\": 1,\n    \"health_issues\": 1,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Havana_Brown\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/njK25knLH.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"7 - 14\",\n      \"metric\": \"3 - 6\"\n    },\n    \"id\": 33,\n    \"name\": \"Himalayan\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/himalayan\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/himalayan\",\n    \"temperament\": \"Dependent, Gentle, Intelligent, Quiet, Social\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"Calm and devoted, Himalayans make excellent companions, though they prefer a quieter home. They are playful in a sedate kind of way and enjoy having an assortment of toys. The Himalayan will stretch out next to you, sleep in your bed and even sit on your lap when she is in the mood.\",\n    \"life_span\": \"9 - 15\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Himalayan Persian, Colourpoint Persian, Longhaired Colourpoint, Himmy\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 2,\n    \"dog_friendly\": 2,\n    \"energy_level\": 1,\n    \"grooming\": 5,\n    \"health_issues\": 3,\n    \"intelligence\": 3,\n    \"shedding_level\": 4,\n    \"social_needs\": 4,\n    \"stranger_friendly\": 2,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Himalayan_(cat)\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/CDhOtM-Ig.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"5 - 10\",\n      \"metric\": \"2 - 5\"\n    },\n    \"id\": 34,\n    \"name\": \"Japanese Bobtail\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsCJ/JapaneseBobtail.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/japanese-bobtail\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/japanese-bobtail\",\n    \"temperament\": \"Active, Agile, Clever, Easy Going, Intelligent, Lively, Loyal, Playful, Social\",\n    \"origin\": \"Japan\",\n    \"country_codes\": \"JP\",\n    \"country_code\": \"JP\",\n    \"description\": \"The Japanese Bobtail is an active, sweet, loving and highly intelligent breed. They love to be with people and play seemingly endlessly. They learn their name and respond to it. They bring toys to people and play fetch with a favorite toy for hours. Bobtails are social and are at their best when in the company of people. They take over the house and are not intimidated. If a dog is in the house, Bobtails assume Bobtails are in charge.\",\n    \"life_span\": \"14 - 16\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Japanese Truncated Cat\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 5,\n    \"grooming\": 1,\n    \"health_issues\": 1,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 5,\n    \"vocalisation\": 5,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 1,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 1,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Japanese_Bobtail\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/-tm9-znzl.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"5 - 10\",\n      \"metric\": \"2 - 5\"\n    },\n    \"id\": 35,\n    \"name\": \"Javanese\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/javanese\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/javanese\",\n    \"temperament\": \"Active, Devoted, Intelligent, Playful\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"Javanese are endlessly interested, intelligent and active. They tend to enjoy jumping to great heights, playing with fishing pole-type or other interactive toys and just generally investigating their surroundings. He will attempt to copy things you do, such as opening doors or drawers.\",\n    \"life_span\": \"10 - 12\",\n    \"indoor\": 0,\n    \"alt_names\": \" \",\n    \"adaptability\": 4,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 4,\n    \"energy_level\": 5,\n    \"grooming\": 1,\n    \"health_issues\": 3,\n    \"intelligence\": 5,\n    \"shedding_level\": 2,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 5,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Javanese_cat\",\n    \"hypoallergenic\": 1,\n    \"image\": \"https://cdn2.thecatapi.com/images/xoI_EpOKe.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"8 - 12\",\n      \"metric\": \"4 - 6\"\n    },\n    \"id\": 36,\n    \"name\": \"Khao Manee\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsKthruR/KhaoManee.aspx\",\n    \"temperament\": \"Calm, Relaxed, Talkative, Playful, Warm\",\n    \"origin\": \"Thailand\",\n    \"country_codes\": \"TH\",\n    \"country_code\": \"TH\",\n    \"description\": \"The Khao Manee is highly intelligent, with an extrovert and inquisitive nature, however they are also very calm and relaxed, making them an idea lap cat.\",\n    \"life_span\": \"10 - 12\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Diamond Eye cat\",\n    \"adaptability\": 4,\n    \"affection_level\": 4,\n    \"child_friendly\": 3,\n    \"cat_friendly\": 3,\n    \"dog_friendly\": 3,\n    \"energy_level\": 3,\n    \"grooming\": 3,\n    \"health_issues\": 1,\n    \"intelligence\": 4,\n    \"shedding_level\": 3,\n    \"social_needs\": 3,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 5,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Khao_Manee\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/165ok6ESN.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"7 - 11\",\n      \"metric\": \"3 - 5\"\n    },\n    \"id\": 37,\n    \"name\": \"Korat\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsKthruR/Korat.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/korat\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/korat\",\n    \"temperament\": \"Active, Loyal, highly intelligent, Expressive, Trainable\",\n    \"origin\": \"Thailand\",\n    \"country_codes\": \"TH\",\n    \"country_code\": \"TH\",\n    \"description\": \"The Korat is a natural breed, and one of the oldest stable cat breeds. They are highly intelligent and confident cats that can be fearless, although they are startled by loud sounds and sudden movements. Korats form strong bonds with their people and like to cuddle and stay nearby.\",\n    \"life_span\": \"10 - 15\",\n    \"indoor\": 0,\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 3,\n    \"grooming\": 1,\n    \"health_issues\": 1,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 2,\n    \"vocalisation\": 3,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 1,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Korat\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/DbwiefiaY.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"8 - 15\",\n      \"metric\": \"4 - 7\"\n    },\n    \"id\": 38,\n    \"name\": \"Kurilian\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/kurilian-bobtail\",\n    \"temperament\": \"Independent, highly intelligent, clever, inquisitive, sociable, playful, trainable\",\n    \"origin\": \"Russia\",\n    \"country_codes\": \"RU\",\n    \"country_code\": \"RU\",\n    \"description\": \"The character of the Kurilian Bobtail is independent, highly intelligent, clever, inquisitive, sociable, playful, trainable, absent of aggression and very gentle. They are devoted to their humans and when allowed are either on the lap of or sleeping in bed with their owners.\",\n    \"life_span\": \"15 - 20\",\n    \"indoor\": 0,\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 5,\n    \"dog_friendly\": 5,\n    \"energy_level\": 5,\n    \"grooming\": 1,\n    \"health_issues\": 1,\n    \"intelligence\": 5,\n    \"shedding_level\": 2,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 5,\n    \"vocalisation\": 3,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 1,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 1,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Kurilian_Bobtail\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/NZpO4pU56M.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"6 - 10\",\n      \"metric\": \"3 - 5\"\n    },\n    \"id\": 39,\n    \"name\": \"LaPerm\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsKthruR/LaPerm.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/laperm\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/laperm\",\n    \"temperament\": \"Affectionate, Friendly, Gentle, Intelligent, Playful, Quiet\",\n    \"origin\": \"Thailand\",\n    \"country_codes\": \"TH\",\n    \"country_code\": \"TH\",\n    \"description\": \"LaPerms are gentle and affectionate but also very active. Unlike many active breeds, the LaPerm is also quite content to be a lap cat. The LaPerm will often follow your lead; that is, if they are busy playing and you decide to sit and relax, simply pick up your LaPerm and sit down with it, and it will stay in your lap, devouring the attention you give it.\",\n    \"life_span\": \"10 - 15\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Si-Sawat\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 4,\n    \"grooming\": 1,\n    \"health_issues\": 1,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 4,\n    \"stranger_friendly\": 4,\n    \"vocalisation\": 3,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 1,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/LaPerm\",\n    \"hypoallergenic\": 1,\n    \"image\": \"https://cdn2.thecatapi.com/images/aKbsEYjSl.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"12 - 18\",\n      \"metric\": \"5 - 8\"\n    },\n    \"id\": 40,\n    \"name\": \"Maine Coon\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsKthruR/MaineCoon.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/maine-coon\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/maine-coon\",\n    \"temperament\": \"Adaptable, Intelligent, Loving, Gentle, Independent\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"They are known for their size and luxurious long coat Maine Coons are considered a gentle giant. The good-natured and affable Maine Coon adapts well to many lifestyles and personalities. She likes being with people and has the habit of following them around, but isn’t needy. Most Maine Coons love water and they can be quite good swimmers.\",\n    \"life_span\": \"12 - 15\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Coon Cat, Maine Cat, Maine Shag, Snowshoe Cat, American Longhair, The Gentle Giants\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 3,\n    \"grooming\": 3,\n    \"health_issues\": 3,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 3,\n    \"stranger_friendly\": 5,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 1,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Maine_Coon\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/OOD3VXAQn.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"7 - 13\",\n      \"metric\": \"3 - 6\"\n    },\n    \"id\": 41,\n    \"name\": \"Manx\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsKthruR/Manx.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/manx\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/manx\",\n    \"temperament\": \"Easy Going, Intelligent, Loyal, Playful, Social\",\n    \"origin\": \"Isle of Man\",\n    \"country_codes\": \"IM\",\n    \"country_code\": \"IM\",\n    \"description\": \"The Manx is a placid, sweet cat that is gentle and playful. She never seems to get too upset about anything. She is a loving companion and adores being with people.\",\n    \"life_span\": \"12 - 14\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Manks, Stubbin, Rumpy\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 5,\n    \"grooming\": 1,\n    \"health_issues\": 3,\n    \"intelligence\": 5,\n    \"shedding_level\": 5,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 3,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 1,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 1,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Manx_(cat)\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/fhYh2PDcC.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"5 - 9\",\n      \"metric\": \"2 - 4\"\n    },\n    \"id\": 42,\n    \"name\": \"Munchkin\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/munchkin\",\n    \"temperament\": \"Agile, Easy Going, Intelligent, Playful\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"The Munchkin is an outgoing cat who enjoys being handled. She has lots of energy and is faster and more agile than she looks. The shortness of their legs does not seem to interfere with their running and leaping abilities.\",\n    \"life_span\": \"10 - 15\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 4,\n    \"grooming\": 2,\n    \"health_issues\": 3,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 5,\n    \"vocalisation\": 3,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 1,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Munchkin_(cat)\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/j5cVSqLer.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"7 - 11\",\n      \"metric\": \"3 - 5\"\n    },\n    \"id\": 43,\n    \"name\": \"Nebelung\",\n    \"temperament\": \"Gentle, Quiet, Shy, Playful\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"The Nebelung may have a reserved nature, but she loves to play (being especially fond of retrieving) and enjoys jumping or climbing to high places where she can study people and situations at her leisure before making up her mind about whether she wants to get involved.\",\n    \"life_span\": \"11 - 16\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Longhaired Russian Blue\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 4,\n    \"energy_level\": 3,\n    \"grooming\": 3,\n    \"health_issues\": 2,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 3,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 1,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Nebelung\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/OGTWqNNOt.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"8 - 16\",\n      \"metric\": \"4 - 7\"\n    },\n    \"id\": 44,\n    \"name\": \"Norwegian Forest Cat\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsKthruR/NorwegianForestCat.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/norwegian-forest-cat\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/norwegian-forest-cat\",\n    \"temperament\": \"Sweet, Active, Intelligent, Social, Playful, Lively, Curious\",\n    \"origin\": \"Norway\",\n    \"country_codes\": \"NO\",\n    \"country_code\": \"NO\",\n    \"description\": \"The Norwegian Forest Cat is a sweet, loving cat. She appreciates praise and loves to interact with her parent. She makes a loving companion and bonds with her parents once she accepts them for her own. She is still a hunter at heart. She loves to chase toys as if they are real. She is territorial and patrols several times each day to make certain that all is fine.\",\n    \"life_span\": \"12 - 16\",\n    \"indoor\": 0,\n    \"alt_names\": \"Skogkatt / Skaukatt, Norsk Skogkatt / Norsk Skaukatt, Weegie\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 3,\n    \"grooming\": 2,\n    \"health_issues\": 3,\n    \"intelligence\": 4,\n    \"shedding_level\": 3,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 5,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 1,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Norwegian_Forest_Cat\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/06dgGmEOV.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"7 - 15\",\n      \"metric\": \"3 - 7\"\n    },\n    \"id\": 45,\n    \"name\": \"Ocicat\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsKthruR/Ocicat.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/ocicat\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/ocicat\",\n    \"temperament\": \"Active, Agile, Curious, Demanding, Friendly, Gentle, Lively, Playful, Social\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"Loyal and devoted to their owners, the Ocicat is intelligent, confident, outgoing, and seems to have many dog traits. They can be trained to fetch toys, walk on a lead, taught to 'speak', come when called, and follow other commands. \",\n    \"life_span\": \"12 - 14\",\n    \"indoor\": 0,\n    \"alt_names\": \"\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 5,\n    \"grooming\": 1,\n    \"health_issues\": 3,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 5,\n    \"vocalisation\": 3,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Ocicat\",\n    \"hypoallergenic\": 1,\n    \"image\": \"https://cdn2.thecatapi.com/images/JAx-08Y0n.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"5 - 10\",\n      \"metric\": \"2 - 5\"\n    },\n    \"id\": 46,\n    \"name\": \"Oriental\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsKthruR/Oriental.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/oriental\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/oriental\",\n    \"temperament\": \"Energetic, Affectionate, Intelligent, Social, Playful, Curious\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"Orientals are passionate about the people in their lives. They become extremely attached to their humans, so be prepared for a lifetime commitment. When you are not available to entertain her, an Oriental will divert herself by jumping on top of the refrigerator, opening drawers, seeking out new hideaways.\",\n    \"life_span\": \"12 - 14\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Foreign Type\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 5,\n    \"grooming\": 1,\n    \"health_issues\": 3,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 5,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Oriental_Shorthair\",\n    \"hypoallergenic\": 1,\n    \"image\": \"https://cdn2.thecatapi.com/images/LutjkZJpH.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"9 - 14\",\n      \"metric\": \"4 - 6\"\n    },\n    \"id\": 47,\n    \"name\": \"Persian\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsKthruR/Persian.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/persian\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/persian\",\n    \"temperament\": \"Affectionate, loyal, Sedate, Quiet\",\n    \"origin\": \"Iran (Persia)\",\n    \"country_codes\": \"IR\",\n    \"country_code\": \"IR\",\n    \"description\": \"Persians are sweet, gentle cats that can be playful or quiet and laid-back. Great with families and children, they absolutely love to lounge around the house. While they don’t mind a full house or active kids, they’ll usually hide when they need some alone time.\",\n    \"life_span\": \"14 - 15\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Longhair, Persian Longhair, Shiraz, Shirazi\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 2,\n    \"dog_friendly\": 2,\n    \"energy_level\": 1,\n    \"grooming\": 5,\n    \"health_issues\": 3,\n    \"intelligence\": 3,\n    \"shedding_level\": 4,\n    \"social_needs\": 4,\n    \"stranger_friendly\": 2,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 1,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Persian_(cat)\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/-Zfz5z2jK.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"8 - 17\",\n      \"metric\": \"4 - 8\"\n    },\n    \"id\": 48,\n    \"name\": \"Pixie-bob\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/pixiebob\",\n    \"temperament\": \"Affectionate, Social, Intelligent, Loyal\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"Companionable and affectionate, the Pixie-bob wants to be an integral part of the family. The Pixie-Bob’s ability to bond with their humans along with their patient personas make them excellent companions for children.\",\n    \"life_span\": \"13 - 16\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 4,\n    \"grooming\": 1,\n    \"health_issues\": 2,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 4,\n    \"stranger_friendly\": 4,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 1,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Pixiebob\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/z7fJRNeN6.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"8 - 20\",\n      \"metric\": \"4 - 9\"\n    },\n    \"id\": 49,\n    \"name\": \"Ragamuffin\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsKthruR/Ragamuffin.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/ragamuffin\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/ragamuffin\",\n    \"temperament\": \"Affectionate, Friendly, Gentle, Calm\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"The Ragamuffin is calm, even tempered and gets along well with all family members. Changes in routine generally do not upset her. She is an ideal companion for those in apartments, and with children due to her patient nature.\",\n    \"life_span\": \"12 - 16\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 3,\n    \"grooming\": 3,\n    \"health_issues\": 3,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 3,\n    \"stranger_friendly\": 5,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Ragamuffin_cat\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/SMuZx-bFM.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"12 - 20\",\n      \"metric\": \"5 - 9\"\n    },\n    \"id\": 50,\n    \"name\": \"Ragdoll\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsKthruR/Ragdoll.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/ragdoll\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/ragdoll\",\n    \"temperament\": \"Affectionate, Friendly, Gentle, Quiet, Easygoing\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"Ragdolls love their people, greeting them at the door, following them around the house, and leaping into a lap or snuggling in bed whenever given the chance. They are the epitome of a lap cat, enjoy being carried and collapsing into the arms of anyone who holds them.\",\n    \"life_span\": \"12 - 17\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Rag doll\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 3,\n    \"grooming\": 2,\n    \"health_issues\": 3,\n    \"intelligence\": 3,\n    \"shedding_level\": 3,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Ragdoll\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/oGefY4YoG.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"5 - 11\",\n      \"metric\": \"2 - 5\"\n    },\n    \"id\": 51,\n    \"name\": \"Russian Blue\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsKthruR/RussianBlue.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/russian-blue-nebelung\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/russian-blue\",\n    \"temperament\": \"Active, Dependent, Easy Going, Gentle, Intelligent, Loyal, Playful, Quiet\",\n    \"origin\": \"Russia\",\n    \"country_codes\": \"RU\",\n    \"country_code\": \"RU\",\n    \"description\": \"Russian Blues are very loving and reserved. They do not like noisy households but they do like to play and can be quite active when outdoors. They bond very closely with their owner and are known to be compatible with other pets.\",\n    \"life_span\": \"10 - 16\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Archangel Blue, Archangel Cat\",\n    \"adaptability\": 3,\n    \"affection_level\": 3,\n    \"child_friendly\": 3,\n    \"dog_friendly\": 3,\n    \"energy_level\": 3,\n    \"grooming\": 3,\n    \"health_issues\": 1,\n    \"intelligence\": 3,\n    \"shedding_level\": 3,\n    \"social_needs\": 3,\n    \"stranger_friendly\": 1,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 1,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Russian_Blue\",\n    \"hypoallergenic\": 1,\n    \"image\": \"https://cdn2.thecatapi.com/images/Rhj-JsTLP.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"8 - 25\",\n      \"metric\": \"4 - 11\"\n    },\n    \"id\": 52,\n    \"name\": \"Savannah\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/savannah\",\n    \"temperament\": \"Curious, Social, Intelligent, Loyal, Outgoing, Adventurous, Affectionate\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"Savannah is the feline version of a dog. Actively seeking social interaction, they are given to pouting if left out. Remaining kitten-like through life. Profoundly loyal to immediate family members whilst questioning the presence of strangers. Making excellent companions that are loyal, intelligent and eager to be involved.\",\n    \"life_span\": \"17 - 20\",\n    \"indoor\": 0,\n    \"alt_names\": \"\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 5,\n    \"grooming\": 1,\n    \"health_issues\": 1,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 5,\n    \"vocalisation\": 1,\n    \"experimental\": 1,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Savannah_cat\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/a8nIYvs6S.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"5 - 11\",\n      \"metric\": \"2 - 5\"\n    },\n    \"id\": 53,\n    \"name\": \"Scottish Fold\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsSthruT/ScottishFold.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/scottish-fold-highland-fold\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/scottish-fold\",\n    \"temperament\": \"Affectionate, Intelligent, Loyal, Playful, Social, Sweet, Loving\",\n    \"origin\": \"United Kingdom\",\n    \"country_codes\": \"GB\",\n    \"country_code\": \"GB\",\n    \"description\": \"The Scottish Fold is a sweet, charming breed. She is an easy cat to live with and to care for. She is affectionate and is comfortable with all members of her family. Her tail should be handled gently. Folds are known for sleeping on their backs, and for sitting with their legs stretched out and their paws on their belly. This is called the \\\"Buddha Position\\\".\",\n    \"life_span\": \"11 - 14\",\n    \"indoor\": 0,\n    \"alt_names\": \"Scot Fold\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 3,\n    \"grooming\": 1,\n    \"health_issues\": 4,\n    \"intelligence\": 3,\n    \"shedding_level\": 3,\n    \"social_needs\": 3,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Scottish_Fold\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/o9t0LDcsa.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"6 - 16\",\n      \"metric\": \"3 - 7\"\n    },\n    \"id\": 54,\n    \"name\": \"Selkirk Rex\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsSthruT/SelkirkRex.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/selkirk-rex\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/selkirk-rex\",\n    \"temperament\": \"Active, Affectionate, Dependent, Gentle, Patient, Playful, Quiet, Social\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"The Selkirk Rex is an incredibly patient, loving, and tolerant breed. The Selkirk also has a silly side and is sometimes described as clownish. She loves being a lap cat and will be happy to chat with you in a quiet voice if you talk to her. \",\n    \"life_span\": \"14 - 15\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Shepherd Cat\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 3,\n    \"grooming\": 2,\n    \"health_issues\": 4,\n    \"intelligence\": 3,\n    \"shedding_level\": 1,\n    \"social_needs\": 3,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 3,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 1,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Selkirk_Rex\",\n    \"hypoallergenic\": 1,\n    \"image\": \"https://cdn2.thecatapi.com/images/II9dOZmrw.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"8 - 15\",\n      \"metric\": \"4 - 7\"\n    },\n    \"id\": 55,\n    \"name\": \"Siamese\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsSthruT/Siamese.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/siamese\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/siamese\",\n    \"temperament\": \"Active, Agile, Clever, Sociable, Loving, Energetic\",\n    \"origin\": \"Thailand\",\n    \"country_codes\": \"TH\",\n    \"country_code\": \"TH\",\n    \"description\": \"While Siamese cats are extremely fond of their people, they will follow you around and supervise your every move, being talkative and opinionated. They are a demanding and social cat, that do not like being left alone for long periods.\",\n    \"life_span\": \"12 - 15\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Siam, Thai Cat\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 5,\n    \"grooming\": 1,\n    \"health_issues\": 1,\n    \"intelligence\": 5,\n    \"shedding_level\": 2,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 5,\n    \"vocalisation\": 5,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Siamese_(cat)\",\n    \"hypoallergenic\": 1,\n    \"image\": \"https://cdn2.thecatapi.com/images/ai6Jps4sx.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"8 - 16\",\n      \"metric\": \"4 - 7\"\n    },\n    \"id\": 56,\n    \"name\": \"Siberian\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsSthruT/Siberian.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/siberian\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/siberian\",\n    \"temperament\": \"Curious, Intelligent, Loyal, Sweet, Agile, Playful, Affectionate\",\n    \"origin\": \"Russia\",\n    \"country_codes\": \"RU\",\n    \"country_code\": \"RU\",\n    \"description\": \"The Siberians dog like temperament and affection makes the ideal lap cat and will live quite happily indoors. Very agile and powerful, the Siberian cat can easily leap and reach high places, including the tops of refrigerators and even doors. \",\n    \"life_span\": \"12 - 15\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Moscow Semi-longhair, HairSiberian Forest Cat\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 5,\n    \"grooming\": 2,\n    \"health_issues\": 2,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 4,\n    \"stranger_friendly\": 3,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 1,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Siberian_(cat)\",\n    \"hypoallergenic\": 1,\n    \"image\": \"https://cdn2.thecatapi.com/images/3bkZAjRh1.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"5 - 8\",\n      \"metric\": \"2 - 4\"\n    },\n    \"id\": 57,\n    \"name\": \"Singapura\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsSthruT/Singapura.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/singapura\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/singapura\",\n    \"temperament\": \"Affectionate, Curious, Easy Going, Intelligent, Interactive, Lively, Loyal\",\n    \"origin\": \"Singapore\",\n    \"country_codes\": \"SP\",\n    \"country_code\": \"SP\",\n    \"description\": \"The Singapura is usually cautious when it comes to meeting new people, but loves attention from his family so much that she sometimes has the reputation of being a pest. This is a highly active, curious and affectionate cat. She may be small, but she knows she’s in charge\",\n    \"life_span\": \"12 - 15\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Drain Cat, Kucinta, Pura\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 5,\n    \"grooming\": 1,\n    \"health_issues\": 1,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 5,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Singapura_(cat)\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/Qtncp2nRe.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"7 - 12\",\n      \"metric\": \"3 - 5\"\n    },\n    \"id\": 58,\n    \"name\": \"Snowshoe\",\n    \"temperament\": \"Affectionate, Social, Intelligent, Sweet-tempered\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"The Snowshoe is a vibrant, energetic, affectionate and intelligent cat. They love being around people which makes them ideal for families, and becomes unhappy when left alone for long periods of time. Usually attaching themselves to one person, they do whatever they can to get your attention.\",\n    \"life_span\": \"14 - 19\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 4,\n    \"grooming\": 3,\n    \"health_issues\": 1,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 4,\n    \"stranger_friendly\": 4,\n    \"vocalisation\": 5,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Snowshoe_(cat)\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/MK-sYESvO.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"6 - 12\",\n      \"metric\": \"3 - 5\"\n    },\n    \"id\": 59,\n    \"name\": \"Somali\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsSthruT/Somali.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/somali\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/somali\",\n    \"temperament\": \"Mischievous, Tenacious, Intelligent, Affectionate, Gentle, Interactive, Loyal\",\n    \"origin\": \"Somalia\",\n    \"country_codes\": \"SO\",\n    \"country_code\": \"SO\",\n    \"description\": \"The Somali lives life to the fullest. He climbs higher, jumps farther, plays harder. Nothing escapes the notice of this highly intelligent and inquisitive cat. Somalis love the company of humans and other animals.\",\n    \"life_span\": \"12 - 16\",\n    \"indoor\": 0,\n    \"alt_names\": \"Fox Cat, Long-Haired Abyssinian\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 3,\n    \"dog_friendly\": 4,\n    \"energy_level\": 5,\n    \"grooming\": 3,\n    \"health_issues\": 2,\n    \"intelligence\": 5,\n    \"shedding_level\": 4,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 5,\n    \"vocalisation\": 1,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Somali_(cat)\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/EPF2ejNS0.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"6 - 12\",\n      \"metric\": \"3 - 5\"\n    },\n    \"id\": 60,\n    \"name\": \"Sphynx\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsSthruT/Sphynx.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/sphynx\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/sphynx\",\n    \"temperament\": \"Loyal, Inquisitive, Friendly, Quiet, Gentle\",\n    \"origin\": \"Canada\",\n    \"country_codes\": \"CA\",\n    \"country_code\": \"CA\",\n    \"description\": \"The Sphynx is an intelligent, inquisitive, extremely friendly people-oriented breed. Sphynx commonly greet their owners  at the front door, with obvious excitement and happiness. She has an unexpected sense of humor that is often at odds with her dour expression.\",\n    \"life_span\": \"12 - 14\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Canadian Hairless, Canadian Sphynx\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 3,\n    \"grooming\": 2,\n    \"health_issues\": 4,\n    \"intelligence\": 5,\n    \"shedding_level\": 1,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 5,\n    \"vocalisation\": 5,\n    \"experimental\": 0,\n    \"hairless\": 1,\n    \"natural\": 0,\n    \"rare\": 1,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Sphynx_(cat)\",\n    \"hypoallergenic\": 1,\n    \"image\": \"https://cdn2.thecatapi.com/images/BDb8ZXb1v.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"6 - 12\",\n      \"metric\": \"3 - 5\"\n    },\n    \"id\": 61,\n    \"name\": \"Tonkinese\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsSthruT/Tonkinese.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/tonkinese\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/tonkinese\",\n    \"temperament\": \"Curious, Intelligent, Social, Lively, Outgoing, Playful, Affectionate\",\n    \"origin\": \"Canada\",\n    \"country_codes\": \"CA\",\n    \"country_code\": \"CA\",\n    \"description\": \"Intelligent and generous with their affection, a Tonkinese will supervise all activities with curiosity. Loving, social, active, playful, yet content to be a lap cat\",\n    \"life_span\": \"14 - 16\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"Tonk\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 5,\n    \"grooming\": 1,\n    \"health_issues\": 1,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 5,\n    \"vocalisation\": 5,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Tonkinese_(cat)\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/KBroiVNCM.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"7 - 15\",\n      \"metric\": \"3 - 7\"\n    },\n    \"id\": 62,\n    \"name\": \"Toyger\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/toyger\",\n    \"temperament\": \"Playful, Social, Intelligent\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"The Toyger has a sweet, calm personality and is generally friendly. He's outgoing enough to walk on a leash, energetic enough to play fetch and other interactive games, and confident enough to get along with other cats and friendly dogs.\",\n    \"life_span\": \"12 - 15\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 5,\n    \"grooming\": 1,\n    \"health_issues\": 2,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 3,\n    \"stranger_friendly\": 5,\n    \"vocalisation\": 5,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Toyger\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/O3F3_S1XN.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"5 - 10\",\n      \"metric\": \"2 - 5\"\n    },\n    \"id\": 63,\n    \"name\": \"Turkish Angora\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsSthruT/TurkishAngora.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/turkish-angora\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/turkish-angora\",\n    \"temperament\": \"Affectionate, Agile, Clever, Gentle, Intelligent, Playful, Social\",\n    \"origin\": \"Turkey\",\n    \"country_codes\": \"TR\",\n    \"country_code\": \"TR\",\n    \"description\": \"This is a smart and intelligent cat which bonds well with humans. With its affectionate and playful personality the Angora is a top choice for families. The Angora gets along great with other pets in the home, but it will make clear who is in charge, and who the house belongs to\",\n    \"life_span\": \"15 - 18\",\n    \"indoor\": 0,\n    \"alt_names\": \"Ankara\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 5,\n    \"grooming\": 2,\n    \"health_issues\": 2,\n    \"intelligence\": 5,\n    \"shedding_level\": 2,\n    \"social_needs\": 5,\n    \"stranger_friendly\": 5,\n    \"vocalisation\": 3,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 1,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Turkish_Angora\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/7CGV6WVXq.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"7 - 20\",\n      \"metric\": \"3 - 9\"\n    },\n    \"id\": 64,\n    \"name\": \"Turkish Van\",\n    \"cfa_url\": \"http://cfa.org/Breeds/BreedsSthruT/TurkishVan.aspx\",\n    \"vetstreet_url\": \"http://www.vetstreet.com/cats/turkish-van\",\n    \"vcahospitals_url\": \"https://vcahospitals.com/know-your-pet/cat-breeds/turkish-van\",\n    \"temperament\": \"Agile, Intelligent, Loyal, Playful, Energetic\",\n    \"origin\": \"Turkey\",\n    \"country_codes\": \"TR\",\n    \"country_code\": \"TR\",\n    \"description\": \"While the Turkish Van loves to jump and climb, play with toys, retrieve and play chase, she is is big and ungainly; this is one cat who doesn’t always land on his feet. While not much of a lap cat, the Van will be happy to cuddle next to you and sleep in your bed. \",\n    \"life_span\": \"12 - 17\",\n    \"indoor\": 0,\n    \"alt_names\": \"Turkish Cat, Swimming cat\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 5,\n    \"grooming\": 2,\n    \"health_issues\": 1,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 4,\n    \"stranger_friendly\": 4,\n    \"vocalisation\": 5,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 1,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/Turkish_Van\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/sxIXJax6h.jpg\"\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"12 - 18\",\n      \"metric\": \"5 - 8\"\n    },\n    \"id\": 65,\n    \"name\": \"York Chocolate\",\n    \"temperament\": \"Playful, Social, Intelligent, Curious, Friendly\",\n    \"origin\": \"United States\",\n    \"country_codes\": \"US\",\n    \"country_code\": \"US\",\n    \"description\": \"York Chocolate cats are known to be true lap cats with a sweet temperament. They love to be cuddled and petted. Their curious nature makes them follow you all the time and participate in almost everything you do, even if it's related to water: unlike many other cats, York Chocolates love it.\",\n    \"life_span\": \"13 - 15\",\n    \"indoor\": 0,\n    \"lap\": 1,\n    \"alt_names\": \"York\",\n    \"adaptability\": 5,\n    \"affection_level\": 5,\n    \"child_friendly\": 4,\n    \"dog_friendly\": 5,\n    \"energy_level\": 5,\n    \"grooming\": 3,\n    \"health_issues\": 1,\n    \"intelligence\": 5,\n    \"shedding_level\": 3,\n    \"social_needs\": 4,\n    \"stranger_friendly\": 4,\n    \"vocalisation\": 5,\n    \"experimental\": 0,\n    \"hairless\": 0,\n    \"natural\": 0,\n    \"rare\": 0,\n    \"rex\": 0,\n    \"suppressed_tail\": 0,\n    \"short_legs\": 0,\n    \"wikipedia_url\": \"https://en.wikipedia.org/wiki/York_Chocolate\",\n    \"hypoallergenic\": 0,\n    \"image\": \"https://cdn2.thecatapi.com/images/0SxW2SQ_S.jpg\"\n  }\n]\n"
  },
  {
    "path": "src/json/dogs.json",
    "content": "[\n  {\n    \"weight\": {\n      \"imperial\": \"6 - 13\",\n      \"metric\": \"3 - 6\"\n    },\n    \"height\": {\n      \"imperial\": \"9 - 11.5\",\n      \"metric\": \"23 - 29\"\n    },\n    \"id\": 1,\n    \"name\": \"Affenpinscher\",\n    \"bred_for\": \"Small rodent hunting, lapdog\",\n    \"breed_group\": \"Toy\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Stubborn, Curious, Playful, Adventurous, Active, Fun-loving\",\n    \"origin\": \"Germany, France\",\n    \"reference_image_id\": \"BJa4kxc4X\",\n    \"image\": {\n      \"id\": \"BJa4kxc4X\",\n      \"width\": 1600,\n      \"height\": 1199,\n      \"url\": \"https://cdn2.thedogapi.com/images/BJa4kxc4X.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"50 - 60\",\n      \"metric\": \"23 - 27\"\n    },\n    \"height\": {\n      \"imperial\": \"25 - 27\",\n      \"metric\": \"64 - 69\"\n    },\n    \"id\": 2,\n    \"name\": \"Afghan Hound\",\n    \"country_code\": \"AG\",\n    \"bred_for\": \"Coursing and hunting\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"10 - 13 years\",\n    \"temperament\": \"Aloof, Clownish, Dignified, Independent, Happy\",\n    \"origin\": \"Afghanistan, Iran, Pakistan\",\n    \"reference_image_id\": \"hMyT4CDXR\",\n    \"image\": {\n      \"id\": \"hMyT4CDXR\",\n      \"width\": 606,\n      \"height\": 380,\n      \"url\": \"https://cdn2.thedogapi.com/images/hMyT4CDXR.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"44 - 66\",\n      \"metric\": \"20 - 30\"\n    },\n    \"height\": {\n      \"imperial\": \"30\",\n      \"metric\": \"76\"\n    },\n    \"id\": 3,\n    \"name\": \"African Hunting Dog\",\n    \"bred_for\": \"A wild pack animal\",\n    \"life_span\": \"11 years\",\n    \"temperament\": \"Wild, Hardworking, Dutiful\",\n    \"origin\": \"\",\n    \"reference_image_id\": \"rkiByec47\",\n    \"image\": {\n      \"id\": \"rkiByec47\",\n      \"width\": 500,\n      \"height\": 335,\n      \"url\": \"https://cdn2.thedogapi.com/images/rkiByec47.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"40 - 65\",\n      \"metric\": \"18 - 29\"\n    },\n    \"height\": {\n      \"imperial\": \"21 - 23\",\n      \"metric\": \"53 - 58\"\n    },\n    \"id\": 4,\n    \"name\": \"Airedale Terrier\",\n    \"bred_for\": \"Badger, otter hunting\",\n    \"breed_group\": \"Terrier\",\n    \"life_span\": \"10 - 13 years\",\n    \"temperament\": \"Outgoing, Friendly, Alert, Confident, Intelligent, Courageous\",\n    \"origin\": \"United Kingdom, England\",\n    \"reference_image_id\": \"1-7cgoZSh\",\n    \"image\": {\n      \"id\": \"1-7cgoZSh\",\n      \"width\": 645,\n      \"height\": 430,\n      \"url\": \"https://cdn2.thedogapi.com/images/1-7cgoZSh.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"90 - 120\",\n      \"metric\": \"41 - 54\"\n    },\n    \"height\": {\n      \"imperial\": \"28 - 34\",\n      \"metric\": \"71 - 86\"\n    },\n    \"id\": 5,\n    \"name\": \"Akbash Dog\",\n    \"bred_for\": \"Sheep guarding\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Loyal, Independent, Intelligent, Brave\",\n    \"origin\": \"\",\n    \"reference_image_id\": \"26pHT3Qk7\",\n    \"image\": {\n      \"id\": \"26pHT3Qk7\",\n      \"width\": 600,\n      \"height\": 471,\n      \"url\": \"https://cdn2.thedogapi.com/images/26pHT3Qk7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"65 - 115\",\n      \"metric\": \"29 - 52\"\n    },\n    \"height\": {\n      \"imperial\": \"24 - 28\",\n      \"metric\": \"61 - 71\"\n    },\n    \"id\": 6,\n    \"name\": \"Akita\",\n    \"bred_for\": \"Hunting bears\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"10 - 14 years\",\n    \"temperament\": \"Docile, Alert, Responsive, Dignified, Composed, Friendly, Receptive, Faithful, Courageous\",\n    \"reference_image_id\": \"BFRYBufpm\",\n    \"image\": {\n      \"id\": \"BFRYBufpm\",\n      \"width\": 1280,\n      \"height\": 853,\n      \"url\": \"https://cdn2.thedogapi.com/images/BFRYBufpm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"55 - 90\",\n      \"metric\": \"25 - 41\"\n    },\n    \"height\": {\n      \"imperial\": \"18 - 24\",\n      \"metric\": \"46 - 61\"\n    },\n    \"id\": 7,\n    \"name\": \"Alapaha Blue Blood Bulldog\",\n    \"description\": \"The Alapaha Blue Blood Bulldog is a well-developed, exaggerated bulldog with a broad head and natural drop ears. The prominent muzzle is covered by loose upper lips. The prominent eyes are set well apart. The Alapaha's coat is relatively short and fairly stiff. Preferred colors are blue merle, brown merle, or red merle all trimmed in white or chocolate and white. Also preferred are the glass eyes (blue) or marble eyes (brown and blue mixed in a single eye). The ears and tail are never trimmed or docked. The body is sturdy and very muscular. The well-muscled hips are narrower than the chest. The straight back is as long as the dog is high at the shoulders. The dewclaws are never removed and the feet are cat-like.\",\n    \"bred_for\": \"Guarding\",\n    \"breed_group\": \"Mixed\",\n    \"life_span\": \"12 - 13 years\",\n    \"history\": \"\",\n    \"temperament\": \"Loving, Protective, Trainable, Dutiful, Responsible\",\n    \"reference_image_id\": \"33mJ-V3RX\",\n    \"image\": {\n      \"id\": \"33mJ-V3RX\",\n      \"width\": 1828,\n      \"height\": 2065,\n      \"url\": \"https://cdn2.thedogapi.com/images/33mJ-V3RX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"38 - 50\",\n      \"metric\": \"17 - 23\"\n    },\n    \"height\": {\n      \"imperial\": \"23 - 26\",\n      \"metric\": \"58 - 66\"\n    },\n    \"id\": 8,\n    \"name\": \"Alaskan Husky\",\n    \"bred_for\": \"Sled pulling\",\n    \"breed_group\": \"Mixed\",\n    \"life_span\": \"10 - 13 years\",\n    \"temperament\": \"Friendly, Energetic, Loyal, Gentle, Confident\",\n    \"reference_image_id\": \"-HgpNnGXl\",\n    \"image\": {\n      \"id\": \"-HgpNnGXl\",\n      \"width\": 500,\n      \"height\": 500,\n      \"url\": \"https://cdn2.thedogapi.com/images/-HgpNnGXl.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"65 - 100\",\n      \"metric\": \"29 - 45\"\n    },\n    \"height\": {\n      \"imperial\": \"23 - 25\",\n      \"metric\": \"58 - 64\"\n    },\n    \"id\": 9,\n    \"name\": \"Alaskan Malamute\",\n    \"bred_for\": \"Hauling heavy freight, Sled pulling\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Friendly, Affectionate, Devoted, Loyal, Dignified, Playful\",\n    \"reference_image_id\": \"dW5UucTIW\",\n    \"image\": {\n      \"id\": \"dW5UucTIW\",\n      \"width\": 1023,\n      \"height\": 769,\n      \"url\": \"https://cdn2.thedogapi.com/images/dW5UucTIW.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"60 - 120\",\n      \"metric\": \"27 - 54\"\n    },\n    \"height\": {\n      \"imperial\": \"22 - 27\",\n      \"metric\": \"56 - 69\"\n    },\n    \"id\": 10,\n    \"name\": \"American Bulldog\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Friendly, Assertive, Energetic, Loyal, Gentle, Confident, Dominant\",\n    \"reference_image_id\": \"pk1AAdloG\",\n    \"image\": {\n      \"id\": \"pk1AAdloG\",\n      \"width\": 1669,\n      \"height\": 1377,\n      \"url\": \"https://cdn2.thedogapi.com/images/pk1AAdloG.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"30 - 150\",\n      \"metric\": \"14 - 68\"\n    },\n    \"height\": {\n      \"imperial\": \"14 - 17\",\n      \"metric\": \"36 - 43\"\n    },\n    \"id\": 11,\n    \"name\": \"American Bully\",\n    \"country_code\": \"US\",\n    \"bred_for\": \"Family companion dog\",\n    \"breed_group\": \"\",\n    \"life_span\": \"8 – 15 years\",\n    \"temperament\": \"Strong Willed, Stubborn, Friendly, Clownish, Affectionate, Loyal, Obedient, Intelligent, Courageous\",\n    \"reference_image_id\": \"sqQJDtbpY\",\n    \"image\": {\n      \"id\": \"sqQJDtbpY\",\n      \"width\": 1024,\n      \"height\": 683,\n      \"url\": \"https://cdn2.thedogapi.com/images/sqQJDtbpY.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"20 - 40\",\n      \"metric\": \"9 - 18\"\n    },\n    \"height\": {\n      \"imperial\": \"15 - 19\",\n      \"metric\": \"38 - 48\"\n    },\n    \"id\": 12,\n    \"name\": \"American Eskimo Dog\",\n    \"country_code\": \"US\",\n    \"bred_for\": \"Circus performer\",\n    \"breed_group\": \"Non-Sporting\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Friendly, Alert, Reserved, Intelligent, Protective\",\n    \"reference_image_id\": \"Bymjyec4m\",\n    \"image\": {\n      \"id\": \"Bymjyec4m\",\n      \"width\": 1000,\n      \"height\": 802,\n      \"url\": \"https://cdn2.thedogapi.com/images/Bymjyec4m.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"7 - 10\",\n      \"metric\": \"3 - 5\"\n    },\n    \"height\": {\n      \"imperial\": \"9 - 12\",\n      \"metric\": \"23 - 30\"\n    },\n    \"id\": 13,\n    \"name\": \"American Eskimo Dog (Miniature)\",\n    \"country_code\": \"US\",\n    \"bred_for\": \"Companionship\",\n    \"life_span\": \"13 – 15 years\",\n    \"temperament\": \"Friendly, Alert, Reserved, Intelligent, Protective\",\n    \"reference_image_id\": \"_gn8GLrE6\",\n    \"image\": {\n      \"id\": \"_gn8GLrE6\",\n      \"width\": 730,\n      \"height\": 487,\n      \"url\": \"https://cdn2.thedogapi.com/images/_gn8GLrE6.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"65 - 75\",\n      \"metric\": \"29 - 34\"\n    },\n    \"height\": {\n      \"imperial\": \"21 - 28\",\n      \"metric\": \"53 - 71\"\n    },\n    \"id\": 14,\n    \"name\": \"American Foxhound\",\n    \"country_code\": \"US\",\n    \"bred_for\": \"Fox hunting, scent hound\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"8 - 15 years\",\n    \"temperament\": \"Kind, Sweet-Tempered, Loyal, Independent, Intelligent, Loving\",\n    \"reference_image_id\": \"S14n1x9NQ\",\n    \"image\": {\n      \"id\": \"S14n1x9NQ\",\n      \"width\": 3000,\n      \"height\": 2400,\n      \"url\": \"https://cdn2.thedogapi.com/images/S14n1x9NQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"30 - 60\",\n      \"metric\": \"14 - 27\"\n    },\n    \"height\": {\n      \"imperial\": \"17 - 21\",\n      \"metric\": \"43 - 53\"\n    },\n    \"id\": 15,\n    \"name\": \"American Pit Bull Terrier\",\n    \"country_code\": \"US\",\n    \"bred_for\": \"Fighting\",\n    \"breed_group\": \"Terrier\",\n    \"life_span\": \"10 - 15 years\",\n    \"temperament\": \"Strong Willed, Stubborn, Friendly, Clownish, Affectionate, Loyal, Obedient, Intelligent, Courageous\",\n    \"reference_image_id\": \"HkC31gcNm\",\n    \"image\": {\n      \"id\": \"HkC31gcNm\",\n      \"width\": 300,\n      \"height\": 244,\n      \"url\": \"https://cdn2.thedogapi.com/images/HkC31gcNm.png\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"50 - 60\",\n      \"metric\": \"23 - 27\"\n    },\n    \"height\": {\n      \"imperial\": \"17 - 19\",\n      \"metric\": \"43 - 48\"\n    },\n    \"id\": 16,\n    \"name\": \"American Staffordshire Terrier\",\n    \"country_code\": \"US\",\n    \"bred_for\": \"\",\n    \"breed_group\": \"Terrier\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Tenacious, Friendly, Devoted, Loyal, Attentive, Courageous\",\n    \"reference_image_id\": \"rJIakgc4m\",\n    \"image\": {\n      \"id\": \"rJIakgc4m\",\n      \"width\": 357,\n      \"height\": 500,\n      \"url\": \"https://cdn2.thedogapi.com/images/rJIakgc4m.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"25 - 45\",\n      \"metric\": \"11 - 20\"\n    },\n    \"height\": {\n      \"imperial\": \"15 - 18\",\n      \"metric\": \"38 - 46\"\n    },\n    \"id\": 17,\n    \"name\": \"American Water Spaniel\",\n    \"country_code\": \"US\",\n    \"bred_for\": \"Bird flushing and retrieving\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Friendly, Energetic, Obedient, Intelligent, Protective, Trainable\",\n    \"reference_image_id\": \"SkmRJl9VQ\",\n    \"image\": {\n      \"id\": \"SkmRJl9VQ\",\n      \"width\": 1600,\n      \"height\": 1264,\n      \"url\": \"https://cdn2.thedogapi.com/images/SkmRJl9VQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"80 - 150\",\n      \"metric\": \"36 - 68\"\n    },\n    \"height\": {\n      \"imperial\": \"27 - 29\",\n      \"metric\": \"69 - 74\"\n    },\n    \"id\": 18,\n    \"name\": \"Anatolian Shepherd Dog\",\n    \"bred_for\": \"Livestock herding\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"11 - 13 years\",\n    \"temperament\": \"Steady, Bold, Independent, Confident, Intelligent, Proud\",\n    \"reference_image_id\": \"BJT0Jx5Nm\",\n    \"image\": {\n      \"id\": \"BJT0Jx5Nm\",\n      \"width\": 1216,\n      \"height\": 1131,\n      \"url\": \"https://cdn2.thedogapi.com/images/BJT0Jx5Nm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"48 - 55\",\n      \"metric\": \"22 - 25\"\n    },\n    \"height\": {\n      \"imperial\": \"20 - 22\",\n      \"metric\": \"51 - 56\"\n    },\n    \"id\": 19,\n    \"name\": \"Appenzeller Sennenhund\",\n    \"bred_for\": \"Herding livestock, pulling carts, and guarding the farm\",\n    \"life_span\": \"12 – 14 years\",\n    \"temperament\": \"Reliable, Fearless, Energetic, Lively, Self-assured\",\n    \"reference_image_id\": \"HkNkxlqEX\",\n    \"image\": {\n      \"id\": \"HkNkxlqEX\",\n      \"width\": 400,\n      \"height\": 600,\n      \"url\": \"https://cdn2.thedogapi.com/images/HkNkxlqEX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"44 - 62\",\n      \"metric\": \"20 - 28\"\n    },\n    \"height\": {\n      \"imperial\": \"17 - 20\",\n      \"metric\": \"43 - 51\"\n    },\n    \"id\": 20,\n    \"name\": \"Australian Cattle Dog\",\n    \"country_code\": \"AU\",\n    \"bred_for\": \"Cattle herding, herding trials\",\n    \"breed_group\": \"Herding\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Cautious, Energetic, Loyal, Obedient, Protective, Brave\",\n    \"reference_image_id\": \"IBkYVm4v1\",\n    \"image\": {\n      \"id\": \"IBkYVm4v1\",\n      \"width\": 736,\n      \"height\": 850,\n      \"url\": \"https://cdn2.thedogapi.com/images/IBkYVm4v1.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"31 - 46\",\n      \"metric\": \"14 - 21\"\n    },\n    \"height\": {\n      \"imperial\": \"17 - 20\",\n      \"metric\": \"43 - 51\"\n    },\n    \"id\": 21,\n    \"name\": \"Australian Kelpie\",\n    \"country_code\": \"AU\",\n    \"bred_for\": \"Farm dog, Cattle herding\",\n    \"breed_group\": \"Herding\",\n    \"life_span\": \"10 - 13 years\",\n    \"temperament\": \"Friendly, Energetic, Alert, Loyal, Intelligent, Eager\",\n    \"reference_image_id\": \"Hyq1ge9VQ\",\n    \"image\": {\n      \"id\": \"Hyq1ge9VQ\",\n      \"width\": 800,\n      \"height\": 533,\n      \"url\": \"https://cdn2.thedogapi.com/images/Hyq1ge9VQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"35 - 65\",\n      \"metric\": \"16 - 29\"\n    },\n    \"height\": {\n      \"imperial\": \"18 - 23\",\n      \"metric\": \"46 - 58\"\n    },\n    \"id\": 22,\n    \"name\": \"Australian Shepherd\",\n    \"country_code\": \"AU\",\n    \"bred_for\": \"Sheep herding\",\n    \"breed_group\": \"Herding\",\n    \"life_span\": \"12 - 16 years\",\n    \"temperament\": \"Good-natured, Affectionate, Intelligent, Active, Protective\",\n    \"reference_image_id\": \"B1-llgq4m\",\n    \"image\": {\n      \"id\": \"B1-llgq4m\",\n      \"width\": 1200,\n      \"height\": 733,\n      \"url\": \"https://cdn2.thedogapi.com/images/B1-llgq4m.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"14 - 16\",\n      \"metric\": \"6 - 7\"\n    },\n    \"height\": {\n      \"imperial\": \"10 - 11\",\n      \"metric\": \"25 - 28\"\n    },\n    \"id\": 23,\n    \"name\": \"Australian Terrier\",\n    \"country_code\": \"AU\",\n    \"bred_for\": \"Cattle herdering, hunting snakes and rodents\",\n    \"breed_group\": \"Terrier\",\n    \"life_span\": \"15 years\",\n    \"temperament\": \"Spirited, Alert, Loyal, Companionable, Even Tempered, Courageous\",\n    \"reference_image_id\": \"r1Ylge5Vm\",\n    \"image\": {\n      \"id\": \"r1Ylge5Vm\",\n      \"width\": 1081,\n      \"height\": 720,\n      \"url\": \"https://cdn2.thedogapi.com/images/r1Ylge5Vm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"33 - 55\",\n      \"metric\": \"15 - 25\"\n    },\n    \"height\": {\n      \"imperial\": \"23 - 29\",\n      \"metric\": \"58 - 74\"\n    },\n    \"id\": 24,\n    \"name\": \"Azawakh\",\n    \"bred_for\": \"Livestock guardian, hunting\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"10 - 13 years\",\n    \"temperament\": \"Aloof, Affectionate, Attentive, Rugged, Fierce, Refined\",\n    \"reference_image_id\": \"SkvZgx94m\",\n    \"image\": {\n      \"id\": \"SkvZgx94m\",\n      \"width\": 1024,\n      \"height\": 768,\n      \"url\": \"https://cdn2.thedogapi.com/images/SkvZgx94m.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"40 - 65\",\n      \"metric\": \"18 - 29\"\n    },\n    \"height\": {\n      \"imperial\": \"20 - 26\",\n      \"metric\": \"51 - 66\"\n    },\n    \"id\": 25,\n    \"name\": \"Barbet\",\n    \"bred_for\": \"Hunting water game\",\n    \"life_span\": \"13 – 15 years\",\n    \"temperament\": \"Obedient, Companionable, Intelligent, Joyful\",\n    \"reference_image_id\": \"HyWGexcVQ\",\n    \"image\": {\n      \"id\": \"HyWGexcVQ\",\n      \"width\": 853,\n      \"height\": 1280,\n      \"url\": \"https://cdn2.thedogapi.com/images/HyWGexcVQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"22 - 24\",\n      \"metric\": \"10 - 11\"\n    },\n    \"height\": {\n      \"imperial\": \"16 - 17\",\n      \"metric\": \"41 - 43\"\n    },\n    \"id\": 26,\n    \"name\": \"Basenji\",\n    \"bred_for\": \"Hunting\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Affectionate, Energetic, Alert, Curious, Playful, Intelligent\",\n    \"reference_image_id\": \"H1dGlxqNQ\",\n    \"image\": {\n      \"id\": \"H1dGlxqNQ\",\n      \"width\": 740,\n      \"height\": 493,\n      \"url\": \"https://cdn2.thedogapi.com/images/H1dGlxqNQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"35 - 40\",\n      \"metric\": \"16 - 18\"\n    },\n    \"height\": {\n      \"imperial\": \"13 - 15\",\n      \"metric\": \"33 - 38\"\n    },\n    \"id\": 27,\n    \"name\": \"Basset Bleu de Gascogne\",\n    \"bred_for\": \"Hunting on foot.\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"10 - 14 years\",\n    \"temperament\": \"Affectionate, Lively, Agile, Curious, Happy, Active\",\n    \"reference_image_id\": \"BkMQll94X\",\n    \"image\": {\n      \"id\": \"BkMQll94X\",\n      \"width\": 1280,\n      \"height\": 853,\n      \"url\": \"https://cdn2.thedogapi.com/images/BkMQll94X.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"50 - 65\",\n      \"metric\": \"23 - 29\"\n    },\n    \"height\": {\n      \"imperial\": \"14\",\n      \"metric\": \"36\"\n    },\n    \"id\": 28,\n    \"name\": \"Basset Hound\",\n    \"bred_for\": \"Hunting by scent\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Tenacious, Friendly, Affectionate, Devoted, Sweet-Tempered, Gentle\",\n    \"reference_image_id\": \"Sy57xx9EX\",\n    \"image\": {\n      \"id\": \"Sy57xx9EX\",\n      \"width\": 1024,\n      \"height\": 640,\n      \"url\": \"https://cdn2.thedogapi.com/images/Sy57xx9EX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"20 - 35\",\n      \"metric\": \"9 - 16\"\n    },\n    \"height\": {\n      \"imperial\": \"13 - 15\",\n      \"metric\": \"33 - 38\"\n    },\n    \"id\": 29,\n    \"name\": \"Beagle\",\n    \"bred_for\": \"Rabbit, hare hunting\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"13 - 16 years\",\n    \"temperament\": \"Amiable, Even Tempered, Excitable, Determined, Gentle, Intelligent\",\n    \"reference_image_id\": \"Syd4xxqEm\",\n    \"image\": {\n      \"id\": \"Syd4xxqEm\",\n      \"width\": 1000,\n      \"height\": 667,\n      \"url\": \"https://cdn2.thedogapi.com/images/Syd4xxqEm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"45 - 55\",\n      \"metric\": \"20 - 25\"\n    },\n    \"height\": {\n      \"imperial\": \"20 - 22\",\n      \"metric\": \"51 - 56\"\n    },\n    \"id\": 30,\n    \"name\": \"Bearded Collie\",\n    \"bred_for\": \"Sheep herding\",\n    \"breed_group\": \"Herding\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Self-confidence, Hardy, Lively, Alert, Intelligent, Active\",\n    \"reference_image_id\": \"A09F4c1qP\",\n    \"image\": {\n      \"id\": \"A09F4c1qP\",\n      \"width\": 733,\n      \"height\": 733,\n      \"url\": \"https://cdn2.thedogapi.com/images/A09F4c1qP.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"80 - 110\",\n      \"metric\": \"36 - 50\"\n    },\n    \"height\": {\n      \"imperial\": \"24 - 27.5\",\n      \"metric\": \"61 - 70\"\n    },\n    \"id\": 31,\n    \"name\": \"Beauceron\",\n    \"bred_for\": \"Boar herding, hunting, guarding\",\n    \"breed_group\": \"Herding\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Fearless, Friendly, Intelligent, Protective, Calm\",\n    \"reference_image_id\": \"HJQ8ge5V7\",\n    \"image\": {\n      \"id\": \"HJQ8ge5V7\",\n      \"width\": 720,\n      \"height\": 563,\n      \"url\": \"https://cdn2.thedogapi.com/images/HJQ8ge5V7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"17 - 23\",\n      \"metric\": \"8 - 10\"\n    },\n    \"height\": {\n      \"imperial\": \"15 - 16\",\n      \"metric\": \"38 - 41\"\n    },\n    \"id\": 32,\n    \"name\": \"Bedlington Terrier\",\n    \"bred_for\": \"Killing rat, badger, other vermin\",\n    \"breed_group\": \"Terrier\",\n    \"life_span\": \"14 - 16 years\",\n    \"temperament\": \"Affectionate, Spirited, Intelligent, Good-tempered\",\n    \"reference_image_id\": \"ByK8gx947\",\n    \"image\": {\n      \"id\": \"ByK8gx947\",\n      \"width\": 804,\n      \"height\": 531,\n      \"url\": \"https://cdn2.thedogapi.com/images/ByK8gx947.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"40 - 80\",\n      \"metric\": \"18 - 36\"\n    },\n    \"height\": {\n      \"imperial\": \"22 - 26\",\n      \"metric\": \"56 - 66\"\n    },\n    \"id\": 33,\n    \"name\": \"Belgian Malinois\",\n    \"bred_for\": \"Stock herding\",\n    \"breed_group\": \"Herding\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Watchful, Alert, Stubborn, Friendly, Confident, Hard-working, Active, Protective\",\n    \"reference_image_id\": \"r1f_ll5VX\",\n    \"image\": {\n      \"id\": \"r1f_ll5VX\",\n      \"width\": 604,\n      \"height\": 453,\n      \"url\": \"https://cdn2.thedogapi.com/images/r1f_ll5VX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"40 - 65\",\n      \"metric\": \"18 - 29\"\n    },\n    \"height\": {\n      \"imperial\": \"22 - 26\",\n      \"metric\": \"56 - 66\"\n    },\n    \"id\": 34,\n    \"name\": \"Belgian Tervuren\",\n    \"bred_for\": \"Guarding, Drafting, Police work.\",\n    \"breed_group\": \"Herding\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Energetic, Alert, Loyal, Intelligent, Attentive, Protective\",\n    \"reference_image_id\": \"B1KdxlcNX\",\n    \"image\": {\n      \"id\": \"B1KdxlcNX\",\n      \"width\": 645,\n      \"height\": 380,\n      \"url\": \"https://cdn2.thedogapi.com/images/B1KdxlcNX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"65 - 120\",\n      \"metric\": \"29 - 54\"\n    },\n    \"height\": {\n      \"imperial\": \"23 - 27.5\",\n      \"metric\": \"58 - 70\"\n    },\n    \"id\": 35,\n    \"name\": \"Bernese Mountain Dog\",\n    \"bred_for\": \"Draft work\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"7 - 10 years\",\n    \"temperament\": \"Affectionate, Loyal, Intelligent, Faithful\",\n    \"reference_image_id\": \"S1fFlx5Em\",\n    \"image\": {\n      \"id\": \"S1fFlx5Em\",\n      \"width\": 640,\n      \"height\": 427,\n      \"url\": \"https://cdn2.thedogapi.com/images/S1fFlx5Em.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"10 - 18\",\n      \"metric\": \"5 - 8\"\n    },\n    \"height\": {\n      \"imperial\": \"9.5 - 11.5\",\n      \"metric\": \"24 - 29\"\n    },\n    \"id\": 36,\n    \"name\": \"Bichon Frise\",\n    \"bred_for\": \"Companion\",\n    \"breed_group\": \"Non-Sporting\",\n    \"life_span\": \"15 years\",\n    \"temperament\": \"Feisty, Affectionate, Cheerful, Playful, Gentle, Sensitive\",\n    \"reference_image_id\": \"HkuYlxqEQ\",\n    \"image\": {\n      \"id\": \"HkuYlxqEQ\",\n      \"width\": 480,\n      \"height\": 360,\n      \"url\": \"https://cdn2.thedogapi.com/images/HkuYlxqEQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"65 - 100\",\n      \"metric\": \"29 - 45\"\n    },\n    \"height\": {\n      \"imperial\": \"23 - 27\",\n      \"metric\": \"58 - 69\"\n    },\n    \"id\": 37,\n    \"name\": \"Black and Tan Coonhound\",\n    \"bred_for\": \"Hunting raccoons, night hunting\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Easygoing, Gentle, Adaptable, Trusting, Even Tempered, Lovable\",\n    \"reference_image_id\": \"HJAFgxcNQ\",\n    \"image\": {\n      \"id\": \"HJAFgxcNQ\",\n      \"width\": 556,\n      \"height\": 380,\n      \"url\": \"https://cdn2.thedogapi.com/images/HJAFgxcNQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"80 - 110\",\n      \"metric\": \"36 - 50\"\n    },\n    \"height\": {\n      \"imperial\": \"23 - 27\",\n      \"metric\": \"58 - 69\"\n    },\n    \"id\": 38,\n    \"name\": \"Bloodhound\",\n    \"bred_for\": \"Trailing\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"8 - 10 years\",\n    \"temperament\": \"Stubborn, Affectionate, Gentle, Even Tempered\",\n    \"reference_image_id\": \"Skdcgx9VX\",\n    \"image\": {\n      \"id\": \"Skdcgx9VX\",\n      \"width\": 586,\n      \"height\": 600,\n      \"url\": \"https://cdn2.thedogapi.com/images/Skdcgx9VX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"45 - 80\",\n      \"metric\": \"20 - 36\"\n    },\n    \"height\": {\n      \"imperial\": \"21 - 27\",\n      \"metric\": \"53 - 69\"\n    },\n    \"id\": 39,\n    \"name\": \"Bluetick Coonhound\",\n    \"bred_for\": \"Hunting with a superior sense of smell.\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Friendly, Intelligent, Active\",\n    \"reference_image_id\": \"rJxieg9VQ\",\n    \"image\": {\n      \"id\": \"rJxieg9VQ\",\n      \"width\": 731,\n      \"height\": 599,\n      \"url\": \"https://cdn2.thedogapi.com/images/rJxieg9VQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"110 - 200\",\n      \"metric\": \"50 - 91\"\n    },\n    \"height\": {\n      \"imperial\": \"22 - 27\",\n      \"metric\": \"56 - 69\"\n    },\n    \"id\": 40,\n    \"name\": \"Boerboel\",\n    \"bred_for\": \"Guarding the homestead, farm work.\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Obedient, Confident, Intelligent, Dominant, Territorial\",\n    \"reference_image_id\": \"HyOjge5Vm\",\n    \"image\": {\n      \"id\": \"HyOjge5Vm\",\n      \"width\": 1200,\n      \"height\": 669,\n      \"url\": \"https://cdn2.thedogapi.com/images/HyOjge5Vm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"30 - 45\",\n      \"metric\": \"14 - 20\"\n    },\n    \"height\": {\n      \"imperial\": \"18 - 22\",\n      \"metric\": \"46 - 56\"\n    },\n    \"id\": 41,\n    \"name\": \"Border Collie\",\n    \"bred_for\": \"Sheep herder\",\n    \"breed_group\": \"Herding\",\n    \"life_span\": \"12 - 16 years\",\n    \"temperament\": \"Tenacious, Keen, Energetic, Responsive, Alert, Intelligent\",\n    \"reference_image_id\": \"sGQvQUpsp\",\n    \"image\": {\n      \"id\": \"sGQvQUpsp\",\n      \"width\": 1080,\n      \"height\": 1080,\n      \"url\": \"https://cdn2.thedogapi.com/images/sGQvQUpsp.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"11.5 - 15.5\",\n      \"metric\": \"5 - 7\"\n    },\n    \"height\": {\n      \"imperial\": \"11 - 16\",\n      \"metric\": \"28 - 41\"\n    },\n    \"id\": 42,\n    \"name\": \"Border Terrier\",\n    \"bred_for\": \"Fox bolting, ratting\",\n    \"breed_group\": \"Terrier\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Fearless, Affectionate, Alert, Obedient, Intelligent, Even Tempered\",\n    \"reference_image_id\": \"HJOpge9Em\",\n    \"image\": {\n      \"id\": \"HJOpge9Em\",\n      \"width\": 674,\n      \"height\": 450,\n      \"url\": \"https://cdn2.thedogapi.com/images/HJOpge9Em.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"10 - 25\",\n      \"metric\": \"5 - 11\"\n    },\n    \"height\": {\n      \"imperial\": \"16 - 17\",\n      \"metric\": \"41 - 43\"\n    },\n    \"id\": 43,\n    \"name\": \"Boston Terrier\",\n    \"bred_for\": \"Ratting, Companionship\",\n    \"breed_group\": \"Non-Sporting\",\n    \"life_span\": \"11 - 13 years\",\n    \"temperament\": \"Friendly, Lively, Intelligent\",\n    \"reference_image_id\": \"rkZRggqVX\",\n    \"image\": {\n      \"id\": \"rkZRggqVX\",\n      \"width\": 1010,\n      \"height\": 673,\n      \"url\": \"https://cdn2.thedogapi.com/images/rkZRggqVX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"70 - 110\",\n      \"metric\": \"32 - 50\"\n    },\n    \"height\": {\n      \"imperial\": \"23.5 - 27.5\",\n      \"metric\": \"60 - 70\"\n    },\n    \"id\": 44,\n    \"name\": \"Bouvier des Flandres\",\n    \"bred_for\": \"Cattle herding\",\n    \"breed_group\": \"Herding\",\n    \"life_span\": \"10 - 15 years\",\n    \"temperament\": \"Protective, Loyal, Gentle, Intelligent, Familial, Rational\",\n    \"reference_image_id\": \"Byd0xl5VX\",\n    \"image\": {\n      \"id\": \"Byd0xl5VX\",\n      \"width\": 680,\n      \"height\": 454,\n      \"url\": \"https://cdn2.thedogapi.com/images/Byd0xl5VX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"50 - 70\",\n      \"metric\": \"23 - 32\"\n    },\n    \"height\": {\n      \"imperial\": \"21.5 - 25\",\n      \"metric\": \"55 - 64\"\n    },\n    \"id\": 45,\n    \"name\": \"Boxer\",\n    \"bred_for\": \"Bull-baiting, guardian\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"8 - 10 years\",\n    \"temperament\": \"Devoted, Fearless, Friendly, Cheerful, Energetic, Loyal, Playful, Confident, Intelligent, Bright, Brave, Calm\",\n    \"reference_image_id\": \"ry1kWe5VQ\",\n    \"image\": {\n      \"id\": \"ry1kWe5VQ\",\n      \"width\": 645,\n      \"height\": 430,\n      \"url\": \"https://cdn2.thedogapi.com/images/ry1kWe5VQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"25 - 40\",\n      \"metric\": \"11 - 18\"\n    },\n    \"height\": {\n      \"imperial\": \"14 - 18\",\n      \"metric\": \"36 - 46\"\n    },\n    \"id\": 46,\n    \"name\": \"Boykin Spaniel\",\n    \"bred_for\": \"Turkey retrieving\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"10 - 14 years\",\n    \"temperament\": \"Friendly, Energetic, Companionable, Intelligent, Eager, Trainable\",\n    \"reference_image_id\": \"ryHJZlcNX\",\n    \"image\": {\n      \"id\": \"ryHJZlcNX\",\n      \"width\": 577,\n      \"height\": 634,\n      \"url\": \"https://cdn2.thedogapi.com/images/ryHJZlcNX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"55 - 88\",\n      \"metric\": \"25 - 40\"\n    },\n    \"height\": {\n      \"imperial\": \"21.5 - 26.5\",\n      \"metric\": \"55 - 67\"\n    },\n    \"id\": 47,\n    \"name\": \"Bracco Italiano\",\n    \"bred_for\": \"Versatile gun dog\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Stubborn, Affectionate, Loyal, Playful, Companionable, Trainable\",\n    \"reference_image_id\": \"S13yZg5VQ\",\n    \"image\": {\n      \"id\": \"S13yZg5VQ\",\n      \"width\": 750,\n      \"height\": 505,\n      \"url\": \"https://cdn2.thedogapi.com/images/S13yZg5VQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"70 - 90\",\n      \"metric\": \"32 - 41\"\n    },\n    \"height\": {\n      \"imperial\": \"22 - 27\",\n      \"metric\": \"56 - 69\"\n    },\n    \"id\": 48,\n    \"name\": \"Briard\",\n    \"bred_for\": \"Herding, guarding sheep\",\n    \"breed_group\": \"Herding\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Fearless, Loyal, Obedient, Intelligent, Faithful, Protective\",\n    \"reference_image_id\": \"rkVlblcEQ\",\n    \"image\": {\n      \"id\": \"rkVlblcEQ\",\n      \"width\": 768,\n      \"height\": 576,\n      \"url\": \"https://cdn2.thedogapi.com/images/rkVlblcEQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"30 - 45\",\n      \"metric\": \"14 - 20\"\n    },\n    \"height\": {\n      \"imperial\": \"17.5 - 20.5\",\n      \"metric\": \"44 - 52\"\n    },\n    \"id\": 49,\n    \"name\": \"Brittany\",\n    \"bred_for\": \"Pointing, retrieving\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Agile, Adaptable, Quick, Intelligent, Attentive, Happy\",\n    \"reference_image_id\": \"HJWZZxc4X\",\n    \"image\": {\n      \"id\": \"HJWZZxc4X\",\n      \"width\": 900,\n      \"height\": 600,\n      \"url\": \"https://cdn2.thedogapi.com/images/HJWZZxc4X.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"50 - 70\",\n      \"metric\": \"23 - 32\"\n    },\n    \"height\": {\n      \"imperial\": \"21 - 22\",\n      \"metric\": \"53 - 56\"\n    },\n    \"id\": 50,\n    \"name\": \"Bull Terrier\",\n    \"bred_for\": \"Bull baiting, Fighting\",\n    \"breed_group\": \"Terrier\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Trainable, Protective, Sweet-Tempered, Keen, Active\",\n    \"reference_image_id\": \"VSraIEQGd\",\n    \"image\": {\n      \"id\": \"VSraIEQGd\",\n      \"width\": 1080,\n      \"height\": 1080,\n      \"url\": \"https://cdn2.thedogapi.com/images/VSraIEQGd.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"25 - 33\",\n      \"metric\": \"11 - 15\"\n    },\n    \"height\": {\n      \"imperial\": \"10 - 14\",\n      \"metric\": \"25 - 36\"\n    },\n    \"id\": 51,\n    \"name\": \"Bull Terrier (Miniature)\",\n    \"bred_for\": \"An elegant man's fashion statement\",\n    \"life_span\": \"11 – 14 years\",\n    \"temperament\": \"Trainable, Protective, Sweet-Tempered, Keen, Active, Territorial\",\n    \"reference_image_id\": \"BkKZWlcVX\",\n    \"image\": {\n      \"id\": \"BkKZWlcVX\",\n      \"width\": 674,\n      \"height\": 450,\n      \"url\": \"https://cdn2.thedogapi.com/images/BkKZWlcVX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"100 - 130\",\n      \"metric\": \"45 - 59\"\n    },\n    \"height\": {\n      \"imperial\": \"24 - 27\",\n      \"metric\": \"61 - 69\"\n    },\n    \"id\": 52,\n    \"name\": \"Bullmastiff\",\n    \"bred_for\": \"Estate guardian\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"8 - 12 years\",\n    \"temperament\": \"Docile, Reliable, Devoted, Alert, Loyal, Reserved, Loving, Protective, Powerful, Calm, Courageous\",\n    \"reference_image_id\": \"r1ifZl5E7\",\n    \"image\": {\n      \"id\": \"r1ifZl5E7\",\n      \"width\": 850,\n      \"height\": 638,\n      \"url\": \"https://cdn2.thedogapi.com/images/r1ifZl5E7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"13 - 14\",\n      \"metric\": \"6 - 6\"\n    },\n    \"height\": {\n      \"imperial\": \"9 - 10\",\n      \"metric\": \"23 - 25\"\n    },\n    \"id\": 53,\n    \"name\": \"Cairn Terrier\",\n    \"bred_for\": \"Bolting of otter, foxes, other vermin\",\n    \"breed_group\": \"Terrier\",\n    \"life_span\": \"14 - 15 years\",\n    \"temperament\": \"Hardy, Fearless, Assertive, Gay, Intelligent, Active\",\n    \"reference_image_id\": \"Sk7Qbg9E7\",\n    \"image\": {\n      \"id\": \"Sk7Qbg9E7\",\n      \"width\": 1254,\n      \"height\": 836,\n      \"url\": \"https://cdn2.thedogapi.com/images/Sk7Qbg9E7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"88 - 120\",\n      \"metric\": \"40 - 54\"\n    },\n    \"height\": {\n      \"imperial\": \"23.5 - 27.5\",\n      \"metric\": \"60 - 70\"\n    },\n    \"id\": 54,\n    \"name\": \"Cane Corso\",\n    \"bred_for\": \"Companion, guard dog, and hunter\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"10 - 11 years\",\n    \"temperament\": \"Trainable, Reserved, Stable, Quiet, Even Tempered, Calm\",\n    \"reference_image_id\": \"r15m-lc4m\",\n    \"image\": {\n      \"id\": \"r15m-lc4m\",\n      \"width\": 645,\n      \"height\": 380,\n      \"url\": \"https://cdn2.thedogapi.com/images/r15m-lc4m.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"25 - 38\",\n      \"metric\": \"11 - 17\"\n    },\n    \"height\": {\n      \"imperial\": \"10.5 - 12.5\",\n      \"metric\": \"27 - 32\"\n    },\n    \"id\": 55,\n    \"name\": \"Cardigan Welsh Corgi\",\n    \"bred_for\": \"Cattle droving\",\n    \"breed_group\": \"Herding\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Affectionate, Devoted, Alert, Companionable, Intelligent, Active\",\n    \"reference_image_id\": \"SyXN-e9NX\",\n    \"image\": {\n      \"id\": \"SyXN-e9NX\",\n      \"width\": 800,\n      \"height\": 600,\n      \"url\": \"https://cdn2.thedogapi.com/images/SyXN-e9NX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"50 - 95\",\n      \"metric\": \"23 - 43\"\n    },\n    \"height\": {\n      \"imperial\": \"20 - 26\",\n      \"metric\": \"51 - 66\"\n    },\n    \"id\": 56,\n    \"name\": \"Catahoula Leopard Dog\",\n    \"bred_for\": \"Driving livestock\",\n    \"breed_group\": \"Herding\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Energetic, Inquisitive, Independent, Gentle, Intelligent, Loving\",\n    \"reference_image_id\": \"BJcNbec4X\",\n    \"image\": {\n      \"id\": \"BJcNbec4X\",\n      \"width\": 650,\n      \"height\": 650,\n      \"url\": \"https://cdn2.thedogapi.com/images/BJcNbec4X.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"80 - 100\",\n      \"metric\": \"36 - 45\"\n    },\n    \"height\": {\n      \"imperial\": \"24 - 33.5\",\n      \"metric\": \"61 - 85\"\n    },\n    \"id\": 57,\n    \"name\": \"Caucasian Shepherd (Ovcharka)\",\n    \"bred_for\": \"Guard dogs, defending sheep from predators, mainly wolves, jackals and bears\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Alert, Quick, Dominant, Powerful, Calm, Strong\",\n    \"reference_image_id\": \"r1rrWe5Em\",\n    \"image\": {\n      \"id\": \"r1rrWe5Em\",\n      \"width\": 1024,\n      \"height\": 682,\n      \"url\": \"https://cdn2.thedogapi.com/images/r1rrWe5Em.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"13 - 18\",\n      \"metric\": \"6 - 8\"\n    },\n    \"height\": {\n      \"imperial\": \"12 - 13\",\n      \"metric\": \"30 - 33\"\n    },\n    \"id\": 58,\n    \"name\": \"Cavalier King Charles Spaniel\",\n    \"bred_for\": \"Flushing small birds, companion\",\n    \"breed_group\": \"Toy\",\n    \"life_span\": \"10 - 14 years\",\n    \"temperament\": \"Fearless, Affectionate, Sociable, Patient, Playful, Adaptable\",\n    \"reference_image_id\": \"HJRBbe94Q\",\n    \"image\": {\n      \"id\": \"HJRBbe94Q\",\n      \"width\": 961,\n      \"height\": 558,\n      \"url\": \"https://cdn2.thedogapi.com/images/HJRBbe94Q.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"55 - 80\",\n      \"metric\": \"25 - 36\"\n    },\n    \"height\": {\n      \"imperial\": \"21 - 26\",\n      \"metric\": \"53 - 66\"\n    },\n    \"id\": 59,\n    \"name\": \"Chesapeake Bay Retriever\",\n    \"bred_for\": \"Water Retriever\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"10 - 13 years\",\n    \"temperament\": \"Affectionate, Intelligent, Quiet, Dominant, Happy, Protective\",\n    \"reference_image_id\": \"9BXwUeCc2\",\n    \"image\": {\n      \"id\": \"9BXwUeCc2\",\n      \"width\": 600,\n      \"height\": 600,\n      \"url\": \"https://cdn2.thedogapi.com/images/9BXwUeCc2.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"10 - 13\",\n      \"metric\": \"5 - 6\"\n    },\n    \"height\": {\n      \"imperial\": \"11 - 13\",\n      \"metric\": \"28 - 33\"\n    },\n    \"id\": 60,\n    \"name\": \"Chinese Crested\",\n    \"bred_for\": \"Ratting, lapdog, curio\",\n    \"breed_group\": \"Toy\",\n    \"life_span\": \"10 - 14 years\",\n    \"temperament\": \"Affectionate, Sweet-Tempered, Lively, Alert, Playful, Happy\",\n    \"reference_image_id\": \"B1pDZx9Nm\",\n    \"image\": {\n      \"id\": \"B1pDZx9Nm\",\n      \"width\": 1200,\n      \"height\": 798,\n      \"url\": \"https://cdn2.thedogapi.com/images/B1pDZx9Nm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"45 - 60\",\n      \"metric\": \"20 - 27\"\n    },\n    \"height\": {\n      \"imperial\": \"18 - 20\",\n      \"metric\": \"46 - 51\"\n    },\n    \"id\": 61,\n    \"name\": \"Chinese Shar-Pei\",\n    \"bred_for\": \"Fighting\",\n    \"breed_group\": \"Non-Sporting\",\n    \"life_span\": \"10 years\",\n    \"temperament\": \"Suspicious, Affectionate, Devoted, Reserved, Independent, Loving\",\n    \"reference_image_id\": \"B1ruWl94Q\",\n    \"image\": {\n      \"id\": \"B1ruWl94Q\",\n      \"width\": 1049,\n      \"height\": 761,\n      \"url\": \"https://cdn2.thedogapi.com/images/B1ruWl94Q.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"50 - 90\",\n      \"metric\": \"23 - 41\"\n    },\n    \"height\": {\n      \"imperial\": \"22 - 26\",\n      \"metric\": \"56 - 66\"\n    },\n    \"id\": 62,\n    \"name\": \"Chinook\",\n    \"bred_for\": \"Sled pulling\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Friendly, Alert, Dignified, Intelligent, Calm\",\n    \"reference_image_id\": \"Sypubg54Q\",\n    \"image\": {\n      \"id\": \"Sypubg54Q\",\n      \"width\": 600,\n      \"height\": 478,\n      \"url\": \"https://cdn2.thedogapi.com/images/Sypubg54Q.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"40 - 70\",\n      \"metric\": \"18 - 32\"\n    },\n    \"height\": {\n      \"imperial\": \"17 - 20\",\n      \"metric\": \"43 - 51\"\n    },\n    \"id\": 63,\n    \"name\": \"Chow Chow\",\n    \"bred_for\": \"Guardian, cart pulling, hunting\",\n    \"breed_group\": \"Non-Sporting\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Aloof, Loyal, Independent, Quiet\",\n    \"reference_image_id\": \"ry8KWgqEQ\",\n    \"image\": {\n      \"id\": \"ry8KWgqEQ\",\n      \"width\": 1010,\n      \"height\": 673,\n      \"url\": \"https://cdn2.thedogapi.com/images/ry8KWgqEQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"55 - 85\",\n      \"metric\": \"25 - 39\"\n    },\n    \"height\": {\n      \"imperial\": \"17 - 20\",\n      \"metric\": \"43 - 51\"\n    },\n    \"id\": 64,\n    \"name\": \"Clumber Spaniel\",\n    \"bred_for\": \"Bird flushing, retrieving\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Affectionate, Loyal, Dignified, Gentle, Calm, Great-hearted\",\n    \"reference_image_id\": \"rkeqWgq4Q\",\n    \"image\": {\n      \"id\": \"rkeqWgq4Q\",\n      \"width\": 762,\n      \"height\": 533,\n      \"url\": \"https://cdn2.thedogapi.com/images/rkeqWgq4Q.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"20 - 30\",\n      \"metric\": \"9 - 14\"\n    },\n    \"height\": {\n      \"imperial\": \"14 - 15\",\n      \"metric\": \"36 - 38\"\n    },\n    \"id\": 65,\n    \"name\": \"Cocker Spaniel\",\n    \"bred_for\": \"Bird flushing, retrieving\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Trainable, Friendly, Affectionate, Playful, Quiet, Faithful\",\n    \"reference_image_id\": \"1lFmrzECl\",\n    \"image\": {\n      \"id\": \"1lFmrzECl\",\n      \"width\": 1080,\n      \"height\": 1080,\n      \"url\": \"https://cdn2.thedogapi.com/images/1lFmrzECl.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"20 - 30\",\n      \"metric\": \"9 - 14\"\n    },\n    \"height\": {\n      \"imperial\": \"14 - 15\",\n      \"metric\": \"36 - 38\"\n    },\n    \"id\": 66,\n    \"name\": \"Cocker Spaniel (American)\",\n    \"bred_for\": \"Hunting the American woodcock\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Outgoing, Sociable, Trusting, Joyful, Even Tempered, Merry\",\n    \"reference_image_id\": \"HkRcZe547\",\n    \"image\": {\n      \"id\": \"HkRcZe547\",\n      \"width\": 1024,\n      \"height\": 640,\n      \"url\": \"https://cdn2.thedogapi.com/images/HkRcZe547.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"9 - 15\",\n      \"metric\": \"4 - 7\"\n    },\n    \"height\": {\n      \"imperial\": \"9 - 11\",\n      \"metric\": \"23 - 28\"\n    },\n    \"id\": 67,\n    \"name\": \"Coton de Tulear\",\n    \"bred_for\": \"Accompanying ladies on long sea voyages, ratters onboard ship.\",\n    \"breed_group\": \"Non-Sporting\",\n    \"life_span\": \"13 - 16 years\",\n    \"temperament\": \"Affectionate, Lively, Playful, Intelligent, Trainable, Vocal\",\n    \"reference_image_id\": \"SyviZlqNm\",\n    \"image\": {\n      \"id\": \"SyviZlqNm\",\n      \"width\": 2464,\n      \"height\": 1638,\n      \"url\": \"https://cdn2.thedogapi.com/images/SyviZlqNm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"50 - 55\",\n      \"metric\": \"23 - 25\"\n    },\n    \"height\": {\n      \"imperial\": \"19 - 23\",\n      \"metric\": \"48 - 58\"\n    },\n    \"id\": 68,\n    \"name\": \"Dalmatian\",\n    \"bred_for\": \"Carriage dog - trot alongside carriages to protect the occupants from banditry or other interference\",\n    \"breed_group\": \"Non-Sporting\",\n    \"life_span\": \"10 - 13 years\",\n    \"temperament\": \"Outgoing, Friendly, Energetic, Playful, Sensitive, Intelligent, Active\",\n    \"reference_image_id\": \"SkJ3blcN7\",\n    \"image\": {\n      \"id\": \"SkJ3blcN7\",\n      \"width\": 1200,\n      \"height\": 800,\n      \"url\": \"https://cdn2.thedogapi.com/images/SkJ3blcN7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"66 - 88\",\n      \"metric\": \"30 - 40\"\n    },\n    \"height\": {\n      \"imperial\": \"24 - 28\",\n      \"metric\": \"61 - 71\"\n    },\n    \"id\": 69,\n    \"name\": \"Doberman Pinscher\",\n    \"bred_for\": \"Guardian\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"10 years\",\n    \"temperament\": \"Fearless, Energetic, Alert, Loyal, Obedient, Confident, Intelligent\",\n    \"reference_image_id\": \"HyL3bl94Q\",\n    \"image\": {\n      \"id\": \"HyL3bl94Q\",\n      \"width\": 1140,\n      \"height\": 640,\n      \"url\": \"https://cdn2.thedogapi.com/images/HyL3bl94Q.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"80 - 100\",\n      \"metric\": \"36 - 45\"\n    },\n    \"height\": {\n      \"imperial\": \"23.5 - 27\",\n      \"metric\": \"60 - 69\"\n    },\n    \"id\": 70,\n    \"name\": \"Dogo Argentino\",\n    \"bred_for\": \"Big-game hunting\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Friendly, Affectionate, Cheerful, Loyal, Tolerant, Protective\",\n    \"reference_image_id\": \"S1nhWx94Q\",\n    \"image\": {\n      \"id\": \"S1nhWx94Q\",\n      \"width\": 650,\n      \"height\": 467,\n      \"url\": \"https://cdn2.thedogapi.com/images/S1nhWx94Q.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"50 - 70\",\n      \"metric\": \"23 - 32\"\n    },\n    \"height\": {\n      \"imperial\": \"22 - 24.5\",\n      \"metric\": \"56 - 62\"\n    },\n    \"id\": 71,\n    \"name\": \"Dutch Shepherd\",\n    \"bred_for\": \"Farms, watchdog, guard duty\",\n    \"life_span\": \"15 years\",\n    \"temperament\": \"Reliable, Affectionate, Alert, Loyal, Obedient, Trainable\",\n    \"reference_image_id\": \"BkE6Wg5E7\",\n    \"image\": {\n      \"id\": \"BkE6Wg5E7\",\n      \"width\": 856,\n      \"height\": 511,\n      \"url\": \"https://cdn2.thedogapi.com/images/BkE6Wg5E7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"45 - 80\",\n      \"metric\": \"20 - 36\"\n    },\n    \"height\": {\n      \"imperial\": \"24 - 25\",\n      \"metric\": \"61 - 64\"\n    },\n    \"id\": 72,\n    \"name\": \"English Setter\",\n    \"bred_for\": \"Bird setting, retrieving\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"12 years\",\n    \"temperament\": \"Strong Willed, Mischievous, Affectionate, Energetic, Playful, Companionable, Gentle, Hard-working, Intelligent, Eager, People-Oriented\",\n    \"reference_image_id\": \"By4A-eqVX\",\n    \"image\": {\n      \"id\": \"By4A-eqVX\",\n      \"width\": 1024,\n      \"height\": 683,\n      \"url\": \"https://cdn2.thedogapi.com/images/By4A-eqVX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"44 - 66\",\n      \"metric\": \"20 - 30\"\n    },\n    \"height\": {\n      \"imperial\": \"18 - 23\",\n      \"metric\": \"46 - 58\"\n    },\n    \"id\": 73,\n    \"name\": \"English Shepherd\",\n    \"bred_for\": \"Herding & guarding livestock, farm watch dog\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"10 - 13 years\",\n    \"temperament\": \"Kind, Energetic, Independent, Adaptable, Intelligent, Bossy\",\n    \"reference_image_id\": \"H1QyMe5EQ\",\n    \"image\": {\n      \"id\": \"H1QyMe5EQ\",\n      \"width\": 1920,\n      \"height\": 1280,\n      \"url\": \"https://cdn2.thedogapi.com/images/H1QyMe5EQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"35 - 50\",\n      \"metric\": \"16 - 23\"\n    },\n    \"height\": {\n      \"imperial\": \"19 - 20\",\n      \"metric\": \"48 - 51\"\n    },\n    \"id\": 74,\n    \"name\": \"English Springer Spaniel\",\n    \"bred_for\": \"Bird flushing, retrieving\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Affectionate, Cheerful, Alert, Intelligent, Attentive, Active\",\n    \"reference_image_id\": \"Hk0Jfe5VQ\",\n    \"image\": {\n      \"id\": \"Hk0Jfe5VQ\",\n      \"width\": 1440,\n      \"height\": 1080,\n      \"url\": \"https://cdn2.thedogapi.com/images/Hk0Jfe5VQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"8 - 14\",\n      \"metric\": \"4 - 6\"\n    },\n    \"height\": {\n      \"imperial\": \"10\",\n      \"metric\": \"25\"\n    },\n    \"id\": 75,\n    \"name\": \"English Toy Spaniel\",\n    \"bred_for\": \"Companion of kings\",\n    \"breed_group\": \"Toy\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Affectionate, Reserved, Playful, Gentle, Happy, Loving\",\n    \"reference_image_id\": \"SkIgzxqNQ\",\n    \"image\": {\n      \"id\": \"SkIgzxqNQ\",\n      \"width\": 800,\n      \"height\": 696,\n      \"url\": \"https://cdn2.thedogapi.com/images/SkIgzxqNQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"6 - 8\",\n      \"metric\": \"3 - 4\"\n    },\n    \"height\": {\n      \"imperial\": \"10 - 12\",\n      \"metric\": \"25 - 30\"\n    },\n    \"id\": 76,\n    \"name\": \"English Toy Terrier\",\n    \"bred_for\": \"Rat-baiting\",\n    \"life_span\": \"12 - 13 years\",\n    \"temperament\": \"Stubborn, Alert, Companionable, Intelligent, Cunning, Trainable\",\n    \"reference_image_id\": \"SJ6eMxqEQ\",\n    \"image\": {\n      \"id\": \"SJ6eMxqEQ\",\n      \"width\": 645,\n      \"height\": 430,\n      \"url\": \"https://cdn2.thedogapi.com/images/SJ6eMxqEQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"40 - 70\",\n      \"metric\": \"18 - 32\"\n    },\n    \"height\": {\n      \"imperial\": \"20.5 - 23.5\",\n      \"metric\": \"52 - 60\"\n    },\n    \"id\": 77,\n    \"name\": \"Eurasier\",\n    \"bred_for\": \"Companionship\",\n    \"breed_group\": \"Non-Sporting\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Alert, Reserved, Intelligent, Even Tempered, Watchful, Calm\",\n    \"reference_image_id\": \"S1VWGx9Nm\",\n    \"image\": {\n      \"id\": \"S1VWGx9Nm\",\n      \"width\": 800,\n      \"height\": 532,\n      \"url\": \"https://cdn2.thedogapi.com/images/S1VWGx9Nm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"35 - 50\",\n      \"metric\": \"16 - 23\"\n    },\n    \"height\": {\n      \"imperial\": \"17 - 18\",\n      \"metric\": \"43 - 46\"\n    },\n    \"id\": 78,\n    \"name\": \"Field Spaniel\",\n    \"bred_for\": \"Bird flushing, retrieving\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"11 - 15 years\",\n    \"temperament\": \"Docile, Cautious, Sociable, Sensitive, Adaptable, Familial\",\n    \"reference_image_id\": \"SkJfGecE7\",\n    \"image\": {\n      \"id\": \"SkJfGecE7\",\n      \"width\": 1280,\n      \"height\": 906,\n      \"url\": \"https://cdn2.thedogapi.com/images/SkJfGecE7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"33 - 53\",\n      \"metric\": \"15 - 24\"\n    },\n    \"height\": {\n      \"imperial\": \"16 - 21\",\n      \"metric\": \"41 - 53\"\n    },\n    \"id\": 79,\n    \"name\": \"Finnish Lapphund\",\n    \"bred_for\": \"Herding reindeer\",\n    \"breed_group\": \"Herding\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Friendly, Keen, Faithful, Calm, Courageous\",\n    \"reference_image_id\": \"S1KMGg5Vm\",\n    \"image\": {\n      \"id\": \"S1KMGg5Vm\",\n      \"width\": 1066,\n      \"height\": 800,\n      \"url\": \"https://cdn2.thedogapi.com/images/S1KMGg5Vm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"23 - 28\",\n      \"metric\": \"10 - 13\"\n    },\n    \"height\": {\n      \"imperial\": \"15.5 - 20\",\n      \"metric\": \"39 - 51\"\n    },\n    \"id\": 80,\n    \"name\": \"Finnish Spitz\",\n    \"bred_for\": \"Hunting birds, small mammals\",\n    \"breed_group\": \"Non-Sporting\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Playful, Loyal, Independent, Intelligent, Happy, Vocal\",\n    \"reference_image_id\": \"3PjHlQbkV\",\n    \"image\": {\n      \"id\": \"3PjHlQbkV\",\n      \"width\": 500,\n      \"height\": 417,\n      \"url\": \"https://cdn2.thedogapi.com/images/3PjHlQbkV.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"28\",\n      \"metric\": \"13\"\n    },\n    \"height\": {\n      \"imperial\": \"11 - 12\",\n      \"metric\": \"28 - 30\"\n    },\n    \"id\": 81,\n    \"name\": \"French Bulldog\",\n    \"bred_for\": \"Lapdog\",\n    \"breed_group\": \"Non-Sporting\",\n    \"life_span\": \"9 - 11 years\",\n    \"temperament\": \"Playful, Affectionate, Keen, Sociable, Lively, Alert, Easygoing, Patient, Athletic, Bright\",\n    \"reference_image_id\": \"HyWNfxc47\",\n    \"image\": {\n      \"id\": \"HyWNfxc47\",\n      \"width\": 740,\n      \"height\": 430,\n      \"url\": \"https://cdn2.thedogapi.com/images/HyWNfxc47.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"25 - 45\",\n      \"metric\": \"11 - 20\"\n    },\n    \"height\": {\n      \"imperial\": \"17 - 20\",\n      \"metric\": \"43 - 51\"\n    },\n    \"id\": 82,\n    \"name\": \"German Pinscher\",\n    \"bred_for\": \"Watchdog, Hunting vermin on the farm.\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Spirited, Lively, Intelligent, Loving, Even Tempered, Familial\",\n    \"reference_image_id\": \"B1u4zgqE7\",\n    \"image\": {\n      \"id\": \"B1u4zgqE7\",\n      \"width\": 740,\n      \"height\": 480,\n      \"url\": \"https://cdn2.thedogapi.com/images/B1u4zgqE7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"50 - 90\",\n      \"metric\": \"23 - 41\"\n    },\n    \"height\": {\n      \"imperial\": \"22 - 26\",\n      \"metric\": \"56 - 66\"\n    },\n    \"id\": 83,\n    \"name\": \"German Shepherd Dog\",\n    \"bred_for\": \"Herding, Guard dog\",\n    \"breed_group\": \"Herding\",\n    \"life_span\": \"10 - 13 years\",\n    \"temperament\": \"Alert, Loyal, Obedient, Curious, Confident, Intelligent, Watchful, Courageous\",\n    \"reference_image_id\": \"SJyBfg5NX\",\n    \"image\": {\n      \"id\": \"SJyBfg5NX\",\n      \"width\": 600,\n      \"height\": 425,\n      \"url\": \"https://cdn2.thedogapi.com/images/SJyBfg5NX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"45 - 70\",\n      \"metric\": \"20 - 32\"\n    },\n    \"height\": {\n      \"imperial\": \"21 - 25\",\n      \"metric\": \"53 - 64\"\n    },\n    \"id\": 84,\n    \"name\": \"German Shorthaired Pointer\",\n    \"bred_for\": \"General hunting\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Boisterous, Bold, Affectionate, Intelligent, Cooperative, Trainable\",\n    \"reference_image_id\": \"SJqBMg5Nm\",\n    \"image\": {\n      \"id\": \"SJqBMg5Nm\",\n      \"width\": 1395,\n      \"height\": 1230,\n      \"url\": \"https://cdn2.thedogapi.com/images/SJqBMg5Nm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"65 - 90\",\n      \"metric\": \"29 - 41\"\n    },\n    \"height\": {\n      \"imperial\": \"23.5 - 27.5\",\n      \"metric\": \"60 - 70\"\n    },\n    \"id\": 85,\n    \"name\": \"Giant Schnauzer\",\n    \"bred_for\": \"Herding, guarding\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Strong Willed, Kind, Loyal, Intelligent, Dominant, Powerful\",\n    \"reference_image_id\": \"H1NIzlcV7\",\n    \"image\": {\n      \"id\": \"H1NIzlcV7\",\n      \"width\": 900,\n      \"height\": 600,\n      \"url\": \"https://cdn2.thedogapi.com/images/H1NIzlcV7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"32 - 40\",\n      \"metric\": \"15 - 18\"\n    },\n    \"height\": {\n      \"imperial\": \"12.5 - 14\",\n      \"metric\": \"32 - 36\"\n    },\n    \"id\": 86,\n    \"name\": \"Glen of Imaal Terrier\",\n    \"bred_for\": \"Rid the home and farm of vermin, and hunt badger and fox\",\n    \"breed_group\": \"Terrier\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Spirited, Agile, Loyal, Gentle, Active, Courageous\",\n    \"reference_image_id\": \"H1oLMe94m\",\n    \"image\": {\n      \"id\": \"H1oLMe94m\",\n      \"width\": 645,\n      \"height\": 380,\n      \"url\": \"https://cdn2.thedogapi.com/images/H1oLMe94m.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"55 - 75\",\n      \"metric\": \"25 - 34\"\n    },\n    \"height\": {\n      \"imperial\": \"21.5 - 24\",\n      \"metric\": \"55 - 61\"\n    },\n    \"id\": 87,\n    \"name\": \"Golden Retriever\",\n    \"bred_for\": \"Retrieving\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Intelligent, Kind, Reliable, Friendly, Trustworthy, Confident\",\n    \"reference_image_id\": \"HJ7Pzg5EQ\",\n    \"image\": {\n      \"id\": \"HJ7Pzg5EQ\",\n      \"width\": 900,\n      \"height\": 652,\n      \"url\": \"https://cdn2.thedogapi.com/images/HJ7Pzg5EQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"45 - 80\",\n      \"metric\": \"20 - 36\"\n    },\n    \"height\": {\n      \"imperial\": \"23 - 27\",\n      \"metric\": \"58 - 69\"\n    },\n    \"id\": 88,\n    \"name\": \"Gordon Setter\",\n    \"bred_for\": \"Find and point gamebirds\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Fearless, Alert, Loyal, Confident, Gay, Eager\",\n    \"reference_image_id\": \"SJ5vzx5NX\",\n    \"image\": {\n      \"id\": \"SJ5vzx5NX\",\n      \"width\": 622,\n      \"height\": 467,\n      \"url\": \"https://cdn2.thedogapi.com/images/SJ5vzx5NX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"110 - 190\",\n      \"metric\": \"50 - 86\"\n    },\n    \"height\": {\n      \"imperial\": \"28 - 32\",\n      \"metric\": \"71 - 81\"\n    },\n    \"id\": 89,\n    \"name\": \"Great Dane\",\n    \"bred_for\": \"Hunting & holding boars, Guardian\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"7 - 10 years\",\n    \"temperament\": \"Friendly, Devoted, Reserved, Gentle, Confident, Loving\",\n    \"reference_image_id\": \"B1Edfl9NX\",\n    \"image\": {\n      \"id\": \"B1Edfl9NX\",\n      \"width\": 800,\n      \"height\": 732,\n      \"url\": \"https://cdn2.thedogapi.com/images/B1Edfl9NX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"85 - 115\",\n      \"metric\": \"39 - 52\"\n    },\n    \"height\": {\n      \"imperial\": \"25 - 32\",\n      \"metric\": \"64 - 81\"\n    },\n    \"id\": 90,\n    \"name\": \"Great Pyrenees\",\n    \"bred_for\": \"Sheep guardian\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Strong Willed, Fearless, Affectionate, Patient, Gentle, Confident\",\n    \"reference_image_id\": \"B12uzg9V7\",\n    \"image\": {\n      \"id\": \"B12uzg9V7\",\n      \"width\": 800,\n      \"height\": 550,\n      \"url\": \"https://cdn2.thedogapi.com/images/B12uzg9V7.png\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"50 - 70\",\n      \"metric\": \"23 - 32\"\n    },\n    \"height\": {\n      \"imperial\": \"27 - 30\",\n      \"metric\": \"69 - 76\"\n    },\n    \"id\": 91,\n    \"name\": \"Greyhound\",\n    \"bred_for\": \"Coursing hares\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"10 - 13 years\",\n    \"temperament\": \"Affectionate, Athletic, Gentle, Intelligent, Quiet, Even Tempered\",\n    \"reference_image_id\": \"ryNYMx94X\",\n    \"image\": {\n      \"id\": \"ryNYMx94X\",\n      \"width\": 1024,\n      \"height\": 681,\n      \"url\": \"https://cdn2.thedogapi.com/images/ryNYMx94X.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"12\",\n      \"metric\": \"5\"\n    },\n    \"height\": {\n      \"imperial\": \"9 - 11\",\n      \"metric\": \"23 - 28\"\n    },\n    \"id\": 92,\n    \"name\": \"Griffon Bruxellois\",\n    \"bred_for\": \"Hunt and kill vermin in stables\",\n    \"life_span\": \"10 – 15 years\",\n    \"temperament\": \"Self-important, Inquisitive, Alert, Companionable, Sensitive, Watchful\",\n    \"reference_image_id\": \"ryoYGec4Q\",\n    \"image\": {\n      \"id\": \"ryoYGec4Q\",\n      \"width\": 645,\n      \"height\": 380,\n      \"url\": \"https://cdn2.thedogapi.com/images/ryoYGec4Q.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"40 - 60\",\n      \"metric\": \"18 - 27\"\n    },\n    \"height\": {\n      \"imperial\": \"18 - 22\",\n      \"metric\": \"46 - 56\"\n    },\n    \"id\": 93,\n    \"name\": \"Harrier\",\n    \"bred_for\": \"Hunting hares by trailing them\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Outgoing, Friendly, Cheerful, Sweet-Tempered, Tolerant, Active\",\n    \"reference_image_id\": \"B1IcfgqE7\",\n    \"image\": {\n      \"id\": \"B1IcfgqE7\",\n      \"width\": 1920,\n      \"height\": 1080,\n      \"url\": \"https://cdn2.thedogapi.com/images/B1IcfgqE7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"7 - 13\",\n      \"metric\": \"3 - 6\"\n    },\n    \"height\": {\n      \"imperial\": \"8.5 - 11.5\",\n      \"metric\": \"22 - 29\"\n    },\n    \"id\": 94,\n    \"name\": \"Havanese\",\n    \"bred_for\": \"Companionship\",\n    \"breed_group\": \"Toy\",\n    \"life_span\": \"14 - 15 years\",\n    \"temperament\": \"Affectionate, Responsive, Playful, Companionable, Gentle, Intelligent\",\n    \"reference_image_id\": \"rkXiGl9V7\",\n    \"image\": {\n      \"id\": \"rkXiGl9V7\",\n      \"width\": 800,\n      \"height\": 507,\n      \"url\": \"https://cdn2.thedogapi.com/images/rkXiGl9V7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"35 - 70\",\n      \"metric\": \"16 - 32\"\n    },\n    \"height\": {\n      \"imperial\": \"24 - 27\",\n      \"metric\": \"61 - 69\"\n    },\n    \"id\": 95,\n    \"name\": \"Irish Setter\",\n    \"bred_for\": \"Bird setting, retrieving\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"10 - 11 years\",\n    \"temperament\": \"Affectionate, Energetic, Lively, Independent, Playful, Companionable\",\n    \"reference_image_id\": \"S1osGeqVm\",\n    \"image\": {\n      \"id\": \"S1osGeqVm\",\n      \"width\": 818,\n      \"height\": 522,\n      \"url\": \"https://cdn2.thedogapi.com/images/S1osGeqVm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"25 - 27\",\n      \"metric\": \"11 - 12\"\n    },\n    \"height\": {\n      \"imperial\": \"18\",\n      \"metric\": \"46\"\n    },\n    \"id\": 96,\n    \"name\": \"Irish Terrier\",\n    \"breed_group\": \"Terrier\",\n    \"life_span\": \"12 - 16 years\",\n    \"temperament\": \"Respectful, Lively, Intelligent, Dominant, Protective, Trainable\",\n    \"reference_image_id\": \"By-hGecVX\",\n    \"image\": {\n      \"id\": \"By-hGecVX\",\n      \"width\": 800,\n      \"height\": 626,\n      \"url\": \"https://cdn2.thedogapi.com/images/By-hGecVX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"105 - 180\",\n      \"metric\": \"48 - 82\"\n    },\n    \"height\": {\n      \"imperial\": \"30 - 35\",\n      \"metric\": \"76 - 89\"\n    },\n    \"id\": 97,\n    \"name\": \"Irish Wolfhound\",\n    \"bred_for\": \"Coursing wolves, elk\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"6 - 8 years\",\n    \"temperament\": \"Sweet-Tempered, Loyal, Dignified, Patient, Thoughtful, Generous\",\n    \"reference_image_id\": \"Hyd2zgcEX\",\n    \"image\": {\n      \"id\": \"Hyd2zgcEX\",\n      \"width\": 1000,\n      \"height\": 630,\n      \"url\": \"https://cdn2.thedogapi.com/images/Hyd2zgcEX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"7 - 15\",\n      \"metric\": \"3 - 7\"\n    },\n    \"height\": {\n      \"imperial\": \"13 - 15\",\n      \"metric\": \"33 - 38\"\n    },\n    \"id\": 98,\n    \"name\": \"Italian Greyhound\",\n    \"bred_for\": \"Lapdog\",\n    \"breed_group\": \"Toy\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Mischievous, Affectionate, Agile, Athletic, Companionable, Intelligent\",\n    \"reference_image_id\": \"SJAnzg9NX\",\n    \"image\": {\n      \"id\": \"SJAnzg9NX\",\n      \"width\": 640,\n      \"height\": 377,\n      \"url\": \"https://cdn2.thedogapi.com/images/SJAnzg9NX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"4 - 9\",\n      \"metric\": \"2 - 4\"\n    },\n    \"height\": {\n      \"imperial\": \"8 - 11\",\n      \"metric\": \"20 - 28\"\n    },\n    \"id\": 99,\n    \"name\": \"Japanese Chin\",\n    \"bred_for\": \"Lapdog\",\n    \"breed_group\": \"Toy\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Alert, Loyal, Independent, Intelligent, Loving, Cat-like\",\n    \"reference_image_id\": \"r1H6feqEm\",\n    \"image\": {\n      \"id\": \"r1H6feqEm\",\n      \"width\": 900,\n      \"height\": 581,\n      \"url\": \"https://cdn2.thedogapi.com/images/r1H6feqEm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"15 - 19\",\n      \"metric\": \"7 - 9\"\n    },\n    \"height\": {\n      \"imperial\": \"12 - 15\",\n      \"metric\": \"30 - 38\"\n    },\n    \"id\": 100,\n    \"name\": \"Japanese Spitz\",\n    \"bred_for\": \"Companion\",\n    \"life_span\": \"10 – 16 years\",\n    \"temperament\": \"Affectionate, Obedient, Playful, Companionable, Intelligent, Proud\",\n    \"reference_image_id\": \"HksaMxqNX\",\n    \"image\": {\n      \"id\": \"HksaMxqNX\",\n      \"width\": 600,\n      \"height\": 351,\n      \"url\": \"https://cdn2.thedogapi.com/images/HksaMxqNX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"35 - 45\",\n      \"metric\": \"16 - 20\"\n    },\n    \"height\": {\n      \"imperial\": \"17 - 18\",\n      \"metric\": \"43 - 46\"\n    },\n    \"id\": 101,\n    \"name\": \"Keeshond\",\n    \"bred_for\": \"Barge watchdog\",\n    \"breed_group\": \"Non-Sporting\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Agile, Obedient, Playful, Quick, Sturdy, Bright\",\n    \"reference_image_id\": \"S1GAGg9Vm\",\n    \"image\": {\n      \"id\": \"S1GAGg9Vm\",\n      \"width\": 1024,\n      \"height\": 683,\n      \"url\": \"https://cdn2.thedogapi.com/images/S1GAGg9Vm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"80 - 100\",\n      \"metric\": \"36 - 45\"\n    },\n    \"height\": {\n      \"imperial\": \"25.5 - 27.5\",\n      \"metric\": \"65 - 70\"\n    },\n    \"id\": 102,\n    \"name\": \"Komondor\",\n    \"bred_for\": \"Sheep guardian\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Steady, Fearless, Affectionate, Independent, Gentle, Calm\",\n    \"reference_image_id\": \"Bko0fl547\",\n    \"image\": {\n      \"id\": \"Bko0fl547\",\n      \"width\": 1030,\n      \"height\": 772,\n      \"url\": \"https://cdn2.thedogapi.com/images/Bko0fl547.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"20 - 30\",\n      \"metric\": \"9 - 14\"\n    },\n    \"height\": {\n      \"imperial\": \"14 - 16\",\n      \"metric\": \"36 - 41\"\n    },\n    \"id\": 103,\n    \"name\": \"Kooikerhondje\",\n    \"bred_for\": \"Luring ducks into traps - \\\"tolling\\\"\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Benevolent, Agile, Alert, Intelligent, Active, Territorial\",\n    \"reference_image_id\": \"kOMy84GQE\",\n    \"image\": {\n      \"id\": \"kOMy84GQE\",\n      \"width\": 1080,\n      \"height\": 1080,\n      \"url\": \"https://cdn2.thedogapi.com/images/kOMy84GQE.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"70 - 115\",\n      \"metric\": \"32 - 52\"\n    },\n    \"height\": {\n      \"imperial\": \"26 - 30\",\n      \"metric\": \"66 - 76\"\n    },\n    \"id\": 104,\n    \"name\": \"Kuvasz\",\n    \"bred_for\": \"Guardian, hunting large game\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"8 - 10 years\",\n    \"temperament\": \"Clownish, Loyal, Patient, Independent, Intelligent, Protective\",\n    \"reference_image_id\": \"BykZ7ecVX\",\n    \"image\": {\n      \"id\": \"BykZ7ecVX\",\n      \"width\": 960,\n      \"height\": 768,\n      \"url\": \"https://cdn2.thedogapi.com/images/BykZ7ecVX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"55 - 80\",\n      \"metric\": \"25 - 36\"\n    },\n    \"height\": {\n      \"imperial\": \"21.5 - 24.5\",\n      \"metric\": \"55 - 62\"\n    },\n    \"id\": 105,\n    \"name\": \"Labrador Retriever\",\n    \"bred_for\": \"Water retrieving\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"10 - 13 years\",\n    \"temperament\": \"Kind, Outgoing, Agile, Gentle, Intelligent, Trusting, Even Tempered\",\n    \"reference_image_id\": \"B1uW7l5VX\",\n    \"image\": {\n      \"id\": \"B1uW7l5VX\",\n      \"width\": 992,\n      \"height\": 667,\n      \"url\": \"https://cdn2.thedogapi.com/images/B1uW7l5VX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"24 - 35\",\n      \"metric\": \"11 - 16\"\n    },\n    \"height\": {\n      \"imperial\": \"16 - 19\",\n      \"metric\": \"41 - 48\"\n    },\n    \"id\": 106,\n    \"name\": \"Lagotto Romagnolo\",\n    \"bred_for\": \"Water retrieval dog in the marshes of Romagna\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"14 - 16 years\",\n    \"temperament\": \"Keen, Loyal, Companionable, Loving, Active, Trainable\",\n    \"reference_image_id\": \"ryzzmgqE7\",\n    \"image\": {\n      \"id\": \"ryzzmgqE7\",\n      \"width\": 1600,\n      \"height\": 1200,\n      \"url\": \"https://cdn2.thedogapi.com/images/ryzzmgqE7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"6 - 13\",\n      \"metric\": \"3 - 6\"\n    },\n    \"height\": {\n      \"imperial\": \"10 - 12\",\n      \"metric\": \"25 - 30\"\n    },\n    \"id\": 107,\n    \"name\": \"Lancashire Heeler\",\n    \"bred_for\": \"Cattle herding, Ratting, Driving cattle to market.\",\n    \"life_span\": \"12 – 15 years\",\n    \"temperament\": \"Clever, Friendly, Alert, Intelligent\",\n    \"reference_image_id\": \"S1RGml5Em\",\n    \"image\": {\n      \"id\": \"S1RGml5Em\",\n      \"width\": 680,\n      \"height\": 453,\n      \"url\": \"https://cdn2.thedogapi.com/images/S1RGml5Em.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"120 - 170\",\n      \"metric\": \"54 - 77\"\n    },\n    \"height\": {\n      \"imperial\": \"25.5 - 31.5\",\n      \"metric\": \"65 - 80\"\n    },\n    \"id\": 108,\n    \"name\": \"Leonberger\",\n    \"bred_for\": \"Guardian, appearance.\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"6 - 8 years\",\n    \"temperament\": \"Obedient, Fearless, Loyal, Companionable, Adaptable, Loving\",\n    \"reference_image_id\": \"ByrmQlqVm\",\n    \"image\": {\n      \"id\": \"ByrmQlqVm\",\n      \"width\": 1024,\n      \"height\": 694,\n      \"url\": \"https://cdn2.thedogapi.com/images/ByrmQlqVm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"12 - 18\",\n      \"metric\": \"5 - 8\"\n    },\n    \"height\": {\n      \"imperial\": \"10 - 11\",\n      \"metric\": \"25 - 28\"\n    },\n    \"id\": 109,\n    \"name\": \"Lhasa Apso\",\n    \"bred_for\": \"Guarding inside the home, companion\",\n    \"breed_group\": \"Non-Sporting\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Steady, Fearless, Friendly, Devoted, Assertive, Spirited, Energetic, Lively, Alert, Obedient, Playful, Intelligent\",\n    \"reference_image_id\": \"SJp7Qe5EX\",\n    \"image\": {\n      \"id\": \"SJp7Qe5EX\",\n      \"width\": 680,\n      \"height\": 444,\n      \"url\": \"https://cdn2.thedogapi.com/images/SJp7Qe5EX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"4 - 7\",\n      \"metric\": \"2 - 3\"\n    },\n    \"height\": {\n      \"imperial\": \"8 - 10\",\n      \"metric\": \"20 - 25\"\n    },\n    \"id\": 110,\n    \"name\": \"Maltese\",\n    \"bred_for\": \"Lapdog\",\n    \"breed_group\": \"Toy\",\n    \"life_span\": \"15 - 18 years\",\n    \"temperament\": \"Playful, Docile, Fearless, Affectionate, Sweet-Tempered, Lively, Responsive, Easygoing, Gentle, Intelligent, Active\",\n    \"reference_image_id\": \"B1SV7gqN7\",\n    \"image\": {\n      \"id\": \"B1SV7gqN7\",\n      \"width\": 680,\n      \"height\": 453,\n      \"url\": \"https://cdn2.thedogapi.com/images/B1SV7gqN7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"20 - 40\",\n      \"metric\": \"9 - 18\"\n    },\n    \"height\": {\n      \"imperial\": \"13 - 18\",\n      \"metric\": \"33 - 46\"\n    },\n    \"id\": 111,\n    \"name\": \"Miniature American Shepherd\",\n    \"breed_group\": \"Herding\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Energetic, Loyal, Intelligent, Trainable\",\n    \"reference_image_id\": \"BkHHQgcN7\",\n    \"image\": {\n      \"id\": \"BkHHQgcN7\",\n      \"width\": 920,\n      \"height\": 640,\n      \"url\": \"https://cdn2.thedogapi.com/images/BkHHQgcN7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"8 - 11\",\n      \"metric\": \"4 - 5\"\n    },\n    \"height\": {\n      \"imperial\": \"10 - 12.5\",\n      \"metric\": \"25 - 32\"\n    },\n    \"id\": 112,\n    \"name\": \"Miniature Pinscher\",\n    \"bred_for\": \"Small vermin hunting\",\n    \"breed_group\": \"Toy\",\n    \"life_span\": \"15 years\",\n    \"temperament\": \"Clever, Outgoing, Friendly, Energetic, Responsive, Playful\",\n    \"reference_image_id\": \"Hy3H7g94X\",\n    \"image\": {\n      \"id\": \"Hy3H7g94X\",\n      \"width\": 1500,\n      \"height\": 1125,\n      \"url\": \"https://cdn2.thedogapi.com/images/Hy3H7g94X.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"11 - 20\",\n      \"metric\": \"5 - 9\"\n    },\n    \"height\": {\n      \"imperial\": \"12 - 14\",\n      \"metric\": \"30 - 36\"\n    },\n    \"id\": 113,\n    \"name\": \"Miniature Schnauzer\",\n    \"bred_for\": \"Ratting\",\n    \"breed_group\": \"Terrier\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Fearless, Friendly, Spirited, Alert, Obedient, Intelligent\",\n    \"reference_image_id\": \"SJIUQl9NX\",\n    \"image\": {\n      \"id\": \"SJIUQl9NX\",\n      \"width\": 800,\n      \"height\": 533,\n      \"url\": \"https://cdn2.thedogapi.com/images/SJIUQl9NX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"100 - 150\",\n      \"metric\": \"45 - 68\"\n    },\n    \"height\": {\n      \"imperial\": \"26 - 28\",\n      \"metric\": \"66 - 71\"\n    },\n    \"id\": 114,\n    \"name\": \"Newfoundland\",\n    \"bred_for\": \"All purpose water dog, fishing aid\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"8 - 10 years\",\n    \"temperament\": \"Sweet-Tempered, Gentle, Trainable\",\n    \"reference_image_id\": \"Sk4DXl54m\",\n    \"image\": {\n      \"id\": \"Sk4DXl54m\",\n      \"width\": 1174,\n      \"height\": 986,\n      \"url\": \"https://cdn2.thedogapi.com/images/Sk4DXl54m.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"11 - 12\",\n      \"metric\": \"5 - 5\"\n    },\n    \"height\": {\n      \"imperial\": \"9 - 10\",\n      \"metric\": \"23 - 25\"\n    },\n    \"id\": 115,\n    \"name\": \"Norfolk Terrier\",\n    \"bred_for\": \"Ratting, fox bolting\",\n    \"breed_group\": \"Terrier\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Self-confidence, Fearless, Spirited, Companionable, Happy, Lovable\",\n    \"reference_image_id\": \"B1ADQg94X\",\n    \"image\": {\n      \"id\": \"B1ADQg94X\",\n      \"width\": 1468,\n      \"height\": 1092,\n      \"url\": \"https://cdn2.thedogapi.com/images/B1ADQg94X.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"11 - 12\",\n      \"metric\": \"5 - 5\"\n    },\n    \"height\": {\n      \"imperial\": \"10\",\n      \"metric\": \"25\"\n    },\n    \"id\": 116,\n    \"name\": \"Norwich Terrier\",\n    \"bred_for\": \"Ratting, fox bolting\",\n    \"breed_group\": \"Terrier\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Hardy, Affectionate, Energetic, Sensitive, Intelligent\",\n    \"reference_image_id\": \"BkgKXlqE7\",\n    \"image\": {\n      \"id\": \"BkgKXlqE7\",\n      \"width\": 1140,\n      \"height\": 640,\n      \"url\": \"https://cdn2.thedogapi.com/images/BkgKXlqE7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"35 - 50\",\n      \"metric\": \"16 - 23\"\n    },\n    \"height\": {\n      \"imperial\": \"17 - 21\",\n      \"metric\": \"43 - 53\"\n    },\n    \"id\": 117,\n    \"name\": \"Nova Scotia Duck Tolling Retriever\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Outgoing, Alert, Patient, Intelligent, Loving\",\n    \"reference_image_id\": \"SyYtQe5V7\",\n    \"image\": {\n      \"id\": \"SyYtQe5V7\",\n      \"width\": 630,\n      \"height\": 420,\n      \"url\": \"https://cdn2.thedogapi.com/images/SyYtQe5V7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"60 - 100\",\n      \"metric\": \"27 - 45\"\n    },\n    \"height\": {\n      \"imperial\": \"21\",\n      \"metric\": \"53\"\n    },\n    \"id\": 118,\n    \"name\": \"Old English Sheepdog\",\n    \"bred_for\": \"Driving sheep, cattle\",\n    \"breed_group\": \"Herding\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Sociable, Bubbly, Playful, Adaptable, Intelligent, Loving\",\n    \"reference_image_id\": \"HkZ57lq4m\",\n    \"image\": {\n      \"id\": \"HkZ57lq4m\",\n      \"width\": 1334,\n      \"height\": 889,\n      \"url\": \"https://cdn2.thedogapi.com/images/HkZ57lq4m.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"65 – 85\",\n      \"metric\": \"NaN\"\n    },\n    \"height\": {\n      \"imperial\": \"15 - 19\",\n      \"metric\": \"38 - 48\"\n    },\n    \"id\": 119,\n    \"name\": \"Olde English Bulldogge\",\n    \"life_span\": \"9 – 14 years\",\n    \"temperament\": \"Friendly, Alert, Confident, Loving, Courageous, Strong\",\n    \"reference_image_id\": \"B1d5me547\",\n    \"image\": {\n      \"id\": \"B1d5me547\",\n      \"width\": 554,\n      \"height\": 546,\n      \"url\": \"https://cdn2.thedogapi.com/images/B1d5me547.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"3 - 12\",\n      \"metric\": \"1 - 5\"\n    },\n    \"height\": {\n      \"imperial\": \"8 - 11\",\n      \"metric\": \"20 - 28\"\n    },\n    \"id\": 120,\n    \"name\": \"Papillon\",\n    \"bred_for\": \"Lapdog\",\n    \"breed_group\": \"Toy\",\n    \"life_span\": \"13 - 17 years\",\n    \"temperament\": \"Hardy, Friendly, Energetic, Alert, Intelligent, Happy\",\n    \"reference_image_id\": \"SkJj7e547\",\n    \"image\": {\n      \"id\": \"SkJj7e547\",\n      \"width\": 960,\n      \"height\": 765,\n      \"url\": \"https://cdn2.thedogapi.com/images/SkJj7e547.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"14\",\n      \"metric\": \"6\"\n    },\n    \"height\": {\n      \"imperial\": \"6 - 9\",\n      \"metric\": \"15 - 23\"\n    },\n    \"id\": 121,\n    \"name\": \"Pekingese\",\n    \"bred_for\": \"Lapdog\",\n    \"breed_group\": \"Toy\",\n    \"life_span\": \"14 - 18 years\",\n    \"temperament\": \"Opinionated, Good-natured, Stubborn, Affectionate, Aggressive, Intelligent\",\n    \"reference_image_id\": \"ByIiml9Nm\",\n    \"image\": {\n      \"id\": \"ByIiml9Nm\",\n      \"width\": 960,\n      \"height\": 640,\n      \"url\": \"https://cdn2.thedogapi.com/images/ByIiml9Nm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"25 - 30\",\n      \"metric\": \"11 - 14\"\n    },\n    \"height\": {\n      \"imperial\": \"10 - 12\",\n      \"metric\": \"25 - 30\"\n    },\n    \"id\": 122,\n    \"name\": \"Pembroke Welsh Corgi\",\n    \"bred_for\": \"Driving stock to market in northern Wales\",\n    \"breed_group\": \"Herding\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Tenacious, Outgoing, Friendly, Bold, Playful, Protective\",\n    \"reference_image_id\": \"rJ6iQeqEm\",\n    \"image\": {\n      \"id\": \"rJ6iQeqEm\",\n      \"width\": 1280,\n      \"height\": 720,\n      \"url\": \"https://cdn2.thedogapi.com/images/rJ6iQeqEm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"88 - 110\",\n      \"metric\": \"40 - 50\"\n    },\n    \"height\": {\n      \"imperial\": \"22 - 25.5\",\n      \"metric\": \"56 - 65\"\n    },\n    \"id\": 123,\n    \"name\": \"Perro de Presa Canario\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Strong Willed, Suspicious, Gentle, Dominant, Calm\",\n    \"reference_image_id\": \"S1V3Qeq4X\",\n    \"image\": {\n      \"id\": \"S1V3Qeq4X\",\n      \"width\": 600,\n      \"height\": 483,\n      \"url\": \"https://cdn2.thedogapi.com/images/S1V3Qeq4X.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"40 - 60\",\n      \"metric\": \"18 - 27\"\n    },\n    \"height\": {\n      \"imperial\": \"21 - 25\",\n      \"metric\": \"53 - 64\"\n    },\n    \"id\": 124,\n    \"name\": \"Pharaoh Hound\",\n    \"bred_for\": \"Hunting rabbits\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Affectionate, Sociable, Playful, Intelligent, Active, Trainable\",\n    \"reference_image_id\": \"Byz6mgqEQ\",\n    \"image\": {\n      \"id\": \"Byz6mgqEQ\",\n      \"width\": 3918,\n      \"height\": 2938,\n      \"url\": \"https://cdn2.thedogapi.com/images/Byz6mgqEQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"40 - 60\",\n      \"metric\": \"18 - 27\"\n    },\n    \"height\": {\n      \"imperial\": \"20 - 25\",\n      \"metric\": \"51 - 64\"\n    },\n    \"id\": 125,\n    \"name\": \"Plott\",\n    \"bred_for\": \"Hunting big-game like Boar.\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Bold, Alert, Loyal, Intelligent\",\n    \"reference_image_id\": \"B1i67l5VQ\",\n    \"image\": {\n      \"id\": \"B1i67l5VQ\",\n      \"width\": 640,\n      \"height\": 480,\n      \"url\": \"https://cdn2.thedogapi.com/images/B1i67l5VQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"3 - 7\",\n      \"metric\": \"1 - 3\"\n    },\n    \"height\": {\n      \"imperial\": \"8 - 12\",\n      \"metric\": \"20 - 30\"\n    },\n    \"id\": 126,\n    \"name\": \"Pomeranian\",\n    \"bred_for\": \"Companion\",\n    \"breed_group\": \"Toy\",\n    \"life_span\": \"15 years\",\n    \"temperament\": \"Extroverted, Friendly, Sociable, Playful, Intelligent, Active\",\n    \"reference_image_id\": \"HJd0XecNX\",\n    \"image\": {\n      \"id\": \"HJd0XecNX\",\n      \"width\": 800,\n      \"height\": 532,\n      \"url\": \"https://cdn2.thedogapi.com/images/HJd0XecNX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"15 - 17\",\n      \"metric\": \"7 - 8\"\n    },\n    \"height\": {\n      \"imperial\": \"11 - 15\",\n      \"metric\": \"28 - 38\"\n    },\n    \"id\": 127,\n    \"name\": \"Poodle (Miniature)\",\n    \"life_span\": \"12 – 15 years\",\n    \"reference_image_id\": \"Hkxk4ecVX\",\n    \"image\": {\n      \"id\": \"Hkxk4ecVX\",\n      \"width\": 1280,\n      \"height\": 853,\n      \"url\": \"https://cdn2.thedogapi.com/images/Hkxk4ecVX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"6 - 9\",\n      \"metric\": \"3 - 4\"\n    },\n    \"height\": {\n      \"imperial\": \"9 - 11\",\n      \"metric\": \"23 - 28\"\n    },\n    \"id\": 128,\n    \"name\": \"Poodle (Toy)\",\n    \"life_span\": \"18 years\",\n    \"reference_image_id\": \"rJFJVxc4m\",\n    \"image\": {\n      \"id\": \"rJFJVxc4m\",\n      \"width\": 620,\n      \"height\": 403,\n      \"url\": \"https://cdn2.thedogapi.com/images/rJFJVxc4m.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"14 - 18\",\n      \"metric\": \"6 - 8\"\n    },\n    \"height\": {\n      \"imperial\": \"10 - 12\",\n      \"metric\": \"25 - 30\"\n    },\n    \"id\": 129,\n    \"name\": \"Pug\",\n    \"bred_for\": \"Lapdog\",\n    \"breed_group\": \"Toy\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Docile, Clever, Charming, Stubborn, Sociable, Playful, Quiet, Attentive\",\n    \"reference_image_id\": \"HyJvcl9N7\",\n    \"image\": {\n      \"id\": \"HyJvcl9N7\",\n      \"width\": 800,\n      \"height\": 600,\n      \"url\": \"https://cdn2.thedogapi.com/images/HyJvcl9N7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"25 - 35\",\n      \"metric\": \"11 - 16\"\n    },\n    \"height\": {\n      \"imperial\": \"16 - 17\",\n      \"metric\": \"41 - 43\"\n    },\n    \"id\": 130,\n    \"name\": \"Puli\",\n    \"bred_for\": \"Herding\",\n    \"breed_group\": \"Herding\",\n    \"life_span\": \"12 - 16 Years years\",\n    \"temperament\": \"Energetic, Agile, Loyal, Obedient, Intelligent, Faithful\",\n    \"reference_image_id\": \"ryPgVl5N7\",\n    \"image\": {\n      \"id\": \"ryPgVl5N7\",\n      \"width\": 1199,\n      \"height\": 829,\n      \"url\": \"https://cdn2.thedogapi.com/images/ryPgVl5N7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"18 - 33\",\n      \"metric\": \"8 - 15\"\n    },\n    \"height\": {\n      \"imperial\": \"15 - 18.5\",\n      \"metric\": \"38 - 47\"\n    },\n    \"id\": 131,\n    \"name\": \"Pumi\",\n    \"breed_group\": \"Herding\",\n    \"life_span\": \"13 - 15 years\",\n    \"temperament\": \"Lively, Reserved, Intelligent, Active, Protective, Vocal\",\n    \"reference_image_id\": \"SyRe4xcN7\",\n    \"image\": {\n      \"id\": \"SyRe4xcN7\",\n      \"width\": 695,\n      \"height\": 391,\n      \"url\": \"https://cdn2.thedogapi.com/images/SyRe4xcN7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"8 - 25\",\n      \"metric\": \"4 - 11\"\n    },\n    \"height\": {\n      \"imperial\": \"10 - 13\",\n      \"metric\": \"25 - 33\"\n    },\n    \"id\": 132,\n    \"name\": \"Rat Terrier\",\n    \"breed_group\": \"Terrier\",\n    \"life_span\": \"12 - 18 years\",\n    \"temperament\": \"Affectionate, Lively, Inquisitive, Alert, Intelligent, Loving\",\n    \"reference_image_id\": \"HkXWNl9E7\",\n    \"image\": {\n      \"id\": \"HkXWNl9E7\",\n      \"width\": 825,\n      \"height\": 689,\n      \"url\": \"https://cdn2.thedogapi.com/images/HkXWNl9E7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"45 - 80\",\n      \"metric\": \"20 - 36\"\n    },\n    \"height\": {\n      \"imperial\": \"21 - 27\",\n      \"metric\": \"53 - 69\"\n    },\n    \"id\": 133,\n    \"name\": \"Redbone Coonhound\",\n    \"bred_for\": \"Hunting raccoon, deer, bear, and cougar.\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Affectionate, Energetic, Independent, Companionable, Familial, Unflappable\",\n    \"reference_image_id\": \"HJMzEl5N7\",\n    \"image\": {\n      \"id\": \"HJMzEl5N7\",\n      \"width\": 1537,\n      \"height\": 1323,\n      \"url\": \"https://cdn2.thedogapi.com/images/HJMzEl5N7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"75 - 80\",\n      \"metric\": \"34 - 36\"\n    },\n    \"height\": {\n      \"imperial\": \"24 - 27\",\n      \"metric\": \"61 - 69\"\n    },\n    \"id\": 134,\n    \"name\": \"Rhodesian Ridgeback\",\n    \"bred_for\": \"Big game hunting, guarding\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Strong Willed, Mischievous, Loyal, Dignified, Sensitive, Intelligent\",\n    \"reference_image_id\": \"By9zNgqE7\",\n    \"image\": {\n      \"id\": \"By9zNgqE7\",\n      \"width\": 1000,\n      \"height\": 667,\n      \"url\": \"https://cdn2.thedogapi.com/images/By9zNgqE7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"75 - 110\",\n      \"metric\": \"34 - 50\"\n    },\n    \"height\": {\n      \"imperial\": \"22 - 27\",\n      \"metric\": \"56 - 69\"\n    },\n    \"id\": 135,\n    \"name\": \"Rottweiler\",\n    \"bred_for\": \"Cattle drover, guardian, draft\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"8 - 10 years\",\n    \"temperament\": \"Steady, Good-natured, Fearless, Devoted, Alert, Obedient, Confident, Self-assured, Calm, Courageous\",\n    \"reference_image_id\": \"r1xXEgcNX\",\n    \"image\": {\n      \"id\": \"r1xXEgcNX\",\n      \"width\": 736,\n      \"height\": 595,\n      \"url\": \"https://cdn2.thedogapi.com/images/r1xXEgcNX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"3 - 6\",\n      \"metric\": \"1 - 3\"\n    },\n    \"height\": {\n      \"imperial\": \"7.5 - 10.5\",\n      \"metric\": \"19 - 27\"\n    },\n    \"id\": 136,\n    \"name\": \"Russian Toy\",\n    \"breed_group\": \"Toy\",\n    \"life_span\": \"10 - 12 years\",\n    \"reference_image_id\": \"HkP7Vxc4Q\",\n    \"image\": {\n      \"id\": \"HkP7Vxc4Q\",\n      \"width\": 645,\n      \"height\": 380,\n      \"url\": \"https://cdn2.thedogapi.com/images/HkP7Vxc4Q.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"130 - 180\",\n      \"metric\": \"59 - 82\"\n    },\n    \"height\": {\n      \"imperial\": \"25.5 - 27.5\",\n      \"metric\": \"65 - 70\"\n    },\n    \"id\": 137,\n    \"name\": \"Saint Bernard\",\n    \"bred_for\": \"Draft, search, rescue\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"7 - 10 years\",\n    \"temperament\": \"Friendly, Lively, Gentle, Watchful, Calm\",\n    \"reference_image_id\": \"_Qf9nfRzL\",\n    \"image\": {\n      \"id\": \"_Qf9nfRzL\",\n      \"width\": 1080,\n      \"height\": 1084,\n      \"url\": \"https://cdn2.thedogapi.com/images/_Qf9nfRzL.png\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"35 - 65\",\n      \"metric\": \"16 - 29\"\n    },\n    \"height\": {\n      \"imperial\": \"23 - 28\",\n      \"metric\": \"58 - 71\"\n    },\n    \"id\": 138,\n    \"name\": \"Saluki\",\n    \"bred_for\": \"Coursing gazelle and hare\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Aloof, Reserved, Intelligent, Quiet\",\n    \"reference_image_id\": \"fjFIuehNo\",\n    \"image\": {\n      \"id\": \"fjFIuehNo\",\n      \"width\": 750,\n      \"height\": 450,\n      \"url\": \"https://cdn2.thedogapi.com/images/fjFIuehNo.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"50 - 60\",\n      \"metric\": \"23 - 27\"\n    },\n    \"height\": {\n      \"imperial\": \"19 - 23.5\",\n      \"metric\": \"48 - 60\"\n    },\n    \"id\": 139,\n    \"name\": \"Samoyed\",\n    \"bred_for\": \"Herding reindeer, guardian, draft\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Stubborn, Friendly, Sociable, Lively, Alert, Playful\",\n    \"reference_image_id\": \"S1T8Ee9Nm\",\n    \"image\": {\n      \"id\": \"S1T8Ee9Nm\",\n      \"width\": 1200,\n      \"height\": 797,\n      \"url\": \"https://cdn2.thedogapi.com/images/S1T8Ee9Nm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"10 - 16\",\n      \"metric\": \"5 - 7\"\n    },\n    \"height\": {\n      \"imperial\": \"10 - 13\",\n      \"metric\": \"25 - 33\"\n    },\n    \"id\": 140,\n    \"name\": \"Schipperke\",\n    \"bred_for\": \"Barge watchdog\",\n    \"breed_group\": \"Non-Sporting\",\n    \"life_span\": \"13 - 15 years\",\n    \"temperament\": \"Fearless, Agile, Curious, Independent, Confident, Faithful\",\n    \"reference_image_id\": \"SyBvVgc47\",\n    \"image\": {\n      \"id\": \"SyBvVgc47\",\n      \"width\": 1024,\n      \"height\": 681,\n      \"url\": \"https://cdn2.thedogapi.com/images/SyBvVgc47.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"70 - 130\",\n      \"metric\": \"32 - 59\"\n    },\n    \"height\": {\n      \"imperial\": \"28 - 32\",\n      \"metric\": \"71 - 81\"\n    },\n    \"id\": 141,\n    \"name\": \"Scottish Deerhound\",\n    \"bred_for\": \"Coursing deer\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"8 - 10 years\",\n    \"temperament\": \"Docile, Friendly, Dignified, Gentle\",\n    \"reference_image_id\": \"SkNjqx9NQ\",\n    \"image\": {\n      \"id\": \"SkNjqx9NQ\",\n      \"width\": 700,\n      \"height\": 480,\n      \"url\": \"https://cdn2.thedogapi.com/images/SkNjqx9NQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"18 - 22\",\n      \"metric\": \"8 - 10\"\n    },\n    \"height\": {\n      \"imperial\": \"10\",\n      \"metric\": \"25\"\n    },\n    \"id\": 142,\n    \"name\": \"Scottish Terrier\",\n    \"bred_for\": \"Vermin hunting\",\n    \"breed_group\": \"Terrier\",\n    \"life_span\": \"11 - 13 years\",\n    \"temperament\": \"Feisty, Alert, Independent, Playful, Quick, Self-assured\",\n    \"reference_image_id\": \"Bklnce5NX\",\n    \"image\": {\n      \"id\": \"Bklnce5NX\",\n      \"width\": 1280,\n      \"height\": 976,\n      \"url\": \"https://cdn2.thedogapi.com/images/Bklnce5NX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"30\",\n      \"metric\": \"14\"\n    },\n    \"height\": {\n      \"imperial\": \"13 - 16\",\n      \"metric\": \"33 - 41\"\n    },\n    \"id\": 143,\n    \"name\": \"Shetland Sheepdog\",\n    \"bred_for\": \"Sheep herding\",\n    \"breed_group\": \"Herding\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Affectionate, Lively, Responsive, Alert, Loyal, Reserved, Playful, Gentle, Intelligent, Active, Trainable, Strong\",\n    \"reference_image_id\": \"rJa29l9E7\",\n    \"image\": {\n      \"id\": \"rJa29l9E7\",\n      \"width\": 824,\n      \"height\": 640,\n      \"url\": \"https://cdn2.thedogapi.com/images/rJa29l9E7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"17 - 23\",\n      \"metric\": \"8 - 10\"\n    },\n    \"height\": {\n      \"imperial\": \"13.5 - 16.5\",\n      \"metric\": \"34 - 42\"\n    },\n    \"id\": 144,\n    \"name\": \"Shiba Inu\",\n    \"bred_for\": \"Hunting in the mountains of Japan, Alert Watchdog\",\n    \"breed_group\": \"Non-Sporting\",\n    \"life_span\": \"12 - 16 years\",\n    \"temperament\": \"Charming, Fearless, Keen, Alert, Confident, Faithful\",\n    \"reference_image_id\": \"Zn3IjPX3f\",\n    \"image\": {\n      \"id\": \"Zn3IjPX3f\",\n      \"width\": 1080,\n      \"height\": 1080,\n      \"url\": \"https://cdn2.thedogapi.com/images/Zn3IjPX3f.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"9 - 16\",\n      \"metric\": \"4 - 7\"\n    },\n    \"height\": {\n      \"imperial\": \"8 - 11\",\n      \"metric\": \"20 - 28\"\n    },\n    \"id\": 145,\n    \"name\": \"Shih Tzu\",\n    \"bred_for\": \"Lapdog\",\n    \"breed_group\": \"Toy\",\n    \"life_span\": \"10 - 18 years\",\n    \"temperament\": \"Clever, Spunky, Outgoing, Friendly, Affectionate, Lively, Alert, Loyal, Independent, Playful, Gentle, Intelligent, Happy, Active, Courageous\",\n    \"reference_image_id\": \"BkrJjgcV7\",\n    \"image\": {\n      \"id\": \"BkrJjgcV7\",\n      \"width\": 800,\n      \"height\": 600,\n      \"url\": \"https://cdn2.thedogapi.com/images/BkrJjgcV7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"120 - 140\",\n      \"metric\": \"54 - 64\"\n    },\n    \"height\": {\n      \"imperial\": \"26 - 30\",\n      \"metric\": \"66 - 76\"\n    },\n    \"id\": 146,\n    \"name\": \"Shiloh Shepherd\",\n    \"bred_for\": \"Swimming, Carrying backpacks, Pulling carts or sleds\",\n    \"life_span\": \"9 – 14 years\",\n    \"temperament\": \"Outgoing, Loyal, Companionable, Gentle, Loving, Trainable\",\n    \"reference_image_id\": \"SJJxjecEX\",\n    \"image\": {\n      \"id\": \"SJJxjecEX\",\n      \"width\": 1005,\n      \"height\": 803,\n      \"url\": \"https://cdn2.thedogapi.com/images/SJJxjecEX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"35 - 60\",\n      \"metric\": \"16 - 27\"\n    },\n    \"height\": {\n      \"imperial\": \"20 - 23.5\",\n      \"metric\": \"51 - 60\"\n    },\n    \"id\": 147,\n    \"name\": \"Siberian Husky\",\n    \"bred_for\": \"Sled pulling\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"12 years\",\n    \"temperament\": \"Outgoing, Friendly, Alert, Gentle, Intelligent\",\n    \"reference_image_id\": \"S17ZilqNm\",\n    \"image\": {\n      \"id\": \"S17ZilqNm\",\n      \"width\": 1920,\n      \"height\": 1280,\n      \"url\": \"https://cdn2.thedogapi.com/images/S17ZilqNm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"8 - 10\",\n      \"metric\": \"4 - 5\"\n    },\n    \"height\": {\n      \"imperial\": \"9 - 10\",\n      \"metric\": \"23 - 25\"\n    },\n    \"id\": 148,\n    \"name\": \"Silky Terrier\",\n    \"bred_for\": \"Small vermin hunting, companionship\",\n    \"breed_group\": \"Toy\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Friendly, Responsive, Inquisitive, Alert, Quick, Joyful\",\n    \"reference_image_id\": \"ByzGsl5Nm\",\n    \"image\": {\n      \"id\": \"ByzGsl5Nm\",\n      \"width\": 1599,\n      \"height\": 1142,\n      \"url\": \"https://cdn2.thedogapi.com/images/ByzGsl5Nm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"up - 18\",\n      \"metric\": \"NaN - 8\"\n    },\n    \"height\": {\n      \"imperial\": \"15.5\",\n      \"metric\": \"39\"\n    },\n    \"id\": 149,\n    \"name\": \"Smooth Fox Terrier\",\n    \"bred_for\": \"Fox bolting\",\n    \"breed_group\": \"Terrier\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Fearless, Affectionate, Alert, Playful, Intelligent, Active\",\n    \"reference_image_id\": \"Syszjx9Em\",\n    \"image\": {\n      \"id\": \"Syszjx9Em\",\n      \"width\": 1600,\n      \"height\": 1031,\n      \"url\": \"https://cdn2.thedogapi.com/images/Syszjx9Em.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"30 - 40\",\n      \"metric\": \"14 - 18\"\n    },\n    \"height\": {\n      \"imperial\": \"16 - 18\",\n      \"metric\": \"41 - 46\"\n    },\n    \"id\": 150,\n    \"name\": \"Soft Coated Wheaten Terrier\",\n    \"bred_for\": \"Vermin hunting, guarding, all-around farm helper\",\n    \"breed_group\": \"Terrier\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Affectionate, Spirited, Energetic, Playful, Intelligent, Faithful\",\n    \"reference_image_id\": \"HJHmix5NQ\",\n    \"image\": {\n      \"id\": \"HJHmix5NQ\",\n      \"width\": 1200,\n      \"height\": 800,\n      \"url\": \"https://cdn2.thedogapi.com/images/HJHmix5NQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"30 - 50\",\n      \"metric\": \"14 - 23\"\n    },\n    \"height\": {\n      \"imperial\": \"16 - 20\",\n      \"metric\": \"41 - 51\"\n    },\n    \"id\": 151,\n    \"name\": \"Spanish Water Dog\",\n    \"bred_for\": \"Herding flocks of sheep and goats from one pasture to another\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Trainable, Diligent, Affectionate, Loyal, Athletic, Intelligent\",\n    \"reference_image_id\": \"HJf4jl9VX\",\n    \"image\": {\n      \"id\": \"HJf4jl9VX\",\n      \"width\": 1200,\n      \"height\": 922,\n      \"url\": \"https://cdn2.thedogapi.com/images/HJf4jl9VX.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"61 - 85\",\n      \"metric\": \"28 - 39\"\n    },\n    \"height\": {\n      \"imperial\": \"22.5 - 27.5\",\n      \"metric\": \"57 - 70\"\n    },\n    \"id\": 152,\n    \"name\": \"Spinone Italiano\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Docile, Friendly, Affectionate, Loyal, Patient, Gentle\",\n    \"reference_image_id\": \"rk5Eoe5Nm\",\n    \"image\": {\n      \"id\": \"rk5Eoe5Nm\",\n      \"width\": 1030,\n      \"height\": 772,\n      \"url\": \"https://cdn2.thedogapi.com/images/rk5Eoe5Nm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"24 - 38\",\n      \"metric\": \"11 - 17\"\n    },\n    \"height\": {\n      \"imperial\": \"14 - 16\",\n      \"metric\": \"36 - 41\"\n    },\n    \"id\": 153,\n    \"name\": \"Staffordshire Bull Terrier\",\n    \"bred_for\": \"\",\n    \"breed_group\": \"Terrier\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Reliable, Fearless, Bold, Affectionate, Loyal, Intelligent, Courageous\",\n    \"reference_image_id\": \"H1zSie9V7\",\n    \"image\": {\n      \"id\": \"H1zSie9V7\",\n      \"width\": 1280,\n      \"height\": 852,\n      \"url\": \"https://cdn2.thedogapi.com/images/H1zSie9V7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"30 - 50\",\n      \"metric\": \"14 - 23\"\n    },\n    \"height\": {\n      \"imperial\": \"17.5 - 19.5\",\n      \"metric\": \"44 - 50\"\n    },\n    \"id\": 154,\n    \"name\": \"Standard Schnauzer\",\n    \"bred_for\": \"Ratting, guarding\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"13 - 15 years\",\n    \"temperament\": \"Trainable, Good-natured, Devoted, Lively, Playful, Intelligent\",\n    \"reference_image_id\": \"tmzeu6ID_\",\n    \"image\": {\n      \"id\": \"tmzeu6ID_\",\n      \"width\": 650,\n      \"height\": 585,\n      \"url\": \"https://cdn2.thedogapi.com/images/tmzeu6ID_.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"20 - 30\",\n      \"metric\": \"9 - 14\"\n    },\n    \"height\": {\n      \"imperial\": \"11.5 - 13.5\",\n      \"metric\": \"29 - 34\"\n    },\n    \"id\": 155,\n    \"name\": \"Swedish Vallhund\",\n    \"breed_group\": \"Herding\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Fearless, Friendly, Energetic, Alert, Intelligent, Watchful\",\n    \"reference_image_id\": \"HJ-Dix94Q\",\n    \"image\": {\n      \"id\": \"HJ-Dix94Q\",\n      \"width\": 1280,\n      \"height\": 851,\n      \"url\": \"https://cdn2.thedogapi.com/images/HJ-Dix94Q.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"35 - 55\",\n      \"metric\": \"16 - 25\"\n    },\n    \"height\": {\n      \"imperial\": \"20 - 24\",\n      \"metric\": \"51 - 61\"\n    },\n    \"id\": 156,\n    \"name\": \"Thai Ridgeback\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"10 - 12 years\",\n    \"temperament\": \"Protective, Loyal, Independent, Intelligent, Loving, Familial\",\n    \"reference_image_id\": \"zv89hR-O8\",\n    \"image\": {\n      \"id\": \"zv89hR-O8\",\n      \"width\": 1080,\n      \"height\": 720,\n      \"url\": \"https://cdn2.thedogapi.com/images/zv89hR-O8.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"85 - 140\",\n      \"metric\": \"39 - 64\"\n    },\n    \"height\": {\n      \"imperial\": \"24 - 26\",\n      \"metric\": \"61 - 66\"\n    },\n    \"id\": 157,\n    \"name\": \"Tibetan Mastiff\",\n    \"breed_group\": \"Working\",\n    \"life_span\": \"10 - 14 years\",\n    \"temperament\": \"Strong Willed, Tenacious, Aloof, Stubborn, Intelligent, Protective\",\n    \"reference_image_id\": \"SkM9sec47\",\n    \"image\": {\n      \"id\": \"SkM9sec47\",\n      \"width\": 1600,\n      \"height\": 1375,\n      \"url\": \"https://cdn2.thedogapi.com/images/SkM9sec47.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"9 - 15\",\n      \"metric\": \"4 - 7\"\n    },\n    \"height\": {\n      \"imperial\": \"10\",\n      \"metric\": \"25\"\n    },\n    \"id\": 158,\n    \"name\": \"Tibetan Spaniel\",\n    \"breed_group\": \"Non-Sporting\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Willful, Aloof, Assertive, Independent, Playful, Intelligent, Happy\",\n    \"reference_image_id\": \"Hyjcol947\",\n    \"image\": {\n      \"id\": \"Hyjcol947\",\n      \"width\": 1023,\n      \"height\": 825,\n      \"url\": \"https://cdn2.thedogapi.com/images/Hyjcol947.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"20 - 24\",\n      \"metric\": \"9 - 11\"\n    },\n    \"height\": {\n      \"imperial\": \"14 - 17\",\n      \"metric\": \"36 - 43\"\n    },\n    \"id\": 159,\n    \"name\": \"Tibetan Terrier\",\n    \"bred_for\": \"Good luck charms, mascots, watchdogs, herding dogs, and companions\",\n    \"breed_group\": \"Non-Sporting\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Affectionate, Energetic, Amiable, Reserved, Gentle, Sensitive\",\n    \"reference_image_id\": \"6f5n_42mB\",\n    \"image\": {\n      \"id\": \"6f5n_42mB\",\n      \"width\": 981,\n      \"height\": 1226,\n      \"url\": \"https://cdn2.thedogapi.com/images/6f5n_42mB.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"4 - 9\",\n      \"metric\": \"2 - 4\"\n    },\n    \"height\": {\n      \"imperial\": \"8 - 11\",\n      \"metric\": \"20 - 28\"\n    },\n    \"id\": 160,\n    \"name\": \"Toy Fox Terrier\",\n    \"breed_group\": \"Toy\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Friendly, Spirited, Alert, Loyal, Playful, Intelligent\",\n    \"reference_image_id\": \"B17ase9V7\",\n    \"image\": {\n      \"id\": \"B17ase9V7\",\n      \"width\": 1200,\n      \"height\": 1024,\n      \"url\": \"https://cdn2.thedogapi.com/images/B17ase9V7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"45 - 80\",\n      \"metric\": \"20 - 36\"\n    },\n    \"height\": {\n      \"imperial\": \"20 - 27\",\n      \"metric\": \"51 - 69\"\n    },\n    \"id\": 161,\n    \"name\": \"Treeing Walker Coonhound\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"10 - 13 years\",\n    \"temperament\": \"Clever, Affectionate, Confident, Intelligent, Loving, Trainable\",\n    \"reference_image_id\": \"SkRpsgc47\",\n    \"image\": {\n      \"id\": \"SkRpsgc47\",\n      \"width\": 1920,\n      \"height\": 1080,\n      \"url\": \"https://cdn2.thedogapi.com/images/SkRpsgc47.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"50 - 65\",\n      \"metric\": \"23 - 29\"\n    },\n    \"height\": {\n      \"imperial\": \"21 - 24\",\n      \"metric\": \"53 - 61\"\n    },\n    \"id\": 162,\n    \"name\": \"Vizsla\",\n    \"bred_for\": \"Pointing and trailing\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"10 - 14 years\",\n    \"temperament\": \"Affectionate, Energetic, Loyal, Gentle, Quiet\",\n    \"reference_image_id\": \"r1o0jx9Em\",\n    \"image\": {\n      \"id\": \"r1o0jx9Em\",\n      \"width\": 2269,\n      \"height\": 1276,\n      \"url\": \"https://cdn2.thedogapi.com/images/r1o0jx9Em.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"55 - 90\",\n      \"metric\": \"25 - 41\"\n    },\n    \"height\": {\n      \"imperial\": \"23 - 27\",\n      \"metric\": \"58 - 69\"\n    },\n    \"id\": 163,\n    \"name\": \"Weimaraner\",\n    \"bred_for\": \"Large game trailing and versatile gundog\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Steady, Aloof, Stubborn, Energetic, Alert, Intelligent, Powerful, Fast\",\n    \"reference_image_id\": \"SyU12l9V7\",\n    \"image\": {\n      \"id\": \"SyU12l9V7\",\n      \"width\": 901,\n      \"height\": 954,\n      \"url\": \"https://cdn2.thedogapi.com/images/SyU12l9V7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"35 - 55\",\n      \"metric\": \"16 - 25\"\n    },\n    \"height\": {\n      \"imperial\": \"17 - 19\",\n      \"metric\": \"43 - 48\"\n    },\n    \"id\": 164,\n    \"name\": \"Welsh Springer Spaniel\",\n    \"bred_for\": \"Flushing and retrieving birds\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Stubborn, Friendly, Affectionate, Loyal, Playful, Active\",\n    \"reference_image_id\": \"BJ1gnx5Vm\",\n    \"image\": {\n      \"id\": \"BJ1gnx5Vm\",\n      \"width\": 1331,\n      \"height\": 944,\n      \"url\": \"https://cdn2.thedogapi.com/images/BJ1gnx5Vm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"15 - 22\",\n      \"metric\": \"7 - 10\"\n    },\n    \"height\": {\n      \"imperial\": \"10 - 11\",\n      \"metric\": \"25 - 28\"\n    },\n    \"id\": 165,\n    \"name\": \"West Highland White Terrier\",\n    \"bred_for\": \"Fox, badger, vermin hunting\",\n    \"breed_group\": \"Terrier\",\n    \"life_span\": \"15 - 20 years\",\n    \"temperament\": \"Hardy, Friendly, Alert, Independent, Gay, Active, Courageous\",\n    \"reference_image_id\": \"Bkdx2g5Em\",\n    \"image\": {\n      \"id\": \"Bkdx2g5Em\",\n      \"width\": 1065,\n      \"height\": 1032,\n      \"url\": \"https://cdn2.thedogapi.com/images/Bkdx2g5Em.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"25 - 35\",\n      \"metric\": \"11 - 16\"\n    },\n    \"height\": {\n      \"imperial\": \"18 - 22\",\n      \"metric\": \"46 - 56\"\n    },\n    \"id\": 166,\n    \"name\": \"Whippet\",\n    \"bred_for\": \"Coursing, racing\",\n    \"breed_group\": \"Hound\",\n    \"life_span\": \"12 - 15 years\",\n    \"temperament\": \"Friendly, Affectionate, Lively, Gentle, Intelligent, Quiet\",\n    \"reference_image_id\": \"Hyv-ne94m\",\n    \"image\": {\n      \"id\": \"Hyv-ne94m\",\n      \"width\": 1600,\n      \"height\": 1071,\n      \"url\": \"https://cdn2.thedogapi.com/images/Hyv-ne94m.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"60 - 85\",\n      \"metric\": \"27 - 39\"\n    },\n    \"height\": {\n      \"imperial\": \"22 - 25\",\n      \"metric\": \"56 - 64\"\n    },\n    \"id\": 167,\n    \"name\": \"White Shepherd\",\n    \"life_span\": \"12 – 14 years\",\n    \"temperament\": \"Self-confidence, Aloof, Fearless, Alert, Companionable, Eager\",\n    \"reference_image_id\": \"r14M3e9E7\",\n    \"image\": {\n      \"id\": \"r14M3e9E7\",\n      \"width\": 1200,\n      \"height\": 800,\n      \"url\": \"https://cdn2.thedogapi.com/images/r14M3e9E7.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"15 - 19\",\n      \"metric\": \"7 - 9\"\n    },\n    \"height\": {\n      \"imperial\": \"13 - 16\",\n      \"metric\": \"33 - 41\"\n    },\n    \"id\": 168,\n    \"name\": \"Wire Fox Terrier\",\n    \"bred_for\": \"Vermin hunting, fox bolting\",\n    \"life_span\": \"13 – 14 years\",\n    \"history\": \" England\",\n    \"temperament\": \"Fearless, Friendly, Bold, Keen, Alert, Quick\",\n    \"reference_image_id\": \"SJ6f2g9EQ\",\n    \"image\": {\n      \"id\": \"SJ6f2g9EQ\",\n      \"width\": 1000,\n      \"height\": 795,\n      \"url\": \"https://cdn2.thedogapi.com/images/SJ6f2g9EQ.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"45 - 70\",\n      \"metric\": \"20 - 32\"\n    },\n    \"height\": {\n      \"imperial\": \"20 - 24\",\n      \"metric\": \"51 - 61\"\n    },\n    \"id\": 169,\n    \"name\": \"Wirehaired Pointing Griffon\",\n    \"bred_for\": \"Gundog, \\\"swamp-tromping\\\", Flushing, pointing, and retrieving water fowl & game birds\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Loyal, Gentle, Vigilant, Trainable, Proud\",\n    \"reference_image_id\": \"Bkam2l9Vm\",\n    \"image\": {\n      \"id\": \"Bkam2l9Vm\",\n      \"width\": 2328,\n      \"height\": 1604,\n      \"url\": \"https://cdn2.thedogapi.com/images/Bkam2l9Vm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"45 - 65\",\n      \"metric\": \"20 - 29\"\n    },\n    \"height\": {\n      \"imperial\": \"21.5 - 25\",\n      \"metric\": \"55 - 64\"\n    },\n    \"id\": 170,\n    \"name\": \"Wirehaired Vizsla\",\n    \"breed_group\": \"Sporting\",\n    \"life_span\": \"12 - 14 years\",\n    \"reference_image_id\": \"r1I4hl5Em\",\n    \"image\": {\n      \"id\": \"r1I4hl5Em\",\n      \"width\": 1024,\n      \"height\": 770,\n      \"url\": \"https://cdn2.thedogapi.com/images/r1I4hl5Em.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"9 - 31\",\n      \"metric\": \"4 - 14\"\n    },\n    \"height\": {\n      \"imperial\": \"10 - 23\",\n      \"metric\": \"25 - 58\"\n    },\n    \"id\": 171,\n    \"name\": \"Xoloitzcuintli\",\n    \"breed_group\": \"Non-Sporting\",\n    \"life_span\": \"12 - 14 years\",\n    \"temperament\": \"Cheerful, Alert, Companionable, Intelligent, Protective, Calm\",\n    \"reference_image_id\": \"HkNS3gqEm\",\n    \"image\": {\n      \"id\": \"HkNS3gqEm\",\n      \"width\": 1500,\n      \"height\": 1350,\n      \"url\": \"https://cdn2.thedogapi.com/images/HkNS3gqEm.jpg\"\n    }\n  },\n  {\n    \"weight\": {\n      \"imperial\": \"4 - 7\",\n      \"metric\": \"2 - 3\"\n    },\n    \"height\": {\n      \"imperial\": \"8 - 9\",\n      \"metric\": \"20 - 23\"\n    },\n    \"id\": 172,\n    \"name\": \"Yorkshire Terrier\",\n    \"bred_for\": \"Small vermin hunting\",\n    \"breed_group\": \"Toy\",\n    \"life_span\": \"12 - 16 years\",\n    \"temperament\": \"Bold, Independent, Confident, Intelligent, Courageous\",\n    \"reference_image_id\": \"B12BnxcVQ\",\n    \"image\": {\n      \"id\": \"B12BnxcVQ\",\n      \"width\": 1024,\n      \"height\": 683,\n      \"url\": \"https://cdn2.thedogapi.com/images/B12BnxcVQ.jpg\"\n    }\n  }\n]\n"
  },
  {
    "path": "src/json/meals.json",
    "content": "[\n  {\n    \"idMeal\": \"52785\",\n    \"strMeal\": \"Dal fry\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Indian\",\n    \"strInstructions\": \"Wash and soak toor dal in approx. 3 cups of water, for at least one hours. Dal will be double in volume after soaking. Drain the water.\\r\\nCook dal with 2-1/2 cups water and add salt, turmeric, on medium high heat, until soft in texture (approximately 30 mins) it should be like thick soup.\\r\\nIn a frying pan, heat the ghee. Add cumin seeds, and mustard seeds. After the seeds crack, add bay leaves, green chili, ginger and chili powder. Stir for a few seconds.\\r\\nAdd tomatoes, salt and sugar stir and cook until tomatoes are tender and mushy.\\r\\nAdd cilantro and garam masala cook for about one minute.\\r\\nPour the seasoning over dal mix it well and cook for another minute.\\r\\nServe with Naan.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wuxrtu1483564410.jpg\",\n    \"strTags\": \"Curry,Vegetarian,Cake\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=J4D855Q9-jg\",\n    \"strIngredient1\": \"Toor dal\",\n    \"strIngredient2\": \"Water\",\n    \"strIngredient3\": \"Salt\",\n    \"strIngredient4\": \"Turmeric\",\n    \"strIngredient5\": \"Ghee\",\n    \"strIngredient6\": \"Chopped tomatoes\",\n    \"strIngredient7\": \"Cumin seeds\",\n    \"strIngredient8\": \"Mustard Seeds\",\n    \"strIngredient9\": \"Bay Leaf\",\n    \"strIngredient10\": \"Green Chili\",\n    \"strIngredient11\": \"Ginger\",\n    \"strIngredient12\": \"Cilantro\",\n    \"strIngredient13\": \"Red Pepper\",\n    \"strIngredient14\": \"Salt\",\n    \"strIngredient15\": \"Sugar\",\n    \"strIngredient16\": \"Garam Masala\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 cup\",\n    \"strMeasure2\": \"2-1/2 cups\",\n    \"strMeasure3\": \"1 tsp\",\n    \"strMeasure4\": \"1/4 tsp\",\n    \"strMeasure5\": \"3 tbs\",\n    \"strMeasure6\": \"1 cup\",\n    \"strMeasure7\": \"1/2 tsp\",\n    \"strMeasure8\": \"1/2 tsp\",\n    \"strMeasure9\": \"2\",\n    \"strMeasure10\": \"1 tbs chopped\",\n    \"strMeasure11\": \"2 tsp shredded\",\n    \"strMeasure12\": \"2 tbs \",\n    \"strMeasure13\": \"1/2 tsp\",\n    \"strMeasure14\": \"1/2 tsp\",\n    \"strMeasure15\": \"1 tsp\",\n    \"strMeasure16\": \"1/4 tsp\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.instagram.com/p/BO21bpYD3Fu\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 1\n  },\n  {\n    \"idMeal\": \"52899\",\n    \"strMeal\": \"Dundee cake\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Put the almonds into a small bowl and pour over boiling water to just cover. Leave for 5 mins then drain in a sieve and leave to dry.\\r\\nPreheat the oven to 180C/160 C fan/Gas Mark 4. Line a deep loose-based 20cm cake tin with baking parchment.\\r\\nPut the butter in a large bowl and beat well until soft. Add the sugar and beat until light and fluffy. Stir in the orange zest and apricot jam.\\r\\nSieve together the flour and baking powder. Add the eggs to the creamed butter and sugar, a little at a time, beating well between each addition. If the mixture starts to curdle, stir in a little flour.\\r\\nAdd the remaining flour and ground almonds and mix well. Mix in the milk and then add the dried fruit and cherries and mix gently together.\\r\\nSpoon the mixture into the prepared tin and spread level using the back of a spoon. Arrange the whole almonds close together in neat circles on the top of the cake. Bake in the oven for 45 mins.\\r\\nLower the oven temperature to 160C/140 C fan/Gas Mark 3 and cook for a further 60–80 minutes. Check the cake after 50 minutes by inserting a wooden or metal skewer into the cake. When it’s done it should have just a few crumbs attached. Check every 10 minutes - it’s important not to overcook this cake so the centre will be a little soft.\\r\\nWhen cooked, remove the cake briefly from the oven, put the milk and sugar into a small pan and heat gently until the sugar has dissolved. Brush over the top of the cake and return the cake to the oven for 2-3 mins. Remove and allow the cake to cool in the tin. When quite cold remove from the tin and wrap in foil and keep for at least 2 days before cutting.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wxyvqq1511723401.jpg\",\n    \"strTags\": \"heavy,Nutty,Fruity\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=4hEXsfpeMQE\",\n    \"strIngredient1\": \"Almonds\",\n    \"strIngredient2\": \"Butter\",\n    \"strIngredient3\": \"Muscovado Sugar\",\n    \"strIngredient4\": \"Orange\",\n    \"strIngredient5\": \"Apricot Jam\",\n    \"strIngredient6\": \"Plain Flour\",\n    \"strIngredient7\": \"Baking Powder\",\n    \"strIngredient8\": \"Eggs\",\n    \"strIngredient9\": \"Ground Almonds\",\n    \"strIngredient10\": \"Milk\",\n    \"strIngredient11\": \"Dried Fruit\",\n    \"strIngredient12\": \"Glace Cherry\",\n    \"strIngredient13\": \"Milk\",\n    \"strIngredient14\": \"Caster Sugar\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"100g \",\n    \"strMeasure2\": \"180g\",\n    \"strMeasure3\": \"180g\",\n    \"strMeasure4\": \"Zest of 1\",\n    \"strMeasure5\": \"3 tbs\",\n    \"strMeasure6\": \"225g\",\n    \"strMeasure7\": \"1 tsp \",\n    \"strMeasure8\": \"3 Large\",\n    \"strMeasure9\": \"100g \",\n    \"strMeasure10\": \"2 tbs\",\n    \"strMeasure11\": \"500g\",\n    \"strMeasure12\": \"100g \",\n    \"strMeasure13\": \"1 tbs\",\n    \"strMeasure14\": \"2 tsp\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/2155640/dundee-cake\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 2\n  },\n  {\n    \"idMeal\": \"52907\",\n    \"strMeal\": \"Duck Confit\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Miscellaneous\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"The day before you want to make the dish, scatter half the salt, half the garlic and half of the herbs over the base of a small shallow dish. Lay the duck legs, skin-side up, on top, then scatter over the remaining salt, garlic and herbs. Cover the duck and refrigerate overnight. This can be done up to 2 days ahead.\\r\\nPour the wine into a saucepan that will snugly fit the duck legs in a single layer. Brush the salt off the duck legs and place them, skin-side down, in the wine. Cover the pan with a lid and place over a medium heat. As soon as the wine starts to bubble, turn the heat down to the lowest setting and cook for 2 hours, checking occasionally that the liquid is just barely simmering. (If you own a heat diffuser, it would be good to use it here.) After 2 hours, the duck legs should be submerged in their own fat and the meat should feel incredibly tender when prodded. Leave to cool.\\r\\nThe duck legs are now cooked and can be eaten immediately – or you can follow the next step if you like them crisp. If you are preparing ahead, pack the duck legs tightly into a plastic container or jar and pour over the fat, but not the liquid at the bottom of the pan. Cover and leave in the fridge for up to a month, or freeze for up to 3 months. The liquid you are left with makes a tasty gravy, which can be chilled or frozen until needed.\\r\\nTo reheat and crisp up the duck legs, heat oven to 220C/fan 200C/gas 7. Remove the legs from the fat and place them, skin-side down, in an ovenproof frying pan. Roast for 30-40 mins, turning halfway through, until brown and crisp. Serve with the reheated gravy, a crisp salad and some crisp golden ptoatoes.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wvpvsu1511786158.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=MHhLJqghY-o\",\n    \"strIngredient1\": \"Sea Salt\",\n    \"strIngredient2\": \"Bay Leaf\",\n    \"strIngredient3\": \"Garlic\",\n    \"strIngredient4\": \"Thyme\",\n    \"strIngredient5\": \"Duck Legs\",\n    \"strIngredient6\": \"White Wine\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"Handful\",\n    \"strMeasure2\": \"4\",\n    \"strMeasure3\": \"4 cloves\",\n    \"strMeasure4\": \"Handful\",\n    \"strMeasure5\": \"4\",\n    \"strMeasure6\": \"100ml\",\n    \"strMeasure7\": \"\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/2085/barneys-confit-of-duck\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 3\n  },\n  {\n    \"idMeal\": \"52851\",\n    \"strMeal\": \"Nutty Chicken Curry\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Indian\",\n    \"strInstructions\": \"Finely slice a quarter of the chilli, then put the rest in a food processor with the ginger, garlic, coriander stalks and one-third of the leaves. Whizz to a rough paste with a splash of water if needed.\\r\\nHeat the oil in a frying pan, then quickly brown the chicken chunks for 1 min. Stir in the paste for another min, then add the peanut butter, stock and yogurt. When the sauce is gently bubbling, cook for 10 mins until the chicken is just cooked through and sauce thickened. Stir in most of the remaining coriander, then scatter the rest on top with the chilli, if using. Eat with rice or mashed sweet potato.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/yxsurp1511304301.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=nSQNfZxOdeU\",\n    \"strIngredient1\": \"Red Chilli\",\n    \"strIngredient2\": \"Ginger\",\n    \"strIngredient3\": \"Garlic\",\n    \"strIngredient4\": \"Coriander\",\n    \"strIngredient5\": \"Sunflower Oil\",\n    \"strIngredient6\": \"Chicken Breasts\",\n    \"strIngredient7\": \"Peanut Butter\",\n    \"strIngredient8\": \"Chicken Stock\",\n    \"strIngredient9\": \"Greek Yogurt\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 large\",\n    \"strMeasure2\": \"0.5\",\n    \"strMeasure3\": \"1 large\",\n    \"strMeasure4\": \"Bunch\",\n    \"strMeasure5\": \"1 tbsp\",\n    \"strMeasure6\": \"4\",\n    \"strMeasure7\": \"5 tblsp \",\n    \"strMeasure8\": \"150ml\",\n    \"strMeasure9\": \"200g\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/11753/nutty-chicken-curry\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 4\n  },\n  {\n    \"idMeal\": \"52858\",\n    \"strMeal\": \"New York cheesecake\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"Position an oven shelf in the middle of the oven. Preheat the oven to fan 160C/conventional 180C/gas 4. Line the base of a 23cm springform cake tin with parchment paper. For the crust, melt the butter in a medium pan. Stir in the biscuit crumbs and sugar so the mixture is evenly moistened. Press the mixture into the bottom of the pan and bake for 10 minutes. Cool on a wire rack while preparing the filling.\\r\\nFor the filling, increase the oven temperature to fan 200C/conventional 240C/gas 9. In a table top mixer fitted with the paddle attachment, beat the soft cheese at medium-low speed until creamy, about 2 minutes. With the mixer on low, gradually add the sugar, then the flour and a pinch of salt, scraping down the sides of the bowl and the paddle twice.\\r\\nSwap the paddle attachment for the whisk. Continue by adding the vanilla, lemon zest and juice. Whisk in the eggs and yolk, one at a time, scraping the bowl and whisk at least twice. Stir the 284ml carton of soured cream until smooth, then measure 200ml/7fl oz (just over 3⁄4 of the carton). Continue on low speed as you add the measured soured cream (reserve the rest). Whisk to blend, but don't over-beat. The batter should be smooth, light and somewhat airy.\\r\\nBrush the sides of the springform tin with melted butter and put on a baking sheet. Pour in the filling - if there are any lumps, sink them using a knife - the top should be as smooth as possible. Bake for 10 minutes. Reduce oven temperature to fan 90C/conventional 110C/gas 1⁄4 and bake for 25 minutes more. If you gently shake the tin, the filling should have a slight wobble. Turn off the oven and open the oven door for a cheesecake that's creamy in the centre, or leave it closed if you prefer a drier texture. Let cool in the oven for 2 hours. The cheesecake may get a slight crack on top as it cools.\\r\\nCombine the reserved soured cream with the 142ml carton, the sugar and lemon juice for the topping. Spread over the cheesecake right to the edges. Cover loosely with foil and refrigerate for at least 8 hours or overnight.\\r\\nRun a round-bladed knife around the sides of the tin to loosen any stuck edges. Unlock the side, slide the cheesecake off the bottom of the tin onto a plate, then slide the parchment paper out from underneath.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/swttys1511385853.jpg\",\n    \"strTags\": \"Desert,Dairy,Pudding,Cake,Breakfast\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=tspdJ6hxqnc\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Sour Cream\",\n    \"strIngredient3\": \"Sugar\",\n    \"strIngredient4\": \"Cream Cheese\",\n    \"strIngredient5\": \"Caster Sugar\",\n    \"strIngredient6\": \"Plain Flour\",\n    \"strIngredient7\": \"Lemon Juice\",\n    \"strIngredient8\": \"Eggs\",\n    \"strIngredient9\": \"Sour Cream\",\n    \"strIngredient10\": \"Sour Cream\",\n    \"strIngredient11\": \"Caster Sugar\",\n    \"strIngredient12\": \"Lemon Juice\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"85g\",\n    \"strMeasure2\": \"140g\",\n    \"strMeasure3\": \"1tbsp\",\n    \"strMeasure4\": \"900g\",\n    \"strMeasure5\": \"250g\",\n    \"strMeasure6\": \"3 tbs\",\n    \"strMeasure7\": \"1 ½ teaspoons\",\n    \"strMeasure8\": \"3 Large\",\n    \"strMeasure9\": \"250ml\",\n    \"strMeasure10\": \"150ml\",\n    \"strMeasure11\": \"1 tbsp\",\n    \"strMeasure12\": \"2 tsp\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/2869/new-york-cheesecake\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 5\n  },\n  {\n    \"idMeal\": \"52924\",\n    \"strMeal\": \"Nanaimo Bars\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"Canadian\",\n    \"strInstructions\": \"Start by making the biscuit base. In a bowl, over a pan of simmering water, melt the butter with the sugar and cocoa powder, stirring occasionally until smooth. Whisk in the egg for 2 to 3 mins until the mixture has thickened. Remove from heat and mix in the biscuit crumbs, coconut and almonds if using, then press into the base of a lined 20cm square tin. Chill for 10 mins.\\r\\nFor the middle layer, make the custard icing; whisk together the butter, cream and custard powder until light and fluffy, then gradually add the icing sugar until fully incorporated. Spread over the bottom layer and chill in the fridge for at least 10 mins until the custard is no longer soft.\\r\\nMelt the chocolate and butter together in the microwave, then spread over the chilled bars and put back in the fridge. Leave until the chocolate has fully set (about 2 hrs). Take the mixture out of the tin and slice into squares to serve.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/vwuprt1511813703.jpg\",\n    \"strTags\": \"Treat,Snack,Dairy\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=MMrE4I1ZtWo\",\n    \"strIngredient1\": \"Custard\",\n    \"strIngredient2\": \"Caster Sugar\",\n    \"strIngredient3\": \"Cocoa\",\n    \"strIngredient4\": \"Egg\",\n    \"strIngredient5\": \"Digestive Biscuits\",\n    \"strIngredient6\": \"Desiccated Coconut\",\n    \"strIngredient7\": \"Almonds\",\n    \"strIngredient8\": \"Butter\",\n    \"strIngredient9\": \"Double Cream\",\n    \"strIngredient10\": \"Custard Powder\",\n    \"strIngredient11\": \"Icing Sugar\",\n    \"strIngredient12\": \"Dark Chocolate\",\n    \"strIngredient13\": \"Butter\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"125g\",\n    \"strMeasure2\": \"50g\",\n    \"strMeasure3\": \"5 tbs\",\n    \"strMeasure4\": \"1 beaten\",\n    \"strMeasure5\": \"200g shredded\",\n    \"strMeasure6\": \"100g \",\n    \"strMeasure7\": \"50g\",\n    \"strMeasure8\": \"100g \",\n    \"strMeasure9\": \"4 tbs\",\n    \"strMeasure10\": \"3 tbs\",\n    \"strMeasure11\": \"250g\",\n    \"strMeasure12\": \"150g\",\n    \"strMeasure13\": \"50g\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/nanaimo-bars\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 6\n  },\n  {\n    \"idMeal\": \"53051\",\n    \"strMeal\": \"Nasi lemak\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"Malaysian\",\n    \"strInstructions\": \"In a medium saucepan over medium heat, stir together coconut milk, water, ground ginger, ginger root, salt, bay leaf, and rice. Cover, and bring to a boil. Reduce heat, and simmer for 20 to 30 minutes, or until done.\\r\\n\\r\\n Step 2\\r\\nPlace eggs in a saucepan, and cover with cold water. Bring water to a boil, and immediately remove from heat. Cover, and let eggs stand in hot water for 10 to 12 minutes. Remove eggs from hot water, cool, peel and slice in half. Slice cucumber.\\r\\n\\r\\n Step 3\\r\\nMeanwhile, in a large skillet or wok, heat 1 cup vegetable oil over medium-high heat. Stir in peanuts and cook briefly, until lightly browned. Remove peanuts with a slotted spoon and place on paper towels to soak up excess grease. Return skillet to stove. Stir in the contents of one package anchovies; cook briefly, turning, until crisp. Remove with a slotted spoon and place on paper towels. Discard oil. Wipe out skillet.\\r\\n\\r\\n Step 4\\r\\nHeat 2 tablespoons oil in the skillet. Stir in the onion, garlic, and shallots; cook until fragrant, about 1 or 2 minutes. Mix in the chile paste, and cook for 10 minutes, stirring occasionally. If the chile paste is too dry, add a small amount of water. Stir in remaining anchovies; cook for 5 minutes. Stir in salt, sugar, and tamarind juice; simmer until sauce is thick, about 5 minutes.\\r\\n\\r\\n Step 5\\r\\nServe the onion and garlic sauce over the warm rice, and top with peanuts, fried anchovies, cucumbers, and eggs.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wai9bw1619788844.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=IUIs4C86Ilo\",\n    \"strIngredient1\": \"Coconut Milk\",\n    \"strIngredient2\": \"Water\",\n    \"strIngredient3\": \"Ginger Paste\",\n    \"strIngredient4\": \"Ginger\",\n    \"strIngredient5\": \"Bay Leaf\",\n    \"strIngredient6\": \"Rice\",\n    \"strIngredient7\": \"Eggs\",\n    \"strIngredient8\": \"Cucumber\",\n    \"strIngredient9\": \"Peanuts\",\n    \"strIngredient10\": \"Anchovy Fillet\",\n    \"strIngredient11\": \"Vegetable Oil\",\n    \"strIngredient12\": \"Onion\",\n    \"strIngredient13\": \"Garlic\",\n    \"strIngredient14\": \"Shallots\",\n    \"strIngredient15\": \"Chilli Powder\",\n    \"strIngredient16\": \"Anchovy Fillet\",\n    \"strIngredient17\": \"Sugar\",\n    \"strIngredient18\": \"Tamarind Paste\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 cups \",\n    \"strMeasure2\": \"2 cups \",\n    \"strMeasure3\": \"1/4 tsp\",\n    \"strMeasure4\": \"1\",\n    \"strMeasure5\": \"1\",\n    \"strMeasure6\": \"2 cups \",\n    \"strMeasure7\": \"4\",\n    \"strMeasure8\": \"1\",\n    \"strMeasure9\": \"1 cup \",\n    \"strMeasure10\": \"4 oz \",\n    \"strMeasure11\": \"2 tbs\",\n    \"strMeasure12\": \"1\",\n    \"strMeasure13\": \"3 cloves\",\n    \"strMeasure14\": \"3\",\n    \"strMeasure15\": \"2 tsp\",\n    \"strMeasure16\": \"4 oz \",\n    \"strMeasure17\": \"3 tbs\",\n    \"strMeasure18\": \"1/3 cup\",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.allrecipes.com/recipe/78938/malaysian-nasi-lemak/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 7\n  },\n  {\n    \"idMeal\": \"52773\",\n    \"strMeal\": \"Honey Teriyaki Salmon\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"Japanese\",\n    \"strInstructions\": \"Mix all the ingredients in the Honey Teriyaki Glaze together. Whisk to blend well. Combine the salmon and the Glaze together.\\r\\n\\r\\nHeat up a skillet on medium-low heat. Add the oil, Pan-fry the salmon on both sides until it’s completely cooked inside and the glaze thickens.\\r\\n\\r\\nGarnish with sesame and serve immediately.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/xxyupu1468262513.jpg\",\n    \"strTags\": \"Fish,Breakfast,DateNight\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=4MpYuaJsvRw\",\n    \"strIngredient1\": \"Salmon\",\n    \"strIngredient2\": \"Olive oil\",\n    \"strIngredient3\": \"Soy Sauce\",\n    \"strIngredient4\": \"Sake\",\n    \"strIngredient5\": \"Sesame Seed\",\n    \"strIngredient6\": \"\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": null,\n    \"strIngredient17\": null,\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"1 lb\",\n    \"strMeasure2\": \"1 tablespoon\",\n    \"strMeasure3\": \"2 tablespoons\",\n    \"strMeasure4\": \"2 tablespoons\",\n    \"strMeasure5\": \"4 tablespoons\",\n    \"strMeasure6\": \"\",\n    \"strMeasure7\": \"\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": null,\n    \"strMeasure17\": null,\n    \"strMeasure18\": null,\n    \"strMeasure19\": null,\n    \"strMeasure20\": null,\n    \"strSource\": null,\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 8\n  },\n  {\n    \"idMeal\": \"52787\",\n    \"strMeal\": \"Hot Chocolate Fudge\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"Line an 8-inch-square baking pan with wax paper or foil, and coat with non-stick spray.\\r\\nIn a microwave-safe bowl, combine the dark chocolate chips, heavy cream and half of the sweetened condensed milk. Microwave the dark chocolate mixture in 20-second intervals, stirring in between each interval, until the chocolate is melted.\\r\\nAdd the vanilla extract to the dark chocolate mixture and stir well until smooth.\\r\\nTransfer the dark chocolate mixture into the prepared pan and spread into an even layer.\\r\\nIn a separate bowl, combine the white chocolate chips with the remaining half of the sweetened condensed milk. Microwave the white chocolate mixture in 20-second intervals, stirring in between each interval, until the chocolate is melted.\\r\\nEvenly spread the white chocolate mixture on top of dark chocolate layer.\\r\\nTop the chocolate layers with the Mallow Bits or miniature marshmallows, and gently press them down.\\r\\nRefrigerate for 4 hours, or until set.\\r\\nRemove the fudge and wax paper from the pan. Carefully peel all of the wax paper from the fudge.\\r\\nCut the fudge into bite-sized pieces and serve.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/xrysxr1483568462.jpg\",\n    \"strTags\": \"Snack,Chocolate\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=oJvbsVSblfk\",\n    \"strIngredient1\": \"Chocolate Chips\",\n    \"strIngredient2\": \"Heavy Cream\",\n    \"strIngredient3\": \"Condensed Milk\",\n    \"strIngredient4\": \"Vanilla Extract\",\n    \"strIngredient5\": \"White Chocolate Chips\",\n    \"strIngredient6\": \"Miniature Marshmallows\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 cups\",\n    \"strMeasure2\": \"2 tbs\",\n    \"strMeasure3\": \"1 – 14-ounce can\",\n    \"strMeasure4\": \"1 tsp\",\n    \"strMeasure5\": \"1-⅓ cups\",\n    \"strMeasure6\": \"1-½ cups\",\n    \"strMeasure7\": \"\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 9\n  },\n  {\n    \"idMeal\": \"52954\",\n    \"strMeal\": \"Hot and Sour Soup\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pork\",\n    \"strArea\": \"Chinese\",\n    \"strInstructions\": \"STEP 1 - MAKING THE SOUP\\r\\nIn a wok add chicken broth and wait for it to boil.\\r\\nNext add salt, sugar, sesame seed oil, white pepper, hot pepper sauce, vinegar and soy sauce and stir for few seconds.\\r\\nAdd Tofu, mushrooms, black wood ear mushrooms to the wok.\\r\\nTo thicken the sauce, whisk together 1 Tablespoon of cornstarch and 2 Tablespoon of water in a bowl and slowly add to your soup until it's the right thickness.\\r\\nNext add 1 egg slightly beaten with a knife or fork and add it to the soup and stir for 8 seconds\\r\\nServe the soup in a bowl and add the bbq pork and sliced green onions on top.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1529445893.jpg\",\n    \"strTags\": \"Soup\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=KgV9Zq3aSTo\",\n    \"strIngredient1\": \"Mushrooms\",\n    \"strIngredient2\": \"Wood Ear Mushrooms\",\n    \"strIngredient3\": \"Tofu\",\n    \"strIngredient4\": \"Pork\",\n    \"strIngredient5\": \"Chicken Stock\",\n    \"strIngredient6\": \"Salt\",\n    \"strIngredient7\": \"Sugar\",\n    \"strIngredient8\": \"Sesame Seed Oil\",\n    \"strIngredient9\": \"Pepper\",\n    \"strIngredient10\": \"Hotsauce\",\n    \"strIngredient11\": \"Vinegar\",\n    \"strIngredient12\": \"Soy Sauce\",\n    \"strIngredient13\": \"Cornstarch\",\n    \"strIngredient14\": \"Water\",\n    \"strIngredient15\": \"Spring Onions\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1/3 cup\",\n    \"strMeasure2\": \"1/3 cup\",\n    \"strMeasure3\": \"2/3 Cup\",\n    \"strMeasure4\": \"1/2 cup \",\n    \"strMeasure5\": \"2-1/2 cups\",\n    \"strMeasure6\": \"1/2 tsp\",\n    \"strMeasure7\": \"1/4 tsp\",\n    \"strMeasure8\": \"1 tsp \",\n    \"strMeasure9\": \"1/4 tsp\",\n    \"strMeasure10\": \"1/2 tsp\",\n    \"strMeasure11\": \"1-½ cups\",\n    \"strMeasure12\": \"1 tsp \",\n    \"strMeasure13\": \"1 tbs\",\n    \"strMeasure14\": \"2 tbs\",\n    \"strMeasure15\": \"1/4 cup\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://sueandgambo.com/pages/chinese-hot-and-sour-soup\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 10\n  },\n  {\n    \"idMeal\": \"52967\",\n    \"strMeal\": \"Home-made Mandazi\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Breakfast\",\n    \"strArea\": \"Kenyan\",\n    \"strInstructions\": \"This is one recipe a lot of people have requested and I have tried to make it as simple as possible and I hope it will work for you. Make sure you use the right flour which is basically one with raising agents. Adjust the amount of sugar to your taste and try using different flavours to have variety whenever you have them.\\r\\nYou can use Coconut milk instead of regular milk, you can also add desiccated coconut to the dry flour or other spices like powdered cloves or cinnamon.\\r\\nFor “healthy looking” mandazis do not roll the dough too thin before frying and use the procedure I have indicated above.\\r\\n\\r\\n1. Mix the flour,cinnamon and sugar in a suitable bowl.\\r\\n2. In a separate bowl whisk the egg into the milk\\r\\n3. Make a well at the centre of the flour and add the milk and egg mixture and slowly mix to form a dough.\\r\\n4. Knead the dough for 3-4 minutes or until it stops sticking to the sides of the bowl and you have a smooth surface.\\r\\n5. Cover the dough with a damp cloth  and allow to rest for 15 minutes.\\r\\n6. Roll the dough on a lightly floured surface into a 1cm thick piece.\\r\\n7. Using a sharp small knife, cut the dough into the desired size setting aside ready for deep frying.\\r\\n8. Heat your oil in a suitable pot and gently dip the mandazi pieces to cook until light brown on the first side then turn to cook on the second side.\\r\\n9. Serve them warm or cold\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/thazgm1555350962.jpg\",\n    \"strTags\": \"Baking,Breakfast,Egg,Warm,Snack\",\n    \"strYoutube\": \"\",\n    \"strIngredient1\": \"Self-raising Flour\",\n    \"strIngredient2\": \"Sugar\",\n    \"strIngredient3\": \"Eggs\",\n    \"strIngredient4\": \"Milk\",\n    \"strIngredient5\": \"\",\n    \"strIngredient6\": \"\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"750g\",\n    \"strMeasure2\": \"6 tablespoons\",\n    \"strMeasure3\": \"2\",\n    \"strMeasure4\": \"1 cup \",\n    \"strMeasure5\": \" \",\n    \"strMeasure6\": \" \",\n    \"strMeasure7\": \" \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"http://chef-raphael.com/home-made-mandazi-recipe/#more-106\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 11\n  },\n  {\n    \"idMeal\": \"52993\",\n    \"strMeal\": \"Honey Balsamic Chicken with Crispy Broccoli & Potatoes\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"2 Servings\\r\\n\\r\\n1. Preheat oven to 425 degrees. Wash and dry all produce. Cut potatoes into 1/2-inch-thick wedges. Toss on one side of a baking sheet with a drizzle of oil, salt, and pepper. (For 4 servings, spread potatoes out across entire sheet.) Roast on top rack for 5 minutes (we'll add the broccoli then). \\r\\n\\r\\n2. Meanwhile, cut broccoli florets into bite-size pieces, if necessary. Peel and finely chop garlic. In a small microwave-safe bowl, combine 1 TBSP olive oil (2 TBSP for 4 servings) and half the garlic. Microwave until garlic sizzles, 30 seconds. \\r\\n\\r\\n3. Once potatoes have roasted 5 minutes, remove sheet from oven and add broccoli to empty side; carefully toss with garlic oil, salt, and pepper. (For 4 servings, add broccoli to a second sheet.) Continue roasting until potatoes and broccoli are browned and crispy, 15-20 minutes more. \\r\\n\\r\\n4. While veggies roast, pat chicken dry with paper towels; season all over with salt and pepper. Heat a drizzle of oil in a large pan over medium-high heat. Add chicken and cook until browned and cooked through, 5-6 minutes per side. (If chicken browns too quickly, reduce heat to medium.) Turn off heat; set chicken aside to rest. Wash out pan. \\r\\n\\r\\n5. Heat pan used for chicken over medium-high heat. Add a drizzle of oil and remaining garlic; cook until fragrant, 30 seconds. Stir in vinegar, honey, stock concentrate, and 1/4 cup water (1/3 cup for 4 servings). Simmer until thick and glossy, 2-3 minutes. Remove from heat and stir in 1 TBSP butter (2 TBSP for 4). Season with salt and pepper. \\r\\n\\r\\n6. Return chicken to pan and turn to coat in glaze. Divide chicken, broccoli, and potatoes between plates. Spoon any remaining glaze over chicken and serve. \",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/kvbotn1581012881.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"\",\n    \"strIngredient1\": \"Potatoes\",\n    \"strIngredient2\": \"Broccoli\",\n    \"strIngredient3\": \"Garlic\",\n    \"strIngredient4\": \"Chicken Breast\",\n    \"strIngredient5\": \"Balsamic Vinegar\",\n    \"strIngredient6\": \"Honey\",\n    \"strIngredient7\": \"Chicken Stock\",\n    \"strIngredient8\": \"Butter\",\n    \"strIngredient9\": \"Vegetable Oil\",\n    \"strIngredient10\": \"Olive Oil\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"5\",\n    \"strMeasure2\": \"1\",\n    \"strMeasure3\": \"2 cloves\",\n    \"strMeasure4\": \"2\",\n    \"strMeasure5\": \" \",\n    \"strMeasure6\": \" \",\n    \"strMeasure7\": \" \",\n    \"strMeasure8\": \"1 tbsp\",\n    \"strMeasure9\": \"1 tbsp\",\n    \"strMeasure10\": \"1 tbsp\",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 12\n  },\n  {\n    \"idMeal\": \"53007\",\n    \"strMeal\": \"Honey Yogurt Cheesecake\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"Greek\",\n    \"strInstructions\": \"Heat oven to 160C/140C fan/gas 3. Crush the biscuits and most of the almonds inside a plastic food bag using a rolling pin. Mix with the butter, then press into the bottom of a deep, oval, 23cm dish (or something similar in size – a roasting tin, baking dish or cake tin will work). Bake for 10 mins until crisp.\\r\\n\\r\\nStir or mash together the yogurt and mascarpone, then whisk in the eggs, one at a time. Stir in the lemon and orange zests, then stir in most of the honey, reserving about 3 tbsp. Spread over the biscuit base, cover loosely with foil and cook for 1 hr. Remove the foil and cook for 15 mins more until lightly golden and the top is firm with just the slightest wobble in the middle. Leave to cool. Can be kept in the fridge for up to 2 days.\\r\\n\\r\\nTo serve, scatter with almonds, drizzle over the remaining honey, and hand around fresh fruit to go with it.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/y2irzl1585563479.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=JE8crtueXs8\",\n    \"strIngredient1\": \"Digestive Biscuits\",\n    \"strIngredient2\": \"Almonds\",\n    \"strIngredient3\": \"Butter\",\n    \"strIngredient4\": \"Greek Yogurt\",\n    \"strIngredient5\": \"Mascarpone\",\n    \"strIngredient6\": \"Eggs\",\n    \"strIngredient7\": \"Lemon\",\n    \"strIngredient8\": \"Orange\",\n    \"strIngredient9\": \"Honey\",\n    \"strIngredient10\": \"Fruit Mix\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"100g \",\n    \"strMeasure2\": \"85g\",\n    \"strMeasure3\": \"85g\",\n    \"strMeasure4\": \"250ml\",\n    \"strMeasure5\": \"750g\",\n    \"strMeasure6\": \"2\",\n    \"strMeasure7\": \"Zest of 1\",\n    \"strMeasure8\": \"Zest of 1\",\n    \"strMeasure9\": \"250ml\",\n    \"strMeasure10\": \"To serve\",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/honey-yogurt-cheesecake\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 13\n  },\n  {\n    \"idMeal\": \"53035\",\n    \"strMeal\": \"Ham hock colcannon\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pork\",\n    \"strArea\": \"Irish\",\n    \"strInstructions\": \"STEP 1\\r\\nPeel and cut the potatoes into even, medium-sized chunks. Put in a large pan filled with cold salted water, bring to the boil and cook for 10-15 mins until a knife can be inserted into the potatoes easily.\\r\\n\\r\\nSTEP 2\\r\\nMeanwhile, melt the butter in a large sauté pan over a medium heat. Add the garlic, cabbage, spring onions and some seasoning. Stir occasionally until the cabbage is wilted but still retains a little bite, then set aside.\\r\\n\\r\\nSTEP 3\\r\\nDrain the potatoes, leave to steam-dry for a couple of mins, then mash with the cream, mustard and seasoning in the same saucepan. Stir in the cabbage and ham hock. Keep warm over a low heat.\\r\\n\\r\\nSTEP 4\\r\\nReheat the pan you used to cook the cabbage (no need to wash first), add a splash of oil, crack in the eggs and fry to your liking. To serve, divide the colcannon between bowls and top each with a fried egg.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/n41ny81608588066.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=aQJAU2iJ730\",\n    \"strIngredient1\": \"Floury Potatoes\",\n    \"strIngredient2\": \"Butter\",\n    \"strIngredient3\": \"Garlic Clove\",\n    \"strIngredient4\": \"Cabbage\",\n    \"strIngredient5\": \"Spring Onions\",\n    \"strIngredient6\": \"Double Cream\",\n    \"strIngredient7\": \"Mustard\",\n    \"strIngredient8\": \"Ham\",\n    \"strIngredient9\": \"Eggs\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"800g\",\n    \"strMeasure2\": \"50g\",\n    \"strMeasure3\": \"3 chopped\",\n    \"strMeasure4\": \"1 chopped\",\n    \"strMeasure5\": \"8\",\n    \"strMeasure6\": \"100ml\",\n    \"strMeasure7\": \"2 tbs\",\n    \"strMeasure8\": \"180g\",\n    \"strMeasure9\": \"4\",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/ham-hock-colcannon\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 14\n  },\n  {\n    \"idMeal\": \"52810\",\n    \"strMeal\": \"Osso Buco alla Milanese\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Miscellaneous\",\n    \"strArea\": \"Italian\",\n    \"strInstructions\": \"Heat the oven to 300 degrees.\\r\\nDredging the shanks: pour the flour into a shallow dish (a pie plate works nicely). Season the veal shanks on all sides with salt and pepper. One at a time, roll the shanks around in the flour coat, and shake and pat the shank to remove any excuses flour. Discard the remaining flour.\\r\\nBrowning the shanks: put the oil and 1 tablespoon of the butter in a wide Dutch oven or heavy braising pot (6 to 7 quart) and heat over medium-high heat. When the butter has melted and the oil is shimmering, lower the shanks into the pot, flat side down; if the shanks won’t fit without touching one another, do this in batches. Brown the shanks, turning once with tongs, until both flat sides are well caramelized, about 5 minutes per side. If the butter-oil mixture starts to burn, lower the heat just a bit. Transfer the shanks to a large platter or tray and set aside.\\r\\nThe aromatics: pour off and discard the fat from the pot. Wipe out any burnt bits with a damp paper towel, being careful not to remove any delicious little caramelized bits. Ad the remaining 2 tablespoons butter to the pot and melt it over medium heat. When the butter has stopped foaming, add the onion, carrot, celery, and fennel. Season with salt and pepper, stir, and cook the vegetables until they begin to soften but do not brown, about 6 minutes. Stir in the garlic, orange zest, marjoram, and bay leaf, and stew for another minute or two.\\r\\nThe braising liquid: add the wine, increase the heat to high, and bring to a boil. Boil, stirring occasionally, to reduce the wine by about half, 5 minutes. Add the stock and tomatoes, with their juice, and boil again to reduce the liquid to about 1 cup total, about 10 minutes.\\r\\nThe braise: Place the shanks in the pot so that they are sitting with the exposed bone facing up, and pour over any juices that accumulated as they sat. Cover with parchment paper, pressing down so the parchment nearly touches the veal and the edges hang over the sides of the pot by about an inch. Cover tightly with the lid, and slide into the lower part of the oven to braise at a gentle simmer. Check the pot after the first 15 minutes, and if the liquid is simmering too aggressively, lower the oven heat by 10 or 15 degrees. Continue braising, turning the shanks and spooning some pan juices over the top after the first 40 minutes, until the meat is completely tender and pulling away from the bone, about 2 hours.\\r\\nThe gremolata: While the shanks are braising, stir together the garlic, parsley, and lemon zest in a small bowl. Cover with plastic wrap and set aside in a cool place (or the refrigerator, if your kitchen is very warm.)\\r\\nThe finish: When the veal is fork-tender and falling away from the bone, remove the lid and sprinkle over half of the gremolata. Return the veal to the oven, uncovered, for another 15 minutes to caramelize it some.\\r\\nUsing a slotted spatula or spoon, carefully lift the shanks from the braising liquid, doing your best to keep them intact. The shanks will be very tender and threatening to fall into pieces, and the marrow will be wobbly inside the bones, so this can be a bit tricky. But if they do break apart, don’t worry, the flavor won’t suffer at all. Arrange the shanks on a serving platter or other large plate, without stacking, and cover with foil to keep warm.\\r\\nFinishing the sauce: Set the braising pot on top of the stove and evaluate the sauce: if there is a visible layer of fat floating on the surface, use a large spoon to skim it off and discard it. Taste the sauce for concentration of flavor. If it tastes a bit weak or flat, bring it to a boil over high heat, and boil to reduce the volume and intensify the flavor for 5 to 10 minutes. Taste again for salt and pepper. If the sauce wants more zip, stir in a teaspoon or two of the remaining gremolata.\\r\\nPortioning the veal shanks: if the shanks are reasonably sized, serve one per person. If the shanks are gargantuan or you’re dealing with modest appetites, pull apart the larger shanks, separating them at their natural seams, and serve smaller amounts. Be sure to give the marrow bones to whomever prizes them most.\\r\\nServing: Arrange the veal shanks on warm dinner plates accompanied by the risotto, if serving. Just before carrying the plates to the table, sprinkle on the remaining gremolata and then spoon over a generous amount of sauce – the contact with the hot liquid will aromatize the gremolata and perk up everyone’s appetite with the whiff of garlic and lemon.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wwuqvt1487345467.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=9GUTC2Qwrf0\",\n    \"strIngredient1\": \"Veal\",\n    \"strIngredient2\": \"Flour\",\n    \"strIngredient3\": \"Olive Oil\",\n    \"strIngredient4\": \"Butter\",\n    \"strIngredient5\": \"Onion\",\n    \"strIngredient6\": \"Carrot\",\n    \"strIngredient7\": \"Celery\",\n    \"strIngredient8\": \"Fennel\",\n    \"strIngredient9\": \"Garlic\",\n    \"strIngredient10\": \"Orange Zest\",\n    \"strIngredient11\": \"Marjoram\",\n    \"strIngredient12\": \"Bay Leaf\",\n    \"strIngredient13\": \"Dry White Wine\",\n    \"strIngredient14\": \"Chicken Stock\",\n    \"strIngredient15\": \"Tomatoes\",\n    \"strIngredient16\": \"Parsley\",\n    \"strIngredient17\": \"Garlic\",\n    \"strIngredient18\": \"Lemon Zest\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"4 meaty shanks\",\n    \"strMeasure2\": \"½ cup\",\n    \"strMeasure3\": \"2 tablespoons \",\n    \"strMeasure4\": \"3 tablespoons\",\n    \"strMeasure5\": \"1 medium chopped into ½-inch pieces\",\n    \"strMeasure6\": \"1 chopped into ½-inch pieces\",\n    \"strMeasure7\": \"1 chopped into ½-inch pieces\",\n    \"strMeasure8\": \"1 bulb chopped into ½-inch pieces\",\n    \"strMeasure9\": \"3 cloves\",\n    \"strMeasure10\": \"2 strips\",\n    \"strMeasure11\": \"1 ½ teaspoons\",\n    \"strMeasure12\": \"1\",\n    \"strMeasure13\": \"1 cup\",\n    \"strMeasure14\": \"½ cup \",\n    \"strMeasure15\": \"1 cup chopped with juice\",\n    \"strMeasure16\": \"2 tablespoons chopped\",\n    \"strMeasure17\": \"1 teaspoon minced\",\n    \"strMeasure18\": \"1 teaspoon grated \",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.cookstr.com/Meat/Osso-Buco-alla-Milanese\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 15\n  },\n  {\n    \"idMeal\": \"52943\",\n    \"strMeal\": \"Oxtail with broad beans\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Jamaican\",\n    \"strInstructions\": \"Toss the oxtail with the onion, spring onion, garlic, ginger, chilli, soy sauce, thyme, salt and pepper. Heat the vegetable oil in a large frying pan over medium-high heat. Brown the oxtail in the pan until browned all over, about 10 minutes. Place into a pressure cooker, and pour in 375ml water. Cook at pressure for 25 minutes, then remove from heat, and remove the lid according to manufacturer's directions.\\r\\nAdd the broad beans and pimento berries, and bring to a simmer over medium-high heat. Dissolve the cornflour in 2 tablespoons water, and stir into the simmering oxtail. Cook and stir a few minutes until the sauce has thickened, and the broad beans are tender.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1520083578.jpg\",\n    \"strTags\": \"Heavy,MainMeal,Speciality\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=DIhxk-98Hz8\",\n    \"strIngredient1\": \"Oxtail\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Spring Onions\",\n    \"strIngredient4\": \"Garlic\",\n    \"strIngredient5\": \"Ginger\",\n    \"strIngredient6\": \"Scotch Bonnet\",\n    \"strIngredient7\": \"Soy Sauce\",\n    \"strIngredient8\": \"Fresh Thyme\",\n    \"strIngredient9\": \"Vegetable Oil\",\n    \"strIngredient10\": \"Water\",\n    \"strIngredient11\": \"Broad Beans\",\n    \"strIngredient12\": \"Corn Flour\",\n    \"strIngredient13\": \"Water\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"450g\",\n    \"strMeasure2\": \"1 chopped\",\n    \"strMeasure3\": \"1\",\n    \"strMeasure4\": \"2 cloves minced\",\n    \"strMeasure5\": \"1 tsp \",\n    \"strMeasure6\": \"1 chopped\",\n    \"strMeasure7\": \"2 tbs\",\n    \"strMeasure8\": \"1 chopped\",\n    \"strMeasure9\": \"2 tbs\",\n    \"strMeasure10\": \"350ml\",\n    \"strMeasure11\": \"200g\",\n    \"strMeasure12\": \"1 tbs\",\n    \"strMeasure13\": \"2 tbs\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://allrecipes.co.uk/recipe/5392/jamaican-oxtail-with-broad-beans.aspx\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 16\n  },\n  {\n    \"idMeal\": \"52871\",\n    \"strMeal\": \"Yaki Udon\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Japanese\",\n    \"strInstructions\": \"Boil some water in a large saucepan. Add 250ml cold water and the udon noodles. (As they are so thick, adding cold water helps them to cook a little bit slower so the middle cooks through). If using frozen or fresh noodles, cook for 2 mins or until al dente; dried will take longer, about 5-6 mins. Drain and leave in the colander.\\r\\nHeat 1 tbsp of the oil, add the onion and cabbage and sauté for 5 mins until softened. Add the mushrooms and some spring onions, and sauté for 1 more min. Pour in the remaining sesame oil and the noodles. If using cold noodles, let them heat through before adding the ingredients for the sauce – otherwise tip in straight away and keep stir-frying until sticky and piping hot. Sprinkle with the remaining spring onions.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wrustq1511475474.jpg\",\n    \"strTags\": \"LowCalorie\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=5Iy0MCowSvA\",\n    \"strIngredient1\": \"Udon Noodles\",\n    \"strIngredient2\": \"Sesame Seed Oil\",\n    \"strIngredient3\": \"Onion\",\n    \"strIngredient4\": \"Cabbage\",\n    \"strIngredient5\": \"Shiitake Mushrooms\",\n    \"strIngredient6\": \"Spring Onions\",\n    \"strIngredient7\": \"Mirin\",\n    \"strIngredient8\": \"Soy Sauce\",\n    \"strIngredient9\": \"Caster Sugar\",\n    \"strIngredient10\": \"Worcestershire Sauce\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"250g\",\n    \"strMeasure2\": \"2 tbs\",\n    \"strMeasure3\": \"1 sliced\",\n    \"strMeasure4\": \"0.25\",\n    \"strMeasure5\": \"10\",\n    \"strMeasure6\": \"4\",\n    \"strMeasure7\": \"4 tbsp\",\n    \"strMeasure8\": \"2 tbs\",\n    \"strMeasure9\": \"1 tblsp \",\n    \"strMeasure10\": \"1 tblsp \",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/yaki-udon\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 17\n  },\n  {\n    \"idMeal\": \"52890\",\n    \"strMeal\": \"Jam Roly-Poly\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Put a deep roasting tin onto the bottom shelf of the oven, and make sure that there’s another shelf directly above it. Pull the roasting tin out on its shelf, fill two-thirds with boiling water from the kettle, then carefully slide it back in. Heat oven to 180C/160C fan/gas 4. Tear off a large sheet of foil and greaseproof paper (about 30 x 40cm). Sit the greaseproof on top of the foil and butter it.\\r\\nTip butter, flour and vanilla seeds into a food processor; pulse until the butter has disappeared. Tip into a mixing bowl. Stir through the suet, pour in the milk and work together with a cutlery knife until you get a sticky dough. You may need a drop more milk, depending on your flour.\\r\\nTip the dough out onto a floured surface, quickly pat together to smooth, then roll out to a square roughly 25 x 25cm. Spread the jam all over, leaving a gap along one edge, then roll up from the opposite edge. Pinch the jam-free edge into the dough where it meets, and pinch the ends roughly, too. Carefully lift onto the greased paper, join-side down (you might find a flat baking sheet helpful for this), loosely bring up the paper and foil around it, then scrunch together along the edges and ends to seal. The roly-poly will puff quite a bit during cooking so don’t wrap it tightly. Lift the parcel directly onto the rack above the tin and cook for 1 hr.\\r\\nLet the pudding sit for 5 mins before unwrapping, then carefully open the foil and paper, and thickly slice to serve.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/ysqupp1511640538.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=5ZYWVQ8imVA\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Self-raising Flour\",\n    \"strIngredient3\": \"Vanilla\",\n    \"strIngredient4\": \"Suet\",\n    \"strIngredient5\": \"Milk\",\n    \"strIngredient6\": \"Raspberry Jam\",\n    \"strIngredient7\": \"Custard\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"50g\",\n    \"strMeasure2\": \"250g\",\n    \"strMeasure3\": \"1 small\",\n    \"strMeasure4\": \"50g\",\n    \"strMeasure5\": \"150ml\",\n    \"strMeasure6\": \"100g \",\n    \"strMeasure7\": \"to serve\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/13354/jam-rolypoly\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 18\n  },\n  {\n    \"idMeal\": \"52937\",\n    \"strMeal\": \"Jerk chicken with rice & peas\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Jamaican\",\n    \"strInstructions\": \"To make the jerk marinade, combine all the ingredients in a food processor along with 1 tsp salt, and blend to a purée. If you’re having trouble getting it to blend, just keep turning off the blender, stirring the mixture, and trying again. Eventually it will start to blend up – don’t be tempted to add water, as you want a thick paste.\\r\\n\\r\\nTaste the jerk mixture for seasoning – it should taste pretty salty, but not unpleasantly, puckering salty. You can now throw in more chillies if it’s not spicy enough for you. If it tastes too salty and sour, try adding in a bit more brown sugar until the mixture tastes well balanced.\\r\\n\\r\\nMake a few slashes in the chicken thighs and pour the marinade over the meat, rubbing it into all the crevices. Cover and leave to marinate overnight in the fridge.\\r\\n\\r\\nIf you want to barbecue your chicken, get the coals burning 1 hr or so before you’re ready to cook. Authentic jerked meats are not exactly grilled as we think of grilling, but sort of smoke-grilled. To get a more authentic jerk experience, add some wood chips to your barbecue, and cook your chicken over slow, indirect heat for 30 mins. To cook in the oven, heat to 180C/160C fan/gas 4. Put the chicken pieces in a roasting tin with the lime halves and cook for 45 mins until tender and cooked through.\\r\\n\\r\\nWhile the chicken is cooking, prepare the rice & peas. Rinse the rice in plenty of cold water, then tip it into a large saucepan with all the remaining ingredients except the kidney beans. Season with salt, add 300ml cold water and set over a high heat. Once the rice begins to boil, turn it down to a medium heat, cover and cook for 10 mins.\\r\\n\\r\\nAdd the beans to the rice, then cover with a lid. Leave off the heat for 5 mins until all the liquid is absorbed. Squeeze the roasted lime over the chicken and serve with the rice & peas, and some hot sauce if you like it really spicy.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/tytyxu1515363282.jpg\",\n    \"strTags\": \"Chilli,Curry\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=qfchrS2D_v4\",\n    \"strIngredient1\": \"Chicken Thighs\",\n    \"strIngredient2\": \"Lime\",\n    \"strIngredient3\": \"Spring Onions\",\n    \"strIngredient4\": \"Ginger\",\n    \"strIngredient5\": \"Garlic\",\n    \"strIngredient6\": \"Onion\",\n    \"strIngredient7\": \"Red Chilli\",\n    \"strIngredient8\": \"Thyme\",\n    \"strIngredient9\": \"Lime\",\n    \"strIngredient10\": \"Soy Sauce\",\n    \"strIngredient11\": \"Vegetable Oil\",\n    \"strIngredient12\": \"Brown Sugar\",\n    \"strIngredient13\": \"Allspice\",\n    \"strIngredient14\": \"Basmati Rice\",\n    \"strIngredient15\": \"Coconut Milk\",\n    \"strIngredient16\": \"Spring Onions\",\n    \"strIngredient17\": \"Thyme\",\n    \"strIngredient18\": \"Garlic\",\n    \"strIngredient19\": \"Allspice\",\n    \"strIngredient20\": \"Kidney Beans\",\n    \"strMeasure1\": \"12\",\n    \"strMeasure2\": \"1/2 \",\n    \"strMeasure3\": \"1  bunch\",\n    \"strMeasure4\": \"1 tbs chopped\",\n    \"strMeasure5\": \"3 cloves\",\n    \"strMeasure6\": \"1/2 \",\n    \"strMeasure7\": \"3 chopped\",\n    \"strMeasure8\": \"1/2 teaspoon\",\n    \"strMeasure9\": \"Juice of 1\",\n    \"strMeasure10\": \"2 tbs\",\n    \"strMeasure11\": \"2 tbs\",\n    \"strMeasure12\": \"3 tbs\",\n    \"strMeasure13\": \"1 tbs\",\n    \"strMeasure14\": \"200g\",\n    \"strMeasure15\": \"400g\",\n    \"strMeasure16\": \"1  bunch\",\n    \"strMeasure17\": \"2 sprigs\",\n    \"strMeasure18\": \"2 cloves chopped\",\n    \"strMeasure19\": \"1 tbs\",\n    \"strMeasure20\": \"800g\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/2369635/jerk-chicken-with-rice-and-peas\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 19\n  },\n  {\n    \"idMeal\": \"52938\",\n    \"strMeal\": \"Jamaican Beef Patties\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Jamaican\",\n    \"strInstructions\": \"Make the Pastry Dough\\r\\n\\r\\nTo a large bowl, add flour, 1 teaspoon salt, and turmeric and mix thoroughly.\\r\\nRub shortening into flour until there are small pieces of shortening completely covered with flour.\\r\\nPour in 1/2 cup of the ice water and mix with your hands to bring the dough together. Keep adding ice water 2 to 3 tablespoons at a time until the mixture forms a dough.\\r\\nAt this stage, you can cut the dough into 2 large pieces, wrap in plastic and refrigerate for 30 minutes before using it.\\r\\nAlternatively, cut the dough into 10 to 12 equal pieces, place on a platter or baking sheet, cover securely with plastic wrap and let chill for 30 minutes while you make the filling.\\r\\nMake the Filling\\r\\n\\r\\nAdd ground beef to a large bowl. Sprinkle in allspice and black pepper. Mix together and set aside.\\r\\nHeat oil in a skillet until hot.\\r\\nAdd onions and sauté until translucent. Add hot pepper, garlic and thyme and continue to sauté for another minute. Add 1/4 teaspoon salt.\\r\\nAdd seasoned ground beef and toss to mix, breaking up any clumps, and let cook until the meat is no longer pink.\\r\\nAdd ketchup and more salt to taste.\\r\\nPour in 2 cups of water and stir. Bring the mixture to a boil then reduce heat and let simmer until most of the liquid has evaporated and whatever is remaining has reduced to a thick sauce.\\r\\nFold in green onions. Remove from heat and let cool completely.\\r\\nAssemble the Patties\\r\\n\\r\\nBeat the egg and water together to make an egg wash. Set aside.\\r\\nNow you can prepare the dough in two ways.\\r\\nFirst Method: Flour the work surface and rolling pin. If you had cut it into 2 large pieces, then take one of the large pieces and roll it out into a very large circle. Take a bowl with a wide rim (about 5 inches) and cut out three circles.\\r\\n\\r\\nPlace about 3 heaping tablespoons of the filling onto 1/2 of each circle. Dip a finger into the water and moisten the edges of the pastry. Fold over the other half and press to seal. \\r\\n\\r\\nTake a fork and crimp the edges. Cut off any extra to make it look neat and uniform. Place on a parchment-lined baking sheet and continue to work until you have rolled all the dough and filled the patties.\\r\\nSecond Method: If you had pre-cut the dough into individual pieces, work with one piece of dough at a time. Roll it out on a floured surface into a 5-inch circle or a little larger. Don’t worry if the edges are not perfect.\\r\\n\\r\\nPlace 3 heaping tablespoons of the filling on one side of the circle. Dip a finger into the water and moisten the edges of the pastry. Fold over the other half and press to seal.\\r\\n\\r\\nTake a fork and crimp the edges. Cut off any extra to make it look neat and uniform. Place on a parchment-lined baking sheet and continue work until you have rolled all the dough and filled the patties.\\r\\n\\r\\nFrying and Serving the Patties\\r\\n\\r\\nAfter forming the patties, place the pans in the refrigerator while you heat the oven to 350 F.\\r\\nJust before adding the pans with the patties to the oven, brush the patties with egg wash.\\r\\nBake patties for 30 minutes or until golden brown.\\r\\nCool on wire racks.\\r\\nServe warm.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wsqqsw1515364068.jpg\",\n    \"strTags\": \"Snack,Spicy\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=ypQjoiZiTac\",\n    \"strIngredient1\": \"Plain Flour\",\n    \"strIngredient2\": \"Salt\",\n    \"strIngredient3\": \"Curry Powder\",\n    \"strIngredient4\": \"Butter\",\n    \"strIngredient5\": \"Water\",\n    \"strIngredient6\": \"Minced Beef\",\n    \"strIngredient7\": \"Allspice\",\n    \"strIngredient8\": \"Black Pepper\",\n    \"strIngredient9\": \"Vegetable Oil\",\n    \"strIngredient10\": \"Onions\",\n    \"strIngredient11\": \"Red Pepper\",\n    \"strIngredient12\": \"Garlic\",\n    \"strIngredient13\": \"Thyme\",\n    \"strIngredient14\": \"Salt\",\n    \"strIngredient15\": \"Tomato Ketchup\",\n    \"strIngredient16\": \"Water\",\n    \"strIngredient17\": \"Onions\",\n    \"strIngredient18\": \"Egg\",\n    \"strIngredient19\": \"Water\",\n    \"strIngredient20\": \"Water\",\n    \"strMeasure1\": \"4 cups \",\n    \"strMeasure2\": \"1 tsp \",\n    \"strMeasure3\": \"1 tsp \",\n    \"strMeasure4\": \"250g\",\n    \"strMeasure5\": \"1 cup \",\n    \"strMeasure6\": \"900g\",\n    \"strMeasure7\": \"1 tsp \",\n    \"strMeasure8\": \"1/2 tsp\",\n    \"strMeasure9\": \"2 tbs\",\n    \"strMeasure10\": \"1 cup \",\n    \"strMeasure11\": \"Ground\",\n    \"strMeasure12\": \"2 tsp ground\",\n    \"strMeasure13\": \"1 tbs\",\n    \"strMeasure14\": \"1/4 tsp\",\n    \"strMeasure15\": \"2 tbs\",\n    \"strMeasure16\": \"2 cups \",\n    \"strMeasure17\": \"1/2 cup \",\n    \"strMeasure18\": \"1 beaten\",\n    \"strMeasure19\": \"1 tbs\",\n    \"strMeasure20\": \"1/4 cup\",\n    \"strSource\": \"https://www.thespruce.com/jamaican-beef-patties-recipe-2137762\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 20\n  },\n  {\n    \"idMeal\": \"53033\",\n    \"strMeal\": \"Japanese gohan rice\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Side\",\n    \"strArea\": \"Japanese\",\n    \"strInstructions\": \"STEP 1\\r\\nRinsing and soaking your rice is key to achieving the perfect texture. Measure the rice into a bowl, cover with cold water, then use your fingers to massage the grains of rice – the water will become cloudy. Drain and rinse again with fresh water. Repeat five more times until the water stays clear.\\r\\n\\r\\nSTEP 2\\r\\nTip the rinsed rice into a saucepan with 400ml water, or 200ml dashi and 200ml water, bring to the boil, then turn down the heat to a low simmer, cover with a tight-fitting lid with a steam hole and cook for 15 mins. Remove from the heat and leave to sit for another 15 mins, then stir through the mirin. Remove the lid and give it a good stir. Serve with any or all of the optional toppings.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/kw92t41604181871.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=rZO86_-MIp0\",\n    \"strIngredient1\": \"Sushi Rice\",\n    \"strIngredient2\": \"Mirin\",\n    \"strIngredient3\": \"Pickle Juice\",\n    \"strIngredient4\": \"Spring Onions\",\n    \"strIngredient5\": \"\",\n    \"strIngredient6\": \"\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"300g\",\n    \"strMeasure2\": \"1 tbs\",\n    \"strMeasure3\": \"Garnish\",\n    \"strMeasure4\": \"Garnish\",\n    \"strMeasure5\": \" \",\n    \"strMeasure6\": \" \",\n    \"strMeasure7\": \" \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/japanese-rice-gohan\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 21\n  },\n  {\n    \"idMeal\": \"53034\",\n    \"strMeal\": \"Japanese Katsudon\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pork\",\n    \"strArea\": \"Japanese\",\n    \"strInstructions\": \"STEP 1\\r\\nHeat the oil in a pan, fry the sliced onion until golden brown, then add the tonkatsu (see recipe here), placing it in the middle of the pan. Mix the dashi, soy, mirin and sugar together and tip three-quarters of the mixture around the tonkatsu. Sizzle for a couple of mins so the sauce thickens a little and the tonkatsu reheats.\\r\\n\\r\\nSTEP 2\\r\\nTip the beaten eggs around the tonkatsu and cook for 2-3 mins until the egg is cooked through but still a little runny. Divide the rice between two bowls, then top each with half the egg and tonkatsu mix, sprinkle over the chives and serve immediately, drizzling with a little more soy if you want an extra umami kick.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/d8f6qx1604182128.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=voE-MBJqBVk\",\n    \"strIngredient1\": \"Vegetable Oil\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Pork\",\n    \"strIngredient4\": \"Vegetable Stock\",\n    \"strIngredient5\": \"Soy Sauce\",\n    \"strIngredient6\": \"Mirin\",\n    \"strIngredient7\": \"Sugar\",\n    \"strIngredient8\": \"Eggs\",\n    \"strIngredient9\": \"Sushi Rice\",\n    \"strIngredient10\": \"Chives\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 tbs\",\n    \"strMeasure2\": \"1 large\",\n    \"strMeasure3\": \"1 chopped\",\n    \"strMeasure4\": \"150ml\",\n    \"strMeasure5\": \"1 tbs\",\n    \"strMeasure6\": \"1 tsp \",\n    \"strMeasure7\": \"1 tsp \",\n    \"strMeasure8\": \"2 Beaten \",\n    \"strMeasure9\": \"200g\",\n    \"strMeasure10\": \"Chopped\",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/japanese-katsudon\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 22\n  },\n  {\n    \"idMeal\": \"52791\",\n    \"strMeal\": \"Eton Mess\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Purée half the strawberries in a blender. Chop the remaining strawberries, reserving four for decoration.\\r\\nWhip the double cream until stiff peaks form, then fold in the strawberry purée and crushed meringue. Fold in the chopped strawberries and ginger cordial, if using.\\r\\nSpoon equal amounts of the mixture into four cold wine glasses. Serve garnished with the remaining strawberries and a sprig of mint.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/uuxwvq1483907861.jpg\",\n    \"strTags\": \"Dairy,Fruity,Desert,Treat,Speciality\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=43WgiNq54L8\",\n    \"strIngredient1\": \"strawberries\",\n    \"strIngredient2\": \"double cream\",\n    \"strIngredient3\": \"meringue nests\",\n    \"strIngredient4\": \"ginger cordial\",\n    \"strIngredient5\": \"Mint\",\n    \"strIngredient6\": \"\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"500g\",\n    \"strMeasure2\": \"400ml\",\n    \"strMeasure3\": \"3 x 7.5cm\",\n    \"strMeasure4\": \"1 tbsp\",\n    \"strMeasure5\": \"sprigs of fresh\",\n    \"strMeasure6\": \"\",\n    \"strMeasure7\": \"\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 23\n  },\n  {\n    \"idMeal\": \"52888\",\n    \"strMeal\": \"Eccles Cakes\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"To make the pastry, dice the butter and put it in the freezer to go really hard. Tip flour into the bowl of a food processor with half the butter and pulse to the texture of breadcrumbs. Pour in the lemon juice and 100ml iced water, and pulse to a dough. Tip in the rest of the butter and pulse a few times until the dough is heavily flecked with butter. It is important that you don’t overdo this as the flecks of butter are what makes the pastry flaky.\\r\\nOn a floured surface roll the pastry out to a neat rectangle about 20 x 30cm. Fold the two ends of the pastry into the middle (See picture 1), then fold in half (pic 2). Roll the pastry out again and refold the same way 3 more times resting the pastry for at least 15 mins each time between roll and fold, then leave to rest in the fridge for at least 30 mins before using.\\r\\nTo make the filling, melt the butter in a large saucepan. Take it off the heat and stir in all the other ingredients until completely mixed, then set aside.\\r\\nTo make the cakes, roll the pastry out until it’s just a little thicker than a £1 coin and cut out 8 rounds about 12cm across. Re-roll the trimming if needed. Place a good heaped tablespoon of mixture in the middle of each round, brush the edges of the rounds with water, then gather the pastry around the filling and squeeze it together (pic 3). Flip them over so the smooth top is upwards and pat them into a smooth round. Flatten each round with a rolling pin to an oval until the fruit just starts to poke through, then place on a baking tray. Cut 2 little slits in each Eccles cakes, brush generously with egg white and sprinkle with the sugar (pic 4).\\r\\nHeat the oven to 220C/200C fan/gas 8. Bake the Eccles cakes for 15-20 mins until just past golden brown and sticky. Leave to cool on a rack and enjoy while still warm or cold with a cup of tea. If you prefer, Eccles cakes also go really well served with a wedge of hard, tangy British cheese such as Lancashire or cheddar.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wtqrqw1511639627.jpg\",\n    \"strTags\": \"Snack,Treat\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=xV0QCJ0GD5w\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Plain Flour\",\n    \"strIngredient3\": \"Lemon\",\n    \"strIngredient4\": \"Butter\",\n    \"strIngredient5\": \"Currants\",\n    \"strIngredient6\": \"Mixed Peel\",\n    \"strIngredient7\": \"Muscovado Sugar\",\n    \"strIngredient8\": \"Cinnamon\",\n    \"strIngredient9\": \"Ginger\",\n    \"strIngredient10\": \"Allspice\",\n    \"strIngredient11\": \"Lemon\",\n    \"strIngredient12\": \"Eggs\",\n    \"strIngredient13\": \"Sugar\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"250g\",\n    \"strMeasure2\": \"350g\",\n    \"strMeasure3\": \"Juice of 1/2\",\n    \"strMeasure4\": \"25g\",\n    \"strMeasure5\": \"200g\",\n    \"strMeasure6\": \"50g\",\n    \"strMeasure7\": \"100g \",\n    \"strMeasure8\": \"1 tsp \",\n    \"strMeasure9\": \"1 tsp \",\n    \"strMeasure10\": \"1 tsp \",\n    \"strMeasure11\": \"Zest of 1\",\n    \"strMeasure12\": \"1 beaten\",\n    \"strMeasure13\": \"spinkling\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/786659/eccles-cakes\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 24\n  },\n  {\n    \"idMeal\": \"52895\",\n    \"strMeal\": \"English Breakfast\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Breakfast\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Heat the flat grill plate over a low heat, on top of 2 rings/flames if it fits, and brush sparingly with light olive oil.\\r\\nCook the sausages first. Add the sausages to the hot grill plate/the coolest part if there is one and allow to cook slowly for about 15-20 minutes, turning occasionally, until golden. After the first 10 minutes, increase the heat to medium before beginning to cook the other ingredients. If you are struggling for space, completely cook the sausages and keep hot on a plate in the oven.\\r\\nSnip a few small cuts into the fatty edge of the bacon. Place the bacon straight on to the grill plate and fry for 2-4 minutes each side or until your preferred crispiness is reached. Like the sausages, the cooked bacon can be kept hot on a plate in the oven.\\r\\nFor the mushrooms, brush away any dirt using a pastry brush and trim the stalk level with the mushroom top. Season with salt and pepper and drizzle over a little olive oil. Place stalk-side up on the grill plate and cook for 1-2 minutes before turning and cooking for a further 3-4 minutes. Avoid moving the mushrooms too much while cooking, as this releases the natural juices, making them soggy.\\r\\nFor the tomatoes, cut the tomatoes across the centre/or in half lengthways if using plum tomatoes , and with a small, sharp knife remove the green 'eye'. Season with salt and pepper and drizzle with a little olive oil. Place cut-side down on the grill plate and cook without moving for 2 minutes. Gently turn over and season again. Cook for a further 2-3 minutes until tender but still holding their shape.\\r\\nFor the black pudding, cut the black pudding into 3-4 slices and remove the skin. Place on the grill plate and cook for 1½-2 minutes each side until slightly crispy.\\r\\nFor 'proper' fried bread it's best to cook it in a separate pan. Ideally, use bread that is a couple of days old. Heat a frying pan to a medium heat and cover the base with oil. Add the bread and cook for 2-3 minutes each side until crispy and golden. If the pan becomes too dry, add a little more oil. For a richer flavour, add a knob of butter after you turn the slice.\\r\\nFor the fried eggs, break the egg straight into the pan with the fried bread and leave for 30 seconds. Add a good knob of butter and lightly splash/baste the egg with the butter when melted. Cook to your preferred stage, season and gently remove with a fish slice.\\r\\nOnce all the ingredients are cooked, serve on warm plates and enjoy straight away with a good squeeze of tomato ketchup or brown sauce.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/utxryw1511721587.jpg\",\n    \"strTags\": \"Breakfast\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=FXjYU2Ensck\",\n    \"strIngredient1\": \"Sausages\",\n    \"strIngredient2\": \"Bacon\",\n    \"strIngredient3\": \"Mushrooms\",\n    \"strIngredient4\": \"Tomatoes\",\n    \"strIngredient5\": \"Black Pudding\",\n    \"strIngredient6\": \"Eggs\",\n    \"strIngredient7\": \"Bread\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2\",\n    \"strMeasure2\": \"3\",\n    \"strMeasure3\": \"2\",\n    \"strMeasure4\": \"2\",\n    \"strMeasure5\": \"1 Slice\",\n    \"strMeasure6\": \"2\",\n    \"strMeasure7\": \"1 Slice\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbc.co.uk/food/recipes/stressfreefullenglis_67721\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 25\n  },\n  {\n    \"idMeal\": \"52944\",\n    \"strMeal\": \"Escovitch Fish\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"Jamaican\",\n    \"strInstructions\": \"Rinse fish; rub with lemon or lime, seasoned with salt and pepper or use your favorite seasoning. I used creole seasoning. Set aside or place in the oven to keep it warm until sauce is ready.\\r\\n\\r\\nIn large skillet heat oil over medium heat, until hot, add the fish, cook each side- for about 5-7 minutes until cooked through and crispy on both sides. Remove fish and set aside. Drain oil and leave about 2-3 tablespoons of oil\\r\\nAdd, bay leave, garlic and ginger, stir-fry for about a minute making sure the garlic does not burn\\r\\nThen add onion, bell peppers, thyme, scotch bonnet, sugar, all spice-continue stirring for about 2-3 minutes. Add vinegar, mix an adjust salt and pepper according to preference. Let it simmer for about 2 more minutes. \\r\\n\\r\\nDiscard bay leave, thyme spring and serve over fish with a side of this bammy. You may make the sauce about 2 days in advance.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1520084413.jpg\",\n    \"strTags\": \"Seafood,Spicy,Speciality,Easter\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=nF6DOtGE6k8\",\n    \"strIngredient1\": \"Red Snapper\",\n    \"strIngredient2\": \"Vegetable Oil\",\n    \"strIngredient3\": \"Garlic\",\n    \"strIngredient4\": \"Ginger\",\n    \"strIngredient5\": \"Thyme\",\n    \"strIngredient6\": \"Bay Leaf\",\n    \"strIngredient7\": \"Red Pepper\",\n    \"strIngredient8\": \"Yellow Pepper\",\n    \"strIngredient9\": \"Onion\",\n    \"strIngredient10\": \"Carrots\",\n    \"strIngredient11\": \"Sugar\",\n    \"strIngredient12\": \"Allspice\",\n    \"strIngredient13\": \"Worcestershire Sauce\",\n    \"strIngredient14\": \"Scotch Bonnet\",\n    \"strIngredient15\": \"Lime\",\n    \"strIngredient16\": \"Malt Vinegar\",\n    \"strIngredient17\": \"Pepper\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 Pounds\",\n    \"strMeasure2\": \"1/2 cup \",\n    \"strMeasure3\": \"1 clove peeled crushed\",\n    \"strMeasure4\": \"1/2 tsp\",\n    \"strMeasure5\": \"2 sprigs\",\n    \"strMeasure6\": \"1\",\n    \"strMeasure7\": \"0.5\",\n    \"strMeasure8\": \"0.5\",\n    \"strMeasure9\": \"1 sliced\",\n    \"strMeasure10\": \"1 chopped\",\n    \"strMeasure11\": \"1 tbs\",\n    \"strMeasure12\": \"1/2 tsp\",\n    \"strMeasure13\": \"1 tsp \",\n    \"strMeasure14\": \"1\",\n    \"strMeasure15\": \"1\",\n    \"strMeasure16\": \"3/4 cup \",\n    \"strMeasure17\": \"pinch\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.africanbites.com/jamaican-escovitched-fish/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 26\n  },\n  {\n    \"idMeal\": \"52955\",\n    \"strMeal\": \"Egg Drop Soup\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Chinese\",\n    \"strInstructions\": \"In a wok add chicken broth and wait for it to boil.\\r\\nNext add salt, sugar, white pepper, sesame seed oil.\\r\\nWhen the chicken broth is boiling add the vegetables to the wok.\\r\\nTo thicken the sauce, whisk together 1 Tablespoon of cornstarch and 2 Tablespoon of water in a bowl and slowly add to your soup until it's the right thickness.\\r\\nNext add 1 egg slightly beaten with a knife or fork and add it to the soup slowly and stir for 8 seconds\\r\\nServe the soup in a bowl and add the green onions on top.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1529446137.jpg\",\n    \"strTags\": \"Soup,Baking,Calorific\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=9XpzHm9QpZg\",\n    \"strIngredient1\": \"Chicken Stock\",\n    \"strIngredient2\": \"Salt\",\n    \"strIngredient3\": \"Sugar\",\n    \"strIngredient4\": \"Pepper\",\n    \"strIngredient5\": \"Sesame Seed Oil\",\n    \"strIngredient6\": \"Peas\",\n    \"strIngredient7\": \"Mushrooms\",\n    \"strIngredient8\": \"Cornstarch\",\n    \"strIngredient9\": \"Water\",\n    \"strIngredient10\": \"Spring Onions\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"3 cups \",\n    \"strMeasure2\": \"1/4 tsp\",\n    \"strMeasure3\": \"1/4 tsp\",\n    \"strMeasure4\": \"pinch\",\n    \"strMeasure5\": \"1 tsp \",\n    \"strMeasure6\": \"1/3 cup\",\n    \"strMeasure7\": \"1/3 cup\",\n    \"strMeasure8\": \"1 tbs\",\n    \"strMeasure9\": \"2 tbs\",\n    \"strMeasure10\": \"1/4 cup\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://sueandgambo.com/pages/egg-drop-soup\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 27\n  },\n  {\n    \"idMeal\": \"53031\",\n    \"strMeal\": \"Egyptian Fatteh\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Egyptian\",\n    \"strInstructions\": \"To prepare bread for bottom of dish: Take pita bread and rip into bite size pieces. In a frying pan, add about a 1/4 stick of butter, add bread pieces and fry until golden brown and crisp. Put these pieces in a glass baking dish, preferably a square sized dish. Set aside.\\r\\nThen add to same pan, a little more butter, salt, approximately 2 cloves of crushed fresh garlic, and a teaspoon or so of cumin stir around a bit until you can smell aroma, then add fried bread pieces to this mixture, stir to coat bread and put back into glass baking dish. Set aside.\\r\\nTo prepare meat: put some butter in a pot, stir fry meat until brown, add 1 onion quartered, salt & pepper, 1 cube of chicken bouillon and water to cover meat. Bring to a boil, turn down to simmer, cover and cook until tender, approximately 2 hours. After meat has cooled, take out chunks of meat and put in a bowl, set aside. Reserve soup from the meat separately.\\r\\nTo prepare the rice: Put some butter into a pot, add shareya (fideo noodles) like a handful or so, keep stirring until golden brown, not too dark, but very golden. Then add two cups of rice, stir a little bit until some of the rice turns an opaque white. Add 2-1/4 cups of water and salt to taste. Bring to a boil, cover and turn down to simmer, cook until tender. Test the rice tenderness after about 35 minutes.\\r\\nNow take some of the soup from meat and add to the top of the bread pieces in baking dish to saturate.Add cooked rice on top of bread pieces. Slowly spoon remainder of soup onto rice, looking at glass dish sides to see level of soup, should reach just to top of rice, don’t worry, this doesn’t have to be exact. Now you’re ready to make the sauce and fry the meat to put on top.\\r\\nTo prepare red sauce: In a pan, add a little oil or butter, crushed tomato, a half teaspoon of tomato paste, salt & pepper, 2 cloves of fresh crushed garlic and cumin. Add also approximately 3 tablespoons of vinegar, stir this until you smell aroma and it is a bit smooth. It should be a bit thick, not watery, but if too thick you can add a bit of water. Spread with a wooden spoon atop the rice to cover.\\r\\nTo fry meat: In a pan add a bit of butter or oil, the meat, just a touch of tomato paste, about a tablespoon of fresh crushed garlic, salt & pepper, a teaspoon of cumin. Cook until meat is golden fried.\\r\\nSpoon this atop the rice and serve. Enjoy!\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/rlwcc51598734603.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=WLuOHkDE4A4\",\n    \"strIngredient1\": \"Beef\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Chicken Stock Cube\",\n    \"strIngredient4\": \"Tomatoes\",\n    \"strIngredient5\": \"Garlic Clove\",\n    \"strIngredient6\": \"Tomato Puree\",\n    \"strIngredient7\": \"Rice\",\n    \"strIngredient8\": \"Noodles\",\n    \"strIngredient9\": \"Butter\",\n    \"strIngredient10\": \"Olive Oil\",\n    \"strIngredient11\": \"Pita Bread\",\n    \"strIngredient12\": \"Cumin\",\n    \"strIngredient13\": \"White Wine Vinegar\",\n    \"strIngredient14\": \"Salt\",\n    \"strIngredient15\": \"Pepper\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1lb\",\n    \"strMeasure2\": \"1\",\n    \"strMeasure3\": \"1\",\n    \"strMeasure4\": \"2\",\n    \"strMeasure5\": \"4\",\n    \"strMeasure6\": \"1 tbs\",\n    \"strMeasure7\": \"2 cups \",\n    \"strMeasure8\": \"1/4 cup\",\n    \"strMeasure9\": \"1/4 cup\",\n    \"strMeasure10\": \"2 cups \",\n    \"strMeasure11\": \"1\",\n    \"strMeasure12\": \"1 tbs\",\n    \"strMeasure13\": \"3 tbs\",\n    \"strMeasure14\": \"To taste\",\n    \"strMeasure15\": \"To taste\",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.food.com/recipe/egyptian-faatah-rice-meat-with-crispy-bread-on-bottom-194764\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 28\n  },\n  {\n    \"idMeal\": \"53073\",\n    \"strMeal\": \"Eggplant Adobo\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Filipino\",\n    \"strInstructions\": \"1.\\tSlice 1 lb. small Japanese or Italian eggplant (about 3) into quarters lengthwise, then cut crosswise into 2\\\"-wide pieces. Place in a medium bowl. Add 1 Tbsp. sugar, 1 tsp. Diamond Crystal or ½ tsp. Morton kosher salt, and ½ tsp. freshly ground black pepper. Toss to evenly coat eggplant and let sit at room temperature at least 20 minutes and up to 2 hours.\\r\\n2.\\tPeel and thinly slice 8 garlic cloves. Add 3 Tbsp. vegetable oil and half of garlic to a medium Dutch oven or other heavy pot. Cook over medium-high heat, stirring constantly with a wooden spoon, until light golden and crisp, about 5 minutes. Using a slotted spoon, transfer garlic chips to a plate; season lightly with salt.\\r\\n3. Place 4 oz. ground pork in same pot and break up into small pieces with wooden spoon. Season with ¼ tsp. Diamond Crystal or Morton kosher salt and cook, undisturbed, until deeply browned underneath, about 5 minutes. Using a slotted spoon, transfer to another plate, leaving fat behind in the pot.\\r\\n4. Place eggplant on a clean kitchen towel and blot away any moisture the salt has drawn out.\\r\\n5. Working in batches and adding more oil if needed, cook eggplant in the same pot until lightly browned, about 3 minutes per side. Transfer to a plate with pork.\\r\\n6. Pour 1½ cups of water into the pot and scrape up browned bits from the bottom with a wooden spoon. Add remaining garlic, 3 Tbsp. coconut vinegar or unseasoned rice vinegar, 2 Tbsp. soy sauce, 2 bay leaves, 1 tsp. freshly ground black pepper, and remaining 1 Tbsp. sugar. Bring to a simmer, then return pork and eggplant to pot. Reduce heat to medium-low, partially cover, and simmer until eggplant is tender and silky and sauce is reduced by half, 20–25 minutes. Taste and season with more salt and pepper and add a little more sugar if needed.\\r\\n7. Top with garlic chips and serve with cooked white rice.\\r\\n\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/y7h0lq1683208991.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=pKXACYjwMns\",\n    \"strIngredient1\": \"Egg Plants\",\n    \"strIngredient2\": \"Sugar\",\n    \"strIngredient3\": \"Salt\",\n    \"strIngredient4\": \"Pepper\",\n    \"strIngredient5\": \"Garlic\",\n    \"strIngredient6\": \"Olive Oil\",\n    \"strIngredient7\": \"Ground Pork\",\n    \"strIngredient8\": \"Rice Vinegar\",\n    \"strIngredient9\": \"Soy Sauce\",\n    \"strIngredient10\": \"Bay Leaf\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 lb\",\n    \"strMeasure2\": \"2 tbs\",\n    \"strMeasure3\": \"1 tsp \",\n    \"strMeasure4\": \"1 tsp \",\n    \"strMeasure5\": \"1 whole\",\n    \"strMeasure6\": \"3 tbs\",\n    \"strMeasure7\": \"4 oz \",\n    \"strMeasure8\": \"3 tbs\",\n    \"strMeasure9\": \"2 tbs\",\n    \"strMeasure10\": \"2\",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://salu-salo.com/eggplant-adobo/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 29\n  },\n  {\n    \"idMeal\": \"52769\",\n    \"strMeal\": \"Kapsalon\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Lamb\",\n    \"strArea\": \"Dutch\",\n    \"strInstructions\": \"Cut the meat into strips. Heat oil in a pan and fry the strips for 6 minutes until it's ready.\\r\\nBake the fries until golden brown in a deep fryrer. When ready transfer to a backing dish. Make sure the fries are spread over the whole dish.\\r\\nCover the fries with a new layer of meat and spread evenly.\\r\\nAdd a layer of cheese over the meat. You can also use grated cheese. When done put in the oven for a few minutes until the cheese is melted.\\r\\nChop the lettuce, tomato and cucumber in small pieces and mix together. for a basic salad. As extra you can add olives jalapenos and a red union.\\r\\nDived the salad over the dish and Serve with garlicsauce and hot sauce\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/sxysrt1468240488.jpg\",\n    \"strTags\": \"Snack\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=UIcuiU1kV8I\",\n    \"strIngredient1\": \"Fries\",\n    \"strIngredient2\": \"Doner Meat\",\n    \"strIngredient3\": \"Garlic sauce\",\n    \"strIngredient4\": \"Hotsauce\",\n    \"strIngredient5\": \"Lettuce\",\n    \"strIngredient6\": \"Tomato\",\n    \"strIngredient7\": \"Cucumber\",\n    \"strIngredient8\": \"Gouda cheese\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": null,\n    \"strIngredient17\": null,\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"250 Grams\",\n    \"strMeasure2\": \"500 Grams\",\n    \"strMeasure3\": \"Topping\",\n    \"strMeasure4\": \"Topping\",\n    \"strMeasure5\": \"1 Bulb\",\n    \"strMeasure6\": \"1\",\n    \"strMeasure7\": \"3rd\",\n    \"strMeasure8\": \"100 Grams\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": null,\n    \"strMeasure17\": null,\n    \"strMeasure18\": null,\n    \"strMeasure19\": null,\n    \"strMeasure20\": null,\n    \"strSource\": null,\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 30\n  },\n  {\n    \"idMeal\": \"52813\",\n    \"strMeal\": \"Kentucky Fried Chicken\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"Preheat fryer to 350°F. Thoroughly mix together all the spice mix ingredients.\\r\\nCombine spice mix with flour, brown sugar and salt.\\r\\nDip chicken pieces in egg white to lightly coat them, then transfer to flour mixture. Turn a few times and make sure the flour mix is really stuck to the chicken. Repeat with all the chicken pieces.\\r\\nLet chicken pieces rest for 5 minutes so crust has a chance to dry a bit.\\r\\nFry chicken in batches. Breasts and wings should take 12-14 minutes, and legs and thighs will need a few more minutes. Chicken pieces are done when a meat thermometer inserted into the thickest part reads 165°F.\\r\\nLet chicken drain on a few paper towels when it comes out of the fryer. Serve hot.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/xqusqy1487348868.jpg\",\n    \"strTags\": \"Meat,Spicy\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=PTUxCvCz8Bc\",\n    \"strIngredient1\": \"Chicken\",\n    \"strIngredient2\": \"Oil\",\n    \"strIngredient3\": \"Egg White\",\n    \"strIngredient4\": \"Flour\",\n    \"strIngredient5\": \"Brown Sugar\",\n    \"strIngredient6\": \"Salt\",\n    \"strIngredient7\": \"paprika\",\n    \"strIngredient8\": \"onion salt\",\n    \"strIngredient9\": \"chili powder\",\n    \"strIngredient10\": \"black pepper\",\n    \"strIngredient11\": \"celery salt\",\n    \"strIngredient12\": \"sage\",\n    \"strIngredient13\": \"garlic powder\",\n    \"strIngredient14\": \"allspice\",\n    \"strIngredient15\": \"oregano\",\n    \"strIngredient16\": \"basil\",\n    \"strIngredient17\": \"marjoram\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 whole\",\n    \"strMeasure2\": \"2 quarts neutral frying\",\n    \"strMeasure3\": \"1\",\n    \"strMeasure4\": \"1 1/2 cups \",\n    \"strMeasure5\": \"1 tablespoon\",\n    \"strMeasure6\": \"1 tablespoon\",\n    \"strMeasure7\": \"1 tablespoon\",\n    \"strMeasure8\": \"2 teaspoons\",\n    \"strMeasure9\": \"1 teaspoon\",\n    \"strMeasure10\": \"1 teaspoon\",\n    \"strMeasure11\": \"1/2 teaspoon\",\n    \"strMeasure12\": \"1/2 teaspoon\",\n    \"strMeasure13\": \"1/2 teaspoon\",\n    \"strMeasure14\": \"1/2 teaspoon\",\n    \"strMeasure15\": \"1/2 teaspoon\",\n    \"strMeasure16\": \"1/2 teaspoon\",\n    \"strMeasure17\": \"1/2 teaspoon\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.tablespoon.com/recipes/copycat-kfc-original-style-chicken/97c93d14-9d8c-4bc7-96dc-1e0b37e4fcaa\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 31\n  },\n  {\n    \"idMeal\": \"52820\",\n    \"strMeal\": \"Katsu Chicken curry\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Japanese\",\n    \"strInstructions\": \"Prep:15min  ›  Cook:30min  ›  Ready in:45min \\r\\n\\r\\nFor the curry sauce: Heat oil in medium non-stick saucepan, add onion and garlic and cook until softened. Stir in carrots and cook over low heat for 10 to 12 minutes.\\r\\nAdd flour and curry powder; cook for 1 minute. Gradually stir in stock until combined; add honey, soy sauce and bay leaf. Slowly bring to the boil.\\r\\nTurn down heat and simmer for 20 minutes or until sauce thickens but is still of pouring consistency. Stir in garam masala. Pour the curry sauce through a sieve; return to saucepan and keep on low heat until ready to serve.\\r\\nFor the chicken: Season both sides of chicken breasts with salt and pepper. Place flour, egg and breadcrumbs in separate bowls and arrange in a row. Coat the chicken breasts in flour, then dip them into the egg, then coat in breadcrumbs, making sure you cover both sides.\\r\\nHeat oil in large frying pan over medium-high heat. Place chicken into hot oil and cook until golden brown, about 3 or 4 minutes each side. Once cooked, place on kitchen paper to absorb excess oil.\\r\\nPour curry sauce over chicken, serve with white rice and enjoy!\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/vwrpps1503068729.jpg\",\n    \"strTags\": \"Curry,Meat\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=MWzxDFRtVbc\",\n    \"strIngredient1\": \"chicken breast\",\n    \"strIngredient2\": \"plain flour\",\n    \"strIngredient3\": \"egg\",\n    \"strIngredient4\": \"breadcrumbs\",\n    \"strIngredient5\": \"vegetable oil\",\n    \"strIngredient6\": \"sunflower oil\",\n    \"strIngredient7\": \"onions\",\n    \"strIngredient8\": \"garlic\",\n    \"strIngredient9\": \"carrot\",\n    \"strIngredient10\": \"plain flour\",\n    \"strIngredient11\": \"curry powder\",\n    \"strIngredient12\": \"chicken stock\",\n    \"strIngredient13\": \"honey\",\n    \"strIngredient14\": \"soy sauce\",\n    \"strIngredient15\": \"bay leaf\",\n    \"strIngredient16\": \"garam masala\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"4 pounded to 1cm thickness\",\n    \"strMeasure2\": \"2 tablespoons\",\n    \"strMeasure3\": \"1 beaten\",\n    \"strMeasure4\": \"100g fine\",\n    \"strMeasure5\": \"230ml frying\",\n    \"strMeasure6\": \"2 tablespoons\",\n    \"strMeasure7\": \"2 sliced\",\n    \"strMeasure8\": \"5 chopped cloves\",\n    \"strMeasure9\": \"2 sliced\",\n    \"strMeasure10\": \"2 tablespoons\",\n    \"strMeasure11\": \"4 teaspoons\",\n    \"strMeasure12\": \"600ml\",\n    \"strMeasure13\": \"2 teaspoons\",\n    \"strMeasure14\": \"4 teaspoons\",\n    \"strMeasure15\": \"1\",\n    \"strMeasure16\": \"1 teaspoon\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://allrecipes.co.uk/recipe/29578/chicken-katsu-curry.aspx\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 32\n  },\n  {\n    \"idMeal\": \"52859\",\n    \"strMeal\": \"Key Lime Pie\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"Heat the oven to 160C/fan 140C/gas 3. Whizz the biscuits to crumbs in a food processor (or put in a strong plastic bag and bash with a rolling pin). Mix with the melted butter and press into the base and up the sides of a 22cm loose-based tart tin. Bake in the oven for 10 minutes. Remove and cool.\\r\\nPut the egg yolks in a large bowl and whisk for a minute with electric beaters. Add the condensed milk and whisk for 3 minutes then add the zest and juice and whisk again for 3 minutes. Pour the filling into the cooled base then put back in the oven for 15 minutes. Cool then chill for at least 3 hours or overnight if you like.\\r\\nWhen you are ready to serve, carefully remove the pie from the tin and put on a serving plate. To decorate, softly whip together the cream and icing sugar. Dollop or pipe the cream onto the top of the pie and finish with extra lime zest.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/qpqtuu1511386216.jpg\",\n    \"strTags\": \"Cake,Pie,Desert,Fruity,Sour\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=q4Rz7tUkX9A\",\n    \"strIngredient1\": \"Digestive Biscuits\",\n    \"strIngredient2\": \"Butter\",\n    \"strIngredient3\": \"Condensed Milk\",\n    \"strIngredient4\": \"Egg Yolks\",\n    \"strIngredient5\": \"Lime\",\n    \"strIngredient6\": \"Double Cream\",\n    \"strIngredient7\": \"Icing Sugar\",\n    \"strIngredient8\": \"Lime\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"300g\",\n    \"strMeasure2\": \"150g\",\n    \"strMeasure3\": \"400g\",\n    \"strMeasure4\": \"3\",\n    \"strMeasure5\": \"4\",\n    \"strMeasure6\": \"300ml \",\n    \"strMeasure7\": \"1 tbls\",\n    \"strMeasure8\": \"to serve\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/2155644/key-lime-pie\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 33\n  },\n  {\n    \"idMeal\": \"52868\",\n    \"strMeal\": \"Kidney Bean Curry\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Indian\",\n    \"strInstructions\": \"Heat the oil in a large frying pan over a low-medium heat. Add the onion and a pinch of salt and cook slowly, stirring occasionally, until softened and just starting to colour. Add the garlic, ginger and coriander stalks and cook for a further 2 mins, until fragrant.\\r\\n\\r\\nAdd the spices to the pan and cook for another 1 min, by which point everything should smell aromatic. Tip in the chopped tomatoes and kidney beans in their water, then bring to the boil.\\r\\n\\r\\nTurn down the heat and simmer for 15 mins until the curry is nice and thick. Season to taste, then serve with the basmati rice and the coriander leaves.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/sywrsu1511463066.jpg\",\n    \"strTags\": \"Curry\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=Tp_PMWvIKzo\",\n    \"strIngredient1\": \"Vegetable Oil\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Garlic\",\n    \"strIngredient4\": \"Ginger\",\n    \"strIngredient5\": \"Coriander\",\n    \"strIngredient6\": \"Cumin\",\n    \"strIngredient7\": \"Paprika\",\n    \"strIngredient8\": \"Garam Masala\",\n    \"strIngredient9\": \"Chopped Tomatoes\",\n    \"strIngredient10\": \"Kidney Beans\",\n    \"strIngredient11\": \"Basmati Rice\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 tbls\",\n    \"strMeasure2\": \"1 finely chopped \",\n    \"strMeasure3\": \"2 cloves chopped\",\n    \"strMeasure4\": \"1 part \",\n    \"strMeasure5\": \"1 Packet\",\n    \"strMeasure6\": \"1 tsp \",\n    \"strMeasure7\": \"1 tsp \",\n    \"strMeasure8\": \"2 tsp\",\n    \"strMeasure9\": \"400g\",\n    \"strMeasure10\": \"400g\",\n    \"strMeasure11\": \"to serve\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/kidney-bean-curry\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 34\n  },\n  {\n    \"idMeal\": \"52887\",\n    \"strMeal\": \"Kedgeree\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"For the rice, heat the oil in a large, lidded pan, add the onion, then gently fry for 5 mins until softened but not coloured. Add the spices, season with salt, then continue to fry until the mix start to go brown and fragrant; about 3 mins.\\r\\nAdd the rice and stir in well. Add 600ml water, stir, then bring to the boil. Reduce to a simmer, then cover for 10 mins. Take off the heat and leave to stand, covered, for 10-15 mins more. The rice will be perfectly cooked if you do not lift the lid before the end of the cooking.\\r\\nMeanwhile, put the haddock and bay leaves in a frying pan, cover with the milk, then poach for 10 mins until the flesh flakes. Remove from the milk, peel away the skin, then flake the flesh into thumbsize pieces. Place the eggs in a pan, cover with water, bring to the boil, then reduce to a simmer. Leave for 4½-5 mins, plunge into cold water, then peel and cut the eggs into quarters. Gently mix the fish, eggs, parsley, coriander and rice together in the pan. Serve hot, sprinkled with a few extra herbs.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/utxqpt1511639216.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=_Pw1I1-SItE\",\n    \"strIngredient1\": \"Smoked Haddock\",\n    \"strIngredient2\": \"Bay Leaves\",\n    \"strIngredient3\": \"Milk\",\n    \"strIngredient4\": \"Eggs\",\n    \"strIngredient5\": \"Parsley\",\n    \"strIngredient6\": \"Coriander\",\n    \"strIngredient7\": \"Vegetable Oil\",\n    \"strIngredient8\": \"Onion\",\n    \"strIngredient9\": \"Coriander\",\n    \"strIngredient10\": \"Curry Powder\",\n    \"strIngredient11\": \"Rice\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"300g\",\n    \"strMeasure2\": \"2\",\n    \"strMeasure3\": \"300ml \",\n    \"strMeasure4\": \"4\",\n    \"strMeasure5\": \"Handful\",\n    \"strMeasure6\": \"Handful\",\n    \"strMeasure7\": \"2 tbs\",\n    \"strMeasure8\": \"1 chopped\",\n    \"strMeasure9\": \"1 tsp \",\n    \"strMeasure10\": \"2 tsp\",\n    \"strMeasure11\": \"300g\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/10421/kedgeree\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 35\n  },\n  {\n    \"idMeal\": \"52945\",\n    \"strMeal\": \"Kung Pao Chicken\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Chinese\",\n    \"strInstructions\": \"Combine the sake or rice wine, soy sauce, sesame oil and cornflour dissolved in water. Divide mixture in half.\\r\\nIn a glass dish or bowl, combine half of the sake mixture with the chicken pieces and toss to coat. Cover dish and place in refrigerator for about 30 minutes.\\r\\nIn a medium frying pan, combine remaining sake mixture, chillies, vinegar and sugar. Mix together and add spring onion, garlic, water chestnuts and peanuts. Heat sauce slowly over medium heat until aromatic.\\r\\nMeanwhile, remove chicken from marinade and sauté in a large frying pan until juices run clear. When sauce is aromatic, add sautéed chicken and let simmer together until sauce thickens.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1525872624.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=QqdcCHQlOe0\",\n    \"strIngredient1\": \"Sake\",\n    \"strIngredient2\": \"Soy Sauce\",\n    \"strIngredient3\": \"Sesame Seed Oil\",\n    \"strIngredient4\": \"Corn Flour\",\n    \"strIngredient5\": \"Water\",\n    \"strIngredient6\": \"Chicken\",\n    \"strIngredient7\": \"Chilli Powder\",\n    \"strIngredient8\": \"Rice Vinegar\",\n    \"strIngredient9\": \"Brown Sugar\",\n    \"strIngredient10\": \"Spring Onions\",\n    \"strIngredient11\": \"Garlic Clove\",\n    \"strIngredient12\": \"Water Chestnut\",\n    \"strIngredient13\": \"Peanuts\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 tbs\",\n    \"strMeasure2\": \"2 tbs\",\n    \"strMeasure3\": \"2 tbs\",\n    \"strMeasure4\": \"2 tbs\",\n    \"strMeasure5\": \"2 tbs\",\n    \"strMeasure6\": \"500g\",\n    \"strMeasure7\": \"1 tbs\",\n    \"strMeasure8\": \"1 tsp \",\n    \"strMeasure9\": \"1 tbs\",\n    \"strMeasure10\": \"4 Chopped\",\n    \"strMeasure11\": \"6 cloves\",\n    \"strMeasure12\": \"220g\",\n    \"strMeasure13\": \"100g \",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://allrecipes.co.uk/recipe/1773/kung-pao-chicken.aspx\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 36\n  },\n  {\n    \"idMeal\": \"52946\",\n    \"strMeal\": \"Kung Po Prawns\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"Chinese\",\n    \"strInstructions\": \"Mix the cornflour and 1 tbsp soy sauce, toss in the prawns and set aside for 10 mins. Stir the vinegar, remaining soy sauce, tomato purée, sugar and 2 tbsp water together to make a sauce.\\r\\n\\r\\nWhen you’re ready to cook, heat a large frying pan or wok until very hot, then add 1 tbsp oil. Fry the prawns until they are golden in places and have opened out– then tip them out of the pan.\\r\\n\\r\\nHeat the remaining oil and add the peanuts, chillies and water chestnuts. Stir-fry for 2 mins or until the peanuts start to colour, then add the ginger and garlic and fry for 1 more min. Tip in the prawns and sauce and simmer for 2 mins until thickened slightly. Serve with rice.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1525873040.jpg\",\n    \"strTags\": \"BBQ\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=ysiuZm9FIxs\",\n    \"strIngredient1\": \"Prawns\",\n    \"strIngredient2\": \"Soy Sauce\",\n    \"strIngredient3\": \"Tomato Puree\",\n    \"strIngredient4\": \"Corn Flour\",\n    \"strIngredient5\": \"Caster Sugar\",\n    \"strIngredient6\": \"Sunflower Oil\",\n    \"strIngredient7\": \"Peanuts\",\n    \"strIngredient8\": \"Chilli\",\n    \"strIngredient9\": \"Brown Sugar\",\n    \"strIngredient10\": \"Garlic Clove\",\n    \"strIngredient11\": \"Water Chestnut\",\n    \"strIngredient12\": \"Ginger\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"400g\",\n    \"strMeasure2\": \"2 tbs\",\n    \"strMeasure3\": \"1 tsp \",\n    \"strMeasure4\": \"1 tsp \",\n    \"strMeasure5\": \"1 tsp \",\n    \"strMeasure6\": \"1 tsp \",\n    \"strMeasure7\": \"85g\",\n    \"strMeasure8\": \"3 Large\",\n    \"strMeasure9\": \"1 tbs\",\n    \"strMeasure10\": \"6 cloves\",\n    \"strMeasure11\": \"450g\",\n    \"strMeasure12\": \"to taste\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/1415664/kung-po-prawns\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 37\n  },\n  {\n    \"idMeal\": \"52971\",\n    \"strMeal\": \"Kafteji\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Tunisian\",\n    \"strInstructions\": \"Peel potatoes and cut into 5cm cubes.\\r\\nPour 1-2 cm of olive oil into a large pan and heat up very hot. Fry potatoes until golden brown for 20 minutes, turning from time to time. Place on kitchen paper to drain.\\r\\nCut the peppers in half and remove seeds. Rub a little olive oil on them and place the cut side down on a baking tray. Place them under the grill. Grill until the skin is dark and bubbly. While the peppers are still hot, put them into a plastic sandwich bag and seal it. Take them out after 15 minutes and remove skins.\\r\\nIn the meantime, heat more olive oil another pan. Peel the onions and cut into thin rings. Fry for 15 minutes until golden brown, turning them often. Add the Ras el hanout at the end.\\r\\nCut the pumpkin into 5cm cubes and fry in the same pan you used for the potatoes for 10-15 minutes until it is soft and slightly browned. Place on kitchen paper.\\r\\nPour the remaining olive oil out of the pan and put all the cooked vegetables into the pan and mix. Whisk eggs and pour them over the vegetables. Put the lid on the pan so that the eggs cook. Put the contents of the pan onto a large chopping board, add salt and pepper and chopped and mix everything with a big knife.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1bsv1q1560459826.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=-TFf-Zu-xQU\",\n    \"strIngredient1\": \"Potatoes\",\n    \"strIngredient2\": \"Olive Oil\",\n    \"strIngredient3\": \"Green Pepper\",\n    \"strIngredient4\": \"Onions\",\n    \"strIngredient5\": \"Ras el hanout\",\n    \"strIngredient6\": \"Pumpkin\",\n    \"strIngredient7\": \"Eggs\",\n    \"strIngredient8\": \"Salt\",\n    \"strIngredient9\": \"Pepper\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"5 Large\",\n    \"strMeasure2\": \"2 tbs\",\n    \"strMeasure3\": \"1\",\n    \"strMeasure4\": \"5\",\n    \"strMeasure5\": \"1 tbs\",\n    \"strMeasure6\": \"500g\",\n    \"strMeasure7\": \"24 Skinned\",\n    \"strMeasure8\": \"Pinch\",\n    \"strMeasure9\": \"Pinch\",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"http://allrecipes.co.uk/recipe/12294/kafteji--tunisian-fried-vegetables-.aspx\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 38\n  },\n  {\n    \"idMeal\": \"52974\",\n    \"strMeal\": \"Keleya Zaara\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Lamb\",\n    \"strArea\": \"Tunisian\",\n    \"strInstructions\": \"Heat the vegetable oil in a large frying pan over medium-high heat. Add the lamb and cook until browned on all sides, about 5 minutes. Season with saffron, salt and pepper to taste; stir in all but 4 tablespoons of the onion, and pour in the water. Bring to the boil, then cover, reduce heat to medium-low, and simmer until the lamb is tender, about 15 minutes.\\r\\nUncover the pan, stir in the butter and allow the sauce reduce 5 to 10 minutes to desired consistency. Season to taste with salt and pepper, then pour into a serving dish. Sprinkle with the remaining chopped onions and parsley. Garnish with lemon wedges to serve.\\r\\n\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/8x09hy1560460923.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=u_OSIChzuL0\",\n    \"strIngredient1\": \"Olive Oil\",\n    \"strIngredient2\": \"Lamb\",\n    \"strIngredient3\": \"Saffron\",\n    \"strIngredient4\": \"Onion\",\n    \"strIngredient5\": \"Water\",\n    \"strIngredient6\": \"Parsley\",\n    \"strIngredient7\": \"Butter\",\n    \"strIngredient8\": \"Lemon\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"4 tbs\",\n    \"strMeasure2\": \"750g\",\n    \"strMeasure3\": \"1 1/2 tsp \",\n    \"strMeasure4\": \"1 Large Chopped\",\n    \"strMeasure5\": \"25 ml\",\n    \"strMeasure6\": \"30g\",\n    \"strMeasure7\": \"1 tbs\",\n    \"strMeasure8\": \"1\",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"http://allrecipes.co.uk/recipe/43723/keleya-zaara-tunisian-lamb-with-saffron.aspx\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 39\n  },\n  {\n    \"idMeal\": \"52978\",\n    \"strMeal\": \"Kumpir\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Side\",\n    \"strArea\": \"Turkish\",\n    \"strInstructions\": \"If you order kumpir in Turkey, the standard filling is first, lots of butter mashed into the potato, followed by cheese. There’s then a row of other toppings that you can just point at to your heart’s content – sweetcorn, olives, salami, coleslaw, Russian salad, allsorts – and you walk away with an over-stuffed potato because you got ever-excited by the choices on offer.\\r\\n\\r\\nGrate (roughly – you can use as much as you like) 150g of cheese.\\r\\nFinely chop one onion and one sweet red pepper.\\r\\nPut these ingredients into a large bowl with a good sprinkling of salt and pepper, chilli flakes (optional).\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/mlchx21564916997.jpg\",\n    \"strTags\": \"SideDish\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=IEDEtZ4UVtI\",\n    \"strIngredient1\": \"Potatoes\",\n    \"strIngredient2\": \"Butter\",\n    \"strIngredient3\": \"Cheese\",\n    \"strIngredient4\": \"Onion\",\n    \"strIngredient5\": \"Red Pepper\",\n    \"strIngredient6\": \"Red Chile Flakes\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 large\",\n    \"strMeasure2\": \"2 tbs\",\n    \"strMeasure3\": \"150g\",\n    \"strMeasure4\": \"1 large\",\n    \"strMeasure5\": \"1 large\",\n    \"strMeasure6\": \"Pinch\",\n    \"strMeasure7\": \" \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"http://www.turkeysforlife.com/2013/10/firinda-kumpir-turkish-street-food.html\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 40\n  },\n  {\n    \"idMeal\": \"53015\",\n    \"strMeal\": \"Krispy Kreme Donut\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"Dissolve yeast in warm water in 2 1/2-quart bowl. Add milk, sugar, salt, eggs, shortening and 2 cups flour. Beat on low for 30 seconds, scraping bowl constantly. Beat on medium speed for 2 minutes, scraping bowl occasionally. Stir in remaining flour until smooth. Cover and let rise until double, 50-60 minutes. (Dough is ready when indentation remains when touched.) Turn dough onto floured surface; roll around lightly to coat with flour. Gently roll dough 1/2-inch thick with floured rolling pin. Cut with floured doughnut cutter. Cover and let rise until double, 30-40 minutes.\\r\\nHeat vegetable oil in deep fryer to 350°. Slide doughnuts into hot oil with wide spatula. Turn doughnuts as they rise to the surface. Fry until golden brown, about 1 minute on each side. Remove carefully from oil (do not prick surface); drain. Dip the doughnuts into creamy glaze set on rack.\\r\\n\\r\\n\\r\\nGlaze: \\r\\nHeat butter until melted. Remove from heat. Stir in powdered sugar and vanilla until smooth. Stir in water, 1 tablespoon at a time, until desired consistency.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/4i5cnx1587672171.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=SamYg6IUGOI\",\n    \"strIngredient1\": \"Yeast\",\n    \"strIngredient2\": \"Water\",\n    \"strIngredient3\": \"Water\",\n    \"strIngredient4\": \"Sugar\",\n    \"strIngredient5\": \"Salt\",\n    \"strIngredient6\": \"Eggs\",\n    \"strIngredient7\": \"Shortening\",\n    \"strIngredient8\": \"Flour\",\n    \"strIngredient9\": \"Canola Oil\",\n    \"strIngredient10\": \"Milk\",\n    \"strIngredient11\": \"Sugar\",\n    \"strIngredient12\": \"Vanilla\",\n    \"strIngredient13\": \"Boiling Water\",\n    \"strIngredient14\": \"Butter\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1/4 ounce\",\n    \"strMeasure2\": \"1/4 cup\",\n    \"strMeasure3\": \"1 1/2 cups \",\n    \"strMeasure4\": \"1/2 cup \",\n    \"strMeasure5\": \"1 tsp \",\n    \"strMeasure6\": \"2\",\n    \"strMeasure7\": \"1/3 cup\",\n    \"strMeasure8\": \"5 drops\",\n    \"strMeasure9\": \"Sprinking\",\n    \"strMeasure10\": \"1/2 cup\",\n    \"strMeasure11\": \"2 cups \",\n    \"strMeasure12\": \"1 1/2 cups \",\n    \"strMeasure13\": \"6 tablespoons\",\n    \"strMeasure14\": \" 1/3 cup\",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.mythirtyspot.com/krispy-kreme-copycat-recipe-for/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 41\n  },\n  {\n    \"idMeal\": \"53027\",\n    \"strMeal\": \"Koshari\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Egyptian\",\n    \"strInstructions\": \"Cook the lentils. Bring lentils and 4 cups of water to a boil in a medium pot or saucepan over high heat. Reduce the heat to low and cook until lentils are just tender (15-17 minutes). Drain from water and season with a little salt. (Note: when the lentils are ready, they should not be fully cooked. They should be only par-cooked and still have a bite to them as they need to finish cooking with the rice).\\r\\nNow, for the rice. Drain the rice from its soaking water. Combine the par-cooked lentils and the rice in the saucepan over medium-high heat with 1 tbsp cooking oil, salt, pepper, and coriander. Cook for 3 minutes, stirring regularly. Add warm water to cover the rice and lentil mixture by about 1 1/2 inches (you’ll probably use about 3 cups of water here). Bring to a boil; the water should reduce a bit. Now cover and cook until all the liquid has been absorbed and both the rice and lentils are well cooked through (about 20 minutes).  Keep covered and undisturbed for 5 minutes or so.\\r\\nNow make the pasta. While the rice and lentils are cooking, make the pasta according to package instructions by adding the elbow pasta to boiling water with a dash of salt and a little oil. Cook until the pasta is al dente. Drain.\\r\\nCover the chickpeas and warm in the microwave briefly before serving.\\r\\n\\r\\nMake the crispy onion topping. \\r\\n\\r\\nSprinkle the onion rings with salt, then toss them in the flour to coat. Shake off excess flour.\\r\\nIn a large skillet, heat the cooking oil over medium-high heat, cook the onion rings, stirring often, until they turn a nice caramelized brown. Onions must be crispy, but not burned (15-20 minutes).\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/4er7mj1598733193.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=y0d2ZMZBW4Y\",\n    \"strIngredient1\": \"Brown Lentils\",\n    \"strIngredient2\": \"Rice\",\n    \"strIngredient3\": \"Coriander\",\n    \"strIngredient4\": \"Macaroni\",\n    \"strIngredient5\": \"Chickpeas\",\n    \"strIngredient6\": \"Onion\",\n    \"strIngredient7\": \"Salt\",\n    \"strIngredient8\": \"Vegetable Oil\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 1/2 cups \",\n    \"strMeasure2\": \"1 1/2 cups \",\n    \"strMeasure3\": \"1/2 tsp\",\n    \"strMeasure4\": \"2 cups \",\n    \"strMeasure5\": \"Can\",\n    \"strMeasure6\": \"1 large\",\n    \"strMeasure7\": \"Sprinking\",\n    \"strMeasure8\": \"1/2 cup \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.themediterraneandish.com/egyptian-koshari-recipe/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 42\n  },\n  {\n    \"idMeal\": \"52764\",\n    \"strMeal\": \"Garides Saganaki\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"Greek\",\n    \"strInstructions\": \"Place the prawns in a pot and add enough water to cover. Boil for 5 minutes. Drain, reserving the liquid, and set aside.\\r\\nHeat 2 tablespoons of oil in a saucepan. Add the onion; cook and stir until soft. Mix in the parsley, wine, tomatoes, garlic and remaining olive oil. Simmer, stirring occasionally, for about 30 minutes, or until the sauce is thickened.\\r\\nWhile the sauce is simmering, the prawns should become cool enough to handle. First remove the legs by pinching them, and then pull off the shells, leaving the head and tail on.\\r\\nWhen the sauce has thickened, stir in the prawns. Bring to a simmer again if the sauce has cooled with the prawns, and cook for about 5 minutes. Add the feta and remove from the heat. Let stand until the cheese starts to melt. Serve warm with slices of crusty bread.\\r\\nThough completely untraditional, you can add a few tablespoons of stock or passata to this recipe to make a delicious pasta sauce. Toss with pasta after adding the feta, and serve.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wuvryu1468232995.jpg\",\n    \"strTags\": \"Seafood,Shellfish\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=uO0ejc85zSE\",\n    \"strIngredient1\": \"Raw king prawns\",\n    \"strIngredient2\": \"Olive oil\",\n    \"strIngredient3\": \"Chopped onion\",\n    \"strIngredient4\": \"Freshly chopped parsley\",\n    \"strIngredient5\": \"White wine\",\n    \"strIngredient6\": \"Chopped tomatoes\",\n    \"strIngredient7\": \"Minced garlic\",\n    \"strIngredient8\": \"Cubed Feta cheese\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": null,\n    \"strIngredient17\": null,\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"500g\",\n    \"strMeasure2\": \"3 tablespoons\",\n    \"strMeasure3\": \"1\",\n    \"strMeasure4\": \"pinch\",\n    \"strMeasure5\": \"250ml\",\n    \"strMeasure6\": \"1 (400g) tin\",\n    \"strMeasure7\": \"1/2 teaspoon\",\n    \"strMeasure8\": \"1 (200g) pack\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": null,\n    \"strMeasure17\": null,\n    \"strMeasure18\": null,\n    \"strMeasure19\": null,\n    \"strMeasure20\": null,\n    \"strSource\": null,\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 43\n  },\n  {\n    \"idMeal\": \"52829\",\n    \"strMeal\": \"Grilled Mac and Cheese Sandwich\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pasta\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"Make the mac and cheese\\r\\n\\r\\n1. Bring a medium saucepan of generously salted water (you want it to taste like seawater) to a boil. Add the pasta and cook, stirring occasionally, until al dente, 8 to 10 minutes, or according to the package directions. The pasta should be tender but still chewy.\\r\\n2. While the pasta is cooking, in a small bowl, whisk together the flour, mustard powder, garlic powder, salt, black pepper, and cayenne pepper.\\r\\n3. Drain the pasta in a colander. Place the empty pasta pan (no need to wash it) over low heat and add the butter. When the butter has melted, whisk in the flour mixture and continue to cook, whisking frequently, until the mixture is beginning to brown and has a pleasant, nutty aroma, about 1 minute. Watch carefully so it does not scorch on the bottom of the pan.\\r\\n4. Slowly whisk the milk and cream into the flour mixture until everything is really well combined. Cook, whisking constantly, until the sauce is heated through and just begins to thicken, about 2 minutes. Remove from the heat. Gradually add the cheese while stirring constantly with a wooden spoon or silicone spatula and keep stirring until the cheese has melted into the sauce. Then stir in the drained cooked pasta.\\r\\n5. Line a 9-by-13-inch (23-by-33-centimeter) rimmed baking sheet with parchment paper or aluminum foil. Coat the paper or foil with nonstick cooking spray or slick it with butter. Pour the warm mac and cheese onto the prepared baking sheet and spread it evenly with a spatula. Coat another piece of parchment paper with cooking spray or butter and place it, oiled or buttered side down, directly on the surface of the mac and cheese. Refrigerate until cool and firm, about 1 hour.\\r\\n\\r\\nMake the grilled cheese\\r\\n6. Heat a large cast-iron or nonstick skillet over medium-low heat.\\r\\n7. In a small bowl, stir together the 4 tablespoons (55 grams) butter and garlic powder until well blended.\\r\\n8. Remove the mac and cheese from the refrigerator and peel off the top layer of parchment paper. Carefully cut into 8 equal pieces. Each piece will make 1 grilled mac and cheese sandwich. (You can stash each individual portion in a double layer of resealable plastic bags and refrigerate for up to 3 days or freeze it for up to 1 month.)\\r\\n9. Spread 3/4 teaspoon garlic butter on one side of each bread slice. Place half of the slices, buttered-side down, on a clean cutting board. Top each with one slice of Cheddar, then 1 piece of the mac and cheese. (Transfer from the baking sheet by scooting your hand or a spatula under each piece of mac and cheese and then flipping it over onto a sandwich.) Place 1 slice of Jack on top of each. Finish with the remaining bread slices, buttered-side up.\\r\\n10. Using a wide spatula, place as many sandwiches in the pan as will fit without crowding it. Cover and cook until the bottoms are nicely browned, about 4 minutes. Turn and cook until the second sides are browned, the cheese is melted, and the mac and cheese is heated through, about 4 minutes more.\\r\\n11. Repeat with the remaining ingredients. Cut the sandwiches in half, if desired, and serve.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/xutquv1505330523.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=PYq31xLj-DY\",\n    \"strIngredient1\": \"Macaroni\",\n    \"strIngredient2\": \"Plain Flour\",\n    \"strIngredient3\": \"Mustard Powder\",\n    \"strIngredient4\": \"Garlic powder\",\n    \"strIngredient5\": \"Kosher salt\",\n    \"strIngredient6\": \"Black pepper\",\n    \"strIngredient7\": \"Cayenne pepper\",\n    \"strIngredient8\": \"Butter\",\n    \"strIngredient9\": \"Whole Milk\",\n    \"strIngredient10\": \"Heavy Cream\",\n    \"strIngredient11\": \"Monterey Jack Cheese\",\n    \"strIngredient12\": \"Butter\",\n    \"strIngredient13\": \"garlic powder\",\n    \"strIngredient14\": \"Bread\",\n    \"strIngredient15\": \"Cheddar Cheese\",\n    \"strIngredient16\": \"Colby Jack Cheese\",\n    \"strIngredient17\": \"Butter\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"8 ounces (230 grams)\",\n    \"strMeasure2\": \"1/3 cup\",\n    \"strMeasure3\": \"3/4 teaspoon\",\n    \"strMeasure4\": \"1/2 teaspoon\",\n    \"strMeasure5\": \"1/2 teaspoon\",\n    \"strMeasure6\": \"1/2 teaspoon\",\n    \"strMeasure7\": \"1/8 teaspoon\",\n    \"strMeasure8\": \"6 tablespoons (85 grams)\",\n    \"strMeasure9\": \"1 1/2 cups (360 milliliters)\",\n    \"strMeasure10\": \"1 cup (240 milliliters)\",\n    \"strMeasure11\": \"1 pound (455 grams) \",\n    \"strMeasure12\": \"4 tablespoons (55 grams)\",\n    \"strMeasure13\": \"1 teaspoon\",\n    \"strMeasure14\": \"16 slices square\",\n    \"strMeasure15\": \"8 slices mild\",\n    \"strMeasure16\": \"8 slices\",\n    \"strMeasure17\": \"4 tablespoons (55 grams)\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://leitesculinaria.com/103647/recipes-grilled-mac-and-cheese-sandwich.html\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 44\n  },\n  {\n    \"idMeal\": \"52951\",\n    \"strMeal\": \"General Tso's Chicken\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Chinese\",\n    \"strInstructions\": \"DIRECTIONS:\\r\\nSTEP 1 - SAUCE\\r\\nIn a bowl, add 2 Cups of water, 2 Tablespoon soy sauce, 2 Tablespoon white vinegar, sherry cooking wine, 1/4 Teaspoon white pepper, minced ginger, minced garlic, hot pepper, ketchup, hoisin sauce, and sugar.\\r\\nMix together well and set aside.\\r\\nSTEP 2 - MARINATING THE CHICKEN\\r\\nIn a bowl, add the chicken, 1 pinch of salt, 1 pinch of white pepper, 2 egg whites, and 3 Tablespoon of corn starch\\r\\nSTEP 3 - DEEP FRY THE CHICKEN\\r\\nDeep fry the chicken at 350 degrees for 3-4 minutes or until it is golden brown and loosen up the chicken so that they don't stick together.\\r\\nSet the chicken aside.\\r\\nSTEP 4 - STIR FRY\\r\\nAdd the sauce to the wok and then the broccoli and wait until it is boiling.\\r\\nTo thicken the sauce, whisk together 2 Tablespoon of cornstarch and 4 Tablespoon of water in a bowl and slowly add to your stir-fry until it's the right thickness.\\r\\nNext add in the chicken and stir-fry for a minute and serve on a plate\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1529444113.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=wWGwz0iBmvU\",\n    \"strIngredient1\": \"Chicken Breast\",\n    \"strIngredient2\": \"Plain Flour\",\n    \"strIngredient3\": \"Egg\",\n    \"strIngredient4\": \"Starch\",\n    \"strIngredient5\": \"Baking Powder\",\n    \"strIngredient6\": \"Salt\",\n    \"strIngredient7\": \"Onion Salt\",\n    \"strIngredient8\": \"Garlic Powder\",\n    \"strIngredient9\": \"Water\",\n    \"strIngredient10\": \"Chicken Stock\",\n    \"strIngredient11\": \"Duck Sauce\",\n    \"strIngredient12\": \"Soy Sauce\",\n    \"strIngredient13\": \"Honey\",\n    \"strIngredient14\": \"Rice Vinegar\",\n    \"strIngredient15\": \"Sesame Seed Oil\",\n    \"strIngredient16\": \"Gochujang\",\n    \"strIngredient17\": \"Starch\",\n    \"strIngredient18\": \"Garlic\",\n    \"strIngredient19\": \"Spring Onions\",\n    \"strIngredient20\": \"Ginger\",\n    \"strMeasure1\": \"1 1/2 \",\n    \"strMeasure2\": \"3/4 cup \",\n    \"strMeasure3\": \"1\",\n    \"strMeasure4\": \"2 tbs\",\n    \"strMeasure5\": \"1 tbs\",\n    \"strMeasure6\": \"1 tsp \",\n    \"strMeasure7\": \"1/2 tsp\",\n    \"strMeasure8\": \"1/4 tsp\",\n    \"strMeasure9\": \"3/4 cup \",\n    \"strMeasure10\": \"1/2 cup \",\n    \"strMeasure11\": \"1/4 cup\",\n    \"strMeasure12\": \"3 tbs\",\n    \"strMeasure13\": \"2 tbs\",\n    \"strMeasure14\": \"1 tbs\",\n    \"strMeasure15\": \"2 tbs\",\n    \"strMeasure16\": \"1/2 tbs\",\n    \"strMeasure17\": \"2 tbs\",\n    \"strMeasure18\": \"1 clove\",\n    \"strMeasure19\": \"2 chopped\",\n    \"strMeasure20\": \"1 tsp \",\n    \"strSource\": \"https://www.skinnytaste.com/general-tsos-chicken/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 45\n  },\n  {\n    \"idMeal\": \"53012\",\n    \"strMeal\": \"Gigantes Plaki\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Greek\",\n    \"strInstructions\": \"Soak the beans overnight in plenty of water. Drain, rinse, then place in a pan covered with water. Bring to the boil, reduce the heat, then simmer for approx 50 mins until slightly tender but not soft. Drain, then set aside.\\r\\n\\r\\nHeat oven to 180C/160C fan/gas 4. Heat the olive oil in a large frying pan, tip in the onion and garlic, then cook over a medium heat for 10 mins until softened but not browned. Add the tomato purée, cook for a further min, add remaining ingredients, then simmer for 2-3 mins. Season generously, then stir in the beans. Tip into a large ovenproof dish, then bake for approximately 1 hr, uncovered and without stirring, until the beans are tender. The beans will absorb all the fabulous flavours and the sauce will thicken. Allow to cool, then scatter with parsley and drizzle with a little more olive oil to serve.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/b79r6f1585566277.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=e-2K2iyPASA\",\n    \"strIngredient1\": \"Butter Beans\",\n    \"strIngredient2\": \"Olive Oil\",\n    \"strIngredient3\": \"Onion\",\n    \"strIngredient4\": \"Garlic Clove\",\n    \"strIngredient5\": \"Tomato Puree\",\n    \"strIngredient6\": \"Tomatoes\",\n    \"strIngredient7\": \"Sugar\",\n    \"strIngredient8\": \"Dried Oregano\",\n    \"strIngredient9\": \"Cinnamon\",\n    \"strIngredient10\": \"Chopped Parsley\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"400g\",\n    \"strMeasure2\": \"3 tbs\",\n    \"strMeasure3\": \"1 chopped\",\n    \"strMeasure4\": \"2 chopped\",\n    \"strMeasure5\": \"2 tbs\",\n    \"strMeasure6\": \"800g\",\n    \"strMeasure7\": \"1 tbs\",\n    \"strMeasure8\": \"1 tbs\",\n    \"strMeasure9\": \"Pinch\",\n    \"strMeasure10\": \"2 tbs\",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/gigantes-plaki\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 46\n  },\n  {\n    \"idMeal\": \"53021\",\n    \"strMeal\": \"Gołąbki (cabbage roll)\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Polish\",\n    \"strInstructions\": \"Bring a large pot of lightly salted water to a boil. Place cabbage head into water, cover pot, and cook until cabbage leaves are slightly softened enough to remove from head, 3 minutes. Remove cabbage from pot and let cabbage sit until leaves are cool enough to handle, about 10 minutes.\\r\\n\\r\\nRemove 18 whole leaves from the cabbage head, cutting out any thick tough center ribs. Set whole leaves aside. Chop the remainder of the cabbage head and spread it in the bottom of a casserole dish.\\r\\n\\r\\nMelt butter in a large skillet over medium-high heat. Cook and stir onion in hot butter until tender, 5 to 10 minutes. Cool.\\r\\n\\r\\nStir onion, beef, pork, rice, garlic, 1 teaspoon salt, and 1/4 teaspoon pepper together in a large bowl.\\r\\n\\r\\nPreheat oven to 350 degrees F (175 degrees C).\\r\\n\\r\\nPlace about 1/2 cup beef mixture on a cabbage leaf. Roll cabbage around beef mixture, tucking in sides to create an envelope around the meat. Repeat with remaining leaves and meat mixture. Place cabbage rolls in a layer atop the chopped cabbage in the casserole dish; season rolls with salt and black pepper.\\r\\n\\r\\nWhisk tomato soup, tomato juice, and ketchup together in a bowl. Pour tomato soup mixture over cabbage rolls and cover dish wish aluminum foil.\\r\\n\\r\\nBake in the preheated oven until cabbage is tender and meat is cooked through, about 1 hour.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/q8sp3j1593349686.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=rBrTkDdoPYg\",\n    \"strIngredient1\": \"Cabbage\",\n    \"strIngredient2\": \"Butter\",\n    \"strIngredient3\": \"Onion\",\n    \"strIngredient4\": \"Ground Beef\",\n    \"strIngredient5\": \"Ground Pork\",\n    \"strIngredient6\": \"Rice\",\n    \"strIngredient7\": \"Garlic\",\n    \"strIngredient8\": \"Salt\",\n    \"strIngredient9\": \"Black Pepper\",\n    \"strIngredient10\": \"Tomato Puree\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1\",\n    \"strMeasure2\": \"2 tbs\",\n    \"strMeasure3\": \"1 chopped\",\n    \"strMeasure4\": \"1 lb\",\n    \"strMeasure5\": \"1/2 lb\",\n    \"strMeasure6\": \"1 1/2 cups \",\n    \"strMeasure7\": \"1 tsp \",\n    \"strMeasure8\": \"1 tsp \",\n    \"strMeasure9\": \"1/4 tsp\",\n    \"strMeasure10\": \"3 cans\",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.allrecipes.com/recipe/234975/golabki-stuffed-cabbage-rolls/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 47\n  },\n  {\n    \"idMeal\": \"53041\",\n    \"strMeal\": \"Grilled Portuguese sardines\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"Portuguese\",\n    \"strInstructions\": \"STEP 1\\r\\n\\r\\nPut all of the ingredients, except the sardines, into a bowl and mix together with some seasoning. Pour into a baking dish, add the sardines and toss really well. Cover and chill for a few hours.\\r\\n\\r\\nSTEP 2\\r\\n\\r\\nHeat a BBQ or griddle pan until hot. Cook the sardines for 4-5 minutes on each side or until really caramelised and charred. Put onto a serving plate, drizzle with oil, sprinkle with a little more paprika and squeeze over the lemon wedges.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/lpd4wy1614347943.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=JYtMjKa6cdY\",\n    \"strIngredient1\": \"Sardines\",\n    \"strIngredient2\": \"Olive Oil\",\n    \"strIngredient3\": \"Garlic\",\n    \"strIngredient4\": \"Paprika\",\n    \"strIngredient5\": \"Lemon\",\n    \"strIngredient6\": \"Rosemary\",\n    \"strIngredient7\": \"Red Chilli\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"8\",\n    \"strMeasure2\": \"2 tbs\",\n    \"strMeasure3\": \"3 cloves\",\n    \"strMeasure4\": \"1 tbs\",\n    \"strMeasure5\": \"1/2 \",\n    \"strMeasure6\": \"4 sprigs\",\n    \"strMeasure7\": \"1\",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.olivemagazine.com/recipes/fish-and-seafood/grilled-portuguese-sardines/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 48\n  },\n  {\n    \"idMeal\": \"53074\",\n    \"strMeal\": \"Grilled eggplant with coconut milk\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Filipino\",\n    \"strInstructions\": \".  Prepare the eggplants for grilling by pricking them all over with a fork.  This is so it won’t burst during the grilling process as the natural water in it heats up.\\r\\n2.  Grill the eggplants, turning them over frequently to ensure even cooking.  Grill until the skins are dark brown, even black and the eggplant is soft when you touch it.\\r\\n3.  Soak the grilled eggplant in a bowl of water to cool it down.  Peel the skin off the eggplant.  Place the whole eggplants in a shallow dish (my mom actually cuts the eggplant into small, bite-sized pieces).\\r\\n 4.  In a small mixing bowl, mix together the coconut milk or cream, lemon powder, salt and hot pepper.  Mix until the lemon powder and salt dissolve.  Taste, then adjust the amount of lemon powder, salt and hot pepper to your liking.  Pour the mixture over the eggplant.  Sprinkle the green onions over the eggplant and coconut milk.  Stir gently to combine. \\r\\n\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/bopa2i1683209167.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=ourC5IhljB4\",\n    \"strIngredient1\": \"Egg Plants\",\n    \"strIngredient2\": \"Coconut Milk\",\n    \"strIngredient3\": \"Lemon Juice\",\n    \"strIngredient4\": \"Salt\",\n    \"strIngredient5\": \"Red Pepper Flakes\",\n    \"strIngredient6\": \"Onions\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"6\",\n    \"strMeasure2\": \"1 can \",\n    \"strMeasure3\": \"1 tbs\",\n    \"strMeasure4\": \"1 tsp \",\n    \"strMeasure5\": \"To taste\",\n    \"strMeasure6\": \"4 Sticks\",\n    \"strMeasure7\": \" \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://simplybakings.com/grilled-eggplant-with-coconut-milk/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 49\n  },\n  {\n    \"idMeal\": \"52917\",\n    \"strMeal\": \"White chocolate creme brulee\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Heat the cream, chocolate and vanilla pod in a pan until the chocolate has melted. Take off the heat and allow to infuse for 10 mins, scraping the pod seeds into the cream. If using the vanilla extract, add straight away. Heat oven to 160C/fan 140C/gas 3.\\r\\nBeat yolks and sugar until pale. stir in the chocolate cream. Strain into a jug and pour into ramekins. Place in a deep roasting tray and pour boiling water halfway up the sides. Bake for 15-20 mins until just set with a wobbly centre. Chill in the fridge for at least 4 hrs.\\r\\nTo serve, sprinkle some sugar on top of the brûlées and caramelise with a blowtorch or briefly under a hot grill. Leave caramel to harden, then serve.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/uryqru1511798039.jpg\",\n    \"strTags\": \"Desert,DinnerParty,Pudding\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=LmJ0lsPLHDc\",\n    \"strIngredient1\": \"Double Cream\",\n    \"strIngredient2\": \"White Chocolate Chips\",\n    \"strIngredient3\": \"Vanilla\",\n    \"strIngredient4\": \"Egg Yolks\",\n    \"strIngredient5\": \"Caster Sugar\",\n    \"strIngredient6\": \"Caster Sugar\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"568ml\",\n    \"strMeasure2\": \"100g \",\n    \"strMeasure3\": \"Pod of\",\n    \"strMeasure4\": \"6\",\n    \"strMeasure5\": \"2 tbs\",\n    \"strMeasure6\": \"Top\",\n    \"strMeasure7\": \"\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/2540/white-chocolate-crme-brle\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 50\n  },\n  {\n    \"idMeal\": \"52948\",\n    \"strMeal\": \"Wontons\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pork\",\n    \"strArea\": \"Chinese\",\n    \"strInstructions\": \"Combine pork, garlic, ginger, soy sauce, sesame oil, and vegetables in a bowl.\\r\\nSeparate wonton skins.\\r\\nPlace a heaping teaspoon of filling in the center of the wonton.\\r\\nBrush water on 2 borders of the skin, covering 1/4 inch from the edge.\\r\\nFold skin over to form a triangle, sealing edges.\\r\\nPinch the two long outside points together.\\r\\nHeat oil to 450 degrees and fry 4 to 5 at a time until golden.\\r\\nDrain and serve with sauce.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1525876468.jpg\",\n    \"strTags\": \"MainMeal\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=9h9No18ZyCI\",\n    \"strIngredient1\": \"Pork\",\n    \"strIngredient2\": \"Garlic Clove\",\n    \"strIngredient3\": \"Ginger\",\n    \"strIngredient4\": \"Soy Sauce\",\n    \"strIngredient5\": \"Sesame Seed Oil\",\n    \"strIngredient6\": \"Carrots\",\n    \"strIngredient7\": \"Celery\",\n    \"strIngredient8\": \"Spring Onions\",\n    \"strIngredient9\": \"Wonton Skin\",\n    \"strIngredient10\": \"Oil\",\n    \"strIngredient11\": \"Water\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1lb\",\n    \"strMeasure2\": \"3 chopped\",\n    \"strMeasure3\": \"1 tsp \",\n    \"strMeasure4\": \"1 tbs\",\n    \"strMeasure5\": \"1 tsp \",\n    \"strMeasure6\": \"3 finely chopped\",\n    \"strMeasure7\": \"3 finely chopped\",\n    \"strMeasure8\": \"6 chopped\",\n    \"strMeasure9\": \"1 Packet\",\n    \"strMeasure10\": \"Fry\",\n    \"strMeasure11\": \"Bottle\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.geniuskitchen.com/recipe/chinese-wontons-20235\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 51\n  },\n  {\n    \"idMeal\": \"53062\",\n    \"strMeal\": \"Walnut Roll Gužvara\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"Croatian\",\n    \"strInstructions\": \"Mix all the ingredients for the dough together and knead well. Cover the dough and put to rise until doubled in size which should take about 2 hours. Knock back the dough and knead lightly.\\r\\n\\r\\nDivide the dough into two equal pieces; roll each piece into an oblong about 12 inches by 8 inches. Mix the filling ingredients together and divide between the dough, spreading over each piece. Roll up the oblongs as tightly as possible to give two 12 inch sausages. Place these side by side, touching each other, on a greased baking sheet. Cover and leave to rise for about 40 minutes. Heat oven to 200ºC (425ºF). Bake for 30-35 minutes until well risen and golden brown. Bread should sound hollow when the base is tapped.\\r\\n\\r\\nRemove from oven and brush the hot bread top with milk. Sift with a generous covering of icing sugar.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/u9l7k81628771647.jpg\",\n    \"strTags\": \"Nutty\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=Q_akngSJVrQ\",\n    \"strIngredient1\": \"Flour\",\n    \"strIngredient2\": \"Caster Sugar\",\n    \"strIngredient3\": \"Yeast\",\n    \"strIngredient4\": \"Salt\",\n    \"strIngredient5\": \"Milk\",\n    \"strIngredient6\": \"Eggs\",\n    \"strIngredient7\": \"Butter\",\n    \"strIngredient8\": \"Walnuts\",\n    \"strIngredient9\": \"Butter\",\n    \"strIngredient10\": \"Brown Sugar\",\n    \"strIngredient11\": \"Cinnamon\",\n    \"strIngredient12\": \"Milk\",\n    \"strIngredient13\": \"Icing Sugar\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"450g\",\n    \"strMeasure2\": \"55g\",\n    \"strMeasure3\": \"2 parts \",\n    \"strMeasure4\": \"1/2 tsp\",\n    \"strMeasure5\": \"6 oz \",\n    \"strMeasure6\": \"2 Beaten \",\n    \"strMeasure7\": \"30g\",\n    \"strMeasure8\": \"140g\",\n    \"strMeasure9\": \"85g\",\n    \"strMeasure10\": \"85g\",\n    \"strMeasure11\": \"1 tsp \",\n    \"strMeasure12\": \"To Glaze\",\n    \"strMeasure13\": \"To Glaze\",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.visit-croatia.co.uk/croatian-cuisine/croatian-recipes/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 52\n  },\n  {\n    \"idMeal\": \"52802\",\n    \"strMeal\": \"Fish pie\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"01.Put the potatoes in a large pan of cold salted water and bring to the boil. Lower the heat, cover, then simmer gently for 15 minutes until tender. Drain, then return to the pan over a low heat for 30 seconds to drive off any excess water. Mash with 1 tbsp olive oil, then season.\\r\\n02.Meanwhile put the milk in a large sauté pan, add the fish and bring to the boil. Remove from the heat, cover and stand for 3 minutes. Remove the fish (reserving the milk) and pat dry with kitchen paper, then gently flake into an ovenproof dish, discarding the skin and any bones.\\r\\n03.Heat the remaining oil in a pan, stir in the flour and cook for 30 seconds. Gradually stir in 200-250ml of the reserved milk (discard the rest). Grate in nutmeg, season, then bubble until thick. Stir in the cream.\\r\\n04.Preheat the oven to 190°C/fan170°C/gas 5. Grate the artichokes and add to the dish with the leek, prawns and herbs. Stir the lemon zest and juice into the sauce, then pour over. Mix gently with a wooden spoon.\\r\\n05.Spoon the mash onto the fish mixture, then use a fork to make peaks, which will crisp and brown as it cooks. Sprinkle over the cheese, then bake for 35-40 minutes until golden and bubbling. Serve with wilted greens.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/ysxwuq1487323065.jpg\",\n    \"strTags\": \"Fish,Pie,Breakfast,Baking\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=2sX4fCgg-UI\",\n    \"strIngredient1\": \"Floury Potatoes\",\n    \"strIngredient2\": \"Olive Oil\",\n    \"strIngredient3\": \"Semi-skimmed Milk\",\n    \"strIngredient4\": \"White Fish Fillets\",\n    \"strIngredient5\": \"Plain flour\",\n    \"strIngredient6\": \"Nutmeg\",\n    \"strIngredient7\": \"Double Cream\",\n    \"strIngredient8\": \"Jerusalem Artichokes\",\n    \"strIngredient9\": \"Leek\",\n    \"strIngredient10\": \"Prawns\",\n    \"strIngredient11\": \"Parsley\",\n    \"strIngredient12\": \"Dill\",\n    \"strIngredient13\": \"Lemon\",\n    \"strIngredient14\": \"Gruyère\",\n    \"strIngredient15\": \"Lemon\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"900g\",\n    \"strMeasure2\": \"2 tbsp\",\n    \"strMeasure3\": \"600ml\",\n    \"strMeasure4\": \"800g\",\n    \"strMeasure5\": \"1 tbsp\",\n    \"strMeasure6\": \"Grating\",\n    \"strMeasure7\": \"3 tbsp\",\n    \"strMeasure8\": \"200g\",\n    \"strMeasure9\": \"1 finely sliced\",\n    \"strMeasure10\": \"200g peeled raw\",\n    \"strMeasure11\": \"Large handful\",\n    \"strMeasure12\": \"Handful\",\n    \"strMeasure13\": \"Grated zest of 1\",\n    \"strMeasure14\": \"25g grated\",\n    \"strMeasure15\": \"Juice of 1\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 53\n  },\n  {\n    \"idMeal\": \"52815\",\n    \"strMeal\": \"French Lentils With Garlic and Thyme\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Miscellaneous\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Place a large saucepan over medium heat and add oil. When hot, add chopped vegetables and sauté until softened, 5 to 10 minutes.\\r\\nAdd 6 cups water, lentils, thyme, bay leaves and salt. Bring to a boil, then reduce to a fast simmer.\\r\\nSimmer lentils until they are tender and have absorbed most of the water, 20 to 25 minutes. If necessary, drain any excess water after lentils have cooked. Serve immediately, or allow them to cool and reheat later.\\r\\nFor a fuller taste, use some chicken stock and reduce the water by the same amount.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/vwwspt1487394060.jpg\",\n    \"strTags\": \"Pulse\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=CrlTS1mJQMA\",\n    \"strIngredient1\": \"Olive Oil\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Garlic\",\n    \"strIngredient4\": \"Carrot\",\n    \"strIngredient5\": \"French Lentils\",\n    \"strIngredient6\": \"Thyme\",\n    \"strIngredient7\": \"Bay Leaf\",\n    \"strIngredient8\": \"Salt\",\n    \"strIngredient9\": \"Celery\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"3 tablespoons\",\n    \"strMeasure2\": \"1\",\n    \"strMeasure3\": \"2 cloves\",\n    \"strMeasure4\": \"1\",\n    \"strMeasure5\": \"2 1/4 cups\",\n    \"strMeasure6\": \"1 teaspoon\",\n    \"strMeasure7\": \"3\",\n    \"strMeasure8\": \"1 tablespoon\",\n    \"strMeasure9\": \"2 sticks\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 54\n  },\n  {\n    \"idMeal\": \"52835\",\n    \"strMeal\": \"Fettucine alfredo\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pasta\",\n    \"strArea\": \"Italian\",\n    \"strInstructions\": \"In a medium saucepan, stir the clotted cream, butter and cornflour over a low-ish heat and bring to a low simmer. Turn off the heat and keep warm.\\r\\nMeanwhile, put the cheese and nutmeg in a small bowl and add a good grinding of black pepper, then stir everything together (don’t add any salt at this stage).\\r\\nPut the pasta in another pan with 2 tsp salt, pour over some boiling water and cook following pack instructions (usually 3-4 mins). When cooked, scoop some of the cooking water into a heatproof jug or mug and drain the pasta, but not too thoroughly.\\r\\nAdd the pasta to the pan with the clotted cream mixture, then sprinkle over the cheese and gently fold everything together over a low heat using a rubber spatula. When combined, splash in 3 tbsp of the cooking water. At first, the pasta will look wet and sloppy: keep stirring until the water is absorbed and the sauce is glossy. Check the seasoning before transferring to heated bowls. Sprinkle over some chives or parsley, then serve immediately.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/uquqtu1511178042.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=FLEnwZvGzOE\",\n    \"strIngredient1\": \"Clotted Cream\",\n    \"strIngredient2\": \"Butter\",\n    \"strIngredient3\": \"Corn Flour\",\n    \"strIngredient4\": \"Parmesan Cheese\",\n    \"strIngredient5\": \"Nutmeg\",\n    \"strIngredient6\": \"Fettuccine\",\n    \"strIngredient7\": \"Parsley\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"227g\",\n    \"strMeasure2\": \"25g\",\n    \"strMeasure3\": \"1 tsp \",\n    \"strMeasure4\": \"100g \",\n    \"strMeasure5\": \"Grated\",\n    \"strMeasure6\": \"250g\",\n    \"strMeasure7\": \"Chopped\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/fettucine-alfredo\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 55\n  },\n  {\n    \"idMeal\": \"52896\",\n    \"strMeal\": \"Full English Breakfast\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Breakfast\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Heat the flat grill plate over a low heat, on top of 2 rings/flames if it fits, and brush sparingly with light olive oil.\\r\\nCook the sausages first. Add the sausages to the hot grill plate/the coolest part if there is one and allow to cook slowly for about 15-20 minutes, turning occasionally, until golden. After the first 10 minutes, increase the heat to medium before beginning to cook the other ingredients. If you are struggling for space, completely cook the sausages and keep hot on a plate in the oven.\\r\\nSnip a few small cuts into the fatty edge of the bacon. Place the bacon straight on to the grill plate and fry for 2-4 minutes each side or until your preferred crispiness is reached. Like the sausages, the cooked bacon can be kept hot on a plate in the oven.\\r\\nFor the mushrooms, brush away any dirt using a pastry brush and trim the stalk level with the mushroom top. Season with salt and pepper and drizzle over a little olive oil. Place stalk-side up on the grill plate and cook for 1-2 minutes before turning and cooking for a further 3-4 minutes. Avoid moving the mushrooms too much while cooking, as this releases the natural juices, making them soggy.\\r\\nFor the tomatoes, cut the tomatoes across the centre/or in half lengthways if using plum tomatoes , and with a small, sharp knife remove the green 'eye'. Season with salt and pepper and drizzle with a little olive oil. Place cut-side down on the grill plate and cook without moving for 2 minutes. Gently turn over and season again. Cook for a further 2-3 minutes until tender but still holding their shape.\\r\\nFor the black pudding, cut the black pudding into 3-4 slices and remove the skin. Place on the grill plate and cook for 1½-2 minutes each side until slightly crispy.\\r\\nFor 'proper' fried bread it's best to cook it in a separate pan. Ideally, use bread that is a couple of days old. Heat a frying pan to a medium heat and cover the base with oil. Add the bread and cook for 2-3 minutes each side until crispy and golden. If the pan becomes too dry, add a little more oil. For a richer flavour, add a knob of butter after you turn the slice.\\r\\nFor the fried eggs, break the egg straight into the pan with the fried bread and leave for 30 seconds. Add a good knob of butter and lightly splash/baste the egg with the butter when melted. Cook to your preferred stage, season and gently remove with a fish slice.\\r\\nOnce all the ingredients are cooked, serve on warm plates and enjoy straight away with a good squeeze of tomato ketchup or brown sauce.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/sqrtwu1511721265.jpg\",\n    \"strTags\": \"Greasy,UnHealthy,HangoverFood,Calorific,Breakfast,BBQ\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=FXjYU2Ensck\",\n    \"strIngredient1\": \"Sausages\",\n    \"strIngredient2\": \"Bacon\",\n    \"strIngredient3\": \"Mushrooms\",\n    \"strIngredient4\": \"Tomatoes\",\n    \"strIngredient5\": \"Black Pudding\",\n    \"strIngredient6\": \"Eggs\",\n    \"strIngredient7\": \"Bread\",\n    \"strIngredient8\": \"Baked Beans\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"4\",\n    \"strMeasure2\": \"4\",\n    \"strMeasure3\": \"4\",\n    \"strMeasure4\": \"3\",\n    \"strMeasure5\": \"2 sliced\",\n    \"strMeasure6\": \"2\",\n    \"strMeasure7\": \"1 Slice\",\n    \"strMeasure8\": \"100g \",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbc.co.uk/food/recipes/stressfreefullenglis_67721\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 56\n  },\n  {\n    \"idMeal\": \"52903\",\n    \"strMeal\": \"French Onion Soup\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Side\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Melt the butter with the oil in a large heavy-based pan. Add the onions and fry with the lid on for 10 mins until soft. Sprinkle in the sugar and cook for 20 mins more, stirring frequently, until caramelised. The onions should be really golden, full of flavour and soft when pinched between your fingers. Take care towards the end to ensure that they don’t burn.\\r\\nAdd the garlic for the final few mins of the onions’ cooking time, then sprinkle in the flour and stir well. Increase the heat and keep stirring as you gradually add the wine, followed by the hot stock. Cover and simmer for 15-20 mins.\\r\\nTo serve, turn on the grill, and toast the bread. Ladle the soup into heatproof bowls. Put a slice or two of toast on top of the bowls of soup, and pile on the cheese. Grill until melted. Alternatively, you can complete the toasts under the grill, then serve them on top.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/xvrrux1511783685.jpg\",\n    \"strTags\": \"Soup\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=-DLDMQucqDI\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Olive Oil\",\n    \"strIngredient3\": \"Onion\",\n    \"strIngredient4\": \"Sugar\",\n    \"strIngredient5\": \"Garlic Clove\",\n    \"strIngredient6\": \"Plain Flour\",\n    \"strIngredient7\": \"Dry White Wine\",\n    \"strIngredient8\": \"Beef Stock\",\n    \"strIngredient9\": \"Bread\",\n    \"strIngredient10\": \"Gruyère\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"50g\",\n    \"strMeasure2\": \"1 tbs\",\n    \"strMeasure3\": \"1 kg\",\n    \"strMeasure4\": \"1 tsp \",\n    \"strMeasure5\": \"4 sliced\",\n    \"strMeasure6\": \"2 tbs\",\n    \"strMeasure7\": \"250ml\",\n    \"strMeasure8\": \"1L\",\n    \"strMeasure9\": \"4 sliced\",\n    \"strMeasure10\": \"140g\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/3020694/french-onion-soup\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 57\n  },\n  {\n    \"idMeal\": \"52906\",\n    \"strMeal\": \"Flamiche\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"For the pastry, sift the flour and salt into the bowl of a food processor, add the butter and lard, then whizz together briefly until the mixture looks like fine breadcrumbs. Tip the mixture into a bowl, then stir in the cheese and enough of the water for the mixture to come together. Tip out onto a lightly floured surface and knead briefly until smooth. Roll out thinly and line a 23cm x 4cm loose-?bottomed fluted flan tin. Prick the base with a fork. Chill for 20 minutes.\\r\\n02.Melt the 75g butter in a saucepan over a low heat, then add the leeks and the salt. Cover and cook for ?10 minutes until soft. Uncover the pan, increase the heat and cook ?for 2 minutes, stirring occasionally, until the liquid has evaporated. Spoon onto a plate and leave to cool.\\r\\n03.Preheat the oven to 200°C/fan180°C/gas 6. Line the pastry case with baking paper and baking beans or rice and blind bake for 15-20 minutes until the edges are biscuit-coloured. Remove the paper and beans/rice and return the case to the oven for 7-10 minutes until the base is crisp and lightly golden. Remove and set aside. Reduce the oven temperature to 190°C/fan170°C/gas 5.\\r\\n04.Put the crème fraîche into a bowl with the whole egg, egg yolks and nutmeg. Lightly beat together, then season. Stir in the leeks. Spoon ?the mixture into the tart case and bake for 35-40 minutes until set ?and lightly golden. Remove from ?the oven and leave for 10 minutes. Take out of the tin and serve.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wssvvs1511785879.jpg\",\n    \"strTags\": \"Tart\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=vT0q5c880Rg\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Leek\",\n    \"strIngredient3\": \"Salt\",\n    \"strIngredient4\": \"Creme Fraiche\",\n    \"strIngredient5\": \"Egg\",\n    \"strIngredient6\": \"Egg Yolks\",\n    \"strIngredient7\": \"Nutmeg\",\n    \"strIngredient8\": \"Plain Flour\",\n    \"strIngredient9\": \"Salt\",\n    \"strIngredient10\": \"Butter\",\n    \"strIngredient11\": \"Lard\",\n    \"strIngredient12\": \"Cheddar Cheese\",\n    \"strIngredient13\": \"Water\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"75g\",\n    \"strMeasure2\": \"1kg\",\n    \"strMeasure3\": \"½ tsp\",\n    \"strMeasure4\": \"300ml \",\n    \"strMeasure5\": \"1\",\n    \"strMeasure6\": \"3\",\n    \"strMeasure7\": \"¼ teaspoon\",\n    \"strMeasure8\": \"225g\",\n    \"strMeasure9\": \"½ tsp\",\n    \"strMeasure10\": \"60g\",\n    \"strMeasure11\": \"60g\",\n    \"strMeasure12\": \"50g\",\n    \"strMeasure13\": \"2 tbs\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.deliciousmagazine.co.uk/recipes/flamiche-flemish-leek-tart/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 58\n  },\n  {\n    \"idMeal\": \"52915\",\n    \"strMeal\": \"French Omelette\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Miscellaneous\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Get everything ready. Warm a 20cm (measured across the top) non-stick frying pan on a medium heat. Crack the eggs into a bowl and beat them with a fork so they break up and mix, but not as completely as you would for scrambled egg. With the heat on medium-hot, drop one knob of butter into the pan. It should bubble and sizzle, but not brown. Season the eggs with the Parmesan and a little salt and pepper, and pour into the pan.\\r\\nLet the eggs bubble slightly for a couple of seconds, then take a wooden fork or spatula and gently draw the mixture in from the sides of the pan a few times, so it gathers in folds in the centre. Leave for a few seconds, then stir again to lightly combine uncooked egg with cooked. Leave briefly again, and when partly cooked, stir a bit faster, stopping while there’s some barely cooked egg left. With the pan flat on the heat, shake it back and forth a few times to settle the mixture. It should slide easily in the pan and look soft and moist on top. A quick burst of heat will brown the underside.\\r\\nGrip the handle underneath. Tilt the pan down away from you and let the omelette fall to the edge. Fold the side nearest to you over by a third with your fork, and keep it rolling over, so the omelette tips onto a plate – or fold it in half, if that’s easier. For a neat finish, cover the omelette with a piece of kitchen paper and plump it up a bit with your fingers. Rub the other knob of butter over to glaze. Serve immediately.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/yvpuuy1511797244.jpg\",\n    \"strTags\": \"Egg\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=qXPhVYpQLPA\",\n    \"strIngredient1\": \"Eggs\",\n    \"strIngredient2\": \"Butter\",\n    \"strIngredient3\": \"Parmesan\",\n    \"strIngredient4\": \"Tarragon\",\n    \"strIngredient5\": \"Parsley\",\n    \"strIngredient6\": \"Chives\",\n    \"strIngredient7\": \"Gruyère\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"3\",\n    \"strMeasure2\": \"2 knobs\",\n    \"strMeasure3\": \"1 tsp \",\n    \"strMeasure4\": \"3 chopped\",\n    \"strMeasure5\": \"1 tbs chopped\",\n    \"strMeasure6\": \"1 tbs chopped\",\n    \"strMeasure7\": \"4 tbs\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/1669/ultimate-french-omelette\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 59\n  },\n  {\n    \"idMeal\": \"52918\",\n    \"strMeal\": \"Fish Stew with Rouille\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Twist the heads from the prawns, then peel away the legs and shells, but leave the tails intact. Devein each prawn. Fry the shells in 1 tbsp oil for 5 mins, until dark pink and golden in patches. Add the wine, boil down by two thirds, then pour in the stock. Strain into a jug, discarding the shells.\\r\\nHeat the rest of the oil in a deep frying pan or casserole. Add the fennel, onion and garlic, season, then cover and gently cook for 10 mins until softened. Meanwhile, peel the potato and cut into 2cm-ish chunks. Put into a pan of cold water, bring to the boil and cook for 5 mins until almost tender. Drain in a colander.\\r\\nPeel a strip of zest from the orange. Put the zest, star anise, bay and ½ tsp harissa into the pan. Fry gently, uncovered, for 5-10 mins, until the vegetables are soft, sweet and golden.\\r\\nStir in the tomato purée, cook for 2 mins, then add the tomatoes and stock. Simmer for 10 mins until the sauce thickens slightly. Season to taste. The sauce can be made ahead, then reheated later in the day. Meantime, scrub the mussels or clams and pull away any stringy beards. Any that are open should be tapped sharply on the worktop – if they don’t close after a few seconds, discard them.\\r\\nReheat the sauce if necessary, then stir the potato, chunks of fish and prawns very gently into the stew. Bring back to the boil, then cover and gently simmer for 3 mins. Scatter the mussels or clams over the stew, then cover and cook for 2 mins more or until the shells have opened wide. Discard any that remain closed. The chunks of fish should flake easily and the prawns should be pink through. Scatter with the thyme leaves.\\r\\nTo make the quick rouille, stir the rest of the harissa through the mayonnaise. Serve the stew in bowls, topped with spoonfuls of rouille, which will melt into the sauce and enrich it. Have some good bread ready, as you’ll definitely want to mop up the juices.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/vptqpw1511798500.jpg\",\n    \"strTags\": \"Fish,Seafood,Shellfish\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=fp9Lqx2EUco\",\n    \"strIngredient1\": \"Prawns\",\n    \"strIngredient2\": \"Olive Oil\",\n    \"strIngredient3\": \"Dry White Wine\",\n    \"strIngredient4\": \"Fish Stock\",\n    \"strIngredient5\": \"Fennel\",\n    \"strIngredient6\": \"Onion\",\n    \"strIngredient7\": \"Garlic\",\n    \"strIngredient8\": \"Potatoes\",\n    \"strIngredient9\": \"Orange\",\n    \"strIngredient10\": \"Star Anise\",\n    \"strIngredient11\": \"Bay Leaf\",\n    \"strIngredient12\": \"Harissa Spice\",\n    \"strIngredient13\": \"Tomato Puree\",\n    \"strIngredient14\": \"Chopped Tomatoes\",\n    \"strIngredient15\": \"Mussels\",\n    \"strIngredient16\": \"White Fish\",\n    \"strIngredient17\": \"Thyme\",\n    \"strIngredient18\": \"Bread\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"6 large\",\n    \"strMeasure2\": \"3 tbs\",\n    \"strMeasure3\": \"150ml\",\n    \"strMeasure4\": \"200ml\",\n    \"strMeasure5\": \"1 small finely diced\",\n    \"strMeasure6\": \"1 small finely diced\",\n    \"strMeasure7\": \"3 cloves Chopped\",\n    \"strMeasure8\": \"1 large\",\n    \"strMeasure9\": \"1\",\n    \"strMeasure10\": \"1\",\n    \"strMeasure11\": \"1\",\n    \"strMeasure12\": \"1 1/2 tsp \",\n    \"strMeasure13\": \"2 tbs\",\n    \"strMeasure14\": \"400g\",\n    \"strMeasure15\": \"Handful\",\n    \"strMeasure16\": \"200g\",\n    \"strMeasure17\": \"2\",\n    \"strMeasure18\": \"to serve\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/532640/summer-fish-stew-with-rouille\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 60\n  },\n  {\n    \"idMeal\": \"52919\",\n    \"strMeal\": \"Fennel Dauphinoise\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Side\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Heat oven to 180C/160C fan/gas 4. Put potatoes, fennel, and garlic in a medium non-stick pan. Pour in milk and double cream, season well and simmer gently, covered, for 10 mins, stirring halfway through, until potatoes are just tender.\\r\\nDivide the mixture between 2 small (about 150ml) buttered ramekins and scatter with Parmesan. Bake for 40 mins until the potatoes are golden and tender when pierced with a knife. Snip the reserved fennel fronds over before serving.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/ytttsv1511798734.jpg\",\n    \"strTags\": \"Pie,SideDish\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=tXBzZm2kkh8\",\n    \"strIngredient1\": \"Potatoes\",\n    \"strIngredient2\": \"Fennel\",\n    \"strIngredient3\": \"Garlic\",\n    \"strIngredient4\": \"Milk\",\n    \"strIngredient5\": \"Double Cream\",\n    \"strIngredient6\": \"Butter\",\n    \"strIngredient7\": \"Parmesan Cheese\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"225g\",\n    \"strMeasure2\": \"1 small\",\n    \"strMeasure3\": \"1 clove finely chopped\",\n    \"strMeasure4\": \"75 ml \",\n    \"strMeasure5\": \"100ml\",\n    \"strMeasure6\": \"For Greasing\",\n    \"strMeasure7\": \"to serve\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/fennel-dauphinoise\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 61\n  },\n  {\n    \"idMeal\": \"52957\",\n    \"strMeal\": \"Fruit and Cream Cheese Breakfast Pastries\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Breakfast\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"Preheat oven to 400ºF (200ºC), and prepare two cookie sheets with parchment paper. In a bowl, mix cream cheese, sugar, and vanilla until fully combined. Lightly flour the surface and roll out puff pastry on top to flatten. Cut each sheet of puff pastry into 9 equal squares. On the top right and bottom left of the pastry, cut an L shape approximately ½ inch (1 cm) from the edge.\\r\\nNOTE: This L shape should reach all the way down and across the square, however both L shapes should not meet at the ends. Your pastry should look like a picture frame with two corners still intact.\\r\\nTake the upper right corner and fold down towards the inner bottom corner. You will now have a diamond shape.\\r\\nPlace 1 to 2 teaspoons of the cream cheese filling in the middle, then place berries on top.\\r\\nRepeat with the remaining pastry squares and place them onto the parchment covered baking sheet.\\r\\nBake for 15-20 minutes or until pastry is golden brown and puffed.\\r\\nEnjoy!\\r\\n\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1543774956.jpg\",\n    \"strTags\": \"Breakfast,Summer\",\n    \"strYoutube\": \"\",\n    \"strIngredient1\": \"Cream Cheese\",\n    \"strIngredient2\": \"Sugar\",\n    \"strIngredient3\": \"Vanilla Extract\",\n    \"strIngredient4\": \"Flour\",\n    \"strIngredient5\": \"Puff Pastry\",\n    \"strIngredient6\": \"Strawberries\",\n    \"strIngredient7\": \"Raspberries\",\n    \"strIngredient8\": \"Blackberries\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 1/4 oz \",\n    \"strMeasure2\": \"1 1/4 cup\",\n    \"strMeasure3\": \"1 teaspoon\",\n    \"strMeasure4\": \"\",\n    \"strMeasure5\": \"2\",\n    \"strMeasure6\": \"\",\n    \"strMeasure7\": \"\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 62\n  },\n  {\n    \"idMeal\": \"52996\",\n    \"strMeal\": \"French Onion Chicken with Roasted Carrots & Mashed Potatoes\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"1\\r\\n\\r\\nPreheat oven to 425 degrees. Wash and dry all produce. Trim, peel, and cut carrots on a diagonal into ¼-inch-thick pieces. Dice potatoes into ½-inch pieces. Halve, peel, and thinly slice onion.\\r\\n\\r\\n2\\r\\n\\r\\nToss carrots on a baking sheet with a drizzle of oil, salt, and pepper. Roast until browned and tender, 15-20 minutes.\\r\\n\\r\\n3\\r\\n\\r\\nMeanwhile, place potatoes in a medium pot with enough salted water to cover by 2 inches. Bring to a boil and cook until tender, 12-15 minutes. Drain and return potatoes to pot; cover to keep warm.\\r\\n\\r\\n4\\r\\n\\r\\nWhile potatoes cook, heat a drizzle of oil in a large pan over medium-high heat. Add onion and cook, stirring occasionally, until lightly browned and softened, 8-10 minutes. Sprinkle with 1 tsp sugar (2 tsp for 4 servings). Stir in stock concentrate and 2 TBSP water (¼ cup for 4); season with salt and pepper. Cook until jammy, 2-3 minutes more. Turn off heat; transfer to a small bowl. Wash out pan.\\r\\n\\r\\n5\\r\\n\\r\\nPat chicken dry with paper towels; season all over with salt and pepper. Heat a drizzle of oil in pan used for onion over medium-high heat. Add chicken and cook until browned and cooked through, 5-6 minutes per side. In the last 1-2 minutes of cooking, top with caramelized onion and cheese. Cover pan until cheese melts. (If your pan doesn’t have a lid, cover with a baking sheet!)\\r\\n\\r\\n6\\r\\n\\r\\nHeat pot with drained potatoes over low heat; mash with sour cream, 2 TBSP butter (4 TBSP for 4 servings), salt, pepper, and a splash of water (or milk, for extra richness) until smooth. Divide chicken, roasted carrots, and mashed potatoes between plates.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/b5ft861583188991.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"\",\n    \"strIngredient1\": \"Chicken Breasts\",\n    \"strIngredient2\": \"Carrots\",\n    \"strIngredient3\": \"Small Potatoes\",\n    \"strIngredient4\": \"Onion\",\n    \"strIngredient5\": \"Beef Stock\",\n    \"strIngredient6\": \"Mozzarella\",\n    \"strIngredient7\": \"Sour Cream\",\n    \"strIngredient8\": \"Butter\",\n    \"strIngredient9\": \"Sugar\",\n    \"strIngredient10\": \"Vegetable Oil\",\n    \"strIngredient11\": \"Salt\",\n    \"strIngredient12\": \"Pepper\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2\",\n    \"strMeasure2\": \"12 ounces\",\n    \"strMeasure3\": \"5\",\n    \"strMeasure4\": \"1\",\n    \"strMeasure5\": \"1\",\n    \"strMeasure6\": \"1 1/2 cup \",\n    \"strMeasure7\": \"2 tbsp\",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 63\n  },\n  {\n    \"idMeal\": \"53025\",\n    \"strMeal\": \"Ful Medames\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Egyptian\",\n    \"strInstructions\": \"As the cooking time varies depending on the quality and age of the beans, it is good to cook them in advance and to reheat them when you are ready to serve. Cook the drained beans in a fresh portion of unsalted water in a large saucepan with the lid on until tender, adding water to keep them covered, and salt when the beans have softened. They take 2–2 1/2 hours of gentle simmering. When the beans are soft, let the liquid reduce. It is usual to take out a ladle or two of the beans and to mash them with some of the cooking liquid, then stir this back into the beans. This is to thicken the sauce.\\r\\nServe the beans in soup bowls sprinkled with chopped parsley and accompanied by Arab bread.\\r\\nPass round the dressing ingredients for everyone to help themselves: a bottle of extra-virgin olive oil, the quartered lemons, salt and pepper, a little saucer with the crushed garlic, one with chili-pepper flakes, and one with ground cumin.\\r\\nThe beans are eaten gently crushed with the fork, so that they absorb the dressing.\\r\\nOptional Garnishes\\r\\nPeel hard-boiled eggs—1 per person—to cut up in the bowl with the beans.\\r\\nTop the beans with a chopped cucumber-and-tomato salad and thinly sliced mild onions or scallions. Otherwise, pass round a good bunch of scallions and quartered tomatoes and cucumbers cut into sticks.\\r\\nServe with tahina cream sauce (page 65) or salad (page 67), with pickles and sliced onions soaked in vinegar for 30 minutes.\\r\\nAnother way of serving ful medames is smothered in a garlicky tomato sauce (see page 464).\\r\\nIn Syria and Lebanon, they eat ful medames with yogurt or feta cheese, olives, and small cucumbers.\\r\\nVariations\\r\\nA traditional way of thickening the sauce is to throw a handful of red lentils (1/4 cup) into the water at the start of the cooking.\\r\\nIn Iraq, large brown beans are used instead of the small Egyptian ones, in a dish called badkila, which is also sold for breakfast in the street.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/lvn2d51598732465.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=ixpCabILuxw\",\n    \"strIngredient1\": \"Broad Beans\",\n    \"strIngredient2\": \"Parsley\",\n    \"strIngredient3\": \"Olive Oil\",\n    \"strIngredient4\": \"Lemons\",\n    \"strIngredient5\": \"Garlic Clove\",\n    \"strIngredient6\": \"Cumin\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 cups \",\n    \"strMeasure2\": \"1/3 cup\",\n    \"strMeasure3\": \"Dash\",\n    \"strMeasure4\": \"3\",\n    \"strMeasure5\": \"4\",\n    \"strMeasure6\": \"Sprinking\",\n    \"strMeasure7\": \" \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.epicurious.com/recipes/food/views/ful-medames-352993\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 64\n  },\n  {\n    \"idMeal\": \"53030\",\n    \"strMeal\": \"Feteer Meshaltet\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Side\",\n    \"strArea\": \"Egyptian\",\n    \"strInstructions\": \"Mix the flour and salt then pour one cup of water and start kneading.\\r\\nIf you feel the dough is still not coming together or too dry, gradually add the remaining water until you get a dough that is very elastic so that when you pull it and it won’t be torn.\\r\\nLet the dough rest for just 10 minutes then divide the dough into 6-8 balls depending on the size you want for your feteer.\\r\\nWarm up the butter/ghee or oil you are using and pour into a deep bowl.\\r\\nImmerse the dough balls into the warm butter. Let it rest for 15 to 20 minutes.\\r\\nPreheat oven to 550F.\\r\\nStretch the first ball with your hands on a clean countertop. Stretch it as thin as you can, the goal here is to see your countertop through the dough.\\r\\nFold the dough over itself to form a square brushing in between folds with the butter mixture.\\r\\nSet aside and start making the next ball.\\r\\nStretch the second one thin as we have done for the first ball.\\r\\nPlace the previous one on the middle seam side down. Fold the outer one over brushing with more butter mixture as you fold. Set aside.\\r\\nKeep doing this for the third and fourth balls. Now we have one ready, place on a 10 inch baking/pie dish seam side down and brush the top with more butter.\\r\\nRepeat for the remaining 4 balls to make a second one. With your hands lightly press the folded feteer to spread it on the baking dish.\\r\\nPlace in preheated oven for 10 minutes when the feteer starts puffing turn on the broiler to brown the top.\\r\\nWhen it is done add little butter on top and cover so it won’t get dry.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/9f4z6v1598734293.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=-mW1unsVhFU\",\n    \"strIngredient1\": \"Flour\",\n    \"strIngredient2\": \"Water\",\n    \"strIngredient3\": \"Salt\",\n    \"strIngredient4\": \"Unsalted Butter\",\n    \"strIngredient5\": \"Olive Oil\",\n    \"strIngredient6\": \"\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"4 cups \",\n    \"strMeasure2\": \"1 1/2 cups \",\n    \"strMeasure3\": \"1/4 tsp\",\n    \"strMeasure4\": \"1 cup \",\n    \"strMeasure5\": \"1/4 cup\",\n    \"strMeasure6\": \" \",\n    \"strMeasure7\": \" \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://amiraspantry.com/egyptian-feteer-meshaltet/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 65\n  },\n  {\n    \"idMeal\": \"53043\",\n    \"strMeal\": \"Fish fofos\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"Portuguese\",\n    \"strInstructions\": \"STEP 1\\r\\n\\r\\nPut the fish into a lidded pan and pour over enough water to cover. Bring to a simmer and gently poach for 10 minutes over a low heat with the lid on. Drain and flake the fish.\\r\\n\\r\\nSTEP 2\\r\\n\\r\\nPut the fish, potato, green chilli, coriander, cumin, black pepper, garlic and ginger in a large bowl. Season, add the rice flour, mix well and break in 1 egg. Stir the mixture and divide into 15, then form into small logs. Break the remaining eggs into a bowl and whisk lightly. Put the breadcrumbs into another bowl. Dip each fofo in the beaten egg followed by the breadcrumb mixture. Chill for 20 minutes.\\r\\n\\r\\nSTEP 3\\r\\n\\r\\nHeat 1cm of oil in a large frying pan over a medium heat. Fry the fofos in batches for 2 minutes on each side, turning gently to get an even golden brown colour all over. Drain on kitchen paper and repeat with the remaining fofos.\\r\\n\\r\\nSTEP 4\\r\\n\\r\\nFor the onion salad, mix together the onion, coriander and lemon juice with a pinch of salt. Serve with the fofos and mango chutney.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/a15wsa1614349126.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=YXUZHK2PrV8\",\n    \"strIngredient1\": \"Haddock\",\n    \"strIngredient2\": \"Potatoes\",\n    \"strIngredient3\": \"Green Chilli\",\n    \"strIngredient4\": \"Coriander\",\n    \"strIngredient5\": \"Cumin Seeds\",\n    \"strIngredient6\": \"Pepper\",\n    \"strIngredient7\": \"Garlic\",\n    \"strIngredient8\": \"Ginger\",\n    \"strIngredient9\": \"Flour\",\n    \"strIngredient10\": \"Eggs\",\n    \"strIngredient11\": \"Breadcrumbs\",\n    \"strIngredient12\": \"Vegetable Oil\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"600g\",\n    \"strMeasure2\": \"300g\",\n    \"strMeasure3\": \"1 chopped\",\n    \"strMeasure4\": \"3 tbs\",\n    \"strMeasure5\": \"1 tsp \",\n    \"strMeasure6\": \"1/2 tsp\",\n    \"strMeasure7\": \"3 cloves\",\n    \"strMeasure8\": \"2 pieces \",\n    \"strMeasure9\": \"2 tbs\",\n    \"strMeasure10\": \"3\",\n    \"strMeasure11\": \"75g\",\n    \"strMeasure12\": \"For frying\",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.olivemagazine.com/recipes/fish-and-seafood/fish-fofos/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 66\n  },\n  {\n    \"idMeal\": \"53061\",\n    \"strMeal\": \"Fresh sardines\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Side\",\n    \"strArea\": \"Croatian\",\n    \"strInstructions\": \"Wash the fish under the cold tap. Roll in the flour and deep fry in oil until crispy. Lay on kitchen towel to get rid of the excess oil and serve hot or cold with a slice of lemon.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/nv5lf31628771380.jpg\",\n    \"strTags\": \"Fresh\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=DDaZoXP1Mdc\",\n    \"strIngredient1\": \"Sardines\",\n    \"strIngredient2\": \"Vegetable Oil\",\n    \"strIngredient3\": \"Flour\",\n    \"strIngredient4\": \"Salt\",\n    \"strIngredient5\": \"\",\n    \"strIngredient6\": \"\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"500g\",\n    \"strMeasure2\": \"Dash\",\n    \"strMeasure3\": \"To Glaze\",\n    \"strMeasure4\": \"Dash\",\n    \"strMeasure5\": \" \",\n    \"strMeasure6\": \" \",\n    \"strMeasure7\": \" \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.visit-croatia.co.uk/croatian-cuisine/croatian-recipes/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 67\n  },\n  {\n    \"idMeal\": \"53064\",\n    \"strMeal\": \"Fettuccine Alfredo\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pasta\",\n    \"strArea\": \"Italian\",\n    \"strInstructions\": \"Cook pasta according to package instructions in a large pot of boiling water and salt. Add heavy cream and butter to a large skillet over medium heat until the cream bubbles and the butter melts. Whisk in parmesan and add seasoning (salt and black pepper). Let the sauce thicken slightly and then add the pasta and toss until coated in sauce. Garnish with parsley, and it's ready.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/0jv5gx1661040802.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=LPPcNPdq_j4\",\n    \"strIngredient1\": \"Fettuccine\",\n    \"strIngredient2\": \"Heavy Cream\",\n    \"strIngredient3\": \"Butter\",\n    \"strIngredient4\": \"Parmesan\",\n    \"strIngredient5\": \"Parsley\",\n    \"strIngredient6\": \"Black Pepper\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 lb\",\n    \"strMeasure2\": \"1/2 cup \",\n    \"strMeasure3\": \"1/2 cup \",\n    \"strMeasure4\": \"1/2 cup \",\n    \"strMeasure5\": \"2 tbsp\",\n    \"strMeasure6\": \" \",\n    \"strMeasure7\": \" \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.delish.com/cooking/recipe-ideas/a55312/best-homemade-fettuccine-alfredo-recipe/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 68\n  },\n  {\n    \"idMeal\": \"52775\",\n    \"strMeal\": \"Vegan Lasagna\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegan\",\n    \"strArea\": \"Italian\",\n    \"strInstructions\": \"1) Preheat oven to 180 degrees celcius. \\r\\n2) Boil vegetables for 5-7 minutes, until soft. Add lentils and bring to a gentle simmer, adding a stock cube if desired. Continue cooking and stirring until the lentils are soft, which should take about 20 minutes. \\r\\n3) Blanch spinach leaves for a few minutes in a pan, before removing and setting aside. \\r\\n4) Top up the pan with water and cook the lasagne sheets. When cooked, drain and set aside.\\r\\n5) To make the sauce, melt the butter and add the flour, then gradually add the soya milk along with the mustard and the vinegar. Cook and stir until smooth and then assemble the lasagne as desired in a baking dish. \\r\\n6) Bake in the preheated oven for about 25 minutes.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/rvxxuy1468312893.jpg\",\n    \"strTags\": \"Vegan,Pasta\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=VU8cXvlGbvc\",\n    \"strIngredient1\": \"green red lentils\",\n    \"strIngredient2\": \"carrot\",\n    \"strIngredient3\": \"onion\",\n    \"strIngredient4\": \"zucchini\",\n    \"strIngredient5\": \"coriander\",\n    \"strIngredient6\": \"spinach\",\n    \"strIngredient7\": \"lasagne sheets\",\n    \"strIngredient8\": \"vegan butter\",\n    \"strIngredient9\": \"flour\",\n    \"strIngredient10\": \"soya milk\",\n    \"strIngredient11\": \"mustard\",\n    \"strIngredient12\": \"vinegar\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": null,\n    \"strIngredient17\": null,\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"1 cups\",\n    \"strMeasure2\": \"1\",\n    \"strMeasure3\": \"1\",\n    \"strMeasure4\": \"1 small\",\n    \"strMeasure5\": \"sprinking\",\n    \"strMeasure6\": \"150g\",\n    \"strMeasure7\": \"10\",\n    \"strMeasure8\": \"35g\",\n    \"strMeasure9\": \"4 tablespoons\",\n    \"strMeasure10\": \"300ml\",\n    \"strMeasure11\": \"1.5 teaspoons\",\n    \"strMeasure12\": \"1 teaspoon\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": null,\n    \"strMeasure17\": null,\n    \"strMeasure18\": null,\n    \"strMeasure19\": null,\n    \"strMeasure20\": null,\n    \"strSource\": null,\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 69\n  },\n  {\n    \"idMeal\": \"52794\",\n    \"strMeal\": \"Vegan Chocolate Cake\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegan\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"Simply mix all dry ingredients with wet ingredients and blend altogether. Bake for 45 min on 180 degrees. Decorate with some melted vegan chocolate \",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/qxutws1486978099.jpg\",\n    \"strTags\": \"Vegan,Chocolate,Cake\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=C3pAgB7pync\",\n    \"strIngredient1\": \"self raising flour\",\n    \"strIngredient2\": \"coco sugar\",\n    \"strIngredient3\": \"cacao\",\n    \"strIngredient4\": \"baking powder\",\n    \"strIngredient5\": \"flax eggs\",\n    \"strIngredient6\": \"almond milk\",\n    \"strIngredient7\": \"vanilla\",\n    \"strIngredient8\": \"water\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 1/4 cup\",\n    \"strMeasure2\": \"1/2 cup\",\n    \"strMeasure3\": \"1/3 cup raw\",\n    \"strMeasure4\": \"1 tsp\",\n    \"strMeasure5\": \"2\",\n    \"strMeasure6\": \"1/2 cup\",\n    \"strMeasure7\": \"1 tsp\",\n    \"strMeasure8\": \"1/2 cup boiling\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 70\n  },\n  {\n    \"idMeal\": \"52828\",\n    \"strMeal\": \"Vietnamese Grilled Pork (bun-thit-nuong)\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pork\",\n    \"strArea\": \"Vietnamese\",\n    \"strInstructions\": \"Slice the uncooked pork thinly, about ⅛\\\". It helps to slightly freeze it (optional).\\r\\nMince garlic and shallots. Mix in a bowl with sugar, fish sauce, thick soy sauce, pepper, and oil until sugar dissolves.\\r\\nMarinate the meat for 1 hour, or overnight for better results.\\r\\nBake the pork at 375F for 10-15 minutes or until about 80% cooked. Finish cooking by broiling in the oven until a nice golden brown color develops, flipping the pieces midway.\\r\\nAssemble your bowl with veggies, noodles, and garnish. Many like to mix the whole bowl up and pour the fish sauce on top, but I like to make individual bites and sauce it slowly.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/qqwypw1504642429.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=Q3qcQcENzbU\",\n    \"strIngredient1\": \"Pork\",\n    \"strIngredient2\": \"Rice Vermicelli\",\n    \"strIngredient3\": \"Egg Rolls\",\n    \"strIngredient4\": \"Challots\",\n    \"strIngredient5\": \"Garlic\",\n    \"strIngredient6\": \"Sugar\",\n    \"strIngredient7\": \"Fish Sauce\",\n    \"strIngredient8\": \"Soy sauce\",\n    \"strIngredient9\": \"Pepper\",\n    \"strIngredient10\": \"Olive Oil\",\n    \"strIngredient11\": \"Cucumber\",\n    \"strIngredient12\": \"Mint\",\n    \"strIngredient13\": \"Peanuts\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1.5 pounds sliced\",\n    \"strMeasure2\": \"1 package thin\",\n    \"strMeasure3\": \"4-6\",\n    \"strMeasure4\": \"3 tablespoons minced\",\n    \"strMeasure5\": \"1.5 tablespoons minced garlic\",\n    \"strMeasure6\": \"¼ cup\",\n    \"strMeasure7\": \"1 tablespoon\",\n    \"strMeasure8\": \"½ tablespoon thick\",\n    \"strMeasure9\": \"½ tablespoon\",\n    \"strMeasure10\": \"3 tablespoons\",\n    \"strMeasure11\": \"Sliced\",\n    \"strMeasure12\": \"Leaves\",\n    \"strMeasure13\": \"Crushed\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.hungryhuy.com/bun-thit-nuong-recipe-vietnamese-grilled-bbq-pork-with-rice-vermicelli-vegetables/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 71\n  },\n  {\n    \"idMeal\": \"52838\",\n    \"strMeal\": \"Venetian Duck Ragu\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pasta\",\n    \"strArea\": \"Italian\",\n    \"strInstructions\": \"Heat the oil in a large pan. Add the duck legs and brown on all sides for about 10 mins. Remove to a plate and set aside. Add the onions to the pan and cook for 5 mins until softened. Add the garlic and cook for a further 1 min, then stir in the cinnamon and flour and cook for a further min. Return the duck to the pan, add the wine, tomatoes, stock, herbs, sugar and seasoning. Bring to a simmer, then lower the heat, cover with a lid and cook for 2 hrs, stirring every now and then.\\r\\nCarefully lift the duck legs out of the sauce and place on a plate – they will be very tender so try not to lose any of the meat. Pull off and discard the fat, then shred the meat with 2 forks and discard the bones. Add the meat back to the sauce with the milk and simmer, uncovered, for a further 10-15 mins while you cook the pasta.\\r\\nCook the pasta following pack instructions, then drain, reserving a cup of the pasta water, and add the pasta to the ragu. Stir to coat all the pasta in the sauce and cook for 1 min more, adding a splash of cooking liquid if it looks dry. Serve with grated Parmesan, if you like.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/qvrwpt1511181864.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=oWQDVgjB_Lw\",\n    \"strIngredient1\": \"Olive Oil\",\n    \"strIngredient2\": \"Duck Legs\",\n    \"strIngredient3\": \"Onions\",\n    \"strIngredient4\": \"Garlic\",\n    \"strIngredient5\": \"Cinnamon\",\n    \"strIngredient6\": \"Plain Flour\",\n    \"strIngredient7\": \"Red Wine\",\n    \"strIngredient8\": \"Chopped Tomatoes\",\n    \"strIngredient9\": \"Chicken Stock Cube\",\n    \"strIngredient10\": \"Rosemary\",\n    \"strIngredient11\": \"Bay Leaves\",\n    \"strIngredient12\": \"Sugar\",\n    \"strIngredient13\": \"Milk\",\n    \"strIngredient14\": \"Paccheri Pasta\",\n    \"strIngredient15\": \"Parmesan Cheese\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 tbls\",\n    \"strMeasure2\": \"4\",\n    \"strMeasure3\": \"2 finely chopped\",\n    \"strMeasure4\": \"2 cloves minced\",\n    \"strMeasure5\": \"2 tsp ground\",\n    \"strMeasure6\": \"2 tsp\",\n    \"strMeasure7\": \"250ml\",\n    \"strMeasure8\": \"800g\",\n    \"strMeasure9\": \"1\",\n    \"strMeasure10\": \"3 sprigs\",\n    \"strMeasure11\": \"2\",\n    \"strMeasure12\": \"1 tsp \",\n    \"strMeasure13\": \"2 tbs\",\n    \"strMeasure14\": \"600g\",\n    \"strMeasure15\": \"Grated\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/venetian-duck-ragu\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 72\n  },\n  {\n    \"idMeal\": \"52863\",\n    \"strMeal\": \"Vegetarian Casserole\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Heat the oil in a large, heavy-based pan. Add the onions and cook gently for 5 – 10 mins until softened.\\r\\nAdd the garlic, spices, dried thyme, carrots, celery and peppers and cook for 5 minutes.\\r\\nAdd the tomatoes, stock, courgettes and fresh thyme and cook for 20 - 25 minutes.\\r\\nTake out the thyme sprigs. Stir in the lentils and bring back to a simmer. Serve with wild and white basmati rice, mash or quinoa.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/vptwyt1511450962.jpg\",\n    \"strTags\": \"Casserole,Vegetarian\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=oHmKE9mWtWM\",\n    \"strIngredient1\": \"Rapeseed Oil\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Garlic\",\n    \"strIngredient4\": \"Paprika\",\n    \"strIngredient5\": \"Cumin\",\n    \"strIngredient6\": \"Thyme\",\n    \"strIngredient7\": \"Carrots\",\n    \"strIngredient8\": \"Celery\",\n    \"strIngredient9\": \"Red Pepper\",\n    \"strIngredient10\": \"Yellow Pepper\",\n    \"strIngredient11\": \"Tomato\",\n    \"strIngredient12\": \"Vegetable Stock Cube\",\n    \"strIngredient13\": \"Courgettes\",\n    \"strIngredient14\": \"Thyme\",\n    \"strIngredient15\": \"Lentils\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1\",\n    \"strMeasure2\": \"1\",\n    \"strMeasure3\": \"3 cloves\",\n    \"strMeasure4\": \"1 tsp \",\n    \"strMeasure5\": \"½ tsp\",\n    \"strMeasure6\": \"1 tblsp \",\n    \"strMeasure7\": \"3 Medium\",\n    \"strMeasure8\": \"2 small stalks\",\n    \"strMeasure9\": \"1\",\n    \"strMeasure10\": \"1\",\n    \"strMeasure11\": \"2 x 400g tins\",\n    \"strMeasure12\": \"250ml\",\n    \"strMeasure13\": \"2 sliced\",\n    \"strMeasure14\": \"2 sprigs\",\n    \"strMeasure15\": \"250g\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/1993645/vegetarian-casserole\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 73\n  },\n  {\n    \"idMeal\": \"52867\",\n    \"strMeal\": \"Vegetarian Chilli\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Heat oven to 200C/180C fan/ gas 6. Cook the vegetables in a casserole dish for 15 mins. Tip in the beans and tomatoes, season, and cook for another 10-15 mins until piping hot. Heat the pouch in the microwave on High for 1 min and serve with the chilli.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wqurxy1511453156.jpg\",\n    \"strTags\": \"Chilli\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=D0bFRVH_EqU\",\n    \"strIngredient1\": \"Roasted Vegetables\",\n    \"strIngredient2\": \"Kidney Beans\",\n    \"strIngredient3\": \"Chopped Tomatoes\",\n    \"strIngredient4\": \"Mixed Grain\",\n    \"strIngredient5\": \"\",\n    \"strIngredient6\": \"\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"400g\",\n    \"strMeasure2\": \"1 can \",\n    \"strMeasure3\": \"1 can \",\n    \"strMeasure4\": \"1 Packet\",\n    \"strMeasure5\": \"\",\n    \"strMeasure6\": \"\",\n    \"strMeasure7\": \"\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/veggie-chilli\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 74\n  },\n  {\n    \"idMeal\": \"53000\",\n    \"strMeal\": \"Vegetable Shepherd's Pie\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Irish\",\n    \"strInstructions\": \"Add Ingredients:\\r\\n\\r\\n12 cups chopped mixed vegetables\\r\\n1   cup chopped fresh mushrooms \\r\\n1   cup pearl onions\\r\\n\\r\\nTOPPING:\\r\\n\\r\\nPreheat oven to 450°. Bake potatoes on a foil-lined baking sheet until tender, about 45 minutes. Let cool slightly, then peel. Press potatoes through a ricer, food mill, or colander into a large bowl. Add butter; stir until well blended. Stir in milk. Season to taste with salt.\\r\\n\\r\\nFILLING:\\r\\n\\r\\nSoak dried porcini in 3 cups hot water; set aside. Combine lentils, 1 garlic clove, 1 tsp. salt, and 4 cups water in a medium saucepan. Bring to a boil; reduce heat and simmer, stirring occasionally, until lentils are tender but not mushy, 15–20 minutes. Drain lentils and discard garlic.\\r\\n\\r\\nHeat 3 Tbsp. oil in a large heavy pot over medium heat. Add onions and cook, stirring occasionally, until soft, about 12 minutes. Add chopped garlic and cook for 1 minute. Stir in tomato paste. Cook, stirring constantly, until tomato paste is caramelized, 2–3 minutes.\\r\\n\\r\\nAdd bay leaves and wine; stir, scraping up any browned bits. Stir in porcini, slowly pouring porcini soaking liquid into pan but leaving any sediment behind. Bring to a simmer and cook until liquid is reduced by half, about 10 minutes. Stir in broth and cook, stirring occasionally, until reduced by half, about 45 minutes.\\r\\n\\r\\nStrain mixture into a large saucepan and bring to a boil; discard solids in strainer. Stir cornstarch and 2 Tbsp. water in a small bowl to dissolve. Add cornstarch mixture; simmer until thickened, about 5 minutes. Whisk in miso. Season sauce with salt and pepper. Set aside.\\r\\n\\r\\nPreheat oven to 450°. Toss vegetables and pearl onions with remaining 2 Tbsp. oil, 5 garlic cloves, and rosemary sprigs in a large bowl; season with salt and pepper. Divide between 2 rimmed baking sheets. Roast, stirring once, until tender, 20–25 minutes. Transfer garlic cloves to a small bowl; mash well with a fork and stir into sauce. Discard rosemary. DO AHEAD: Lentils, sauce, and vegetables can be made 1 day ahead. Cover separately; chill.\\r\\nArrange lentils in an even layer in a 3-qt. baking dish; set dish on a foil-lined rimmed baking sheet. Toss roasted vegetables with fresh mushrooms and chopped herbs; layer on top of lentils. Pour sauce over vegetables. Spoon potato mixture evenly over.\\r\\n\\r\\nBake until browned and bubbly, about 30 minutes. Let stand for 15 minutes before serving.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/w8umt11583268117.jpg\",\n    \"strTags\": \"Alcoholic\",\n    \"strYoutube\": \"\",\n    \"strIngredient1\": \"Potatoes\",\n    \"strIngredient2\": \"Small Potatoes\",\n    \"strIngredient3\": \"Salted Butter\",\n    \"strIngredient4\": \"Mushrooms\",\n    \"strIngredient5\": \"Brown Lentils\",\n    \"strIngredient6\": \"Garlic\",\n    \"strIngredient7\": \"Kosher Salt\",\n    \"strIngredient8\": \"Onion\",\n    \"strIngredient9\": \"Tomato Puree\",\n    \"strIngredient10\": \"Bay Leaves\",\n    \"strIngredient11\": \"Olive Oil\",\n    \"strIngredient12\": \"Dry White Wine\",\n    \"strIngredient13\": \"Vegetable Stock\",\n    \"strIngredient14\": \"Cornstarch\",\n    \"strIngredient15\": \"Soy Sauce\",\n    \"strIngredient16\": \"Rosemary\",\n    \"strIngredient17\": \"Parsley\",\n    \"strIngredient18\": \"Sage\",\n    \"strIngredient19\": \"Chives\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"3 Lbs\",\n    \"strMeasure2\": \"3 Lbs\",\n    \"strMeasure3\": \"1/2 cup \",\n    \"strMeasure4\": \"1 oz \",\n    \"strMeasure5\": \"3/4 cup \",\n    \"strMeasure6\": \"6 cloves\",\n    \"strMeasure7\": \"1 tsp \",\n    \"strMeasure8\": \"3 cups \",\n    \"strMeasure9\": \"2 tbsp\",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \"2 cups \",\n    \"strMeasure13\": \"8 cups \",\n    \"strMeasure14\": \"2 tbsp\",\n    \"strMeasure15\": \"2 tsp\",\n    \"strMeasure16\": \"2 sprigs\",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 75\n  },\n  {\n    \"idMeal\": \"52772\",\n    \"strMeal\": \"Teriyaki Chicken Casserole\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Japanese\",\n    \"strInstructions\": \"Preheat oven to 350° F. Spray a 9x13-inch baking pan with non-stick spray.\\r\\nCombine soy sauce, ½ cup water, brown sugar, ginger and garlic in a small saucepan and cover. Bring to a boil over medium heat. Remove lid and cook for one minute once boiling.\\r\\nMeanwhile, stir together the corn starch and 2 tablespoons of water in a separate dish until smooth. Once sauce is boiling, add mixture to the saucepan and stir to combine. Cook until the sauce starts to thicken then remove from heat.\\r\\nPlace the chicken breasts in the prepared pan. Pour one cup of the sauce over top of chicken. Place chicken in oven and bake 35 minutes or until cooked through. Remove from oven and shred chicken in the dish using two forks.\\r\\n*Meanwhile, steam or cook the vegetables according to package directions.\\r\\nAdd the cooked vegetables and rice to the casserole dish with the chicken. Add most of the remaining sauce, reserving a bit to drizzle over the top when serving. Gently toss everything together in the casserole dish until combined. Return to oven and cook 15 minutes. Remove from oven and let stand 5 minutes before serving. Drizzle each serving with remaining sauce. Enjoy!\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wvpsxx1468256321.jpg\",\n    \"strTags\": \"Meat,Casserole\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=4aZr5hZXP_s\",\n    \"strIngredient1\": \"soy sauce\",\n    \"strIngredient2\": \"water\",\n    \"strIngredient3\": \"brown sugar\",\n    \"strIngredient4\": \"ground ginger\",\n    \"strIngredient5\": \"minced garlic\",\n    \"strIngredient6\": \"cornstarch\",\n    \"strIngredient7\": \"chicken breasts\",\n    \"strIngredient8\": \"stir-fry vegetables\",\n    \"strIngredient9\": \"brown rice\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": null,\n    \"strIngredient17\": null,\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"3/4 cup\",\n    \"strMeasure2\": \"1/2 cup\",\n    \"strMeasure3\": \"1/4 cup\",\n    \"strMeasure4\": \"1/2 teaspoon\",\n    \"strMeasure5\": \"1/2 teaspoon\",\n    \"strMeasure6\": \"4 Tablespoons\",\n    \"strMeasure7\": \"2\",\n    \"strMeasure8\": \"1 (12 oz.)\",\n    \"strMeasure9\": \"3 cups\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": null,\n    \"strMeasure17\": null,\n    \"strMeasure18\": null,\n    \"strMeasure19\": null,\n    \"strMeasure20\": null,\n    \"strSource\": null,\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 76\n  },\n  {\n    \"idMeal\": \"52806\",\n    \"strMeal\": \"Tandoori chicken\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Indian\",\n    \"strInstructions\": \"Mix the lemon juice with the paprika and red onions in a large shallow dish. Slash each chicken thigh three times, then turn them in the juice and set aside for 10 mins.\\r\\nMix all of the marinade ingredients together and pour over the chicken. Give everything a good mix, then cover and chill for at least 1 hr. This can be done up to a day in advance.\\r\\nHeat the grill. Lift the chicken pieces onto a rack over a baking tray. Brush over a little oil and grill for 8 mins on each side or until lightly charred and completely cooked through.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/qptpvt1487339892.jpg\",\n    \"strTags\": \"Spicy,Meat\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=-CKvt1KNU74\",\n    \"strIngredient1\": \"lemons\",\n    \"strIngredient2\": \"paprika\",\n    \"strIngredient3\": \"red onions\",\n    \"strIngredient4\": \"chicken thighs\",\n    \"strIngredient5\": \"vegetable oil\",\n    \"strIngredient6\": \"Greek yogurt\",\n    \"strIngredient7\": \"ginger\",\n    \"strIngredient8\": \"garlic clove\",\n    \"strIngredient9\": \"garam masala\",\n    \"strIngredient10\": \"ground cumin\",\n    \"strIngredient11\": \"chilli powder\",\n    \"strIngredient12\": \"turmeric\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 Juice\",\n    \"strMeasure2\": \"4 tsp\",\n    \"strMeasure3\": \"2 finely chopped\",\n    \"strMeasure4\": \"16 skinnless\",\n    \"strMeasure5\": \"For brushing\",\n    \"strMeasure6\": \"300ml \",\n    \"strMeasure7\": \"large piece\",\n    \"strMeasure8\": \"4\",\n    \"strMeasure9\": \"¾ tsp\",\n    \"strMeasure10\": \"¾ tsp\",\n    \"strMeasure11\": \"½ tsp\",\n    \"strMeasure12\": \"¼ tsp\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.bbcgoodfood.com/recipes/1660651/tandoori-chicken\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 77\n  },\n  {\n    \"idMeal\": \"52814\",\n    \"strMeal\": \"Thai Green Curry\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Thai\",\n    \"strInstructions\": \"Put the potatoes in a pan of boiling water and cook for 5 minutes. Throw in the beans and cook for a further 3 minutes, by which time both should be just tender but not too soft. Drain and put to one side.\\r\\nIn a wok or large frying pan, heat the oil until very hot, then drop in the garlic and cook until golden, this should take only a few seconds. Don’t let it go very dark or it will spoil the taste. Spoon in the curry paste and stir it around for a few seconds to begin to cook the spices and release all the flavours. Next, pour in the coconut milk and let it come to a bubble.\\r\\nStir in the fish sauce and sugar, then the pieces of chicken. Turn the heat down to a simmer and cook, covered, for about 8 minutes until the chicken is cooked.\\r\\nTip in the potatoes and beans and let them warm through in the hot coconut milk, then add a lovely citrussy flavour by stirring in the shredded lime leaves (or lime zest). The basil leaves go in next, but only leave them briefly on the heat or they will quickly lose their brightness. Scatter with the lime garnish and serve immediately with boiled rice.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/sstssx1487349585.jpg\",\n    \"strTags\": \"Curry,Mild\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=LIbKVpBQKJI\",\n    \"strIngredient1\": \"potatoes\",\n    \"strIngredient2\": \"green beans\",\n    \"strIngredient3\": \"sunflower oil\",\n    \"strIngredient4\": \"garlic\",\n    \"strIngredient5\": \"Thai green curry paste\",\n    \"strIngredient6\": \"coconut milk\",\n    \"strIngredient7\": \"Thai fish sauce\",\n    \"strIngredient8\": \"Sugar\",\n    \"strIngredient9\": \"Chicken\",\n    \"strIngredient10\": \"lime\",\n    \"strIngredient11\": \"basil\",\n    \"strIngredient12\": \"Rice\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"225g new\",\n    \"strMeasure2\": \"100g \",\n    \"strMeasure3\": \"1 tbsp\",\n    \"strMeasure4\": \"1 clove\",\n    \"strMeasure5\": \"4 tsp \",\n    \"strMeasure6\": \"400ml\",\n    \"strMeasure7\": \"2 tsp\",\n    \"strMeasure8\": \"1 tsp\",\n    \"strMeasure9\": \"450g boneless\",\n    \"strMeasure10\": \"2 fresh kaffir leaves\",\n    \"strMeasure11\": \"handfull\",\n    \"strMeasure12\": \"Boiled\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.bbcgoodfood.com/recipes/3235/thai-green-chicken-curry\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 78\n  },\n  {\n    \"idMeal\": \"52822\",\n    \"strMeal\": \"Toad In The Hole\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pork\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Preheat the oven to 200°C/fan180°C/gas 6. fry sausages in a non-stick pan until browned.\\r\\nDrizzle vegetable oil in a 30cm x 25cm x 6cm deep roasting tray and heat in the oven for 5 minutes.\\r\\nPut the plain flour in a bowl, crack in the medium free-range eggs, then stir in the grated horseradish. Gradually beat in the semi-skimmed milk. Season.\\r\\nPut the sausages into the hot roasting tray and pour over the batter. Top with cherry tomatoes on the vine and cook for 30 minutes until puffed and golden.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/ytuvwr1503070420.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=t1dWkDrC330\",\n    \"strIngredient1\": \"sausages\",\n    \"strIngredient2\": \"vegetable oil\",\n    \"strIngredient3\": \"plain flour\",\n    \"strIngredient4\": \"eggs\",\n    \"strIngredient5\": \"horseradish\",\n    \"strIngredient6\": \"milk\",\n    \"strIngredient7\": \"cherry tomatoes\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"8\",\n    \"strMeasure2\": \"3 tbsp\",\n    \"strMeasure3\": \"100g\",\n    \"strMeasure4\": \"2 medium\",\n    \"strMeasure5\": \"1 tbsp grated\",\n    \"strMeasure6\": \"225ml\",\n    \"strMeasure7\": \"200g\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.deliciousmagazine.co.uk/recipes/georgina-fuggles-horseradish-and-vine-tomato-toad-in-the-hole/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 79\n  },\n  {\n    \"idMeal\": \"52845\",\n    \"strMeal\": \"Turkey Meatloaf\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Miscellaneous\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Heat oven to 180C/160C fan/gas 4. Heat the oil in a large frying pan and cook the onion for 8-10 mins until softened. Add the garlic, Worcestershire sauce and 2 tsp tomato purée, and stir until combined. Set aside to cool.\\r\\n\\r\\nPut the turkey mince, egg, breadcrumbs and cooled onion mix in a large bowl and season well. Mix everything to combine, then shape into a rectangular loaf and place in a large roasting tin. Spread 2 tbsp barbecue sauce over the meatloaf and bake for 30 mins.\\r\\n\\r\\nMeanwhile, drain 1 can of beans only, then pour both cans into a large bowl. Add the remaining barbecue sauce and tomato purée. Season and set aside.\\r\\n\\r\\nWhen the meatloaf has had its initial cooking time, scatter the beans around the outside and bake for 15 mins more until the meatloaf is cooked through and the beans are piping hot. Scatter over the parsley and serve the meatloaf in slices.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/ypuxtw1511297463.jpg\",\n    \"strTags\": \"Alcoholic\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=mTvlmY4vCug\",\n    \"strIngredient1\": \"Olive Oil\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Garlic\",\n    \"strIngredient4\": \"Worcestershire Sauce\",\n    \"strIngredient5\": \"Tomato Puree\",\n    \"strIngredient6\": \"Turkey Mince\",\n    \"strIngredient7\": \"Eggs\",\n    \"strIngredient8\": \"Breadcrumbs\",\n    \"strIngredient9\": \"Barbeque Sauce\",\n    \"strIngredient10\": \"Cannellini Beans\",\n    \"strIngredient11\": \"Parsley\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 tblsp \",\n    \"strMeasure2\": \"1 large\",\n    \"strMeasure3\": \"1 clove peeled crushed\",\n    \"strMeasure4\": \"2 tblsp \",\n    \"strMeasure5\": \"3 tsp\",\n    \"strMeasure6\": \"500g\",\n    \"strMeasure7\": \"1 large\",\n    \"strMeasure8\": \"85g\",\n    \"strMeasure9\": \"2 tblsp \",\n    \"strMeasure10\": \"800g\",\n    \"strMeasure11\": \"2 tblsp \",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/turkey-meatloaf\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 80\n  },\n  {\n    \"idMeal\": \"52852\",\n    \"strMeal\": \"Tuna Nicoise\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Heat oven to 200C/fan 180C/gas 6. Toss the potatoes with 2 tsp oil and some seasoning. Tip onto a large baking tray, then roast for 20 mins, stirring halfway, until crisp, golden and cooked through.\\r\\nMeanwhile, put eggs in a small pan of water, bring to the boil, then simmer for 8-10 mins, depending on how you like them cooked. Plunge into a bowl of cold water to cool for a few mins. Peel away the shells, then cut into halves.\\r\\nIn a large salad bowl, whisk together the remaining oil, red wine vinegar, capers and chopped tomatoes. Season, tip in the onion, spinach, tuna and potatoes, then gently toss together. Top with the eggs, then serve straight away.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/yypwwq1511304979.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=3_UAxkx0u6U\",\n    \"strIngredient1\": \"Potatoes\",\n    \"strIngredient2\": \"Olive Oil\",\n    \"strIngredient3\": \"Eggs\",\n    \"strIngredient4\": \"Red Wine Vinegar\",\n    \"strIngredient5\": \"Capers\",\n    \"strIngredient6\": \"Sunflower Oil\",\n    \"strIngredient7\": \"Red Onions\",\n    \"strIngredient8\": \"Spinach\",\n    \"strIngredient9\": \"Tuna\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"450g\",\n    \"strMeasure2\": \"2 tblsp \",\n    \"strMeasure3\": \"4\",\n    \"strMeasure4\": \"1 tbls\",\n    \"strMeasure5\": \"2 tblsp \",\n    \"strMeasure6\": \"50g\",\n    \"strMeasure7\": \"½\",\n    \"strMeasure8\": \"100g \",\n    \"strMeasure9\": \"400g\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/9529/winter-tuna-nioise\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 81\n  },\n  {\n    \"idMeal\": \"52869\",\n    \"strMeal\": \"Tahini Lentils\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Moroccan\",\n    \"strInstructions\": \"In a jug, mix the tahini with the zest and juice of the lemon and 50ml of cold water to make a runny dressing. Season to taste, then set aside.\\r\\nHeat the oil in a wok or large frying pan over a medium-high heat. Add the red onion, along with a pinch of salt, and fry for 2 mins until starting to soften and colour. Add the garlic, pepper, green beans and courgette and fry for 5 min, stirring frequently.\\r\\nTip in the kale, lentils and the tahini dressing. Keep the pan on the heat for a couple of mins, stirring everything together until the kale is wilted and it’s all coated in the creamy dressing.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/vpxyqt1511464175.jpg\",\n    \"strTags\": \"Pulse\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=8kRlmz8pW0I\",\n    \"strIngredient1\": \"Tahini\",\n    \"strIngredient2\": \"Lemon\",\n    \"strIngredient3\": \"Olive Oil\",\n    \"strIngredient4\": \"Red Onions\",\n    \"strIngredient5\": \"Garlic\",\n    \"strIngredient6\": \"Yellow Pepper\",\n    \"strIngredient7\": \"Green Beans\",\n    \"strIngredient8\": \"Courgettes\",\n    \"strIngredient9\": \"Kale\",\n    \"strIngredient10\": \"Lentils\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"50g\",\n    \"strMeasure2\": \"zest and juice of 1\",\n    \"strMeasure3\": \"2 tblsp \",\n    \"strMeasure4\": \"1 chopped\",\n    \"strMeasure5\": \"1 clove peeled crushed\",\n    \"strMeasure6\": \"1 thinly sliced\",\n    \"strMeasure7\": \"200g\",\n    \"strMeasure8\": \"1 sliced\",\n    \"strMeasure9\": \"100g shredded\",\n    \"strMeasure10\": \"250g pack\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/veggie-tahini-lentils\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 82\n  },\n  {\n    \"idMeal\": \"52882\",\n    \"strMeal\": \"Three Fish Pie\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Preheat the oven to 200C/400F/Gas 6 (180C fan).\\r\\nPut the potatoes into a saucepan of cold salted water. Bring up to the boil and simmer until completely tender. Drain well and then mash with the butter and milk. Add pepper and taste to check the seasoning. Add salt and more pepper if necessary.\\r\\nFor the fish filling, melt the butter in a saucepan, add the leeks and stir over the heat. Cover with a lid and simmer gently for 10 minutes, or until soft. Measure the flour into a small bowl. Add the wine and whisk together until smooth.\\r\\nAdd the milk to the leeks, bring to the boil and then add the wine mixture. Stir briskly until thickened. Season and add the parsley and fish. Stir over the heat for two minutes, then spoon into an ovenproof casserole. Scatter over the eggs. Allow to cool until firm.\\r\\nSpoon the mashed potatoes over the fish mixture and mark with a fork. Sprinkle with cheese.\\r\\nBake for 30-40 minutes, or until lightly golden-brown on top and bubbling around the edges.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/spswqs1511558697.jpg\",\n    \"strTags\": \"Fish,Seafood,Dairy,Pie\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=Ds1Jb8H5Sg8\",\n    \"strIngredient1\": \"Potatoes\",\n    \"strIngredient2\": \"Butter\",\n    \"strIngredient3\": \"Milk\",\n    \"strIngredient4\": \"Gruyère\",\n    \"strIngredient5\": \"Butter\",\n    \"strIngredient6\": \"Leek\",\n    \"strIngredient7\": \"Plain Flour\",\n    \"strIngredient8\": \"White Wine\",\n    \"strIngredient9\": \"Milk\",\n    \"strIngredient10\": \"Parsley\",\n    \"strIngredient11\": \"Salmon\",\n    \"strIngredient12\": \"Haddock\",\n    \"strIngredient13\": \"Smoked Haddock\",\n    \"strIngredient14\": \"Eggs\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1kg\",\n    \"strMeasure2\": \"Knob\",\n    \"strMeasure3\": \"Dash\",\n    \"strMeasure4\": \"50g\",\n    \"strMeasure5\": \"75g\",\n    \"strMeasure6\": \"2 sliced\",\n    \"strMeasure7\": \"75g\",\n    \"strMeasure8\": \"150ml\",\n    \"strMeasure9\": \"568ml\",\n    \"strMeasure10\": \"2 tbs chopped\",\n    \"strMeasure11\": \"250g\",\n    \"strMeasure12\": \"250g\",\n    \"strMeasure13\": \"250g\",\n    \"strMeasure14\": \"6\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbc.co.uk/food/recipes/three_fish_pie_58875\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 83\n  },\n  {\n    \"idMeal\": \"52892\",\n    \"strMeal\": \"Treacle Tart\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"First make the short crust pastry: measure the flour into a large bowl and rub in the butter with your fingertips until the mixture resembles fine breadcrumbs (alternatively, this can be done in a food processor). Add about three tablespoons of cold water and mix to a firm dough, wrap in cling film and chill in the fridge for about 20 minutes.\\r\\nPreheat the oven to 200C/400F/Gas 6 and put a heavy baking tray in the oven to heat up. Grease a deep 18cm/7in loose-bottomed fluted flan tin with butter.\\r\\nRemove about 150g/5½oz of pastry from the main ball and set aside for the lattice top.\\r\\nRoll the rest of the pastry out thinly on a lightly floured work surface and line the prepared flan tin with the pastry.\\r\\nPrick the base with a fork, to stop the base rising up during baking.\\r\\nPlace the reserved pastry for the lattice top on cling film and roll out thinly. Egg wash the pastry and set aside to chill in the fridge (the cling film makes it easier to move about). Do not cut into strips at this stage. Do not egg wash the strips once they are on the tart as it will drip into the treacle mixture.\\r\\nTo make the filling, heat the syrup gently in a large pan but do not boil.\\r\\nOnce melted, add the breadcrumbs, lemon juice and zest to the syrup. (You can add less lemon if you would prefer less citrus taste.) If the mixture looks runny, add a few more breadcrumbs.\\r\\nPour the syrup mixture into the lined tin and level the surface.\\r\\nRemove the reserved pastry from the fridge and cut into long strips, 1cm/½in wide. Make sure they are all longer than the edges of the tart tin.\\r\\nEgg wash the edge of the pastry in the tin, and start to make the woven laying lattice pattern over the mixture, leave the strips hanging over the edge of the tin.\\r\\nOnce the lattice is in place, use the tin edge to cut off the strips by pressing down with your hands, creating a neat finish.\\r\\nBake on the pre-heated baking tray in the hot oven for about 10 minutes until the pastry has started to colour, and then reduce the oven temperature to 180C/350F/Gas 4. If at this stage the lattice seems to be getting too dark brown, cover the tart with tin foil.\\r\\nBake for a further 25-30 minutes until the pastry is golden-brown and the filling set.\\r\\nRemove the tart from the oven and leave to firm up in the tin. Serve warm or cold.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wprvrw1511641295.jpg\",\n    \"strTags\": \"Tart\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=YMmgKCNcqwI\",\n    \"strIngredient1\": \"Plain Flour\",\n    \"strIngredient2\": \"Butter\",\n    \"strIngredient3\": \"Golden Syrup\",\n    \"strIngredient4\": \"Breadcrumbs\",\n    \"strIngredient5\": \"Lemons\",\n    \"strIngredient6\": \"Eggs\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"250g\",\n    \"strMeasure2\": \"135g\",\n    \"strMeasure3\": \"400g\",\n    \"strMeasure4\": \"150g\",\n    \"strMeasure5\": \"Zest of 2\",\n    \"strMeasure6\": \"1 beaten\",\n    \"strMeasure7\": \"\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbc.co.uk/food/recipes/mary_berrys_treacle_tart_28524\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 84\n  },\n  {\n    \"idMeal\": \"52909\",\n    \"strMeal\": \"Tarte Tatin\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Roll the pastry to a 3mm-thick round on a lightly floured surface and cut a 24cm circle, using a plate as a guide. Lightly prick all over with a fork, wrap in cling film on a baking sheet and freeze while preparing the apples.\\r\\nHeat oven to 180C/160C fan/gas 4. Peel, quarter and core the apples. Put the sugar in a flameproof 20cm ceramic Tatin dish or a 20cm ovenproof heavy-based frying pan and place over a medium-high heat. Cook the sugar for 5-7 mins to a dark amber caramel syrup that’s starting to smoke, then turn off the heat and stir in the 60g diced chilled butter.\\r\\nTo assemble the Tarte Tatin, arrange the apple quarters very tightly in a circle around the edge of the dish first, rounded-side down, then fill in the middle in a similar fashion. Gently press with your hands to ensure there are no gaps. Brush the fruit with the melted butter.\\r\\nBake in the oven for 30 mins, then remove and place the disc of frozen puff pastry on top – it will quickly defrost. Tuck the edges down the inside of the dish and, with a knife, prick a few holes in the pastry to allow steam to escape. Bake for a further 40-45 mins until the pastry is golden brown and crisp.\\r\\nAllow to cool to room temperature for 1 hr before running a knife around the edge of the dish and inverting it onto a large serving plate that is deep enough to contain the juices. Serve with crème fraîche or vanilla ice cream.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/ryspuw1511786688.jpg\",\n    \"strTags\": \"Treat,Tart,Desert,DinnerParty\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=8xDM8U6h9Pw\",\n    \"strIngredient1\": \"Puff Pastry\",\n    \"strIngredient2\": \"Plain Flour\",\n    \"strIngredient3\": \"Braeburn Apples\",\n    \"strIngredient4\": \"Caster Sugar\",\n    \"strIngredient5\": \"Butter\",\n    \"strIngredient6\": \"Creme Fraiche\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"300g\",\n    \"strMeasure2\": \"Dusting\",\n    \"strMeasure3\": \"6\",\n    \"strMeasure4\": \"100g \",\n    \"strMeasure5\": \"85g\",\n    \"strMeasure6\": \"to serve\",\n    \"strMeasure7\": \"\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/tarte-tatin\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 85\n  },\n  {\n    \"idMeal\": \"52912\",\n    \"strMeal\": \"Three-cheese souffles\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Miscellaneous\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Heat oven to 200C/180C fan/ gas 6 and butter 4 small (about 200ml) ramekins. Sprinkle the Parmesan into the ramekins, turning until all sides are covered. Place the milk and bay leaves in a large saucepan over a gentle heat and bring to the boil. Turn off the heat and leave to infuse for 15 mins.\\r\\nDiscard the bay leaves, add the butter and flour, and return to a low heat. Very gently simmer, stirring continuously with a balloon whisk, for about 6 mins until you get a smooth, thick white sauce. Make sure that you get right into the corners of the pan to stop the sauce from catching or becoming lumpy.\\r\\nOnce thickened, transfer the sauce to a large bowl and stir in the mustard powder, cayenne pepper, Gruyère and egg yolks until fully combined.\\r\\nIn a spotlessly clean bowl and with a clean whisk, beat the egg whites just until peaks begin to form.\\r\\nCarefully fold the egg whites into the cheese sauce in three stages making sure you fold, rather than stir, to keep the egg whites light and airy. Fill the prepared ramekins with the soufflé mix.\\r\\nTop each soufflé with a slice of goat’s cheese, then place on a baking tray. Bake for 20-25 mins or until springy and well risen but cooked through.\\r\\nLeave to cool, then run a knife around the edge of each dish and remove the soufflés. If preparing in advance, place soufflés upside down (for neat presentation), on a tray. Cover tray in cling film. Chill for a few days or freeze for up to 1 month.\\r\\nWhen ready to re-bake, heat oven to 200C/180C fan/gas 6. Place the upside-down soufflés in a shallow baking dish, top with the remaining goat’s cheese slices and pour over the cream (this stops them from drying out when baked for the second time). Cook for 8-10 mins until golden. Serve immediately alongside some simply dressed salad.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/sxwquu1511793428.jpg\",\n    \"strTags\": \"Baking\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=mS_gbQpBvZo\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Parmesan\",\n    \"strIngredient3\": \"Milk\",\n    \"strIngredient4\": \"Bay Leaves\",\n    \"strIngredient5\": \"Plain Flour\",\n    \"strIngredient6\": \"English Mustard\",\n    \"strIngredient7\": \"Cayenne Pepper\",\n    \"strIngredient8\": \"Gruyère\",\n    \"strIngredient9\": \"Eggs\",\n    \"strIngredient10\": \"Goats Cheese\",\n    \"strIngredient11\": \"Double Cream\",\n    \"strIngredient12\": \"Spinach\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"50g\",\n    \"strMeasure2\": \"25g\",\n    \"strMeasure3\": \"300ml \",\n    \"strMeasure4\": \"2\",\n    \"strMeasure5\": \"5 tbs\",\n    \"strMeasure6\": \"½ tsp\",\n    \"strMeasure7\": \"Pod of\",\n    \"strMeasure8\": \"140g\",\n    \"strMeasure9\": \"3\",\n    \"strMeasure10\": \"8 slices\",\n    \"strMeasure11\": \"150ml\",\n    \"strMeasure12\": \"to serve\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/3028701/threecheese-souffls\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 86\n  },\n  {\n    \"idMeal\": \"52926\",\n    \"strMeal\": \"Tourtiere\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pork\",\n    \"strArea\": \"Canadian\",\n    \"strInstructions\": \"Heat oven to 200C/180C fan/gas 6. Boil the potato until tender, drain and mash, then leave to cool. Heat the oil in a non-stick pan, add the mince and onion and quickly fry until browned. Add the garlic, spices, stock, plenty of pepper and a little salt and mix well. Remove from the heat, stir into the potato and leave to cool.\\r\\nRoll out half the pastry and line the base of a 20-23cm pie plate or flan tin. Fill with the pork mixture and brush the edges of the pastry with water. Roll out the remaining dough and cover the pie. Press the edges of the pastry to seal, trimming off the excess. Prick the top of the pastry case to allow steam to escape and glaze the top with the beaten egg.\\r\\nBake for 30 mins until the pastry is crisp and golden. Serve cut into wedges with a crisp green salad. Leftovers are good cold for lunch the next day, served with a selection of pickles.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/ytpstt1511814614.jpg\",\n    \"strTags\": \"Pie,MainMeal,BBQ,Cake\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=A96hbwobKKs\",\n    \"strIngredient1\": \"Potatoes\",\n    \"strIngredient2\": \"Sunflower Oil\",\n    \"strIngredient3\": \"Minced Pork\",\n    \"strIngredient4\": \"Onion\",\n    \"strIngredient5\": \"Garlic Clove\",\n    \"strIngredient6\": \"Cinnamon\",\n    \"strIngredient7\": \"Allspice\",\n    \"strIngredient8\": \"Nutmeg\",\n    \"strIngredient9\": \"Vegetable Stock\",\n    \"strIngredient10\": \"Shortcrust Pastry\",\n    \"strIngredient11\": \"Egg\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 medium\",\n    \"strMeasure2\": \"1 tsp \",\n    \"strMeasure3\": \"500g\",\n    \"strMeasure4\": \"1 finely chopped \",\n    \"strMeasure5\": \"1 finely chopped \",\n    \"strMeasure6\": \"¼ tsp\",\n    \"strMeasure7\": \"¼ tsp\",\n    \"strMeasure8\": \"¼ tsp\",\n    \"strMeasure9\": \"100ml\",\n    \"strMeasure10\": \"400g\",\n    \"strMeasure11\": \"To Glaze\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/531644/spiced-pork-and-potato-pie\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 87\n  },\n  {\n    \"idMeal\": \"52929\",\n    \"strMeal\": \"Timbits\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"Canadian\",\n    \"strInstructions\": \"Sift together dry ingredients.\\r\\nMix together wet ingredients and incorporate into dry. Stir until smooth.\\r\\nDrop by teaspoonfuls(no bigger) into hot oil (365 degrees, no hotter), turning after a few moments until golden brown on all sides.\\r\\nRemove and drain.\\r\\nRoll in cinnamon sugar while still warm and serve.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/txsupu1511815755.jpg\",\n    \"strTags\": \"Snack,Treat\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=fFLn1h80AGQ\",\n    \"strIngredient1\": \"Flour\",\n    \"strIngredient2\": \"Sugar\",\n    \"strIngredient3\": \"Baking Powder\",\n    \"strIngredient4\": \"Salt\",\n    \"strIngredient5\": \"Egg\",\n    \"strIngredient6\": \"Milk\",\n    \"strIngredient7\": \"Oil\",\n    \"strIngredient8\": \"Oil\",\n    \"strIngredient9\": \"Icing Sugar\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 cups \",\n    \"strMeasure2\": \"1/3 cup\",\n    \"strMeasure3\": \"3 tsp\",\n    \"strMeasure4\": \"½ tsp\",\n    \"strMeasure5\": \"1 beaten\",\n    \"strMeasure6\": \"¾ cup\",\n    \"strMeasure7\": \"3 tbs\",\n    \"strMeasure8\": \"for frying\",\n    \"strMeasure9\": \"garnish\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.geniuskitchen.com/recipe/drop-doughnuts-133877\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 88\n  },\n  {\n    \"idMeal\": \"52970\",\n    \"strMeal\": \"Tunisian Orange Cake\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"Tunisian\",\n    \"strInstructions\": \"Preheat oven to 190 C / Gas 5. Grease a 23cm round springform tin.\\r\\nCut off the hard bits from the top and bottom of the orange. Slice the orange and remove all seeds. Puree the orange with its peel in a food processor. Add one third of the sugar and the olive oil and continue to mix until well combined.\\r\\nSieve together flour and baking powder.\\r\\nBeat the eggs and the remaining sugar with an electric hand mixer for at least five minutes until very fluffy. Fold in half of the flour mixture, then the orange and the vanilla, then fold in the remaining flour. Mix well but not for too long.\\r\\nPour cake mixture into prepared tin and smooth out. Bake in preheated oven for 20 minutes. Reduce the oven temperature to 160 C / Gas 2 and bake again for 30 minutes Bake until the cake is golden brown and a skewer comes out clean. Cool on a wire cake rack.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/y4jpgq1560459207.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=rCUxg866Ea4\",\n    \"strIngredient1\": \"Orange\",\n    \"strIngredient2\": \"Caster Sugar\",\n    \"strIngredient3\": \"Olive Oil\",\n    \"strIngredient4\": \"Flour\",\n    \"strIngredient5\": \"Baking Powder\",\n    \"strIngredient6\": \"Eggs\",\n    \"strIngredient7\": \"Vanilla Extract\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 large\",\n    \"strMeasure2\": \"300g\",\n    \"strMeasure3\": \"75 ml \",\n    \"strMeasure4\": \"280g\",\n    \"strMeasure5\": \"1 tbs\",\n    \"strMeasure6\": \"4 large\",\n    \"strMeasure7\": \"2 tsp\",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"http://allrecipes.co.uk/recipe/16067/tunisian-orange-cake.aspx\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 89\n  },\n  {\n    \"idMeal\": \"52972\",\n    \"strMeal\": \"Tunisian Lamb Soup\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Lamb\",\n    \"strArea\": \"Tunisian\",\n    \"strInstructions\": \"Add the lamb to a casserole and cook over high heat. When browned, remove from the heat and set aside.\\r\\nKeep a tablespoon of fat in the casserole and discard the rest. Reduce to medium heat then add the garlic, onion and spinach and cook until the onion is translucent and the spinach wilted or about 5 minutes.\\r\\nReturn the lamb to the casserole with the onion-spinach mixture, add the tomato puree, cumin, harissa, chicken, chickpeas, lemon juice, salt and pepper in the pan. Simmer over low heat for about 20 minutes.\\r\\nAdd the pasta and cook for 15 minutes or until pasta is cooked.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/t8mn9g1560460231.jpg\",\n    \"strTags\": \"Soup\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=w1qgTQmLRe4\",\n    \"strIngredient1\": \"Lamb Mince\",\n    \"strIngredient2\": \"Garlic\",\n    \"strIngredient3\": \"Onion\",\n    \"strIngredient4\": \"Spinach\",\n    \"strIngredient5\": \"Tomato Puree\",\n    \"strIngredient6\": \"Cumin\",\n    \"strIngredient7\": \"Chicken Stock\",\n    \"strIngredient8\": \"Harissa Spice\",\n    \"strIngredient9\": \"Chickpeas\",\n    \"strIngredient10\": \"Lemon Juice\",\n    \"strIngredient11\": \"Macaroni\",\n    \"strIngredient12\": \"Salt\",\n    \"strIngredient13\": \"Pepper\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"500g\",\n    \"strMeasure2\": \"2 cloves minced\",\n    \"strMeasure3\": \"1\",\n    \"strMeasure4\": \"300g\",\n    \"strMeasure5\": \"3 tbs\",\n    \"strMeasure6\": \"1 tbs\",\n    \"strMeasure7\": \"1 Litre\",\n    \"strMeasure8\": \"3 tsp\",\n    \"strMeasure9\": \"400g\",\n    \"strMeasure10\": \"1/2 \",\n    \"strMeasure11\": \"150g\",\n    \"strMeasure12\": \"Pinch\",\n    \"strMeasure13\": \"Pinch\",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"http://allrecipes.co.uk/recipe/16694/tunisian-lamb-soup.aspx\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 90\n  },\n  {\n    \"idMeal\": \"52975\",\n    \"strMeal\": \"Tuna and Egg Briks\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"Tunisian\",\n    \"strInstructions\": \"Heat 2 tsp of the oil in a large saucepan and cook the spring onions over a low heat for 3 minutes or until beginning to soften. Add the spinach, cover with a tight-fitting lid and cook for a further 2–3 minutes or until tender and wilted, stirring once or twice. Tip the mixture into a sieve or colander and leave to drain and cool.\\r\\nUsing a saucer as a guide, cut out 24 rounds about 12.5 cm (5 in) in diameter from the filo pastry, cutting 6 rounds from each sheet. Stack the filo rounds in a pile, then cover with cling film to prevent them from drying out.\\r\\nWhen the spinach mixture is cool, squeeze out as much excess liquid as possible, then transfer to a bowl. Add the tuna, eggs, hot pepper sauce, and salt and pepper to taste. Mix well.\\r\\nPreheat the oven to 200°C (400°F, gas mark 6). Take one filo round and very lightly brush with some of the remaining oil. Top with a second round and brush with a little oil, then place a third round on top and brush with oil.\\r\\nPlace a heaped tbsp of the filling in the middle of the round, then fold the pastry over to make a half-moon shape. Fold in the edges, twisting them to seal, and place on a non-stick baking sheet. Repeat with the remaining pastry and filling to make 8 briks in all.\\r\\nLightly brush the briks with the remaining oil. Bake for 12–15 minutes or until the pastry is crisp and golden brown.\\r\\nMeanwhile, combine the tomatoes and cucumber in a bowl and sprinkle with the lemon juice and seasoning to taste. Serve the briks hot with this salad and the chutney.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/2dsltq1560461468.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=C5n1fN8TGHs\",\n    \"strIngredient1\": \"Olive Oil\",\n    \"strIngredient2\": \"Spring Onions\",\n    \"strIngredient3\": \"Spinach\",\n    \"strIngredient4\": \"Filo Pastry\",\n    \"strIngredient5\": \"Tuna\",\n    \"strIngredient6\": \"Eggs\",\n    \"strIngredient7\": \"Hotsauce\",\n    \"strIngredient8\": \"Tomatoes\",\n    \"strIngredient9\": \"Cucumber\",\n    \"strIngredient10\": \"Lemon Juice\",\n    \"strIngredient11\": \"Apricot Jam\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 tbs\",\n    \"strMeasure2\": \"8\",\n    \"strMeasure3\": \"200g\",\n    \"strMeasure4\": \"4\",\n    \"strMeasure5\": \"1 can \",\n    \"strMeasure6\": \"2\",\n    \"strMeasure7\": \"Dash\",\n    \"strMeasure8\": \"4 Chopped\",\n    \"strMeasure9\": \"1/4 \",\n    \"strMeasure10\": \"1 tbs\",\n    \"strMeasure11\": \"4 tbs\",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"http://allrecipes.co.uk/recipe/3096/tunisian-tuna-and-egg-briks.aspx\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 91\n  },\n  {\n    \"idMeal\": \"53026\",\n    \"strMeal\": \"Tamiya\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Egyptian\",\n    \"strInstructions\": \"oak the beans in water to cover overnight.Drain. If skinless beans are unavailable, rub to loosen the skins, then discard the skins. Pat the beans dry with a towel.\\r\\nGrind the beans in a food mill or meat grinder.If neither appliance is available, process them in a food processor but only until the beans form a paste. (If blended too smoothly, the batter tends to fall apart during cooking.) Add the scallions, garlic, cilantro, cumin, baking powder, cayenne, salt, pepper, and coriander, if using.  Refrigerate for at least 30 minutes.\\r\\nShape the bean mixture into 1-inch balls.Flatten slightly and coat with flour.\\r\\nHeat at least 1½-inches of oil over medium heat to 365 degrees.\\r\\nFry the patties in batches, turning once, until golden brown on all sides, about 5 minutes.Remove with a wire mesh skimmer or slotted spoon. Serve as part of a meze or in pita bread with tomato-cucumber salad and tahina sauce.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/n3xxd91598732796.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=mulqW-J3Yy4\",\n    \"strIngredient1\": \"Broad Beans\",\n    \"strIngredient2\": \"Spring Onions\",\n    \"strIngredient3\": \"Garlic Clove\",\n    \"strIngredient4\": \"Parsley\",\n    \"strIngredient5\": \"Cumin\",\n    \"strIngredient6\": \"Baking Powder\",\n    \"strIngredient7\": \"Cayenne Pepper\",\n    \"strIngredient8\": \"Flour\",\n    \"strIngredient9\": \"Vegetable Oil\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"3 cups \",\n    \"strMeasure2\": \"6\",\n    \"strMeasure3\": \"4\",\n    \"strMeasure4\": \"1/4 cup\",\n    \"strMeasure5\": \"2 tsp\",\n    \"strMeasure6\": \"1 tsp \",\n    \"strMeasure7\": \"1/2 tsp\",\n    \"strMeasure8\": \"Spinkling\",\n    \"strMeasure9\": \"As required\",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://oukosher.org/recipes/tamiya-egyptian-dried-fava-bean-fritters/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 92\n  },\n  {\n    \"idMeal\": \"53032\",\n    \"strMeal\": \"Tonkatsu pork\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pork\",\n    \"strArea\": \"Japanese\",\n    \"strInstructions\": \"STEP 1\\r\\nRemove the large piece of fat on the edge of each pork loin, then bash each of the loins between two pieces of baking parchment until around 1cm in thickness – you can do this using a meat tenderiser or a rolling pin. Once bashed, use your hands to reshape the meat to its original shape and thickness – this step will ensure the meat is as succulent as possible.\\r\\n\\r\\nSTEP 2\\r\\nPut the flour, eggs and panko breadcrumbs into three separate wide-rimmed bowls. Season the meat, then dip first in the flour, followed by the eggs, then the breadcrumbs.\\r\\n\\r\\nSTEP 3\\r\\nIn a large frying or sauté pan, add enough oil to come 2cm up the side of the pan. Heat the oil to 180C – if you don’t have a thermometer, drop a bit of panko into the oil and if it sinks a little then starts to fry, the oil is ready. Add two pork chops and cook for 1 min 30 secs on each side, then remove and leave to rest on a wire rack for 5 mins. Repeat with the remaining pork chops.\\r\\n\\r\\nSTEP 4\\r\\nWhile the pork is resting, make the sauce by whisking the ingredients together, adding a splash of water if it’s particularly thick. Slice the tonkatsu and serve drizzled with the sauce.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/lwsnkl1604181187.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=aASr5x0d3Ys\",\n    \"strIngredient1\": \"Pork Chops\",\n    \"strIngredient2\": \"Flour\",\n    \"strIngredient3\": \"Eggs\",\n    \"strIngredient4\": \"Breadcrumbs\",\n    \"strIngredient5\": \"Vegetable Oil\",\n    \"strIngredient6\": \"Tomato Ketchup\",\n    \"strIngredient7\": \"Worcestershire Sauce\",\n    \"strIngredient8\": \"Oyster Sauce\",\n    \"strIngredient9\": \"Caster Sugar\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"4\",\n    \"strMeasure2\": \"100g \",\n    \"strMeasure3\": \"2 Beaten \",\n    \"strMeasure4\": \"100g \",\n    \"strMeasure5\": \"Fry\",\n    \"strMeasure6\": \"2 tbs\",\n    \"strMeasure7\": \"2 tbs\",\n    \"strMeasure8\": \"1 tbs\",\n    \"strMeasure9\": \"2 tblsp \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/tonkatsu-pork\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 93\n  },\n  {\n    \"idMeal\": \"53057\",\n    \"strMeal\": \"Traditional Croatian Goulash\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Croatian\",\n    \"strInstructions\": \"Clean the meat from the veins if there are some and cut it into smaller pieces, 3 × 3 cm. Marinate the meat in the mustard and spices and let it sit in the refrigerator for one hour\\r\\nHeat one tablespoon of pork fat or vegetable oil in a pot and fry the meat on all sides until it gets browned. Once the meat is cooked, transfer it to a plate and add another tablespoon of fat to the pot\\r\\nCut the onions very fine, peel the carrots and shred it using a grater. Cook the onions and carrots over low heat for 15 minutes. You can salt the vegetables a little to make them soften faster\\r\\nOnce the vegetables have browned and become slightly mushy, add the meat and bay leaves and garlic. Pour over with wine and simmer for 10-15 minutes to allow the alcohol to evaporate. Now is the right time to add 2/3 the amount of liquid\\r\\nCover the pot and cook over low heat for an hour, stirring occasionally. After the first hour, pour over the rest of the water or stock and cook for another 30-45 minutes\\r\\nAllow the stew to cool slightly and serve it with a sprinkle of chopped parsley and few slices of fresh hot pepper if you like to spice it up a bit\\r\\nSlice ​​some fresh bread, season the salad and simply enjoying these wonderful flavors\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/n1hcou1628770088.jpg\",\n    \"strTags\": \"Soup\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=ipEz5u2T7KM\",\n    \"strIngredient1\": \"Beef\",\n    \"strIngredient2\": \"Onions\",\n    \"strIngredient3\": \"Carrots\",\n    \"strIngredient4\": \"Garlic\",\n    \"strIngredient5\": \"Bay Leaf\",\n    \"strIngredient6\": \"Red Wine\",\n    \"strIngredient7\": \"Water\",\n    \"strIngredient8\": \"Mustard\",\n    \"strIngredient9\": \"Salt\",\n    \"strIngredient10\": \"Pepper\",\n    \"strIngredient11\": \"Paprika\",\n    \"strIngredient12\": \"Vegetable Oil\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"500g\",\n    \"strMeasure2\": \"2 chopped\",\n    \"strMeasure3\": \"2 chopped\",\n    \"strMeasure4\": \"2 cloves\",\n    \"strMeasure5\": \"2\",\n    \"strMeasure6\": \"200ml\",\n    \"strMeasure7\": \"2 Litres\",\n    \"strMeasure8\": \"3 tbs\",\n    \"strMeasure9\": \"1tbsp\",\n    \"strMeasure10\": \"1/2 tsp\",\n    \"strMeasure11\": \"1/2 tsp\",\n    \"strMeasure12\": \"2 tbs\",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.chasingthedonkey.com/croatian-recipes-traditional-croatian-goulash/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 94\n  },\n  {\n    \"idMeal\": \"53075\",\n    \"strMeal\": \"Tortang Talong\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Filipino\",\n    \"strInstructions\": \"0.\\tGrill the eggplant until the color of skin turns almost black\\r\\n1.\\tLet the eggplant cool for a while then peel off the skin. Set aside.\\r\\n2.\\tCrack the eggs and place in a bowl\\r\\n3.\\tAdd salt and beat\\r\\n4.\\tPlace the eggplant on a flat surface and flatten using a fork.\\r\\n5.\\tDip the flattened eggplant in the beaten egg mixture\\r\\n6.\\tHeat the pan and pour the cooking oil\\r\\n7.\\tFry the eggplant (that was dipped in the beaten mixture). Make sure that both sides are cooked. Frying time will take you about 3 to 4 minutes per side on medium heat. \\r\\n\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/va668f1683209318.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=eLl8ekOu1MM\",\n    \"strIngredient1\": \"Egg Plants\",\n    \"strIngredient2\": \"Eggs\",\n    \"strIngredient3\": \"Salt\",\n    \"strIngredient4\": \"Olive Oil\",\n    \"strIngredient5\": \"\",\n    \"strIngredient6\": \"\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"4\",\n    \"strMeasure2\": \"2\",\n    \"strMeasure3\": \"1 tsp \",\n    \"strMeasure4\": \"4 tsp\",\n    \"strMeasure5\": \" \",\n    \"strMeasure6\": \" \",\n    \"strMeasure7\": \" \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.sainsburysmagazine.co.uk/recipes/mains/tortang-talong\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 95\n  },\n  {\n    \"idMeal\": \"52770\",\n    \"strMeal\": \"Spaghetti Bolognese\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Italian\",\n    \"strInstructions\": \"Put the onion and oil in a large pan and fry over a fairly high heat for 3-4 mins. Add the garlic and mince and fry until they both brown. Add the mushrooms and herbs, and cook for another couple of mins.\\r\\n\\r\\nStir in the tomatoes, beef stock, tomato ketchup or purée, Worcestershire sauce and seasoning. Bring to the boil, then reduce the heat, cover and simmer, stirring occasionally, for 30 mins.\\r\\n\\r\\nMeanwhile, cook the spaghetti in a large pan of boiling, salted water, according to packet instructions. Drain well, run hot water through it, put it back in the pan and add a dash of olive oil, if you like, then stir in the meat sauce. Serve in hot bowls and hand round Parmesan cheese, for sprinkling on top.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/sutysw1468247559.jpg\",\n    \"strTags\": \"Pasta,Meat\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=-gF8d-fitkU\",\n    \"strIngredient1\": \"onions\",\n    \"strIngredient2\": \"olive oil\",\n    \"strIngredient3\": \"garlic\",\n    \"strIngredient4\": \"lean minced beef\",\n    \"strIngredient5\": \"mushrooms\",\n    \"strIngredient6\": \"dried oregano\",\n    \"strIngredient7\": \"tomatoes\",\n    \"strIngredient8\": \"hot beef stock\",\n    \"strIngredient9\": \"tomato puree\",\n    \"strIngredient10\": \"worcestershire sauce\",\n    \"strIngredient11\": \"spaghetti\",\n    \"strIngredient12\": \"parmesan\",\n    \"strIngredient13\": null,\n    \"strIngredient14\": null,\n    \"strIngredient15\": null,\n    \"strIngredient16\": null,\n    \"strIngredient17\": null,\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"2\",\n    \"strMeasure2\": \"1tbsp\",\n    \"strMeasure3\": \"1 clove\",\n    \"strMeasure4\": \"500g\",\n    \"strMeasure5\": \"90g\",\n    \"strMeasure6\": \"1tsp\",\n    \"strMeasure7\": \"400g can\",\n    \"strMeasure8\": \"300ml\",\n    \"strMeasure9\": \"1tbsp\",\n    \"strMeasure10\": \"1tbsp\",\n    \"strMeasure11\": \"350g\",\n    \"strMeasure12\": \"Topping\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": null,\n    \"strMeasure17\": null,\n    \"strMeasure18\": null,\n    \"strMeasure19\": null,\n    \"strMeasure20\": null,\n    \"strSource\": null,\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 96\n  },\n  {\n    \"idMeal\": \"52771\",\n    \"strMeal\": \"Spicy Arrabiata Penne\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Italian\",\n    \"strInstructions\": \"Bring a large pot of water to a boil. Add kosher salt to the boiling water, then add the pasta. Cook according to the package instructions, about 9 minutes.\\r\\nIn a large skillet over medium-high heat, add the olive oil and heat until the oil starts to shimmer. Add the garlic and cook, stirring, until fragrant, 1 to 2 minutes. Add the chopped tomatoes, red chile flakes, Italian seasoning and salt and pepper to taste. Bring to a boil and cook for 5 minutes. Remove from the heat and add the chopped basil.\\r\\nDrain the pasta and add it to the sauce. Garnish with Parmigiano-Reggiano flakes and more basil and serve warm.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/ustsqw1468250014.jpg\",\n    \"strTags\": \"Pasta,Curry\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=1IszT_guI08\",\n    \"strIngredient1\": \"penne rigate\",\n    \"strIngredient2\": \"olive oil\",\n    \"strIngredient3\": \"garlic\",\n    \"strIngredient4\": \"chopped tomatoes\",\n    \"strIngredient5\": \"red chile flakes\",\n    \"strIngredient6\": \"italian seasoning\",\n    \"strIngredient7\": \"basil\",\n    \"strIngredient8\": \"Parmigiano-Reggiano\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": null,\n    \"strIngredient17\": null,\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"1 pound\",\n    \"strMeasure2\": \"1/4 cup\",\n    \"strMeasure3\": \"3 cloves\",\n    \"strMeasure4\": \"1 tin \",\n    \"strMeasure5\": \"1/2 teaspoon\",\n    \"strMeasure6\": \"1/2 teaspoon\",\n    \"strMeasure7\": \"6 leaves\",\n    \"strMeasure8\": \"spinkling\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": null,\n    \"strMeasure17\": null,\n    \"strMeasure18\": null,\n    \"strMeasure19\": null,\n    \"strMeasure20\": null,\n    \"strSource\": null,\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 97\n  },\n  {\n    \"idMeal\": \"52784\",\n    \"strMeal\": \"Smoky Lentil Chili with Squash\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Begin by roasting the squash. Slice it into thin crescents and drizzle with a little oil and sprinkle with sea salt. I added a fresh little sage I had in the fridge, but it’s unnecessary. Roast the squash a 205 C (400 F) for 20-30 minutes, flipping halfway through, until soft and golden. Let cool and chop into cubes.\\r\\nMeanwhile, rinse the lentils and cover them with water. Bring them to the boil then turn down to a simmer and let cook (uncovered) for 20-30 minutes, or until tender. Drain and set aside.\\r\\nWhile the lentils are cooking heat the 1 Tbsp. of oil on low in a medium pot. Add the onions and leeks and sauté for 5 or so minutes, or until they begin to soften. Add the garlic next along with the cumin and coriander, cooking for a few more minutes. Add the remaining spices – paprika, cinnamon, chilli, cocoa, Worcestershire sauce, salt, and oregano. Next add the can of tomatoes, the water or stock, and carrots. Let simmer, covered, for 20 minutes or until the veg is tender and the mixture has thickened up. You’ll need to check on the pot periodically for a stir and a top of of liquid if needed.\\r\\nAdd the lentils and chopped roasted squash. Let cook for 10 more minutes to heat through.\\r\\nServe with sliced jalapeno, lime wedges, cilantro, green onions, and cashew sour cream.\\r\\n\\r\\nSIMPLE CASHEW SOUR CREAM\\r\\n\\r\\n1 Cup Raw Unsalted Cashews\\r\\nPinch Sea Salt\\r\\n1 tsp. Apple Cider Vinegar\\r\\nWater\\r\\n\\r\\nBring some water to the boil, and use it to soak the cashews for at least four hours. Alternatively, you can use cold water and let the cashews soak overnight, but I’m forgetful/lazy, so often use the boil method which is much faster.\\r\\nAfter the cashews have soaked, drain them and add to a high speed blender. Begin to puree, slowly adding about 1/2 cup fresh water, until a creamy consistency is reached. You may need to add less or more water to reach the desired consistency.\\r\\nAdd a pinch of sea salt and vinegar (or lemon juice).\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/uwxqwy1483389553.jpg\",\n    \"strTags\": \"Pulse\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=pKmqawK2Tqs\",\n    \"strIngredient1\": \"Olive Oil\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Leek\",\n    \"strIngredient4\": \"Garlic\",\n    \"strIngredient5\": \"Cumin\",\n    \"strIngredient6\": \"Coriander\",\n    \"strIngredient7\": \"Smoked Paprika\",\n    \"strIngredient8\": \"Cinnamon\",\n    \"strIngredient9\": \"Chili Powder\",\n    \"strIngredient10\": \"Cocoa\",\n    \"strIngredient11\": \"Dried Oregano\",\n    \"strIngredient12\": \"Diced Tomatoes\",\n    \"strIngredient13\": \"Water\",\n    \"strIngredient14\": \"Carrots\",\n    \"strIngredient15\": \"Brown Lentils\",\n    \"strIngredient16\": \"Sea Salt\",\n    \"strIngredient17\": \"Squash\",\n    \"strIngredient18\": \"Cashews\",\n    \"strIngredient19\": \"Apple Cider Vinegar\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 tbls\",\n    \"strMeasure2\": \"1\",\n    \"strMeasure3\": \"1 chopped\",\n    \"strMeasure4\": \"3 cloves\",\n    \"strMeasure5\": \"4 tsp ground \",\n    \"strMeasure6\": \"2 tsp ground\",\n    \"strMeasure7\": \"1 tsp\",\n    \"strMeasure8\": \"1/2 tsp\",\n    \"strMeasure9\": \"1 tsp\",\n    \"strMeasure10\": \"1 tsp\",\n    \"strMeasure11\": \"1/2 tsp\",\n    \"strMeasure12\": \"1 can\",\n    \"strMeasure13\": \"3 cups\",\n    \"strMeasure14\": \"3 chopped\",\n    \"strMeasure15\": \"1 1/2 cups\",\n    \"strMeasure16\": \"1 tsp\",\n    \"strMeasure17\": \"1 Small\",\n    \"strMeasure18\": \"1 Cup\",\n    \"strMeasure19\": \"1 tsp\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.wholeheartedeats.com/2016/11/smoky-lentil-chili-squash/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 98\n  },\n  {\n    \"idMeal\": \"52793\",\n    \"strMeal\": \"Sticky Toffee Pudding Ultimate\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Stone and chop the dates quite small, put them in a bowl, then pour the boiling water over. Leave for about 30 mins until cool and well-soaked, then mash a bit with a fork. Stir in the vanilla extract. Butter and flour seven mini pudding tins (each about 200ml/7fl oz) and sit them on a baking sheet. Heat oven to 180C/fan 160C/gas 4.\\r\\nWhile the dates are soaking, make the puddings. Mix the flour and bicarbonate of soda together and beat the eggs in a separate bowl. Beat the butter and sugar together in a large bowl for a few mins until slightly creamy (the mixture will be grainy from the sugar). Add the eggs a little at a time, beating well between additions. Beat in the black treacle then, using a large metal spoon, gently fold in one-third of the flour, then half the milk, being careful not to overbeat. Repeat until all the flour and milk is used. Stir the soaked dates into the pudding batter. The mix may look a little curdled at this point and will be like a soft, thick batter. Spoon it evenly between the tins and bake for 20-25 mins, until risen and firm.\\r\\nMeanwhile, put the sugar and butter for the sauce in a medium saucepan with half the cream. Bring to the boil over a medium heat, stirring all the time, until the sugar has completely dissolved. Stir in the black treacle, turn up the heat slightly and let the mixture bubble away for 2-3 mins until it is a rich toffee colour, stirring occasionally to make sure it doesn’t burn. Take the pan off the heat and beat in the rest of the cream.\\r\\nRemove the puddings from the oven. Leave in the tins for a few mins, then loosen them well from the sides of the tins with a small palette knife before turning them out. You can serve them now with the sauce drizzled over, but they’ll be even stickier if left for a day or two coated in the sauce. To do this, pour about half the sauce into one or two ovenproof serving dishes. Sit the upturned puddings on the sauce, then pour the rest of the sauce over them. Cover with a loose tent of foil so that the sauce doesn’t smudge (no need to chill).\\r\\nWhen ready to serve, heat oven to 180C/fan 160C/gas 4. Warm the puddings through, still covered, for 15-20 mins or until the sauce is bubbling. Serve them on their own, or with cream or custard.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/xrptpq1483909204.jpg\",\n    \"strTags\": \"Pudding,Desert,Cake,Dairy\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=hKq6RbxJHBo\",\n    \"strIngredient1\": \"Medjool dates\",\n    \"strIngredient2\": \"water\",\n    \"strIngredient3\": \"vanilla extract\",\n    \"strIngredient4\": \"self-raising flour\",\n    \"strIngredient5\": \"bicarbonate of soda\",\n    \"strIngredient6\": \"eggs\",\n    \"strIngredient7\": \"butter\",\n    \"strIngredient8\": \"demerara sugar\",\n    \"strIngredient9\": \"black treacle\",\n    \"strIngredient10\": \"milk\",\n    \"strIngredient11\": \"ice cream\",\n    \"strIngredient12\": \"muscovado sugar\",\n    \"strIngredient13\": \"butter\",\n    \"strIngredient14\": \"double cream\",\n    \"strIngredient15\": \"black treacle\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"225g\",\n    \"strMeasure2\": \"175ml Boiling\",\n    \"strMeasure3\": \"1 tsp\",\n    \"strMeasure4\": \"175g\",\n    \"strMeasure5\": \"1 tsp\",\n    \"strMeasure6\": \"2\",\n    \"strMeasure7\": \"85g\",\n    \"strMeasure8\": \"140g\",\n    \"strMeasure9\": \"2 tbsp\",\n    \"strMeasure10\": \"100ml\",\n    \"strMeasure11\": \"1 scoop\",\n    \"strMeasure12\": \"175g\",\n    \"strMeasure13\": \"50g\",\n    \"strMeasure14\": \"225ml\",\n    \"strMeasure15\": \"1 tbsp\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.youtube.com/watch?v=Wytv3bjqJII\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 99\n  },\n  {\n    \"idMeal\": \"52797\",\n    \"strMeal\": \"Spicy North African Potato Salad\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Moroccan\",\n    \"strInstructions\": \"Cook potatoes - place potatoes in a pot of cold water, and bring to the boil. Boil 20 minutes, or until potatoes are tender. You know they are cooked when you can stick a knife in them and the knife goes straight through.\\r\\nCombine harissa spice, olive oil, salt and pepper and lemon juice in a small bowl and whisk until combined.\\r\\nOnce potatoes are cooked, drain water and roughly chop potatoes in half.\\r\\nAdd harissa mix and spring onions/green onions to potatoes and stir.\\r\\nIn a large salad bowl, lay out arugula/rocket.\\r\\nTop with potato mix and toss.\\r\\nAdd fetta, mint and sprinkle over pine nuts.\\r\\nAdjust salt and pepper to taste.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/urtwux1486983078.jpg\",\n    \"strTags\": \"Vegetarian,Spicy\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=zxBzwJvTK4g\",\n    \"strIngredient1\": \"Small Potatoes\",\n    \"strIngredient2\": \"Harissa Spice\",\n    \"strIngredient3\": \"olive oil\",\n    \"strIngredient4\": \"Lemon\",\n    \"strIngredient5\": \"Spring onions\",\n    \"strIngredient6\": \"Rocket\",\n    \"strIngredient7\": \"Feta\",\n    \"strIngredient8\": \"Mint\",\n    \"strIngredient9\": \"Pine nuts\",\n    \"strIngredient10\": \"Salt\",\n    \"strIngredient11\": \"Pepper\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"650g/1lb 8 oz\",\n    \"strMeasure2\": \"1 tsp\",\n    \"strMeasure3\": \"2 tsp\",\n    \"strMeasure4\": \"juice of half\",\n    \"strMeasure5\": \"4\",\n    \"strMeasure6\": \"150g/6oz\",\n    \"strMeasure7\": \"80g/3oz\",\n    \"strMeasure8\": \"20 chopped\",\n    \"strMeasure9\": \"2 tablespoons\",\n    \"strMeasure10\": \"Pinch\",\n    \"strMeasure11\": \"Pinch\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 100\n  },\n  {\n    \"idMeal\": \"52817\",\n    \"strMeal\": \"Stovetop Eggplant With Harissa, Chickpeas, and Cumin Yogurt\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"Heat the oil in a 12-inch skillet over high heat until shimmering. Add the eggplants and lower the heat to medium. Season with salt and pepper as you rotate the eggplants, browning them on all sides. Continue to cook, turning regularly, until a fork inserted into the eggplant meets no resistance (you may have to stand them up on their fat end to finish cooking the thickest parts), about 20 minutes, lowering the heat and sprinkling water into the pan as necessary if the eggplants threaten to burn or smoke excessively.\\r\\n\\r\\n2.\\r\\nMix the harissa, chickpeas and tomatoes together, then add to the eggplants. Cook until the tomatoes have blistered and broken down, about 5 minutes more. Season with salt and pepper and add water as necessary to thin to a saucy consistency. Meanwhile, combine the yogurt and cumin in a serving bowl. Season with salt and pepper.\\r\\n\\r\\n3.\\r\\nTop the eggplant mixture with the parsley, drizzle with more extra virgin olive oil, and serve with the yogurt on the side.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/yqwtvu1487426027.jpg\",\n    \"strTags\": \"Vegetarian\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=uYB-1xJp4lg\",\n    \"strIngredient1\": \"Olive Oil\",\n    \"strIngredient2\": \"Egg Plants\",\n    \"strIngredient3\": \"Harissa\",\n    \"strIngredient4\": \"Chickpeas\",\n    \"strIngredient5\": \"Cherry Tomatoes\",\n    \"strIngredient6\": \"Greek yogurt\",\n    \"strIngredient7\": \"Ground cumin\",\n    \"strIngredient8\": \"Parsley\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"4 tablespoons\",\n    \"strMeasure2\": \"6 small\",\n    \"strMeasure3\": \"½ tablespoon\",\n    \"strMeasure4\": \"1 can\",\n    \"strMeasure5\": \"2 cups halved\",\n    \"strMeasure6\": \"1 1/2 cups\",\n    \"strMeasure7\": \"1 tablespoon\",\n    \"strMeasure8\": \"½ cup \",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.seriouseats.com/2014/09/one-pot-wonders-stovetop-eggplant-harissa-chickpeas-cumin.html\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 101\n  },\n  {\n    \"idMeal\": \"52823\",\n    \"strMeal\": \"Salmon Prawn Risotto\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"Italian\",\n    \"strInstructions\": \"Melt the butter in a thick-based pan and gently cook the onion without colour until it is soft.\\r\\nAdd the rice and stir to coat all the grains in the butter\\r\\nAdd the wine and cook gently stirring until it is absorbed\\r\\nGradually add the hot stock, stirring until each addition is absorbed. Keep stirring until the rice is tender\\r\\nSeason with the lemon juice and zest, and pepper to taste. (there will probably be sufficient saltiness from the salmon to not need to add salt) Stir gently to heat through\\r\\nServe scattered with the Parmesan and seasonal vegetables.\\r\\nGrill the salmon and gently place onto the risotto with the prawns and asparagus\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/xxrxux1503070723.jpg\",\n    \"strTags\": \"Fish\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=V2PMvBv52IE\",\n    \"strIngredient1\": \"butter\",\n    \"strIngredient2\": \"onion\",\n    \"strIngredient3\": \"rice\",\n    \"strIngredient4\": \"white wine\",\n    \"strIngredient5\": \"vegetable stock\",\n    \"strIngredient6\": \"lemon\",\n    \"strIngredient7\": \"King Prawns\",\n    \"strIngredient8\": \"salmon\",\n    \"strIngredient9\": \"asparagus\",\n    \"strIngredient10\": \"black pepper\",\n    \"strIngredient11\": \"Parmesan\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"50g/2oz\",\n    \"strMeasure2\": \"1 finely chopped \",\n    \"strMeasure3\": \"150g\",\n    \"strMeasure4\": \"125ml \",\n    \"strMeasure5\": \"1 litre hot\",\n    \"strMeasure6\": \"The juice and zest of one\",\n    \"strMeasure7\": \"240g large\",\n    \"strMeasure8\": \"150g\",\n    \"strMeasure9\": \"100g tips blanched briefly in boiling water\",\n    \"strMeasure10\": \"ground\",\n    \"strMeasure11\": \"50g shavings\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.rangemaster.co.uk/rangemaster-owners/recipes-ideas-inspiration/recipes/mains/prawn-and-hot-smoked-salmon-risotto-with-asparagus\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 102\n  },\n  {\n    \"idMeal\": \"52833\",\n    \"strMeal\": \"Salted Caramel Cheescake\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"1) Blitz the biscuits and the pretzels in a food processor and mix the biscuits with the melted butter. Spread on the bottom of an 8″/20cm Deep Springform Tin and press down firmly. Leave to set in the fridge whilst you make the rest!\\r\\n\\r\\n2) Using an electric mixer, I use my KitchenAid with the whisk attachment, whisk together the cream cheese, vanilla, and icing sugar until smooth and then add the caramel and whisk again until smooth and lump free – this could take a couple of minutes, I whisk it at half speed so not too quick or slow!\\r\\n\\r\\n3) Pour in the double cream & Salt flakes and continue to whisk for a couple of minutes until its very thick and mousse like (I mix it on a medium speed, level 6/10) – Now this could take up to 5 minutes depending on your mixer, but you seriously have to stick at it – it will hold itself completely when finished mixing (like a meringue does!) If you don’t mix it enough it will not set well enough, but don’t get impatient and whisk it really quick because that’ll make it split! Spread over the biscuit base and leave to set in the fridge overnight.\\r\\n\\r\\n4) Remove the Cheesecake from the tin carefully and decorate the cheesecake – I drizzled over some of the spare caramel, and then some Toffee Popcorn and more Pretzels!\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/xqrwyr1511133646.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=q5dQp3qpmI4\",\n    \"strIngredient1\": \"Digestive Biscuits\",\n    \"strIngredient2\": \"Pretzels\",\n    \"strIngredient3\": \"Butter\",\n    \"strIngredient4\": \"Cream Cheese\",\n    \"strIngredient5\": \"Vanilla Extract\",\n    \"strIngredient6\": \"Icing Sugar\",\n    \"strIngredient7\": \"Caramel\",\n    \"strIngredient8\": \"Sea Salt\",\n    \"strIngredient9\": \"Double Cream\",\n    \"strIngredient10\": \"Caramel Sauce\",\n    \"strIngredient11\": \"Toffee Popcorn\",\n    \"strIngredient12\": \"Pretzels\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"250g\",\n    \"strMeasure2\": \"75g\",\n    \"strMeasure3\": \"135g\",\n    \"strMeasure4\": \"450g\",\n    \"strMeasure5\": \"1tsp\",\n    \"strMeasure6\": \"100g \",\n    \"strMeasure7\": \"150g\",\n    \"strMeasure8\": \"1tsp\",\n    \"strMeasure9\": \"300ml \",\n    \"strMeasure10\": \"drizzle\",\n    \"strMeasure11\": \"Top\",\n    \"strMeasure12\": \"Top\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.janespatisserie.com/2015/11/09/no-bake-salted-caramel-cheesecake/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 103\n  },\n  {\n    \"idMeal\": \"52836\",\n    \"strMeal\": \"Seafood fideuà\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"Spanish\",\n    \"strInstructions\": \"Boil the kettle. Empty the mussels into a colander and run under cold water. Throw away any with broken shells. Pick through the shells, tapping each one on the side of the sink – they should be closed or should slowly close when tapped – if they stay open, throw them away. If any of the shells still have barnacles or stringy beards attached, pull them off with a cutlery knife and rinse the shells well. Keep in the colander, covered with a cold, damp cloth, until you’re ready to cook. Peel the prawn shells on the body section only – leave the heads and tails intact. Score down the backs and pull out any gritty entrails. Chill until you’re ready to cook.\\r\\nPut the saffron in a small cup, cover with 50ml kettle-hot water and set aside for 10 mins. If using vermicelli, put in a bowl and crush to little pieces (about 1cm long) with your hands.\\r\\nHeat the oil in a large frying pan with at least a 3cm lip, or a 40cm paella pan. Add the onion and stir around the pan for 5 mins until soft. Add the garlic and cook for 1 min more, then tip in the vermicelli and cook for 5 mins, stirring from time to time, until the vermicelli is toasted brown. Stir in the paprika.\\r\\nKeeping the heat moderate, stir through the monkfish, squid and saffron with its water, seasoning well. Spread the ingredients out in an even layer, then pour over the hot stock and scatter the tomatoes on top. Bring to a simmer, then cover the whole dish with a tight-fitting lid (or foil). Turn the heat to medium and cook for 6 mins.\\r\\nUncover and stir to incorporate the dry top layer of pasta. Push the mussels into the pasta so the hinges are buried in the bottom of the dish, and they stand straight up. Arrange the prawns on top, cover tightly and cook for another 6 mins or until the mussels are open, the prawns are pink and the pasta is cooked through. Leave to simmer for another 2-3 mins to cook off most of the remaining liquid (leave a little in the pan to prevent the pasta from sticking together). Allow to sit for 2-3 mins, then squeeze over the lemon juice and arrange the wedges on top. Scatter with parsley before serving.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wqqvyq1511179730.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=itsFEc8W468\",\n    \"strIngredient1\": \"Mussels\",\n    \"strIngredient2\": \"Prawns\",\n    \"strIngredient3\": \"Saffron\",\n    \"strIngredient4\": \"Vermicelli\",\n    \"strIngredient5\": \"Olive Oil\",\n    \"strIngredient6\": \"Onions\",\n    \"strIngredient7\": \"Garlic\",\n    \"strIngredient8\": \"Paprika\",\n    \"strIngredient9\": \"Monkfish\",\n    \"strIngredient10\": \"Baby Squid\",\n    \"strIngredient11\": \"Fish Stock\",\n    \"strIngredient12\": \"Tomatoes\",\n    \"strIngredient13\": \"Lemon\",\n    \"strIngredient14\": \"Parsley\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"400g\",\n    \"strMeasure2\": \"8\",\n    \"strMeasure3\": \"2 pinches\",\n    \"strMeasure4\": \"350g\",\n    \"strMeasure5\": \"5 tblsp \",\n    \"strMeasure6\": \"1 large\",\n    \"strMeasure7\": \"3 cloves\",\n    \"strMeasure8\": \"2 tbs\",\n    \"strMeasure9\": \"1 tail\",\n    \"strMeasure10\": \"4\",\n    \"strMeasure11\": \"650ml\",\n    \"strMeasure12\": \"2 large\",\n    \"strMeasure13\": \"Juice of 1\",\n    \"strMeasure14\": \"Topping\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/seafood-fideua-paella\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 104\n  },\n  {\n    \"idMeal\": \"52849\",\n    \"strMeal\": \"Spinach & Ricotta Cannelloni\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Italian\",\n    \"strInstructions\": \"First make the tomato sauce. Heat the oil in a large pan and fry the garlic for 1 min. Add the sugar, vinegar, tomatoes and some seasoning and simmer for 20 mins, stirring occasionally, until thick. Add the basil and divide the sauce between 2 or more shallow ovenproof dishes (see Tips for freezing, below). Set aside. Make a sauce by beating the mascarpone with the milk until smooth, season, then set aside.\\r\\n\\r\\nPut the spinach in a large colander and pour over a kettle of boiling water to wilt it (you may need to do this in batches). When cool enough to handle squeeze out the excess water. Roughly chop the spinach and mix in a large bowl with 100g Parmesan and ricotta. Season well with salt, pepper and the nutmeg.\\r\\n\\r\\nHeat oven to 200C/180C fan/gas 6. Using a piping bag or plastic food bag with the corner snipped off, squeeze the filling into the cannelloni tubes. Lay the tubes, side by side, on top of the tomato sauce and spoon over the mascarpone sauce. Top with Parmesan and mozzarella. You can now freeze the cannelloni, uncooked, or you can cook it first and then freeze. Bake for 30-35 mins until golden and bubbling. Remove from oven and let stand for 5 mins before serving.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wspuvp1511303478.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=rYGaEJjyLQA\",\n    \"strIngredient1\": \"Olive Oil\",\n    \"strIngredient2\": \"Garlic\",\n    \"strIngredient3\": \"Caster Sugar\",\n    \"strIngredient4\": \"Red Wine Vinegar\",\n    \"strIngredient5\": \"Chopped Tomatoes\",\n    \"strIngredient6\": \"Basil Leaves\",\n    \"strIngredient7\": \"Mascarpone\",\n    \"strIngredient8\": \"Milk\",\n    \"strIngredient9\": \"Parmesan\",\n    \"strIngredient10\": \"Mozzarella\",\n    \"strIngredient11\": \"Spinach\",\n    \"strIngredient12\": \"Parmesan\",\n    \"strIngredient13\": \"Ricotta\",\n    \"strIngredient14\": \"Nutmeg\",\n    \"strIngredient15\": \"Cannellini Beans\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"3 tbsp\",\n    \"strMeasure2\": \"8 cloves chopped\",\n    \"strMeasure3\": \"3 tbsp\",\n    \"strMeasure4\": \"2 tblsp \",\n    \"strMeasure5\": \"3 400g Cans\",\n    \"strMeasure6\": \"Bunch\",\n    \"strMeasure7\": \"2 tubs\",\n    \"strMeasure8\": \"3 tbsp\",\n    \"strMeasure9\": \"85g\",\n    \"strMeasure10\": \"2 sliced\",\n    \"strMeasure11\": \"1kg\",\n    \"strMeasure12\": \"100g \",\n    \"strMeasure13\": \"3 tubs\",\n    \"strMeasure14\": \"pinch\",\n    \"strMeasure15\": \"400g\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/531632/spinach-and-ricotta-cannelloni\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 105\n  },\n  {\n    \"idMeal\": \"52866\",\n    \"strMeal\": \"Squash linguine\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Italian\",\n    \"strInstructions\": \"Heat oven to 200C/180C fan/gas 6. Put the squash and garlic on a baking tray and drizzle with the olive oil. Roast for 35-40 mins until soft. Season.\\r\\nCook the pasta according to pack instructions. Drain, reserving the water. Use a stick blender to whizz the squash with 400ml cooking water. Heat some oil in a frying pan, fry the sage until crisp, then drain on kitchen paper. Tip the pasta and sauce into the pan and warm through. Scatter with sage.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wxswxy1511452625.jpg\",\n    \"strTags\": \"Pasta,Light\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=xHZ-PoGwTLQ\",\n    \"strIngredient1\": \"Butternut Squash\",\n    \"strIngredient2\": \"Garlic\",\n    \"strIngredient3\": \"Olive Oil\",\n    \"strIngredient4\": \"Linguine Pasta\",\n    \"strIngredient5\": \"Sage\",\n    \"strIngredient6\": \"\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"350g\",\n    \"strMeasure2\": \"3 parts \",\n    \"strMeasure3\": \"3 tbs\",\n    \"strMeasure4\": \"350g\",\n    \"strMeasure5\": \"Small bunch\",\n    \"strMeasure6\": \"\",\n    \"strMeasure7\": \"\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/creamy-squash-linguine\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 106\n  },\n  {\n    \"idMeal\": \"52872\",\n    \"strMeal\": \"Spanish Tortilla\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Spanish\",\n    \"strInstructions\": \"Put a large non-stick frying pan on a low heat. Cook the onion slowly in the oil and butter until soft but not brown – this should take about 15 mins. Add the potatoes, cover the pan and cook for a further 15-20 mins, stirring occasionally to make sure they fry evenly.\\r\\nWhen the potatoes are soft and the onion is shiny, crush 2 garlic cloves and stir in, followed by the beaten eggs.\\r\\nPut the lid back on the pan and leave the tortilla to cook gently. After 20 mins, the edges and base should be golden, the top set but the middle still a little wobbly. To turn it over, slide it onto a plate and put another plate on top, turn the whole thing over and slide it back into the pan to finish cooking. Once cooked, transfer to a plate and serve the tortilla warm or cold, scattered with the chopped parsley.\\r\\nTo accompany, take slices of warmed baguette, stab all over with a fork and rub with the remaining garlic, pile on grated tomatoes and season with sea salt and a drizzle of olive oil.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/quuxsx1511476154.jpg\",\n    \"strTags\": \"Egg,Light\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=JceGMNG7rpU\",\n    \"strIngredient1\": \"Onion\",\n    \"strIngredient2\": \"Olive Oil\",\n    \"strIngredient3\": \"Butter\",\n    \"strIngredient4\": \"Potatoes\",\n    \"strIngredient5\": \"Garlic\",\n    \"strIngredient6\": \"Eggs\",\n    \"strIngredient7\": \"Parsley\",\n    \"strIngredient8\": \"Baguette\",\n    \"strIngredient9\": \"Vine Tomatoes\",\n    \"strIngredient10\": \"Olive Oil\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 sliced\",\n    \"strMeasure2\": \"4 tbsp\",\n    \"strMeasure3\": \"25g\",\n    \"strMeasure4\": \"400g\",\n    \"strMeasure5\": \"6 cloves\",\n    \"strMeasure6\": \"8\",\n    \"strMeasure7\": \"Handful\",\n    \"strMeasure8\": \"1\",\n    \"strMeasure9\": \"4\",\n    \"strMeasure10\": \"drizzle\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/spanish-tortilla\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 107\n  },\n  {\n    \"idMeal\": \"52881\",\n    \"strMeal\": \"Steak and Kidney Pie\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Preheat the oven to 220C/425F/Gas 7\\r\\nHeat the vegetable oil in a large frying pan, and brown the beef all over. (You may need to do this in batches.) Set aside, then brown the kidneys on both sides in the same pan. Add the onions and cook for 3-4 minutes.\\r\\nReturn the beef to the pan, sprinkle flour over and coat the meat and onions\\r\\nAdd the stock to the pan, stir well and bring to the boil.\\r\\nTurn the heat down and simmer for 1½ hours without a lid. If the liquid evaporates too much, add more stock.\\r\\nRemove from the heat. Add salt, pepper and Worcestershire sauce and allow to cool completely. Place the cooked meat mixture into a pie dish.\\r\\nRoll out the pastry to 5mm/¼in thick and 5cm/2in larger than the dish you are using.\\r\\nUsing a rolling pin, lift the pastry and place it over the top of the pie dish. Trim and crimp the edges with your fingers and thumb.\\r\\nBrush the surface with the beaten egg mixture and bake for 30-40 minutes until golden-brown and puffed.\\r\\nServe with creamy mash and steamed vegetables to soak up the gravy.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/qysyss1511558054.jpg\",\n    \"strTags\": \"Pie\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=oTw5tPt4KmA\",\n    \"strIngredient1\": \"Puff Pastry\",\n    \"strIngredient2\": \"Egg White\",\n    \"strIngredient3\": \"Egg Yolks\",\n    \"strIngredient4\": \"Vegetable Oil\",\n    \"strIngredient5\": \"Beef\",\n    \"strIngredient6\": \"Lamb Kidney\",\n    \"strIngredient7\": \"Onions\",\n    \"strIngredient8\": \"Plain Flour\",\n    \"strIngredient9\": \"Beef Stock\",\n    \"strIngredient10\": \"Salt\",\n    \"strIngredient11\": \"Pepper\",\n    \"strIngredient12\": \"Worcestershire Sauce\",\n    \"strIngredient13\": null,\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"300g\",\n    \"strMeasure2\": \"Beaten\",\n    \"strMeasure3\": \"Beaten\",\n    \"strMeasure4\": \"2 tbs\",\n    \"strMeasure5\": \"70 ml \",\n    \"strMeasure6\": \"200g\",\n    \"strMeasure7\": \"2 chopped\",\n    \"strMeasure8\": \"30g\",\n    \"strMeasure9\": \"85 ml \",\n    \"strMeasure10\": \"pinch\",\n    \"strMeasure11\": \"pinch\",\n    \"strMeasure12\": \"Dash\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbc.co.uk/food/recipes/steakandkidneypie_73308\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 108\n  },\n  {\n    \"idMeal\": \"52883\",\n    \"strMeal\": \"Sticky Toffee Pudding\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Preheat the oven to 180C/160C Fan/Gas 4. Butter a wide shallow 1.7-litre/3-pint ovenproof dish.\\r\\nPut the butter, sugar, eggs, flour, baking powder, bicarbonate of soda and treacle into a mixing bowl. Beat using an electric handheld whisk for about 30 seconds or until combined. Pour in the milk gradually and whisk again until smooth. Pour into the prepared dish. Bake for 35–40 minutes or until well risen and springy in the centre.\\r\\nTo make the sauce, put all the ingredients into a saucepan and stir over a low heat until the sugar has dissolved and the butter has melted. Bring to the boil, stirring for a minute.\\r\\nTo serve, pour half the sauce over the pudding in the baking dish. Serve with the cream or ice cream.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/xqqqtu1511637379.jpg\",\n    \"strTags\": \"Pudding,Cake,Desert\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=Wytv3bjqJII\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Muscovado Sugar\",\n    \"strIngredient3\": \"Eggs\",\n    \"strIngredient4\": \"Self-raising Flour\",\n    \"strIngredient5\": \"Baking Powder\",\n    \"strIngredient6\": \"Bicarbonate Of Soda\",\n    \"strIngredient7\": \"Black Treacle\",\n    \"strIngredient8\": \"Milk\",\n    \"strIngredient9\": \"Double Cream\",\n    \"strIngredient10\": \"Butter\",\n    \"strIngredient11\": \"Muscovado Sugar\",\n    \"strIngredient12\": \"Black Treacle\",\n    \"strIngredient13\": \"Double Cream\",\n    \"strIngredient14\": \"Vanilla Extract\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"100g \",\n    \"strMeasure2\": \"175g\",\n    \"strMeasure3\": \"2 large\",\n    \"strMeasure4\": \"225g\",\n    \"strMeasure5\": \"1 tsp \",\n    \"strMeasure6\": \"1 tsp \",\n    \"strMeasure7\": \"3 tbs\",\n    \"strMeasure8\": \"275ml\",\n    \"strMeasure9\": \"to serve\",\n    \"strMeasure10\": \"100g \",\n    \"strMeasure11\": \"125g\",\n    \"strMeasure12\": \"1 tbs\",\n    \"strMeasure13\": \"300ml \",\n    \"strMeasure14\": \"1 tsp \",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbc.co.uk/food/recipes/marys_sticky_toffee_41970\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 109\n  },\n  {\n    \"idMeal\": \"52886\",\n    \"strMeal\": \"Spotted Dick\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Put the flour and salt in a bowl. Add the suet, currants, sugar, lemon and orange zest.\\r\\nPour in 150ml milk and mix to a firm but moist dough, adding the extra milk if necessary.\\r\\nShape into a fat roll about 20cm long. Place on a large rectangle of baking parchment. Wrap loosely to allow for the pudding to rise and tie the ends with string like a Christmas cracker.\\r\\nPlace a steamer over a large pan of boiling water, add the pudding to the steamer, cover and steam for 1 1/2 hours. Top up the pan with water from time to time.\\r\\nRemove from the steamer and allow to cool slightly before unwrapping. Serve sliced with custard.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/xqvyqr1511638875.jpg\",\n    \"strTags\": \"Fruity,Pudding,Desert\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=fu15XOF-ros\",\n    \"strIngredient1\": \"Self-raising Flour\",\n    \"strIngredient2\": \"Salt\",\n    \"strIngredient3\": \"Suet\",\n    \"strIngredient4\": \"Currants\",\n    \"strIngredient5\": \"Caster Sugar\",\n    \"strIngredient6\": \"Lemon\",\n    \"strIngredient7\": \"Orange\",\n    \"strIngredient8\": \"Milk\",\n    \"strIngredient9\": \"Custard\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"250g\",\n    \"strMeasure2\": \"pinch\",\n    \"strMeasure3\": \"125g\",\n    \"strMeasure4\": \"175g\",\n    \"strMeasure5\": \"80g\",\n    \"strMeasure6\": \"Zest of 1\",\n    \"strMeasure7\": \"Zest of 1\",\n    \"strMeasure8\": \"150ml\",\n    \"strMeasure9\": \"to serve\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/2686661/spotted-dick\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 110\n  },\n  {\n    \"idMeal\": \"52889\",\n    \"strMeal\": \"Summer Pudding\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Bring out the juices: Wash fruit and gently dry on kitchen paper – keep strawberries separate. Put sugar and 3 tbsp water into a large pan. Gently heat until sugar dissolves – stir a few times. Bring to a boil for 1 min, then tip in the fruit (not strawberries). Cook for 3 mins over a low heat, stirring 2-3 times. The fruit will be softened, mostly intact and surrounded by dark red juice. Put a sieve over a bowl and tip in the fruit and juice.\\r\\nLine the bowl with cling film and prepare the bread: Line the 1.25-litre basin with cling film as this will help you to turn out the pudding. Overlap two pieces of cling film in the middle of the bowl as it’s easier than trying to get one sheet to stick to all of the curves. Let the edges overhang by about 15cm. Cut the crusts off the bread. Cut 4 pieces of bread in half, a little on an angle, to give 2 lopsided rectangles per piece. Cut 2 slices into 4 triangles each and leave the final piece whole.\\r\\nBuild the pud: Dip the whole piece of bread into the juice for a few secs just to coat. Push this into the bottom of the basin. Now dip the wonky rectangular pieces one at a time and press around the basin’s sides so that they fit together neatly, alternately placing wide and narrow ends up. If you can’t quite fit the last piece of bread in it doesn’t matter, just trim into a triangle, dip in juice and slot in. Now spoon in the softened fruit, adding the strawberries here and there as you go.\\r\\nLet flavours mingle then serve: Dip the bread triangles in juice and place on top – trim off overhang with scissors. Keep leftover juice for later. Bring cling film up and loosely seal. Put a side plate on top and weight down with cans. Chill for 6 hrs or overnight. To serve, open out cling film then put a serving plate upside-down on top and flip over. serve with leftover juice, any extra berries and cream.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/rsqwus1511640214.jpg\",\n    \"strTags\": \"Summer\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=akJIO6UhXtA\",\n    \"strIngredient1\": \"Strawberries\",\n    \"strIngredient2\": \"Blackberries\",\n    \"strIngredient3\": \"Redcurrants\",\n    \"strIngredient4\": \"Raspberries\",\n    \"strIngredient5\": \"Caster Sugar\",\n    \"strIngredient6\": \"Bread\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"300g\",\n    \"strMeasure2\": \"250g\",\n    \"strMeasure3\": \"100g \",\n    \"strMeasure4\": \"500g\",\n    \"strMeasure5\": \"175g\",\n    \"strMeasure6\": \"7 Slices\",\n    \"strMeasure7\": \"\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/4516/summer-pudding\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 111\n  },\n  {\n    \"idMeal\": \"52911\",\n    \"strMeal\": \"Summer Pistou\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Heat the oil in a large pan and fry the leeks and courgette for 5 mins to soften. Pour in the stock, add three-quarters of the haricot beans with the green beans, half the tomatoes, and simmer for 5-8 mins until the vegetables are tender.\\r\\nMeanwhile, blitz the remaining beans and tomatoes, the garlic and basil in a food processor (or in a bowl with a stick blender) until smooth, then stir in the Parmesan. Stir the sauce into the soup, cook for 1 min, then ladle half into bowls or pour into a flask for a packed lunch. Chill the remainder. Will keep for a couple of days.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/rqtxvr1511792990.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=fyeqZJKEXp0\",\n    \"strIngredient1\": \"Rapeseed Oil\",\n    \"strIngredient2\": \"Leek\",\n    \"strIngredient3\": \"Courgettes\",\n    \"strIngredient4\": \"Vegetable Stock\",\n    \"strIngredient5\": \"Cannellini Beans\",\n    \"strIngredient6\": \"Green Beans\",\n    \"strIngredient7\": \"Tomatoes\",\n    \"strIngredient8\": \"Garlic Clove\",\n    \"strIngredient9\": \"Basil\",\n    \"strIngredient10\": \"Parmesan\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 tbs\",\n    \"strMeasure2\": \"2 finely chopped\",\n    \"strMeasure3\": \"1 large\",\n    \"strMeasure4\": \"1L\",\n    \"strMeasure5\": \"400g\",\n    \"strMeasure6\": \"200g\",\n    \"strMeasure7\": \"3 chopped\",\n    \"strMeasure8\": \"3 chopped\",\n    \"strMeasure9\": \"Small pack\",\n    \"strMeasure10\": \"40g\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/summer-pistou\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 112\n  },\n  {\n    \"idMeal\": \"52925\",\n    \"strMeal\": \"Split Pea Soup\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Side\",\n    \"strArea\": \"Canadian\",\n    \"strInstructions\": \"Put the gammon in a very large pan with 2 litres water and bring to the boil. Remove from the heat and drain off the water – this helps to get rid of some of the saltiness. Recover with 2 litres cold water and bring to the boil again. Put everything but the frozen peas into the pan and bring to the boil. Reduce to a simmer and cook for 1½-2½ hrs, topping up the water as and when you need to, to a similar level it started at. As the ham cooks and softens, you can halve it if you want, so it is all submerged under the liquid. When the ham is tender enough to pull into shreds, it is ready.\\r\\nLift out the ham, peel off and discard the skin. While it is still hot (wear a clean pair of rubber gloves), shred the meat. Remove bay from the soup and stir in the frozen peas. Simmer for 1 min, then blend until smooth. Add a splash of water if too thick, and return to the pan to heat through if it has cooled, or if you are making ahead.\\r\\nWhen you are ready to serve, mix the hot soup with most of the ham – gently reheat if made ahead. Serve in bowls with the remaining ham scattered on top, and eat with crusty bread and butter.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/xxtsvx1511814083.jpg\",\n    \"strTags\": \"Soup,Warm\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=qdhWz7qAaCU\",\n    \"strIngredient1\": \"Ham\",\n    \"strIngredient2\": \"Peas\",\n    \"strIngredient3\": \"Onions\",\n    \"strIngredient4\": \"Carrots\",\n    \"strIngredient5\": \"Bay Leaves\",\n    \"strIngredient6\": \"Celery\",\n    \"strIngredient7\": \"Frozen Peas\",\n    \"strIngredient8\": \"Bread\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1kg\",\n    \"strMeasure2\": \"200g (soaked overnight)\",\n    \"strMeasure3\": \"2 chopped\",\n    \"strMeasure4\": \"2 chopped\",\n    \"strMeasure5\": \"2\",\n    \"strMeasure6\": \"1 chopped\",\n    \"strMeasure7\": \"300g\",\n    \"strMeasure8\": \"to serve\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/1022639/split-pea-and-green-pea-smoked-ham-soup\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 113\n  },\n  {\n    \"idMeal\": \"52931\",\n    \"strMeal\": \"Sugar Pie\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"Canadian\",\n    \"strInstructions\": \"Preheat oven to 350 degrees F (175 degrees C). Grease a 9-inch pie dish.\\r\\nPlace the brown sugar and butter in a mixing bowl, and beat them together with an electric mixer until creamy and very well combined, without lumps. Beat in eggs, one at a time, incorporating the first egg before adding the next one. Add the vanilla extract and salt; beat the flour in, a little at a time, and then the milk, making a creamy batter. Pour the batter into the prepared pie dish.\\r\\nBake in the preheated oven for 35 minutes; remove pie, and cover the rim with aluminum foil to prevent burning. Return to oven, and bake until the middle sets and the top forms a crusty layer, about 15 more minutes. Let the pie cool to room temperature, then refrigerate for at least 1 hour before serving.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/yrstur1511816601.jpg\",\n    \"strTags\": \"Pie,Desert\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=uVQ66jiL-Dc\",\n    \"strIngredient1\": \"Brown Sugar\",\n    \"strIngredient2\": \"Butter\",\n    \"strIngredient3\": \"Eggs\",\n    \"strIngredient4\": \"Vanilla Extract\",\n    \"strIngredient5\": \"Salt\",\n    \"strIngredient6\": \"Plain Flour\",\n    \"strIngredient7\": \"Milk\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 cups \",\n    \"strMeasure2\": \"¼ cup\",\n    \"strMeasure3\": \"2\",\n    \"strMeasure4\": \"1 tsp \",\n    \"strMeasure5\": \"1 tsp \",\n    \"strMeasure6\": \"½ cup \",\n    \"strMeasure7\": \"1 1/2 cups \",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://allrecipes.com/recipe/213595/miraculous-canadian-sugar-pie/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 114\n  },\n  {\n    \"idMeal\": \"52935\",\n    \"strMeal\": \"Steak Diane\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Heat oil in a 12\\\" skillet over medium-high heat. Season steaks with salt and pepper, and add to skillet; cook, turning once, until browned on both sides and cooked to desired doneness, about 4 to 5 minutes for medium-rare. Transfer steaks to a plate, and set aside.\\r\\nReturn skillet to high heat, and add stock; cook until reduced until to 1⁄2 cup, about 10 minutes. Pour into a bowl, and set aside. Return skillet to heat, and add butter; add garlic and shallots, and cook, stirring, until soft, about 2 minutes. Add mushrooms, and cook, stirring, until they release any liquid and it evaporates and mushrooms begin to brown, about 2 minutes. Add cognac, and light with a match to flambée; cook until flame dies down. Stir in reserved stock, cream, Dijon, Worcestershire, and hot sauce, and then return steaks to skillet; cook, turning in sauce, until warmed through and sauce is thickened, about 4 minutes. Transfer steak to serving plates and stir parsley and chives into sauce; pour sauce over steaks to serve.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/vussxq1511882648.jpg\",\n    \"strTags\": \"DateNight,Expensive,Meat,MainMeal,Cheasy\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=9rWZNHkrsNg\",\n    \"strIngredient1\": \"Canola Oil\",\n    \"strIngredient2\": \"Beef Fillet\",\n    \"strIngredient3\": \"Beef Stock\",\n    \"strIngredient4\": \"Butter\",\n    \"strIngredient5\": \"Garlic\",\n    \"strIngredient6\": \"Challots\",\n    \"strIngredient7\": \"Mushrooms\",\n    \"strIngredient8\": \"Brandy\",\n    \"strIngredient9\": \"Heavy Cream\",\n    \"strIngredient10\": \"Dijon Mustard\",\n    \"strIngredient11\": \"Worcestershire Sauce\",\n    \"strIngredient12\": \"Tabasco Sauce\",\n    \"strIngredient13\": \"Parsley\",\n    \"strIngredient14\": \"Chives\",\n    \"strIngredient15\": \"Salt\",\n    \"strIngredient16\": \"Pepper\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 tbs\",\n    \"strMeasure2\": \"4\",\n    \"strMeasure3\": \"1 1/2 cup \",\n    \"strMeasure4\": \"2 tbs\",\n    \"strMeasure5\": \"2 cloves minced\",\n    \"strMeasure6\": \"1 medium finely diced\",\n    \"strMeasure7\": \"4 oz \",\n    \"strMeasure8\": \"¼ cup\",\n    \"strMeasure9\": \"¼ cup\",\n    \"strMeasure10\": \"1 tbs\",\n    \"strMeasure11\": \"1 tbs\",\n    \"strMeasure12\": \"Dash\",\n    \"strMeasure13\": \"1 tbs minced\",\n    \"strMeasure14\": \"1 tbs minced\",\n    \"strMeasure15\": \"to taste\",\n    \"strMeasure16\": \"to taste\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.saveur.com/article/Recipes/Classic-Steak-Diane\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 115\n  },\n  {\n    \"idMeal\": \"52936\",\n    \"strMeal\": \"Saltfish and Ackee\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"Jamaican\",\n    \"strInstructions\": \"For the saltfish, soak the salt cod overnight, changing the water a couple of times.\\r\\nDrain, then put the cod in a large pan of fresh water and bring to the boil. Drain again, add fresh water and bring to the boil again.\\r\\nSimmer for about five minutes, or until cooked through, then drain and flake the fish into large pieces. Discard any skin or bones.\\r\\nFor the dumplings, mix the flour and suet with a pinch of salt and 250ml/9fl oz water to make a dough.\\r\\nWrap the mixture in clingfilm and leave in the fridge to rest.\\r\\nOpen the can of ackee, drain and rinse, then set aside.\\r\\nHeat a tablespoon of olive oil in a pan and fry the onion until softened but not brown.\\r\\nAdd the spices, seasoning, pepper sauce and sliced peppers and continue to fry until the peppers are tender.\\r\\nAdd the chopped tomatoes, then the salt cod and mix together. Lastly stir in the ackee very gently and leave to simmer until ready to serve.\\r\\nWhen you’re almost ready to eat, heat about 1cm/½in vegetable oil in a frying pan and heat until just smoking.\\r\\nShape the dumpling mix into plum-size balls and shallow-fry until golden-brown. (CAUTION: hot oil can be dangerous. Do not leave the pan unattended.)\\r\\nDrain the dumplings on kitchen paper and serve with the saltfish and ackee.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/vytypy1511883765.jpg\",\n    \"strTags\": \"Speciality\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=nbfNyZbdn2I\",\n    \"strIngredient1\": \"Salt Cod\",\n    \"strIngredient2\": \"Ackee\",\n    \"strIngredient3\": \"Onion\",\n    \"strIngredient4\": \"Paprika\",\n    \"strIngredient5\": \"Curry Powder\",\n    \"strIngredient6\": \"Jerusalem Artichokes\",\n    \"strIngredient7\": \"Hotsauce\",\n    \"strIngredient8\": \"Red Pepper\",\n    \"strIngredient9\": \"Yellow Pepper\",\n    \"strIngredient10\": \"Tomatoes\",\n    \"strIngredient11\": \"Salt\",\n    \"strIngredient12\": \"Pepper\",\n    \"strIngredient13\": \"Self-raising Flour\",\n    \"strIngredient14\": \"Suet\",\n    \"strIngredient15\": \"Salt\",\n    \"strIngredient16\": \"Olive Oil\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"450g\",\n    \"strMeasure2\": \"400g\",\n    \"strMeasure3\": \"1 chopped\",\n    \"strMeasure4\": \"1 tsp \",\n    \"strMeasure5\": \"2 tsp\",\n    \"strMeasure6\": \"2 tsp\",\n    \"strMeasure7\": \"1 tsp \",\n    \"strMeasure8\": \"1 sliced\",\n    \"strMeasure9\": \"1 sliced\",\n    \"strMeasure10\": \"200g\",\n    \"strMeasure11\": \"to taste\",\n    \"strMeasure12\": \"to taste\",\n    \"strMeasure13\": \"250g\",\n    \"strMeasure14\": \"30g\",\n    \"strMeasure15\": \"pinch\",\n    \"strMeasure16\": \"for frying\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbc.co.uk/food/recipes/saltfish__ackee_with_64803\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 116\n  },\n  {\n    \"idMeal\": \"52949\",\n    \"strMeal\": \"Sweet and Sour Pork\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pork\",\n    \"strArea\": \"Chinese\",\n    \"strInstructions\": \"Preparation\\r\\n1. Crack the egg into a bowl. Separate the egg white and yolk.\\r\\n\\r\\nSweet and Sour Pork\\r\\n2. Slice the pork tenderloin into strips.\\r\\n\\r\\n3. Prepare the marinade using a pinch of salt, one teaspoon of starch, two teaspoons of light soy sauce, and an egg white.\\r\\n\\r\\n4. Marinade the pork strips for about 20 minutes.\\r\\n\\r\\n5. Put the remaining starch in a bowl. Add some water and vinegar to make a starchy sauce.\\r\\n\\r\\nSweet and Sour Pork\\r\\nCooking Instructions\\r\\n1. Pour the cooking oil into a wok and heat to 190°C (375°F). Add the marinated pork strips and fry them until they turn brown. Remove the cooked pork from the wok and place on a plate.\\r\\n\\r\\n2. Leave some oil in the wok. Put the tomato sauce and white sugar into the wok, and heat until the oil and sauce are fully combined.\\r\\n\\r\\n3. Add some water to the wok and thoroughly heat the sweet and sour sauce before adding the pork strips to it.\\r\\n\\r\\n4. Pour in the starchy sauce. Stir-fry all the ingredients until the pork and sauce are thoroughly mixed together.\\r\\n\\r\\n5. Serve on a plate and add some coriander for decoration.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1529442316.jpg\",\n    \"strTags\": \"Sweet\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=mdaBIhgEAMo\",\n    \"strIngredient1\": \"Pork\",\n    \"strIngredient2\": \"Egg\",\n    \"strIngredient3\": \"Water\",\n    \"strIngredient4\": \"Salt\",\n    \"strIngredient5\": \"Sugar\",\n    \"strIngredient6\": \"Soy Sauce\",\n    \"strIngredient7\": \"Starch\",\n    \"strIngredient8\": \"Tomato Puree\",\n    \"strIngredient9\": \"Vinegar\",\n    \"strIngredient10\": \"Coriander\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"200g\",\n    \"strMeasure2\": \"1\",\n    \"strMeasure3\": \"Dash\",\n    \"strMeasure4\": \"1/2 tsp\",\n    \"strMeasure5\": \"1 tsp \",\n    \"strMeasure6\": \"10g\",\n    \"strMeasure7\": \"10g\",\n    \"strMeasure8\": \"30g\",\n    \"strMeasure9\": \"10g\",\n    \"strMeasure10\": \"Dash\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.chinahighlights.com/travelguide/chinese-food/cooking/sweet-sour-pork.htm\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 117\n  },\n  {\n    \"idMeal\": \"52950\",\n    \"strMeal\": \"Szechuan Beef\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Chinese\",\n    \"strInstructions\": \"STEP 1 - MARINATING THE BEEF\\r\\nIn a bowl, add the beef, salt, sesame seed oil, white pepper, egg white, 2 Tablespoon of corn starch and 1 Tablespoon of oil.\\r\\nSTEP 2 - STIR FRY\\r\\nFirst Cook the beef by adding 2 Tablespoon of oil until the beef is golden brown.\\r\\nSet the beef aside\\r\\nIn a wok add 1 Tablespoon of oil, minced ginger, minced garlic and stir-fry for few seconds.\\r\\nNext add all of the vegetables and then add sherry cooking wine and 1 cup of water.\\r\\nTo make the sauce add oyster sauce, hot pepper sauce, and sugar.\\r\\nadd the cooked beef and 1 spoon of soy sauce\\r\\nTo thicken the sauce, whisk together 1 Tablespoon of cornstarch and 2 Tablespoon of water in a bowl and slowly add to your stir-fry until it's the right thickness.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1529443236.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=SQGZqZYz7Ms\",\n    \"strIngredient1\": \"Beef\",\n    \"strIngredient2\": \"Salt\",\n    \"strIngredient3\": \"Sesame Seed Oil\",\n    \"strIngredient4\": \"Pepper\",\n    \"strIngredient5\": \"Egg White\",\n    \"strIngredient6\": \"Starch\",\n    \"strIngredient7\": \"Oil\",\n    \"strIngredient8\": \"Ginger\",\n    \"strIngredient9\": \"Garlic\",\n    \"strIngredient10\": \"Onion\",\n    \"strIngredient11\": \"Carrots\",\n    \"strIngredient12\": \"Green Pepper\",\n    \"strIngredient13\": \"Celery\",\n    \"strIngredient14\": \"Mushrooms\",\n    \"strIngredient15\": \"Cooking wine\",\n    \"strIngredient16\": \"Water\",\n    \"strIngredient17\": \"Oyster Sauce\",\n    \"strIngredient18\": \"Hotsauce\",\n    \"strIngredient19\": \"Sugar\",\n    \"strIngredient20\": \"Soy Sauce\",\n    \"strMeasure1\": \"1/2 lb\",\n    \"strMeasure2\": \"1/2 tsp\",\n    \"strMeasure3\": \"1 tsp \",\n    \"strMeasure4\": \"1 pinch\",\n    \"strMeasure5\": \"1\",\n    \"strMeasure6\": \"3 tbs\",\n    \"strMeasure7\": \"4 tbs\",\n    \"strMeasure8\": \"1 tsp \",\n    \"strMeasure9\": \"1 tsp \",\n    \"strMeasure10\": \"3/4 cup \",\n    \"strMeasure11\": \"1/2 cup \",\n    \"strMeasure12\": \"3/4 cup \",\n    \"strMeasure13\": \"1 cup \",\n    \"strMeasure14\": \"1 cup \",\n    \"strMeasure15\": \"1 tbs\",\n    \"strMeasure16\": \"1 cup \",\n    \"strMeasure17\": \"1 tbs\",\n    \"strMeasure18\": \"1/2 tsp\",\n    \"strMeasure19\": \"1 tsp \",\n    \"strMeasure20\": \"1 tbs\",\n    \"strSource\": \"https://sueandgambo.com/pages/szechuan-beef\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 118\n  },\n  {\n    \"idMeal\": \"52953\",\n    \"strMeal\": \"Shrimp Chow Fun\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"Chinese\",\n    \"strInstructions\": \"STEP 1 - SOAK THE RICE NOODLES\\r\\nSoak the rice noodles overnight untill they are soft\\r\\nSTEP 2 - BOIL THE RICE NOODLES\\r\\nBoil the noodles for 10-15 minutes and then rinse with cold water to stop the cooking process of the noodles.\\r\\nSTEP 3 -MARINATING THE SHRIMP\\r\\nIn a bowl add the shrimp, egg, 1 pinch of white pepper, 1 Teaspoon of sesame seed oil, 1 Tablespoon corn starch and 1 tablespoon of oil\\r\\nMix together well\\r\\nSTEP 4 - STIR FRY\\r\\nIn a wok add 2 Tablespoons of oil, shrimp and stir fry them until it is golden brown\\r\\nSet the shrimp aside\\r\\nAdd 1 Tablespoon of oil to the work and then add minced garlic, ginger and all of the vegetables.\\r\\nAdd the noodles to the wok\\r\\nNext add sherry cooking wine, oyster sauce, sugar, vinegar, sesame seed oil, 1 pinch white pepper, and soy sauce\\r\\nAdd back in the shrimp\\r\\nTo thicken the sauce, whisk together 1 Tablespoon of corn starch and 2 Tablespoon of water in a bowl and slowly add to your stir-fry until it's the right thickness.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1529445434.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=wzaTcpoFEaY\",\n    \"strIngredient1\": \"Rice Stick Noodles\",\n    \"strIngredient2\": \"Prawns\",\n    \"strIngredient3\": \"Egg\",\n    \"strIngredient4\": \"Pepper\",\n    \"strIngredient5\": \"Sesame Seed Oil\",\n    \"strIngredient6\": \"Cornstarch\",\n    \"strIngredient7\": \"Oil\",\n    \"strIngredient8\": \"Minced Garlic\",\n    \"strIngredient9\": \"Ginger\",\n    \"strIngredient10\": \"Onion\",\n    \"strIngredient11\": \"Bean Sprouts\",\n    \"strIngredient12\": \"Spring Onions\",\n    \"strIngredient13\": \"Cooking wine\",\n    \"strIngredient14\": \"Oyster Sauce\",\n    \"strIngredient15\": \"Sugar\",\n    \"strIngredient16\": \"Vinegar\",\n    \"strIngredient17\": \"Soy Sauce\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1/2 bag\",\n    \"strMeasure2\": \"8 oz \",\n    \"strMeasure3\": \"1/2 \",\n    \"strMeasure4\": \"pinch\",\n    \"strMeasure5\": \"2 tsp\",\n    \"strMeasure6\": \"2 tbs\",\n    \"strMeasure7\": \"4 tbs\",\n    \"strMeasure8\": \"1 tsp \",\n    \"strMeasure9\": \"1 tsp \",\n    \"strMeasure10\": \"1/2 cup \",\n    \"strMeasure11\": \"1 cup \",\n    \"strMeasure12\": \"1/2 cup \",\n    \"strMeasure13\": \"1 tbs\",\n    \"strMeasure14\": \"1 tbs\",\n    \"strMeasure15\": \"1/2 tbs\",\n    \"strMeasure16\": \"1/2 tbs\",\n    \"strMeasure17\": \"1 tbs\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://sueandgambo.com/pages/shrimp-chow-fun\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 119\n  },\n  {\n    \"idMeal\": \"52960\",\n    \"strMeal\": \"Salmon Avocado Salad\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Season the salmon, then rub with oil. Mix the dressing ingredients together. Halve, stone, peel and slice the avocados. Halve and quarter the cucumber lengthways, then cut into slices. Divide salad, avocado and cucumber between four plates, then drizzle with half the dressing.\\r\\n\\r\\nHeat a non-stick pan. Add the salmon and fry for 3-4 mins on each side until crisp but still moist inside. Put a salmon fillet on top of each salad and drizzle over the remaining dressing. Serve warm.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1549542994.jpg\",\n    \"strTags\": \"Paleo,Keto,LowCarbs,Salad,Alcoholic,Halloween,\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=FJiu2S0Xap0\",\n    \"strIngredient1\": \"Salmon\",\n    \"strIngredient2\": \"Avocado\",\n    \"strIngredient3\": \"Cucumber\",\n    \"strIngredient4\": \"Spinach\",\n    \"strIngredient5\": \"Mint\",\n    \"strIngredient6\": \"Lime\",\n    \"strIngredient7\": \"Honey\",\n    \"strIngredient8\": \"Olive Oil\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"400g\",\n    \"strMeasure2\": \"3\",\n    \"strMeasure3\": \"1\",\n    \"strMeasure4\": \"400g\",\n    \"strMeasure5\": \"4 tbs\",\n    \"strMeasure6\": \"zest and juice of 1\",\n    \"strMeasure7\": \"2 tsp\",\n    \"strMeasure8\": \"3 tbs\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/4521/salmon-avocado-and-cucumber-salad\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 120\n  },\n  {\n    \"idMeal\": \"52962\",\n    \"strMeal\": \"Salmon Eggs Eggs Benedict\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Breakfast\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"First make the Hollandaise sauce. Put the lemon juice and vinegar in a small bowl, add the egg yolks and whisk with a balloon whisk until light and frothy. Place the bowl over a pan of simmering water and whisk until mixture thickens. Gradually add the butter, whisking constantly until thick – if it looks like it might be splitting, then whisk off the heat for a few mins. Season and keep warm.\\r\\n\\r\\nTo poach the eggs, bring a large pan of water to the boil and add the vinegar. Lower the heat so that the water is simmering gently. Stir the water so you have a slight whirlpool, then slide in the eggs one by one. Cook each for about 4 mins, then remove with a slotted spoon.\\r\\n\\r\\nLightly toast and butter the muffins, then put a couple of slices of salmon on each half. Top each with an egg, spoon over some Hollandaise and garnish with chopped chives.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1550440197.jpg\",\n    \"strTags\": \"Bun,Brunch\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=Woiiet4vQ58\",\n    \"strIngredient1\": \"Eggs\",\n    \"strIngredient2\": \"White Wine Vinegar\",\n    \"strIngredient3\": \"English Muffins\",\n    \"strIngredient4\": \"Butter\",\n    \"strIngredient5\": \"Smoked Salmon\",\n    \"strIngredient6\": \"Lemon Juice\",\n    \"strIngredient7\": \"White Wine Vinegar\",\n    \"strIngredient8\": \"Egg\",\n    \"strIngredient9\": \"Unsalted Butter\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"4\",\n    \"strMeasure2\": \"2 tbs\",\n    \"strMeasure3\": \"2\",\n    \"strMeasure4\": \"To serve\",\n    \"strMeasure5\": \"8 slices\",\n    \"strMeasure6\": \"2 tsp\",\n    \"strMeasure7\": \"2 tsp\",\n    \"strMeasure8\": \"3 Yolkes\",\n    \"strMeasure9\": \"125g\",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/73606/eggs-benedict-with-smoked-salmon-and-chives\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 121\n  },\n  {\n    \"idMeal\": \"52963\",\n    \"strMeal\": \"Shakshuka\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Egyptian\",\n    \"strInstructions\": \"Heat the oil in a frying pan that has a lid, then soften the onions, chilli, garlic and coriander stalks for 5 mins until soft. Stir in the tomatoes and sugar, then bubble for 8-10 mins until thick. Can be frozen for 1 month.\\r\\n\\r\\nUsing the back of a large spoon, make 4 dips in the sauce, then crack an egg into each one. Put a lid on the pan, then cook over a low heat for 6-8 mins, until the eggs are done to your liking. Scatter with the coriander leaves and serve with crusty bread.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/g373701551450225.jpg\",\n    \"strTags\": \"Egg,Brunch,Breakfast\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=C-3_jYrfdBU\",\n    \"strIngredient1\": \"Olive Oil\",\n    \"strIngredient2\": \"Red Onions\",\n    \"strIngredient3\": \"Red Chilli\",\n    \"strIngredient4\": \"Garlic\",\n    \"strIngredient5\": \"Coriander\",\n    \"strIngredient6\": \"Cherry Tomatoes\",\n    \"strIngredient7\": \"Caster Sugar\",\n    \"strIngredient8\": \"Eggs\",\n    \"strIngredient9\": \"Feta\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 tbs\",\n    \"strMeasure2\": \"2 chopped\",\n    \"strMeasure3\": \"1 finely chopped \",\n    \"strMeasure4\": \"1 clove\",\n    \"strMeasure5\": \"Chopped\",\n    \"strMeasure6\": \"800g\",\n    \"strMeasure7\": \"1 tbs\",\n    \"strMeasure8\": \"4\",\n    \"strMeasure9\": \"Spinkling\",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/7573/spicy-tomato-baked-eggs\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 122\n  },\n  {\n    \"idMeal\": \"52964\",\n    \"strMeal\": \"Smoked Haddock Kedgeree\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Breakfast\",\n    \"strArea\": \"Indian\",\n    \"strInstructions\": \"Melt 50g butter in a large saucepan (about 20cm across), add 1 finely chopped medium onion and cook gently over a medium heat for 5 minutes, until softened but not browned.\\r\\n\\r\\nStir in 3 split cardamom pods, ¼ tsp turmeric, 1 small cinnamon stick and 2 bay leaves, then cook for 1 minute.\\r\\n\\r\\nTip in 450g basmati rice and stir until it is all well coated in the spicy butter.\\r\\n\\r\\nPour in 1 litre chicken or fish stock, add ½ teaspoon salt and bring to the boil, stir once to release any rice from the bottom of the pan. Cover with a close-fitting lid, reduce the heat to low and leave to cook very gently for 12 minutes.\\r\\n\\r\\nMeanwhile, bring some water to the boil in a large shallow pan. Add 750g un-dyed smoked haddock fillet and simmer for 4 minutes, until the fish is just cooked. Lift it out onto a plate and leave until cool enough to handle.\\r\\n\\r\\nHard-boil 3 eggs for 8 minutes.\\r\\n\\r\\nFlake the fish, discarding any skin and bones. Drain the eggs, cool slightly, then peel and chop.\\r\\n\\r\\nUncover the rice and remove the bay leaves, cinnamon stick and cardamom pods if you wish to. Gently fork in the fish and the chopped eggs, cover again and return to the heat for 2-3 minutes, or until the fish has heated through.\\r\\n\\r\\nGently stir in almost all the 3 tbsp chopped fresh parsley, and season with a little salt and black pepper to taste. Serve scattered with the remaining parsley and garnished with 1 lemon, cut into wedges.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1550441275.jpg\",\n    \"strTags\": \"Brunch,Fish,Fusion\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=QqdzDCWS4gQ\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Cardamom\",\n    \"strIngredient4\": \"Turmeric\",\n    \"strIngredient5\": \"Cinnamon Stick\",\n    \"strIngredient6\": \"Bay Leaf\",\n    \"strIngredient7\": \"Basmati Rice\",\n    \"strIngredient8\": \"Chicken Stock\",\n    \"strIngredient9\": \"Smoked Haddock\",\n    \"strIngredient10\": \"Eggs\",\n    \"strIngredient11\": \"Parsley\",\n    \"strIngredient12\": \"Lemon\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"50g\",\n    \"strMeasure2\": \"1 chopped\",\n    \"strMeasure3\": \"3 Pods\",\n    \"strMeasure4\": \"1/4 tsp\",\n    \"strMeasure5\": \"1 small\",\n    \"strMeasure6\": \"Sprigs of fresh\",\n    \"strMeasure7\": \"450g\",\n    \"strMeasure8\": \"1 Litre\",\n    \"strMeasure9\": \"750g\",\n    \"strMeasure10\": \"3\",\n    \"strMeasure11\": \"3 tblsp chopped\",\n    \"strMeasure12\": \"1 chopped\",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/2256/smoked-haddock-kedgeree\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 123\n  },\n  {\n    \"idMeal\": \"52980\",\n    \"strMeal\": \"Stamppot\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pork\",\n    \"strArea\": \"Dutch\",\n    \"strInstructions\": \"\\r\\nWash and peel the potatoes and cut into similarly sized pieces for even cooking.\\r\\n\\r\\nIn a large soup pot, boil the potatoes and the bay leaves in salted water for 20 minutes. Discard the bay leaves.\\r\\n\\r\\nIf you're not using a bag of ready-cut curly kale, wash the bunches thoroughly under cool running water to get rid of all soil—you wouldn't want that gritty texture in your finished dish. Trim any coarse stems and discard any brown leaves. With a sharp knife, cut the curly kale into thin strips.\\r\\n\\r\\nPeel and chop the shallots.\\r\\n\\r\\nIn a frying pan or skillet, melt 1 tbsp. of butter and saute the shallots for a few minutes before adding the curly kale and 2 tbsp. of water. Season and cook for about 10 minutes, or until tender.\\r\\n\\r\\nWarm the milk on the stove or in the microwave.\\r\\n\\r\\nDrain, shake and dry the potatoes with kitchen towels before mashing with a potato masher or ricer. Working quickly, add the warm milk and the remaining butter. Season to taste with nutmeg, salt, and pepper. \\r\\n\\r\\nMix the cooked curly kale through the cooked mashed potato mixture.\\r\\n\\r\\nTop with slices of the smoked sausage and serve hot with your favorite mustard or gravy.\\r\\n\\r\\nServe and enjoy!\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/hyarod1565090529.jpg\",\n    \"strTags\": \"Savory,Breakfast\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=hTrSXryX31A\",\n    \"strIngredient1\": \"Potatoes\",\n    \"strIngredient2\": \"Bay Leaf\",\n    \"strIngredient3\": \"Shallots\",\n    \"strIngredient4\": \"Butter\",\n    \"strIngredient5\": \"Kale\",\n    \"strIngredient6\": \"Sausages\",\n    \"strIngredient7\": \"Milk\",\n    \"strIngredient8\": \"Nutmeg\",\n    \"strIngredient9\": \"Salt\",\n    \"strIngredient10\": \"Pepper\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1.5kg\",\n    \"strMeasure2\": \"2 leaves\",\n    \"strMeasure3\": \"2\",\n    \"strMeasure4\": \"3 tbs\",\n    \"strMeasure5\": \"750g\",\n    \"strMeasure6\": \"2\",\n    \"strMeasure7\": \"500ml\",\n    \"strMeasure8\": \"Grated\",\n    \"strMeasure9\": \"Pinch\",\n    \"strMeasure10\": \"Pinch\",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.thespruceeats.com/stamppot-with-curly-kale-and-rookworst-1128837\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 124\n  },\n  {\n    \"idMeal\": \"52981\",\n    \"strMeal\": \"Snert (Dutch Split Pea Soup)\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Side\",\n    \"strArea\": \"Dutch\",\n    \"strInstructions\": \"Gather the ingredients.\\r\\n\\r\\nIn a large soup pot, bring water, split peas, pork belly or bacon, pork chop, and bouillon cube to a boil. Reduce the heat to a simmer, cover and let cook for 45 minutes, stirring occasionally and skimming off any foam that rises to the top. \\r\\n\\r\\nRemove the pork chop, debone, and thinly slice the meat. Set aside.\\r\\n\\r\\nAdd the celery, carrots, potato, onion, leek, and celeriac to the soup. Return to the boil, reduce the heat to a simmer and let cook, uncovered, for another 30 minutes, adding a little extra water if the ingredients start to stick to the bottom of the pot.\\r\\n\\r\\nAdd the smoked sausage for the last 15 minutes of cooking time. When the vegetables are tender, remove the bacon and smoked sausage, slice thinly and set aside.\\r\\n\\r\\nIf you prefer a smooth consistency, purée the soup with a stick blender. Season to taste with salt and pepper. Add the meat back to the soup, setting some slices of rookworst aside.\\r\\n\\r\\nServe in heated bowls or soup plates, garnished with slices of rookworst and chopped celery leaf.\\r\\n\\r\\nEnjoy!\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/9ptx0a1565090843.jpg\",\n    \"strTags\": \"Soup,Cake\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=5YV0sJLtLt8\",\n    \"strIngredient1\": \"Water\",\n    \"strIngredient2\": \"Peas\",\n    \"strIngredient3\": \"Pork\",\n    \"strIngredient4\": \"Vegetable Stock Cube\",\n    \"strIngredient5\": \"Celery\",\n    \"strIngredient6\": \"Carrots\",\n    \"strIngredient7\": \"Potatoes\",\n    \"strIngredient8\": \"Onion\",\n    \"strIngredient9\": \"Leek\",\n    \"strIngredient10\": \"Celeriac\",\n    \"strIngredient11\": \"Sausages\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2L\",\n    \"strMeasure2\": \"300g\",\n    \"strMeasure3\": \"100g \",\n    \"strMeasure4\": \"1\",\n    \"strMeasure5\": \"2\",\n    \"strMeasure6\": \"2\",\n    \"strMeasure7\": \"1 large\",\n    \"strMeasure8\": \"1 small\",\n    \"strMeasure9\": \"1 small\",\n    \"strMeasure10\": \"1 cup \",\n    \"strMeasure11\": \"1 pound\",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.thespruceeats.com/traditional-dutch-split-pea-soup-1129011\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 125\n  },\n  {\n    \"idMeal\": \"52982\",\n    \"strMeal\": \"Spaghetti alla Carbonara\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pasta\",\n    \"strArea\": \"Italian\",\n    \"strInstructions\": \"STEP 1\\r\\nPut a large saucepan of water on to boil.\\r\\n\\r\\nSTEP 2\\r\\nFinely chop the 100g pancetta, having first removed any rind. Finely grate 50g pecorino cheese and 50g parmesan and mix them together.\\r\\n\\r\\nSTEP 3\\r\\nBeat the 3 large eggs in a medium bowl and season with a little freshly grated black pepper. Set everything aside.\\r\\n\\r\\nSTEP 4\\r\\nAdd 1 tsp salt to the boiling water, add 350g spaghetti and when the water comes back to the boil, cook at a constant simmer, covered, for 10 minutes or until al dente (just cooked).\\r\\n\\r\\nSTEP 5\\r\\nSquash 2 peeled plump garlic cloves with the blade of a knife, just to bruise it.\\r\\n\\r\\nSTEP 6\\r\\nWhile the spaghetti is cooking, fry the pancetta with the garlic. Drop 50g unsalted butter into a large frying pan or wok and, as soon as the butter has melted, tip in the pancetta and garlic.\\r\\n\\r\\nSTEP 7\\r\\nLeave to cook on a medium heat for about 5 minutes, stirring often, until the pancetta is golden and crisp. The garlic has now imparted its flavour, so take it out with a slotted spoon and discard.\\r\\n\\r\\nSTEP 8\\r\\nKeep the heat under the pancetta on low. When the pasta is ready, lift it from the water with a pasta fork or tongs and put it in the frying pan with the pancetta. Don’t worry if a little water drops in the pan as well (you want this to happen) and don’t throw the pasta water away yet.\\r\\n\\r\\nSTEP 9\\r\\nMix most of the cheese in with the eggs, keeping a small handful back for sprinkling over later.\\r\\n\\r\\nSTEP 10\\r\\nTake the pan of spaghetti and pancetta off the heat. Now quickly pour in the eggs and cheese. Using the tongs or a long fork, lift up the spaghetti so it mixes easily with the egg mixture, which thickens but doesn’t scramble, and everything is coated.\\r\\n\\r\\nSTEP 11\\r\\nAdd extra pasta cooking water to keep it saucy (several tablespoons should do it). You don’t want it wet, just moist. Season with a little salt, if needed.\\r\\n\\r\\nSTEP 12\\r\\nUse a long-pronged fork to twist the pasta on to the serving plate or bowl. Serve immediately with a little sprinkling of the remaining cheese and a grating of black pepper. If the dish does get a little dry before serving, splash in some more hot pasta water and the glossy sauciness will be revived.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/llcbn01574260722.jpg\",\n    \"strTags\": \"Pasta,BBQ,Breakfast\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=_T6jkRvhlkk\",\n    \"strIngredient1\": \"Spaghetti\",\n    \"strIngredient2\": \"Egg Yolks\",\n    \"strIngredient3\": \"Salt\",\n    \"strIngredient4\": \"Bacon\",\n    \"strIngredient5\": \"Pecorino\",\n    \"strIngredient6\": \"Black Pepper\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"320g\",\n    \"strMeasure2\": \"6\",\n    \"strMeasure3\": \"As required\",\n    \"strMeasure4\": \"150g\",\n    \"strMeasure5\": \"50g\",\n    \"strMeasure6\": \"As required\",\n    \"strMeasure7\": \" \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/ultimate-spaghetti-carbonara-recipe\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 126\n  },\n  {\n    \"idMeal\": \"52992\",\n    \"strMeal\": \"Soy-Glazed Meatloaves with Wasabi Mashed Potatoes & Roasted Carrots\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"1. Preheat oven to 425 degrees. Wash and dry all produce. Dice potatoes into 1/2-inch pieces. Trim, peel, and cut carrots on a diagonal into 1/2-inch-thick pieces. Trim and thinly slice scallions, separating whites from greens; finely chop whites. Peel and finely chop garlic.\\r\\n\\r\\n2. In a medium bowl, soak bread with 2 TBSP water (4 TBSP for 4 servings); break up with your hands until pasty. Stir in beef, sriracha, scallion whites, half the garlic, salt (we used 3/4 tsp kosher salt; 11/2 tsp for 4), and pepper. Form into two 1-inch-tall loaves (four loaves for 4). Place on one side of a baking sheet. Toss carrots on empty side of same sheet with a drizzle of oil, salt, and pepper. (For 4, spread meatloaves out across whole sheet and add carrots to a second sheet.) Bake for 20 minutes (we'll glaze the meatloaves then).\\r\\n\\r\\n3. Meanwhile, place potatoes in a medium pot with enough salted water to cover by 2 inches. Bring to a boil and cook until very\\r\\ntender, 12-15 minutes. Reserve 1/2 cup potato cooking liquid, then drain. While potatoes cook, in a small bowl, combine soy sauce, garlic powder, 1/4 cup ketchup (1/2 cup for 4 servings), and 2 tsp sugar (4 tsp for 4).\\r\\n\\r\\n4. Once meatloaves and carrots have baked 20 minutes, remove from oven. Spoon half the ketchup glaze over meatloaves (save\\r\\nthe rest for serving); return to oven until carrots are browned and tender, meatloaves are cooked through, and glaze is tacky, 4-5 minutes more.\\r\\n\\r\\n5. Meanwhile, melt 2 TBSP butter (4 TBSP for 4 servings) in pot used for potatoes over medium heat. Add remaining garlic and cook\\r\\nuntil fragrant, 30 seconds. Add potatoes and 1/4 tsp wasabi. Mash, adding splashes of reserved potato cooking liquid as necessary until smooth. Season with salt and pepper. (If you like things spicy, stir in more wasabi!)\\r\\n\\r\\n6. Divide meatloaves, mashed potatoes, and roasted carrots between plates. Sprinkle with scallion greens and serve with remaining ketchup glaze on the side for dipping.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/o2wb6p1581005243.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"\",\n    \"strIngredient1\": \"Potatoes\",\n    \"strIngredient2\": \"Carrots\",\n    \"strIngredient3\": \"Scallions\",\n    \"strIngredient4\": \"Garlic\",\n    \"strIngredient5\": \"Bread\",\n    \"strIngredient6\": \"Garlic Powder\",\n    \"strIngredient7\": \"Soy Sauce\",\n    \"strIngredient8\": \"Ground Beef\",\n    \"strIngredient9\": \"Vegetable Oil\",\n    \"strIngredient10\": \"Sugar\",\n    \"strIngredient11\": \"Butter\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"5\",\n    \"strMeasure2\": \"12 ounces\",\n    \"strMeasure3\": \"1\",\n    \"strMeasure4\": \"2 cloves\",\n    \"strMeasure5\": \"1 Slice\",\n    \"strMeasure6\": \"1\",\n    \"strMeasure7\": \"2\",\n    \"strMeasure8\": \"1\",\n    \"strMeasure9\": \"1 tsp \",\n    \"strMeasure10\": \"2 tsp\",\n    \"strMeasure11\": \"2 tbsp\",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 127\n  },\n  {\n    \"idMeal\": \"52994\",\n    \"strMeal\": \"Skillet Apple Pork Chops with Roasted Sweet Potatoes & Zucchini\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pork\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"\\r\\nServes 2\\r\\n\\r\\n\\r\\n1. \\r\\n\\r\\nAdjust racks to top and middle positions and preheat oven to 450 degrees. Wash and dry all produce. Dice sweet potatoes into 1/2-inch pieces. Toss on a baking sheet with a drizzle of oil, salt, and pepper. Roast on top rack for 12 minutes (we'll roast the zucchini then). \\r\\n\\r\\n\\r\\n2. \\r\\n\\r\\nMeanwhile, halve and core apple; thinly slice into half-moons. Peel and finely chop garlic. Quarter lemon. Trim and halve zucchini lengthwise; cut crosswise into 1/2-inch-thick half-moons. Toss on a second baking sheet with a drizzle of oil and a pinch of salt and pepper. Set aside. \\r\\n\\r\\n\\r\\n3. \\r\\n\\r\\nPat pork dry with paper towels and season all over with salt and pepper. Heat a drizzle of oil in a large pan over medium-high heat. Add pork and cook until browned and cooked through, 4-5 minutes per side. Turn off heat; transfer to a plate. \\r\\n\\r\\n\\r\\n4. \\r\\n\\r\\nOnce sweet potatoes have roasted 12 minutes, transfer baking sheet with zucchini to middle rack and continue roasting until both veggies are browned and softened, 12-15 minutes more. \\r\\n\\r\\n\\r\\n5. \\r\\n\\r\\nMeanwhile, melt 1 TBSP butter (2 TBSP for 4 servings) in pan used for pork over medium-high heat. Add apple and season with salt and pepper. Cook, scraping up any browned bits from bottom of pan, until apple is slightly softened, 2-3 minutes. Add garlic; cook until fragrant, 30 seconds. Add 1/z cup water (3/4 cup for 4), stock concentrate, and 11/2 tsp sugar (3 tsp for 4). Cook, stirring, until sauce has thickened and apple is very tender, 3-5 minutes. Season with salt and pepper. \\r\\n\\r\\n\\r\\n6. \\r\\n\\r\\nRemove pan with apple from heat; stir in 1 TBSP butter (2 TBSP for 4 servings) and a squeeze of lemon juice. Divide pork, zucchini, and sweet potatoes between plates. Top pork with glazed apple sauce. Top zucchini with a squeeze of lemon juice. \",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/h3ijwo1581013377.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"\",\n    \"strIngredient1\": \"Potatoes\",\n    \"strIngredient2\": \"Apples\",\n    \"strIngredient3\": \"Garlic\",\n    \"strIngredient4\": \"Lemon\",\n    \"strIngredient5\": \"Pork\",\n    \"strIngredient6\": \"Zucchini\",\n    \"strIngredient7\": \"Chicken Stock\",\n    \"strIngredient8\": \"Vegetable Oil\",\n    \"strIngredient9\": \"Sugar\",\n    \"strIngredient10\": \"Butter\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2\",\n    \"strMeasure2\": \"1\",\n    \"strMeasure3\": \"2 cloves\",\n    \"strMeasure4\": \"1\",\n    \"strMeasure5\": \"2\",\n    \"strMeasure6\": \"1\",\n    \"strMeasure7\": \"1\",\n    \"strMeasure8\": \"1 tbsp\",\n    \"strMeasure9\": \"1 1/2 tsp \",\n    \"strMeasure10\": \"2 tbsp\",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 128\n  },\n  {\n    \"idMeal\": \"53005\",\n    \"strMeal\": \"Strawberry Rhubarb Pie\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Pie Crust:  In a food processor, place the flour, salt, and sugar and process until combined. Add the butter and process until the mixture resembles coarse\\r\\n\\r\\nmeal (about 15 seconds). Pour 1/4 cup (60 ml) water in a slow, steady stream, through the feed tube until the dough just holds together when pinched. If necessary, add more water. Do not process more than 30 seconds.\\r\\nTurn the dough onto your work surface and gather into a ball. Divide the dough in half, flattening each half into a disk, cover with plastic wrap, and refrigerate for about one hour before using. This will chill the butter and relax the gluten in the flour. \\r\\n\\r\\nAfter the dough has chilled sufficiently, remove one portion of the dough from the fridge and place it on a lightly floured surface.  Roll the pastry into a 12 inch (30 cm) circle. (To prevent the pastry from sticking to the counter and to ensure uniform thickness, keep lifting up and turning the pastry a quarter turn as you roll (always roll from the center of the pastry outwards).)  Fold the dough in half and gently transfer to a 9 inch (23 cm) pie pan. Brush off any excess flour and trim any overhanging pastry to an edge of 1/2 inch (1.5 cm). Refrigerate the pastry, covered with plastic wrap, while you make the filling. \\r\\n\\r\\nRemove the second round of pastry and roll it into a 13 inch (30 cm) circle. Using a pastry wheel or pizza cutter, cut the pastry into about 3/4 inch (2 cm) strips. Place the strips of pastry on a parchment paper-lined baking sheet, cover with plastic wrap, and place in the refrigerator for about 10 minutes. \\r\\n\\r\\nMake the Strawberry Rhubarb Filling: Place the cut strawberries and rhubarb in a large bowl. In a small bowl mix together the cornstarch, sugar, and ground cinnamon. \\r\\n\\r\\nRemove the chilled pie crust from the fridge. Sprinkle about 2 tablespoons of the sugar mixture over the bottom of the pastry crust. Add the remaining sugar mixture to the strawberries and rhubarb and gently toss to combine. Pour the fruit mixture into the prepared pie shell. Sprinkle the fruit with about 1 teaspoon of lemon juice and dot with 2 tablespoons of butter.\\r\\n\\r\\nRemove the lattice pastry from the refrigerator and, starting at the center with the longest strips and working outwards, place half the strips, spacing about 1 inch (2.5 cm) apart, on top of the filling. (Use the shortest pastry strips at the outer edges.) Then, gently fold back, about halfway, every other strip of pastry. Take another strip of pastry and place it perpendicular on top of the first strips of pastry. Unfold the bottom strips of pastry and then fold back the strips that weren't folded back the first time. Lay another strip of pastry perpendicular on top of the filling and then continue with the remaining strips. Trim the edges of the pastry strips, leaving a 1 inch (2.5 cm) overhang. Seal the edges of the pastry strips by folding them under the bottom pastry crust and flute the edges of the pastry. Brush the lattice pastry with milk and sprinkle with a little sugar. Cover and place in the refrigerator while you preheat the oven to 400 degrees F (205 degrees C) and place the oven rack in the lower third of the oven. Put a baking sheet, lined with aluminum foil, on the oven rack (to catch any spills.)\\r\\n\\r\\nPlace the pie plate on the hot baking sheet and bake the pie for about 35 minutes and then, if the edges of the pie are browning too much, cover with a foil ring. Continue to bake the pie for about another 10 minutes or until the crust is a golden brown color and the fruit juices begin to bubble.\\r\\n\\r\\nRemove the pie from the oven and place on a wire rack to cool for several hours. Serve at room temperature with softly whipped cream or vanilla ice cream. Leftovers can be stored in the refrigerator for about 3 days. Reheat before serving. This pie can be frozen.\\r\\n\\r\\nMakes one 9 inch (23 cm) pie.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/178z5o1585514569.jpg\",\n    \"strTags\": \"Pudding,Pie,Baking,Fruity,Glazed\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=tGw5Pwm4YA0\",\n    \"strIngredient1\": \"Flour\",\n    \"strIngredient2\": \"Salt\",\n    \"strIngredient3\": \"Sugar\",\n    \"strIngredient4\": \"Butter\",\n    \"strIngredient5\": \"Water\",\n    \"strIngredient6\": \"Rhubarb\",\n    \"strIngredient7\": \"Strawberries\",\n    \"strIngredient8\": \"Cornstarch\",\n    \"strIngredient9\": \"Sugar\",\n    \"strIngredient10\": \"Cinnamon\",\n    \"strIngredient11\": \"Lemon Juice\",\n    \"strIngredient12\": \"Unsalted Butter\",\n    \"strIngredient13\": \"Milk\",\n    \"strIngredient14\": \"Sugar\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"350g\",\n    \"strMeasure2\": \"1 tsp \",\n    \"strMeasure3\": \"2 tbs\",\n    \"strMeasure4\": \"1 cup \",\n    \"strMeasure5\": \"1/2 cup \",\n    \"strMeasure6\": \"450g\",\n    \"strMeasure7\": \"450g\",\n    \"strMeasure8\": \"3 tbs\",\n    \"strMeasure9\": \"150g\",\n    \"strMeasure10\": \"1/4 tsp\",\n    \"strMeasure11\": \"1 tsp \",\n    \"strMeasure12\": \"2 tbs\",\n    \"strMeasure13\": \"2 tbs\",\n    \"strMeasure14\": \"Spinkling\",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.joyofbaking.com/StrawberryRhubarbPie.html\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 129\n  },\n  {\n    \"idMeal\": \"53008\",\n    \"strMeal\": \"Stuffed Lamb Tomatoes\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Lamb\",\n    \"strArea\": \"Greek\",\n    \"strInstructions\": \"Heat oven to 180C/160C fan/gas 4. Slice the tops off the tomatoes and reserve. Scoop out most of the pulp with a teaspoon, being careful not to break the skin. Finely chop the pulp, and keep any juices. Sprinkle the insides of the tomatoes with a little sugar to take away the acidity, then place them on a baking tray.\\r\\n\\r\\nHeat 2 tbsp olive oil in a large frying pan, add the onion and garlic, then gently cook for about 10 mins until soft but not coloured. Add the lamb, cinnamon and tomato purée, turn up the heat, then fry until the meat is browned. Add the tomato pulp and juice, the rice and the stock. Season generously. Bring to the boil, then simmer for 15 mins or until the rice is tender and the liquid has been absorbed. Set aside to cool a little, then stir in the herbs.\\r\\n\\r\\nStuff the tomatoes up to the brim, top tomatoes with their lids, drizzle with 2 tbsp more olive oil, sprinkle 3 tbsp water into the tray, then bake for 35 mins. Serve with salad and crusty bread, hot or cold.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/u55lbp1585564013.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=KfJp-QfrCz4\",\n    \"strIngredient1\": \"Tomatoes\",\n    \"strIngredient2\": \"Sugar\",\n    \"strIngredient3\": \"Olive Oil\",\n    \"strIngredient4\": \"Onion\",\n    \"strIngredient5\": \"Garlic Clove\",\n    \"strIngredient6\": \"Lamb\",\n    \"strIngredient7\": \"Cinnamon\",\n    \"strIngredient8\": \"Tomato Puree\",\n    \"strIngredient9\": \"Rice\",\n    \"strIngredient10\": \"Chicken Stock\",\n    \"strIngredient11\": \"Dill\",\n    \"strIngredient12\": \"Chopped Parsley\",\n    \"strIngredient13\": \"Mint\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"4 large\",\n    \"strMeasure2\": \"Pinch\",\n    \"strMeasure3\": \"4 tbs\",\n    \"strMeasure4\": \"1 chopped\",\n    \"strMeasure5\": \"2 finely chopped\",\n    \"strMeasure6\": \"200g\",\n    \"strMeasure7\": \"1 tbs\",\n    \"strMeasure8\": \"2 tbs chopped\",\n    \"strMeasure9\": \"50g\",\n    \"strMeasure10\": \"100ml\",\n    \"strMeasure11\": \"4 tbs\",\n    \"strMeasure12\": \"2 tbs\",\n    \"strMeasure13\": \"1 tbs\",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/stuffed-tomatoes-lamb-mince-dill-rice\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 130\n  },\n  {\n    \"idMeal\": \"53023\",\n    \"strMeal\": \"Sledz w Oleju (Polish Herrings)\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"Polish\",\n    \"strInstructions\": \"Soak herring in cold water for at least 1 hour. If very salty, repeat, changing the water each time.\\r\\n\\r\\nDrain thoroughly and slice herring into bite-size pieces.\\r\\n\\r\\nPlace in a jar large enough to accommodate the pieces and cover with oil, allspice, peppercorns, and bay leaf. Close the jar.\\r\\n\\r\\nRefrigerate for 2 to 3 days before eating. This will keep refrigerated up to 2 weeks.\\r\\n\\r\\nServe with finely chopped onion or onion slices, lemon, and parsley or dill.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/7ttta31593350374.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=v6I3GZlBkOM\",\n    \"strIngredient1\": \"Herring\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Olive Oil\",\n    \"strIngredient4\": \"Allspice\",\n    \"strIngredient5\": \"Pepper\",\n    \"strIngredient6\": \"Bay Leaf\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"8\",\n    \"strMeasure2\": \"1 sliced\",\n    \"strMeasure3\": \"1/2 cup \",\n    \"strMeasure4\": \"1 tsp \",\n    \"strMeasure5\": \"1 tsp \",\n    \"strMeasure6\": \"1\",\n    \"strMeasure7\": \" \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.thespruceeats.com/polish-herrings-in-oil-recipe-1135618\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 131\n  },\n  {\n    \"idMeal\": \"53028\",\n    \"strMeal\": \"Shawarma\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Egyptian\",\n    \"strInstructions\": \"Combine the marinade ingredients in a large ziplock bag (or bowl).\\r\\nAdd the chicken and use your hands to make sure each piece is coated. If using a ziplock bag, I find it convenient to close the bag then massage the bag to disperse the rub all over each chicken piece.\\r\\nMarinate overnight or up to 24 hours.\\r\\nCombine the Yoghurt Sauce ingredients in a bowl and mix. Cover and put in the fridge until required (it will last for 3 days in the fridge).\\r\\nHeat grill/BBQ (or large heavy based pan on stove) on medium high. You should not need to oil it because the marinade has oil in it and also thigh fillets have fat. But if you are worried then oil your hotplate/grill. (See notes for baking)\\r\\nPlace chicken on the grill and cook the first side for 4 to 5 minutes until nicely charred, then turn and cook the other side for 3 to 4 minutes (the 2nd side takes less time).\\r\\nRemove chicken from the grill and cover loosely with foil. Set aside to rest for 5 minutes.\\r\\nTO SERVE\\r\\nSlice chicken and pile onto platter alongside flatbreads, Salad and the Yoghurt Sauce.\\r\\nTo make a wrap, get a piece of flatbread and smear with Yoghurt Sauce. Top with a bit of lettuce and tomato and Chicken Shawarma. Roll up and enjoy!\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/kcv6hj1598733479.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=3lxUIeKDgic\",\n    \"strIngredient1\": \"Chicken Thighs\",\n    \"strIngredient2\": \"Coriander\",\n    \"strIngredient3\": \"Cumin\",\n    \"strIngredient4\": \"Cardamom\",\n    \"strIngredient5\": \"Cayenne Pepper\",\n    \"strIngredient6\": \"Paprika\",\n    \"strIngredient7\": \"Lemon Juice\",\n    \"strIngredient8\": \"Olive Oil\",\n    \"strIngredient9\": \"Greek Yogurt\",\n    \"strIngredient10\": \"Garlic Clove\",\n    \"strIngredient11\": \"Cumin\",\n    \"strIngredient12\": \"Lemon Juice\",\n    \"strIngredient13\": \"Lettuce\",\n    \"strIngredient14\": \"Tomato\",\n    \"strIngredient15\": \"Pita Bread\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 kg\",\n    \"strMeasure2\": \"1 tbs\",\n    \"strMeasure3\": \"1 tbs\",\n    \"strMeasure4\": \"1 tbs\",\n    \"strMeasure5\": \"1 tsp \",\n    \"strMeasure6\": \"2 tsp\",\n    \"strMeasure7\": \"2 tbs\",\n    \"strMeasure8\": \"3 tbs\",\n    \"strMeasure9\": \"1 cup \",\n    \"strMeasure10\": \"1\",\n    \"strMeasure11\": \"1 tsp \",\n    \"strMeasure12\": \"Splash\",\n    \"strMeasure13\": \"Sliced\",\n    \"strMeasure14\": \"Sliced\",\n    \"strMeasure15\": \"6\",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.recipetineats.com/chicken-sharwama-middle-eastern/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 132\n  },\n  {\n    \"idMeal\": \"53040\",\n    \"strMeal\": \"Spring onion and prawn empanadas\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"Portuguese\",\n    \"strInstructions\": \"STEP 1\\r\\n\\r\\nTo make the dough, rub the butter into the flour and then add the egg white and half the yolk (keep the rest), vinegar, a pinch of salt and enough cold water to make a soft dough. Knead on a floured surface until smooth and then wrap and rest for 30 minutes.\\r\\n\\r\\nSTEP 2\\r\\n\\r\\nHeat the oven to 180c/fan 160c/gas 4. Trim the green ends of the spring onions and then finely slice the rest. Heat a little oil in a pan and fry them gently until soft but not browned. Add the chilli and garlic, stir and then add the prawns and cook until they are opaque. Season well. Scoop out the prawns and bubble the juices until they thicken, then add back the prawns.\\r\\n\\r\\nSTEP 3\\r\\n\\r\\nDivide the empanada dough into eight balls and roll out to thin circles on a floured surface. Put some filling on one half of the dough, sprinkle the feta on top and fold the other half over. Trim the edge and then fold and crimp the dough together so the empanada is tightly sealed, put it on an oiled baking sheet either on its side or sitting on its un-crimped edge like a cornish pasty. Repeat with the remaining dough and mixture. Mix the leftover egg yolk with a splash of water and brush the top of the empanadas.\\r\\n\\r\\nSTEP 4\\r\\n\\r\\nBake for 30 minutes or until golden and slightly crisp around the edges.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1c5oso1614347493.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=Q24haJU-1dI\",\n    \"strIngredient1\": \"Spring Onions\",\n    \"strIngredient2\": \"Olive Oil\",\n    \"strIngredient3\": \"Red Chilli\",\n    \"strIngredient4\": \"Garlic\",\n    \"strIngredient5\": \"Prawns\",\n    \"strIngredient6\": \"Feta\",\n    \"strIngredient7\": \"Butter\",\n    \"strIngredient8\": \"Plain Flour\",\n    \"strIngredient9\": \"Egg\",\n    \"strIngredient10\": \"White Wine Vinegar\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1  bunch\",\n    \"strMeasure2\": \"Dash\",\n    \"strMeasure3\": \"1 finely sliced\",\n    \"strMeasure4\": \"1 clove\",\n    \"strMeasure5\": \"350g\",\n    \"strMeasure6\": \"75g\",\n    \"strMeasure7\": \"15g\",\n    \"strMeasure8\": \"250g\",\n    \"strMeasure9\": \"1 Seperated\",\n    \"strMeasure10\": \"1/2 tsp\",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.olivemagazine.com/recipes/fish-and-seafood/spring-onion-and-prawn-empanadas/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 133\n  },\n  {\n    \"idMeal\": \"53054\",\n    \"strMeal\": \"Seri muka kuih\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"Malaysian\",\n    \"strInstructions\": \"Soak glutinous rice with water for at least 1 ½ hours prior to using. Drain.\\r\\nPrepare a 9-inch round or square cake pan and spray with cooking spray or line with plastic wrap.\\r\\nMix coconut milk, water, salt and the rice. Pour it into cake pan, topped with the pandan knots.\\r\\nSteam for 30 minutes.\\r\\nAfter 30 minutes, fluff up the rice and remove pandan knots. Then, using a greased spatula, flatten the steamed rice. Make sure there are no holes/air bubbles and gaps in the rice, especially the sides.\\r\\nSteam for another 10 minutes.\\r\\n\\r\\nCombine pandan juice, coconut milk, all purpose flour, cornflour, and sugar. Mix well.\\r\\nAdd eggs and whisk well then strain into a medium sized metal bowl or pot.\\r\\nPlace pandan mixture over simmering water (double boiler or bain-marie)\\r\\nStir continuously and cook till custard starts to thicken. (15 minutes)\\r\\nPour pandan custard into glutinous rice layer, give it a little tap (for air bubbles) and continue to steam for 30 minutes.\\r\\nRemove kuih seri muka from the steamer and allow to cool completely before cutting into rectangles or diamond shapes.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/6ut2og1619790195.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=_NJtCfqgaBo\",\n    \"strIngredient1\": \"Rice\",\n    \"strIngredient2\": \"Coconut Milk\",\n    \"strIngredient3\": \"Water\",\n    \"strIngredient4\": \"Salt\",\n    \"strIngredient5\": \"Corn Flour\",\n    \"strIngredient6\": \"Flour\",\n    \"strIngredient7\": \"Eggs\",\n    \"strIngredient8\": \"Coconut Cream\",\n    \"strIngredient9\": \"Sugar\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"400g\",\n    \"strMeasure2\": \"150ml\",\n    \"strMeasure3\": \"100ml\",\n    \"strMeasure4\": \"1 tsp \",\n    \"strMeasure5\": \"5 tbs\",\n    \"strMeasure6\": \"3 tbs\",\n    \"strMeasure7\": \"3\",\n    \"strMeasure8\": \"200ml\",\n    \"strMeasure9\": \"140g\",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://makan.ch/recipe/kuih-seri-muka/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 134\n  },\n  {\n    \"idMeal\": \"53065\",\n    \"strMeal\": \"Sushi\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"Japanese\",\n    \"strInstructions\": \"STEP 1\\r\\nTO MAKE SUSHI ROLLS: Pat out some rice. Lay a nori sheet on the mat, shiny-side down. Dip your hands in the vinegared water, then pat handfuls of rice on top in a 1cm thick layer, leaving the furthest edge from you clear.\\r\\n\\r\\nSTEP 2\\r\\nSpread over some Japanese mayonnaise. Use a spoon to spread out a thin layer of mayonnaise down the middle of the rice.\\r\\n\\r\\nSTEP 3\\r\\nAdd the filling. Get your child to top the mayonnaise with a line of their favourite fillings – here we’ve used tuna and cucumber.\\r\\n\\r\\nSTEP 4\\r\\nRoll it up. Lift the edge of the mat over the rice, applying a little pressure to keep everything in a tight roll.\\r\\n\\r\\nSTEP 5\\r\\nStick down the sides like a stamp. When you get to the edge without any rice, brush with a little water and continue to roll into a tight roll.\\r\\n\\r\\nSTEP 6\\r\\nWrap in cling film. Remove the mat and roll tightly in cling film before a grown-up cuts the sushi into thick slices, then unravel the cling film.\\r\\n\\r\\nSTEP 7\\r\\nTO MAKE PRESSED SUSHI: Layer over some smoked salmon. Line a loaf tin with cling film, then place a thin layer of smoked salmon inside on top of the cling film.\\r\\n\\r\\nSTEP 8\\r\\nCover with rice and press down. Press about 3cm of rice over the fish, fold the cling film over and press down as much as you can, using another tin if you have one.\\r\\n\\r\\nSTEP 9\\r\\nTip it out like a sandcastle. Turn block of sushi onto a chopping board. Get a grown-up to cut into fingers, then remove the cling film.\\r\\n\\r\\nSTEP 10\\r\\nTO MAKE SUSHI BALLS: Choose your topping. Get a small square of cling film and place a topping, like half a prawn or a small piece of smoked salmon, on it. Use damp hands to roll walnut-sized balls of rice and place on the topping.\\r\\n\\r\\nSTEP 11\\r\\nMake into tight balls. Bring the corners of the cling film together and tighten into balls by twisting it up, then unwrap and serve.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/g046bb1663960946.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=ub68OxEypaY\",\n    \"strIngredient1\": \"Sushi Rice\",\n    \"strIngredient2\": \"Rice wine\",\n    \"strIngredient3\": \"Caster Sugar\",\n    \"strIngredient4\": \"Mayonnaise\",\n    \"strIngredient5\": \"Rice wine\",\n    \"strIngredient6\": \"Soy Sauce\",\n    \"strIngredient7\": \"Cucumber\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"300ml \",\n    \"strMeasure2\": \"100ml\",\n    \"strMeasure3\": \"2 tbs\",\n    \"strMeasure4\": \"3 tbs\",\n    \"strMeasure5\": \"1 tbs\",\n    \"strMeasure6\": \"1 tbs\",\n    \"strMeasure7\": \"1\",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/simple-sushi\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 135\n  },\n  {\n    \"idMeal\": \"53067\",\n    \"strMeal\": \"Stuffed Bell Peppers with Quinoa and Black Beans\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Mexican\",\n    \"strInstructions\": \"1. Preheat your oven to 375°F (190°C). Lightly grease a 9x13-inch baking dish or a similar-sized casserole dish.\\r\\n2. Place the bell pepper halves in the prepared baking dish, cut side up. Bake for 15-20 minutes, or until slightly softened.\\r\\n3. While the bell peppers are baking, prepare the filling. In a large skillet, heat the olive oil over medium heat. Add the chopped onion, and cook for 3-4 minutes, until softened. Add the garlic, and cook for another 1 minute, until fragrant.\\r\\n4. Stir in the cooked quinoa, black beans, corn, diced tomatoes, ground cumin, chili powder, smoked paprika, salt, and pepper. Cook for 5-7 minutes, until heated through. Remove the skillet from heat, and stir in 1 cup of the shredded cheese, if using.\\r\\n5. Remove the bell peppers from the oven, and carefully stuff each pepper half with the quinoa and black bean mixture. Top the stuffed peppers with the remaining 1/2 cup of shredded cheese, if using.\\r\\n6. Return the stuffed peppers to the oven, and bake for another 15-20 minutes, until the cheese is melted and the peppers are tender.\\r\\n7. Remove from the oven, and allow the stuffed peppers to cool for 5 minutes before serving. Garnish with fresh chopped cilantro.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/b66myb1683207208.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"\",\n    \"strIngredient1\": \"Green Pepper\",\n    \"strIngredient2\": \"Olive Oil\",\n    \"strIngredient3\": \"Onion\",\n    \"strIngredient4\": \"Garlic\",\n    \"strIngredient5\": \"Quinoa\",\n    \"strIngredient6\": \"Black Beans\",\n    \"strIngredient7\": \"Sweetcorn\",\n    \"strIngredient8\": \"Diced Tomatoes\",\n    \"strIngredient9\": \"Cumin\",\n    \"strIngredient10\": \"Chili Powder\",\n    \"strIngredient11\": \"Smoked Paprika\",\n    \"strIngredient12\": \"Salt\",\n    \"strIngredient13\": \"Pepper\",\n    \"strIngredient14\": \"Shredded Mexican Cheese\",\n    \"strIngredient15\": \"Cilantro\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"4 whole\",\n    \"strMeasure2\": \"1 tablespoon\",\n    \"strMeasure3\": \"1 small finely diced\",\n    \"strMeasure4\": \"2 cloves minced\",\n    \"strMeasure5\": \"1 cups\",\n    \"strMeasure6\": \"1 can \",\n    \"strMeasure7\": \"1 cup \",\n    \"strMeasure8\": \"1 can \",\n    \"strMeasure9\": \"1 teaspoon\",\n    \"strMeasure10\": \"½ tsp\",\n    \"strMeasure11\": \"½ tsp\",\n    \"strMeasure12\": \"To taste\",\n    \"strMeasure13\": \"To taste\",\n    \"strMeasure14\": \"1 1/2 cup \",\n    \"strMeasure15\": \"Chopped\",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 136\n  },\n  {\n    \"idMeal\": \"52768\",\n    \"strMeal\": \"Apple Frangipan Tart\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Preheat the oven to 200C/180C Fan/Gas 6.\\r\\nPut the biscuits in a large re-sealable freezer bag and bash with a rolling pin into fine crumbs. Melt the butter in a small pan, then add the biscuit crumbs and stir until coated with butter. Tip into the tart tin and, using the back of a spoon, press over the base and sides of the tin to give an even layer. Chill in the fridge while you make the filling.\\r\\nCream together the butter and sugar until light and fluffy. You can do this in a food processor if you have one. Process for 2-3 minutes. Mix in the eggs, then add the ground almonds and almond extract and blend until well combined.\\r\\nPeel the apples, and cut thin slices of apple. Do this at the last minute to prevent the apple going brown. Arrange the slices over the biscuit base. Spread the frangipane filling evenly on top. Level the surface and sprinkle with the flaked almonds.\\r\\nBake for 20-25 minutes until golden-brown and set.\\r\\nRemove from the oven and leave to cool for 15 minutes. Remove the sides of the tin. An easy way to do this is to stand the tin on a can of beans and push down gently on the edges of the tin.\\r\\nTransfer the tart, with the tin base attached, to a serving plate. Serve warm with cream, crème fraiche or ice cream.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wxywrq1468235067.jpg\",\n    \"strTags\": \"Tart,Baking,Fruity\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=rp8Slv4INLk\",\n    \"strIngredient1\": \"digestive biscuits\",\n    \"strIngredient2\": \"butter\",\n    \"strIngredient3\": \"Bramley apples\",\n    \"strIngredient4\": \"butter, softened\",\n    \"strIngredient5\": \"caster sugar\",\n    \"strIngredient6\": \"free-range eggs, beaten\",\n    \"strIngredient7\": \"ground almonds\",\n    \"strIngredient8\": \"almond extract\",\n    \"strIngredient9\": \"flaked almonds\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": null,\n    \"strIngredient17\": null,\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"175g/6oz\",\n    \"strMeasure2\": \"75g/3oz\",\n    \"strMeasure3\": \"200g/7oz\",\n    \"strMeasure4\": \"75g/3oz\",\n    \"strMeasure5\": \"75g/3oz\",\n    \"strMeasure6\": \"2\",\n    \"strMeasure7\": \"75g/3oz\",\n    \"strMeasure8\": \"1 tsp\",\n    \"strMeasure9\": \"50g/1¾oz\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": null,\n    \"strMeasure17\": null,\n    \"strMeasure18\": null,\n    \"strMeasure19\": null,\n    \"strMeasure20\": null,\n    \"strSource\": null,\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 137\n  },\n  {\n    \"idMeal\": \"52893\",\n    \"strMeal\": \"Apple & Blackberry Crumble\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Heat oven to 190C/170C fan/gas 5. Tip the flour and sugar into a large bowl. Add the butter, then rub into the flour using your fingertips to make a light breadcrumb texture. Do not overwork it or the crumble will become heavy. Sprinkle the mixture evenly over a baking sheet and bake for 15 mins or until lightly coloured.\\r\\nMeanwhile, for the compote, peel, core and cut the apples into 2cm dice. Put the butter and sugar in a medium saucepan and melt together over a medium heat. Cook for 3 mins until the mixture turns to a light caramel. Stir in the apples and cook for 3 mins. Add the blackberries and cinnamon, and cook for 3 mins more. Cover, remove from the heat, then leave for 2-3 mins to continue cooking in the warmth of the pan.\\r\\nTo serve, spoon the warm fruit into an ovenproof gratin dish, top with the crumble mix, then reheat in the oven for 5-10 mins. Serve with vanilla ice cream.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/xvsurr1511719182.jpg\",\n    \"strTags\": \"Pudding\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=4vhcOwVBDO4\",\n    \"strIngredient1\": \"Plain Flour\",\n    \"strIngredient2\": \"Caster Sugar\",\n    \"strIngredient3\": \"Butter\",\n    \"strIngredient4\": \"Braeburn Apples\",\n    \"strIngredient5\": \"Butter\",\n    \"strIngredient6\": \"Demerara Sugar\",\n    \"strIngredient7\": \"Blackberrys\",\n    \"strIngredient8\": \"Cinnamon\",\n    \"strIngredient9\": \"Ice Cream\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"120g\",\n    \"strMeasure2\": \"60g\",\n    \"strMeasure3\": \"60g\",\n    \"strMeasure4\": \"300g\",\n    \"strMeasure5\": \"30g\",\n    \"strMeasure6\": \"30g\",\n    \"strMeasure7\": \"120g\",\n    \"strMeasure8\": \"¼ teaspoon\",\n    \"strMeasure9\": \"to serve\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/778642/apple-and-blackberry-crumble\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 138\n  },\n  {\n    \"idMeal\": \"53049\",\n    \"strMeal\": \"Apam balik\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"Malaysian\",\n    \"strInstructions\": \"Mix milk, oil and egg together. Sift flour, baking powder and salt into the mixture. Stir well until all ingredients are combined evenly.\\r\\n\\r\\nSpread some batter onto the pan. Spread a thin layer of batter to the side of the pan. Cover the pan for 30-60 seconds until small air bubbles appear.\\r\\n\\r\\nAdd butter, cream corn, crushed peanuts and sugar onto the pancake. Fold the pancake into half once the bottom surface is browned.\\r\\n\\r\\nCut into wedges and best eaten when it is warm.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/adxcbq1619787919.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=6R8ffRRJcrg\",\n    \"strIngredient1\": \"Milk\",\n    \"strIngredient2\": \"Oil\",\n    \"strIngredient3\": \"Eggs\",\n    \"strIngredient4\": \"Flour\",\n    \"strIngredient5\": \"Baking Powder\",\n    \"strIngredient6\": \"Salt\",\n    \"strIngredient7\": \"Unsalted Butter\",\n    \"strIngredient8\": \"Sugar\",\n    \"strIngredient9\": \"Peanut Butter\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"200ml\",\n    \"strMeasure2\": \"60ml\",\n    \"strMeasure3\": \"2\",\n    \"strMeasure4\": \"1600g\",\n    \"strMeasure5\": \"3 tsp\",\n    \"strMeasure6\": \"1/2 tsp\",\n    \"strMeasure7\": \"25g\",\n    \"strMeasure8\": \"45g\",\n    \"strMeasure9\": \"3 tbs\",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.nyonyacooking.com/recipes/apam-balik~SJ5WuvsDf9WQ\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 139\n  },\n  {\n    \"idMeal\": \"53050\",\n    \"strMeal\": \"Ayam Percik\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Malaysian\",\n    \"strInstructions\": \"In a blender, add the ingredients for the spice paste and blend until smooth.\\r\\nOver medium heat, pour the spice paste in a skillet or pan and fry for 10 minutes until fragrant. Add water or oil 1 tablespoon at a time if the paste becomes too dry. Don't burn the paste. Lower the fire slightly if needed.\\r\\nAdd the cloves, cardamom, tamarind pulp, coconut milk, water, sugar and salt. Turn the heat up and bring the mixture to boil. Turn the heat to medium low and simmer for 10 minutes. Stir occasionally. It will reduce slightly. This is the marinade/sauce, so taste and adjust seasoning if necessary. Don't worry if it's slightly bitter. It will go away when roasting.\\r\\nWhen the marinade/sauce has cooled, pour everything over the chicken and marinate overnight to two days.\\r\\nPreheat the oven to 425 F.\\r\\nRemove the chicken from the marinade. Spoon the marinade onto a greased (or aluminum lined) baking sheet. Lay the chicken on top of the sauce (make sure the chicken covers the sauce and the sauce isn't exposed or it'll burn) and spread the remaining marinade on the chicken. Roast for 35-45 minutes or until internal temp of the thickest part of chicken is at least 175 F.\\r\\nLet chicken rest for 5 minutes. Brush the chicken with some of the oil. Serve chicken with the sauce over steamed rice (or coconut rice).\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/020z181619788503.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=9ytR28QK6I8\",\n    \"strIngredient1\": \"Chicken Thighs\",\n    \"strIngredient2\": \"Challots\",\n    \"strIngredient3\": \"Ginger\",\n    \"strIngredient4\": \"Garlic Clove\",\n    \"strIngredient5\": \"Cayenne Pepper\",\n    \"strIngredient6\": \"Turmeric\",\n    \"strIngredient7\": \"Cumin\",\n    \"strIngredient8\": \"Coriander\",\n    \"strIngredient9\": \"Fennel\",\n    \"strIngredient10\": \"Tamarind Paste\",\n    \"strIngredient11\": \"Coconut Milk\",\n    \"strIngredient12\": \"Sugar\",\n    \"strIngredient13\": \"Water\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"6\",\n    \"strMeasure2\": \"16\",\n    \"strMeasure3\": \"1 1/2 \",\n    \"strMeasure4\": \"6\",\n    \"strMeasure5\": \"8\",\n    \"strMeasure6\": \"2 tbs\",\n    \"strMeasure7\": \"1 1/2 \",\n    \"strMeasure8\": \"1 1/2 \",\n    \"strMeasure9\": \"1 1/2 \",\n    \"strMeasure10\": \"2 tbs\",\n    \"strMeasure11\": \"1 can \",\n    \"strMeasure12\": \"1 tsp \",\n    \"strMeasure13\": \"1 cup \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"http://www.curiousnut.com/roasted-spiced-chicken-ayam-percik/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 140\n  },\n  {\n    \"idMeal\": \"52783\",\n    \"strMeal\": \"Rigatoni with fennel sausage sauce\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Lamb\",\n    \"strArea\": \"Moroccan\",\n    \"strInstructions\": \"Heat a tablespoon of oil in a large saute pan for which you have a lid. Add the sausage pieces and fry on a medium-high heat for 10 minutes, stirring regularly, until golden-brown all over. Transfer the sausages to a plate, then add the onion and fennel to the hot pan and fry for 15 minutes, stirring once in a while, until soft and caramelised; if the pan goes a bit dry, add a teaspoon or so of extra oil. Stir in the paprika, garlic and half the fennel seeds, fry for two minutes more, then pour on the wine and boil for 30 seconds, to reduce by half. Add the tomatoes, sugar, 100ml water, the seared sausage and half a teaspoon of salt, cover and simmer for 30 minutes; remove the lid after 10 minutes, and cook until the sauce is thick and rich. Remove from the heat, stir through the olives and remaining fennel seeds and set aside until you’re ready to serve.\\r\\n\\r\\nBring a large pot of salted water to a boil, add the pasta and cook for 12-14 minutes (or according to the instructions on the packet), until al dente. Meanwhile, reheat the sauce. Drain the pasta, return it to the pot, stir in a tablespoon of oil, then divide between the bowls. \\r\\n\\r\\nPut all the pesto ingredients except the basil in the small bowl of a food processor. Add a tablespoon of water and blitz to a rough paste. Add the basil, then blitz until just combined (the pesto has a much better texture if the basil is not overblended).\\r\\n\\r\\nSpoon over the ragù and top with a spoonful of pesto. Finish with a sprinkling of chopped fennel fronds, if you have any, and serve at once.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/qtqvys1468573168.jpg\",\n    \"strTags\": \"Pasta\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=45dpOfESxr8\",\n    \"strIngredient1\": \"olive oil\",\n    \"strIngredient2\": \"Italian fennel sausages\",\n    \"strIngredient3\": \"onion\",\n    \"strIngredient4\": \"fennel bulb\",\n    \"strIngredient5\": \"smoky paprika\",\n    \"strIngredient6\": \"garlic\",\n    \"strIngredient7\": \"fennel seeds\",\n    \"strIngredient8\": \"red wine\",\n    \"strIngredient9\": \"chopped tomatoes\",\n    \"strIngredient10\": \"caster sugar\",\n    \"strIngredient11\": \"pitted black olives\",\n    \"strIngredient12\": \"rigatoni\",\n    \"strIngredient13\": \"pecorino\",\n    \"strIngredient14\": \"anchovy fillet\",\n    \"strIngredient15\": \"garlic\",\n    \"strIngredient16\": \"olive oil\",\n    \"strIngredient17\": \"basil leaves\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2½ tbsp\",\n    \"strMeasure2\": \"6 cut into 1.5cm-thick slices\",\n    \"strMeasure3\": \"1 large peeled and chopped\",\n    \"strMeasure4\": \"1 trimmed and roughly chopped; reserve any fronds to garnish\",\n    \"strMeasure5\": \"½ tsp\",\n    \"strMeasure6\": \"1 clove, peeled and sliced\",\n    \"strMeasure7\": \"2 tsp lightly toasted and then gently crushed\",\n    \"strMeasure8\": \"100ml\",\n    \"strMeasure9\": \"400g tinned\",\n    \"strMeasure10\": \"½ tsp\",\n    \"strMeasure11\": \"50g cut in half lengthways\",\n    \"strMeasure12\": \"500g\",\n    \"strMeasure13\": \"30g roughly crumbled into 0.5cm pieces\",\n    \"strMeasure14\": \"1  rinsed and patted dry\",\n    \"strMeasure15\": \"1 clove, peeled and crushed\",\n    \"strMeasure16\": \"60ml\",\n    \"strMeasure17\": \"50g torn\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.ottolenghi.co.uk/recipes/meat/rigatoni-with-fennel-sausage-sauce-and-pecorino-and-anchovy-pesto-shop\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 141\n  },\n  {\n    \"idMeal\": \"52786\",\n    \"strMeal\": \"Rocky Road Fudge\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"Line an 8-inch-square baking pan with wax paper or foil, and coat with non-stick spray.\\r\\nPour ½ cup of the miniature marshmallows into the bottom of the lined baking dish.\\r\\nIn a microwave-safe bowl, combine the chocolate chips and peanut butter. Microwave the chocolate mixture in 20-second intervals, stirring in between each interval, until the chocolate is melted.\\r\\nAdd the vanilla extract and stir well, until smooth.\\r\\nReserve 2 tablespoons of the chopped almonds or peanuts, and set aside.\\r\\nFold 1 ½ cups of the miniature marshmallows and the remaining chopped nuts into the chocolate mixture.\\r\\nTransfer the chocolate mixture into the prepared pan and spread into an even layer. Immediately top with the reserved chopped nuts and the mallow bits or additional miniature marshmallows, if using.\\r\\nRefrigerate for 4 hours, or until set.\\r\\nRemove the fudge and wax paper from the pan. Carefully peel all of wax paper from the fudge.\\r\\nCut the fudge into bite-sized pieces and serve.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/vtxyxv1483567157.jpg\",\n    \"strTags\": \"Chocolate,Snack,Sweet,Baking\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=N1aJ3nEYXyg\",\n    \"strIngredient1\": \"Miniature Marshmallows\",\n    \"strIngredient2\": \"Chocolate Chips\",\n    \"strIngredient3\": \"Peanut Butter\",\n    \"strIngredient4\": \"Vanilla Extract\",\n    \"strIngredient5\": \"Peanuts\",\n    \"strIngredient6\": \"\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 cups\",\n    \"strMeasure2\": \"3 cups\",\n    \"strMeasure3\": \"½ cup\",\n    \"strMeasure4\": \"1 tsp\",\n    \"strMeasure5\": \"1 ¼ cups\",\n    \"strMeasure6\": \"\",\n    \"strMeasure7\": \"\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://tiphero.com/rocky-road-fudge/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 142\n  },\n  {\n    \"idMeal\": \"52809\",\n    \"strMeal\": \"Recheado Masala Fish\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"Indian\",\n    \"strInstructions\": \"Soak all the spices, ginger, garlic, tamarind pulp and kashmiri chilies except oil in vinegar.\\r\\nAdd sugar and salt.\\r\\nAlso add turmeric powder.\\r\\nCombine all nicely and marinate for 35-40 mins.\\r\\nGrind the mixture until soft and smooth. Add more vinegar if required but ensure the paste has to be thick so add vinegar accordingly. If the masala paste is thin then it would not stick to the fish.\\r\\nRinse the fish slit from the center and give some incision from the top. You could see the fish below for clarity.\\r\\nNow stuff the paste into the center and into the incision. Coat the entire fish with this paste. Marinate the fish for 30 mins.\\r\\nPlace oil in a shallow pan, once oil is quite hot shallow fry the stuffed mackerels.\\r\\nFry until golden brown from both sides\\r\\nServe the recheado mackerels hot with salad, lime wedges, rice and curry.\\r\\nNotes\\r\\n1. Ensure the masala paste is thick else the result won't be good.\\r\\n2. If you aren't able to find kashmiri chilies then use bedgi chilies or kashmiri red chili powder.\\r\\n3. You could use white vinegar or coconut vinegar.\\r\\n4. Any left over paste could be stored in the fridge for future use.\\r\\n5. Cinnamon could be avoided as it's a strong spice used generally for meat or chicken.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/uwxusv1487344500.jpg\",\n    \"strTags\": \"Fish,Spicy\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=FXtCris37nE\",\n    \"strIngredient1\": \"Mackerel\",\n    \"strIngredient2\": \"Red Chili\",\n    \"strIngredient3\": \"Ginger\",\n    \"strIngredient4\": \"Garlic\",\n    \"strIngredient5\": \"Pepper\",\n    \"strIngredient6\": \"Cumin\",\n    \"strIngredient7\": \"Turmeric\",\n    \"strIngredient8\": \"Cinnamon stick\",\n    \"strIngredient9\": \"Clove\",\n    \"strIngredient10\": \"Cardamom\",\n    \"strIngredient11\": \"Sugar\",\n    \"strIngredient12\": \"Tamarind ball\",\n    \"strIngredient13\": \"Vinegar\",\n    \"strIngredient14\": \"Oil\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"4\",\n    \"strMeasure2\": \"18 dried\",\n    \"strMeasure3\": \"1 inch\",\n    \"strMeasure4\": \"8 cloves\",\n    \"strMeasure5\": \"1.5 tsp\",\n    \"strMeasure6\": \"1 tsp\",\n    \"strMeasure7\": \"½ tsp\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"4\",\n    \"strMeasure10\": \"2\",\n    \"strMeasure11\": \"1 tbsp\",\n    \"strMeasure12\": \"2 marble sized\",\n    \"strMeasure13\": \"2.5 tbsp\",\n    \"strMeasure14\": \"for frying\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.flavorsofmumbai.com/fish-recheado-masala-recipe/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 143\n  },\n  {\n    \"idMeal\": \"52811\",\n    \"strMeal\": \"Ribollita\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Italian\",\n    \"strInstructions\": \"Put 2 tablespoons of the oil in a large pot over medium heat. When it’s hot, add onion, carrot, celery and garlic; sprinkle with salt and pepper and cook, stirring occasionally, until vegetables are soft, 5 to 10 minutes.\\r\\nHeat the oven to 500 degrees. Drain the beans; if they’re canned, rinse them as well. Add them to the pot along with tomatoes and their juices and stock, rosemary and thyme. Bring to a boil, then reduce heat so the soup bubbles steadily; cover and cook, stirring once or twice to break up the tomatoes, until the flavors meld, 15 to 20 minutes.\\r\\nFish out and discard rosemary and thyme stems, if you like, and stir in kale. Taste and adjust seasoning. Lay bread slices on top of the stew so they cover the top and overlap as little as possible. Scatter red onion slices over the top, drizzle with the remaining 3 tablespoons oil and sprinkle with Parmesan.\\r\\nPut the pot in the oven and bake until the bread, onions and cheese are browned and crisp, 10 to 15 minutes. (If your pot fits under the broiler, you can also brown the top there.) Divide the soup and bread among 4 bowls and serve.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/xrrwpx1487347049.jpg\",\n    \"strTags\": \"Vegetarian\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=BiQUYTBb6eQ\",\n    \"strIngredient1\": \"Olive Oil\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Carrot\",\n    \"strIngredient4\": \"Celery\",\n    \"strIngredient5\": \"Garlic\",\n    \"strIngredient6\": \"Cannellini Beans\",\n    \"strIngredient7\": \"Canned tomatoes\",\n    \"strIngredient8\": \"Water\",\n    \"strIngredient9\": \"Rosemary\",\n    \"strIngredient10\": \"Thyme\",\n    \"strIngredient11\": \"Kale\",\n    \"strIngredient12\": \"Wholegrain Bread\",\n    \"strIngredient13\": \"Red Onion\",\n    \"strIngredient14\": \"Parmesan\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"5 tablespoons\",\n    \"strMeasure2\": \"1 chopped\",\n    \"strMeasure3\": \"1 chopped\",\n    \"strMeasure4\": \"1 stalk chopped\",\n    \"strMeasure5\": \"1 tablespoon minced\",\n    \"strMeasure6\": \"2 cups\",\n    \"strMeasure7\": \"1\",\n    \"strMeasure8\": \"4 cups\",\n    \"strMeasure9\": \"1 fresh sprig\",\n    \"strMeasure10\": \"1 fresh sprig\",\n    \"strMeasure11\": \"1 pound chopped\",\n    \"strMeasure12\": \"4 thick slices\",\n    \"strMeasure13\": \"1 thinly sliced\",\n    \"strMeasure14\": \"½ cup freshly grated\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://cooking.nytimes.com/recipes/1016052-ribollita\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 144\n  },\n  {\n    \"idMeal\": \"52816\",\n    \"strMeal\": \"Roasted Eggplant With Tahini, Pine Nuts, and Lentils\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"\\r\\nFor the Lentils: Adjust oven rack to center position and preheat oven to 450°F to prepare for roasting eggplant. Meanwhile, heat 2 tablespoons olive oil in a medium saucepan over medium heat until shimmering. Add carrots, celery, and onion and cook, stirring, until softened but not browned, about 4 minutes. Add garlic and cook, stirring, until fragrant, about 30 seconds. Add lentils, bay leaves, stock or water, and a pinch of salt. Bring to a simmer, cover with the lid partially ajar, and cook until lentils are tender, about 30 minutes. (Top up with water if lentils are at any point not fully submerged.) Remove lid, stir in vinegar, and reduce until lentils are moist but not soupy. Season to taste with salt and pepper, cover, and keep warm until ready to serve.\\r\\n\\r\\n2.\\r\\nFor the Eggplant: While lentils cook, cut each eggplant in half. Score flesh with the tip of a paring knife in a cross-hatch pattern at 1-inch intervals. Transfer to a foil-lined rimmed baking sheet, cut side up, and brush each eggplant half with 1 tablespoon oil, letting each brushstroke be fully absorbed before brushing with more. Season with salt and pepper. Place a rosemary sprig on top of each one. Transfer to oven and roast until completely tender and well charred, 25 to 35 minutes. Remove from oven and discard rosemary.\\r\\n\\r\\n3.\\r\\nTo Serve: Heat 2 tablespoons olive oil and pine nuts in a medium skillet set over medium heat. Cook, tossing nuts frequently, until golden brown and aromatic, about 4 minutes. Transfer to a bowl to halt cooking. Stir half of parsley and rosemary into lentils and transfer to a serving platter. Arrange eggplant halves on top. Spread a few tablespoons of tahini sauce over each eggplant half and sprinkle with pine nuts. Sprinkle with remaining parsley and rosemary, drizzle with additional olive oil, and serve.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/ysqrus1487425681.jpg\",\n    \"strTags\": \"Vegetarian,Pulse,Nutty\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=HkywCtna9t0\",\n    \"strIngredient1\": \"Olive Oil\",\n    \"strIngredient2\": \"Carrots\",\n    \"strIngredient3\": \"Celery\",\n    \"strIngredient4\": \"Onion\",\n    \"strIngredient5\": \"Garlic\",\n    \"strIngredient6\": \"Brown Lentils\",\n    \"strIngredient7\": \"Bay Leaves\",\n    \"strIngredient8\": \"Water\",\n    \"strIngredient9\": \"Salt\",\n    \"strIngredient10\": \"Apple Cider Vinegar\",\n    \"strIngredient11\": \"Pepper\",\n    \"strIngredient12\": \"Egg Plants\",\n    \"strIngredient13\": \"Rosemary\",\n    \"strIngredient14\": \"Pine nuts\",\n    \"strIngredient15\": \"Parsley\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 tablespoons\",\n    \"strMeasure2\": \"2 small cut into chunks\",\n    \"strMeasure3\": \"2 small stalks\",\n    \"strMeasure4\": \"1 medium finely diced\",\n    \"strMeasure5\": \"6 medium cloves sliced\",\n    \"strMeasure6\": \"12 ounces (340g)\",\n    \"strMeasure7\": \"2\",\n    \"strMeasure8\": \"4 cups\",\n    \"strMeasure9\": \"Pinch\",\n    \"strMeasure10\": \"2 teaspoons (10ml)\",\n    \"strMeasure11\": \"Pinch\",\n    \"strMeasure12\": \"2 large\",\n    \"strMeasure13\": \"4 sprigs\",\n    \"strMeasure14\": \"1/4 cup \",\n    \"strMeasure15\": \"2 tablespoons\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.seriouseats.com/recipes/2016/03/roasted-eggplant-tahini-pine-nut-lentil-vegan-experience-recipe.html\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 145\n  },\n  {\n    \"idMeal\": \"52901\",\n    \"strMeal\": \"Rock Cakes\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Preheat oven to 180C/350F/Gas 4 and line a baking tray with baking parchment.\\r\\nMix the flour, sugar and baking powder in a bowl and rub in the cubed butter until the mixture looks like breadcrumbs, then mix in the dried fruit.\\r\\nIn a clean bowl, beat the egg and milk together with the vanilla extract.\\r\\nAdd the egg mixture to the dry ingredients and stir with a spoon until the mixture just comes together as a thick, lumpy dough. Add a teaspoon more milk if you really need it to make the mixture stick together.\\r\\nPlace golfball-sized spoons of the mixture onto the prepared baking tray. Leave space between them as they will flatten and spread out to double their size during baking.\\r\\nBake for 15-20 minutes, until golden-brown. Remove from the oven, allow to cool for a couple of minutes then turn them out onto a wire rack to cool.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/tqrrsq1511723764.jpg\",\n    \"strTags\": \"Baking,Cake\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=tY3taZO3Aro\",\n    \"strIngredient1\": \"Self-raising Flour\",\n    \"strIngredient2\": \"Caster Sugar\",\n    \"strIngredient3\": \"Baking Powder\",\n    \"strIngredient4\": \"Butter\",\n    \"strIngredient5\": \"Dried Fruit\",\n    \"strIngredient6\": \"Eggs\",\n    \"strIngredient7\": \"Milk\",\n    \"strIngredient8\": \"Vanilla Extract\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"225g\",\n    \"strMeasure2\": \"75g\",\n    \"strMeasure3\": \"1 tsp \",\n    \"strMeasure4\": \"125g\",\n    \"strMeasure5\": \"150g\",\n    \"strMeasure6\": \"1\",\n    \"strMeasure7\": \"1 tbs\",\n    \"strMeasure8\": \"2 tsp\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbc.co.uk/food/recipes/rock_cakes_03094\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 146\n  },\n  {\n    \"idMeal\": \"52908\",\n    \"strMeal\": \"Ratatouille\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Cut the aubergines in half lengthways. Place them on the board, cut side down, slice in half lengthways again and then across into 1.5cm chunks. Cut off the courgettes ends, then across into 1.5cm slices. Peel the peppers from stalk to bottom. Hold upright, cut around the stalk, then cut into 3 pieces. Cut away any membrane, then chop into bite-size chunks.\\r\\nScore a small cross on the base of each tomato, then put them into a heatproof bowl. Pour boiling water over the tomatoes, leave for 20 secs, then remove. Pour the water away, replace the tomatoes and cover with cold water. Leave to cool, then peel the skin away. Quarter the tomatoes, scrape away the seeds with a spoon, then roughly chop the flesh.\\r\\nSet a sauté pan over medium heat and when hot, pour in 2 tbsp olive oil. Brown the aubergines for 5 mins on each side until the pieces are soft. Set them aside and fry the courgettes in another tbsp oil for 5 mins, until golden on both sides. Repeat with the peppers. Don’t overcook the vegetables at this stage, as they have some more cooking left in the next step.\\r\\nTear up the basil leaves and set aside. Cook the onion in the pan for 5 mins. Add the garlic and fry for a further min. Stir in the vinegar and sugar, then tip in the tomatoes and half the basil. Return the vegetables to the pan with some salt and pepper and cook for 5 mins. Serve with basil.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wrpwuu1511786491.jpg\",\n    \"strTags\": \"Vegetables,SideDish\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=BFdQUgAFtGU\",\n    \"strIngredient1\": \"Aubergine\",\n    \"strIngredient2\": \"Courgettes\",\n    \"strIngredient3\": \"Yellow Pepper\",\n    \"strIngredient4\": \"Tomato\",\n    \"strIngredient5\": \"Olive Oil\",\n    \"strIngredient6\": \"Basil\",\n    \"strIngredient7\": \"Onion\",\n    \"strIngredient8\": \"Garlic Clove\",\n    \"strIngredient9\": \"Red Wine Vinegar\",\n    \"strIngredient10\": \"Sugar\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 large\",\n    \"strMeasure2\": \"4\",\n    \"strMeasure3\": \"2\",\n    \"strMeasure4\": \"4 large\",\n    \"strMeasure5\": \"5 tbs\",\n    \"strMeasure6\": \"Bunch\",\n    \"strMeasure7\": \"1 medium\",\n    \"strMeasure8\": \"3 finely chopped\",\n    \"strMeasure9\": \"1 tsp \",\n    \"strMeasure10\": \"1 tsp \",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/2903/ratatouille\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 147\n  },\n  {\n    \"idMeal\": \"52933\",\n    \"strMeal\": \"Rappie Pie\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Canadian\",\n    \"strInstructions\": \"Preheat oven to 400 degrees F (200 degrees C). Grease a 10x14x2-inch baking pan.\\r\\nHeat margarine in a skillet over medium heat; stir in onion. Cook and stir until onion has softened and turned translucent, about 5 minutes. Reduce heat to low and continue to cook and stir until onion is very tender and dark brown, about 40 minutes more.\\r\\nBring chicken broth to a boil in a large pot; stir in chicken breasts, reduce heat, and simmer until chicken is no longer pink at the center, about 20 minutes. Remove from heat. Remove chicken breasts to a plate using a slotted spoon; reserve broth.\\r\\nJuice potatoes with an electric juicer; place dry potato flesh into a bowl and discard juice. Stir salt and pepper into potatoes; stir in enough reserved broth to make the mixture the consistency of oatmeal. Set remaining broth aside.\\r\\nSpread half of potato mixture evenly into the prepared pan. Lay cooked chicken breast evenly over potatoes; scatter caramelized onion evenly over chicken. Spread remaining potato mixture over onions and chicken to cover.\\r\\nBake in the preheated oven until golden brown, about 1 hour. Reheat chicken broth; pour over individual servings as desired.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/ruwpww1511817242.jpg\",\n    \"strTags\": \"Pie\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=Ys2kZnTVXAM\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Onions\",\n    \"strIngredient3\": \"Chicken Stock\",\n    \"strIngredient4\": \"Chicken Breast\",\n    \"strIngredient5\": \"Potatoes\",\n    \"strIngredient6\": \"Salt\",\n    \"strIngredient7\": \"Black Pepper\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 tbs\",\n    \"strMeasure2\": \"2 chopped\",\n    \"strMeasure3\": \"4 qt \",\n    \"strMeasure4\": \"1.5kg\",\n    \"strMeasure5\": \"4kg\",\n    \"strMeasure6\": \"2 tbs\",\n    \"strMeasure7\": \"1tbsp\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://allrecipes.com/recipe/234025/rappie-pie/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 148\n  },\n  {\n    \"idMeal\": \"52941\",\n    \"strMeal\": \"Red Peas Soup\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Jamaican\",\n    \"strInstructions\": \"Wash and rinse the dried kidney beans.. then cover with water in a deep bowl. Remember as they soak they will expand to at least triple the size they were originally so add a lot of water to the bowl. Soak them overnight or for at least 2 hrs to make the cooking step go quicker. I tossed out the water they were soaked in after it did the job.\\r\\n\\r\\nHave your butcher cut the salted pigtail into 2 inch pieces as it will be very difficult to cut with an ordinary kitchen knife. Wash, then place a deep pot with water and bring to a boil. Cook for 20 minutes, then drain + rinse and repeat (boil again in water). The goal is to make the pieces of pig tails tender and to remove most of the salt it was cured in.\\r\\n\\r\\nTime to start the soup. Place everything in the pot (except the flour and potato), then cover with water and place on a high flame to bring to a boil. As it comes to a boil, skim off any scum/froth at the top and discard. Reduce the heat to a gentle boil and allow it to cook for 1 hr and 15 mins.. basically until the beans are tender and start falling apart.\\r\\n\\r\\nIt’s now time to add the potato (and Yams etc if you’re adding it) as well as the coconut milk and continue cooking for 15 minutes.\\r\\n\\r\\nNow is a good time to start making the basic dough for the spinner dumplings. Mix the flour and water (add a pinch of salt if you want) until you have a soft/smooth dough. allow it to rest for 5 minutes, then pinch of a tablespoon at a time and roll between your hands to form a cigarette shape.\\r\\n\\r\\nAdd them to the pot, stir well and continue cooking for another 15 minutes on a rolling boil.\\r\\n\\r\\nYou’ll notice that I didn’t add any salt to the pot as the remaining salt from the salted pigtails will be enough to properly season this dish. However you can taste and adjust accordingly. Lets recap the timing part of things so you’re not confused. Cook the base of the soup for 1 hr and 15 minute or until tender, then add the potatoes and cook for 15 minutes, then add the dumplings and cook for a further 15 minutes. Keep in mind that this soup will thicken quite a bit as it cools.\\r\\n\\r\\nWhile this is not a traditional recipe to any one specific island, versions of this soup (sometimes called stewed peas) can be found throughout the Caribbean, Latin America and Africa. A hearty bowl of this soup will surely give you the sleepies (some may call it ethnic fatigue). You can certainly freeze the leftovers and heat it up another day.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/sqpqtp1515365614.jpg\",\n    \"strTags\": \"Soup,SideDish\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=1ogCfDXotMw\",\n    \"strIngredient1\": \"Kidney Beans\",\n    \"strIngredient2\": \"Carrots\",\n    \"strIngredient3\": \"Spring Onions\",\n    \"strIngredient4\": \"Thyme\",\n    \"strIngredient5\": \"Onion\",\n    \"strIngredient6\": \"Black Pepper\",\n    \"strIngredient7\": \"Red Pepper\",\n    \"strIngredient8\": \"Garlic Clove\",\n    \"strIngredient9\": \"Allspice\",\n    \"strIngredient10\": \"Beef\",\n    \"strIngredient11\": \"Water\",\n    \"strIngredient12\": \"Potatoes\",\n    \"strIngredient13\": \"Plain Flour\",\n    \"strIngredient14\": \"Water\",\n    \"strIngredient15\": \"Coconut Milk\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 cups \",\n    \"strMeasure2\": \"1 large\",\n    \"strMeasure3\": \"2 chopped\",\n    \"strMeasure4\": \"4 sprigs\",\n    \"strMeasure5\": \"1 Diced\",\n    \"strMeasure6\": \"1/2 tsp\",\n    \"strMeasure7\": \"2 chopped\",\n    \"strMeasure8\": \"4 Mashed\",\n    \"strMeasure9\": \"1 tbs\",\n    \"strMeasure10\": \"2 Lbs\",\n    \"strMeasure11\": \"2L\",\n    \"strMeasure12\": \"4\",\n    \"strMeasure13\": \"1 cup \",\n    \"strMeasure14\": \"1/4 cup\",\n    \"strMeasure15\": \"1 cup \",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://caribbeanpot.com/caribbean-red-peas-soup/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 149\n  },\n  {\n    \"idMeal\": \"52942\",\n    \"strMeal\": \"Roast fennel and aubergine paella\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegan\",\n    \"strArea\": \"Spanish\",\n    \"strInstructions\": \"1 Put the fennel, aubergine, pepper and courgette in a roasting tray. Add a glug of olive oil, season with salt and pepper and toss around to coat the veggies in the oil. Roast in the oven for 20 minutes, turning a couple of times until the veg are pretty much cooked through and turning golden.\\r\\n\\r\\n2 Meanwhile, heat a paella pan or large frying pan over a low– medium heat and add a glug of olive oil. Sauté the onion for 8–10 minutes until softened. Increase the heat to medium and stir in the rice, paprika and saffron. Cook for around 1 minute to start toasting the rice, then add the white wine. Reduce by about half before stirring in two-thirds of the stock. Reduce to a simmer and cook for 10 minutes without a lid, stirring a couple of times.\\r\\n\\r\\n3 Stir in the peas, add some seasoning, then gently mix in the roasted veg. Pour over the remaining stock, arrange the lemon wedges on top and cover with a lid or some aluminium foil. Cook for a further 10 minutes.\\r\\n\\r\\n4 To ensure you get the classic layer of toasted rice at the bottom of the pan, increase the heat to high until you hear a slight crackle. Remove from the heat and sit for 5 minutes before sprinkling over the parsley and serving.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1520081754.jpg\",\n    \"strTags\": \"Vegan,Paella\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=H5SmjR-fxUs\",\n    \"strIngredient1\": \"Baby Aubergine\",\n    \"strIngredient2\": \"Fennel\",\n    \"strIngredient3\": \"Red Pepper\",\n    \"strIngredient4\": \"Courgettes\",\n    \"strIngredient5\": \"Onion\",\n    \"strIngredient6\": \"Paella Rice\",\n    \"strIngredient7\": \"Paprika\",\n    \"strIngredient8\": \"Saffron\",\n    \"strIngredient9\": \"White Wine\",\n    \"strIngredient10\": \"Vegetable Stock\",\n    \"strIngredient11\": \"Frozen Peas\",\n    \"strIngredient12\": \"Lemon\",\n    \"strIngredient13\": \"Parsley\",\n    \"strIngredient14\": \"Salt\",\n    \"strIngredient15\": \"Black Pepper\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"6 small\",\n    \"strMeasure2\": \"4 small\",\n    \"strMeasure3\": \"1 thinly sliced\",\n    \"strMeasure4\": \"1 medium\",\n    \"strMeasure5\": \"1 finely chopped \",\n    \"strMeasure6\": \"300g\",\n    \"strMeasure7\": \"1 tsp \",\n    \"strMeasure8\": \"pinch\",\n    \"strMeasure9\": \"200ml\",\n    \"strMeasure10\": \"700ml\",\n    \"strMeasure11\": \"100g \",\n    \"strMeasure12\": \"1 chopped\",\n    \"strMeasure13\": \"Handful\",\n    \"strMeasure14\": \"pinch\",\n    \"strMeasure15\": \"pinch\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.homestylemag.co.uk/recipe/517/main-courses/roast-fennel-and-aubergine-paella\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 150\n  },\n  {\n    \"idMeal\": \"53020\",\n    \"strMeal\": \"Rosół (Polish Chicken Soup)\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Polish\",\n    \"strInstructions\": \"Add chicken to a large Dutch oven or stock pot \\r\\nCover with water\\r\\nBring to a boil and simmer for 2 to 2 1/2 hours, skimming any impurities off the top to insure a clear broth\\r\\nIf your pot is big enough, add the vegetables and spices for the last hour of the cooking time\\r\\nMy Dutch oven wasn’t big enough to hold everything, just the chicken and other bones filled the pot, so I cooked the meat/bones for the full cooking time, then removed them, and cooked the vegetables and spices separately\\r\\nStrain everything out of the broth\\r\\nBone the chicken, pulling the meat into large chunks\\r\\nSlice the carrots\\r\\nReturn the chicken and carrots to the broth\\r\\nCook noodles according to package instructions if you’re using them\\r\\nAdd noodles to bowl and then top with hot soup\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/lx1kkj1593349302.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=AU60fxyxXGw\",\n    \"strIngredient1\": \"Chicken Legs\",\n    \"strIngredient2\": \"Onions\",\n    \"strIngredient3\": \"Carrots\",\n    \"strIngredient4\": \"Leek\",\n    \"strIngredient5\": \"Celery\",\n    \"strIngredient6\": \"Cabbage\",\n    \"strIngredient7\": \"Cloves\",\n    \"strIngredient8\": \"Allspice\",\n    \"strIngredient9\": \"Bay Leaf\",\n    \"strIngredient10\": \"Parsley\",\n    \"strIngredient11\": \"Dill\",\n    \"strIngredient12\": \"Pepper\",\n    \"strIngredient13\": \"Salt\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"4 Chopped\",\n    \"strMeasure2\": \"2 large\",\n    \"strMeasure3\": \"5 chopped\",\n    \"strMeasure4\": \"1 chopped\",\n    \"strMeasure5\": \"1 small\",\n    \"strMeasure6\": \"1/4 \",\n    \"strMeasure7\": \"1 whole\",\n    \"strMeasure8\": \"1tsp\",\n    \"strMeasure9\": \"2\",\n    \"strMeasure10\": \"4 sprigs\",\n    \"strMeasure11\": \"4 sprigs\",\n    \"strMeasure12\": \"1 tsp \",\n    \"strMeasure13\": \"1 tbs\",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://polishhousewife.com/rosol-polish-chicken-soup/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 151\n  },\n  {\n    \"idMeal\": \"53024\",\n    \"strMeal\": \"Rogaliki (Polish Croissant Cookies)\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"Polish\",\n    \"strInstructions\": \"In a medium bowl mix egg yolks, philly cheese and baking powder using a hand held mixer. Carefully start adding the flour. When the mixture will not be mixing well, and will look like wood chips, put away the blending mixer and using your hands knead the dough.\\r\\nCreate a roll and cover in foil and freeze for 15 minutes. At this time preheat the oven to 375.\\r\\nTake the dough out and separate into two. Roll and cut out 3 inch trangles.\\r\\nMake as many as you can and on centre of each put a small spoon of jam. Roll them into a croissant shape.\\r\\nPlace the croissants onto a greased cookie sheet, and bake for 10-12 minutes or until golden.\\r\\nRepeat with the rest of the dough.\\r\\nWhen you take them out, put aside and sprinkle with powdered sugar on top.\\r\\nThis makes about 3 batches of 20 cookies each.\\r\\nTotal count about 60 cookies.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/7mxnzz1593350801.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=VAR10T9mfhU\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Egg Yolks\",\n    \"strIngredient3\": \"Cream Cheese\",\n    \"strIngredient4\": \"Baking Powder\",\n    \"strIngredient5\": \"Flour\",\n    \"strIngredient6\": \"Jam\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 cup \",\n    \"strMeasure2\": \"3\",\n    \"strMeasure3\": \"8 oz \",\n    \"strMeasure4\": \"1 tsp \",\n    \"strMeasure5\": \"3 cups \",\n    \"strMeasure6\": \"1 Jar\",\n    \"strMeasure7\": \" \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.food.com/recipe/rogaliki-polish-croissant-cookies-with-jam-filling-200668\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 152\n  },\n  {\n    \"idMeal\": \"53052\",\n    \"strMeal\": \"Roti john\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Malaysian\",\n    \"strInstructions\": \"Mix all the ingredients in a bowl.\\r\\nHeat a pan or griddle with a little vegetable oil.\\r\\nPour the mixture onto the pan and place a piece of open-faced baguette on top.\\r\\nPress on the bread with a spatula and grill for 2 minutes.\\r\\nTurn the bread over to make it a little crispy.\\r\\nRemove from pan and cut the bread into small portions.\\r\\nAdd mayonnaise and/or Sambal before cutting the sandwich (optional).\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/hx335q1619789561.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=cl4YH8wblRs\",\n    \"strIngredient1\": \"Minced Beef\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Eggs\",\n    \"strIngredient4\": \"Chilli\",\n    \"strIngredient5\": \"Baguette\",\n    \"strIngredient6\": \"Salt\",\n    \"strIngredient7\": \"Pepper\",\n    \"strIngredient8\": \"Mayonnaise\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1/4 lb\",\n    \"strMeasure2\": \"1\",\n    \"strMeasure3\": \"3\",\n    \"strMeasure4\": \"1 tbs\",\n    \"strMeasure5\": \"1/2 \",\n    \"strMeasure6\": \"To taste\",\n    \"strMeasure7\": \"To taste\",\n    \"strMeasure8\": \"Top\",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.196flavors.com/malaysia-roti-john/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 153\n  },\n  {\n    \"idMeal\": \"52781\",\n    \"strMeal\": \"Irish stew\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Irish\",\n    \"strInstructions\": \"Heat the oven to 180C/350F/gas mark 4. Drain and rinse the soaked wheat, put it in a medium pan with lots of water, bring to a boil and simmer for an hour, until cooked. Drain and set aside.\\r\\n\\r\\nSeason the lamb with a teaspoon of salt and some black pepper. Put one tablespoon of oil in a large, deep sauté pan for which you have a lid; place on a medium-high heat. Add some of the lamb – don't overcrowd the pan – and sear for four minutes on all sides. Transfer to a bowl, and repeat with the remaining lamb, adding oil as needed.\\r\\n\\r\\nLower the heat to medium and add a tablespoon of oil to the pan. Add the shallots and fry for four minutes, until caramelised. Tip these into the lamb bowl, and repeat with the remaining vegetables until they are all nice and brown, adding more oil as you need it.\\r\\n\\r\\nOnce all the vegetables are seared and removed from the pan, add the wine along with the sugar, herbs, a teaspoon of salt and a good grind of black pepper. Boil on a high heat for about three minutes.\\r\\n\\r\\nTip the lamb, vegetables and whole wheat back into the pot, and add the stock. Cover and boil for five minutes, then transfer to the oven for an hour and a half.\\r\\n\\r\\nRemove the stew from the oven and check the liquid; if there is a lot, remove the lid and boil for a few minutes.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/sxxpst1468569714.jpg\",\n    \"strTags\": \"Stew,Meat\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=kYH2qJXnSMo\",\n    \"strIngredient1\": \"whole wheat\",\n    \"strIngredient2\": \"lamb loin chops\",\n    \"strIngredient3\": \"olive oil\",\n    \"strIngredient4\": \"shallots\",\n    \"strIngredient5\": \"carrots\",\n    \"strIngredient6\": \"turnips\",\n    \"strIngredient7\": \"celeriac\",\n    \"strIngredient8\": \"charlotte potatoes\",\n    \"strIngredient9\": \"white wine\",\n    \"strIngredient10\": \"caster sugar\",\n    \"strIngredient11\": \"fresh thyme\",\n    \"strIngredient12\": \"oregano\",\n    \"strIngredient13\": \"chicken stock\",\n    \"strIngredient14\": null,\n    \"strIngredient15\": null,\n    \"strIngredient16\": null,\n    \"strIngredient17\": null,\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"300g soaked overnight in water\",\n    \"strMeasure2\": \"2kg cut into 3cm cubes\",\n    \"strMeasure3\": \"120ml\",\n    \"strMeasure4\": \"24 Skinned\",\n    \"strMeasure5\": \"4 large\",\n    \"strMeasure6\": \"2\",\n    \"strMeasure7\": \"1\",\n    \"strMeasure8\": \"350g\",\n    \"strMeasure9\": \"150ml\",\n    \"strMeasure10\": \"1 tsp\",\n    \"strMeasure11\": \"4 sprigs\",\n    \"strMeasure12\": \"4 sprigs\",\n    \"strMeasure13\": \"450ml\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": null,\n    \"strMeasure17\": null,\n    \"strMeasure18\": null,\n    \"strMeasure19\": null,\n    \"strMeasure20\": null,\n    \"strSource\": \"http://www.ottolenghi.co.uk/recipes/meat/irish-stew-shop\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 154\n  },\n  {\n    \"idMeal\": \"52777\",\n    \"strMeal\": \"Mediterranean Pasta Salad\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"Italian\",\n    \"strInstructions\": \"Bring a large saucepan of salted water to the boil\\r\\nAdd the pasta, stir once and cook for about 10 minutes or as directed on the packet.\\r\\nMeanwhile, wash the tomatoes and cut into quarters. Slice the olives. Wash the basil.\\r\\nPut the tomatoes into a salad bowl and tear the basil leaves over them. Add a tablespoon of olive oil and mix.\\r\\nWhen the pasta is ready, drain into a colander and run cold water over it to cool it quickly.\\r\\nToss the pasta into the salad bowl with the tomatoes and basil.\\r\\nAdd the sliced olives, drained mozzarella balls, and chunks of tuna. Mix well and let the salad rest for at least half an hour to allow the flavours to mingle.\\r\\nSprinkle the pasta with a generous grind of black pepper and drizzle with the remaining olive oil just before serving.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wvqpwt1468339226.jpg\",\n    \"strTags\": \"Pasta,Baking\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=e52IL8zYmaE\",\n    \"strIngredient1\": \"mozzarella balls\",\n    \"strIngredient2\": \"baby plum tomatoes\",\n    \"strIngredient3\": \"fresh basil\",\n    \"strIngredient4\": \"farfalle\",\n    \"strIngredient5\": \"extra virgin olive oil\",\n    \"strIngredient6\": \"Green Olives\",\n    \"strIngredient7\": \"tuna\",\n    \"strIngredient8\": \"salt\",\n    \"strIngredient9\": \"pepper\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": null,\n    \"strIngredient17\": null,\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"200 g\",\n    \"strMeasure2\": \"250 g\",\n    \"strMeasure3\": \"1  bunch\",\n    \"strMeasure4\": \"350 g\",\n    \"strMeasure5\": \"3  tablespoons\",\n    \"strMeasure6\": \"40 g\",\n    \"strMeasure7\": \"200 g\",\n    \"strMeasure8\": \"to taste\",\n    \"strMeasure9\": \"to taste\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": null,\n    \"strMeasure17\": null,\n    \"strMeasure18\": null,\n    \"strMeasure19\": null,\n    \"strMeasure20\": null,\n    \"strSource\": \"https://thelemonsqueezy.com/recipe/mediterranean-pasta-salad/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 155\n  },\n  {\n    \"idMeal\": \"52827\",\n    \"strMeal\": \"Massaman Beef curry\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Thai\",\n    \"strInstructions\": \"Heat oven to 200C/180C fan/gas 6, then roast the peanuts on a baking tray for 5 mins until golden brown. When cool enough to handle, roughly chop. Reduce oven to 180C/160C fan/gas 4.\\r\\nHeat 2 tbsp coconut cream in a large casserole dish with a lid. Add the curry paste and fry for 1 min, then stir in the beef and fry until well coated and sealed. Stir in the rest of the coconut with half a can of water, the potatoes, onion, lime leaves, cinnamon, tamarind, sugar, fish sauce and most of the peanuts. Bring to a simmer, then cover and cook for 2 hrs in the oven until the beef is tender.\\r\\nSprinkle with sliced chilli and the remaining peanuts, then serve straight from the dish with jasmine rice.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/tvttqv1504640475.jpg\",\n    \"strTags\": \"Curry\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=mVxgZSCU9_g\",\n    \"strIngredient1\": \"Peanuts\",\n    \"strIngredient2\": \"Coconut cream\",\n    \"strIngredient3\": \"Massaman curry paste\",\n    \"strIngredient4\": \"Beef\",\n    \"strIngredient5\": \"Potatoes\",\n    \"strIngredient6\": \"Onion\",\n    \"strIngredient7\": \"Lime\",\n    \"strIngredient8\": \"Cinnamon stick\",\n    \"strIngredient9\": \"Tamarind paste\",\n    \"strIngredient10\": \"Brown sugar\",\n    \"strIngredient11\": \"Fish Sauce\",\n    \"strIngredient12\": \"chilli\",\n    \"strIngredient13\": \"Jasmine Rice\",\n    \"strIngredient14\": null,\n    \"strIngredient15\": null,\n    \"strIngredient16\": null,\n    \"strIngredient17\": null,\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"85g\",\n    \"strMeasure2\": \"400ml can\",\n    \"strMeasure3\": \"4 tbsp\",\n    \"strMeasure4\": \"600g stewing cut into strips\",\n    \"strMeasure5\": \"450g waxy\",\n    \"strMeasure6\": \"1 cut thin wedges\",\n    \"strMeasure7\": \"4 leaves\",\n    \"strMeasure8\": \"1\",\n    \"strMeasure9\": \"1 tbsp\",\n    \"strMeasure10\": \"1 tbsp palm or soft light\",\n    \"strMeasure11\": \"1 tbsp\",\n    \"strMeasure12\": \"1 red deseeded and finely sliced, to serve\",\n    \"strMeasure13\": \"to serve\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/420631/beef-massaman-curry\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 156\n  },\n  {\n    \"idMeal\": \"52864\",\n    \"strMeal\": \"Mushroom & Chestnut Rotolo\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Soak the dried mushrooms in 350ml boiling water and set aside until needed. Blitz ¾ of the chestnuts with 150ml water until creamy. Roughly chop the remaining chestnuts.\\r\\nHeat 2 tbsp olive oil in a large non-stick frying pan. Fry the shallots with a pinch of salt until softened, then add the garlic, chopped chestnuts and rosemary, and fry for 2 mins more. Add the wild mushrooms, 2 tbsp oil and some seasoning. Cook for 3 mins until they begin to soften. Drain and roughly chop the dried mushrooms (reserve the soaking liquid), then add those too, along with the soy sauce, and fry for 2 mins more.\\r\\nWhisk the wine, reserved mushroom liquid and chestnut cream together to create a sauce. Season, then add half to the mushroom mixture in the pan and cook for 1 min until the sauce becomes glossy. Remove and discard the rosemary sprigs, then set the mixture aside.\\r\\nHeat oven to 180C/160C fan/gas 4. Bring a large pan of salted water to the boil and get a large bowl of ice water ready. Drop the lasagne sheets into the boiling water for 2 mins or until pliable and a little cooked, then immediately plunge them into the cold water. Using your fingers, carefully separate the sheets and transfer to a clean tea towel. Spread a good spoonful of the sauce on the bottom two thirds of each sheet, then, rolling away from yourself, roll up the shorter ends. Cut each roll in half, then position the rolls of pasta cut-side up in a pie dish that you are happy to serve from at the table. If you have any mushroom sauce remaining after you’ve rolled up all the sheets, simply push it into some of the exposed rolls of pasta.\\r\\nPour the rest of the sauce over the top of the pasta, then bake for 10 mins or until the pasta no longer has any resistance when tested with a skewer.\\r\\nMeanwhile, put the breadcrumbs, the last 2 tbsp olive oil, sage leaves and some seasoning in a bowl, and toss everything together. Scatter the rotolo with the crumbs and sage, then bake for another 10 mins, until the top is golden and the sage leaves are crispy. Leave to cool for 10 mins to allow the pasta to absorb the sauce, then drizzle with a little truffle oil, if you like, before taking your dish to the table.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/ssyqwr1511451678.jpg\",\n    \"strTags\": \"Vegetarian,Nutty\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=GNN7_ZSJ5YE\",\n    \"strIngredient1\": \"Mushrooms\",\n    \"strIngredient2\": \"Chestnuts\",\n    \"strIngredient3\": \"Challots\",\n    \"strIngredient4\": \"Garlic\",\n    \"strIngredient5\": \"Rosemary\",\n    \"strIngredient6\": \"Wild Mushrooms\",\n    \"strIngredient7\": \"Soy Sauce\",\n    \"strIngredient8\": \"White Wine\",\n    \"strIngredient9\": \"Lasagne Sheets\",\n    \"strIngredient10\": \"Breadcrumbs\",\n    \"strIngredient11\": \"Sage\",\n    \"strIngredient12\": \"Truffle Oil\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"30g\",\n    \"strMeasure2\": \"240g\",\n    \"strMeasure3\": \"3\",\n    \"strMeasure4\": \"3 cloves\",\n    \"strMeasure5\": \"3 sprigs\",\n    \"strMeasure6\": \"500g\",\n    \"strMeasure7\": \"2 tblsp \",\n    \"strMeasure8\": \"125ml \",\n    \"strMeasure9\": \"350g\",\n    \"strMeasure10\": \"4 tbsp\",\n    \"strMeasure11\": \"1/2 handful \",\n    \"strMeasure12\": \"to serve\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/mushroom-chestnut-rotolo\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 157\n  },\n  {\n    \"idMeal\": \"52865\",\n    \"strMeal\": \"Matar Paneer\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Indian\",\n    \"strInstructions\": \"Heat the oil in a frying pan over high heat until it’s shimmering hot. Add the paneer, then turn the heat down a little. Fry until it starts to brown at the edges, then turn it over and brown on each side – the paneer will brown faster than you think, so don’t walk away. Remove the paneer from the pan and drain on kitchen paper.\\r\\nPut the ginger, cumin, turmeric, ground coriander and chilli in the pan, and fry everything for 1 min. Add the tomatoes, mashing them with the back of a spoon and simmer everything for 5 mins until the sauce smells fragrant. Add a splash of water if it’s too thick. Season well. Add the peas and simmer for a further 2 mins, then stir in the paneer and sprinkle over the garam masala. Divide between two bowls, top with coriander leaves and serve with naan bread, roti or rice.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/xxpqsy1511452222.jpg\",\n    \"strTags\": \"Curry,Vegetarian\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=wlseYNqwLNs\",\n    \"strIngredient1\": \"Sunflower Oil\",\n    \"strIngredient2\": \"Paneer\",\n    \"strIngredient3\": \"Ginger\",\n    \"strIngredient4\": \"Cumin\",\n    \"strIngredient5\": \"Turmeric\",\n    \"strIngredient6\": \"Coriander\",\n    \"strIngredient7\": \"Green Chilli\",\n    \"strIngredient8\": \"Tomato\",\n    \"strIngredient9\": \"Peas\",\n    \"strIngredient10\": \"Garam Masala\",\n    \"strIngredient11\": \"Coriander\",\n    \"strIngredient12\": \"Naan Bread\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 tbls\",\n    \"strMeasure2\": \"225g\",\n    \"strMeasure3\": \"2\",\n    \"strMeasure4\": \"1 tsp \",\n    \"strMeasure5\": \"1 tsp \",\n    \"strMeasure6\": \"1 tsp \",\n    \"strMeasure7\": \"1\",\n    \"strMeasure8\": \"4 large\",\n    \"strMeasure9\": \"150g\",\n    \"strMeasure10\": \"1 tsp \",\n    \"strMeasure11\": \"Small bunch\",\n    \"strMeasure12\": \"to serve\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/matar-paneer\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 158\n  },\n  {\n    \"idMeal\": \"52876\",\n    \"strMeal\": \"Minced Beef Pie\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Preheat the oven to 200C/400F/Gas 6.\\r\\nHeat the oil in a deep frying pan and fry the beef mince for 4-5 minutes, breaking it up with a wooden spoon as it browns.\\r\\nAdd the onion and cook for 2-3 minutes, then stir in the tomato purée and cook for 2-3 more minutes. Stir in the flour and cook for a further minute, then add the chopped mushrooms, the stout or beef stock and a couple of dashes of Worcestershire sauce. Bring to the boil, then reduce the heat, cover the pan with a lid and leave to simmer for 20 minutes. Set aside and leave to cool, then turn the meat mixture into a one litre pie dish.\\r\\nRoll out the pastry on a floured work surface until it is slightly larger than the pie dish. Gently drape the pastry over the dish, pressing firmly onto the edges. Trim, then shape the edges into a fluted shape.\\r\\nCut some leaf shapes out of the pastry trimmings and decorate the top of the pie, sticking them to the pastry with the beaten egg yolk.\\r\\nMake three or four slits in the pastry to allow the steam to escape, then brush the pie with the rest of the beaten egg yolk and bake in the oven for 20-25 minutes, or until golden-brown.\\r\\nTo serve, slice into wedges.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/xwutvy1511555540.jpg\",\n    \"strTags\": \"Pie,Meat\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=QY47h-uqq5g\",\n    \"strIngredient1\": \"Vegetable Oil\",\n    \"strIngredient2\": \"Minced Beef\",\n    \"strIngredient3\": \"Onion\",\n    \"strIngredient4\": \"Tomato Puree\",\n    \"strIngredient5\": \"Plain Flour\",\n    \"strIngredient6\": \"Mushrooms\",\n    \"strIngredient7\": \"Beef Stock\",\n    \"strIngredient8\": \"Worcestershire Sauce\",\n    \"strIngredient9\": \"Shortcrust Pastry\",\n    \"strIngredient10\": \"Egg Yolks\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 tbs\",\n    \"strMeasure2\": \"500g\",\n    \"strMeasure3\": \"1 chopped\",\n    \"strMeasure4\": \"1 tbls\",\n    \"strMeasure5\": \"1 ½ tbsp\",\n    \"strMeasure6\": \"75g\",\n    \"strMeasure7\": \"250ml\",\n    \"strMeasure8\": \"Dash\",\n    \"strMeasure9\": \"400g\",\n    \"strMeasure10\": \"1\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbc.co.uk/food/recipes/mincedbeefpie_89198\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 159\n  },\n  {\n    \"idMeal\": \"52880\",\n    \"strMeal\": \"McSinghs Scotch pie\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Lamb\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Heat a large frying pan and toast the cumin seeds for a few minutes, then set aside. Heat the oil in the same pan and fry the onion, garlic, chilli, pepper and a good pinch of salt for around eight minutes, until there is no moisture left. Remove from the heat, stir in the toasted cumin seeds, ground mace (or nutmeg) and ground coriander. Leave to cool.\\r\\nIn a large bowl mix together the minced lamb, white pepper, fresh coriander, and the cooled spiced onion mixture until combined. Set aside, covered, in the fridge.\\r\\nPreheat the oven to 200C/400F/Gas 6 and generously grease a 20cm/8in diameter loose-bottomed or springform round cake tin with lard.\\r\\nTo make the pastry, sift the flour and salt in a large bowl and make a well in the centre.\\r\\nPut the milk, lard and 90ml/3fl oz of water in a saucepan and heat gently. When the lard has melted, increase the heat and bring to the boil.\\r\\nPour the boiling liquid into the flour, and use a wooden spoon to combine until cool enough to handle. Bring together into a ball.\\r\\nDust a work surface with flour and, working quickly, knead the dough briefly – it will be soft and moist. Set aside a third of the pastry and roll the rest out on a well-floured surface. Line the pie dish with the pastry, pressing it right up the sides until it pokes just over the top of the tin.\\r\\nAdd the filling into the pastry-lined tin bit by bit. As you reach the top, form a slight peak. Roll out the reserved pastry and top the pie with it. Pinch the edges to seal and trim the excess. Poke a hole in the top of the pie and insert a small tube made from aluminium foil to allow steam to escape.\\r\\nBrush the top of the pie with a little beaten egg yolk, and bake in the preheated oven for 30 minutes (put a tray on the shelf below to catch any drips). Then reduce the temperature to 160C/325F/Gas 3 and cook for a further 1¼ hours until golden-brown. Leave to cool completely before refrigerating for two hours, or overnight.\\r\\nRun a knife around the edge of the pie, remove from the tin and serve with chutneys, salads or pickles.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/vssrtx1511557680.jpg\",\n    \"strTags\": \"Pie\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=1nArqhRyszw\",\n    \"strIngredient1\": \"Cumin\",\n    \"strIngredient2\": \"Rapeseed Oil\",\n    \"strIngredient3\": \"Red Onions\",\n    \"strIngredient4\": \"Garlic Clove\",\n    \"strIngredient5\": \"Green Chilli\",\n    \"strIngredient6\": \"Red Pepper\",\n    \"strIngredient7\": \"Nutmeg\",\n    \"strIngredient8\": \"Coriander\",\n    \"strIngredient9\": \"Lamb Mince\",\n    \"strIngredient10\": \"Pepper\",\n    \"strIngredient11\": \"Coriander\",\n    \"strIngredient12\": \"Plain Flour\",\n    \"strIngredient13\": \"Salt\",\n    \"strIngredient14\": \"Milk\",\n    \"strIngredient15\": \"Lard\",\n    \"strIngredient16\": \"Egg Yolks\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 tsp\",\n    \"strMeasure2\": \"1 tbs\",\n    \"strMeasure3\": \"2 finely chopped\",\n    \"strMeasure4\": \"6\",\n    \"strMeasure5\": \"3 finely chopped\",\n    \"strMeasure6\": \"1 finely chopped \",\n    \"strMeasure7\": \"1 tsp \",\n    \"strMeasure8\": \"2 tsp\",\n    \"strMeasure9\": \"1kg\",\n    \"strMeasure10\": \"1 tsp \",\n    \"strMeasure11\": \"3 tbs\",\n    \"strMeasure12\": \"340g\",\n    \"strMeasure13\": \"½ tsp\",\n    \"strMeasure14\": \"90 ml \",\n    \"strMeasure15\": \"150g\",\n    \"strMeasure16\": \"Beaten\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbc.co.uk/food/recipes/mcsinghs_scotch_pie_98356\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 160\n  },\n  {\n    \"idMeal\": \"52900\",\n    \"strMeal\": \"Madeira Cake\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Pre-heat the oven to 180C/350F/Gas 4. Grease an 18cm/7in round cake tin, line the base with greaseproof paper and grease the paper.\\r\\nCream the butter and sugar together in a bowl until pale and fluffy. Beat in the eggs, one at a time, beating the mixture well between each one and adding a tablespoon of the flour with the last egg to prevent the mixture curdling.\\r\\nSift the flour and gently fold in, with enough milk to give a mixture that falls slowly from the spoon. Fold in the lemon zest.\\r\\nSpoon the mixture into the prepared tin and lightly level the top. Bake on the middle shelf of the oven for 30-40 minutes, or until golden-brown on top and a skewer inserted into the centre comes out clean.\\r\\nRemove from the oven and set aside to cool in the tin for 10 minutes, then turn it out on to a wire rack and leave to cool completely.\\r\\nTo serve, decorate the cake with the candied peel.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/urtqut1511723591.jpg\",\n    \"strTags\": \"Cake,Light,Baking,Desert\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=-YDh4WEmK_E\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Caster Sugar\",\n    \"strIngredient3\": \"Eggs\",\n    \"strIngredient4\": \"Self-raising Flour\",\n    \"strIngredient5\": \"Milk\",\n    \"strIngredient6\": \"Lemon\",\n    \"strIngredient7\": \"Mixed Peel\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"175g\",\n    \"strMeasure2\": \"175g\",\n    \"strMeasure3\": \"3\",\n    \"strMeasure4\": \"250g\",\n    \"strMeasure5\": \"3 tbs\",\n    \"strMeasure6\": \"Zest of 1\",\n    \"strMeasure7\": \"To Glaze\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbc.co.uk/food/recipes/madeiracake_73878\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 161\n  },\n  {\n    \"idMeal\": \"52927\",\n    \"strMeal\": \"Montreal Smoked Meat\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Canadian\",\n    \"strInstructions\": \"To make the cure, in a small bowl mix together salt, pink salt, black pepper, coriander, sugar, bay leaf, and cloves. Coat entire brisket with the cure and place in an extra-large resealable plastic bag. Place in the coldest part of the refrigerator and cure for 4 days, flipping brisket twice a day.\\r\\nRemove brisket from bag and wash as much cure off as possible under cold running water. Place brisket in a large container and fill with water and let soak for 2 hours, replacing water every 30 minutes. Remove from water and pat dry with paper towels.\\r\\nTo make the rub, mix together black pepper, coriander, paprika, garlic powder, onion powder, dill weed, mustard, celery seed, and crushed red papper in a small bowl. Coat entire brisket with the rub.\\r\\nFire up smoker or grill to 225 degrees, adding chunks of smoking wood chunks when at temperature. When wood is ignited and producing smoke, place brisket in, fat side up, and smoke until an instant read thermometer registers 165 degrees when inserted into thickest part of the brisket, about 6 hours.\\r\\nTransfer brisket to large roasting pan with V-rack. Place roasting pan over two burners on stovetop and fill with 1-inch of water. Bring water to a boil over high heat, reduce heat to medium, cover roasting pan with aluminum foil, and steam brisket until an instant read thermometer registers 180 degrees when inserted into thickest part of the meat, 1 to 2 hours, adding more hot water as needed.\\r\\nTransfer brisket to cutting board and let cool slightly. Slice and serve, preferably on rye with mustard.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/uttupv1511815050.jpg\",\n    \"strTags\": \"Speciality,Snack,StrongFlavor\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=g5oCDoyxbBk\",\n    \"strIngredient1\": \"Beef Brisket\",\n    \"strIngredient2\": \"Salt\",\n    \"strIngredient3\": \"Black Pepper\",\n    \"strIngredient4\": \"Coriander\",\n    \"strIngredient5\": \"Sugar\",\n    \"strIngredient6\": \"Bay Leaf\",\n    \"strIngredient7\": \"Cloves\",\n    \"strIngredient8\": \"Black Pepper\",\n    \"strIngredient9\": \"Coriander\",\n    \"strIngredient10\": \"Paprika\",\n    \"strIngredient11\": \"Garlic\",\n    \"strIngredient12\": \"Onion\",\n    \"strIngredient13\": \"Dill\",\n    \"strIngredient14\": \"English Mustard\",\n    \"strIngredient15\": \"Celery Salt\",\n    \"strIngredient16\": \"Red Pepper Flakes\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1\",\n    \"strMeasure2\": \"3 tbs\",\n    \"strMeasure3\": \"3 tbs\",\n    \"strMeasure4\": \"1 tbs\",\n    \"strMeasure5\": \"1 tbs\",\n    \"strMeasure6\": \"1 tsp \",\n    \"strMeasure7\": \"1 tsp \",\n    \"strMeasure8\": \"3 tbs\",\n    \"strMeasure9\": \"1 tbs\",\n    \"strMeasure10\": \"1 tbs\",\n    \"strMeasure11\": \"1 tbs\",\n    \"strMeasure12\": \"1 tbs\",\n    \"strMeasure13\": \"1 tbs\",\n    \"strMeasure14\": \"1 tsp \",\n    \"strMeasure15\": \"1 tbs\",\n    \"strMeasure16\": \"1 tsp \",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.meatwave.com/blog/montreal-smoked-meat-recipe\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 162\n  },\n  {\n    \"idMeal\": \"52947\",\n    \"strMeal\": \"Ma Po Tofu\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Chinese\",\n    \"strInstructions\": \"Add a small pinch of salt and sesame oil to minced beef. Mix well and set aside.\\r\\nMix 1 tablespoon of cornstarch with 2 and ½ tablespoons of water in a small bowl to make water starch.\\r\\nCut tofu into square cubes (around 2cms). Bring a large amount of water to a boil and then add a pinch of salt. Slide the tofu in and cook for 1 minute. Move out and drain.\\r\\nGet a wok and heat up around 2 tablespoons of oil, fry the minced meat until crispy. Transfer out beef out and leave the oil in.\\r\\nFry doubanjiang for 1 minute over slow fire and then add garlic, scallion white, ginger and fermented black beans to cook for 30 seconds until aroma. Then mix pepper flakes in.\\r\\nAdd water to the seasonings and bring to boil over high fire. Gently slide the tofu cubes. Add light soy sauce and beef.Slow the heat after boiling and then simmer for 6-8 minutes. Then add chopped garlic greens.\\r\\nStir the water starch and then pour half of the mixture to the simmering pot. Wait for around 30 seconds and then pour the other half. You can slightly taste the tofu and add pinch of salt if not salty enough. By the way, if you feel it is too spicy, add some sugar can milder the taste. But be carefully as the broth is very hot at this point.\\r\\nTransfer out when almost all the seasonings stick to tofu cubes. Sprinkle Szechuan peppercorn powder (to taste)and chopped garlic greens if using.\\r\\nServe immediately with steamed rice.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1525874812.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=IhwPQL9dFYc\",\n    \"strIngredient1\": \"Tofu\",\n    \"strIngredient2\": \"Minced Beef\",\n    \"strIngredient3\": \"Sesame Seed Oil\",\n    \"strIngredient4\": \"Doubanjiang\",\n    \"strIngredient5\": \"Fermented Black Beans\",\n    \"strIngredient6\": \"Pepper\",\n    \"strIngredient7\": \"Salt\",\n    \"strIngredient8\": \"Sichuan pepper\",\n    \"strIngredient9\": \"Soy Sauce\",\n    \"strIngredient10\": \"Water\",\n    \"strIngredient11\": \"Olive Oil\",\n    \"strIngredient12\": \"Scallions\",\n    \"strIngredient13\": \"Spring Onions\",\n    \"strIngredient14\": \"Garlic\",\n    \"strIngredient15\": \"Ginger\",\n    \"strIngredient16\": \"Water\",\n    \"strIngredient17\": \"Cornstarch\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"450g\",\n    \"strMeasure2\": \"100g \",\n    \"strMeasure3\": \"1/2 tbs\",\n    \"strMeasure4\": \"1 1/2 tsp \",\n    \"strMeasure5\": \"1/2 tsp\",\n    \"strMeasure6\": \"1 tbs\",\n    \"strMeasure7\": \"1/2 tsp\",\n    \"strMeasure8\": \"1/2 tsp\",\n    \"strMeasure9\": \"1 tbs\",\n    \"strMeasure10\": \"400ml\",\n    \"strMeasure11\": \"2 tbs\",\n    \"strMeasure12\": \"2 chopped\",\n    \"strMeasure13\": \"4\",\n    \"strMeasure14\": \"2 cloves chopped\",\n    \"strMeasure15\": \"4 sliced\",\n    \"strMeasure16\": \"2 1/2 tbs\",\n    \"strMeasure17\": \"1 tbs\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.chinasichuanfood.com/mapo-tofu-recipe/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 163\n  },\n  {\n    \"idMeal\": \"52968\",\n    \"strMeal\": \"Mbuzi Choma (Roasted Goat)\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Goat\",\n    \"strArea\": \"Kenyan\",\n    \"strInstructions\": \"1. Steps for the Meat: \\r\\n Roast meat over medium heat for 50 minutes and salt it as you turn it.\\r\\n\\r\\n2. Steps for Ugali:\\r\\nBring the water and salt to a boil in a heavy-bottomed saucepan. Stir in the cornmeal slowly, letting it fall through the fingers of your hand.\\r\\n\\r\\n3. Reduce heat to medium-low and continue stirring regularly, smashing any lumps with a spoon, until the mush pulls away from the sides of the pot and becomes very thick, about 10 minutes.\\r\\n\\r\\n4.Remove from heat and allow to cool.\\r\\n\\r\\n5. Place the ugali into a large serving bowl. Wet your hands with water, form a ball and serve.\\r\\n\\r\\n6. Steps for Kachumbari: Mix the tomatoes, onions, chili and coriander leaves in a bowl.\\r\\n\\r\\n7. Serve and enjoy!\\r\\n\\r\\n\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/cuio7s1555492979.jpg\",\n    \"strTags\": \"BBQ,Meat\",\n    \"strYoutube\": \"\",\n    \"strIngredient1\": \"Goat Meat\",\n    \"strIngredient2\": \"Corn Flour\",\n    \"strIngredient3\": \"Tomatoes\",\n    \"strIngredient4\": \"Salt\",\n    \"strIngredient5\": \"Onion\",\n    \"strIngredient6\": \"Green Chilli\",\n    \"strIngredient7\": \"Coriander Leaves\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 kg\",\n    \"strMeasure2\": \"1 kg\",\n    \"strMeasure3\": \"2\",\n    \"strMeasure4\": \"Pinch\",\n    \"strMeasure5\": \"1\",\n    \"strMeasure6\": \"1\",\n    \"strMeasure7\": \"1  bunch\",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 164\n  },\n  {\n    \"idMeal\": \"52991\",\n    \"strMeal\": \"Mince Pies\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"To make the pastry, rub 225g cold, diced butter into 350g plain flour, then mix in 100g golden caster sugar and a pinch of salt.\\r\\n\\r\\nCombine the pastry into a ball – don’t add liquid – and knead it briefly. The dough will be fairly firm, like shortbread dough. You can use the dough immediately, or chill for later.\\r\\n\\r\\nPreheat the oven to 200C/gas 6/fan 180C. Line 18 holes of two 12-hole patty tins, by pressing small walnut-sized balls of pastry into each hole.\\r\\n\\r\\nSpoon 280g mincemeat into the pies.\\r\\n\\r\\nTake slightly smaller balls of pastry than before and pat them out between your hands to make round lids, big enough to cover the pies. \\r\\n\\r\\nTop the pies with their lids, pressing the edges gently together to seal – you don’t need to seal them with milk or egg as they will stick on their own. (The pies may now be frozen for up to 1 month).\\r\\n\\r\\nBeat 1 small egg and brush the tops of the pies. Bake for 20 mins until golden. Leave to cool in the tin for 5 mins, then remove to a wire rack.\\r\\n\\r\\nTo serve, lightly dust with icing sugar.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/qe8pf51576795532.jpg\",\n    \"strTags\": \"Christmas\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=PnXft7lQNJE\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Plain Flour\",\n    \"strIngredient3\": \"Caster Sugar\",\n    \"strIngredient4\": \"Mincemeat\",\n    \"strIngredient5\": \"Egg\",\n    \"strIngredient6\": \"Icing Sugar\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"225g\",\n    \"strMeasure2\": \"350g\",\n    \"strMeasure3\": \"100g \",\n    \"strMeasure4\": \"280g\",\n    \"strMeasure5\": \"1 small\",\n    \"strMeasure6\": \"Topping\",\n    \"strMeasure7\": \" \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/2174/unbelievably-easy-mince-pies\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 165\n  },\n  {\n    \"idMeal\": \"53006\",\n    \"strMeal\": \"Moussaka\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Greek\",\n    \"strInstructions\": \"Heat the grill to high. Brown the beef in a deep ovenproof frying pan over a high heat for 5 mins. Meanwhile, prick the aubergine with a fork, then microwave on High for 3-5 mins until soft. Mix the yogurt, egg and parmesan together, then add a little seasoning.\\r\\n\\r\\nStir the tomatoes, purée and potatoes in with the beef with some seasoning and heat through. Smooth the surface of the beef mixture with the back of a spoon, then slice the cooked aubergine and arrange on top. Pour the yogurt mixture over the aubergines, smooth out evenly, then grill until the topping has set and turned golden.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/ctg8jd1585563097.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=8U_29i9Qp5U\",\n    \"strIngredient1\": \"Beef\",\n    \"strIngredient2\": \"Aubergine\",\n    \"strIngredient3\": \"Greek Yogurt\",\n    \"strIngredient4\": \"Egg\",\n    \"strIngredient5\": \"Parmesan\",\n    \"strIngredient6\": \"Tomato\",\n    \"strIngredient7\": \"Tomato Puree\",\n    \"strIngredient8\": \"Potatoes\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"500g\",\n    \"strMeasure2\": \"1 large\",\n    \"strMeasure3\": \"150g\",\n    \"strMeasure4\": \"1 beaten\",\n    \"strMeasure5\": \"3 tbs\",\n    \"strMeasure6\": \"400g\",\n    \"strMeasure7\": \"4 tbs\",\n    \"strMeasure8\": \"350g\",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/must-make-moussaka\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 166\n  },\n  {\n    \"idMeal\": \"53029\",\n    \"strMeal\": \"Mulukhiyah\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Egyptian\",\n    \"strInstructions\": \"Saute the onions in the 3-4 tablespoons olive oil\\r\\nAdd the beef cubes or the chicken cutlets, sear for 3-4 min on each side\\r\\nAdd 1 liter of water or just enough to cover the meat\\r\\nCook over medium heat until the meat is done (I usually do this in the pressure cooker and press them for 5 min)\\r\\n\\r\\nAdd the frozen mulukhyia and stir until it thaws completely and then comes to a boil\\r\\n\\r\\nIn another pan add the 1/4 to 1/2 cup of olive oil and the cloves of garlic and cook over medium low heat until you can smell the garlic (don’t brown it, it will become bitter)\\r\\n\\r\\nAdd the oil and garlic to the mulukhyia and lower the heat and simmer for 5-10 minutes\\r\\nAdd salt to taste\\r\\n\\r\\nServe with a generous amount of lemon juice.\\r\\n\\r\\nYou can serve it with some short grain rice or some pita bread\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/x372ug1598733932.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=vWc5JzgAkIQ\",\n    \"strIngredient1\": \"Mulukhiyah\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Beef\",\n    \"strIngredient4\": \"Salt\",\n    \"strIngredient5\": \"Water\",\n    \"strIngredient6\": \"Garlic Clove\",\n    \"strIngredient7\": \"Olive Oil\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"800g\",\n    \"strMeasure2\": \"1 chopped\",\n    \"strMeasure3\": \"300g\",\n    \"strMeasure4\": \"1 tsp \",\n    \"strMeasure5\": \"1 Litre\",\n    \"strMeasure6\": \"1\",\n    \"strMeasure7\": \"1/2 cup \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://chefindisguise.com/2017/05/15/mulukhiyah-a-stew-fit-for-royals/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 167\n  },\n  {\n    \"idMeal\": \"53038\",\n    \"strMeal\": \"Mustard champ\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Side\",\n    \"strArea\": \"Irish\",\n    \"strInstructions\": \"STEP 1\\r\\nBoil the potatoes for 15 mins or until tender. Drain, then mash.\\r\\n\\r\\nSTEP 2\\r\\nHeat the milk and half the butter in the corner of the pan, then beat into the mash, along with the wholegrain mustard.\\r\\n\\r\\nSTEP 3\\r\\nGently fry the spring onions in the remaining butter for 2 mins until just soft but still a perky green. Fold into the mash and serve. Great with gammon or to top a fish pie.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/o7p9581608589317.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=_iKllHSC978\",\n    \"strIngredient1\": \"Potatoes\",\n    \"strIngredient2\": \"Milk\",\n    \"strIngredient3\": \"Butter\",\n    \"strIngredient4\": \"Mustard\",\n    \"strIngredient5\": \"Spring Onions\",\n    \"strIngredient6\": \"Spring Onions\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1kg\",\n    \"strMeasure2\": \"200ml\",\n    \"strMeasure3\": \"50g\",\n    \"strMeasure4\": \"2 tbs\",\n    \"strMeasure5\": \"Bunch\",\n    \"strMeasure6\": \"Bunch\",\n    \"strMeasure7\": \" \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/mustard-champ\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 168\n  },\n  {\n    \"idMeal\": \"53047\",\n    \"strMeal\": \"Moroccan Carrot Soup\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Moroccan\",\n    \"strInstructions\": \"Step 1\\r\\nPreheat oven to 180° C.\\r\\nStep 2\\r\\nCombine carrots, onion, garlic, cumin seeds, coriander seeds, salt and olive oil in a bowl and mix well. Transfer on a baking tray.\\r\\nStep 3\\r\\nPut the baking tray in preheated oven and roast for 10-12 minutes or till carrots soften. Remove from heat and cool.\\r\\nStep 4\\r\\nGrind the baked carrot mixture along with some water to make a smooth paste and strain in a bowl.\\r\\nStep 5\\r\\nHeat the carrot mixture in a non-stick pan. Add two cups of water and bring to a boil. Add garam masala powder and mix. Add salt and mix well.\\r\\nStep 6\\r\\nRemove from heat, add lemon juice and mix well.\\r\\nStep 7\\r\\nServe hot.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/jcr46d1614763831.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=7tDWOpnIhok\",\n    \"strIngredient1\": \"Carrots\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Garlic Clove\",\n    \"strIngredient4\": \"Cumin\",\n    \"strIngredient5\": \"Coriander\",\n    \"strIngredient6\": \"Olive Oil\",\n    \"strIngredient7\": \"Garam Masala\",\n    \"strIngredient8\": \"Lemon Juice\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"6 chopped\",\n    \"strMeasure2\": \"1 sliced\",\n    \"strMeasure3\": \"4\",\n    \"strMeasure4\": \"1 tsp \",\n    \"strMeasure5\": \"1/2 tsp\",\n    \"strMeasure6\": \"1 tbs\",\n    \"strMeasure7\": \"1/4 tsp\",\n    \"strMeasure8\": \"1 tsp \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.sanjeevkapoor.com/Recipe/Moroccan-Carrot-Soup.html\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 169\n  },\n  {\n    \"idMeal\": \"53048\",\n    \"strMeal\": \"Mee goreng mamak\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"Malaysian\",\n    \"strInstructions\": \"Heat oil in a pan at medium heat. Then, add peanuts, dried chilies, dried shrimps and dhal. Fry the aromatics until fragrant. Remove from pan and leave aside.\\r\\n\\r\\nBlend fried ingredients with tamarind paste and water until fine. Then, sauté the blended ingredients in oil heated over low heat. Continue cooking until the oil separates from the paste and turns a darker shade.\\r\\n\\r\\nSkin and cut potatoes into small chunks and boil them in a pot of water until knife-tender. Once ready, remove them from the pot and leave aside. Discard water.\\r\\n\\r\\nSlice onion and fried tofu, mince garlic, cut some cabbage and Chinese flowering cabbage (choi sam). Prepare prawn fritters and cut them. Boil noodles to soften them if bought dried. Also mix black soy sauce with water.\\r\\n\\r\\nTo fry one portion of mee goreng mamak, heat oil and add 1/4 of the following ingredients in this order: garlic, onion, paste. Sauté until fragrant. Optionally, add prawns.\\r\\n\\r\\nAdd in 1/4 amount of tofu, boiled potatoes, cabbage, Chinese flowering cabbage and prawn fritters. Sauté for another 30 seconds.\\r\\n\\r\\nAdd noodles to the wok. Add 3 tablespoons of dark soy sauce mixture. Mix evenly for the next 1 minute. Then, move the noodles to the side of the wok. Stir in an egg. Garnish with a slice of lime and slices of green chilies. To cook another plate of noodles, repeat from step 5 onwards.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/xquakq1619787532.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=pOJEmDBgtSk\",\n    \"strIngredient1\": \"Peanuts\",\n    \"strIngredient2\": \"Chilli\",\n    \"strIngredient3\": \"Prawns\",\n    \"strIngredient4\": \"Oil\",\n    \"strIngredient5\": \"Water\",\n    \"strIngredient6\": \"Tamarind Paste\",\n    \"strIngredient7\": \"Potatoes\",\n    \"strIngredient8\": \"Red Onions\",\n    \"strIngredient9\": \"Garlic Clove\",\n    \"strIngredient10\": \"Cabbage\",\n    \"strIngredient11\": \"Chinese Broccoli\",\n    \"strIngredient12\": \"Tofu\",\n    \"strIngredient13\": \"Soy Sauce\",\n    \"strIngredient14\": \"Noodles\",\n    \"strIngredient15\": \"Egg\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"50g\",\n    \"strMeasure2\": \"15g\",\n    \"strMeasure3\": \"10g\",\n    \"strMeasure4\": \"5 tbs\",\n    \"strMeasure5\": \"750 ml \",\n    \"strMeasure6\": \"1/2 tbs\",\n    \"strMeasure7\": \"250g\",\n    \"strMeasure8\": \"2\",\n    \"strMeasure9\": \"4\",\n    \"strMeasure10\": \"30g\",\n    \"strMeasure11\": \"30g\",\n    \"strMeasure12\": \"1\",\n    \"strMeasure13\": \"1 tbs\",\n    \"strMeasure14\": \"4\",\n    \"strMeasure15\": \"1\",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.nyonyacooking.com/recipes/mee-goreng-mamak~BkTLRjTuX\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 170\n  },\n  {\n    \"idMeal\": \"53059\",\n    \"strMeal\": \"Mushroom soup with buckwheat\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Side\",\n    \"strArea\": \"Croatian\",\n    \"strInstructions\": \"Chop the onion and garlic, slice the mushrooms and wash the buckwheat. Heat the oil and lightly sauté the onion. Add the mushrooms and the garlic and continue to sauté. Add the salt, vegetable seasoning, buckwheat and the bay leaf and cover with water. Simmer gently and just before it is completely cooked, add pepper, sour cream mixed with flour, the chopped parsley and vinegar to taste.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1ngcbf1628770793.jpg\",\n    \"strTags\": \"Warming, Soup\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=M1ok7mG9-Qc\",\n    \"strIngredient1\": \"Mushrooms\",\n    \"strIngredient2\": \"Buckwheat\",\n    \"strIngredient3\": \"Vegetable Oil\",\n    \"strIngredient4\": \"Onion\",\n    \"strIngredient5\": \"Garlic\",\n    \"strIngredient6\": \"Bay Leaf\",\n    \"strIngredient7\": \"Vegetable Stock Cube\",\n    \"strIngredient8\": \"Sour Cream\",\n    \"strIngredient9\": \"White Wine Vinegar\",\n    \"strIngredient10\": \"Parsley\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"150g\",\n    \"strMeasure2\": \"50g\",\n    \"strMeasure3\": \"4 tbs\",\n    \"strMeasure4\": \"40g\",\n    \"strMeasure5\": \"2 cloves\",\n    \"strMeasure6\": \"1\",\n    \"strMeasure7\": \"1tbsp\",\n    \"strMeasure8\": \"50 ml \",\n    \"strMeasure9\": \"Dash\",\n    \"strMeasure10\": \"Top\",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.visit-croatia.co.uk/croatian-cuisine/croatian-recipes/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 171\n  },\n  {\n    \"idMeal\": \"52782\",\n    \"strMeal\": \"Lamb tomato and sweet spices\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Lamb\",\n    \"strArea\": \"Moroccan\",\n    \"strInstructions\": \"Use pickled vine leaves here, preserved in brine. Small delicate leaves are better than the large bristly ones but, if only large leaves are to hand, then trim them to roughly 12 by 12 cms so that you don't get too many layers of leaves around the filling. And remove any stalks. Drain the preserved leaves, immerse them in boiling water for 10 minutes and then leave to dry on a tea towel before use. \\r\\nBasmati rice with butter and pine nuts is an ideal accompaniment. Couscous is great, too. Serves four.\\r\\nFirst make the filling. Put all the ingredients, apart from the tomatoes, in a bowl. Cut the tomatoes in half, coarsely grate into the bowl and discard the skins. Add half a teaspoon of salt and some black pepper, and stir. Leave on the side, or in the fridge, for up to a day. Before using, gently squeeze with your hands and drain away any juices that come out.\\r\\nTo make the sauce, heat the oil in a medium pan. Add the ginger and garlic, cook for a minute or two, taking care not to burn them, then add the tomato, lemon juice and sugar. Season, and simmer for 20 minutes.\\r\\nWhile the sauce is bubbling away, prepare the vine leaves. Use any torn or broken leaves to line the base of a wide, heavy saucepan. Trim any leaves from the fennel, cut it vertically into 0.5cm-thick slices and spread over the base of the pan to cover completely.\\r\\nLay a prepared vine leaf (see intro) on a work surface, veiny side up. Put two teaspoons of filling at the base of the leaf in a 2cm-long by 1cm-wide strip. Fold the sides of the leaf over the filling, then roll it tightly from bottom to top, in a cigar shape. Place in the pan, seam down, and repeat with the remaining leaves, placing them tightly next to each other in lines or circles (in two layers if necessary).\\r\\nPour the sauce over the leaves (and, if needed, add water just to cover). Place a plate on top, to weigh the leaves down, then cover with a lid. Bring to a boil, reduce the heat and cook on a bare simmer for 70 minutes. Most of the liquid should evaporate. Remove from the heat, and leave to cool a little - they are best served warm. When serving, bring to the table in the pan - it looks great. Serve a few vine leaves and fennel slices with warm rice. Spoon the braising juices on top and garnish with coriander.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/qtwtss1468572261.jpg\",\n    \"strTags\": \"\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=vaZb1MnFBgA\",\n    \"strIngredient1\": \"olive oil\",\n    \"strIngredient2\": \"ginger\",\n    \"strIngredient3\": \"garlic\",\n    \"strIngredient4\": \"tomatoes\",\n    \"strIngredient5\": \"lemon juice\",\n    \"strIngredient6\": \"caster sugar\",\n    \"strIngredient7\": \"vine leaves\",\n    \"strIngredient8\": \"fennel bulb\",\n    \"strIngredient9\": \"lamb mince\",\n    \"strIngredient10\": \"onion\",\n    \"strIngredient11\": \"potato\",\n    \"strIngredient12\": \"basmati rice\",\n    \"strIngredient13\": \"chopped parsley\",\n    \"strIngredient14\": \"coriander\",\n    \"strIngredient15\": \"lemon juice\",\n    \"strIngredient16\": \"garlic\",\n    \"strIngredient17\": \"clove\",\n    \"strIngredient18\": \"cinnamon\",\n    \"strIngredient19\": \"tomatoes\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 tbsp\",\n    \"strMeasure2\": \"4cm piece finely chopped\",\n    \"strMeasure3\": \"2 cloves peeled and chopped\",\n    \"strMeasure4\": \"800g peeled and chopped \",\n    \"strMeasure5\": \"2 tbsp\",\n    \"strMeasure6\": \"1 tsp\",\n    \"strMeasure7\": \"50\",\n    \"strMeasure8\": \"1 large\",\n    \"strMeasure9\": \"400g\",\n    \"strMeasure10\": \"1 medium\",\n    \"strMeasure11\": \"1 small peeled and coarsely grated\",\n    \"strMeasure12\": \"2 tbsp\",\n    \"strMeasure13\": \"2 tbsp\",\n    \"strMeasure14\": \"2 tbsp chopped\",\n    \"strMeasure15\": \"1 tbsp\",\n    \"strMeasure16\": \"2 cloves\",\n    \"strMeasure17\": \"½ tsp ground\",\n    \"strMeasure18\": \"½ tsp ground \",\n    \"strMeasure19\": \"2 medium\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.ottolenghi.co.uk/recipes/meat/lamb-tomato-and-sweet-spices-shop\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 172\n  },\n  {\n    \"idMeal\": \"52805\",\n    \"strMeal\": \"Lamb Biryani\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Lamb\",\n    \"strArea\": \"Indian\",\n    \"strInstructions\": \"Grind the cashew, poppy seeds and cumin seeds into a smooth paste, using as little water as possible. Set aside. \\r\\n\\r\\nDeep fry the sliced onions when it is hot. Don’t overcrowd the oil. When the onions turn light brown, remove from oil and drain on paper towel. The fried onion will crisp up as it drains. Also fry the cashewnuts till golden brown. Set aside.\\r\\n\\r\\nWash the rice and soak in water for twenty minutes.\\r\\nMeanwhile, take a big wide pan, add oil in medium heat, add the sliced onions, add the blended paste, to it add the green chillies, ginger garlic paste and garlic and fry for a minute.\\r\\nThen add the tomatoes and sauté them well till they are cooked and not mushy.\\r\\n\\r\\nThen to it add the red chilli powder, biryani powder, mint, coriander leaves and sauté them well.\\r\\nAdd the yogurt and mix well. I always move the skillet away from the heat when adding yogurt which prevents it from curdling.\\r\\n\\r\\nNow after returning the skillet back to the stove, add the washed lamb and salt and ½ cup water and mix well. Cook for 1 hour and cook it covered in medium low heat or put it in a pressure cooker for 6 whistles. If the water is not drained totally, heat it by keeping it open.\\r\\n\\r\\nTake another big pan, add thrice the cup of rice you use, and boil it. When it is boiling high, add the rice, salt and jeera and mix well. After 7 minutes exact or when the rice is 80% done. Switch off and drain the rice.\\r\\n\\r\\nNow, the layering starts. To the lamb, pat and level it. Add the drained hot rice on the top of it. Garnish with fried onions, ghee, mint, coriander leaves and saffron dissolved in milk.\\r\\n\\r\\nCover the dish and bake in a 350f oven for 15 minutes or till the cooked but not mushy. Or cook in the stove medium heat for 12 minutes and lowest heat for 5 minutes. And switch off. Mix and serve hot!\\r\\nNotes\\r\\n1. If you are cooking in oven, do make sure to cook in a big oven safe pan and cover it tight and then keep in oven for the final step.\\r\\n2. You can skip biryani masala if you don’t have and add just garam masala (1 tsp and red chilli powder – 3 tsp instead of 1 tsp)\\r\\n3. If it is spicy in the end, squeeze some lemon, it will reduce the heat and enhance the flavors also.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/xrttsx1487339558.jpg\",\n    \"strTags\": \"Curry,Meat\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=r7SYVSG5nxo\",\n    \"strIngredient1\": \"Cashew nuts\",\n    \"strIngredient2\": \"Khus khus\",\n    \"strIngredient3\": \"Cumin seeds\",\n    \"strIngredient4\": \"Onions\",\n    \"strIngredient5\": \"Ginger garlic paste\",\n    \"strIngredient6\": \"Garlic\",\n    \"strIngredient7\": \"Mint\",\n    \"strIngredient8\": \"Cilantro\",\n    \"strIngredient9\": \"Saffron\",\n    \"strIngredient10\": \"Ghee\",\n    \"strIngredient11\": \"Basmati rice\",\n    \"strIngredient12\": \"Full fat yogurt\",\n    \"strIngredient13\": \"Cumin Seeds\",\n    \"strIngredient14\": \"Bay leaf\",\n    \"strIngredient15\": \"Cinnamon\",\n    \"strIngredient16\": \"Cloves\",\n    \"strIngredient17\": \"Cardamom\",\n    \"strIngredient18\": \"Lamb\",\n    \"strIngredient19\": \"Red Chilli powder\",\n    \"strIngredient20\": \"Biryani masala\",\n    \"strMeasure1\": \"12\",\n    \"strMeasure2\": \"½ tbsp\",\n    \"strMeasure3\": \"½ tbsp\",\n    \"strMeasure4\": \"3 sliced thinly\",\n    \"strMeasure5\": \"2 tsp\",\n    \"strMeasure6\": \"4 whole\",\n    \"strMeasure7\": \"Leaves\",\n    \"strMeasure8\": \"Leaves\",\n    \"strMeasure9\": \"½ tsp dissolved in ½ cup warm milk\",\n    \"strMeasure10\": \"2 tbsp\",\n    \"strMeasure11\": \"2 Cups\",\n    \"strMeasure12\": \"½ cup\",\n    \"strMeasure13\": \"1 tbsp\",\n    \"strMeasure14\": \"½\",\n    \"strMeasure15\": \"1 thin piece\",\n    \"strMeasure16\": \"3\",\n    \"strMeasure17\": \"2\",\n    \"strMeasure18\": \"1 lb\",\n    \"strMeasure19\": \"1 tsp\",\n    \"strMeasure20\": \"1 tbsp\",\n    \"strSource\": \"http://www.relishthebite.com/restaurant-style-lamb-biryani/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 173\n  },\n  {\n    \"idMeal\": \"52808\",\n    \"strMeal\": \"Lamb Rogan josh\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Lamb\",\n    \"strArea\": \"Indian\",\n    \"strInstructions\": \"\\r\\nPut the onions in a food processor and whizz until very finely chopped. Heat the oil in a large heavy-based pan, then fry the onion with the lid on, stirring every now and then, until it is really golden and soft. Add the garlic and ginger, then fry for 5 mins more.\\r\\nTip the curry paste, all the spices and the bay leaves into the pan, with the tomato purée. Stir well over the heat for about 30 secs, then add the meat and 300ml water. Stir to mix, turn down the heat, then add the yogurt.\\r\\nCover the pan, then gently simmer for 40-60 mins until the meat is tender and the sauce nice and thick. Serve scattered with coriander, with plain basmati or pilau rice.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/vvstvq1487342592.jpg\",\n    \"strTags\": \"Curry,Spicy,Alcoholic\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=NZVo32n7iS8\",\n    \"strIngredient1\": \"Onion\",\n    \"strIngredient2\": \"Sunflower Oil\",\n    \"strIngredient3\": \"Garlic\",\n    \"strIngredient4\": \"Ginger\",\n    \"strIngredient5\": \"Madras Paste\",\n    \"strIngredient6\": \"Paprika\",\n    \"strIngredient7\": \"cinnamon stick\",\n    \"strIngredient8\": \"Cardamom\",\n    \"strIngredient9\": \"Clove\",\n    \"strIngredient10\": \"Bay Leaf\",\n    \"strIngredient11\": \"Tomato Purée\",\n    \"strIngredient12\": \"Lamb\",\n    \"strIngredient13\": \"Greek yogurt\",\n    \"strIngredient14\": \"Coriander\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 quartered\",\n    \"strMeasure2\": \"4 tbsp\",\n    \"strMeasure3\": \"4 cloves\",\n    \"strMeasure4\": \"Thumb sized peeled and very finely grated\",\n    \"strMeasure5\": \"2 tbsp\",\n    \"strMeasure6\": \"2 tsp\",\n    \"strMeasure7\": \"1\",\n    \"strMeasure8\": \"6 bashed to break shells\",\n    \"strMeasure9\": \"4\",\n    \"strMeasure10\": \"2\",\n    \"strMeasure11\": \"1 tbsp\",\n    \"strMeasure12\": \"1kg cubed\",\n    \"strMeasure13\": \"150ml\",\n    \"strMeasure14\": \"Garnish chopped \",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.bbcgoodfood.com/recipes/9643/onepan-rogan-josh\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 174\n  },\n  {\n    \"idMeal\": \"52821\",\n    \"strMeal\": \"Laksa King Prawn Noodles\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"Malaysian\",\n    \"strInstructions\": \"Heat the oil in a medium saucepan and add the chilli. Cook for 1 min, then add the curry paste, stir and cook for 1 min more. Dissolve the stock cube in a large jug in 700ml boiling water, then pour into the pan and stir to combine. Tip in the coconut milk and bring to the boil.\\r\\nAdd the fish sauce and a little seasoning. Toss in the noodles and cook for a further 3-4 mins until softening. Squeeze in the lime juice, add the prawns and cook through until warm, about 2-3 mins. Scatter over some of the coriander.\\r\\nServe in bowls with the remaining coriander and lime wedges on top for squeezing over.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/rvypwy1503069308.jpg\",\n    \"strTags\": \"Shellfish,Seafood\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=OcarztU8cYo\",\n    \"strIngredient1\": \"Olive Oil\",\n    \"strIngredient2\": \"red chili\",\n    \"strIngredient3\": \"Thai red curry paste\",\n    \"strIngredient4\": \"vegetable stock cube\",\n    \"strIngredient5\": \"coconut milk\",\n    \"strIngredient6\": \"fish sauce\",\n    \"strIngredient7\": \"rice noodles\",\n    \"strIngredient8\": \"lime\",\n    \"strIngredient9\": \"king prawns\",\n    \"strIngredient10\": \"coriander\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 tbsp\",\n    \"strMeasure2\": \"1 finely sliced\",\n    \"strMeasure3\": \"2 ½ tbsp\",\n    \"strMeasure4\": \"1\",\n    \"strMeasure5\": \"400ml can\",\n    \"strMeasure6\": \"2 tsp\",\n    \"strMeasure7\": \"100g\",\n    \"strMeasure8\": \"2 juice of 1, the other halved\",\n    \"strMeasure9\": \"150g\",\n    \"strMeasure10\": \"½ small pack\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/prawn-laksa-curry-bowl\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 175\n  },\n  {\n    \"idMeal\": \"52843\",\n    \"strMeal\": \"Lamb Tagine\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Lamb\",\n    \"strArea\": \"Moroccan\",\n    \"strInstructions\": \"Heat the olive oil in a heavy-based pan and add the onion and carrot. Cook for 3- 4 mins until softened.\\r\\n\\r\\nAdd the diced lamb and brown all over. Stir in the garlic and all the spices and cook for a few mins more or until the aromas are released.\\r\\n\\r\\nAdd the honey and apricots, crumble in the stock cube and pour over roughly 500ml boiling water or enough to cover the meat. Give it a good stir and bring to the boil. Turn down to a simmer, put the lid on and cook for 1 hour.\\r\\n\\r\\nRemove the lid and cook for a further 30 mins, then stir in the squash. Cook for 20 – 30 mins more until the squash is soft and the lamb is tender. Serve alongside rice or couscous and sprinkle with parsley and pine nuts, if using.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/yuwtuu1511295751.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=bR5Cqu84S_k\",\n    \"strIngredient1\": \"Olive Oil\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Carrots\",\n    \"strIngredient4\": \"Lamb Leg\",\n    \"strIngredient5\": \"Garlic\",\n    \"strIngredient6\": \"Cumin\",\n    \"strIngredient7\": \"Ginger\",\n    \"strIngredient8\": \"Saffron\",\n    \"strIngredient9\": \"Cinnamon\",\n    \"strIngredient10\": \"Honey\",\n    \"strIngredient11\": \"Apricot\",\n    \"strIngredient12\": \"Vegetable Stock Cube\",\n    \"strIngredient13\": \"Butternut Squash\",\n    \"strIngredient14\": \"Couscous\",\n    \"strIngredient15\": \"Parsley\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 tblsp \",\n    \"strMeasure2\": \"1 finely sliced\",\n    \"strMeasure3\": \"2 chopped\",\n    \"strMeasure4\": \"500g\",\n    \"strMeasure5\": \"2 cloves minced\",\n    \"strMeasure6\": \"½ tsp\",\n    \"strMeasure7\": \"½ tsp\",\n    \"strMeasure8\": \"¼ tsp\",\n    \"strMeasure9\": \"1 tsp \",\n    \"strMeasure10\": \"1 tblsp \",\n    \"strMeasure11\": \"100g \",\n    \"strMeasure12\": \"1\",\n    \"strMeasure13\": \"1 medium chopped\",\n    \"strMeasure14\": \"Steamed\",\n    \"strMeasure15\": \"Chopped\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/2303638/family-meals-easy-lamb-tagine-\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 176\n  },\n  {\n    \"idMeal\": \"52844\",\n    \"strMeal\": \"Lasagne\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pasta\",\n    \"strArea\": \"Italian\",\n    \"strInstructions\": \"Heat the oil in a large saucepan. Use kitchen scissors to snip the bacon into small pieces, or use a sharp knife to chop it on a chopping board. Add the bacon to the pan and cook for just a few mins until starting to turn golden. Add the onion, celery and carrot, and cook over a medium heat for 5 mins, stirring occasionally, until softened.\\r\\nAdd the garlic and cook for 1 min, then tip in the mince and cook, stirring and breaking it up with a wooden spoon, for about 6 mins until browned all over.\\r\\nStir in the tomato purée and cook for 1 min, mixing in well with the beef and vegetables. Tip in the chopped tomatoes. Fill each can half full with water to rinse out any tomatoes left in the can, and add to the pan. Add the honey and season to taste. Simmer for 20 mins.\\r\\nHeat oven to 200C/180C fan/gas 6. To assemble the lasagne, ladle a little of the ragu sauce into the bottom of the roasting tin or casserole dish, spreading the sauce all over the base. Place 2 sheets of lasagne on top of the sauce overlapping to make it fit, then repeat with more sauce and another layer of pasta. Repeat with a further 2 layers of sauce and pasta, finishing with a layer of pasta.\\r\\nPut the crème fraîche in a bowl and mix with 2 tbsp water to loosen it and make a smooth pourable sauce. Pour this over the top of the pasta, then top with the mozzarella. Sprinkle Parmesan over the top and bake for 25–30 mins until golden and bubbling. Serve scattered with basil, if you like.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wtsvxx1511296896.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=gfhfsBPt46s\",\n    \"strIngredient1\": \"Olive Oil\",\n    \"strIngredient2\": \"Bacon\",\n    \"strIngredient3\": \"Onion\",\n    \"strIngredient4\": \"Celery\",\n    \"strIngredient5\": \"Carrots\",\n    \"strIngredient6\": \"Garlic\",\n    \"strIngredient7\": \"Minced Beef\",\n    \"strIngredient8\": \"Tomato Puree\",\n    \"strIngredient9\": \"Chopped Tomatoes\",\n    \"strIngredient10\": \"Honey\",\n    \"strIngredient11\": \"Lasagne Sheets\",\n    \"strIngredient12\": \"Creme Fraiche\",\n    \"strIngredient13\": \"Mozzarella Balls\",\n    \"strIngredient14\": \"Parmesan Cheese\",\n    \"strIngredient15\": \"Basil Leaves\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 tblsp \",\n    \"strMeasure2\": \"2\",\n    \"strMeasure3\": \"1 finely chopped \",\n    \"strMeasure4\": \"1 Stick\",\n    \"strMeasure5\": \"1 medium\",\n    \"strMeasure6\": \"2 cloves chopped\",\n    \"strMeasure7\": \"500g\",\n    \"strMeasure8\": \"1 tbls\",\n    \"strMeasure9\": \"800g\",\n    \"strMeasure10\": \"1 tblsp \",\n    \"strMeasure11\": \"500g\",\n    \"strMeasure12\": \"400ml\",\n    \"strMeasure13\": \"125g\",\n    \"strMeasure14\": \"50g\",\n    \"strMeasure15\": \"Topping\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/classic-lasagne\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 177\n  },\n  {\n    \"idMeal\": \"52877\",\n    \"strMeal\": \"Lamb and Potato pie\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Lamb\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Dust the meat with flour to lightly coat.\\r\\nHeat enough vegetable oil in a large saucepan to fill the base, and fry the onion and meat until lightly browned. Season with salt and pepper.\\r\\nAdd the carrots, stock and more seasoning to taste.\\r\\nBring to the boil, cover and reduce the heat to a simmer. Simmer for at least an hour or until the meat is tender. Take your time cooking the meat, the longer you leave it to cook, the better the flavour will be.\\r\\nPreheat the oven to 180C/350F/Gas 4.\\r\\nAdd the drained potato cubes to the lamb.\\r\\nTurn the mixture into a pie dish or casserole and cover with the shortcrust pastry. Make three slits in the top of the pastry to release any steam while cooking.\\r\\nBrush with beaten egg and bake for about 40 minutes, until the pastry is golden brown.\\r\\nServe.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/sxrpws1511555907.jpg\",\n    \"strTags\": \"Pie\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=NCyPaaUNYUk\",\n    \"strIngredient1\": \"Lamb Shoulder\",\n    \"strIngredient2\": \"Flour\",\n    \"strIngredient3\": \"Vegetable Oil\",\n    \"strIngredient4\": \"Onion\",\n    \"strIngredient5\": \"Carrots\",\n    \"strIngredient6\": \"Vegetable Stock\",\n    \"strIngredient7\": \"Potatoes\",\n    \"strIngredient8\": \"Shortcrust Pastry\",\n    \"strIngredient9\": \"Eggs\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"500g\",\n    \"strMeasure2\": \"1 tbls\",\n    \"strMeasure3\": \"Dash\",\n    \"strMeasure4\": \"1 sliced\",\n    \"strMeasure5\": \"2 sliced\",\n    \"strMeasure6\": \"350ml/12fl\",\n    \"strMeasure7\": \"500g\",\n    \"strMeasure8\": \"450g\",\n    \"strMeasure9\": \"To Glaze\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbc.co.uk/food/recipes/lambandpotatopie_83913\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 178\n  },\n  {\n    \"idMeal\": \"52884\",\n    \"strMeal\": \"Lancashire hotpot\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Lamb\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Heat oven to 160C/fan 140C/gas 3. Heat some dripping or butter in a large shallow casserole dish, brown the lamb in batches, lift to a plate, then repeat with the kidneys.\\r\\nFry the onions and carrots in the pan with a little more dripping until golden. Sprinkle over the flour, allow to cook for a couple of mins, shake over the Worcestershire sauce, pour in the stock, then bring to the boil. Stir in the meat and bay leaves, then turn off the heat. Arrange the sliced potatoes on top of the meat, then drizzle with a little more dripping. Cover, then place in the oven for about 1½ hrs until the potatoes are cooked.\\r\\nRemove the lid, brush the potatoes with a little more dripping, then turn the oven up to brown the potatoes, or finish under the grill for 5-8 mins until brown.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/uttrxw1511637813.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=w6TS5J8YRA4\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Lamb\",\n    \"strIngredient3\": \"Lamb Kidney\",\n    \"strIngredient4\": \"Onions\",\n    \"strIngredient5\": \"Carrots\",\n    \"strIngredient6\": \"Plain Flour\",\n    \"strIngredient7\": \"Worcestershire Sauce\",\n    \"strIngredient8\": \"Chicken Stock\",\n    \"strIngredient9\": \"Bay Leaves\",\n    \"strIngredient10\": \"Potatoes\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"100g \",\n    \"strMeasure2\": \"900g\",\n    \"strMeasure3\": \"3\",\n    \"strMeasure4\": \"2 medium\",\n    \"strMeasure5\": \"4 sliced\",\n    \"strMeasure6\": \"25g\",\n    \"strMeasure7\": \"2 tsp\",\n    \"strMeasure8\": \"500ml\",\n    \"strMeasure9\": \"2\",\n    \"strMeasure10\": \"900g\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/9099/lancashire-hotpot\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 179\n  },\n  {\n    \"idMeal\": \"52973\",\n    \"strMeal\": \"Leblebi Soup\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Tunisian\",\n    \"strInstructions\": \"Heat the oil in a large pot. Add the onion and cook until translucent.\\r\\nDrain the soaked chickpeas and add them to the pot together with the vegetable stock. Bring to the boil, then reduce the heat and cover. Simmer for 30 minutes.\\r\\nIn the meantime toast the cumin in a small ungreased frying pan, then grind them in a mortar. Add the garlic and salt and pound to a fine paste.\\r\\nAdd the paste and the harissa to the soup and simmer until the chickpeas are tender, about 30 minutes.\\r\\nSeason to taste with salt, pepper and lemon juice and serve hot.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/x2fw9e1560460636.jpg\",\n    \"strTags\": \"Soup\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=BgRifcCwinY\",\n    \"strIngredient1\": \"Olive Oil\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Chickpeas\",\n    \"strIngredient4\": \"Vegetable Stock\",\n    \"strIngredient5\": \"Cumin\",\n    \"strIngredient6\": \"Garlic\",\n    \"strIngredient7\": \"Salt\",\n    \"strIngredient8\": \"Harissa Spice\",\n    \"strIngredient9\": \"Pepper\",\n    \"strIngredient10\": \"Lime\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 tbs\",\n    \"strMeasure2\": \"1 medium finely diced\",\n    \"strMeasure3\": \"250g\",\n    \"strMeasure4\": \"1.5L\",\n    \"strMeasure5\": \"1 tsp \",\n    \"strMeasure6\": \"5 cloves\",\n    \"strMeasure7\": \"1/2 tsp\",\n    \"strMeasure8\": \"1 tsp \",\n    \"strMeasure9\": \"Pinch\",\n    \"strMeasure10\": \"1/2 \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"http://allrecipes.co.uk/recipe/43419/leblebi--tunisian-chickpea-soup-.aspx\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 180\n  },\n  {\n    \"idMeal\": \"52987\",\n    \"strMeal\": \"Lasagna Sandwiches\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pasta\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"1. In a small bowl, combine the first four ingredients; spread on four slices of bread. Layer with bacon, tomato and cheese; top with remaining bread.\\r\\n\\r\\n2. In a large skillet or griddle, melt 2 tablespoons butter. Toast sandwiches until lightly browned on both sides and cheese is melted, adding butter if necessary.\\r\\n\\r\\nNutrition Facts\\r\\n1 sandwich: 445 calories, 24g fat (12g saturated fat), 66mg cholesterol, 1094mg sodium, 35g carbohydrate (3g sugars, 2g fiber), 21g protein.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/xr0n4r1576788363.jpg\",\n    \"strTags\": \"Sandwich\",\n    \"strYoutube\": \"\",\n    \"strIngredient1\": \"Sour Cream\",\n    \"strIngredient2\": \"Chopped Onion\",\n    \"strIngredient3\": \"Dried Oregano\",\n    \"strIngredient4\": \"Salt\",\n    \"strIngredient5\": \"Bread\",\n    \"strIngredient6\": \"Bacon\",\n    \"strIngredient7\": \"Tomato\",\n    \"strIngredient8\": \"Mozzarella\",\n    \"strIngredient9\": \"Butter\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1/4 cup\",\n    \"strMeasure2\": \"2 tbs\",\n    \"strMeasure3\": \"1/2 tbs\",\n    \"strMeasure4\": \"1/4 tsp\",\n    \"strMeasure5\": \"8 slices\",\n    \"strMeasure6\": \"8 slices\",\n    \"strMeasure7\": \"8 slices\",\n    \"strMeasure8\": \"4 slices\",\n    \"strMeasure9\": \"2 1/2 Tbs\",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 181\n  },\n  {\n    \"idMeal\": \"53009\",\n    \"strMeal\": \"Lamb and Lemon Souvlaki\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Lamb\",\n    \"strArea\": \"Greek\",\n    \"strInstructions\": \"Pound the garlic with sea salt in a pestle and mortar (or use a small food processor), until the garlic forms a paste. Whisk together the oil, lemon juice, zest, dill and garlic. Mix in the lamb and combine well. Cover and marinate for at least 2 hrs or overnight in the fridge. If you’re going to use bamboo skewers, soak them in cold water.\\r\\n\\r\\nIf you’ve prepared the lamb the previous day, take it out of the fridge 30 mins before cooking. Thread the meat onto the soaked or metal skewers. Heat the grill to high or have a hot griddle pan or barbecue ready. Cook the skewers for 2-3 mins on each side, basting with the remaining marinade. Heat the pitta or flatbreads briefly, then stuff with the souvlaki. Add Greek salad (see 'Goes well with', right) and Tzatziki (below), if you like.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/rjhf741585564676.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=krR4rhjR75Y\",\n    \"strIngredient1\": \"Garlic\",\n    \"strIngredient2\": \"Sea Salt\",\n    \"strIngredient3\": \"Olive Oil\",\n    \"strIngredient4\": \"Lemon\",\n    \"strIngredient5\": \"Dill\",\n    \"strIngredient6\": \"Lamb Leg\",\n    \"strIngredient7\": \"Pita Bread\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 cloves\",\n    \"strMeasure2\": \"2 tsp\",\n    \"strMeasure3\": \"4 tbs\",\n    \"strMeasure4\": \"Zest and juice of 1\",\n    \"strMeasure5\": \"1 tbs\",\n    \"strMeasure6\": \"750g\",\n    \"strMeasure7\": \"To serve\",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/lamb-lemon-dill-souvlaki\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 182\n  },\n  {\n    \"idMeal\": \"53010\",\n    \"strMeal\": \"Lamb Tzatziki Burgers\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Lamb\",\n    \"strArea\": \"Greek\",\n    \"strInstructions\": \"Tip the bulghar into a pan, cover with water and boil for 10 mins. Drain really well in a sieve, pressing out any excess water.\\r\\n\\r\\nTo make the tzatziki, squeeze and discard the juice from the cucumber, then mix into the yogurt with the chopped mint and a little salt.\\r\\n\\r\\nWork the bulghar into the lamb with the spices, garlic (if using) and seasoning, then shape into 4 burgers. Brush with a little oil and fry or barbecue for about 5 mins each side until cooked all the way through. Serve in the buns (toasted if you like) with the tzatziki, tomatoes, onion and a few mint leaves.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/k420tj1585565244.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=s7_TF4ZHjPc\",\n    \"strIngredient1\": \"Bulgur Wheat\",\n    \"strIngredient2\": \"Lamb Mince\",\n    \"strIngredient3\": \"Cumin\",\n    \"strIngredient4\": \"Coriander\",\n    \"strIngredient5\": \"Paprika\",\n    \"strIngredient6\": \"Garlic\",\n    \"strIngredient7\": \"Olive Oil\",\n    \"strIngredient8\": \"Bun\",\n    \"strIngredient9\": \"Cucumber\",\n    \"strIngredient10\": \"Greek Yogurt\",\n    \"strIngredient11\": \"Mint\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"25g\",\n    \"strMeasure2\": \"500g\",\n    \"strMeasure3\": \"1 tsp \",\n    \"strMeasure4\": \"1 tsp \",\n    \"strMeasure5\": \"1 tsp \",\n    \"strMeasure6\": \"1 clove finely chopped\",\n    \"strMeasure7\": \"For frying\",\n    \"strMeasure8\": \"4\",\n    \"strMeasure9\": \"Grated\",\n    \"strMeasure10\": \"200g\",\n    \"strMeasure11\": \"2 tbs\",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/lamb-burgers-tzatziki\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 183\n  },\n  {\n    \"idMeal\": \"52767\",\n    \"strMeal\": \"Bakewell tart\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"To make the pastry, measure the flour into a bowl and rub in the butter with your fingertips until the mixture resembles fine breadcrumbs. Add the water, mixing to form a soft dough.\\r\\nRoll out the dough on a lightly floured work surface and use to line a 20cm/8in flan tin. Leave in the fridge to chill for 30 minutes.\\r\\nPreheat the oven to 200C/400F/Gas 6 (180C fan).\\r\\nLine the pastry case with foil and fill with baking beans. Bake blind for about 15 minutes, then remove the beans and foil and cook for a further five minutes to dry out the base.\\r\\nFor the filing, spread the base of the flan generously with raspberry jam.\\r\\nMelt the butter in a pan, take off the heat and then stir in the sugar. Add ground almonds, egg and almond extract. Pour into the flan tin and sprinkle over the flaked almonds.\\r\\nBake for about 35 minutes. If the almonds seem to be browning too quickly, cover the tart loosely with foil to prevent them burning.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wyrqqq1468233628.jpg\",\n    \"strTags\": \"Tart,Baking,Alcoholic\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=1ahpSTf_Pvk\",\n    \"strIngredient1\": \"plain flour\",\n    \"strIngredient2\": \"chilled butter\",\n    \"strIngredient3\": \"cold water\",\n    \"strIngredient4\": \"raspberry jam\",\n    \"strIngredient5\": \"butter\",\n    \"strIngredient6\": \"caster sugar\",\n    \"strIngredient7\": \"ground almonds\",\n    \"strIngredient8\": \"free-range egg, beaten\",\n    \"strIngredient9\": \"almond extract\",\n    \"strIngredient10\": \"flaked almonds\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": null,\n    \"strIngredient17\": null,\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"175g/6oz\",\n    \"strMeasure2\": \"75g/2½oz\",\n    \"strMeasure3\": \"2-3 tbsp\",\n    \"strMeasure4\": \"1 tbsp\",\n    \"strMeasure5\": \"125g/4½oz\",\n    \"strMeasure6\": \"125g/4½oz\",\n    \"strMeasure7\": \"125g/4½oz\",\n    \"strMeasure8\": \"1\",\n    \"strMeasure9\": \"½ tsp\",\n    \"strMeasure10\": \"50g/1¾oz\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": null,\n    \"strMeasure17\": null,\n    \"strMeasure18\": null,\n    \"strMeasure19\": null,\n    \"strMeasure20\": null,\n    \"strSource\": null,\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 184\n  },\n  {\n    \"idMeal\": \"52792\",\n    \"strMeal\": \"Bread and Butter Pudding\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Grease a 1 litre/2 pint pie dish with butter.\\r\\nCut the crusts off the bread. Spread each slice with on one side with butter, then cut into triangles.\\r\\nArrange a layer of bread, buttered-side up, in the bottom of the dish, then add a layer of sultanas. Sprinkle with a little cinnamon, then repeat the layers of bread and sultanas, sprinkling with cinnamon, until you have used up all of the bread. Finish with a layer of bread, then set aside.\\r\\nGently warm the milk and cream in a pan over a low heat to scalding point. Don't let it boil.\\r\\nCrack the eggs into a bowl, add three quarters of the sugar and lightly whisk until pale.\\r\\nAdd the warm milk and cream mixture and stir well, then strain the custard into a bowl.\\r\\nPour the custard over the prepared bread layers and sprinkle with nutmeg and the remaining sugar and leave to stand for 30 minutes.\\r\\nPreheat the oven to 180C/355F/Gas 4.\\r\\nPlace the dish into the oven and bake for 30-40 minutes, or until the custard has set and the top is golden-brown.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/xqwwpy1483908697.jpg\",\n    \"strTags\": \"Pudding,Brunch\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=Vz5W1-BmOE4\",\n    \"strIngredient1\": \"butter\",\n    \"strIngredient2\": \"bread\",\n    \"strIngredient3\": \"sultanas\",\n    \"strIngredient4\": \"cinnamon\",\n    \"strIngredient5\": \"milk\",\n    \"strIngredient6\": \"double cream\",\n    \"strIngredient7\": \"eggs\",\n    \"strIngredient8\": \"sugar\",\n    \"strIngredient9\": \"nutmeg\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"25g/1oz\",\n    \"strMeasure2\": \"8 thin slices\",\n    \"strMeasure3\": \"50g/2oz\",\n    \"strMeasure4\": \"2 tsp\",\n    \"strMeasure5\": \"350ml/12fl\",\n    \"strMeasure6\": \"50ml/2fl oz\",\n    \"strMeasure7\": \"2 free-range\",\n    \"strMeasure8\": \"25g/1oz\",\n    \"strMeasure9\": \"grated, to taste\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://cooking.nytimes.com/recipes/1018529-coq-au-vin\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 185\n  },\n  {\n    \"idMeal\": \"52803\",\n    \"strMeal\": \"Beef Wellington\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Put the mushrooms into a food processor with some seasoning and pulse to a rough paste. Scrape the paste into a pan and cook over a high heat for about 10 mins, tossing frequently, to cook out the moisture from the mushrooms. Spread out on a plate to cool.\\r\\nHeat in a frying pan and add a little olive oil. Season the beef and sear in the hot pan for 30 secs only on each side. (You don't want to cook it at this stage, just colour it). Remove the beef from the pan and leave to cool, then brush all over with the mustard.\\r\\nLay a sheet of cling film on a work surface and arrange the Parma ham slices on it, in slightly overlapping rows. With a palette knife, spread the mushroom paste over the ham, then place the seared beef fillet in the middle. Keeping a tight hold of the cling film from the edge, neatly roll the Parma ham and mushrooms around the beef to form a tight barrel shape. Twist the ends of the cling film to secure. Chill for 15-20 mins to allow the beef to set and keep its shape.\\r\\nRoll out the puff pastry on a floured surface to a large rectangle, the thickness of a £1 coin. Remove the cling film from the beef, then lay in the centre. Brush the surrounding pastry with egg yolk. Fold the ends over, the wrap the pastry around the beef, cutting off any excess. Turn over, so the seam is underneath, and place on a baking sheet. Brush over all the pastry with egg and chill for about 15 mins to let the pastry rest.\\r\\nHeat the oven to 200C, 400F, gas 6.\\r\\nLightly score the pastry at 1cm intervals and glaze again with beaten egg yolk. Bake for 20 minutes, then lower the oven setting to 180C, 350F, gas 4 and cook for another 15 mins. Allow to rest for 10-15 mins before slicing and serving with the side dishes of your choice. The beef should still be pink in the centre when you serve it.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/vvpprx1487325699.jpg\",\n    \"strTags\": \"Meat,Stew\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=FS8u1RBdf6I\",\n    \"strIngredient1\": \"mushrooms\",\n    \"strIngredient2\": \"English Mustard\",\n    \"strIngredient3\": \"Olive Oil\",\n    \"strIngredient4\": \"Beef Fillet\",\n    \"strIngredient5\": \"Parma ham\",\n    \"strIngredient6\": \"Puff Pastry\",\n    \"strIngredient7\": \"Flour\",\n    \"strIngredient8\": \"Egg Yolks\",\n    \"strIngredient9\": null,\n    \"strIngredient10\": null,\n    \"strIngredient11\": null,\n    \"strIngredient12\": null,\n    \"strIngredient13\": null,\n    \"strIngredient14\": null,\n    \"strIngredient15\": null,\n    \"strIngredient16\": null,\n    \"strIngredient17\": null,\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"400g\",\n    \"strMeasure2\": \"1-2tbsp\",\n    \"strMeasure3\": \"Dash\",\n    \"strMeasure4\": \"750g piece\",\n    \"strMeasure5\": \"6-8 slices\",\n    \"strMeasure6\": \"500g\",\n    \"strMeasure7\": \"Dusting\",\n    \"strMeasure8\": \"2 Beaten \",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.goodtoknow.co.uk/recipes/164868/Gordon-Ramsay-s-beef-Wellington\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 186\n  },\n  {\n    \"idMeal\": \"52807\",\n    \"strMeal\": \"Baingan Bharta\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Indian\",\n    \"strInstructions\": \"Rinse the baingan (eggplant or aubergine) in water. Pat dry with a kitchen napkin. Apply some oil all over and\\r\\nkeep it for roasting on an open flame. You can also grill the baingan or roast in the oven. But then you won't get\\r\\nthe smoky flavor of the baingan. Keep the eggplant turning after a 2 to 3 minutes on the flame, so that its evenly\\r\\ncooked. You could also embed some garlic cloves in the baingan and then roast it.\\r\\n2. Roast the aubergine till its completely cooked and tender. With a knife check the doneness. The knife should slid\\r\\neasily in aubergines without any resistance. Remove the baingan and immerse in a bowl of water till it cools\\r\\ndown.\\r\\n3. You can also do the dhungar technique of infusing charcoal smoky flavor in the baingan. This is an optional step.\\r\\nUse natural charcoal for this method. Heat a small piece of charcoal on flame till it becomes smoking hot and red.\\r\\n4. Make small cuts on the baingan with a knife. Place the red hot charcoal in the same plate where the roasted\\r\\naubergine is kept. Add a few drops of oil on the charcoal. The charcoal would begin to smoke.\\r\\n5. As soon as smoke begins to release from the charcoal, cover the entire plate tightly with a large bowl. Allow the\\r\\ncharcoal smoke to get infused for 1 to 2 minutes. The more you do, the more smoky the baingan bharta will\\r\\nbecome. I just keep for a minute. Alternatively, you can also do this dhungar method once the baingan bharta is\\r\\ncooked, just like the way we do for Dal Tadka.\\r\\n6. Peel the skin from the roasted and smoked eggplant.\\r\\n7. Chop the cooked eggplant finely or you can even mash it.\\r\\n8. In a kadai or pan, heat oil. Then add finely chopped onions and garlic.\\r\\n9. Saute the onions till translucent. Don't brown them.\\r\\n10. Add chopped green chilies and saute for a minute.\\r\\n11. Add the chopped tomatoes and mix it well.\\r\\n12. Bhuno (saute) the tomatoes till the oil starts separating from the mixture.\\r\\n13. Now add the red chili powder. Stir and mix well.\\r\\n14. Add the chopped cooked baingan.\\r\\n15. Stir and mix the chopped baingan very well with the onion­tomato masala mixture.\\r\\n16. Season with salt. Stir and saute for some more 4 to 5 minutes more.\\r\\n17. Finally stir in the coriander leaves with the baingan bharta or garnish it with them. Serve Baingan Bharta with\\r\\nphulkas, rotis or chapatis. It goes well even with bread, toasted or grilled bread and plain rice or jeera rice.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/urtpqw1487341253.jpg\",\n    \"strTags\": \"Spicy,Bun,Calorific\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=-84Zz2EP4h4\",\n    \"strIngredient1\": \"Aubergine\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Tomatoes\",\n    \"strIngredient4\": \"Garlic\",\n    \"strIngredient5\": \"Green Chili\",\n    \"strIngredient6\": \"Red Chili Powder\",\n    \"strIngredient7\": \"Oil\",\n    \"strIngredient8\": \"Coriander Leaves\",\n    \"strIngredient9\": \"salt\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 large\",\n    \"strMeasure2\": \"½ cup \",\n    \"strMeasure3\": \"1 cup\",\n    \"strMeasure4\": \"6 cloves\",\n    \"strMeasure5\": \"1\",\n    \"strMeasure6\": \"¼ teaspoon\",\n    \"strMeasure7\": \"1.5 tablespoon\",\n    \"strMeasure8\": \"1 tablespoon chopped\",\n    \"strMeasure9\": \"as required\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.vegrecipesofindia.com/baingan-bharta-recipe-punjabi-baingan-bharta-recipe/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 187\n  },\n  {\n    \"idMeal\": \"52812\",\n    \"strMeal\": \"Beef Brisket Pot Roast\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"1 Prepare the brisket for cooking: On one side of the brisket there should be a layer of fat, which you want. If there are any large chunks of fat, cut them off and discard them. Large pieces of fat will not be able to render out completely.\\r\\nUsing a sharp knife, score the fat in parallel lines, about 3/4-inch apart. Slice through the fat, not the beef. Repeat in the opposite direction to make a cross-hatch pattern.\\r\\nSalt the brisket well and let it sit at room temperature for 30 minutes.\\r\\n \\r\\n2 Sear the brisket: You'll need an oven-proof, thick-bottomed pot with a cover, or Dutch oven, that is just wide enough to hold the brisket roast with a little room for the onions.\\r\\nPat the brisket dry and place it, fatty side down, into the pot and place it on medium high heat. Cook for 5-8 minutes, lightly sizzling, until the fat side is nicely browned. (If the roast seems to be cooking too fast, turn the heat down to medium. You want a steady sizzle, not a raging sear.)\\r\\nTurn the brisket over and cook for a few minutes more to brown the other side.\\r\\n\\r\\n3 Sauté the onions and garlic: When the brisket has browned, remove it from the pot and set aside. There should be a couple tablespoons of fat rendered in the pot, if not, add some olive oil.\\r\\nAdd the chopped onions and increase the heat to high. Sprinkle a little salt on the onions. Sauté, stirring often, until the onions are lightly browned, 5-8 minutes. Stir in the garlic and cook 1-2 more minutes.\\r\\n \\r\\n4 Return brisket to pot, add herbs, stock, bring to simmer, cover, cook in oven: Preheat the oven to 300°F. Use kitchen twine to tie together the bay leaves, rosemary and thyme.\\r\\nMove the onions and garlic to the sides of the pot and nestle the brisket inside. Add the beef stock and the tied-up herbs. Bring the stock to a boil on the stovetop.\\r\\nCover the pot, place the pot in the 300°F oven and cook for 3 hours. Carefully flip the brisket every hour so it cooks evenly.\\r\\n \\r\\n5 Add carrots, continue to cook: After 3 hours, add the carrots. Cover the pot and cook for 1 hour more, or until the carrots are cooked through and the brisket is falling-apart tender.\\r\\n6 Remove brisket to cutting board, tent with foil: When the brisket is falling-apart tender, take the pot out of the oven and remove the brisket to a cutting board. Cover it with foil. Pull out and discard the herbs.\\r\\n7 Make sauce (optional): At this point you have two options. You can serve as is, or you can make a sauce with the drippings and some of the onions. If you serve as is, skip this step.\\r\\nTo make a sauce, remove the carrots and half of the onions, set aside and cover them with foil. Pour the ingredients that are remaining into the pot into a blender, and purée until smooth. If you want, add 1 tablespoon of mustard to the mix. Put into a small pot and keep warm.\\r\\n8 Slice the meat across the grain: Notice the lines of the muscle fibers of the roast. This is the \\\"grain\\\" of the meat. Slice the meat perpendicular to these lines, or across the grain (cutting this way further tenderizes the meat), in 1/4-inch to 1/2-inch slices.\\r\\nServe with the onions, carrots and gravy. Serve with mashed, roasted or boiled potatoes, egg noodles or polenta.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/ursuup1487348423.jpg\",\n    \"strTags\": \"Meat\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=gh48wM6bPWQ\",\n    \"strIngredient1\": \"Beef Brisket\",\n    \"strIngredient2\": \"Salt\",\n    \"strIngredient3\": \"Onion\",\n    \"strIngredient4\": \"Garlic\",\n    \"strIngredient5\": \"Thyme\",\n    \"strIngredient6\": \"Rosemary\",\n    \"strIngredient7\": \"Bay Leaves\",\n    \"strIngredient8\": \"beef stock\",\n    \"strIngredient9\": \"Carrots\",\n    \"strIngredient10\": \"Mustard\",\n    \"strIngredient11\": \"Potatoes\",\n    \"strIngredient12\": null,\n    \"strIngredient13\": null,\n    \"strIngredient14\": null,\n    \"strIngredient15\": null,\n    \"strIngredient16\": null,\n    \"strIngredient17\": null,\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"4-5 pound\",\n    \"strMeasure2\": \"Dash\",\n    \"strMeasure3\": \"3\",\n    \"strMeasure4\": \"5 cloves\",\n    \"strMeasure5\": \"1 Sprig\",\n    \"strMeasure6\": \"1 sprig \",\n    \"strMeasure7\": \"4\",\n    \"strMeasure8\": \"2 cups\",\n    \"strMeasure9\": \"3 Large\",\n    \"strMeasure10\": \"1 Tbsp\",\n    \"strMeasure11\": \"4 Mashed\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.simplyrecipes.com/recipes/beef_brisket_pot_roast/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 188\n  },\n  {\n    \"idMeal\": \"52824\",\n    \"strMeal\": \"Beef Sunday Roast\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Cook the Broccoli and Carrots in a pan of boiling water until tender.\\r\\n\\r\\nRoast the Beef and Potatoes in the oven for 45mins, the potatoes may need to be checked regularly to not overcook.\\r\\n\\r\\nTo make the Yorkshire puddings:\\r\\nHeat oven to 230C/fan 210C/gas 8. Drizzle a little sunflower oil evenly into 2 x 4-hole Yorkshire pudding tins or a 12-hole non-stick muffin tin and place in the oven to heat through\\r\\nTo make the batter, tip 140g plain flour into a bowl and beat in four eggs until smooth. Gradually add 200ml milk and carry on beating until the mix is completely lump-free. Season with salt and pepper. Pour the batter into a jug, then remove the hot tins from the oven. Carefully and evenly pour the batter into the holes. Place the tins back in the oven and leave undisturbed for 20-25 mins until the puddings have puffed up and browned. Serve immediately.\\r\\n\\r\\nPlate up and add the Gravy as desired.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/ssrrrs1503664277.jpg\",\n    \"strTags\": \"MainMeal\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=2l3-dBdNehY\",\n    \"strIngredient1\": \"Beef\",\n    \"strIngredient2\": \"Broccoli\",\n    \"strIngredient3\": \"Potatoes\",\n    \"strIngredient4\": \"Carrots\",\n    \"strIngredient5\": \"plain flour\",\n    \"strIngredient6\": \"Eggs\",\n    \"strIngredient7\": \"milk\",\n    \"strIngredient8\": \"sunflower oil\",\n    \"strIngredient9\": null,\n    \"strIngredient10\": null,\n    \"strIngredient11\": null,\n    \"strIngredient12\": null,\n    \"strIngredient13\": null,\n    \"strIngredient14\": null,\n    \"strIngredient15\": null,\n    \"strIngredient16\": null,\n    \"strIngredient17\": null,\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"8 slices\",\n    \"strMeasure2\": \"12 florets\",\n    \"strMeasure3\": \"1 Packet\",\n    \"strMeasure4\": \"1 Packet\",\n    \"strMeasure5\": \"140g\",\n    \"strMeasure6\": \"4\",\n    \"strMeasure7\": \"200ml\",\n    \"strMeasure8\": \"drizzle (for cooking)\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/9020/best-yorkshire-puddings\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 189\n  },\n  {\n    \"idMeal\": \"52826\",\n    \"strMeal\": \"Braised Beef Chilli\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Mexican\",\n    \"strInstructions\": \"Preheat the oven to 120C/225F/gas mark 1.\\r\\n\\r\\nTake the meat out of the fridge to de-chill. Pulse the onions and garlic in a food processor until finely chopped. Heat 2 tbsp olive oil in a large casserole and sear the meat on all sides until golden.\\r\\n\\r\\nSet to one side and add another small slug of oil to brown the chorizo. Remove and add the onion and garlic, spices, herbs and chillies then cook until soft in the chorizo oil. Season with salt and pepper and add the vinegar, tomatoes, ketchup and sugar.\\r\\n\\r\\nPut all the meat back into the pot with 400ml water (or red wine if you prefer), bring up to a simmer and cook, covered, in the low oven.\\r\\n\\r\\nAfter 2 hours, check the meat and add the beans. Cook for a further hour and just before serving, pull the meat apart with a pair of forks.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/uuqvwu1504629254.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=z4kSoJgsu6Y\",\n    \"strIngredient1\": \"Beef\",\n    \"strIngredient2\": \"Onions\",\n    \"strIngredient3\": \"Garlic\",\n    \"strIngredient4\": \"Olive oil\",\n    \"strIngredient5\": \"Chorizo\",\n    \"strIngredient6\": \"Cumin\",\n    \"strIngredient7\": \"All spice\",\n    \"strIngredient8\": \"Cloves\",\n    \"strIngredient9\": \"Cinnamon stick\",\n    \"strIngredient10\": \"Bay Leaves\",\n    \"strIngredient11\": \"Oregano\",\n    \"strIngredient12\": \"Ancho Chillies\",\n    \"strIngredient13\": \"Balsamic Vinegar\",\n    \"strIngredient14\": \"Plum Tomatoes\",\n    \"strIngredient15\": \"Tomato Ketchup\",\n    \"strIngredient16\": \"Dark Brown Sugar\",\n    \"strIngredient17\": \"Borlotti Beans\",\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"1kg\",\n    \"strMeasure2\": \"3\",\n    \"strMeasure3\": \"4 cloves\",\n    \"strMeasure4\": \"Dash\",\n    \"strMeasure5\": \"300g\",\n    \"strMeasure6\": \"2 tsp\",\n    \"strMeasure7\": \"2 tsp\",\n    \"strMeasure8\": \"1 tsp\",\n    \"strMeasure9\": \"1 large\",\n    \"strMeasure10\": \"3\",\n    \"strMeasure11\": \"2 tsp dried\",\n    \"strMeasure12\": \"2 ancho\",\n    \"strMeasure13\": \"3 tbsp\",\n    \"strMeasure14\": \"2 x 400g\",\n    \"strMeasure15\": \"2 tbsp\",\n    \"strMeasure16\": \"2 tbsp\",\n    \"strMeasure17\": \"2 x 400g tins\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.telegraph.co.uk/food-and-drink/recipes/braised-beef-chilli-con-carne/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 190\n  },\n  {\n    \"idMeal\": \"52834\",\n    \"strMeal\": \"Beef stroganoff\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Russian\",\n    \"strInstructions\": \"Heat the olive oil in a non-stick frying pan then add the sliced onion and cook on a medium heat until completely softened, so around 15 mins, adding a little splash of water if they start to stick at all. Crush in the garlic and cook for a 2-3 mins further, then add the butter. Once the butter is foaming a little, add the mushrooms and cook for around 5 mins until completely softened. Season everything well, then tip onto a plate.\\r\\nTip the flour into a bowl with a big pinch of salt and pepper, then toss the steak in the seasoned flour. Add the steak pieces to the pan, splashing in a little oil if the pan looks particularly dry, and fry for 3-4 mins, until well coloured. Tip the onions and mushrooms back into the pan. Whisk the crème fraîche, mustard and beef stock together, then pour into the pan. Cook over a medium heat for around 5 mins. Scatter with parsley, then serve with pappardelle or rice.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/svprys1511176755.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=PQHgQX1Ss74\",\n    \"strIngredient1\": \"Olive Oil\",\n    \"strIngredient2\": \"Onions\",\n    \"strIngredient3\": \"Garlic\",\n    \"strIngredient4\": \"Butter\",\n    \"strIngredient5\": \"Mushrooms\",\n    \"strIngredient6\": \"Beef Fillet\",\n    \"strIngredient7\": \"Plain Flour\",\n    \"strIngredient8\": \"Creme Fraiche\",\n    \"strIngredient9\": \"English Mustard\",\n    \"strIngredient10\": \"Beef Stock\",\n    \"strIngredient11\": \"Parsley\",\n    \"strIngredient12\": null,\n    \"strIngredient13\": null,\n    \"strIngredient14\": null,\n    \"strIngredient15\": null,\n    \"strIngredient16\": null,\n    \"strIngredient17\": null,\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"1 tbls\",\n    \"strMeasure2\": \"1\",\n    \"strMeasure3\": \"1 clove\",\n    \"strMeasure4\": \"1 tbsp\",\n    \"strMeasure5\": \"250g\",\n    \"strMeasure6\": \"500g\",\n    \"strMeasure7\": \"1tbsp\",\n    \"strMeasure8\": \"150g\",\n    \"strMeasure9\": \"1 tbsp\",\n    \"strMeasure10\": \"100ml\",\n    \"strMeasure11\": \"Topping\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/beef-stroganoff\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 191\n  },\n  {\n    \"idMeal\": \"52842\",\n    \"strMeal\": \"Broccoli & Stilton soup\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Starter\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Heat the rapeseed oil in a large saucepan and then add the onions. Cook on a medium heat until soft. Add a splash of water if the onions start to catch.\\r\\n\\r\\nAdd the celery, leek, potato and a knob of butter. Stir until melted, then cover with a lid. Allow to sweat for 5 minutes. Remove the lid.\\r\\n\\r\\nPour in the stock and add any chunky bits of broccoli stalk. Cook for 10 – 15 minutes until all the vegetables are soft.\\r\\n\\r\\nAdd the rest of the broccoli and cook for a further 5 minutes. Carefully transfer to a blender and blitz until smooth. Stir in the stilton, allowing a few lumps to remain. Season with black pepper and serve.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/tvvxpv1511191952.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=_HgVLpmNxTY\",\n    \"strIngredient1\": \"Rapeseed Oil\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Celery\",\n    \"strIngredient4\": \"Leek\",\n    \"strIngredient5\": \"Potatoes\",\n    \"strIngredient6\": \"Butter\",\n    \"strIngredient7\": \"Vegetable Stock\",\n    \"strIngredient8\": \"Broccoli\",\n    \"strIngredient9\": \"Stilton Cheese\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 tblsp \",\n    \"strMeasure2\": \"1 finely chopped \",\n    \"strMeasure3\": \"1\",\n    \"strMeasure4\": \"1 sliced\",\n    \"strMeasure5\": \"1 medium\",\n    \"strMeasure6\": \"1 knob\",\n    \"strMeasure7\": \"1 litre hot\",\n    \"strMeasure8\": \"1 Head chopped\",\n    \"strMeasure9\": \"140g\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/1940679/broccoli-and-stilton-soup\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 192\n  },\n  {\n    \"idMeal\": \"52848\",\n    \"strMeal\": \"Bean & Sausage Hotpot\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Miscellaneous\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"In a large casserole, fry the sausages until brown all over – about 10 mins.\\r\\n\\r\\nAdd the tomato sauce, stirring well, then stir in the beans, treacle or sugar and mustard. Bring to the simmer, cover and cook for 30 mins. Great served with crusty bread or rice.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/vxuyrx1511302687.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=B0YX0yPX4Wo\",\n    \"strIngredient1\": \"Sausages\",\n    \"strIngredient2\": \"Tomato Sauce\",\n    \"strIngredient3\": \"Butter Beans\",\n    \"strIngredient4\": \"Black Treacle\",\n    \"strIngredient5\": \"English Mustard\",\n    \"strIngredient6\": \"\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"8 large\",\n    \"strMeasure2\": \"1 Jar\",\n    \"strMeasure3\": \"1200g\",\n    \"strMeasure4\": \"1 tbls\",\n    \"strMeasure5\": \"1 tsp \",\n    \"strMeasure6\": \"\",\n    \"strMeasure7\": \"\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/339607/bean-and-sausage-hotpot\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 193\n  },\n  {\n    \"idMeal\": \"52855\",\n    \"strMeal\": \"Banana Pancakes\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"In a bowl, mash the banana with a fork until it resembles a thick purée. Stir in the eggs, baking powder and vanilla.\\r\\nHeat a large non-stick frying pan or pancake pan over a medium heat and brush with half the oil. Using half the batter, spoon two pancakes into the pan, cook for 1-2 mins each side, then tip onto a plate. Repeat the process with the remaining oil and batter. Top the pancakes with the pecans and raspberries.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/sywswr1511383814.jpg\",\n    \"strTags\": \"Breakfast,Desert,Sweet\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=kSKtb2Sv-_U\",\n    \"strIngredient1\": \"Banana\",\n    \"strIngredient2\": \"Eggs\",\n    \"strIngredient3\": \"Baking Powder\",\n    \"strIngredient4\": \"Vanilla Extract\",\n    \"strIngredient5\": \"Oil\",\n    \"strIngredient6\": \"Pecan Nuts\",\n    \"strIngredient7\": \"Raspberries\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 large\",\n    \"strMeasure2\": \"2 medium\",\n    \"strMeasure3\": \"pinch\",\n    \"strMeasure4\": \"spinkling\",\n    \"strMeasure5\": \"1 tsp \",\n    \"strMeasure6\": \"25g\",\n    \"strMeasure7\": \"125g\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/banana-pancakes\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 194\n  },\n  {\n    \"idMeal\": \"52873\",\n    \"strMeal\": \"Beef Dumpling Stew\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Preheat the oven to 180C/350F/Gas 4.\\r\\n\\r\\nFor the beef stew, heat the oil and butter in an ovenproof casserole and fry the beef until browned on all sides.\\r\\n\\r\\nSprinkle over the flour and cook for a further 2-3 minutes.\\r\\n\\r\\nAdd the garlic and all the vegetables and fry for 1-2 minutes.\\r\\n\\r\\nStir in the wine, stock and herbs, then add the Worcestershire sauce and balsamic vinegar, to taste. Season with salt and freshly ground black pepper.\\r\\n\\r\\nCover with a lid, transfer to the oven and cook for about two hours, or until the meat is tender.\\r\\n\\r\\nFor the dumplings, sift the flour, baking powder and salt into a bowl.\\r\\nAdd the suet and enough water to form a thick dough.\\r\\n\\r\\nWith floured hands, roll spoonfuls of the dough into small balls.\\r\\n\\r\\nAfter two hours, remove the lid from the stew and place the balls on top of the stew. Cover, return to the oven and cook for a further 20 minutes, or until the dumplings have swollen and are tender. (If you prefer your dumplings with a golden top, leave the lid off when returning to the oven.)\\r\\n\\r\\nTo serve, place a spoonful of mashed potato onto each of four serving plates and top with the stew and dumplings. Sprinkle with chopped parsley.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/uyqrrv1511553350.jpg\",\n    \"strTags\": \"Stew,Baking\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=6NgheY-r5t0\",\n    \"strIngredient1\": \"Olive Oil\",\n    \"strIngredient2\": \"Butter\",\n    \"strIngredient3\": \"Beef\",\n    \"strIngredient4\": \"Plain Flour\",\n    \"strIngredient5\": \"Garlic\",\n    \"strIngredient6\": \"Onions\",\n    \"strIngredient7\": \"Celery\",\n    \"strIngredient8\": \"Carrots\",\n    \"strIngredient9\": \"Leek\",\n    \"strIngredient10\": \"Swede\",\n    \"strIngredient11\": \"Red Wine\",\n    \"strIngredient12\": \"Beef Stock\",\n    \"strIngredient13\": \"Bay Leaf\",\n    \"strIngredient14\": \"Thyme\",\n    \"strIngredient15\": \"Parsley\",\n    \"strIngredient16\": \"Plain Flour\",\n    \"strIngredient17\": \"Baking Powder\",\n    \"strIngredient18\": \"Suet\",\n    \"strIngredient19\": \"Water\",\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"2 tbs\",\n    \"strMeasure2\": \"25g\",\n    \"strMeasure3\": \"750g\",\n    \"strMeasure4\": \"2 tblsp \",\n    \"strMeasure5\": \"2 cloves minced\",\n    \"strMeasure6\": \"175g\",\n    \"strMeasure7\": \"150g\",\n    \"strMeasure8\": \"150g\",\n    \"strMeasure9\": \"2 chopped\",\n    \"strMeasure10\": \"200g\",\n    \"strMeasure11\": \"150ml\",\n    \"strMeasure12\": \"500g\",\n    \"strMeasure13\": \"2\",\n    \"strMeasure14\": \"3 tbs\",\n    \"strMeasure15\": \"3 tblsp chopped\",\n    \"strMeasure16\": \"125g\",\n    \"strMeasure17\": \"1 tsp \",\n    \"strMeasure18\": \"60g\",\n    \"strMeasure19\": \"Splash\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbc.co.uk/food/recipes/beefstewwithdumpling_87333\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 195\n  },\n  {\n    \"idMeal\": \"52874\",\n    \"strMeal\": \"Beef and Mustard Pie\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Preheat the oven to 150C/300F/Gas 2.\\r\\nToss the beef and flour together in a bowl with some salt and black pepper.\\r\\nHeat a large casserole until hot, add half of the rapeseed oil and enough of the beef to just cover the bottom of the casserole.\\r\\nFry until browned on each side, then remove and set aside. Repeat with the remaining oil and beef.\\r\\nReturn the beef to the pan, add the wine and cook until the volume of liquid has reduced by half, then add the stock, onion, carrots, thyme and mustard, and season well with salt and pepper.\\r\\nCover with a lid and place in the oven for two hours.\\r\\nRemove from the oven, check the seasoning and set aside to cool. Remove the thyme.\\r\\nWhen the beef is cool and you're ready to assemble the pie, preheat the oven to 200C/400F/Gas 6.\\r\\nTransfer the beef to a pie dish, brush the rim with the beaten egg yolks and lay the pastry over the top. Brush the top of the pastry with more beaten egg.\\r\\nTrim the pastry so there is just enough excess to crimp the edges, then place in the oven and bake for 30 minutes, or until the pastry is golden-brown and cooked through.\\r\\nFor the green beans, bring a saucepan of salted water to the boil, add the beans and cook for 4-5 minutes, or until just tender.\\r\\nDrain and toss with the butter, then season with black pepper.\\r\\nTo serve, place a large spoonful of pie onto each plate with some green beans alongside.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/sytuqu1511553755.jpg\",\n    \"strTags\": \"Meat,Pie\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=nMyBC9staMU\",\n    \"strIngredient1\": \"Beef\",\n    \"strIngredient2\": \"Plain Flour\",\n    \"strIngredient3\": \"Rapeseed Oil\",\n    \"strIngredient4\": \"Red Wine\",\n    \"strIngredient5\": \"Beef Stock\",\n    \"strIngredient6\": \"Onion\",\n    \"strIngredient7\": \"Carrots\",\n    \"strIngredient8\": \"Thyme\",\n    \"strIngredient9\": \"Mustard\",\n    \"strIngredient10\": \"Egg Yolks\",\n    \"strIngredient11\": \"Puff Pastry\",\n    \"strIngredient12\": \"Green Beans\",\n    \"strIngredient13\": \"Butter\",\n    \"strIngredient14\": \"Salt\",\n    \"strIngredient15\": \"Pepper\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1kg\",\n    \"strMeasure2\": \"2 tbs\",\n    \"strMeasure3\": \"2 tbs\",\n    \"strMeasure4\": \"200ml\",\n    \"strMeasure5\": \"400ml\",\n    \"strMeasure6\": \"1 finely sliced\",\n    \"strMeasure7\": \"2 chopped\",\n    \"strMeasure8\": \"3 sprigs\",\n    \"strMeasure9\": \"2 tbs\",\n    \"strMeasure10\": \"2 free-range\",\n    \"strMeasure11\": \"400g\",\n    \"strMeasure12\": \"300g\",\n    \"strMeasure13\": \"25g\",\n    \"strMeasure14\": \"pinch\",\n    \"strMeasure15\": \"pinch\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbc.co.uk/food/recipes/beef_and_mustard_pie_58002\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 196\n  },\n  {\n    \"idMeal\": \"52878\",\n    \"strMeal\": \"Beef and Oyster pie\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Season the beef cubes with salt and black pepper. Heat a tablespoon of oil in the frying pan and fry the meat over a high heat. Do this in three batches so that you don’t overcrowd the pan, transferring the meat to a large flameproof casserole dish once it is browned all over. Add extra oil if the pan seems dry.\\r\\nIn the same pan, add another tablespoon of oil and cook the shallots for 4-5 minutes, then add the garlic and fry for 30 seconds. Add the bacon and fry until slightly browned. Transfer the onion and bacon mixture to the casserole dish and add the herbs.\\r\\nPreheat the oven to 180C/350F/Gas 4.\\r\\nPour the stout into the frying pan and bring to the boil, stirring to lift any stuck-on browned bits from the bottom of the pan. Pour the stout over the beef in the casserole dish and add the stock. Cover the casserole and place it in the oven for 1½-2 hours, or until the beef is tender and the sauce is reduced.\\r\\nSkim off any surface fat, taste and add salt and pepper if necessary, then stir in the cornflour paste. Put the casserole dish on the hob – don’t forget that it will be hot – and simmer for 1-2 minutes, stirring, until thickened. Leave to cool.\\r\\nIncrease the oven to 200C/400F/Gas 6. To make the pastry, put the flour and salt in a very large bowl. Grate the butter and stir it into the flour in three batches. Gradually add 325ml/11fl oz cold water – you may not need it all – and stir with a round-bladed knife until the mixture just comes together. Knead the pastry lightly into a ball on a lightly floured surface and set aside 250g/9oz for the pie lid.\\r\\nRoll the rest of the pastry out until about 2cm/¾in larger than the dish you’re using. Line the dish with the pastry then pile in the filling, tucking the oysters in as well. Brush the edge of the pastry with beaten egg.\\r\\nRoll the remaining pastry until slightly larger than your dish and gently lift over the filling, pressing the edges firmly to seal, then trim with a sharp knife. Brush with beaten egg to glaze. Put the dish on a baking tray and bake for 25-30 minutes, or until the pastry is golden-brown and the filling is bubbling.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wrssvt1511556563.jpg\",\n    \"strTags\": \"Pie\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=ONX74yP6JnI\",\n    \"strIngredient1\": \"Beef\",\n    \"strIngredient2\": \"Olive Oil\",\n    \"strIngredient3\": \"Shallots\",\n    \"strIngredient4\": \"Garlic\",\n    \"strIngredient5\": \"Bacon\",\n    \"strIngredient6\": \"Thyme\",\n    \"strIngredient7\": \"Bay Leaf\",\n    \"strIngredient8\": \"Stout\",\n    \"strIngredient9\": \"Beef Stock\",\n    \"strIngredient10\": \"Corn Flour\",\n    \"strIngredient11\": \"Oysters\",\n    \"strIngredient12\": \"Plain Flour\",\n    \"strIngredient13\": \"Salt\",\n    \"strIngredient14\": \"Butter\",\n    \"strIngredient15\": \"Eggs\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"900g\",\n    \"strMeasure2\": \"3 tbs\",\n    \"strMeasure3\": \"3\",\n    \"strMeasure4\": \"2 cloves minced\",\n    \"strMeasure5\": \"125g\",\n    \"strMeasure6\": \"1 tbs chopped\",\n    \"strMeasure7\": \"2\",\n    \"strMeasure8\": \"330ml\",\n    \"strMeasure9\": \"400ml\",\n    \"strMeasure10\": \"2 tbs\",\n    \"strMeasure11\": \"8\",\n    \"strMeasure12\": \"400g\",\n    \"strMeasure13\": \"pinch\",\n    \"strMeasure14\": \"250g\",\n    \"strMeasure15\": \"To Glaze\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbc.co.uk/food/recipes/beef_and_oyster_pie_65230\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 197\n  },\n  {\n    \"idMeal\": \"52891\",\n    \"strMeal\": \"Blackberry Fool\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"For the biscuits, preheat the oven to 200C/180C (fan)/Gas 6 and line two large baking trays with baking parchment. Scatter the nuts over a baking tray and roast in the oven for 6-8 minutes, or until golden-brown. Watch them carefully so that they don’t have a chance to burn. Remove from the oven, tip onto a board and leave to cool.\\r\\nPut the butter and sugar in a large bowl and beat with a wooden spoon until light and creamy. Roughly chop the cooled nuts and add to the creamed butter and sugar, along with the lemon zest, flour and baking powder. Stir well until the mixture comes together and forms a ball – you may need to use your hands.\\r\\nDivide the biscuit dough into 24 even pieces and roll into small balls. Place the balls the prepared baking trays, spaced well apart to allow for spreading.\\r\\nPress the biscuits to flatten to around 1cm/½in thick. Bake the biscuits, one tray at a time, for 12 minutes or until very pale golden-brown. Leave to cool on the trays. They will be very soft when you take them out of the oven, but will crisp as they cool.\\r\\nStore in an airtight tin and eat within five days.\\r\\nFor the fool, rinse the blackberries in a colander to wash away any dust or dirt. Put the blackberries in a non-stick saucepan and sprinkle over the caster sugar.\\r\\nStir in the lemon juice and heat gently for two minutes, or until the blackberries begin to soften and release their juices. Remove and reserve 12 blackberries for decoration and continue cooking the rest.\\r\\nSimmer the blackberries very gently for 15 minutes, stirring regularly until very soft and squidgy. Remove from the heat and press the berries and juice through a sieve over a bowl, using the bottom of a ladle to help you extract as much of the purée as possible. Leave the purée to cool and discard the seeds. You should end up with around 325ml/11fl oz of purée.\\r\\nPut the cream and yoghurt in a large bowl and whip with an electric whisk until soft peaks form when the whisk is removed from the bowl – the acidity of the fruit will thicken the cream further, so don’t take it too far.\\r\\nWhen the purée is completely cold, adjust the sweetness to taste by adding more sugar if needed. Pour it into the bowl with the whipped cream and yoghurt and stir just once or twice until very lightly combined.\\r\\nSpoon the blackberry fool into individual wide, glass dishes – or one large, single bowl. It should look quite marbled, so don’t over-stir it. Scatter a few tiny mint leaves on top and decorate with the reserved blackberries. Sprinkle with a little sugar if you like and serve with the hazelnut biscuits.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/rpvptu1511641092.jpg\",\n    \"strTags\": \"Desert,Summer,Fruity,Dairy\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=kniRGjDLFrQ\",\n    \"strIngredient1\": \"Hazlenuts\",\n    \"strIngredient2\": \"Butter\",\n    \"strIngredient3\": \"Caster Sugar\",\n    \"strIngredient4\": \"Lemon\",\n    \"strIngredient5\": \"Plain Flour\",\n    \"strIngredient6\": \"Baking Powder\",\n    \"strIngredient7\": \"Blackberrys\",\n    \"strIngredient8\": \"Sugar\",\n    \"strIngredient9\": \"Caster Sugar\",\n    \"strIngredient10\": \"Lemon Juice\",\n    \"strIngredient11\": \"Double Cream\",\n    \"strIngredient12\": \"Yogurt\",\n    \"strIngredient13\": \"Mint\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"50g\",\n    \"strMeasure2\": \"125g\",\n    \"strMeasure3\": \"150g\",\n    \"strMeasure4\": \"Grated\",\n    \"strMeasure5\": \"150g\",\n    \"strMeasure6\": \"½ tsp\",\n    \"strMeasure7\": \"600g\",\n    \"strMeasure8\": \"75g\",\n    \"strMeasure9\": \"2 tbs\",\n    \"strMeasure10\": \"1 tbs\",\n    \"strMeasure11\": \"300ml \",\n    \"strMeasure12\": \"100ml\",\n    \"strMeasure13\": \"Garnish with\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbc.co.uk/food/recipes/blackberry_fool_with_11859\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 198\n  },\n  {\n    \"idMeal\": \"52894\",\n    \"strMeal\": \"Battenberg Cake\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Heat oven to 180C/160C fan/gas 4 and line the base and sides of a 20cm square tin with baking parchment (the easiest way is to cross 2 x 20cm-long strips over the base). To make the almond sponge, put the butter, sugar, flour, ground almonds, baking powder, eggs, vanilla and almond extract in a large bowl. Beat with an electric whisk until the mix comes together smoothly. Scrape into the tin, spreading to the corners, and bake for 25-30 mins – when you poke in a skewer, it should come out clean. Cool in the tin for 10 mins, then transfer to a wire rack to finish cooling while you make the second sponge.\\r\\nFor the pink sponge, line the tin as above. Mix all the ingredients together as above, but don’t add the almond extract. Fold in some pink food colouring. Then scrape it all into the tin and bake as before. Cool.\\r\\nTo assemble, heat the jam in a small pan until runny, then sieve. Barely trim two opposite edges from the almond sponge, then well trim a third edge. Roughly measure the height of the sponge, then cutting from the well-trimmed edge, use a ruler to help you cut 4 slices each the same width as the sponge height. Discard or nibble leftover sponge. Repeat with pink cake.\\r\\nTake 2 x almond slices and 2 x pink slices and trim so they are all the same length. Roll out one marzipan block on a surface lightly dusted with icing sugar to just over 20cm wide, then keep rolling lengthways until the marzipan is roughly 0.5cm thick. Brush with apricot jam, then lay a pink and an almond slice side by side at one end of the marzipan, brushing jam in between to stick sponges, and leaving 4cm clear marzipan at the end. Brush more jam on top of the sponges, then sandwich remaining 2 slices on top, alternating colours to give a checkerboard effect. Trim the marzipan to the length of the cakes.\\r\\nCarefully lift up the marzipan and smooth over the cake with your hands, but leave a small marzipan fold along the bottom edge before you stick it to the first side. Trim opposite side to match size of fold, then crimp edges using fingers and thumb (or, more simply, press with prongs of fork). If you like, mark the 10 slices using the prongs of a fork.\\r\\nAssemble second Battenberg and keep in an airtight box or well wrapped in cling film for up to 3 days. Can be frozen for up to a month.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/ywwrsp1511720277.jpg\",\n    \"strTags\": \"Cake,Sweet\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=aB41Q7kDZQ0\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Caster Sugar\",\n    \"strIngredient3\": \"Self-raising Flour\",\n    \"strIngredient4\": \"Almonds\",\n    \"strIngredient5\": \"Baking Powder\",\n    \"strIngredient6\": \"Eggs\",\n    \"strIngredient7\": \"Vanilla Extract\",\n    \"strIngredient8\": \"Almond Extract\",\n    \"strIngredient9\": \"Butter\",\n    \"strIngredient10\": \"Caster Sugar\",\n    \"strIngredient11\": \"Self-raising Flour\",\n    \"strIngredient12\": \"Almonds\",\n    \"strIngredient13\": \"Baking Powder\",\n    \"strIngredient14\": \"Eggs\",\n    \"strIngredient15\": \"Vanilla Extract\",\n    \"strIngredient16\": \"Almond Extract\",\n    \"strIngredient17\": \"Pink Food Colouring\",\n    \"strIngredient18\": \"Apricot\",\n    \"strIngredient19\": \"Marzipan\",\n    \"strIngredient20\": \"Icing Sugar\",\n    \"strMeasure1\": \"175g\",\n    \"strMeasure2\": \"175g\",\n    \"strMeasure3\": \"140g\",\n    \"strMeasure4\": \"50g\",\n    \"strMeasure5\": \"½ tsp\",\n    \"strMeasure6\": \"3 Medium\",\n    \"strMeasure7\": \"½ tsp\",\n    \"strMeasure8\": \"¼ teaspoon\",\n    \"strMeasure9\": \"175g\",\n    \"strMeasure10\": \"175g\",\n    \"strMeasure11\": \"140g\",\n    \"strMeasure12\": \"50g\",\n    \"strMeasure13\": \"½ tsp\",\n    \"strMeasure14\": \"3 Medium\",\n    \"strMeasure15\": \"½ tsp\",\n    \"strMeasure16\": \"¼ teaspoon\",\n    \"strMeasure17\": \"½ tsp\",\n    \"strMeasure18\": \"200g\",\n    \"strMeasure19\": \"1kg\",\n    \"strMeasure20\": \"Dusting\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/1120657/battenberg-cake\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 199\n  },\n  {\n    \"idMeal\": \"52904\",\n    \"strMeal\": \"Beef Bourguignon\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Heat a large casserole pan and add 1 tbsp goose fat. Season the beef and fry until golden brown, about 3-5 mins, then turn over and fry the other side until the meat is browned all over, adding more fat if necessary. Do this in 2-3 batches, transferring the meat to a colander set over a bowl when browned.\\r\\nIn the same pan, fry the bacon, shallots or pearl onions, mushrooms, garlic and bouquet garni until lightly browned. Mix in the tomato purée and cook for a few mins, stirring into the mixture. This enriches the bourguignon and makes a great base for the stew. Then return the beef and any drained juices to the pan and stir through.\\r\\nPour over the wine and about 100ml water so the meat bobs up from the liquid, but isn’t completely covered. Bring to the boil and use a spoon to scrape the caramelised cooking juices from the bottom of the pan – this will give the stew more flavour.\\r\\nHeat oven to 150C/fan 130C/gas 2. Make a cartouche: tear off a square of foil slightly larger than the casserole, arrange it in the pan so it covers the top of the stew and trim away any excess foil. Then cook for 3 hrs. If the sauce looks watery, remove the beef and veg with a slotted spoon, and set aside. Cook the sauce over a high heat for a few mins until the sauce has thickened a little, then return the beef and vegetables to the pan.\\r\\nTo make the celeriac mash, peel the celeriac and cut into cubes. Heat the olive oil in a large frying pan. Tip in the celeriac and fry for 5 mins until it turns golden. Season well with salt and pepper. Stir in the rosemary, thyme, bay and cardamom pods, then pour over 200ml water, enough to nearly cover the celeriac. Turn the heat to low, partially cover the pan and leave to simmer for 25-30 mins.\\r\\nAfter 25-30 mins, the celeriac should be soft and most of the water will have evaporated. Drain away any remaining water, then remove the herb sprigs, bay and cardamom pods. Lightly crush with a potato masher, then finish with a glug of olive oil and season to taste. Spoon the beef bourguignon into serving bowls and place a large spoonful of the celeriac mash on top. Garnish with one of the bay leaves, if you like.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/vtqxtu1511784197.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=SQnr4Z-7rok\",\n    \"strIngredient1\": \"Goose Fat\",\n    \"strIngredient2\": \"Beef Shin\",\n    \"strIngredient3\": \"Bacon\",\n    \"strIngredient4\": \"Challots\",\n    \"strIngredient5\": \"Chestnut Mushroom\",\n    \"strIngredient6\": \"Garlic Clove\",\n    \"strIngredient7\": \"Bouquet Garni\",\n    \"strIngredient8\": \"Tomato Puree\",\n    \"strIngredient9\": \"Red Wine\",\n    \"strIngredient10\": \"Celeriac\",\n    \"strIngredient11\": \"Olive Oil\",\n    \"strIngredient12\": \"Thyme\",\n    \"strIngredient13\": \"Rosemary\",\n    \"strIngredient14\": \"Bay Leaf\",\n    \"strIngredient15\": \"Cardamom\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"3 tsp\",\n    \"strMeasure2\": \"600g\",\n    \"strMeasure3\": \"100g \",\n    \"strMeasure4\": \"350g\",\n    \"strMeasure5\": \"250g\",\n    \"strMeasure6\": \"2 sliced\",\n    \"strMeasure7\": \"1\",\n    \"strMeasure8\": \"1 tbs\",\n    \"strMeasure9\": \"750 ml \",\n    \"strMeasure10\": \"600g\",\n    \"strMeasure11\": \"2 tbs\",\n    \"strMeasure12\": \"sprigs of fresh\",\n    \"strMeasure13\": \"sprigs of fresh\",\n    \"strMeasure14\": \"2\",\n    \"strMeasure15\": \"4\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/5032/beef-bourguignon\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 200\n  },\n  {\n    \"idMeal\": \"52913\",\n    \"strMeal\": \"Brie wrapped in prosciutto & brioche\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Side\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Mix the flour, 1 tsp salt, caster sugar, yeast, milk and eggs together in a mixer using the dough attachment for 5 mins until the dough is smooth. Add the butter and mix for a further 4 mins on medium speed. Scrape the dough bowl and mix again for 1 min. Place the dough in a container, cover with cling film and leave in the fridge for at least 6 hrs before using.\\r\\nWrap the Brie in the prosciutto and set aside. Turn out the dough onto a lightly floured surface. Roll into a 25cm circle. Place the wrapped Brie in the middle of the circle and fold the edges in neatly. Put the parcel onto a baking tray lined with baking parchment and brush with beaten egg. Chill in the fridge for 30 mins, then brush again with beaten egg and chill for a further 30 mins. Leave to rise for 1 hr at room temperature. Heat oven to 200C/180C fan/gas 6, then bake for 22 mins. Serve warm.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/qqpwsy1511796276.jpg\",\n    \"strTags\": \"SideDish,Treat,Baking\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=FzNPPD8lbWg\",\n    \"strIngredient1\": \"Plain Flour\",\n    \"strIngredient2\": \"Caster Sugar\",\n    \"strIngredient3\": \"Yeast\",\n    \"strIngredient4\": \"Milk\",\n    \"strIngredient5\": \"Eggs\",\n    \"strIngredient6\": \"Eggs\",\n    \"strIngredient7\": \"Butter\",\n    \"strIngredient8\": \"Brie\",\n    \"strIngredient9\": \"Prosciutto\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"375g\",\n    \"strMeasure2\": \"50g\",\n    \"strMeasure3\": \"7g\",\n    \"strMeasure4\": \"75g\",\n    \"strMeasure5\": \"3 Large\",\n    \"strMeasure6\": \"To Glaze\",\n    \"strMeasure7\": \"180g\",\n    \"strMeasure8\": \"250g\",\n    \"strMeasure9\": \"8 slices\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/1803634/brie-wrapped-in-prosciutto-and-brioche\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 201\n  },\n  {\n    \"idMeal\": \"52914\",\n    \"strMeal\": \"Boulangère Potatoes\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Side\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Heat oven to 200C/fan 180C/gas 6. Fry the onions and thyme sprigs in the oil until softened and lightly coloured (about 5 mins).\\r\\nSpread a layer of potatoes over the base of a 1.5-litre oiled gratin dish. Sprinkle over a few onions (see picture, above) and continue layering, finishing with a layer of potatoes. Pour over the stock and bake for 50-60 mins until the potatoes are cooked and the top is golden and crisp.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/qywups1511796761.jpg\",\n    \"strTags\": \"SideDish\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=gcXPruv1Mjg\",\n    \"strIngredient1\": \"Onions\",\n    \"strIngredient2\": \"Thyme\",\n    \"strIngredient3\": \"Olive Oil\",\n    \"strIngredient4\": \"Potatoes\",\n    \"strIngredient5\": \"Vegetable Stock\",\n    \"strIngredient6\": \"\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 finely chopped\",\n    \"strMeasure2\": \"sprigs of fresh\",\n    \"strMeasure3\": \"2 tbs\",\n    \"strMeasure4\": \"1.5kg\",\n    \"strMeasure5\": \"425g\",\n    \"strMeasure6\": \"\",\n    \"strMeasure7\": \"\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/5056/boulangre-potatoes\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 202\n  },\n  {\n    \"idMeal\": \"52928\",\n    \"strMeal\": \"BeaverTails\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"Canadian\",\n    \"strInstructions\": \"In the bowl of a stand mixer, add warm water, a big pinch of sugar and yeast. Allow to sit until frothy.\\r\\nInto the same bowl, add 1/2 cup sugar, warm milk, melted butter, eggs and salt, and whisk until combined.\\r\\nPlace a dough hook on the mixer, add the flour with the machine on, until a smooth but slightly sticky dough forms.\\r\\nPlace dough in a bowl, cover with plastic wrap, and allow to proof for 1 1/2 hours.\\r\\nCut dough into 12 pieces, and roll out into long oval-like shapes about 1/4 inch thick that resemble a beaver’s tail.\\r\\nIn a large, deep pot, heat oil to 350 degrees. Gently place beavertail dough into hot oil and cook for 30 to 45 seconds on each side until golden brown.\\r\\nDrain on paper towels, and garnish as desired. Toss in cinnamon sugar, in white sugar with a squeeze of lemon, or with a generous slathering of Nutella and a handful of toasted almonds. Enjoy!\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/ryppsv1511815505.jpg\",\n    \"strTags\": \"Treat,Pudding,Speciality\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=2G07UOqU2e8\",\n    \"strIngredient1\": \"Water\",\n    \"strIngredient2\": \"Yeast\",\n    \"strIngredient3\": \"Sugar\",\n    \"strIngredient4\": \"Milk\",\n    \"strIngredient5\": \"Butter\",\n    \"strIngredient6\": \"Eggs\",\n    \"strIngredient7\": \"Salt\",\n    \"strIngredient8\": \"Flour\",\n    \"strIngredient9\": \"Oil\",\n    \"strIngredient10\": \"Lemon\",\n    \"strIngredient11\": \"Sugar\",\n    \"strIngredient12\": \"Cinnamon\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1/2 cup \",\n    \"strMeasure2\": \"2 parts \",\n    \"strMeasure3\": \"1/2 cup \",\n    \"strMeasure4\": \"1/2 cup \",\n    \"strMeasure5\": \"6 tblsp\",\n    \"strMeasure6\": \"2\",\n    \"strMeasure7\": \"1 ½ tsp\",\n    \"strMeasure8\": \"2-1/2 cups\",\n    \"strMeasure9\": \"for frying\",\n    \"strMeasure10\": \"garnish\",\n    \"strMeasure11\": \"garnish\",\n    \"strMeasure12\": \"garnish\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.tastemade.com/videos/beavertails\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 203\n  },\n  {\n    \"idMeal\": \"52940\",\n    \"strMeal\": \"Brown Stew Chicken\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Jamaican\",\n    \"strInstructions\": \"Squeeze lime over chicken and rub well. Drain off excess lime juice.\\r\\nCombine tomato, scallion, onion, garlic, pepper, thyme, pimento and soy sauce in a large bowl with the chicken pieces. Cover and marinate at least one hour.\\r\\nHeat oil in a dutch pot or large saucepan. Shake off the seasonings as you remove each piece of chicken from the marinade. Reserve the marinade for sauce.\\r\\nLightly brown the chicken a few pieces at a time in very hot oil. Place browned chicken pieces on a plate to rest while you brown the remaining pieces.\\r\\nDrain off excess oil and return the chicken to the pan. Pour the marinade over the chicken and add the carrots. Stir and cook over medium heat for 10 minutes.\\r\\nMix flour and coconut milk and add to stew, stirring constantly. Turn heat down to minimum and cook another 20 minutes or until tender.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/sypxpx1515365095.jpg\",\n    \"strTags\": \"Stew\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=_gFB1fkNhXs\",\n    \"strIngredient1\": \"Chicken\",\n    \"strIngredient2\": \"Tomato\",\n    \"strIngredient3\": \"Onions\",\n    \"strIngredient4\": \"Garlic Clove\",\n    \"strIngredient5\": \"Red Pepper\",\n    \"strIngredient6\": \"Carrots\",\n    \"strIngredient7\": \"Lime\",\n    \"strIngredient8\": \"Thyme\",\n    \"strIngredient9\": \"Allspice\",\n    \"strIngredient10\": \"Soy Sauce\",\n    \"strIngredient11\": \"Cornstarch\",\n    \"strIngredient12\": \"Coconut Milk\",\n    \"strIngredient13\": \"Vegetable Oil\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 whole\",\n    \"strMeasure2\": \"1 chopped\",\n    \"strMeasure3\": \"2 chopped\",\n    \"strMeasure4\": \"2 chopped\",\n    \"strMeasure5\": \"1 chopped\",\n    \"strMeasure6\": \"1 chopped\",\n    \"strMeasure7\": \"1\",\n    \"strMeasure8\": \"2 tsp\",\n    \"strMeasure9\": \"1 tsp \",\n    \"strMeasure10\": \"2 tbs\",\n    \"strMeasure11\": \"2 tsp\",\n    \"strMeasure12\": \"2 cups \",\n    \"strMeasure13\": \"1 tbs\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.geniuskitchen.com/recipe/authentic-jamaican-brown-stew-chicken-347996\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 204\n  },\n  {\n    \"idMeal\": \"52952\",\n    \"strMeal\": \"Beef Lo Mein\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Chinese\",\n    \"strInstructions\": \"STEP 1 - MARINATING THE BEEF\\r\\nIn a bowl, add the beef, salt, 1 pinch white pepper, 1 Teaspoon sesame seed oil, 1/2 egg, corn starch,1 Tablespoon of oil and mix together.\\r\\nSTEP 2 - BOILING THE THE NOODLES\\r\\nIn a 6 qt pot add your noodles to boiling water until the noodles are submerged and boil on high heat for 10 seconds. After your noodles is done boiling strain and cool with cold water.\\r\\nSTEP 3 - STIR FRY\\r\\nAdd 2 Tablespoons of oil, beef and cook on high heat untill beef is medium cooked.\\r\\nSet the cooked beef aside\\r\\nIn a wok add 2 Tablespoon of oil, onions, minced garlic, minced ginger, bean sprouts, mushrooms, peapods and 1.5 cups of water or until the vegetables are submerged in water.\\r\\nAdd the noodles to wok\\r\\nTo make the sauce, add oyster sauce, 1 pinch white pepper, 1 teaspoon sesame seed oil, sugar, and 1 Teaspoon of soy sauce.\\r\\nNext add the beef to wok and stir-fry\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1529444830.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=ZT9LSsNXXe0\",\n    \"strIngredient1\": \"Beef\",\n    \"strIngredient2\": \"Salt\",\n    \"strIngredient3\": \"Pepper\",\n    \"strIngredient4\": \"Sesame Seed Oil\",\n    \"strIngredient5\": \"Egg\",\n    \"strIngredient6\": \"Starch\",\n    \"strIngredient7\": \"Oil\",\n    \"strIngredient8\": \"Noodles\",\n    \"strIngredient9\": \"Onion\",\n    \"strIngredient10\": \"Minced Garlic\",\n    \"strIngredient11\": \"Ginger\",\n    \"strIngredient12\": \"Bean Sprouts\",\n    \"strIngredient13\": \"Mushrooms\",\n    \"strIngredient14\": \"Water\",\n    \"strIngredient15\": \"Oyster Sauce\",\n    \"strIngredient16\": \"Sugar\",\n    \"strIngredient17\": \"Soy Sauce\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1/2 lb\",\n    \"strMeasure2\": \"pinch\",\n    \"strMeasure3\": \"pinch\",\n    \"strMeasure4\": \"2 tsp\",\n    \"strMeasure5\": \"1/2 \",\n    \"strMeasure6\": \"3 tbs\",\n    \"strMeasure7\": \"5 tbs\",\n    \"strMeasure8\": \"1/4 lb\",\n    \"strMeasure9\": \"1/2 cup \",\n    \"strMeasure10\": \"1 tsp \",\n    \"strMeasure11\": \"1 tsp \",\n    \"strMeasure12\": \"1 cup \",\n    \"strMeasure13\": \"1 cup \",\n    \"strMeasure14\": \"1 cup \",\n    \"strMeasure15\": \"1 tbs\",\n    \"strMeasure16\": \"1 tsp \",\n    \"strMeasure17\": \"1 tsp \",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://sueandgambo.com/pages/beef-lo-mein\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 205\n  },\n  {\n    \"idMeal\": \"52959\",\n    \"strMeal\": \"Baked salmon with fennel & tomatoes\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Heat oven to 180C/fan 160C/gas 4. Trim the fronds from the fennel and set aside. Cut the fennel bulbs in half, then cut each half into 3 wedges. Cook in boiling salted water for 10 mins, then drain well. Chop the fennel fronds roughly, then mix with the parsley and lemon zest.\\r\\n\\r\\nSpread the drained fennel over a shallow ovenproof dish, then add the tomatoes. Drizzle with olive oil, then bake for 10 mins. Nestle the salmon among the veg, sprinkle with lemon juice, then bake 15 mins more until the fish is just cooked. Scatter over the parsley and serve.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1548772327.jpg\",\n    \"strTags\": \"Paleo,Keto,HighFat,Baking,LowCarbs\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=xvPR2Tfw5k0\",\n    \"strIngredient1\": \"Fennel\",\n    \"strIngredient2\": \"Parsley\",\n    \"strIngredient3\": \"Lemon\",\n    \"strIngredient4\": \"Cherry Tomatoes\",\n    \"strIngredient5\": \"Olive Oil\",\n    \"strIngredient6\": \"Salmon\",\n    \"strIngredient7\": \"Black Olives\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 medium\",\n    \"strMeasure2\": \"2 tbs chopped\",\n    \"strMeasure3\": \"Juice of 1\",\n    \"strMeasure4\": \"175g\",\n    \"strMeasure5\": \"1 tbs\",\n    \"strMeasure6\": \"350g\",\n    \"strMeasure7\": \"to serve\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/7745/baked-salmon-with-fennel-and-tomatoes\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 206\n  },\n  {\n    \"idMeal\": \"52961\",\n    \"strMeal\": \"Budino Di Ricotta\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"Italian\",\n    \"strInstructions\": \"Mash the ricotta and beat well with the egg yolks, stir in the flour, sugar, cinnamon, grated lemon rind and the rum and mix well. You can do this in a food processor. Beat the egg whites until stiff, fold in and pour into a buttered and floured 25cm cake tin. Bake in the oven at 180ºC/160ºC fan/gas 4 for about 40 minutes, or until it is firm.\\r\\n\\r\\nServe hot or cold dusted with icing sugar.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1549542877.jpg\",\n    \"strTags\": \"Cake,Baking,Desert,Sweet,Alcoholic,Calorific\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=6dzd6Ra6sb4\",\n    \"strIngredient1\": \"Ricotta\",\n    \"strIngredient2\": \"Eggs\",\n    \"strIngredient3\": \"Flour\",\n    \"strIngredient4\": \"Sugar\",\n    \"strIngredient5\": \"Cinnamon\",\n    \"strIngredient6\": \"Lemons\",\n    \"strIngredient7\": \"Dark Rum\",\n    \"strIngredient8\": \"Icing Sugar\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"500g\",\n    \"strMeasure2\": \"4 large\",\n    \"strMeasure3\": \"3 tbs\",\n    \"strMeasure4\": \"250g\",\n    \"strMeasure5\": \"1 tsp \",\n    \"strMeasure6\": \"Grated Zest of 2\",\n    \"strMeasure7\": \"5 tbs\",\n    \"strMeasure8\": \"sprinking\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://thehappyfoodie.co.uk/recipes/ricotta-cake-budino-di-ricotta\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 207\n  },\n  {\n    \"idMeal\": \"52965\",\n    \"strMeal\": \"Breakfast Potatoes\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Breakfast\",\n    \"strArea\": \"Canadian\",\n    \"strInstructions\": \"Before you do anything, freeze your bacon slices that way when you're ready to prep, it'll be so much easier to chop!\\r\\nWash the potatoes and cut medium dice into square pieces. To prevent any browning, place the already cut potatoes in a bowl filled with water.\\r\\nIn the meantime, heat 1-2 tablespoons of oil in a large skillet over medium-high heat. Tilt the skillet so the oil spreads evenly.\\r\\nOnce the oil is hot, drain the potatoes and add to the skillet. Season with salt, pepper, and Old Bay as needed.\\r\\nCook for 10 minutes, stirring the potatoes often, until brown. If needed, add a tablespoon more of oil.\\r\\nChop up the bacon and add to the potatoes. The bacon will start to render and the fat will begin to further cook the potatoes. Toss it up a bit! The bacon will take 5-6 minutes to crisp.\\r\\nOnce the bacon is cooked, reduce the heat to medium-low, add the minced garlic and toss. Season once more. Add dried or fresh parsley. Control heat as needed.\\r\\nLet the garlic cook until fragrant, about one minute.\\r\\nJust before serving, drizzle over the maple syrup and toss. Let that cook another minute, giving the potatoes a caramelized effect.\\r\\nServe in a warm bowl with a sunny side up egg!\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1550441882.jpg\",\n    \"strTags\": \"Breakfast,Brunch,\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=BoD0TIO9nE4\",\n    \"strIngredient1\": \"Potatoes\",\n    \"strIngredient2\": \"Olive Oil\",\n    \"strIngredient3\": \"Bacon\",\n    \"strIngredient4\": \"Garlic Clove\",\n    \"strIngredient5\": \"Maple Syrup\",\n    \"strIngredient6\": \"Parsley\",\n    \"strIngredient7\": \"Salt\",\n    \"strIngredient8\": \"Pepper\",\n    \"strIngredient9\": \"Allspice\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"3 Medium\",\n    \"strMeasure2\": \"1 tbs\",\n    \"strMeasure3\": \"2 strips\",\n    \"strMeasure4\": \"Minced\",\n    \"strMeasure5\": \"1 tbs\",\n    \"strMeasure6\": \"Garnish\",\n    \"strMeasure7\": \"Pinch\",\n    \"strMeasure8\": \"Pinch\",\n    \"strMeasure9\": \"To taste\",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"http://www.vodkaandbiscuits.com/2014/03/06/bangin-breakfast-potatoes/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 208\n  },\n  {\n    \"idMeal\": \"52979\",\n    \"strMeal\": \"Bitterballen (Dutch meatballs)\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Dutch\",\n    \"strInstructions\": \"Melt the butter in a skillet or pan. When melted, add the flour little by little and stir into a thick paste. Slowly stir in the stock, making sure the roux absorbs the liquid. Simmer for a couple of minutes on a low heat while you stir in the onion, parsley and the shredded meat. The mixture should thicken and turn into a heavy, thick sauce.\\r\\n\\r\\nPour the mixture into a shallow container, cover and refrigerate for several hours, or until the sauce has solidified.\\r\\n\\r\\nTake a heaping tablespoon of the cold, thick sauce and quickly roll it into a small ball. Roll lightly through the flour, then the egg and finally the breadcrumbs. Make sure that the egg covers the whole surface of the bitterbal. When done, refrigerate the snacks while the oil in your fryer heats up to 190C (375F). Fry four bitterballen at a time, until golden.\\r\\n\\r\\nServe on a plate with a nice grainy or spicy mustard. \\r\\n\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/lhqev81565090111.jpg\",\n    \"strTags\": \"DinnerParty,HangoverFood,Alcoholic\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=q8AKfYUtDuM\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Flour\",\n    \"strIngredient3\": \"Beef Stock\",\n    \"strIngredient4\": \"Onion\",\n    \"strIngredient5\": \"Parsley\",\n    \"strIngredient6\": \"Beef\",\n    \"strIngredient7\": \"Salt\",\n    \"strIngredient8\": \"Pepper\",\n    \"strIngredient9\": \"Nutmeg\",\n    \"strIngredient10\": \"Flour\",\n    \"strIngredient11\": \"Eggs\",\n    \"strIngredient12\": \"Breadcrumbs\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"100g \",\n    \"strMeasure2\": \"150g\",\n    \"strMeasure3\": \"700ml\",\n    \"strMeasure4\": \"30g\",\n    \"strMeasure5\": \"1 tbs\",\n    \"strMeasure6\": \"400g\",\n    \"strMeasure7\": \"Pinch\",\n    \"strMeasure8\": \"Pinch\",\n    \"strMeasure9\": \"Pinch\",\n    \"strMeasure10\": \"50g\",\n    \"strMeasure11\": \"2 Beaten \",\n    \"strMeasure12\": \"50g\",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.holland.com/global/tourism/information/traditional-dutch-food/bitterballen.htm\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 209\n  },\n  {\n    \"idMeal\": \"52995\",\n    \"strMeal\": \"BBQ Pork Sloppy Joes\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pork\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"1\\r\\n\\r\\nPreheat oven to 450 degrees. Wash and dry all produce. Cut sweet potatoes into ½-inch-thick wedges. Toss on a baking sheet with a drizzle of oil, salt, and pepper. Roast until browned and tender, 20-25 minutes.\\r\\n\\r\\n2\\r\\n\\r\\nMeanwhile, halve and peel onion. Slice as thinly as possible until you have ¼ cup (½ cup for 4 servings); finely chop remaining onion. Peel and finely chop garlic. Halve lime; squeeze juice into a small bowl. Halve buns. Add 1 TBSP butter (2 TBSP for 4) to a separate small microwave-safe bowl; microwave until melted, 30 seconds. Brush onto cut sides of buns.\\r\\n\\r\\n3\\r\\n\\r\\nTo bowl with lime juice, add sliced onion, ¼ tsp sugar (½ tsp for 4 servings), and a pinch of salt. Stir to combine; set aside to quick-pickle.\\r\\n\\r\\n4\\r\\n\\r\\nHeat a drizzle of oil in a large pan over medium-high heat. Add chopped onion and season with salt and pepper. Cook, stirring, until softened, 4-5 minutes. Add garlic and cook until fragrant, 30 seconds more. Add pork and season with salt and pepper. Cook, breaking up meat into pieces, until browned and cooked through, 4-6 minutes.\\r\\n\\r\\n5\\r\\n\\r\\nWhile pork cooks, in a third small bowl, combine BBQ sauce, pickling liquid from onion, 3 TBSP ketchup (6 TBSP for 4 servings), ½ tsp sugar (1 tsp for 4), and ¼ cup water (⅓ cup for 4). Once pork is cooked through, add BBQ sauce mixture to pan. Cook, stirring, until sauce is thickened, 2-3 minutes. Taste and season with salt and pepper.\\r\\n\\r\\n6\\r\\n\\r\\nMeanwhile, toast buns in oven or toaster oven until golden, 3-5 minutes. Divide toasted buns between plates and fill with as much BBQ pork as you’d like. Top with pickled onion and hot sauce. Serve with sweet potato wedges on the side.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/atd5sh1583188467.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"\",\n    \"strIngredient1\": \"Potatoes\",\n    \"strIngredient2\": \"Red Onions\",\n    \"strIngredient3\": \"Garlic\",\n    \"strIngredient4\": \"Lime\",\n    \"strIngredient5\": \"Bread\",\n    \"strIngredient6\": \"Pork\",\n    \"strIngredient7\": \"Barbeque Sauce\",\n    \"strIngredient8\": \"Hotsauce\",\n    \"strIngredient9\": \"Tomato Ketchup\",\n    \"strIngredient10\": \"Sugar\",\n    \"strIngredient11\": \"Vegetable Oil\",\n    \"strIngredient12\": \"Salt\",\n    \"strIngredient13\": \"Pepper\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2\",\n    \"strMeasure2\": \"1\",\n    \"strMeasure3\": \"2 cloves\",\n    \"strMeasure4\": \"1\",\n    \"strMeasure5\": \"2\",\n    \"strMeasure6\": \"1 lb\",\n    \"strMeasure7\": \" \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 210\n  },\n  {\n    \"idMeal\": \"52997\",\n    \"strMeal\": \"Beef Banh Mi Bowls with Sriracha Mayo, Carrot & Pickled Cucumber\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Vietnamese\",\n    \"strInstructions\": \"Add'l ingredients: mayonnaise, siracha\\r\\n\\r\\n1\\r\\n\\r\\nPlace rice in a fine-mesh sieve and rinse until water runs clear. Add to a small pot with 1 cup water (2 cups for 4 servings) and a pinch of salt. Bring to a boil, then cover and reduce heat to low. Cook until rice is tender, 15 minutes. Keep covered off heat for at least 10 minutes or until ready to serve.\\r\\n\\r\\n2\\r\\n\\r\\nMeanwhile, wash and dry all produce. Peel and finely chop garlic. Zest and quarter lime (for 4 servings, zest 1 lime and quarter both). Trim and halve cucumber lengthwise; thinly slice crosswise into half-moons. Halve, peel, and medium dice onion. Trim, peel, and grate carrot.\\r\\n\\r\\n3\\r\\n\\r\\nIn a medium bowl, combine cucumber, juice from half the lime, ¼ tsp sugar (½ tsp for 4 servings), and a pinch of salt. In a small bowl, combine mayonnaise, a pinch of garlic, a squeeze of lime juice, and as much sriracha as you’d like. Season with salt and pepper.\\r\\n\\r\\n4\\r\\n\\r\\nHeat a drizzle of oil in a large pan over medium-high heat. Add onion and cook, stirring, until softened, 4-5 minutes. Add beef, remaining garlic, and 2 tsp sugar (4 tsp for 4 servings). Cook, breaking up meat into pieces, until beef is browned and cooked through, 4-5 minutes. Stir in soy sauce. Turn off heat; taste and season with salt and pepper.\\r\\n\\r\\n5\\r\\n\\r\\nFluff rice with a fork; stir in lime zest and 1 TBSP butter. Divide rice between bowls. Arrange beef, grated carrot, and pickled cucumber on top. Top with a squeeze of lime juice. Drizzle with sriracha mayo.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/z0ageb1583189517.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"\",\n    \"strIngredient1\": \"Rice\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Lime\",\n    \"strIngredient4\": \"Garlic Clove\",\n    \"strIngredient5\": \"Cucumber\",\n    \"strIngredient6\": \"Carrots\",\n    \"strIngredient7\": \"Ground Beef\",\n    \"strIngredient8\": \"Soy Sauce\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"White\",\n    \"strMeasure2\": \"1\",\n    \"strMeasure3\": \"1\",\n    \"strMeasure4\": \"3\",\n    \"strMeasure5\": \"1\",\n    \"strMeasure6\": \"3 oz \",\n    \"strMeasure7\": \"1 lb\",\n    \"strMeasure8\": \"2 oz \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 211\n  },\n  {\n    \"idMeal\": \"53013\",\n    \"strMeal\": \"Big Mac\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"For the Big Mac sauce, combine all the ingredients in a bowl, season with salt and chill until ready to use.\\r\\n2. To make the patties, season the mince with salt and pepper and form into 4 balls using about 1/3 cup mince each. Place each onto a square of baking paper and flatten to form into four x 15cm circles. Heat oil in a large frypan over high heat. In 2 batches, cook beef patties for 1-2 minutes each side until lightly charred and cooked through. Remove from heat and keep warm. Repeat with remaining two patties.\\r\\n3. Carefully slice each burger bun into three acrossways, then lightly toast.\\r\\n4. To assemble the burgers, spread a little Big Mac sauce over the bottom base. Top with some chopped onion, shredded lettuce, slice of cheese, beef patty and some pickle slices. Top with the middle bun layer, and spread with more Big Mac sauce, onion, lettuce, pickles, beef patty and then finish with more sauce. Top with burger lid to serve.\\r\\n5. After waiting half an hour for your food to settle, go for a jog.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/urzj1d1587670726.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=C5J39YnnPsg\",\n    \"strIngredient1\": \"Minced Beef\",\n    \"strIngredient2\": \"Olive Oil\",\n    \"strIngredient3\": \"Sesame Seed Burger Buns\",\n    \"strIngredient4\": \"Onion\",\n    \"strIngredient5\": \"Iceberg Lettuce\",\n    \"strIngredient6\": \"Cheese\",\n    \"strIngredient7\": \"Dill Pickles\",\n    \"strIngredient8\": \"Mayonnaise\",\n    \"strIngredient9\": \"White Wine Vinegar\",\n    \"strIngredient10\": \"Pepper\",\n    \"strIngredient11\": \"Mustard\",\n    \"strIngredient12\": \"Onion Salt\",\n    \"strIngredient13\": \"Garlic Powder\",\n    \"strIngredient14\": \"Paprika\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"400g\",\n    \"strMeasure2\": \"2 tbs\",\n    \"strMeasure3\": \"2\",\n    \"strMeasure4\": \"Chopped\",\n    \"strMeasure5\": \"1/4 \",\n    \"strMeasure6\": \"2 sliced\",\n    \"strMeasure7\": \"2 large\",\n    \"strMeasure8\": \"1 cup \",\n    \"strMeasure9\": \"2 tsp\",\n    \"strMeasure10\": \"Pinch\",\n    \"strMeasure11\": \"2 tsp\",\n    \"strMeasure12\": \"1 1/2 tsp \",\n    \"strMeasure13\": \"1 1/2 tsp \",\n    \"strMeasure14\": \"1/2 tsp\",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.delicious.com.au/recipes/finally-recipe-worlds-top-selling-burger-big-mac/5221ee4a-279e-4a0b-8629-f442dc46822e\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 212\n  },\n  {\n    \"idMeal\": \"53018\",\n    \"strMeal\": \"Bigos (Hunters Stew)\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pork\",\n    \"strArea\": \"Polish\",\n    \"strInstructions\": \"Preheat the oven to 350 degrees F (175 degrees C).\\r\\n\\r\\nHeat a large pot over medium heat. Add the bacon and kielbasa; cook and stir until the bacon has rendered its fat and sausage is lightly browned. Use a slotted spoon to remove the meat and transfer to a large casserole or Dutch oven.\\r\\n\\r\\nCoat the cubes of pork lightly with flour and fry them in the bacon drippings over medium-high heat until golden brown. Use a slotted spoon to transfer the pork to the casserole. Add the garlic, onion, carrots, fresh mushrooms, cabbage and sauerkraut. Reduce heat to medium; cook and stir until the carrots are soft, about 10 minutes. Do not let the vegetables brown.\\r\\n\\r\\nDeglaze the pan by pouring in the red wine and stirring to loosen all of the bits of food and flour that are stuck to the bottom. Season with the bay leaf, basil, marjoram, paprika, salt, pepper, caraway seeds and cayenne pepper; cook for 1 minute.\\r\\n\\r\\nMix in the dried mushrooms, hot pepper sauce, Worcestershire sauce, beef stock, tomato paste and tomatoes. Heat through just until boiling. Pour the vegetables and all of the liquid into the casserole dish with the meat. Cover with a lid.\\r\\n\\r\\nBake in the preheated oven for 2 1/2 to 3 hours, until meat is very tender.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/md8w601593348504.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=Oqg_cO4s8ik\",\n    \"strIngredient1\": \"Bacon\",\n    \"strIngredient2\": \"Kielbasa\",\n    \"strIngredient3\": \"Pork\",\n    \"strIngredient4\": \"Flour\",\n    \"strIngredient5\": \"Garlic\",\n    \"strIngredient6\": \"Onion\",\n    \"strIngredient7\": \"Mushrooms\",\n    \"strIngredient8\": \"Cabbage\",\n    \"strIngredient9\": \"Sauerkraut\",\n    \"strIngredient10\": \"Red Wine\",\n    \"strIngredient11\": \"Bay Leaf\",\n    \"strIngredient12\": \"Basil\",\n    \"strIngredient13\": \"Marjoram\",\n    \"strIngredient14\": \"Paprika\",\n    \"strIngredient15\": \"Caraway Seed\",\n    \"strIngredient16\": \"Hotsauce\",\n    \"strIngredient17\": \"Beef Stock\",\n    \"strIngredient18\": \"Tomato Puree\",\n    \"strIngredient19\": \"Diced Tomatoes\",\n    \"strIngredient20\": \"Worcestershire Sauce\",\n    \"strMeasure1\": \"2 sliced\",\n    \"strMeasure2\": \"1 lb\",\n    \"strMeasure3\": \"1 lb\",\n    \"strMeasure4\": \"1/4 cup\",\n    \"strMeasure5\": \"3 chopped\",\n    \"strMeasure6\": \"1 Diced\",\n    \"strMeasure7\": \"1 1/2 cup \",\n    \"strMeasure8\": \"4 cups \",\n    \"strMeasure9\": \"1 Jar\",\n    \"strMeasure10\": \"1/4 cup\",\n    \"strMeasure11\": \"1\",\n    \"strMeasure12\": \"1 tsp \",\n    \"strMeasure13\": \"1 tsp \",\n    \"strMeasure14\": \"1 tbs\",\n    \"strMeasure15\": \"1/8 teaspoon\",\n    \"strMeasure16\": \"1 dash\",\n    \"strMeasure17\": \"5 Cups\",\n    \"strMeasure18\": \"2 tbs\",\n    \"strMeasure19\": \"1 cup \",\n    \"strMeasure20\": \"1 dash\",\n    \"strSource\": \"https://www.allrecipes.com/recipe/138131/bigos-hunters-stew/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 213\n  },\n  {\n    \"idMeal\": \"53036\",\n    \"strMeal\": \"Boxty Breakfast\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pork\",\n    \"strArea\": \"Irish\",\n    \"strInstructions\": \"STEP 1\\r\\nBefore you start, put your oven on its lowest setting, ready to keep things warm. Peel the potatoes, grate 2 of them, then set aside. Cut the other 2 into large chunks, then boil for 10-15 mins or until tender. Meanwhile, squeeze as much of the liquid from the grated potatoes as you can using a clean tea towel. Mash the boiled potatoes, then mix with the grated potato, spring onions and flour.\\r\\n\\r\\nSTEP 2\\r\\nWhisk the egg white in a large bowl until it holds soft peaks. Fold in the buttermilk, then add the bicarbonate of soda. Fold into the potato mix.\\r\\n\\r\\nSTEP 3\\r\\nHeat a large non-stick frying pan over a medium heat, then add 1 tbsp butter and some of the oil. Drop 3-4 spoonfuls of the potato mixture into the pan, then gently cook for 3-5 mins on each side until golden and crusty. Keep warm on a plate in the oven while you cook the next batch, adding more butter and oil to the pan before you do so. You will get 16 crumpet-size boxty from the mix. Can be made the day ahead, drained on kitchen paper, then reheated in a low oven for 20 mins.\\r\\n\\r\\nSTEP 4\\r\\nHeat the grill to medium and put the tomatoes in a heavy-based pan. Add a good knob of butter and a little oil, then fry for about 5 mins until softened. Grill the bacon, then pile onto a plate and keep warm. Stack up the boxty, bacon and egg, and serve the tomatoes on the side.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/naqyel1608588563.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=80W0mCFDIP0\",\n    \"strIngredient1\": \"Potatoes\",\n    \"strIngredient2\": \"Spring Onions\",\n    \"strIngredient3\": \"Plain Flour\",\n    \"strIngredient4\": \"Egg White\",\n    \"strIngredient5\": \"Milk\",\n    \"strIngredient6\": \"Bicarbonate Of Soda\",\n    \"strIngredient7\": \"Butter\",\n    \"strIngredient8\": \"Vegetable Oil\",\n    \"strIngredient9\": \"Cherry Tomatoes\",\n    \"strIngredient10\": \"Bacon\",\n    \"strIngredient11\": \"Egg\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"4 large\",\n    \"strMeasure2\": \"1  bunch\",\n    \"strMeasure3\": \"100g \",\n    \"strMeasure4\": \"1\",\n    \"strMeasure5\": \"150ml\",\n    \"strMeasure6\": \"1 tsp \",\n    \"strMeasure7\": \"3 tbs\",\n    \"strMeasure8\": \"2 tbs\",\n    \"strMeasure9\": \"6\",\n    \"strMeasure10\": \"12\",\n    \"strMeasure11\": \"6\",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/boxty-bacon-eggs-tomatoes\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 214\n  },\n  {\n    \"idMeal\": \"53053\",\n    \"strMeal\": \"Beef Rendang\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Malaysian\",\n    \"strInstructions\": \"Chop the spice paste ingredients and then blend it in a food processor until fine.\\r\\nHeat the oil in a stew pot, add the spice paste, cinnamon, cloves, star anise, and cardamom and stir-fry until aromatic. Add the beef and the pounded lemongrass and stir for 1 minute. Add the coconut milk, tamarind juice, water, and simmer on medium heat, stirring frequently until the meat is almost cooked. Add the kaffir lime leaves, kerisik (toasted coconut), sugar or palm sugar, stirring to blend well with the meat.\\r\\nLower the heat to low, cover the lid, and simmer for 1 to 1 1/2 hours or until the meat is really tender and the gravy has dried up. Add more salt and sugar to taste. Serve immediately with steamed rice and save some for overnight.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/bc8v651619789840.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=Ot-dmfBaZrA\",\n    \"strIngredient1\": \"Beef\",\n    \"strIngredient2\": \"Vegetable Oil\",\n    \"strIngredient3\": \"Cinnamon Stick\",\n    \"strIngredient4\": \"Cloves\",\n    \"strIngredient5\": \"Star Anise\",\n    \"strIngredient6\": \"Cardamom\",\n    \"strIngredient7\": \"Coconut Cream\",\n    \"strIngredient8\": \"Water\",\n    \"strIngredient9\": \"Tamarind Paste\",\n    \"strIngredient10\": \"Lime\",\n    \"strIngredient11\": \"Sugar\",\n    \"strIngredient12\": \"Challots\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1lb\",\n    \"strMeasure2\": \"5 tbs\",\n    \"strMeasure3\": \"1\",\n    \"strMeasure4\": \"3\",\n    \"strMeasure5\": \"3\",\n    \"strMeasure6\": \"3\",\n    \"strMeasure7\": \"1 cup \",\n    \"strMeasure8\": \"1 cup \",\n    \"strMeasure9\": \"2 tbs\",\n    \"strMeasure10\": \"6\",\n    \"strMeasure11\": \"1 tbs\",\n    \"strMeasure12\": \"5\",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://rasamalaysia.com/beef-rendang-recipe-rendang-daging/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 215\n  },\n  {\n    \"idMeal\": \"53060\",\n    \"strMeal\": \"Burek\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Side\",\n    \"strArea\": \"Croatian\",\n    \"strInstructions\": \"Fry the finely chopped onions and minced meat in oil. Add the salt and pepper. Grease a round baking tray and put a layer of pastry in it. Cover with a thin layer of filling and cover this with another layer of filo pastry which must be well coated in oil. Put another layer of filling and cover with pastry. When you have five or six layers, cover with filo pastry, bake at 200ºC/392ºF for half an hour and cut in quarters and serve.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/tkxquw1628771028.jpg\",\n    \"strTags\": \"Streetfood, Onthego\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=YsJXZwE5pdY\",\n    \"strIngredient1\": \"Filo Pastry\",\n    \"strIngredient2\": \"Minced Beef\",\n    \"strIngredient3\": \"Onion\",\n    \"strIngredient4\": \"Oil\",\n    \"strIngredient5\": \"Salt\",\n    \"strIngredient6\": \"Pepper\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 Packet\",\n    \"strMeasure2\": \"150g\",\n    \"strMeasure3\": \"150g\",\n    \"strMeasure4\": \"40g\",\n    \"strMeasure5\": \"Dash\",\n    \"strMeasure6\": \"Dash\",\n    \"strMeasure7\": \" \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.visit-croatia.co.uk/croatian-cuisine/croatian-recipes/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 216\n  },\n  {\n    \"idMeal\": \"53068\",\n    \"strMeal\": \"Beef Mechado\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Filipino\",\n    \"strInstructions\": \"0.\\tMake the beef tenderloin marinade by combining soy sauce, vinegar, ginger, garlic, sesame oil, olive oil, sugar, salt, and ground black pepper in a large bowl. Mix well.\\r\\n1.\\tAdd the cubed beef tenderloin to the bowl with the beef tenderloin marinade. Gently toss to coat the beef. Let it stay for 1 hour.\\r\\n2.\\tUsing a metal or bamboo skewer, assemble the beef kebob by skewering the vegetables and marinated beef tenderloin.\\r\\n3.\\tHeat-up the grill and start grilling the beef kebobs for 3 minutes per side. This will give you a medium beef that is juicy and tender on the inside. Add more time if you want your beef well done, but it will be less tender.\\r\\n4.\\tTransfer to a serving plate. Serve with Saffron rice.\\r\\n5.\\tShare and enjoy!\\r\\n\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/cgl60b1683206581.jpg\",\n    \"strTags\": \"Stew, Warming\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=jxW3Lj8VjyE\",\n    \"strIngredient1\": \"Garlic\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Beef\",\n    \"strIngredient4\": \"Tomato Puree\",\n    \"strIngredient5\": \"Water\",\n    \"strIngredient6\": \"Olive Oil\",\n    \"strIngredient7\": \"Lemon\",\n    \"strIngredient8\": \"Potatoes\",\n    \"strIngredient9\": \"Soy Sauce\",\n    \"strIngredient10\": \"Black Pepper\",\n    \"strIngredient11\": \"Bay Leaves\",\n    \"strIngredient12\": \"Salt\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"3 cloves\",\n    \"strMeasure2\": \"1 sliced\",\n    \"strMeasure3\": \"2 Lbs\",\n    \"strMeasure4\": \"8 ounces\",\n    \"strMeasure5\": \"1 cup \",\n    \"strMeasure6\": \"3 tbs\",\n    \"strMeasure7\": \"1 Slice\",\n    \"strMeasure8\": \"1 large\",\n    \"strMeasure9\": \"1/4 cup\",\n    \"strMeasure10\": \"1/2 tsp\",\n    \"strMeasure11\": \"2\",\n    \"strMeasure12\": \"To taste\",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://panlasangpinoy.com/filipino-pinoy-food-tomato-sauce-beef-mechado-recipe/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 217\n  },\n  {\n    \"idMeal\": \"53069\",\n    \"strMeal\": \"Bistek\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Filipino\",\n    \"strInstructions\": \"0.\\tMarinate beef in soy sauce, lemon (or calamansi), and ground black pepper for at least 1 hour. Note: marinate overnight for best result\\r\\n1.\\tHeat the cooking oil in a pan then pan-fry half of the onions until the texture becomes soft. Set aside\\r\\n2.\\tDrain the marinade from the beef. Set it aside. Pan-fry the beef on the same pan where the onions were fried for 1 minute per side. Remove from the pan. Set aside\\r\\n3.\\tAdd more oil if needed. Saute garlic and remaining raw onions until onion softens.\\r\\n4.\\tPour the remaining marinade and water. Bring to a boil.\\r\\n5.\\tAdd beef. Cover the pan and simmer until the meat is tender. Note: Add water as needed.\\r\\n6.\\tSeason with ground black pepper and salt as needed. Top with pan-fried onions.\\r\\n7.\\tTransfer to a serving plate. Serve hot. Share and Enjoy!\\r\\n\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/4pqimk1683207418.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=xOQON5_S7as\",\n    \"strIngredient1\": \"Beef\",\n    \"strIngredient2\": \"Soy Sauce\",\n    \"strIngredient3\": \"Lemon\",\n    \"strIngredient4\": \"Garlic\",\n    \"strIngredient5\": \"Onion\",\n    \"strIngredient6\": \"Olive Oil\",\n    \"strIngredient7\": \"Water\",\n    \"strIngredient8\": \"Salt\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 lb\",\n    \"strMeasure2\": \"5 tablespoons\",\n    \"strMeasure3\": \"1\",\n    \"strMeasure4\": \"3 cloves\",\n    \"strMeasure5\": \"3 parts \",\n    \"strMeasure6\": \"4 tbs\",\n    \"strMeasure7\": \"1 cup \",\n    \"strMeasure8\": \"1 pinch\",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://panlasangpinoy.com/bistek-tagalog-beefsteak-recipe/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 218\n  },\n  {\n    \"idMeal\": \"53070\",\n    \"strMeal\": \"Beef Caldereta\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Filipino\",\n    \"strInstructions\": \"0.\\tHeat oil in a cooking pot. Saute onion and garlic until onion softens\\r\\n1.\\tAdd beef. Saute until the outer part turns light brown.\\r\\n2.\\tAdd soy sauce. Pour tomato sauce and water. Let boil.\\r\\n3.\\tAdd Knorr Beef Cube. Cover the pressure cooker. Cook for 30 minutes.\\r\\n4.\\tPan-fry carrot and potato until it browns. Set aside.\\r\\n5.\\tAdd chili pepper, liver spread and peanut butter. Stir.\\r\\n6.\\tAdd bell peppers, fried potato and carrot. Cover the pot. Continue cooking for 5 to 7 minutes.\\r\\n7.\\tSeason with salt and ground black pepper. Serve.\\r\\n\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/41cxjh1683207682.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=yI7hTz0ft5k\",\n    \"strIngredient1\": \"Beef\",\n    \"strIngredient2\": \"Beef Stock\",\n    \"strIngredient3\": \"Soy Sauce\",\n    \"strIngredient4\": \"Water\",\n    \"strIngredient5\": \"Green Pepper\",\n    \"strIngredient6\": \"Red Pepper\",\n    \"strIngredient7\": \"Potatoes\",\n    \"strIngredient8\": \"Carrots\",\n    \"strIngredient9\": \"Tomato Puree\",\n    \"strIngredient10\": \"Peanut Butter\",\n    \"strIngredient11\": \"Chilli Powder\",\n    \"strIngredient12\": \"Onion\",\n    \"strIngredient13\": \"Garlic\",\n    \"strIngredient14\": \"Olive Oil\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2kg cut cubes\",\n    \"strMeasure2\": \"1\",\n    \"strMeasure3\": \"1 tbs\",\n    \"strMeasure4\": \"2 cups \",\n    \"strMeasure5\": \"1 sliced\",\n    \"strMeasure6\": \"1 sliced\",\n    \"strMeasure7\": \"1 sliced\",\n    \"strMeasure8\": \"1 sliced\",\n    \"strMeasure9\": \"8 ounces\",\n    \"strMeasure10\": \"3  tablespoons\",\n    \"strMeasure11\": \"5\",\n    \"strMeasure12\": \"1 chopped\",\n    \"strMeasure13\": \"5 cloves\",\n    \"strMeasure14\": \"3 tbs\",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.kawalingpinoy.com/beef-caldereta/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 219\n  },\n  {\n    \"idMeal\": \"53071\",\n    \"strMeal\": \"Beef Asado\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Filipino\",\n    \"strInstructions\": \"0.\\tCombine beef, crushed peppercorn, soy sauce, vinegar, dried bay leaves, lemon, and tomato sauce. Mix well. Marinate beef for at least 30 minutes.\\r\\n1.\\tPut the marinated beef in a cooking pot along with remaining marinade. Add water. Let boil.\\r\\n2.\\tAdd Knorr Beef Cube. Stir. Cover the pot and cook for 40 minutes in low heat.\\r\\n3.\\tTurn the beef over. Add tomato paste. Continue cooking until beef tenderizes. Set aside.\\r\\n4.\\tHeat oil in a pan. Fry the potato until it browns. Turn over and continue frying the opposite side. Remove from the pan and place on a clean plate. Do the same with the carrots.\\r\\n5.\\tSave 3 tablespoons of cooking oil from the pan where the potato was fried. Saute onion and garlic until onion softens.\\r\\n6.\\tPour-in the sauce from the beef stew. Let boil. Add the beef. Cook for 2 minutes.\\r\\n7.\\tAdd butter and let it melt. Continue cooking until the sauce reduces to half.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/pkopc31683207947.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=lNlK8DVhXXA\",\n    \"strIngredient1\": \"Beef\",\n    \"strIngredient2\": \"Beef Stock Concentrate\",\n    \"strIngredient3\": \"Tomato Puree\",\n    \"strIngredient4\": \"Water\",\n    \"strIngredient5\": \"Soy Sauce\",\n    \"strIngredient6\": \"White Wine Vinegar\",\n    \"strIngredient7\": \"Pepper\",\n    \"strIngredient8\": \"Bay Leaf\",\n    \"strIngredient9\": \"Lemon\",\n    \"strIngredient10\": \"Tomato Sauce\",\n    \"strIngredient11\": \"Butter\",\n    \"strIngredient12\": \"Olive Oil\",\n    \"strIngredient13\": \"Onion\",\n    \"strIngredient14\": \"Garlic\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1.5kg\",\n    \"strMeasure2\": \"1\",\n    \"strMeasure3\": \"8 ounces\",\n    \"strMeasure4\": \"3 cups \",\n    \"strMeasure5\": \"6 tablespoons\",\n    \"strMeasure6\": \"1 tbs\",\n    \"strMeasure7\": \"2 tbs\",\n    \"strMeasure8\": \"4\",\n    \"strMeasure9\": \"1/2 \",\n    \"strMeasure10\": \"2 tbs\",\n    \"strMeasure11\": \"3 tbs\",\n    \"strMeasure12\": \"1/2 cup \",\n    \"strMeasure13\": \"1 chopped\",\n    \"strMeasure14\": \"4 cloves\",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://panlasangpinoy.com/beef-asado/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 220\n  },\n  {\n    \"idMeal\": \"52776\",\n    \"strMeal\": \"Chocolate Gateau\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Preheat the oven to 180°C/350°F/Gas Mark 4. Grease and line the base of an 8 in round spring form cake tin with baking parchment\\r\\nBreak the chocolate into a heatproof bowl and place over a saucepan of gently simmering water and stir until it melts. (or melt in the microwave for 2-3 mins stirring occasionally)\\r\\nPlace the butter and sugar in a mixing bowl and cream together with a wooden spoon until light and fluffy. Gradually beat in the eggs, adding a little flour if the mixture begins to curdle. Fold in the remaining flour with the cooled, melted chocolate and milk. Mix until smooth.\\r\\nSpread the mixture into the cake tin and bake for 50-55 mins or until firm in the centre and a skewer comes out cleanly. Cool for 10 minutes, then turn out and cool completely.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/tqtywx1468317395.jpg\",\n    \"strTags\": \"Cake,Chocolate,Desert,Pudding\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=dsJtgmAhFF4\",\n    \"strIngredient1\": \"Plain chocolate\",\n    \"strIngredient2\": \"Butter\",\n    \"strIngredient3\": \"Milk\",\n    \"strIngredient4\": \"Eggs\",\n    \"strIngredient5\": \"Granulated Sugar\",\n    \"strIngredient6\": \"Flour\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": null,\n    \"strIngredient17\": null,\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"250g\",\n    \"strMeasure2\": \"175g\",\n    \"strMeasure3\": \"2 tablespoons\",\n    \"strMeasure4\": \"5\",\n    \"strMeasure5\": \"175g\",\n    \"strMeasure6\": \"125g\",\n    \"strMeasure7\": \"\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": null,\n    \"strMeasure17\": null,\n    \"strMeasure18\": null,\n    \"strMeasure19\": null,\n    \"strMeasure20\": null,\n    \"strSource\": \"http://www.goodtoknow.co.uk/recipes/536028/chocolate-gateau\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 221\n  },\n  {\n    \"idMeal\": \"52765\",\n    \"strMeal\": \"Chicken Enchilada Casserole\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Mexican\",\n    \"strInstructions\": \"Cut each chicken breast in about 3 pieces, so that it cooks faster and put it in a small pot. Pour Enchilada sauce over it and cook covered on low to medium heat until chicken is cooked through, about 20 minutes. No water is needed, the chicken will cook in the Enchilada sauce. Make sure you stir occasionally so that it doesn't stick to the bottom.\\r\\nRemove chicken from the pot and shred with two forks.\\r\\nPreheat oven to 375 F degrees.\\r\\nStart layering the casserole. Start with about ¼ cup of the leftover Enchilada sauce over the bottom of a baking dish. I used a longer baking dish, so that I can put 2 corn tortillas across. Place 2 tortillas on the bottom, top with ⅓ of the chicken and ⅓ of the remaining sauce. Sprinkle with ⅓ of the cheese and repeat starting with 2 more tortillas, then chicken, sauce, cheese. Repeat with last layer with the remaining ingredients, tortillas, chicken, sauce and cheese.\\r\\nBake for 20 to 30 minutes uncovered, until bubbly and cheese has melted and started to brown on top.\\r\\nServe warm.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/qtuwxu1468233098.jpg\",\n    \"strTags\": \"Casserole,Cheasy,Meat\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=EtVkwVKLc_M\",\n    \"strIngredient1\": \"Enchilada sauce\",\n    \"strIngredient2\": \"shredded Monterey Jack cheese\",\n    \"strIngredient3\": \"corn tortillas\",\n    \"strIngredient4\": \"chicken breasts\",\n    \"strIngredient5\": null,\n    \"strIngredient6\": null,\n    \"strIngredient7\": null,\n    \"strIngredient8\": null,\n    \"strIngredient9\": null,\n    \"strIngredient10\": null,\n    \"strIngredient11\": null,\n    \"strIngredient12\": null,\n    \"strIngredient13\": null,\n    \"strIngredient14\": null,\n    \"strIngredient15\": null,\n    \"strIngredient16\": null,\n    \"strIngredient17\": null,\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"14 oz jar\",\n    \"strMeasure2\": \"3 Cups\",\n    \"strMeasure3\": \"6\",\n    \"strMeasure4\": \"2\",\n    \"strMeasure5\": null,\n    \"strMeasure6\": null,\n    \"strMeasure7\": null,\n    \"strMeasure8\": null,\n    \"strMeasure9\": null,\n    \"strMeasure10\": null,\n    \"strMeasure11\": null,\n    \"strMeasure12\": null,\n    \"strMeasure13\": null,\n    \"strMeasure14\": null,\n    \"strMeasure15\": null,\n    \"strMeasure16\": null,\n    \"strMeasure17\": null,\n    \"strMeasure18\": null,\n    \"strMeasure19\": null,\n    \"strMeasure20\": null,\n    \"strSource\": null,\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 222\n  },\n  {\n    \"idMeal\": \"52779\",\n    \"strMeal\": \"Cream Cheese Tart\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Starter\",\n    \"strArea\": \"Unknown\",\n    \"strInstructions\": \"Crust: make a dough from 250g flour (I like mixing different flours like plain and wholegrain spelt flour), 125g butter, 1 egg and a pinch of salt, press it into a tart form and place it in the fridge. Filling: stir 300g cream cheese and 100ml milk until smooth, add in 3 eggs, 100g grated parmesan cheese and season with salt, pepper and nutmeg. Take the crust out of the fridge and prick the bottom with a fork. Pour in the filling and bake at 175 degrees C for about 25 minutes. Cover the tart with some aluminium foil after half the time. In the mean time, slice about 350g mini tomatoes. In a small pan heat 3tbsp olive oil, 3tbsp white vinegar, 1 tbsp honey, salt and pepper and combine well. Pour over the tomato slices and mix well. With a spoon, place the tomato slices on the tart, avoiding too much liquid on it. Decorate with basil leaves and enjoy\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wurrux1468416624.jpg\",\n    \"strTags\": \"Tart,Savory\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=UhQPwO4uymo\",\n    \"strIngredient1\": \"Flour\",\n    \"strIngredient2\": \"Butter\",\n    \"strIngredient3\": \"Egg\",\n    \"strIngredient4\": \"Salt\",\n    \"strIngredient5\": \"Cheese\",\n    \"strIngredient6\": \"Milk\",\n    \"strIngredient7\": \"Eggs\",\n    \"strIngredient8\": \"Parmesan Cheese\",\n    \"strIngredient9\": \"Plum tomatoes\",\n    \"strIngredient10\": \"White Vinegar\",\n    \"strIngredient11\": \"Honey\",\n    \"strIngredient12\": \"Basil\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": null,\n    \"strIngredient17\": null,\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"250g\",\n    \"strMeasure2\": \"125g\",\n    \"strMeasure3\": \"1\",\n    \"strMeasure4\": \"Pinch\",\n    \"strMeasure5\": \"300g\",\n    \"strMeasure6\": \"100ml milk\",\n    \"strMeasure7\": \"3\",\n    \"strMeasure8\": \"100g\",\n    \"strMeasure9\": \"350g\",\n    \"strMeasure10\": \"3tbsp\",\n    \"strMeasure11\": \"1 tbsp\",\n    \"strMeasure12\": \"Topping\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": null,\n    \"strMeasure17\": null,\n    \"strMeasure18\": null,\n    \"strMeasure19\": null,\n    \"strMeasure20\": null,\n    \"strSource\": \"https://www.instagram.com/p/BHyuMZ1hZX0\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 223\n  },\n  {\n    \"idMeal\": \"52788\",\n    \"strMeal\": \"Christmas Pudding Flapjack\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Preheat the oven to 180°C/fan 160°C/gas mark 4 and grease and line a 25cm x 20cm tin. Melt the butter, sugar, syrup and orange zest in a large saucepan over a medium heat. The aim is to dissolve all the ingredients so that they are smooth, but to not lose any volume through boiling so be careful not to overheat.\\r\\n\\r\\nAdd the oats and stir well until evenly coated. Stir through the leftover Christmas pudding and tip into the prepared tin. Use a spoon to flatten the top and bake for 40 minutes until the edges start to brown. Whilst still warm in the tin, score into 12 squares. Allow to cool completely before cutting along the scores.\\r\\n\\r\\nKeeps for 5 days in an air tight tin or freeze for up to 1 month.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/vvusxs1483907034.jpg\",\n    \"strTags\": \"Snack,Cake\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=OaqvGvEiwzU\",\n    \"strIngredient1\": \"salted butter\",\n    \"strIngredient2\": \"dark soft brown sugar\",\n    \"strIngredient3\": \"golden syrup\",\n    \"strIngredient4\": \"orange\",\n    \"strIngredient5\": \"rolled oats\",\n    \"strIngredient6\": \"Christmas pudding\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"250g\",\n    \"strMeasure2\": \"225g\",\n    \"strMeasure3\": \"150g\",\n    \"strMeasure4\": \"Zest of 1\",\n    \"strMeasure5\": \"500g\",\n    \"strMeasure6\": \"250g\",\n    \"strMeasure7\": \"\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 224\n  },\n  {\n    \"idMeal\": \"52795\",\n    \"strMeal\": \"Chicken Handi\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Indian\",\n    \"strInstructions\": \"Take a large pot or wok, big enough to cook all the chicken, and heat the oil in it. Once the oil is hot, add sliced onion and fry them until deep golden brown. Then take them out on a plate and set aside.\\r\\nTo the same pot, add the chopped garlic and sauté for a minute. Then add the chopped tomatoes and cook until tomatoes turn soft. This would take about 5 minutes.\\r\\nThen return the fried onion to the pot and stir. Add ginger paste and sauté well.\\r\\nNow add the cumin seeds, half of the coriander seeds and chopped green chillies. Give them a quick stir.\\r\\nNext goes in the spices – turmeric powder and red chilli powder. Sauté the spices well for couple of minutes.\\r\\nAdd the chicken pieces to the wok, season it with salt to taste and cook the chicken covered on medium-low heat until the chicken is almost cooked through. This would take about 15 minutes. Slowly sautéing the chicken will enhance the flavor, so do not expedite this step by putting it on high heat.\\r\\nWhen the oil separates from the spices, add the beaten yogurt keeping the heat on lowest so that the yogurt doesn’t split. Sprinkle the remaining coriander seeds and add half of the dried fenugreek leaves. Mix well.\\r\\nFinally add the cream and give a final mix to combine everything well.\\r\\nSprinkle the remaining kasuri methi and garam masala and serve the chicken handi hot with naan or rotis. Enjoy!\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wyxwsp1486979827.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=IO0issT0Rmc\",\n    \"strIngredient1\": \"Chicken\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Tomatoes\",\n    \"strIngredient4\": \"Garlic\",\n    \"strIngredient5\": \"Ginger paste\",\n    \"strIngredient6\": \"Vegetable oil\",\n    \"strIngredient7\": \"Cumin seeds\",\n    \"strIngredient8\": \"Coriander seeds\",\n    \"strIngredient9\": \"Turmeric powder\",\n    \"strIngredient10\": \"Chilli powder\",\n    \"strIngredient11\": \"Green chilli\",\n    \"strIngredient12\": \"Yogurt\",\n    \"strIngredient13\": \"Cream\",\n    \"strIngredient14\": \"fenugreek\",\n    \"strIngredient15\": \"Garam masala\",\n    \"strIngredient16\": \"Salt\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1.2 kg\",\n    \"strMeasure2\": \"5 thinly sliced\",\n    \"strMeasure3\": \"2 finely chopped\",\n    \"strMeasure4\": \"8 cloves chopped\",\n    \"strMeasure5\": \"1 tbsp\",\n    \"strMeasure6\": \"¼ cup\",\n    \"strMeasure7\": \"2 tsp\",\n    \"strMeasure8\": \"3 tsp\",\n    \"strMeasure9\": \"1 tsp\",\n    \"strMeasure10\": \"1 tsp\",\n    \"strMeasure11\": \"2\",\n    \"strMeasure12\": \"1 cup\",\n    \"strMeasure13\": \"¾ cup\",\n    \"strMeasure14\": \"3 tsp Dried\",\n    \"strMeasure15\": \"1 tsp\",\n    \"strMeasure16\": \"To taste\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 225\n  },\n  {\n    \"idMeal\": \"52796\",\n    \"strMeal\": \"Chicken Alfredo Primavera\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Italian\",\n    \"strInstructions\": \"Heat 1 tablespoon of butter and 2 tablespoons of olive oil in a large skillet over medium-high heat. Season both sides of each chicken breast with seasoned salt and a pinch of pepper. Add the chicken to the skillet and cook for 5-7 minutes on each side, or until cooked through.  While the chicken is cooking, bring a large pot of water to a boil. Season the boiling water with a few generous pinches of kosher salt. Add the pasta and give it a stir. Cook, stirring occasionally, until al dente, about 12 minutes. Reserve 1/2 cup of  pasta water before draining the pasta.  Remove the chicken from the pan and transfer it to a cutting board; allow it to rest. Turn the heat down to medium and dd the remaining 1 tablespoon of butter and olive oil to the same pan you used to cook the chicken. Add the veggies (minus the garlic) and red pepper flakes to the pan and stir to coat with the oil and butter (refrain from seasoning with salt until the veggies are finished browning). Cook, stirring often, until the veggies are tender, about 5 minutes. Add the garlic and a generous pinch of salt and pepper to the pan and cook for 1 minute.  Deglaze the pan with the white wine. Continue to cook until the wine has reduced by half, about 3 minutes. Stir in the milk, heavy cream, and reserved pasta water. Bring the mixture to a gentle boil and allow to simmer and reduce for 2-3 minutes. Turn off the heat and add the Parmesan cheese and cooked pasta. Season with salt and pepper to taste. Garnish with Parmesan cheese and chopped parsley, if desired. \",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/syqypv1486981727.jpg\",\n    \"strTags\": \"Pasta,Meat,Dairy\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=qCIbq8HywpQ\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Olive Oil\",\n    \"strIngredient3\": \"Chicken\",\n    \"strIngredient4\": \"Salt\",\n    \"strIngredient5\": \"Squash\",\n    \"strIngredient6\": \"Broccoli\",\n    \"strIngredient7\": \"mushrooms\",\n    \"strIngredient8\": \"Pepper\",\n    \"strIngredient9\": \"onion\",\n    \"strIngredient10\": \"garlic\",\n    \"strIngredient11\": \"red pepper flakes\",\n    \"strIngredient12\": \"white wine\",\n    \"strIngredient13\": \"milk\",\n    \"strIngredient14\": \"heavy cream\",\n    \"strIngredient15\": \"Parmesan cheese\",\n    \"strIngredient16\": \"bowtie pasta\",\n    \"strIngredient17\": \"Salt\",\n    \"strIngredient18\": \"Pepper\",\n    \"strIngredient19\": \"Parsley\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 tablespoons\",\n    \"strMeasure2\": \"3 tablespoons\",\n    \"strMeasure3\": \"5 boneless\",\n    \"strMeasure4\": \"1 teaspoon\",\n    \"strMeasure5\": \"1 cut into 1/2-inch cubes\",\n    \"strMeasure6\": \"1 Head chopped\",\n    \"strMeasure7\": \"8-ounce sliced\",\n    \"strMeasure8\": \"1 red\",\n    \"strMeasure9\": \"1 chopped\",\n    \"strMeasure10\": \"3 cloves\",\n    \"strMeasure11\": \"1/2 teaspoon\",\n    \"strMeasure12\": \"1/2 cup\",\n    \"strMeasure13\": \"1/2 cup\",\n    \"strMeasure14\": \"1/2 cup\",\n    \"strMeasure15\": \"1 cup grated\",\n    \"strMeasure16\": \"16 ounces\",\n    \"strMeasure17\": \"pinch\",\n    \"strMeasure18\": \"pinch \",\n    \"strMeasure19\": \"chopped\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 226\n  },\n  {\n    \"idMeal\": \"52818\",\n    \"strMeal\": \"Chicken Fajita Mac and Cheese\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"Fry your onion, peppers and garlic in olive oil until nicely translucent. Make a well in your veg and add your chicken. Add your seasoning and salt. Allow to colour slightly.\\r\\nAdd your cream, stock and macaroni.\\r\\nCook on low for 20 minutes. Add your cheeses, stir to combine.\\r\\nTop with roasted peppers and parsley.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/qrqywr1503066605.jpg\",\n    \"strTags\": \"Pasta,Cheasy,Meat\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=bwTSmLTZKNg\",\n    \"strIngredient1\": \"macaroni\",\n    \"strIngredient2\": \"chicken stock\",\n    \"strIngredient3\": \"heavy cream\",\n    \"strIngredient4\": \"fajita seasoning\",\n    \"strIngredient5\": \"salt\",\n    \"strIngredient6\": \"chicken breast\",\n    \"strIngredient7\": \"olive oil\",\n    \"strIngredient8\": \"onion\",\n    \"strIngredient9\": \"red pepper\",\n    \"strIngredient10\": \"garlic\",\n    \"strIngredient11\": \"cheddar cheese\",\n    \"strIngredient12\": \"parsley\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"500g\",\n    \"strMeasure2\": \"2 cups\",\n    \"strMeasure3\": \"1/2 cup\",\n    \"strMeasure4\": \"1 packet\",\n    \"strMeasure5\": \"1 tsp\",\n    \"strMeasure6\": \"3 diced\",\n    \"strMeasure7\": \"2 tbsp\",\n    \"strMeasure8\": \"1 small finely diced\",\n    \"strMeasure9\": \"2 finely diced\",\n    \"strMeasure10\": \"2 cloves minced\",\n    \"strMeasure11\": \"1 cup\",\n    \"strMeasure12\": \"garnish chopped\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://twistedfood.co.uk/chicken-fajita-mac-n-cheese/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 227\n  },\n  {\n    \"idMeal\": \"52819\",\n    \"strMeal\": \"Cajun spiced fish tacos\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"Mexican\",\n    \"strInstructions\": \"Cooking in a cajun spice and cayenne pepper marinade makes this fish super succulent and flavoursome. Top with a zesty dressing and serve in a tortilla for a quick, fuss-free main that's delightfully summery.\\r\\n\\r\\nOn a large plate, mix the cajun spice and cayenne pepper with a little seasoning and use to coat the fish all over.\\r\\n\\r\\nHeat a little oil in a frying pan, add in the fish and cook over a medium heat until golden. Reduce the heat and continue frying until the fish is cooked through, about 10 minutes. Cook in batches if you don’t have enough room in the pan.\\r\\n\\r\\nMeanwhile, prepare the dressing by combining all the ingredients with a little seasoning.\\r\\nSoften the tortillas by heating in the microwave for 5-10 seconds. Pile high with the avocado, lettuce and spring onion, add a spoonful of salsa, top with large flakes of fish and drizzle over the dressing.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/uvuyxu1503067369.jpg\",\n    \"strTags\": \"Spicy,Fish\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=N4EdUt0Ou48\",\n    \"strIngredient1\": \"cajun\",\n    \"strIngredient2\": \"cayenne pepper\",\n    \"strIngredient3\": \"white fish\",\n    \"strIngredient4\": \"vegetable oil\",\n    \"strIngredient5\": \"flour tortilla\",\n    \"strIngredient6\": \"avocado\",\n    \"strIngredient7\": \"little gem lettuce\",\n    \"strIngredient8\": \"spring onion\",\n    \"strIngredient9\": \"salsa\",\n    \"strIngredient10\": \"sour cream\",\n    \"strIngredient11\": \"lemon\",\n    \"strIngredient12\": \"garlic\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 tbsp\",\n    \"strMeasure2\": \"1 tsp\",\n    \"strMeasure3\": \"4 fillets\",\n    \"strMeasure4\": \"1 tsp\",\n    \"strMeasure5\": \"8\",\n    \"strMeasure6\": \"1 sliced\",\n    \"strMeasure7\": \"2 shredded\",\n    \"strMeasure8\": \"4 shredded\",\n    \"strMeasure9\": \"1 x 300ml\",\n    \"strMeasure10\": \"1 pot\",\n    \"strMeasure11\": \"1\",\n    \"strMeasure12\": \"1 clove finely chopped\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://realfood.tesco.com/recipes/cajun-spiced-fish-tacos.html\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 228\n  },\n  {\n    \"idMeal\": \"52830\",\n    \"strMeal\": \"Crock Pot Chicken Baked Tacos\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Mexican\",\n    \"strInstructions\": \"Put the uncooked chicken breasts in the crock pot. Pour the full bottle of salad dressing over the chicken. Sprinkle the rest of the ingredients over the top and mix them in a bit with a spoon.\\r\\nCover your crock pot with the lid and cook on high for 4 hours.\\r\\nRemove all the chicken breasts from the crock pot and let cool.\\r\\nShred the chicken breasts and move to a glass bowl.\\r\\nPour most of the liquid over the shredded chicken.\\r\\nFOR THE TACOS:\\r\\nMake the guacamole sauce by mixing the avocado and green salsa together. Pour the guacamole mixture through a strainer until smooth and transfer to a squeeze bottle. Cut the tip off the lid of the squeeze bottle to make the opening more wide if needed.\\r\\nMake the sour cream sauce by mixing the sour cream and milk together until you get a more liquid sour cream sauce. Transfer to a squeeze bottle.\\r\\nIn a 9x 13 glass baking dish, fill all 12+ tacos with a layer of refried beans, cooked chicken and shredded cheese.\\r\\nBake at 450 for 10-15 minutes just until the cheese is melted and bubbling.\\r\\nOut of the oven top all the tacos with the sliced grape tomaotes, jalapeno and cilantro.\\r\\nFinish with a drizzle of guacamole and sour cream.\\r\\nEnjoy!\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/ypxvwv1505333929.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=oqL0mLDBzS4\",\n    \"strIngredient1\": \"Chicken Breasts\",\n    \"strIngredient2\": \"Vinaigrette Dressing\",\n    \"strIngredient3\": \"Cumin\",\n    \"strIngredient4\": \"Smoked Paprika\",\n    \"strIngredient5\": \"Garlic\",\n    \"strIngredient6\": \"Refried Beans\",\n    \"strIngredient7\": \"Hard Taco Shells\",\n    \"strIngredient8\": \"Shredded Mexican Cheese\",\n    \"strIngredient9\": \"Grape Tomatoes\",\n    \"strIngredient10\": \"Jalapeno\",\n    \"strIngredient11\": \"Avocado\",\n    \"strIngredient12\": \"Green Salsa\",\n    \"strIngredient13\": \"Sour Cream\",\n    \"strIngredient14\": \"Milk\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"4 - 6\",\n    \"strMeasure2\": \"1 bottle\",\n    \"strMeasure3\": \"1½ tablespoon\",\n    \"strMeasure4\": \"1 tablespoon\",\n    \"strMeasure5\": \"1 teaspoon\",\n    \"strMeasure6\": \"1 can\",\n    \"strMeasure7\": \"12\",\n    \"strMeasure8\": \"2 cups\",\n    \"strMeasure9\": \"Halved\",\n    \"strMeasure10\": \"Sliced and Seeded\",\n    \"strMeasure11\": \"Peeled and Sliced\",\n    \"strMeasure12\": \"2 tablespoons\",\n    \"strMeasure13\": \"3 tablespoons\",\n    \"strMeasure14\": \"1 tablespoon\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.nobiggie.net/crock-pot-chicken-baked-tacos/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 229\n  },\n  {\n    \"idMeal\": \"52831\",\n    \"strMeal\": \"Chicken Karaage\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Japanese\",\n    \"strInstructions\": \"Add the ginger, garlic, soy sauce, sake and sugar to a bowl and whisk to combine. Add the chicken, then stir to coat evenly. Cover and refrigerate for at least 1 hour.\\r\\n\\r\\nAdd 1 inch of vegetable oil to a heavy bottomed pot and heat until the oil reaches 360 degrees F. Line a wire rack with 2 sheets of paper towels and get your tongs out. Put the potato starch in a bowl\\r\\n\\r\\nAdd a handful of chicken to the potato starch and toss to coat each piece evenly.\\r\\n\\r\\nFry the karaage in batches until the exterior is a medium brown and the chicken is cooked through. Transfer the fried chicken to the paper towel lined rack. If you want the karaage to stay crispy longer, you can fry the chicken a second time, until it's a darker color after it's cooled off once. Serve with lemon wedges.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/tyywsw1505930373.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=XivddFddthc\",\n    \"strIngredient1\": \"Chicken thigh\",\n    \"strIngredient2\": \"Ginger\",\n    \"strIngredient3\": \"Garlic\",\n    \"strIngredient4\": \"Soy sauce\",\n    \"strIngredient5\": \"Sake\",\n    \"strIngredient6\": \"Granulated sugar\",\n    \"strIngredient7\": \"Potato starch\",\n    \"strIngredient8\": \"Vegetable oil\",\n    \"strIngredient9\": \"Lemon\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"450 grams Boneless skin\",\n    \"strMeasure2\": \"1 tablespoon\",\n    \"strMeasure3\": \"1 clove\",\n    \"strMeasure4\": \"2 tablespoons\",\n    \"strMeasure5\": \"1 tablespoon\",\n    \"strMeasure6\": \"2 teaspoon\",\n    \"strMeasure7\": \"1/3 cup\",\n    \"strMeasure8\": \"1/3 cup\",\n    \"strMeasure9\": \"1/3 cup\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://norecipes.com/karaage-recipe\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 230\n  },\n  {\n    \"idMeal\": \"52832\",\n    \"strMeal\": \"Coq au vin\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Heat 1 tbsp of the oil in a large, heavy-based saucepan or flameproof dish. Tip in the bacon and fry until crisp. Remove and drain on kitchen paper. Add the shallots to the pan and fry, stirring or shaking the pan often, for 5-8 mins until well browned all over. Remove and set aside with the bacon.\\r\\nPat the chicken pieces dry with kitchen paper. Pour the remaining oil into the pan, then fry half the chicken pieces, turning regularly, for 5-8 mins until well browned. Remove, then repeat with the remaining chicken. Remove and set aside.\\r\\nScatter in the garlic and fry briefly, then, with the heat medium-high, pour in the brandy or Cognac, stirring the bottom of the pan to deglaze. The alcohol should sizzle and start to evaporate so there is not much left.\\r\\nReturn the chicken legs and thighs to the pan along with any juices, then pour in a little of the wine, stirring the bottom of the pan again. Stir in the rest of the wine, the stock and tomato purée, drop in the bouquet garni, season with pepper and a pinch of salt, then return the bacon and shallots to the pan. Cover, lower the heat to a gentle simmer, add the chicken breasts and cook for 50 mins-1hr.\\r\\nJust before ready to serve, heat the oil for the mushrooms in a large non-stick frying pan. Add the mushrooms and fry over a high heat for a few mins until golden. Remove and keep warm.\\r\\nLift the chicken, shallots and bacon from the pan and transfer to a warmed serving dish. Remove the bouquet garni. To make the thickener, mix the flour, olive oil and butter in a small bowl using the back of a teaspoon. Bring the wine mixture to a gentle boil, then gradually drop in small pieces of the thickener, whisking each piece in using a wire whisk. Simmer for 1-2 mins. Scatter the mushrooms over the chicken, then pour over the wine sauce. Garnish with chopped parsley.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/qstyvs1505931190.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=_ise46LADBs\",\n    \"strIngredient1\": \"Olive Oil\",\n    \"strIngredient2\": \"Bacon\",\n    \"strIngredient3\": \"Shallots\",\n    \"strIngredient4\": \"Chicken Legs\",\n    \"strIngredient5\": \"Chicken Thighs\",\n    \"strIngredient6\": \"Chicken Breasts\",\n    \"strIngredient7\": \"Garlic\",\n    \"strIngredient8\": \"Brandy\",\n    \"strIngredient9\": \"Red Wine\",\n    \"strIngredient10\": \"Chicken Stock\",\n    \"strIngredient11\": \"tomato puree\",\n    \"strIngredient12\": \"thyme\",\n    \"strIngredient13\": \"Rosemary\",\n    \"strIngredient14\": \"bay leaves\",\n    \"strIngredient15\": \"parsley\",\n    \"strIngredient16\": \"chestnut mushroom\",\n    \"strIngredient17\": \"plain flour\",\n    \"strIngredient18\": \"butter\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1½ tbsp\",\n    \"strMeasure2\": \"3 rashers (100g) chopped dry-cured\",\n    \"strMeasure3\": \"12 small\",\n    \"strMeasure4\": \"2 (460g)\",\n    \"strMeasure5\": \"4 (650g)\",\n    \"strMeasure6\": \"2 (280g)\",\n    \"strMeasure7\": \"3 finely chopped\",\n    \"strMeasure8\": \"3 tbsp\",\n    \"strMeasure9\": \"600ml\",\n    \"strMeasure10\": \"150ml\",\n    \"strMeasure11\": \"2 tsp\",\n    \"strMeasure12\": \"3 sprigs\",\n    \"strMeasure13\": \"2 sprigs\",\n    \"strMeasure14\": \"2\",\n    \"strMeasure15\": \"garnish\",\n    \"strMeasure16\": \"250g\",\n    \"strMeasure17\": \"2 tbsp\",\n    \"strMeasure18\": \"1 tsp\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/1913655/coq-au-vin\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 231\n  },\n  {\n    \"idMeal\": \"52839\",\n    \"strMeal\": \"Chilli prawn linguine\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pasta\",\n    \"strArea\": \"Italian\",\n    \"strInstructions\": \"Mix the dressing ingredients in a small bowl and season with salt and pepper. Set aside.\\r\\n\\r\\nCook the pasta according to the packet instructions. Add the sugar snap peas for the last minute or so of cooking time.\\r\\n\\r\\nMeanwhile, heat the oil in a wok or large frying pan, toss in the garlic and chilli and cook over a fairly gentle heat for about 30 seconds without letting the garlic brown. Tip in the prawns and cook over a high heat, stirring frequently, for about 3 minutes until they turn pink.\\r\\n\\r\\nAdd the tomatoes and cook, stirring occasionally, for 3 minutes until they just start to soften. Drain the pasta and sugar snaps well, then toss into the prawn mixture. Tear in the basil leaves, stir, and season with salt and pepper.\\r\\n\\r\\nServe with salad leaves drizzled with the lime dressing, and warm crusty bread.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/usywpp1511189717.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=SC17Mc70Db0\",\n    \"strIngredient1\": \"Linguine Pasta\",\n    \"strIngredient2\": \"Sugar Snap Peas\",\n    \"strIngredient3\": \"Olive Oil\",\n    \"strIngredient4\": \"Garlic Clove\",\n    \"strIngredient5\": \"Red Chilli\",\n    \"strIngredient6\": \"King Prawns\",\n    \"strIngredient7\": \"Cherry Tomatoes\",\n    \"strIngredient8\": \"Basil Leaves\",\n    \"strIngredient9\": \"Lettuce\",\n    \"strIngredient10\": \"Bread\",\n    \"strIngredient11\": \"Fromage Frais\",\n    \"strIngredient12\": \"Lime\",\n    \"strIngredient13\": \"Caster Sugar\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"280g\",\n    \"strMeasure2\": \"200g\",\n    \"strMeasure3\": \"2 tblsp \",\n    \"strMeasure4\": \"2 cloves chopped\",\n    \"strMeasure5\": \"1 large\",\n    \"strMeasure6\": \"24 Skinned\",\n    \"strMeasure7\": \"12\",\n    \"strMeasure8\": \"Handful\",\n    \"strMeasure9\": \"Leaves\",\n    \"strMeasure10\": \"to serve\",\n    \"strMeasure11\": \"2 tbsp\",\n    \"strMeasure12\": \"Grated Zest of 2\",\n    \"strMeasure13\": \"2 tsp\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/1269/chilli-prawn-linguine\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 232\n  },\n  {\n    \"idMeal\": \"52840\",\n    \"strMeal\": \"Clam chowder\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Starter\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"Rinse the clams in several changes of cold water and drain well. Tip the clams into a large pan with 500ml of water. Cover, bring to the boil and simmer for 2 mins until the clams have just opened. Tip the contents of the pan into a colander over a bowl to catch the clam stock. When cool enough to handle, remove the clams from their shells – reserving a handful of empty shells for presentation if you want. Strain the clam stock into a jug, leaving any grit in the bottom of the bowl. You should have around 800ml stock.\\r\\nHeat the butter in the same pan and sizzle the bacon for 3-4 mins until it starts to brown. Stir in the onion, thyme and bay and cook everything gently for 10 mins until the onion is soft and golden. Scatter over the flour and stir in to make a sandy paste, cook for 2 mins more, then gradually stir in the clam stock then the milk and the cream.\\r\\nThrow in the potatoes, bring everything to a simmer and leave to bubble away gently for 10 mins or until the potatoes are cooked. Use a fork to crush a few of the potato chunks against the side of the pan to help thicken – you still want lots of defined chunks though. Stir through the clam meat and the few clam shells, if you've gone down that route, and simmer for a minute to reheat. Season with plenty of black pepper and a little salt, if needed, then stir through the parsley just before ladling into bowls or hollowed-out crusty rolls.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/rvtvuw1511190488.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=fEN_fm6kX6k\",\n    \"strIngredient1\": \"Clams\",\n    \"strIngredient2\": \"Butter\",\n    \"strIngredient3\": \"Bacon\",\n    \"strIngredient4\": \"Onion\",\n    \"strIngredient5\": \"Thyme\",\n    \"strIngredient6\": \"Bay Leaf\",\n    \"strIngredient7\": \"Plain Flour\",\n    \"strIngredient8\": \"Milk\",\n    \"strIngredient9\": \"Double Cream\",\n    \"strIngredient10\": \"Potatoes\",\n    \"strIngredient11\": \"Parsley\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1½ kg\",\n    \"strMeasure2\": \"50g\",\n    \"strMeasure3\": \"150g\",\n    \"strMeasure4\": \"1 finely chopped \",\n    \"strMeasure5\": \"sprigs of fresh\",\n    \"strMeasure6\": \"1\",\n    \"strMeasure7\": \"1 tbls\",\n    \"strMeasure8\": \"150ml\",\n    \"strMeasure9\": \"150ml\",\n    \"strMeasure10\": \"2 medium\",\n    \"strMeasure11\": \"Chopped\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/clam-chowder\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 233\n  },\n  {\n    \"idMeal\": \"52841\",\n    \"strMeal\": \"Creamy Tomato Soup\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Starter\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Put the oil, onions, celery, carrots, potatoes and bay leaves in a big casserole dish, or two saucepans. Fry gently until the onions are softened – about 10-15 mins. Fill the kettle and boil it.\\r\\nStir in the tomato purée, sugar, vinegar, chopped tomatoes and passata, then crumble in the stock cubes. Add 1 litre boiling water and bring to a simmer. Cover and simmer for 15 mins until the potato is tender, then remove the bay leaves. Purée with a stick blender (or ladle into a blender in batches) until very smooth. Season to taste and add a pinch more sugar if it needs it. The soup can now be cooled and chilled for up to 2 days, or frozen for up to 3 months.\\r\\nTo serve, reheat the soup, stirring in the milk – try not to let it boil. Serve in small bowls with cheesy sausage rolls.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/stpuws1511191310.jpg\",\n    \"strTags\": \"Baking\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=lBhwjjUiFk4\",\n    \"strIngredient1\": \"Olive Oil\",\n    \"strIngredient2\": \"Onions\",\n    \"strIngredient3\": \"Celery\",\n    \"strIngredient4\": \"Carrots\",\n    \"strIngredient5\": \"Potatoes\",\n    \"strIngredient6\": \"Bay Leaf\",\n    \"strIngredient7\": \"Tomato Puree\",\n    \"strIngredient8\": \"Sugar\",\n    \"strIngredient9\": \"White Vinegar\",\n    \"strIngredient10\": \"Chopped Tomatoes\",\n    \"strIngredient11\": \"Passata\",\n    \"strIngredient12\": \"Vegetable Stock Cube\",\n    \"strIngredient13\": \"Whole Milk\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"3 tbsp\",\n    \"strMeasure2\": \"2 chopped\",\n    \"strMeasure3\": \"2 sticks\",\n    \"strMeasure4\": \"300g\",\n    \"strMeasure5\": \"500g\",\n    \"strMeasure6\": \"4\",\n    \"strMeasure7\": \"5 tblsp \",\n    \"strMeasure8\": \"2 tblsp \",\n    \"strMeasure9\": \"2 tblsp \",\n    \"strMeasure10\": \"1½ kg\",\n    \"strMeasure11\": \"500g\",\n    \"strMeasure12\": \"3\",\n    \"strMeasure13\": \"400ml\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/2604646/creamy-tomato-soup\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 234\n  },\n  {\n    \"idMeal\": \"52846\",\n    \"strMeal\": \"Chicken & mushroom Hotpot\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Heat oven to 200C/180C fan/gas 6. Put the butter in a medium-size saucepan and place over a medium heat. Add the onion and leave to cook for 5 mins, stirring occasionally. Add the mushrooms to the saucepan with the onions.\\r\\n\\r\\nOnce the onion and mushrooms are almost cooked, stir in the flour – this will make a thick paste called a roux. If you are using a stock cube, crumble the cube into the roux now and stir well. Put the roux over a low heat and stir continuously for 2 mins – this will cook the flour and stop the sauce from having a floury taste.\\r\\n\\r\\nTake the roux off the heat. Slowly add the fresh stock, if using, or pour in 500ml water if you’ve used a stock cube, stirring all the time. Once all the liquid has been added, season with pepper, a pinch of nutmeg and mustard powder. Put the saucepan back onto a medium heat and slowly bring it to the boil, stirring all the time. Once the sauce has thickened, place on a very low heat. Add the cooked chicken and vegetables to the sauce and stir well. Grease a medium-size ovenproof pie dish with a little butter and pour in the chicken and mushroom filling.\\r\\n\\r\\nCarefully lay the potatoes on top of the hot-pot filling, overlapping them slightly, almost like a pie top.\\r\\n\\r\\nBrush the potatoes with a little melted butter and cook in the oven for about 35 mins. The hot-pot is ready once the potatoes are cooked and golden brown.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/uuuspp1511297945.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=bXKWu4GojNI\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Mushrooms\",\n    \"strIngredient4\": \"Plain Flour\",\n    \"strIngredient5\": \"Chicken Stock Cube\",\n    \"strIngredient6\": \"Nutmeg\",\n    \"strIngredient7\": \"Mustard Powder\",\n    \"strIngredient8\": \"Chicken\",\n    \"strIngredient9\": \"Sweetcorn\",\n    \"strIngredient10\": \"Potatoes\",\n    \"strIngredient11\": \"Butter\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"50g\",\n    \"strMeasure2\": \"1 chopped\",\n    \"strMeasure3\": \"100g \",\n    \"strMeasure4\": \"40g\",\n    \"strMeasure5\": \"1\",\n    \"strMeasure6\": \"pinch\",\n    \"strMeasure7\": \"pinch\",\n    \"strMeasure8\": \"250g\",\n    \"strMeasure9\": \"2 Handfuls\",\n    \"strMeasure10\": \"2 large\",\n    \"strMeasure11\": \"1 knob\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/chicken-mushroom-hot-pot\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 235\n  },\n  {\n    \"idMeal\": \"52850\",\n    \"strMeal\": \"Chicken Couscous\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Moroccan\",\n    \"strInstructions\": \"Heat the olive oil in a large frying pan and cook the onion for 1-2 mins just until softened. Add the chicken and fry for 7-10 mins until cooked through and the onions have turned golden. Grate over the ginger, stir through the harissa to coat everything and cook for 1 min more.\\r\\n\\r\\nTip in the apricots, chickpeas and couscous, then pour over the stock and stir once. Cover with a lid or tightly cover the pan with foil and leave for about 5 mins until the couscous has soaked up all the stock and is soft. Fluff up the couscous with a fork and scatter over the coriander to serve. Serve with extra harissa, if you like.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/qxytrx1511304021.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=GZQGy9oscVk\",\n    \"strIngredient1\": \"Olive Oil\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Chicken Breast\",\n    \"strIngredient4\": \"Ginger\",\n    \"strIngredient5\": \"Harissa Spice\",\n    \"strIngredient6\": \"Dried Apricots\",\n    \"strIngredient7\": \"Chickpeas\",\n    \"strIngredient8\": \"Couscous\",\n    \"strIngredient9\": \"Chicken Stock\",\n    \"strIngredient10\": \"Coriander\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 tbsp\",\n    \"strMeasure2\": \"1 chopped\",\n    \"strMeasure3\": \"200g\",\n    \"strMeasure4\": \"pinch\",\n    \"strMeasure5\": \"2 tblsp \",\n    \"strMeasure6\": \"10\",\n    \"strMeasure7\": \"220g\",\n    \"strMeasure8\": \"200g\",\n    \"strMeasure9\": \"200ml\",\n    \"strMeasure10\": \"Handful\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/13139/onepan-chicken-couscous\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 236\n  },\n  {\n    \"idMeal\": \"52853\",\n    \"strMeal\": \"Chocolate Avocado Mousse\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"1. Blend all the mousse ingredients together in your food processor until smooth. Add the cacao powder first and, as you blend, have all the ingredients to hand in order to adjust the ratios slightly as the size of avocados and bananas varies so much. The perfect ratio in order to avoid the dish tasting too much of either is to use equal amounts of both.\\r\\n\\r\\n2. Taste and add a few drops of stevia if you feel you need more sweetness.\\r\\n\\r\\n3. Fill little cups or shot glasses with the mousse, sprinkle with the cacao powder or nibs and serve.\\r\\n\\r\\nTip If you don’t have a frozen banana to hand you can just use a normal one and then chill the mousse before serving for a cooling dessert.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/uttuxy1511382180.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=wuZffe60q4M\",\n    \"strIngredient1\": \"Banana\",\n    \"strIngredient2\": \"Cacao\",\n    \"strIngredient3\": \"Avocado\",\n    \"strIngredient4\": \"Honey\",\n    \"strIngredient5\": \"Lemon Juice\",\n    \"strIngredient6\": \"Vanilla\",\n    \"strIngredient7\": \"Water\",\n    \"strIngredient8\": \"Sea Salt\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1\",\n    \"strMeasure2\": \"3 tbsp\",\n    \"strMeasure3\": \"1\",\n    \"strMeasure4\": \"2 tblsp \",\n    \"strMeasure5\": \"1 tsp \",\n    \"strMeasure6\": \"1 tsp \",\n    \"strMeasure7\": \"2 tbsp\",\n    \"strMeasure8\": \"pinch\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.hemsleyandhemsley.com/recipe/chocolate-avocado-mousse/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 237\n  },\n  {\n    \"idMeal\": \"52856\",\n    \"strMeal\": \"Choc Chip Pecan Pie\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"First, make the pastry. Tip the ingredients into a food processor with 1 /4 tsp salt. Blend until the mixture resembles breadcrumbs. Drizzle 2-3 tsp cold water into the funnel while the blade is running – the mixture should start to clump together. Tip onto a work surface and bring together, kneading briefly into a ball. Pat into a disc, wrap in cling film, and chill for at least 20 mins. Heat oven to 200C/180C fan/gas 6.\\r\\n\\r\\nRemove the pastry from the fridge and leave at room temperature for 5 mins to soften. Flour the work surface, then unwrap the pastry and roll to a circle the thickness of a £1 coin. Use the pastry to line a deep, 23cm round fluted tin – mine was about 3cm deep. Press the pastry into the corners and up the sides, making sure there are no gaps. Leave 1cm pastry overhanging (save some of the pastry scraps for later). Line with baking parchment (scrunch it up first to make it more pliable) and fill with baking beans. Blind-bake for 15-20 mins until the sides are set, then remove the parchment and beans and return to the oven for 5 mins until golden brown. Trim the pastry so it’s flush with the top of the tin – a small serrated knife is best for this. If there are any cracks, patch them up with the pastry scraps.\\r\\n\\r\\nMeanwhile, weigh the butter, syrup and sugars into a pan, and add 1 /4 tsp salt. Heat until the butter has melted and the sugar dissolved, stirring until smooth. Remove from the heat and cool for 10 mins. Reduce oven to 160C/140C fan/gas 3.\\r\\n\\r\\nBeat the eggs in a bowl. Add the syrup mixture, vanilla and pecans, and mix until well combined. Pour half the mixture into the tart case, scatter over half the chocolate chips, then cover with the remaining filling and chocolate chips. Bake on the middle shelf for 50-55 mins until set. Remove from the oven and leave to cool, then chill for at least 2 hrs before serving.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/rqvwxt1511384809.jpg\",\n    \"strTags\": \"Pie,Desert,Sweet,Nutty\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=fDpoT0jvg4Y\",\n    \"strIngredient1\": \"Plain Flour\",\n    \"strIngredient2\": \"Butter\",\n    \"strIngredient3\": \"Cream Cheese\",\n    \"strIngredient4\": \"Icing Sugar\",\n    \"strIngredient5\": \"Butter\",\n    \"strIngredient6\": \"Maple Syrup\",\n    \"strIngredient7\": \"Light Brown Soft Sugar\",\n    \"strIngredient8\": \"Dark Brown Soft Sugar\",\n    \"strIngredient9\": \"Eggs\",\n    \"strIngredient10\": \"Vanilla Extract\",\n    \"strIngredient11\": \"Pecan Nuts\",\n    \"strIngredient12\": \"Dark Chocolate Chips\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"300g\",\n    \"strMeasure2\": \"75g\",\n    \"strMeasure3\": \"100g \",\n    \"strMeasure4\": \"1 tbls\",\n    \"strMeasure5\": \"150g\",\n    \"strMeasure6\": \"200ml\",\n    \"strMeasure7\": \"250g\",\n    \"strMeasure8\": \"100g \",\n    \"strMeasure9\": \"4\",\n    \"strMeasure10\": \"1 tsp \",\n    \"strMeasure11\": \"400g\",\n    \"strMeasure12\": \"200g\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/choc-chip-pecan-pie\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 238\n  },\n  {\n    \"idMeal\": \"52860\",\n    \"strMeal\": \"Chocolate Raspberry Brownies\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"Heat oven to 180C/160C fan/gas 4. Line a 20 x 30cm baking tray tin with baking parchment. Put the chocolate, butter and sugar in a pan and gently melt, stirring occasionally with a wooden spoon. Remove from the heat.\\r\\nStir the eggs, one by one, into the melted chocolate mixture. Sieve over the flour and cocoa, and stir in. Stir in half the raspberries, scrape into the tray, then scatter over the remaining raspberries. Bake on the middle shelf for 30 mins or, if you prefer a firmer texture, for 5 mins more. Cool before slicing into squares. Store in an airtight container for up to 3 days.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/yypvst1511386427.jpg\",\n    \"strTags\": \"Chocolate,Desert,Snack\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=Pi89PqsAaAg\",\n    \"strIngredient1\": \"Dark Chocolate\",\n    \"strIngredient2\": \"Milk Chocolate\",\n    \"strIngredient3\": \"Salted Butter\",\n    \"strIngredient4\": \"Light Brown Soft Sugar\",\n    \"strIngredient5\": \"Eggs\",\n    \"strIngredient6\": \"Plain Flour\",\n    \"strIngredient7\": \"Cocoa\",\n    \"strIngredient8\": \"Raspberries\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"200g\",\n    \"strMeasure2\": \"100g \",\n    \"strMeasure3\": \"250g\",\n    \"strMeasure4\": \"400g\",\n    \"strMeasure5\": \"4 large\",\n    \"strMeasure6\": \"140g\",\n    \"strMeasure7\": \"50g\",\n    \"strMeasure8\": \"200g\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/2121648/bestever-chocolate-raspberry-brownies\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 239\n  },\n  {\n    \"idMeal\": \"52870\",\n    \"strMeal\": \"Chickpea Fajitas\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Mexican\",\n    \"strInstructions\": \"Heat oven to 200C/180C fan/gas 6 and line a baking tray with foil. Drain the chickpeas, pat dry and tip onto the prepared baking tray. Add the oil and paprika, toss to coat, then roast for 20-25 mins until browned and crisp, shaking halfway through cooking.\\r\\n\\r\\nMeanwhile, put the tomatoes and onion in a small bowl with the vinegar and set aside to pickle. Put the avocado in another bowl and mash with a fork, leaving some larger chunks. Stir in the lime juice and season well. Mix the soured cream with the harissa and set aside until ready to serve.\\r\\n\\r\\nHeat a griddle pan until nearly smoking. Add the tortillas , one at a time, charring each side until hot with griddle lines. \\r\\n\\r\\nPut everything on the table and build the fajitas : spread a little of the harissa cream over the tortilla, top with roasted chickpeas, guacamole, pickled salsa and coriander, if you like. Serve with the lime wedges for squeezing over.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/tvtxpq1511464705.jpg\",\n    \"strTags\": \"Vegetarian\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=LGY3V7EGpT0\",\n    \"strIngredient1\": \"Chickpeas\",\n    \"strIngredient2\": \"Olive Oil\",\n    \"strIngredient3\": \"Paprika\",\n    \"strIngredient4\": \"Tomatoes\",\n    \"strIngredient5\": \"Red Onions\",\n    \"strIngredient6\": \"Red Wine Vinegar\",\n    \"strIngredient7\": \"Avocado\",\n    \"strIngredient8\": \"Lime\",\n    \"strIngredient9\": \"Lime\",\n    \"strIngredient10\": \"Sour Cream\",\n    \"strIngredient11\": \"Harissa Spice\",\n    \"strIngredient12\": \"Corn Tortillas\",\n    \"strIngredient13\": \"Coriander\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"400g\",\n    \"strMeasure2\": \"1 tblsp \",\n    \"strMeasure3\": \"pinch\",\n    \"strMeasure4\": \"2 small cut chunks\",\n    \"strMeasure5\": \"1 finely sliced\",\n    \"strMeasure6\": \"2 tsp\",\n    \"strMeasure7\": \"1\",\n    \"strMeasure8\": \"Juice of 1\",\n    \"strMeasure9\": \"Chopped\",\n    \"strMeasure10\": \"100g \",\n    \"strMeasure11\": \"2 tsp\",\n    \"strMeasure12\": \"4\",\n    \"strMeasure13\": \"to serve\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/chickpea-fajitas\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 240\n  },\n  {\n    \"idMeal\": \"52875\",\n    \"strMeal\": \"Chicken Ham and Leek Pie\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Heat the chicken stock in a lidded saucepan. Add the chicken breast and bring to a low simmer. Cover with a lid and cook for 10 minutes. Remove the chicken breasts from the water with tongs and place on a plate. Pour the cooking liquor into a large jug.\\r\\nMelt 25g/1oz of the butter in a large heavy-based saucepan over a low heat. Stir in the leeks and fry gently for two minutes, stirring occasionally until just softened. Add the garlic and cook for a further minute. Add the remaining butter and stir in the flour as soon as the butter has melted. Cook for 30 seconds, stirring constantly.\\r\\nSlowly pour the milk into the pan, just a little at a time, stirring well between each adding. Gradually add 250ml/10fl oz of the reserved stock and the wine, if using, stirring until the sauce is smooth and thickened slightly. Bring to a gentle simmer and cook for 3 minutes.\\r\\nSeason the mixture, to taste, with salt and freshly ground black pepper. Remove from the heat and stir in the cream. Pour into a large bowl and cover the surface of the sauce with cling ilm to prevent a skin forming. Set aside to cool.\\r\\nPreheat the oven to 200C/400F/Gas 6. Put a baking tray in the oven to heat.\\r\\nFor the pastry, put the flour and butter in a food processor and blend on the pulse setting until the mixture resembles fine breadcrumbs. With the motor running, add the beaten egg and water and blend until the mixture forms a ball. Portion off 250g/10oz of pastry for the lid.\\r\\nRoll the remaining pastry out on a lightly floured surface, turning the pastry frequently until around 5mm/¼in thick and 4cm/1½in larger than the pie dish. Lift the pastry over the rolling pin and place it gently into the pie dish. Press the pastry firmly up the sides, making sure there are no air bubbles. Leave the excess pastry overhanging the sides.\\r\\nCut the chicken breasts into 3cm/1¼in pieces. Stir the chicken, ham and leeks into the cooled sauce. Pour the chicken filling into the pie dish. Brush the rim of the dish with beaten egg. Roll out the reserved pastry for the lid.\\r\\nCover the pie with the pastry lid and press the edges together firmly to seal. Trim any excess pastry.\\r\\nMake a small hole in the centre of the pie with the tip of a knife. Glaze the top of the pie with beaten egg. Bake on the preheated tray in the centre of the oven for 35-40 minutes or until the pie is golden-brown all over and the filling is piping hot.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/xrrtss1511555269.jpg\",\n    \"strTags\": \"Pie,Meat\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=xr-CpPE_lNk\",\n    \"strIngredient1\": \"Chicken Stock\",\n    \"strIngredient2\": \"Chicken Breast\",\n    \"strIngredient3\": \"Butter\",\n    \"strIngredient4\": \"Leek\",\n    \"strIngredient5\": \"Garlic\",\n    \"strIngredient6\": \"Plain Flour\",\n    \"strIngredient7\": \"Milk\",\n    \"strIngredient8\": \"White Wine\",\n    \"strIngredient9\": \"Double Cream\",\n    \"strIngredient10\": \"Ham\",\n    \"strIngredient11\": \"Sea Salt\",\n    \"strIngredient12\": \"Pepper\",\n    \"strIngredient13\": \"Plain Flour\",\n    \"strIngredient14\": \"Butter\",\n    \"strIngredient15\": \"Free-range Egg, Beaten\",\n    \"strIngredient16\": \"Cold Water\",\n    \"strIngredient17\": \"Free-range Egg, Beaten\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"450ml\",\n    \"strMeasure2\": \"3\",\n    \"strMeasure3\": \"75g\",\n    \"strMeasure4\": \"2 sliced\",\n    \"strMeasure5\": \"2 cloves minced\",\n    \"strMeasure6\": \"50g\",\n    \"strMeasure7\": \"200ml\",\n    \"strMeasure8\": \"3 tbs\",\n    \"strMeasure9\": \"150ml\",\n    \"strMeasure10\": \"150g\",\n    \"strMeasure11\": \"spinkling\",\n    \"strMeasure12\": \"pinch\",\n    \"strMeasure13\": \"350g\",\n    \"strMeasure14\": \"200g\",\n    \"strMeasure15\": \"1\",\n    \"strMeasure16\": \"1 tbls\",\n    \"strMeasure17\": \"1\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbc.co.uk/food/recipes/creamy_chicken_ham_and_03877\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 241\n  },\n  {\n    \"idMeal\": \"52879\",\n    \"strMeal\": \"Chicken Parmentier\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"For the topping, boil the potatoes in salted water until tender. Drain and push through a potato ricer, or mash thoroughly. Stir in the butter, cream and egg yolks. Season and set aside.\\r\\nFor the filling, melt the butter in a large pan. Add the shallots, carrots and celery and gently fry until soft, then add the garlic. Pour in the wine and cook for 1 minute. Stir in the tomato purée, chopped tomatoes and stock and cook for 10–15 minutes, until thickened. Add the shredded chicken, olives and parsley. Season to taste with salt and pepper.\\r\\nPreheat the oven to 180C/160C Fan/Gas 4.\\r\\nPut the filling in a 20x30cm/8x12in ovenproof dish and top with the mashed potato. Grate over the Gruyère. Bake for 30–35 minutes, until piping hot and the potato is golden-brown.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/uwvxpv1511557015.jpg\",\n    \"strTags\": \"Meat,Dairy\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=tiG-xlmeyjg\",\n    \"strIngredient1\": \"Potatoes\",\n    \"strIngredient2\": \"Butter\",\n    \"strIngredient3\": \"Double Cream\",\n    \"strIngredient4\": \"Egg Yolks\",\n    \"strIngredient5\": \"Butter\",\n    \"strIngredient6\": \"Shallots\",\n    \"strIngredient7\": \"Carrots\",\n    \"strIngredient8\": \"Celery\",\n    \"strIngredient9\": \"Garlic Clove\",\n    \"strIngredient10\": \"White Wine\",\n    \"strIngredient11\": \"Tomato Puree\",\n    \"strIngredient12\": \"Tinned Tomatos\",\n    \"strIngredient13\": \"Chicken Stock\",\n    \"strIngredient14\": \"Chicken\",\n    \"strIngredient15\": \"Black Olives\",\n    \"strIngredient16\": \"Parsley\",\n    \"strIngredient17\": \"Gruyere cheese\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1.5kg\",\n    \"strMeasure2\": \"30g\",\n    \"strMeasure3\": \"5 tblsp \",\n    \"strMeasure4\": \"2\",\n    \"strMeasure5\": \"30g\",\n    \"strMeasure6\": \"7\",\n    \"strMeasure7\": \"3 chopped\",\n    \"strMeasure8\": \"2 sticks\",\n    \"strMeasure9\": \"1 finely chopped \",\n    \"strMeasure10\": \"4 tbsp\",\n    \"strMeasure11\": \"1 tbls\",\n    \"strMeasure12\": \"400g\",\n    \"strMeasure13\": \"350ml\",\n    \"strMeasure14\": \"600g\",\n    \"strMeasure15\": \"16\",\n    \"strMeasure16\": \"2 tbs\",\n    \"strMeasure17\": \"50g\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbc.co.uk/food/recipes/chicken_parmentier_25434\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 242\n  },\n  {\n    \"idMeal\": \"52897\",\n    \"strMeal\": \"Carrot Cake\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"For the carrot cake, preheat the oven to 160C/325F/Gas 3. Grease and line a 26cm/10in springform cake tin.\\r\\nMix all of the ingredients for the carrot cake, except the carrots and walnuts, together in a bowl until well combined. Stir in the carrots and walnuts.\\r\\nSpoon the mixture into the cake tin and bake for 1 hour 15 minutes, or until a skewer inserted into the middle comes out clean. Remove the cake from the oven and set aside to cool for 10 minutes, then carefully remove the cake from the tin and set aside to cool completely on a cooling rack.\\r\\nMeanwhile, for the icing, beat the cream cheese, caster sugar and butter together in a bowl until fluffy. Spread the icing over the top of the cake with a palette knife.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/vrspxv1511722107.jpg\",\n    \"strTags\": \"Cake,Treat,Sweet\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=asjZ7iTrGKA\",\n    \"strIngredient1\": \"Vegetable Oil\",\n    \"strIngredient2\": \"Plain Flour\",\n    \"strIngredient3\": \"Bicarbonate Of Soda\",\n    \"strIngredient4\": \"Sugar\",\n    \"strIngredient5\": \"Eggs\",\n    \"strIngredient6\": \"Salt\",\n    \"strIngredient7\": \"Cinnamon\",\n    \"strIngredient8\": \"Carrots\",\n    \"strIngredient9\": \"Walnuts\",\n    \"strIngredient10\": \"Cream Cheese\",\n    \"strIngredient11\": \"Caster Sugar\",\n    \"strIngredient12\": \"Butter\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"450ml\",\n    \"strMeasure2\": \"400g\",\n    \"strMeasure3\": \"2 tsp\",\n    \"strMeasure4\": \"550ml\",\n    \"strMeasure5\": \"5\",\n    \"strMeasure6\": \"½ tsp\",\n    \"strMeasure7\": \"2 tsp\",\n    \"strMeasure8\": \"500g grated\",\n    \"strMeasure9\": \"150g\",\n    \"strMeasure10\": \"200g\",\n    \"strMeasure11\": \"150g\",\n    \"strMeasure12\": \"100g \",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbc.co.uk/food/recipes/classic_carrot_cake_08513\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 243\n  },\n  {\n    \"idMeal\": \"52898\",\n    \"strMeal\": \"Chelsea Buns\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Sift the flour and salt into a large bowl. Make a well in the middle and add the yeast.\\r\\nMeanwhile, warm the milk and butter in a saucepan until the butter melts and the mixture is lukewarm.\\r\\nAdd the milk mixture and egg to the flour mixture and stir until the contents of the bowl come together as a soft dough. (You may need to add a little extra flour.)\\r\\nTip the dough onto a generously floured work surface. Knead for five minutes, adding more flour if necessary, until the dough is smooth and elastic and no longer feels sticky.\\r\\nLightly oil a bowl with a little of the vegetable oil. Place the dough into the bowl and turn until it is covered in the oil. Cover the bowl with cling film and set aside in a warm place for one hour, or until the dough has doubled in size.\\r\\nLightly grease a baking tray.\\r\\nFor the filling, knock the dough back to its original size and turn out onto a lightly floured work surface. Roll the dough out into a rectangle 0.5cm/¼in thick. Brush all over with the melted butter, then sprinkle over the brown sugar, cinnamon and dried fruit.\\r\\nRoll the dough up into a tight cylinder , cut ten 4cm/1½in slice and place them onto a lightly greased baking sheet, leaving a little space between each slice. Cover with a tea towel and set aside to rise for 30 minutes.\\r\\nPreheat oven to 190C/375F/Gas 5.\\r\\nBake the buns in the oven for 20-25 minutes, or until risen and golden-brown.\\r\\nMeanwhile, for the glaze, heat the milk and sugar in a saucepan until boiling. Reduce the heat and simmer for 2-3 minutes.\\r\\nRemove the buns from the oven and brush with the glaze, then set aside to cool on a wire rack.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/vqpwrv1511723001.jpg\",\n    \"strTags\": \"Bun,Baking,Treat\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=i_zemP3yBKw\",\n    \"strIngredient1\": \"White Flour\",\n    \"strIngredient2\": \"Salt\",\n    \"strIngredient3\": \"Yeast\",\n    \"strIngredient4\": \"Milk\",\n    \"strIngredient5\": \"Butter\",\n    \"strIngredient6\": \"Eggs\",\n    \"strIngredient7\": \"Vegetable Oil\",\n    \"strIngredient8\": \"Butter\",\n    \"strIngredient9\": \"Brown Sugar\",\n    \"strIngredient10\": \"Cinnamon\",\n    \"strIngredient11\": \"Dried Fruit\",\n    \"strIngredient12\": \"Milk\",\n    \"strIngredient13\": \"Caster Sugar\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"500g\",\n    \"strMeasure2\": \"1 tsp \",\n    \"strMeasure3\": \"7g\",\n    \"strMeasure4\": \"300ml \",\n    \"strMeasure5\": \"40g\",\n    \"strMeasure6\": \"1\",\n    \"strMeasure7\": \"Dash\",\n    \"strMeasure8\": \"25g\",\n    \"strMeasure9\": \"75g\",\n    \"strMeasure10\": \"2 tsp\",\n    \"strMeasure11\": \"150g\",\n    \"strMeasure12\": \"2 tbs\",\n    \"strMeasure13\": \"2 tbs\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbc.co.uk/food/recipes/chelsea_buns_95015\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 244\n  },\n  {\n    \"idMeal\": \"52905\",\n    \"strMeal\": \"Chocolate Souffle\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Heat oven to 220C/fan 200C/gas 7 and place a baking tray on the top shelf. For the sauce, heat the cream and sugar until boiling. Remove from the heat, stir in the chocolate and butter until melted, then keep warm.\\r\\nBrush 6 x 150ml ramekins with melted butter, sprinkle with the 2 tbsp caster sugar, then tip out any excess. Melt the chocolate and cream in a bowl over a pan of simmering water, cool, then mix in the egg yolks. Whisk the egg whites until they hold their shape, then add the sugar, 1 tbsp at a time, whisking back to the same consistency. Mix a spoonful into the chocolate, then gently fold in the rest.\\r\\nWorking quickly, fill the ramekins, wipe the rims clean and run your thumb around the edges. Turn oven down to 200C/fan 180C/gas 6, place the ramekins onto the baking tray, then bake for 8-10 mins until risen with a slight wobble. Don’t open the oven door too early as this may make them collapse.\\r\\nOnce the soufflés are ready, dust with icing sugar, scoop a small hole from their tops, then pour in some of the hot chocolate sauce. Replace the lids and serve straight away.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/twspvx1511784937.jpg\",\n    \"strTags\": \"DinnerParty,Desert,Pudding,Chocolate\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=FWqfkUEWOTg\",\n    \"strIngredient1\": \"Single Cream\",\n    \"strIngredient2\": \"Caster Sugar\",\n    \"strIngredient3\": \"Dark Chocolate\",\n    \"strIngredient4\": \"Butter\",\n    \"strIngredient5\": \"Butter\",\n    \"strIngredient6\": \"Caster Sugar\",\n    \"strIngredient7\": \"Dark Chocolate\",\n    \"strIngredient8\": \"Double Cream\",\n    \"strIngredient9\": \"Egg Yolks\",\n    \"strIngredient10\": \"Egg White\",\n    \"strIngredient11\": \"Double Cream\",\n    \"strIngredient12\": \"Icing Sugar\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"142ml\",\n    \"strMeasure2\": \"25g\",\n    \"strMeasure3\": \"100g \",\n    \"strMeasure4\": \"25g\",\n    \"strMeasure5\": \"drizzle\",\n    \"strMeasure6\": \"50g\",\n    \"strMeasure7\": \"175g\",\n    \"strMeasure8\": \"2 tbs\",\n    \"strMeasure9\": \"4\",\n    \"strMeasure10\": \"5\",\n    \"strMeasure11\": \"2 tbs\",\n    \"strMeasure12\": \"to serve\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/5816/hot-chocolate-souffls-with-chocolate-cream-sauce\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 245\n  },\n  {\n    \"idMeal\": \"52910\",\n    \"strMeal\": \"Chinon Apple Tarts\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"To make the red wine jelly, put the red wine, jam sugar, star anise, clove, cinnamon stick, allspice, split vanilla pod and seeds in a medium saucepan. Stir together, then heat gently to dissolve the sugar. Turn up the heat and boil for 20 mins until reduced and syrupy. Strain into a small, sterilised jam jar and leave to cool completely. Will keep in the fridge for up to 1 month.\\r\\n\\r\\nTake the pastry out of the fridge and leave at room temperature for 10 mins, then unroll. Heat the grill to high and heat the oven to 180C/160C fan/gas 4. Cut out 2 x 13cm circles of pastry, using a plate as a guide, and place on a non-stick baking sheet. Sprinkle each circle with 1 tbsp sugar and grill for 5 mins to caramelise, watching carefully so that the sugar doesn’t burn. Remove from the grill. Can be done a few hours ahead, and left, covered, out of the fridge.\\r\\n\\r\\nPeel, quarter and core the apples, cut into 2mm-thin slices and arrange on top of the pastry. Sprinkle over the remaining sugar and pop in the oven for 20-25 mins until the pastry is cooked through and golden, and the apples are softened. Remove and allow to cool slightly. Warm 3 tbsp of the red wine jelly in a small pan over a low heat with 1 tsp water to make it a little more runny, then brush over the top of the tarts.\\r\\n\\r\\nTip the crème fraîche into a bowl, sift over the icing sugar and cardamom, and mix together. Carefully lift the warm tarts onto serving plates and serve with the cardamom crème fraîche.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/qtqwwu1511792650.jpg\",\n    \"strTags\": \"Tart,Baking\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=5dAW9HQgtCk\",\n    \"strIngredient1\": \"Puff Pastry\",\n    \"strIngredient2\": \"Dark Brown Soft Sugar\",\n    \"strIngredient3\": \"Braeburn Apples\",\n    \"strIngredient4\": \"Red Wine Jelly\",\n    \"strIngredient5\": \"Creme Fraiche\",\n    \"strIngredient6\": \"Icing Sugar\",\n    \"strIngredient7\": \"Cardamom\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"320g\",\n    \"strMeasure2\": \"4 tbs\",\n    \"strMeasure3\": \"3\",\n    \"strMeasure4\": \"4 tbs\",\n    \"strMeasure5\": \"100ml\",\n    \"strMeasure6\": \"1 tbs\",\n    \"strMeasure7\": \"3\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/chinon-apple-tarts\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 246\n  },\n  {\n    \"idMeal\": \"52920\",\n    \"strMeal\": \"Chicken Marengo\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Heat the oil in a large flameproof casserole dish and stir-fry the mushrooms until they start to soften. Add the chicken legs and cook briefly on each side to colour them a little.\\r\\nPour in the passata, crumble in the stock cube and stir in the olives. Season with black pepper – you shouldn’t need salt. Cover and simmer for 40 mins until the chicken is tender. Sprinkle with parsley and serve with pasta and a salad, or mash and green veg, if you like.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/qpxvuq1511798906.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=U33HYUr-0Fw\",\n    \"strIngredient1\": \"Olive Oil\",\n    \"strIngredient2\": \"Mushrooms\",\n    \"strIngredient3\": \"Chicken Legs\",\n    \"strIngredient4\": \"Passata\",\n    \"strIngredient5\": \"Chicken Stock Cube\",\n    \"strIngredient6\": \"Black Olives\",\n    \"strIngredient7\": \"Parsley\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 tbs\",\n    \"strMeasure2\": \"300g\",\n    \"strMeasure3\": \"4\",\n    \"strMeasure4\": \"500g\",\n    \"strMeasure5\": \"1\",\n    \"strMeasure6\": \"100g \",\n    \"strMeasure7\": \"Chopped\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/3146682/chicken-marengo\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 247\n  },\n  {\n    \"idMeal\": \"52923\",\n    \"strMeal\": \"Canadian Butter Tarts\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"Canadian\",\n    \"strInstructions\": \"Preheat the oven to fan 170C/ conventional 190C/gas 5. Roll out the pastry on a lightly floured surface so it’s slightly thinner than straight from the pack. Then cut out 18-20 rounds with a 7.5cm fluted cutter, re-rolling the trimmings. Use the rounds to line two deep 12-hole tart tins (not muffin tins). If you only have a regular-sized, 12-hole tart tin you will be able to make a few more slightly shallower tarts.\\r\\nBeat the eggs in a large bowl and combine with the rest of the ingredients except the walnuts. Tip this mixture into a pan and stir continuously for 3-4 minutes until the butter melts, and the mixture bubbles and starts to thicken. It should be thick enough to coat the back of a wooden spoon. Don’t overcook, and be sure to stir all the time as the mixture can easily burn. Remove from the heat and stir in the nuts.\\r\\nSpoon the filling into the unbaked tart shells so it’s level with the pastry. Bake for 15-18 minutes until set and pale golden. Leave in the tin to cool for a few minutes before lifting out on to a wire rack. Serve warm or cold.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wpputp1511812960.jpg\",\n    \"strTags\": \"Speciality,Snack,Desert,Pudding\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=WUpaOGghOdo\",\n    \"strIngredient1\": \"Shortcrust Pastry\",\n    \"strIngredient2\": \"Eggs\",\n    \"strIngredient3\": \"Muscovado Sugar\",\n    \"strIngredient4\": \"Raisins\",\n    \"strIngredient5\": \"Vanilla Extract\",\n    \"strIngredient6\": \"Butter\",\n    \"strIngredient7\": \"Single Cream\",\n    \"strIngredient8\": \"Walnuts\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"375g\",\n    \"strMeasure2\": \"2 large\",\n    \"strMeasure3\": \"175g\",\n    \"strMeasure4\": \"100g \",\n    \"strMeasure5\": \"1 tsp \",\n    \"strMeasure6\": \"50g\",\n    \"strMeasure7\": \"4 tsp\",\n    \"strMeasure8\": \"50g\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/1837/canadian-butter-tarts\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 248\n  },\n  {\n    \"idMeal\": \"52934\",\n    \"strMeal\": \"Chicken Basquaise\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Preheat the oven to 180°C/Gas mark 4. Have the chicken joints ready to cook. Heat the butter and 3 tbsp olive oil in a flameproof casserole or large frying pan. Brown the chicken pieces in batches on both sides, seasoning them with salt and pepper as you go. Don't crowd the pan - fry the chicken in small batches, removing the pieces to kitchen paper as they are done.\\r\\n\\r\\nAdd a little more olive oil to the casserole and fry the onions over a medium heat for 10 minutes, stirring frequently, until softened but not browned. Add the rest of the oil, then the peppers and cook for another 5 minutes.\\r\\n\\r\\nAdd the chorizo, sun-dried tomatoes and garlic and cook for 2-3 minutes. Add the rice, stirring to ensure it is well coated in the oil. Stir in the tomato paste, paprika, bay leaves and chopped thyme. Pour in the stock and wine. When the liquid starts to bubble, turn the heat down to a gentle simmer. Press the rice down into the liquid if it isn't already submerged and place the chicken on top. Add the lemon wedges and olives around the chicken.\\r\\n\\r\\nCover and cook in the oven for 50 minutes. The rice should be cooked but still have some bite, and the chicken should have juices that run clear when pierced in the thickest part with a knife. If not, cook for another 5 minutes and check again.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wruvqv1511880994.jpg\",\n    \"strTags\": \"Meat\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=emfm6TwsVhg\",\n    \"strIngredient1\": \"Chicken\",\n    \"strIngredient2\": \"Butter\",\n    \"strIngredient3\": \"Olive Oil\",\n    \"strIngredient4\": \"Red Onions\",\n    \"strIngredient5\": \"Red Pepper\",\n    \"strIngredient6\": \"Chorizo\",\n    \"strIngredient7\": \"Sun-Dried Tomatoes\",\n    \"strIngredient8\": \"Garlic\",\n    \"strIngredient9\": \"Basmati Rice\",\n    \"strIngredient10\": \"Tomato Puree\",\n    \"strIngredient11\": \"Paprika\",\n    \"strIngredient12\": \"Bay Leaves\",\n    \"strIngredient13\": \"Thyme\",\n    \"strIngredient14\": \"Chicken Stock\",\n    \"strIngredient15\": \"Dry White Wine\",\n    \"strIngredient16\": \"Lemons\",\n    \"strIngredient17\": \"Black Olives\",\n    \"strIngredient18\": \"Salt\",\n    \"strIngredient19\": \"Pepper\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1.5kg\",\n    \"strMeasure2\": \"25g\",\n    \"strMeasure3\": \"6 tblsp\",\n    \"strMeasure4\": \"2 sliced\",\n    \"strMeasure5\": \"3 Large\",\n    \"strMeasure6\": \"130g\",\n    \"strMeasure7\": \"8\",\n    \"strMeasure8\": \"6 cloves sliced\",\n    \"strMeasure9\": \"300g\",\n    \"strMeasure10\": \"drizzle\",\n    \"strMeasure11\": \"½ tsp\",\n    \"strMeasure12\": \"4\",\n    \"strMeasure13\": \"Handful\",\n    \"strMeasure14\": \"350ml\",\n    \"strMeasure15\": \"180g\",\n    \"strMeasure16\": \"2\",\n    \"strMeasure17\": \"100g \",\n    \"strMeasure18\": \"to serve\",\n    \"strMeasure19\": \"to serve\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.rivercottage.net/recipes/chicken-basquaise\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 249\n  },\n  {\n    \"idMeal\": \"52939\",\n    \"strMeal\": \"Callaloo Jamaican Style\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Miscellaneous\",\n    \"strArea\": \"Jamaican\",\n    \"strInstructions\": \"Cut leaves and soft stems from the kale branches, them soak in a bowl of cold water for about 5-10 minutes or until finish with prep.\\r\\nProceed to slicing the onions, mincing the garlic and dicing the tomatoes. Set aside\\r\\nRemove kale from water cut in chunks.\\r\\nPlace bacon on saucepan and cook until crispy. Then add onions, garlic, thyme, stir for about a minute or more\\r\\nAdd tomatoes; scotch bonnet pepper, smoked paprika. Sauté for about 2-3 more minutes.\\r\\nFinally add vegetable, salt, mix well, and steamed for about 6-8 minutes or until leaves are tender. Add a tiny bit of water as needed. Adjust seasonings and turn off the heat.\\r\\nUsing a sharp knife cut both ends off the plantain. This will make it easy to grab the skin of the plantains. Slit a shallow line down the long seam of the plantain; peel only as deep as the peel. Remove plantain peel by pulling it back.\\r\\nSlice the plantain into medium size lengthwise slices and set aside.\\r\\nCoat a large frying pan with cooking oil spray. Spray the tops of the plantains with a generous layer of oil spray and sprinkle with salt, freshly ground pepper.\\r\\nLet the plantains \\\"fry\\\" on medium heat, shaking the frying pan to redistribute them every few minutes.\\r\\nAs the plantains brown, continue to add more cooking oil spray, salt and pepper (if needed) until they have reached the desired color and texture.\\r\\nRemove and serve with kale\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/ussyxw1515364536.jpg\",\n    \"strTags\": \"Savory\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=bCr3GasJWwE\",\n    \"strIngredient1\": \"Kale\",\n    \"strIngredient2\": \"Bacon\",\n    \"strIngredient3\": \"Garlic\",\n    \"strIngredient4\": \"Onion\",\n    \"strIngredient5\": \"Paprika\",\n    \"strIngredient6\": \"Thyme\",\n    \"strIngredient7\": \"Tomato\",\n    \"strIngredient8\": \"Red Pepper\",\n    \"strIngredient9\": \"Banana\",\n    \"strIngredient10\": \"Vegetable Oil\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1  bunch\",\n    \"strMeasure2\": \"2 strips\",\n    \"strMeasure3\": \"3 cloves Chopped\",\n    \"strMeasure4\": \"1 medium\",\n    \"strMeasure5\": \"1/2 tsp\",\n    \"strMeasure6\": \"1 Sprig\",\n    \"strMeasure7\": \"1\",\n    \"strMeasure8\": \"1\",\n    \"strMeasure9\": \"4\",\n    \"strMeasure10\": \"Splash\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.africanbites.com/callaloo-jamaican-style/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 250\n  },\n  {\n    \"idMeal\": \"52956\",\n    \"strMeal\": \"Chicken Congee\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Chinese\",\n    \"strInstructions\": \"STEP 1 - MARINATING THE CHICKEN\\r\\nIn a bowl, add chicken, salt, white pepper, ginger juice and then mix it together well.\\r\\nSet the chicken aside.\\r\\nSTEP 2 - RINSE THE WHITE RICE\\r\\nRinse the rice in a metal bowl or pot a couple times and then drain the water.\\r\\nSTEP 2 - BOILING THE WHITE RICE\\r\\nNext add 8 cups of water and then set the stove on high heat until it is boiling. Once rice porridge starts to boil, set the stove on low heat and then stir it once every 8-10 minutes for around 20-25 minutes.\\r\\nAfter 25 minutes, this is optional but you can add a little bit more water to make rice porridge to make it less thick or to your preference.\\r\\nNext add the marinated chicken to the rice porridge and leave the stove on low heat for another 10 minutes.\\r\\nAfter an additional 10 minutes add the green onions, sliced ginger, 1 pinch of salt, 1 pinch of white pepper and stir for 10 seconds.\\r\\nServe the rice porridge in a bowl\\r\\nOptional: add Coriander on top of the rice porridge.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1529446352.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=kqEfk801E94\",\n    \"strIngredient1\": \"Chicken\",\n    \"strIngredient2\": \"Salt\",\n    \"strIngredient3\": \"Pepper\",\n    \"strIngredient4\": \"Ginger Cordial\",\n    \"strIngredient5\": \"Ginger\",\n    \"strIngredient6\": \"Spring Onions\",\n    \"strIngredient7\": \"Rice\",\n    \"strIngredient8\": \"Water\",\n    \"strIngredient9\": \"Coriander\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"8 oz \",\n    \"strMeasure2\": \"pinch\",\n    \"strMeasure3\": \"pinch\",\n    \"strMeasure4\": \"1 tsp \",\n    \"strMeasure5\": \"1 tsp \",\n    \"strMeasure6\": \"1 tbs\",\n    \"strMeasure7\": \"1/2 cup \",\n    \"strMeasure8\": \"8 cups \",\n    \"strMeasure9\": \"2 oz \",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://sueandgambo.com/pages/chicken-congee\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 251\n  },\n  {\n    \"idMeal\": \"52966\",\n    \"strMeal\": \"Chocolate Caramel Crispy\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Grease and line a 20 x 20cm/8\\\" x 8\\\" baking tin with parchment paper.\\r\\nPut the mars bars and butter in a heat proof bowl and place over a pan of barely simmering water. Mixing with a whisk, melt until the mixture is smooth.\\r\\nPour over the rice krispies in a mixing bowl and mix until all the ingredients are evenly combined. Press evenly into the prepare baking tin and set aside.\\r\\nMelt the milk chocolate in the microwave or over a pan of barely simmering water.\\r\\nSpread the melted chocolate over the rice krispie mixture and leave to set in a cool place. Once set slice into squares and serve!\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1550442508.jpg\",\n    \"strTags\": \"Sweet,Snack,Treat,Tart,Alcoholic,BBQ\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=qsk_At_gjv0\",\n    \"strIngredient1\": \"Mars Bar\",\n    \"strIngredient2\": \"Butter\",\n    \"strIngredient3\": \"Rice Krispies\",\n    \"strIngredient4\": \"Milk Chocolate\",\n    \"strIngredient5\": \"\",\n    \"strIngredient6\": \"\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"6 chopped\",\n    \"strMeasure2\": \"150g\",\n    \"strMeasure3\": \"120g\",\n    \"strMeasure4\": \"150g\",\n    \"strMeasure5\": \" \",\n    \"strMeasure6\": \" \",\n    \"strMeasure7\": \" \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"http://www.donalskehan.com/recipes/chocolate-caramel-rice-crispy-treats/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 252\n  },\n  {\n    \"idMeal\": \"52969\",\n    \"strMeal\": \"Chakchouka \",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Miscellaneous\",\n    \"strArea\": \"Tunisian\",\n    \"strInstructions\": \"In a large cast iron skillet or sauté pan with a lid, heat oil over medium high heat. Add the onion and sauté for 2-3 minutes, until softened. Add the peppers and garlic, and sauté for an additional 3-5 minutes. Add the tomatoes, cumin, paprika, salt, and chili powder. Mix well and bring the mixture to a simmer. Reduce the heat to medium low and continue to simmer, uncovered, 10-15 minutes until the mixture has thickened to your desired consistency. (Taste the sauce at this point and adjust for salt and spice, as desired.) Using the back of a spoon, make four craters in the mixture, large enough to hold an egg. Crack one egg into each of the craters. Cover the skillet and simmer for 5-7 minutes, until the eggs have set. Serve immediately with crusty bread or pita.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/gpz67p1560458984.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=EHKNu93MSx4\",\n    \"strIngredient1\": \"Tomatoes\",\n    \"strIngredient2\": \"Olive Oil\",\n    \"strIngredient3\": \"Onion\",\n    \"strIngredient4\": \"Red Pepper\",\n    \"strIngredient5\": \"Green Pepper\",\n    \"strIngredient6\": \"Garlic\",\n    \"strIngredient7\": \"Cumin\",\n    \"strIngredient8\": \"Paprika\",\n    \"strIngredient9\": \"Salt\",\n    \"strIngredient10\": \"Chili Powder\",\n    \"strIngredient11\": \"Eggs\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"4\",\n    \"strMeasure2\": \"2 tbs\",\n    \"strMeasure3\": \"1 Diced\",\n    \"strMeasure4\": \"1 sliced\",\n    \"strMeasure5\": \"1 sliced\",\n    \"strMeasure6\": \"3 Cloves Crushed\",\n    \"strMeasure7\": \"1 tsp \",\n    \"strMeasure8\": \"1 tsp \",\n    \"strMeasure9\": \"3/4 teaspoon\",\n    \"strMeasure10\": \"1/2 teaspoon\",\n    \"strMeasure11\": \"4\",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.curiouscuisiniere.com/chakchouka/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 253\n  },\n  {\n    \"idMeal\": \"52976\",\n    \"strMeal\": \"Cashew Ghoriba Biscuits\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"Tunisian\",\n    \"strInstructions\": \"Preheat the oven at 180 C / Gas 4. Line a baking tray with greaseproof paper.\\r\\nIn a bowl, mix the cashews and icing sugar. Add the egg yolks and orange blossom water and mix to a smooth homogeneous paste.\\r\\nTake lumps of the cashew paste and shape into small balls. Roll the balls in icing sugar and transfer to the baking tray. Push an almond in the centre of each ghribia.\\r\\nBake until the biscuits are lightly golden, about 20 minutes. Keep an eye on them, they burn quickly.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/t3r3ka1560461972.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=IqXEZUk4hWI\",\n    \"strIngredient1\": \"Cashew Nuts\",\n    \"strIngredient2\": \"Icing Sugar\",\n    \"strIngredient3\": \"Egg Yolks\",\n    \"strIngredient4\": \"Orange Blossom Water\",\n    \"strIngredient5\": \"Icing Sugar\",\n    \"strIngredient6\": \"Almonds\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"250g\",\n    \"strMeasure2\": \"100g \",\n    \"strMeasure3\": \"2\",\n    \"strMeasure4\": \"2 tbs\",\n    \"strMeasure5\": \"To Glaze\",\n    \"strMeasure6\": \"100g \",\n    \"strMeasure7\": \" \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"http://allrecipes.co.uk/recipe/40152/cashew-ghoriba-biscuits.aspx\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 254\n  },\n  {\n    \"idMeal\": \"52977\",\n    \"strMeal\": \"Corba\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Side\",\n    \"strArea\": \"Turkish\",\n    \"strInstructions\": \"Pick through your lentils for any foreign debris, rinse them 2 or 3 times, drain, and set aside.  Fair warning, this will probably turn your lentils into a solid block that you’ll have to break up later\\r\\nIn a large pot over medium-high heat, sauté the olive oil and the onion with a pinch of salt for about 3 minutes, then add the carrots and cook for another 3 minutes.\\r\\nAdd the tomato paste and stir it around for around 1 minute. Now add the cumin, paprika, mint, thyme, black pepper, and red pepper as quickly as you can and stir for 10 seconds to bloom the spices. Congratulate yourself on how amazing your house now smells.\\r\\nImmediately add the lentils, water, broth, and salt. Bring the soup to a (gentle) boil.\\r\\nAfter it has come to a boil, reduce heat to medium-low, cover the pot halfway, and cook for 15-20 minutes or until the lentils have fallen apart and the carrots are completely cooked.\\r\\nAfter the soup has cooked and the lentils are tender, blend the soup either in a blender or simply use a hand blender to reach the consistency you desire. Taste for seasoning and add more salt if necessary.\\r\\nServe with crushed-up crackers, torn up bread, or something else to add some extra thickness.  You could also use a traditional thickener (like cornstarch or flour), but I prefer to add crackers for some texture and saltiness.  Makes great leftovers, stays good in the fridge for about a week.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/58oia61564916529.jpg\",\n    \"strTags\": \"Soup\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=VVnZd8A84z4\",\n    \"strIngredient1\": \"Lentils\",\n    \"strIngredient2\": \"Onion\",\n    \"strIngredient3\": \"Carrots\",\n    \"strIngredient4\": \"Tomato Puree\",\n    \"strIngredient5\": \"Cumin\",\n    \"strIngredient6\": \"Paprika\",\n    \"strIngredient7\": \"Mint\",\n    \"strIngredient8\": \"Thyme\",\n    \"strIngredient9\": \"Black Pepper\",\n    \"strIngredient10\": \"Red Pepper Flakes\",\n    \"strIngredient11\": \"Vegetable Stock\",\n    \"strIngredient12\": \"Water\",\n    \"strIngredient13\": \"Sea Salt\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 cup \",\n    \"strMeasure2\": \"1 large\",\n    \"strMeasure3\": \"1 large\",\n    \"strMeasure4\": \"1 tbs\",\n    \"strMeasure5\": \"2 tsp\",\n    \"strMeasure6\": \"1 tsp \",\n    \"strMeasure7\": \"1/2 tsp\",\n    \"strMeasure8\": \"1/2 tsp\",\n    \"strMeasure9\": \"1/4 tsp\",\n    \"strMeasure10\": \"1/4 tsp\",\n    \"strMeasure11\": \"4 cups \",\n    \"strMeasure12\": \"1 cup \",\n    \"strMeasure13\": \"Pinch\",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://findingtimeforcooking.com/main-dishes/red-lentil-soup-corba/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 255\n  },\n  {\n    \"idMeal\": \"52989\",\n    \"strMeal\": \"Christmas Pudding Trifle\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Peel the oranges using a sharp knife, ensuring all the pith is removed. Slice as thinly as possible and arrange over a dinner plate. Sprinkle with the demerara sugar followed by the Grand Marnier and set aside.\\r\\n\\r\\nCrumble the Christmas pudding into large pieces and scatter over the bottom of a trifle bowl. Lift the oranges onto the pudding in a layer and pour over any juices.\\r\\n\\r\\nBeat the mascarpone until smooth, then stir in the custard. Spoon the mixture over the top of the oranges.\\r\\n\\r\\nLightly whip the cream and spoon over the custard. Sprinkle with the flaked almonds and grated chocolate. You can make this a day in advance if you like, chill until ready to serve.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/r33cud1576791081.jpg\",\n    \"strTags\": \"Christmas\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=jRfyNQs5qhU\",\n    \"strIngredient1\": \"Orange\",\n    \"strIngredient2\": \"Demerara Sugar\",\n    \"strIngredient3\": \"Grand Marnier\",\n    \"strIngredient4\": \"Christmas Pudding\",\n    \"strIngredient5\": \"Custard\",\n    \"strIngredient6\": \"Mascarpone\",\n    \"strIngredient7\": \"Double Cream\",\n    \"strIngredient8\": \"Flaked Almonds\",\n    \"strIngredient9\": \"Dark Chocolate\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"3\",\n    \"strMeasure2\": \"1 tbs\",\n    \"strMeasure3\": \"2 tbs\",\n    \"strMeasure4\": \"300g\",\n    \"strMeasure5\": \"500g\",\n    \"strMeasure6\": \"250g\",\n    \"strMeasure7\": \"284ml\",\n    \"strMeasure8\": \"Handful\",\n    \"strMeasure9\": \"Grated\",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/1826685/christmas-pudding-trifle\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 256\n  },\n  {\n    \"idMeal\": \"52988\",\n    \"strMeal\": \"Classic Christmas pudding\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Get everything for the pudding prepared. Chop the almonds coarsely. Peel, core and chop the cooking apples. Sharpen your knife and chop the candied peel. (You can chop the almonds and apples in a food processor, but the peel must be done by hand.) Grate three quarters of the nutmeg (sounds a lot but it's correct).\\r\\n\\r\\nMix the almonds, apples, candied peel, nutmeg, raisins, flour, breadcrumbs, light muscovado sugar, eggs and 2 tbsp brandy or cognac in a large bowl.\\r\\n\\r\\nHolding the butter in its wrapper, grate a quarter of it into the bowl, then stir everything together. Repeat until all the butter is grated, then stir for 3-4 mins – the mixture is ready when it subsides slightly after each stir. Ask the family to stir too, and get everyone to make a wish.\\r\\n\\r\\nGenerously butter two 1.2 litre bowls and put a circle of baking parchment in the bottom of each. Pack in the pudding mixture. Cover with a double layer of baking parchment, pleating it to allow for expansion, then tie with string (keep the paper in place with a rubber band while tying). Trim off any excess paper.\\r\\n\\r\\nNow stand each bowl on a large sheet of foil and bring the edges up over the top, then put another sheet of foil over the top and bring it down underneath to make a double package (this makes the puddings watertight). Tie with more string, and make a handle for easy lifting in and out of the pan. Watch our video to see how to tie up a pudding correctly.\\r\\n\\r\\nBoil or oven steam the puddings for 8 hrs, topping up with water as necessary. Remove from the pans and leave to cool overnight. When cold, discard the messy wrappings and re-wrap in new baking parchment, foil and string. Store in a cool, dry place until Christmas.\\r\\n\\r\\nTo make the brandy butter, cream the butter with the orange zest and icing sugar. Gradually beat in the brandy or cognac and chopped stem ginger. Put in a small bowl, fork the top attractively and put in the fridge to set. The butter will keep for a week in the fridge, or it can be frozen for up to six weeks.\\r\\n\\r\\nOn Christmas Day, boil or oven steam for 1 hr. Unwrap and turn out. To flame, warm 3-4 tbsp brandy in a small pan, pour it over the pudding and set light to it.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1d85821576790598.jpg\",\n    \"strTags\": \"Christmas\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=Pb_lJxL1vtk\",\n    \"strIngredient1\": \"Almonds\",\n    \"strIngredient2\": \"Bramley Apples\",\n    \"strIngredient3\": \"Candied Peel\",\n    \"strIngredient4\": \"Nutmeg\",\n    \"strIngredient5\": \"Raisins\",\n    \"strIngredient6\": \"Plain Flour\",\n    \"strIngredient7\": \"Breadcrumbs\",\n    \"strIngredient8\": \"Muscovado Sugar\",\n    \"strIngredient9\": \"Eggs\",\n    \"strIngredient10\": \"Brandy\",\n    \"strIngredient11\": \"Butter\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"50g\",\n    \"strMeasure2\": \"2 large\",\n    \"strMeasure3\": \"200g\",\n    \"strMeasure4\": \"1 whole\",\n    \"strMeasure5\": \"1kg\",\n    \"strMeasure6\": \"140g\",\n    \"strMeasure7\": \"100g \",\n    \"strMeasure8\": \"100g \",\n    \"strMeasure9\": \"3 Large\",\n    \"strMeasure10\": \"2 tbs\",\n    \"strMeasure11\": \"250g\",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/classic-christmas-pudding\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 257\n  },\n  {\n    \"idMeal\": \"52990\",\n    \"strMeal\": \"Christmas cake\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Heat oven to 160C/fan 140C/gas 3. Line the base and sides of a 20 cm round, 7.5 cm deep cake tin. Beat the butter and sugar with an electric hand mixer for 1-2 mins until very creamy and pale in colour, scraping down the sides of the bowl half way through. Stir in a spoonful of the flour, then stir in the beaten egg and the rest of the flour alternately, a quarter at a time, beating well each time with a wooden spoon. Stir in the almonds.\\r\\n\\r\\nMix in the sherry (the mix will look curdled), then add the peel, cherries, raisins, cherries, nuts, lemon zest, spice, rosewater and vanilla. Beat together to mix, then stir in the baking powder.\\r\\n\\r\\nSpoon mixture into the tin and smooth the top, making a slight dip in the centre. Bake for 30 mins, then lower temperature to 150C/fan 130C/gas 2 and bake a further 2-2¼ hrs, until a skewer insterted in the middle comes out clean. Leave to cool in the tin, then take out of the tin and peel off the lining paper. When completely cold, wrap well in cling film and foil to store until ready to decorate. The cake will keep for several months.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/ldnrm91576791881.jpg\",\n    \"strTags\": \"Christmas\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=34yeL8TstO0\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Muscovado Sugar\",\n    \"strIngredient3\": \"Plain Flour\",\n    \"strIngredient4\": \"Eggs\",\n    \"strIngredient5\": \"Ground Almonds\",\n    \"strIngredient6\": \"Sherry\",\n    \"strIngredient7\": \"Candied Peel\",\n    \"strIngredient8\": \"Glace Cherry\",\n    \"strIngredient9\": \"Raisins\",\n    \"strIngredient10\": \"Currants\",\n    \"strIngredient11\": \"Pecan Nuts\",\n    \"strIngredient12\": \"Lemon\",\n    \"strIngredient13\": \"Mixed Spice\",\n    \"strIngredient14\": \"Rose water\",\n    \"strIngredient15\": \"Vanilla Extract\",\n    \"strIngredient16\": \"Baking Powder\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"200g\",\n    \"strMeasure2\": \"200g\",\n    \"strMeasure3\": \"200g\",\n    \"strMeasure4\": \"4 Beaten\",\n    \"strMeasure5\": \"50g\",\n    \"strMeasure6\": \"100ml\",\n    \"strMeasure7\": \"85g\",\n    \"strMeasure8\": \"85g\",\n    \"strMeasure9\": \"250g\",\n    \"strMeasure10\": \"250g\",\n    \"strMeasure11\": \"100g \",\n    \"strMeasure12\": \"Grated zest of 1\",\n    \"strMeasure13\": \"1 ½ tbsp\",\n    \"strMeasure14\": \"1 ½ tbsp\",\n    \"strMeasure15\": \"1/2 tsp\",\n    \"strMeasure16\": \"1/2 tsp\",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/angela-nilsens-christmas-cake\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 258\n  },\n  {\n    \"idMeal\": \"52998\",\n    \"strMeal\": \"Corned Beef and Cabbage\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Irish\",\n    \"strInstructions\": \"1\\r\\n\\r\\nPlace corned beef in large pot or Dutch oven and cover with water. Add the spice packet that came with the corned beef. Cover pot and bring to a boil, then reduce to a simmer. Simmer approximately 50 minutes per pound or until tender.\\r\\n\\r\\n2\\r\\n\\r\\nAdd whole potatoes and peeled and cut carrots, and cook until the vegetables are almost tender. Add cabbage and cook for 15 more minutes. Remove meat and let rest 15 minutes.\\r\\n\\r\\n3\\r\\n\\r\\nPlace vegetables in a bowl and cover. Add as much broth (cooking liquid reserved in the Dutch oven or large pot) as you want. Slice meat across the grain.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/xb97a81583266727.jpg\",\n    \"strTags\": \"\",\n    \"strYoutube\": \"\",\n    \"strIngredient1\": \"Beef Brisket\",\n    \"strIngredient2\": \"Small Potatoes\",\n    \"strIngredient3\": \"Carrots\",\n    \"strIngredient4\": \"Cabbage\",\n    \"strIngredient5\": \"\",\n    \"strIngredient6\": \"\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"3 Lbs\",\n    \"strMeasure2\": \"10\",\n    \"strMeasure3\": \"5\",\n    \"strMeasure4\": \"1 head\",\n    \"strMeasure5\": \" \",\n    \"strMeasure6\": \" \",\n    \"strMeasure7\": \" \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 259\n  },\n  {\n    \"idMeal\": \"52999\",\n    \"strMeal\": \"Crispy Sausages and Greens\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pork\",\n    \"strArea\": \"Irish\",\n    \"strInstructions\": \"Preheat the oven to 350°. Remove the stems from one bunch of Tuscan kale and tear the leaves into 1\\\" pieces (mustard greens, collards, spinach, and chard are great, too). Coarsely chop half a head of green cabbage. Combine the greens in a large baking dish and add 4 cloves of thinly sliced garlic. Adding some sliced onions and shiitake mushrooms at this point is optional, but highly recommended (I'll sauté the onions and mushrooms in a cast iron baking dish right on the stove before adding to the greens). Coat the greens with some olive oil and pour ½ cup chicken stock or broth over everything. Cover the dish with foil and bake until the greens are wilted, about 15 minutes. Remove foil and season with salt and pepper. Continue to bake until cabbage is tender, about 20-25 minutes more.\\r\\n\\r\\nMeanwhile, heat a little olive oil in a large skillet over medium-high. Prick four sweet Italian sausages with a fork and cook until browned on all sides and cooked through, 10 to 12 minutes. When the greens are done, slice the sausage and toss into the greens with a splash of your favorite vinegar (I like sherry or red wine).\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/st1ifa1583267248.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"\",\n    \"strIngredient1\": \"Kale\",\n    \"strIngredient2\": \"Italian Fennel Sausages\",\n    \"strIngredient3\": \"Cabbage\",\n    \"strIngredient4\": \"Garlic Clove\",\n    \"strIngredient5\": \"Onion\",\n    \"strIngredient6\": \"Shiitake Mushrooms\",\n    \"strIngredient7\": \"Chicken Stock\",\n    \"strIngredient8\": \"Salt\",\n    \"strIngredient9\": \"Pepper\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1  bunch\",\n    \"strMeasure2\": \"8\",\n    \"strMeasure3\": \"1 Head chopped\",\n    \"strMeasure4\": \"8\",\n    \"strMeasure5\": \"Sliced\",\n    \"strMeasure6\": \"Sliced\",\n    \"strMeasure7\": \"1 cup \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bonappetit.com/columns/cooking-without-recipes/article/kale-cabbage-sausage-weeknight-dinner\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 260\n  },\n  {\n    \"idMeal\": \"53011\",\n    \"strMeal\": \"Chicken Quinoa Greek Salad\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Greek\",\n    \"strInstructions\": \"Cook the quinoa following the pack instructions, then rinse in cold water and drain thoroughly.\\r\\n\\r\\nMeanwhile, mix the butter, chilli and garlic into a paste. Toss the chicken fillets in 2 tsp of the olive oil with some seasoning. Lay in a hot griddle pan and cook for 3-4 mins each side or until cooked through. Transfer to a plate, dot with the spicy butter and set aside to melt.\\r\\n\\r\\nNext, tip the tomatoes, olives, onion, feta and mint into a bowl. Toss in the cooked quinoa. Stir through the remaining olive oil, lemon juice and zest, and season well. Serve with the chicken fillets on top, drizzled with any buttery chicken juices.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/k29viq1585565980.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=akcrkXYr61M\",\n    \"strIngredient1\": \"Quinoa\",\n    \"strIngredient2\": \"Butter\",\n    \"strIngredient3\": \"Red Chilli\",\n    \"strIngredient4\": \"Garlic\",\n    \"strIngredient5\": \"Chicken Breast\",\n    \"strIngredient6\": \"Olive Oil\",\n    \"strIngredient7\": \"Black Olives\",\n    \"strIngredient8\": \"Red Onions\",\n    \"strIngredient9\": \"Feta\",\n    \"strIngredient10\": \"Mint\",\n    \"strIngredient11\": \"Lemon\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"225g\",\n    \"strMeasure2\": \"25g\",\n    \"strMeasure3\": \"1 chopped\",\n    \"strMeasure4\": \"1 clove finely chopped\",\n    \"strMeasure5\": \"400g\",\n    \"strMeasure6\": \"2 tbs\",\n    \"strMeasure7\": \"Handful\",\n    \"strMeasure8\": \"1 chopped\",\n    \"strMeasure9\": \"100g \",\n    \"strMeasure10\": \"Chopped\",\n    \"strMeasure11\": \"Juice of 1/2\",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/griddled-chicken-quinoa-greek-salad\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 261\n  },\n  {\n    \"idMeal\": \"53016\",\n    \"strMeal\": \"Chick-Fil-A Sandwich\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"Wrap the chicken loosely between plastic wrap and pound gently with the flat side of a meat tenderizer until about 1/2 inch thick all around.\\r\\nCut into two pieces, as even as possible.\\r\\nMarinate in the pickle juice for 30 minutes to one hour (add a teaspoon of Tabasco sauce now for a spicy sandwich).\\r\\nBeat the egg with the milk in a bowl.\\r\\nCombine the flour, sugar, and spices in another bowl.\\r\\nDip the chicken pieces each into the egg on both sides, then coat in flour on both sides.\\r\\nHeat the oil in a skillet (1/2 inch deep) to about 345-350.\\r\\nFry each cutlet for 2 minutes on each side, or until golden and cooked through.\\r\\nBlot on paper and serve on toasted buns with pickle slices.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/sbx7n71587673021.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=1WDesu7bUDM\",\n    \"strIngredient1\": \"Chicken Breast\",\n    \"strIngredient2\": \"Pickle Juice\",\n    \"strIngredient3\": \"Egg\",\n    \"strIngredient4\": \"Milk\",\n    \"strIngredient5\": \"Flour\",\n    \"strIngredient6\": \"Icing Sugar\",\n    \"strIngredient7\": \"Paprika\",\n    \"strIngredient8\": \"Salt\",\n    \"strIngredient9\": \"Black Pepper\",\n    \"strIngredient10\": \"Garlic Powder\",\n    \"strIngredient11\": \"Celery Salt\",\n    \"strIngredient12\": \"Cayenne Pepper\",\n    \"strIngredient13\": \"Olive Oil\",\n    \"strIngredient14\": \"Sesame Seed Burger Buns\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1\",\n    \"strMeasure2\": \"1/4 cup\",\n    \"strMeasure3\": \"1\",\n    \"strMeasure4\": \"1/4 cup\",\n    \"strMeasure5\": \"1/2 cup \",\n    \"strMeasure6\": \"1 tbs\",\n    \"strMeasure7\": \"1/2 tsp\",\n    \"strMeasure8\": \"1/2 tsp\",\n    \"strMeasure9\": \"1/4 tsp\",\n    \"strMeasure10\": \"1/4 tsp\",\n    \"strMeasure11\": \"1/4 tsp\",\n    \"strMeasure12\": \"1/2 tsp\",\n    \"strMeasure13\": \"1 cup \",\n    \"strMeasure14\": \"1\",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://hilahcooking.com/chick-fil-a-copycat/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 262\n  },\n  {\n    \"idMeal\": \"53037\",\n    \"strMeal\": \"Coddled pork with cider\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pork\",\n    \"strArea\": \"Irish\",\n    \"strInstructions\": \"STEP 1\\r\\nHeat the butter in a casserole dish until sizzling, then fry the pork for 2-3 mins on each side until browned. Remove from the pan.\\r\\n\\r\\nSTEP 2\\r\\nTip the bacon, carrot, potatoes and swede into the pan, then gently fry until slightly coloured. Stir in the cabbage, sit the chops back on top, add the bay leaf, then pour over the cider and stock. Cover the pan, then leave everything to gently simmer for 20 mins until the pork is cooked through and the vegetables are tender.\\r\\n\\r\\nSTEP 3\\r\\nServe at the table spooned straight from the dish.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/7vpsfp1608588991.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=ftn_4mc-65o\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Pork Chops\",\n    \"strIngredient3\": \"Bacon\",\n    \"strIngredient4\": \"Potatoes\",\n    \"strIngredient5\": \"Carrots\",\n    \"strIngredient6\": \"Swede\",\n    \"strIngredient7\": \"Cabbage\",\n    \"strIngredient8\": \"Bay Leaf\",\n    \"strIngredient9\": \"Cider\",\n    \"strIngredient10\": \"Chicken Stock\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"Knob\",\n    \"strMeasure2\": \"2\",\n    \"strMeasure3\": \"4\",\n    \"strMeasure4\": \"2\",\n    \"strMeasure5\": \"1\",\n    \"strMeasure6\": \"1/2 \",\n    \"strMeasure7\": \"1/2 \",\n    \"strMeasure8\": \"1\",\n    \"strMeasure9\": \"100ml\",\n    \"strMeasure10\": \"100g \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/irish-coddled-pork-cider\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 263\n  },\n  {\n    \"idMeal\": \"53055\",\n    \"strMeal\": \"Cevapi Sausages\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Croatian\",\n    \"strInstructions\": \"Place the ground meat in a bowl. Chop the onion very finely and grate the garlic cloves. Add to the bowl. Add the chopped parsley, all sorts of paprika, baking soda, dried breadcrumbs, water, Vegeta, salt, and pepper.\\r\\nMix well with the hand mixer fitted with the dough hooks. Cover the bowl with cling film/ plastic foil and leave to rest for 1 or 2 hours in the refrigerator.\\r\\nTake portions of the meat mixture, about 50-55 g/ 1.7-1.9 oz/ ¼ cup portions, and form the cevapi. The rolls should be about as thick as your thumb and about 7-10 cm/ 3-4 inches long. I had 18 sausages. The recipe can be easily doubled.\\r\\nGrill the cevapcici on the hot grill pan or on the barbecue for about 12-14 minutes, turning them several times in between, or until brown and cooked through. I checked by cutting one in the middle and then grilling the following batches for the same period of time.\\r\\nServe hot as suggested above. The cevapcici can be reheated in the oven at 180 degrees Celsius/ 350 degrees Fahrenheit for about 10 minutes or until heated through. Check one, if it is not hot enough, give the sausages a few more minutes.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/vc08jn1628769553.jpg\",\n    \"strTags\": \"Sausages\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=_MpSxSgS7f8\",\n    \"strIngredient1\": \"Minced Beef\",\n    \"strIngredient2\": \"Minced Pork\",\n    \"strIngredient3\": \"Onion\",\n    \"strIngredient4\": \"Garlic\",\n    \"strIngredient5\": \"Parsley\",\n    \"strIngredient6\": \"Paprika\",\n    \"strIngredient7\": \"Baking Powder\",\n    \"strIngredient8\": \"Breadcrumbs\",\n    \"strIngredient9\": \"Water\",\n    \"strIngredient10\": \"Vegetable Stock Cube\",\n    \"strIngredient11\": \"Salt\",\n    \"strIngredient12\": \"Pepper\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"500g\",\n    \"strMeasure2\": \"250g\",\n    \"strMeasure3\": \"1\",\n    \"strMeasure4\": \"4 cloves\",\n    \"strMeasure5\": \"3 tblsp chopped\",\n    \"strMeasure6\": \"1 tbs\",\n    \"strMeasure7\": \"3/4 teaspoon\",\n    \"strMeasure8\": \"2 tbs\",\n    \"strMeasure9\": \"3 tbs\",\n    \"strMeasure10\": \"1\",\n    \"strMeasure11\": \"1 tsp \",\n    \"strMeasure12\": \"1 tsp \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://whereismyspoon.co/cevapi-or-cevapcici-recipe-grilled-sausages-croatian-food/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 264\n  },\n  {\n    \"idMeal\": \"53056\",\n    \"strMeal\": \"Croatian lamb peka\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Croatian\",\n    \"strInstructions\": \"Preheat oven to 200°C fan / 220°C / 425°F / Gas mark 7\\r\\nIf you have not bought diced lamb, cut your lamb shoulder or leg into large chunks and place to one side.\\r\\nChunks of chopped lamb of a red chopping board\\r\\nMake oil marinade -\\r\\nMix 80ml of olive oil in a bowl with garlic puree, sundried tomato puree ,black pepper and salt.\\r\\nolive oil, gia sundried tomato puree and gia garlic puree and black pepper mixed together in a silver bowl to make Croatian peka\\r\\nAdd potatoes and vegetables into a large lidded casserole dish.\\r\\nChopped up vegetables which consist of chopped up red onion, courgette, potatoes red peppers in a cast iron pan\\r\\nPlace diced lamb on top of the vegetables, pour the marinade and wine over the top.\\r\\nChunks of lamb covered in in a sundried tomato oil sauce which is on top of chopped red onion, aubergine, courgette and potatoes in a cast iron pan\\r\\nAdd the rosemary, thyme and sage, trying to keep the herbs on top.\\r\\nSo you can easily remove the herb stalks once cooked.\\r\\nChunks of lamb coated in a sundried tomato oil sauce and covered with thyme, rosemary and sage which is on top of chopped red onion, aubergine, courgette and potatoes in a cast iron pan\\r\\nPlace lid on the casserole dish and cook for 1hr 30 minute\\r\\nIf you do not have a lid cover very well with kitchen foil\\r\\nCast iron dish with lid on in the oven\\r\\nTake the lid off, remove any thick herb stems. Stir in 2 tbsp of olive oil.\\r\\nCook for a further 20-30 mins.\\r\\nCooked Croatian Lamb Peka in a cast iron pan in the oven\\r\\nServe with fresh homemade bread to dip into the juices.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/pn59o51628769837.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=K0ipnz4fwJI\",\n    \"strIngredient1\": \"Potatoes\",\n    \"strIngredient2\": \"Courgettes\",\n    \"strIngredient3\": \"Carrots\",\n    \"strIngredient4\": \"Green Pepper\",\n    \"strIngredient5\": \"Aubergine\",\n    \"strIngredient6\": \"Onion\",\n    \"strIngredient7\": \"Lamb Shoulder\",\n    \"strIngredient8\": \"Garlic Sauce\",\n    \"strIngredient9\": \"Tomato Puree\",\n    \"strIngredient10\": \"Olive Oil\",\n    \"strIngredient11\": \"Thyme\",\n    \"strIngredient12\": \"White Wine\",\n    \"strIngredient13\": \"Pepper\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"600g\",\n    \"strMeasure2\": \"1 chopped\",\n    \"strMeasure3\": \"1 chopped\",\n    \"strMeasure4\": \"1 chopped\",\n    \"strMeasure5\": \"1 small\",\n    \"strMeasure6\": \"1 Large Chopped\",\n    \"strMeasure7\": \"800g\",\n    \"strMeasure8\": \"1 tbs\",\n    \"strMeasure9\": \"1 tbs\",\n    \"strMeasure10\": \"80 ml \",\n    \"strMeasure11\": \"Sprinking\",\n    \"strMeasure12\": \"250ml\",\n    \"strMeasure13\": \"Pinch\",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://flawlessfood.co.uk/croatian-lamb-peka/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 265\n  },\n  {\n    \"idMeal\": \"53058\",\n    \"strMeal\": \"Croatian Bean Stew\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Croatian\",\n    \"strInstructions\": \"Heat the oil in a pan. Add the chopped vegetables and sauté until tender. Take a pot, empty the beans together with the vegetables into it, put the sausages inside and cook for further 20 minutes on a low heat. Or, put it in an oven and bake it at a temperature of 180ºC/350ºF for 30 minutes. This dish is even better reheated the next day.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/tnwy8m1628770384.jpg\",\n    \"strTags\": \"Warming, Soup, Beans\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=mrjnQal3S1A\",\n    \"strIngredient1\": \"Cannellini Beans\",\n    \"strIngredient2\": \"Vegetable Oil\",\n    \"strIngredient3\": \"Tomatoes\",\n    \"strIngredient4\": \"Challots\",\n    \"strIngredient5\": \"Garlic\",\n    \"strIngredient6\": \"Parsley\",\n    \"strIngredient7\": \"Chorizo\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 cans\",\n    \"strMeasure2\": \"3 tbs\",\n    \"strMeasure3\": \"2 cups \",\n    \"strMeasure4\": \"5\",\n    \"strMeasure5\": \"2 cloves\",\n    \"strMeasure6\": \"Pinch\",\n    \"strMeasure7\": \"1/2 kg chopped \",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.visit-croatia.co.uk/croatian-cuisine/croatian-recipes/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 266\n  },\n  {\n    \"idMeal\": \"53063\",\n    \"strMeal\": \"Chivito uruguayo\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Unknown\",\n    \"strInstructions\": \"Crush the meat so that it is finite and we put it on a griddle to brown. Put the eggs, bacon and ham to fry.\\r\\nCut the bread in half, put the beef brisket, the fried eggs, the bacon, the ham, the mozzarella, the tomato and the lettuce. Cover with the other half of the bread and serve.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/n7qnkb1630444129.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=0PXbbL1QdaA&ab_channel=D%C3%ADadeCocina\",\n    \"strIngredient1\": \"Beef Brisket\",\n    \"strIngredient2\": \"Bread\",\n    \"strIngredient3\": \"Lettuce\",\n    \"strIngredient4\": \"Tomato\",\n    \"strIngredient5\": \"Ham\",\n    \"strIngredient6\": \"Mozzarella\",\n    \"strIngredient7\": \"Bacon\",\n    \"strIngredient8\": \"Egg\",\n    \"strIngredient9\": \"Onion\",\n    \"strIngredient10\": \"Pepper\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2\",\n    \"strMeasure2\": \"2\",\n    \"strMeasure3\": \"1\",\n    \"strMeasure4\": \"1\",\n    \"strMeasure5\": \"100g \",\n    \"strMeasure6\": \"100g \",\n    \"strMeasure7\": \"100g \",\n    \"strMeasure8\": \"1\",\n    \"strMeasure9\": \"1\",\n    \"strMeasure10\": \"1\",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://cookpad.com/uy/recetas/116102-chivito-uruguayo\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 267\n  },\n  {\n    \"idMeal\": \"53072\",\n    \"strMeal\": \"Crispy Eggplant\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"Filipino\",\n    \"strInstructions\": \"Slice eggplant into 1 cm (0.4-inch) slices. Place them in a bowl and sprinkle them with salt. allow them to sit for 30 minutes to render some of their liquid and bitterness.\\r\\n2. After 30 minutes wash eggplant slices from salt and pat dry with a kitchen towel.\\r\\n3. In a large bowl/plate place breadcrumbs and sesame seeds. In another bowl beat 2 eggs with pinch salt and pepper.\\r\\n4. Heal oil in a large skillet over high heat.\\r\\n5. Dip eggplant slices in egg, then in crumbs, and place in hot oil. Fry 2 to 3 minutes on each side, or until golden brown. Drain on a paper towel. \\r\\n\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/c7lzrl1683208757.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=4mINk5d2hto\",\n    \"strIngredient1\": \"Egg Plants\",\n    \"strIngredient2\": \"Breadcrumbs\",\n    \"strIngredient3\": \"Sesame Seed\",\n    \"strIngredient4\": \"Eggs\",\n    \"strIngredient5\": \"Salt\",\n    \"strIngredient6\": \"Pepper\",\n    \"strIngredient7\": \"Vegetable Oil\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 large\",\n    \"strMeasure2\": \"1 cup \",\n    \"strMeasure3\": \"50g\",\n    \"strMeasure4\": \"2\",\n    \"strMeasure5\": \"To taste\",\n    \"strMeasure6\": \"To taste\",\n    \"strMeasure7\": \"For frying\",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://yummyfood.ph/recipe/crispiest-fried-eggplant/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 268\n  },\n  {\n    \"idMeal\": \"52774\",\n    \"strMeal\": \"Pad See Ew\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Thai\",\n    \"strInstructions\": \"Mix Sauce in small bowl.\\r\\nMince garlic into wok with oil. Place over high heat, when hot, add chicken and Chinese broccoli stems, cook until chicken is light golden.\\r\\nPush to the side of the wok, crack egg in and scramble. Don't worry if it sticks to the bottom of the wok - it will char and which adds authentic flavour.\\r\\nAdd noodles, Chinese broccoli leaves and sauce. Gently mix together until the noodles are stained dark and leaves are wilted. Serve immediately!\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/uuuspp1468263334.jpg\",\n    \"strTags\": \"Pasta\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=Ohy1DELF4is\",\n    \"strIngredient1\": \"rice stick noodles\",\n    \"strIngredient2\": \"dark soy sauce\",\n    \"strIngredient3\": \"oyster sauce\",\n    \"strIngredient4\": \"soy sauce\",\n    \"strIngredient5\": \"white vinegar\",\n    \"strIngredient6\": \"sugar\",\n    \"strIngredient7\": \"water\",\n    \"strIngredient8\": \"peanut oil\",\n    \"strIngredient9\": \"garlic\",\n    \"strIngredient10\": \"Chicken\",\n    \"strIngredient11\": \"Egg\",\n    \"strIngredient12\": \"Chinese broccoli\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": null,\n    \"strIngredient17\": null,\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"6oz/180g\",\n    \"strMeasure2\": \"2 tbsp\",\n    \"strMeasure3\": \"2 tbsp\",\n    \"strMeasure4\": \"2 tsp\",\n    \"strMeasure5\": \"2 tsp\",\n    \"strMeasure6\": \"2 tsp\",\n    \"strMeasure7\": \"2 tbsp\",\n    \"strMeasure8\": \"2 tbsp\",\n    \"strMeasure9\": \"2 cloves\",\n    \"strMeasure10\": \"1 cup\",\n    \"strMeasure11\": \"1\",\n    \"strMeasure12\": \"4 cups\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": null,\n    \"strMeasure17\": null,\n    \"strMeasure18\": null,\n    \"strMeasure19\": null,\n    \"strMeasure20\": null,\n    \"strSource\": null,\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 269\n  },\n  {\n    \"idMeal\": \"52780\",\n    \"strMeal\": \"Potato Gratin with Chicken\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Unknown\",\n    \"strInstructions\": \"15 minute potato gratin with chicken and bacon greens: a gratin always seems more effort and more indulgent than ordinary boiled or roasts, but it doesn't have to take 45mins, it's nice for a change and you can control the calorie content by going with full fat to low fat creme fraiche. (It's always tastes better full fat though obviously!) to serve 4: use 800g of potatoes, finely slice and boil in a pan for about 5-8 mins till firmish, not soft. Finely slice 3 onions and place in an oven dish with 2 tblsp of olive oil and 100ml of chicken stock. Cook till the onions are soft then drain the potatoes and pour onto the onions. Season and spoon over cream or creme fraiche till all is covered but not swimming. Grate Parmesan over the top then finish under the grill till nicely golden. serve with chicken and bacon, peas and spinach.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/qwrtut1468418027.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=p3u8eiy3yHI\",\n    \"strIngredient1\": \"Potatoes\",\n    \"strIngredient2\": \"Onions\",\n    \"strIngredient3\": \"Olive Oil\",\n    \"strIngredient4\": \"Chicken Stock\",\n    \"strIngredient5\": \"Creme Fraiche\",\n    \"strIngredient6\": \"Parmesan\",\n    \"strIngredient7\": \"Chicken Breasts\",\n    \"strIngredient8\": \"Bacon\",\n    \"strIngredient9\": \"Spinach\",\n    \"strIngredient10\": \"Peas\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": null,\n    \"strIngredient17\": null,\n    \"strIngredient18\": null,\n    \"strIngredient19\": null,\n    \"strIngredient20\": null,\n    \"strMeasure1\": \"800g\",\n    \"strMeasure2\": \"3\",\n    \"strMeasure3\": \"2 tblsp\",\n    \"strMeasure4\": \"100ml\",\n    \"strMeasure5\": \"1 pot\",\n    \"strMeasure6\": \"Topping\",\n    \"strMeasure7\": \"4\",\n    \"strMeasure8\": \"4\",\n    \"strMeasure9\": \"Topping\",\n    \"strMeasure10\": \"Topping\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": null,\n    \"strMeasure17\": null,\n    \"strMeasure18\": null,\n    \"strMeasure19\": null,\n    \"strMeasure20\": null,\n    \"strSource\": \"https://www.instagram.com/p/BHxR7hYBJ6P\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 270\n  },\n  {\n    \"idMeal\": \"52804\",\n    \"strMeal\": \"Poutine\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Miscellaneous\",\n    \"strArea\": \"Canadian\",\n    \"strInstructions\": \"Heat oil in a deep fryer or deep heavy skillet to 365°F (185°C).\\r\\nWarm gravy in saucepan or microwave.\\r\\nPlace the fries into the hot oil, and cook until light brown, about 5 minutes.\\r\\nRemove to a paper towel lined plate to drain.\\r\\nPlace the fries on a serving platter, and sprinkle the cheese over them.\\r\\nLadle gravy over the fries and cheese, and serve immediately.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/uuyrrx1487327597.jpg\",\n    \"strTags\": \"UnHealthy,Speciality,HangoverFood\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=UVAMAoA2_WU\",\n    \"strIngredient1\": \"Vegetable Oil\",\n    \"strIngredient2\": \"Beef Gravy\",\n    \"strIngredient3\": \"Potatoes\",\n    \"strIngredient4\": \"Cheese Curds\",\n    \"strIngredient5\": \"\",\n    \"strIngredient6\": \"\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"Dash\",\n    \"strMeasure2\": \"1 Can\",\n    \"strMeasure3\": \"5 thin cut\",\n    \"strMeasure4\": \"2 cups\",\n    \"strMeasure5\": \"\",\n    \"strMeasure6\": \"\",\n    \"strMeasure7\": \"\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.food.com/recipe/real-canadian-poutine-113388\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 271\n  },\n  {\n    \"idMeal\": \"52837\",\n    \"strMeal\": \"Pilchard puttanesca\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pasta\",\n    \"strArea\": \"Italian\",\n    \"strInstructions\": \"Cook the pasta following pack instructions. Heat the oil in a non-stick frying pan and cook the onion, garlic and chilli for 3-4 mins to soften. Stir in the tomato purée and cook for 1 min, then add the pilchards with their sauce. Cook, breaking up the fish with a wooden spoon, then add the olives and continue to cook for a few more mins.\\r\\n\\r\\nDrain the pasta and add to the pan with 2-3 tbsp of the cooking water. Toss everything together well, then divide between plates and serve, scattered with Parmesan.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/vvtvtr1511180578.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=wqZzLAPmr9k\",\n    \"strIngredient1\": \"Spaghetti\",\n    \"strIngredient2\": \"Olive Oil\",\n    \"strIngredient3\": \"Onion\",\n    \"strIngredient4\": \"Garlic\",\n    \"strIngredient5\": \"Red Chilli\",\n    \"strIngredient6\": \"Tomato Puree\",\n    \"strIngredient7\": \"Pilchards\",\n    \"strIngredient8\": \"Black Olives\",\n    \"strIngredient9\": \"Parmesan\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"300g\",\n    \"strMeasure2\": \"1 tbls\",\n    \"strMeasure3\": \"1 finely chopped \",\n    \"strMeasure4\": \"2 cloves minced\",\n    \"strMeasure5\": \"1\",\n    \"strMeasure6\": \"1 tbls\",\n    \"strMeasure7\": \"425g\",\n    \"strMeasure8\": \"70g\",\n    \"strMeasure9\": \"Shaved\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/pilchard-puttanesca\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 272\n  },\n  {\n    \"idMeal\": \"52847\",\n    \"strMeal\": \"Pork Cassoulet\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pork\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Heat oven to 140C/120C fan/gas 1. Put a large ovenproof pan (with a tight-fitting lid) on a high heat. Add your fat and diced meat, cook for a few mins to seal the edges, giving it a quick stir to cook evenly. Reduce the heat to low, add the sliced onion, whole garlic cloves, carrot and fennel seeds, and cook gently to soften the veg for a few mins.\\r\\nPour over the red wine vinegar, scraping any meaty bits off the bottom of the pan. Add the stock, tomato purée, and half the rosemary and parsley. Bring to the boil and simmer for 10 mins, then season, cover with a lid and put into the oven for 2 hrs, removing the lid for the final hour of cooking. Stir occasionally and add the beans with 30 mins to go.\\r\\nRemove the pan from the oven and heat the grill. Scatter the top with the remaining herbs and breadcrumbs, drizzle a little oil over the top, and return to the oven for 5-10 mins, until the breadcrumbs are golden. Serve with crusty bread and green veg.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/wxuvuv1511299147.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=MEdHMTD0VCA\",\n    \"strIngredient1\": \"Goose Fat\",\n    \"strIngredient2\": \"Pork\",\n    \"strIngredient3\": \"Onion\",\n    \"strIngredient4\": \"Garlic\",\n    \"strIngredient5\": \"Carrots\",\n    \"strIngredient6\": \"Fennel Seeds\",\n    \"strIngredient7\": \"Red Wine Vinegar\",\n    \"strIngredient8\": \"Vegetable Stock\",\n    \"strIngredient9\": \"Tomato Puree\",\n    \"strIngredient10\": \"Rosemary\",\n    \"strIngredient11\": \"Parsley\",\n    \"strIngredient12\": \"Haricot Beans\",\n    \"strIngredient13\": \"Breadcrumbs\",\n    \"strIngredient14\": \"Oil\",\n    \"strIngredient15\": \"Bread\",\n    \"strIngredient16\": \"Broccoli\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"4 tbsp\",\n    \"strMeasure2\": \"350g\",\n    \"strMeasure3\": \"1 large\",\n    \"strMeasure4\": \"10\",\n    \"strMeasure5\": \"1 thinly sliced\",\n    \"strMeasure6\": \"1 tsp \",\n    \"strMeasure7\": \"2 tblsp \",\n    \"strMeasure8\": \"600ml\",\n    \"strMeasure9\": \"1 tblsp \",\n    \"strMeasure10\": \"2 sticks\",\n    \"strMeasure11\": \"Handful\",\n    \"strMeasure12\": \"400g\",\n    \"strMeasure13\": \"2 tblsp \",\n    \"strMeasure14\": \"drizzle\",\n    \"strMeasure15\": \"to serve\",\n    \"strMeasure16\": \"to serve\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/jacks-pork-cassoulet\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 273\n  },\n  {\n    \"idMeal\": \"52854\",\n    \"strMeal\": \"Pancakes\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"Put the flour, eggs, milk, 1 tbsp oil and a pinch of salt into a bowl or large jug, then whisk to a smooth batter. Set aside for 30 mins to rest if you have time, or start cooking straight away.\\r\\nSet a medium frying pan or crêpe pan over a medium heat and carefully wipe it with some oiled kitchen paper. When hot, cook your pancakes for 1 min on each side until golden, keeping them warm in a low oven as you go.\\r\\nServe with lemon wedges and sugar, or your favourite filling. Once cold, you can layer the pancakes between baking parchment, then wrap in cling film and freeze for up to 2 months.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/rwuyqx1511383174.jpg\",\n    \"strTags\": \"Breakfast,Desert,Sweet,Fruity\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=LWuuCndtJr0\",\n    \"strIngredient1\": \"Flour\",\n    \"strIngredient2\": \"Eggs\",\n    \"strIngredient3\": \"Milk\",\n    \"strIngredient4\": \"Sunflower Oil\",\n    \"strIngredient5\": \"Sugar\",\n    \"strIngredient6\": \"Raspberries\",\n    \"strIngredient7\": \"Blueberries\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"100g \",\n    \"strMeasure2\": \"2 large\",\n    \"strMeasure3\": \"300ml \",\n    \"strMeasure4\": \"1 tbls\",\n    \"strMeasure5\": \"to serve\",\n    \"strMeasure6\": \"to serve\",\n    \"strMeasure7\": \"to serve\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/2907669/easy-pancakes\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 274\n  },\n  {\n    \"idMeal\": \"52857\",\n    \"strMeal\": \"Pumpkin Pie\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"Place the pumpkin in a large saucepan, cover with water and bring to the boil. Cover with a lid and simmer for 15 mins or until tender. Drain pumpkin; let cool.\\r\\nHeat oven to 180C/160C fan/gas 4. Roll out the pastry on a lightly floured surface and use it to line a 22cm loose-bottomed tart tin. Chill for 15 mins. Line the pastry with baking parchment and baking beans, then bake for 15 mins. Remove the beans and paper, and cook for a further 10 mins until the base is pale golden and biscuity. Remove from the oven and allow to cool slightly.\\r\\nIncrease oven to 220C/200C fan/gas 7. Push the cooled pumpkin through a sieve into a large bowl. In a separate bowl, combine the sugar, salt, nutmeg and half the cinnamon. Mix in the beaten eggs, melted butter and milk, then add to the pumpkin purée and stir to combine. Pour into the tart shell and cook for 10 mins, then reduce the temperature to 180C/160C fan/gas 4. Continue to bake for 35-40 mins until the filling has just set.\\r\\nLeave to cool, then remove the pie from the tin. Mix the remaining cinnamon with the icing sugar and dust over the pie. Serve chilled.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/usuqtp1511385394.jpg\",\n    \"strTags\": \"Halloween,Pie,Desert\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=hpapqEeb36k\",\n    \"strIngredient1\": \"Pumpkin\",\n    \"strIngredient2\": \"Shortcrust Pastry\",\n    \"strIngredient3\": \"Plain Flour\",\n    \"strIngredient4\": \"Caster Sugar\",\n    \"strIngredient5\": \"Salt\",\n    \"strIngredient6\": \"Nutmeg\",\n    \"strIngredient7\": \"Cinnamon\",\n    \"strIngredient8\": \"Eggs\",\n    \"strIngredient9\": \"Butter\",\n    \"strIngredient10\": \"Milk\",\n    \"strIngredient11\": \"Icing Sugar\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"750g\",\n    \"strMeasure2\": \"350g\",\n    \"strMeasure3\": \"Dusting\",\n    \"strMeasure4\": \"140g\",\n    \"strMeasure5\": \"½ tsp\",\n    \"strMeasure6\": \"½ tsp\",\n    \"strMeasure7\": \"1 tsp \",\n    \"strMeasure8\": \"2 Beaten \",\n    \"strMeasure9\": \"25g\",\n    \"strMeasure10\": \"175g\",\n    \"strMeasure11\": \"1 tblsp \",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/1742633/pumpkin-pie\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 275\n  },\n  {\n    \"idMeal\": \"52861\",\n    \"strMeal\": \"Peanut Butter Cheesecake\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"Oil and line a 20cm round loose- bottomed cake tin with cling film, making it as smooth as possible. Melt the butter in a pan. Crush the biscuits by bashing them in a bag with a rolling pin, then stir them into the butter until very well coated. Press the mixture firmly into the base of the tin and chill.\\r\\nSoak the gelatine in water while you make the filling. Tip the ricotta into a bowl, then beat in the peanut butter and syrup. Ricotta has a slightly grainy texture so blitz until smooth with a stick blender for a smoother texture if you prefer.\\r\\nTake the soaked gelatine from the water and squeeze dry. Put it into a pan with the milk and heat very gently until the gelatine dissolves. Beat into the peanut mixture, then tip onto the biscuit base. Chill until set.\\r\\nTo freeze, leave in the tin and as soon as it is solid, cover the surface with cling film, then wrap the tin with cling film and foil.\\r\\nTo defrost, thaw in the fridge overnight.\\r\\nTo serve, carefully remove from the tin. Whisk the cream with the sugar until it holds its shape, then spread on top of the cheesecake and scatter with the peanut brittle.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/qtuuys1511387068.jpg\",\n    \"strTags\": \"Cake,Desert,Treat,UnHealthy,Speciality\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=QSTsturcyL0\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Peanut Cookies\",\n    \"strIngredient3\": \"Gelatine Leafs\",\n    \"strIngredient4\": \"Ricotta\",\n    \"strIngredient5\": \"Peanut Butter\",\n    \"strIngredient6\": \"Golden Syrup\",\n    \"strIngredient7\": \"Milk\",\n    \"strIngredient8\": \"Double Cream\",\n    \"strIngredient9\": \"Light Brown Soft Sugar\",\n    \"strIngredient10\": \"Peanut Brittle\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"50g\",\n    \"strMeasure2\": \"175g\",\n    \"strMeasure3\": \"5\",\n    \"strMeasure4\": \"500g\",\n    \"strMeasure5\": \"175g\",\n    \"strMeasure6\": \"175g\",\n    \"strMeasure7\": \"150ml\",\n    \"strMeasure8\": \"275ml\",\n    \"strMeasure9\": \"2 tblsp \",\n    \"strMeasure10\": \"Crushed\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/1759649/peanut-butter-cheesecake\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 276\n  },\n  {\n    \"idMeal\": \"52862\",\n    \"strMeal\": \"Peach & Blueberry Grunt\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"Heat oven to 190C/170C fan/gas 5. Butter a wide shallow ovenproof dish. Blend the cornflour with the orange zest and juice, and put in a large pan with the sugar. Halve, stone and slice the peaches and add to the pan. Bring slowly to the boil, stirring gently until the sauce is shiny and thickened, about 3-4 mins. Remove from the heat, stir in the blueberries and tip into the prepared dish.\\r\\nTip the flour into a mixing bowl and add the 50g butter. Rub the butter into the flour until it resembles fine breadcrumbs, then stir in half the sugar. Mix the remaining sugar with the cinnamon and set aside.\\r\\nAdd the milk to the dry ingredients and mix to a soft dough. Turn out onto a lightly floured surface and knead briefly. Roll out to an oblong roughly 16 x 24cm. Brush with melted butter and sprinkle evenly with the spicy sugar. Roll up from one long side and cut into 12 slices. Arrange around the top of the dish, leaving the centre uncovered.\\r\\nBake for 20-25 mins, until the topping is crisp and golden. Serve warm.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/ssxvup1511387476.jpg\",\n    \"strTags\": \"Desert,Pudding,Fruity\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=SNeO28BCpsc\",\n    \"strIngredient1\": \"Corn Flour\",\n    \"strIngredient2\": \"Orange\",\n    \"strIngredient3\": \"Orange\",\n    \"strIngredient4\": \"Caster Sugar\",\n    \"strIngredient5\": \"Peaches\",\n    \"strIngredient6\": \"Blueberries\",\n    \"strIngredient7\": \"Self-raising Flour\",\n    \"strIngredient8\": \"Butter\",\n    \"strIngredient9\": \"Muscovado Sugar\",\n    \"strIngredient10\": \"Cinnamon\",\n    \"strIngredient11\": \"Milk\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 tsp \",\n    \"strMeasure2\": \"Juice of 2\",\n    \"strMeasure3\": \"Zest of 1\",\n    \"strMeasure4\": \"2 tbs\",\n    \"strMeasure5\": \"6\",\n    \"strMeasure6\": \"250g\",\n    \"strMeasure7\": \"200g\",\n    \"strMeasure8\": \"50g\",\n    \"strMeasure9\": \"100g \",\n    \"strMeasure10\": \"1 tsp \",\n    \"strMeasure11\": \"6 tblsp\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/1553651/peach-and-blueberry-grunt\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 277\n  },\n  {\n    \"idMeal\": \"52902\",\n    \"strMeal\": \"Parkin Cake\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"British\",\n    \"strInstructions\": \"Heat oven to 160C/140C fan/gas 3. Grease a deep 22cm/9in square cake tin and line with baking parchment. Beat the egg and milk together with a fork.\\r\\n\\r\\nGently melt the syrup, treacle, sugar and butter together in a large pan until the sugar has dissolved. Remove from the heat. Mix together the oatmeal, flour and ginger and stir into the syrup mixture, followed by the egg and milk.\\r\\n\\r\\nPour the mixture into the tin and bake for 50 mins - 1 hr until the cake feels firm and a little crusty on top. Cool in the tin then wrap in more parchment and foil and keep for 3-5 days before eating if you can – it’ll become softer and stickier the longer you leave it, up to 2 weeks.\\r\\n\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/qxuqtt1511724269.jpg\",\n    \"strTags\": \"Caramel\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=k1lG4vk2MQA\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Egg\",\n    \"strIngredient3\": \"Milk\",\n    \"strIngredient4\": \"Golden Syrup\",\n    \"strIngredient5\": \"Black Treacle\",\n    \"strIngredient6\": \"Brown Sugar\",\n    \"strIngredient7\": \"Oatmeal\",\n    \"strIngredient8\": \"Self-raising Flour\",\n    \"strIngredient9\": \"Ground Ginger\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"200g\",\n    \"strMeasure2\": \"1 large\",\n    \"strMeasure3\": \"4 tbs\",\n    \"strMeasure4\": \"200g\",\n    \"strMeasure5\": \"85g\",\n    \"strMeasure6\": \"85g\",\n    \"strMeasure7\": \"100g \",\n    \"strMeasure8\": \"250g\",\n    \"strMeasure9\": \"1 tbs\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/1940684/parkin\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 278\n  },\n  {\n    \"idMeal\": \"52916\",\n    \"strMeal\": \"Pear Tarte Tatin\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Core the pears, then peel as neatly as possible and halve. If you like, they can be prepared up to a day ahead and kept in the fridge, uncovered, so that they dry out.\\r\\nTip the sugar, butter, star anise, cardamom and cinnamon into an ovenproof frying pan, about 20cm wide, and place over a high heat until bubbling. Shake the pan and stir the buttery sauce until it separates and the sugar caramelises to a toffee colour.\\r\\nLay the pears in the pan, then cook in the sauce for 10-12 mins, tossing occasionally, until completely caramelised. Don’t worry about them burning – they won’t – but you want to caramelise them as much as possible. Splash in the brandy and let it flambé, then set the pears aside.\\r\\nHeat oven to 200C/fan 180C/gas 6. Roll the pastry out to the thickness of a £1 coin. Using a plate slightly larger than the top of the pan, cut out a circle, then press the edges of the circle of pastry to thin them out.\\r\\nWhen the pears have cooled slightly, arrange them in the pan, cut side up, in a floral shape, with the pears around the edge pointing inwards. Rest the cinnamon stick on the top in the centre, with the cardamom pods scattered around.\\r\\nDrape the pastry over the pears, then tuck the edges down the pan sides and under the fruit (see Gordon’s guide). Pierce the pastry a few times, then bake for 15 mins. If a lot of juice bubbles up the side of the pan, pour it off at this stage (see guide). Reduce oven to 180C/fan 160C/gas 4 and bake for 15 mins more until the pastry is golden. Leave the tart to stand for 10 mins, then invert it carefully onto a serving dish.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/rxvxrr1511797671.jpg\",\n    \"strTags\": \"Tart,Glazed,Baking\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=8U1tKWKDeWA\",\n    \"strIngredient1\": \"Pears\",\n    \"strIngredient2\": \"Caster Sugar\",\n    \"strIngredient3\": \"Butter\",\n    \"strIngredient4\": \"Star Anise\",\n    \"strIngredient5\": \"Cardamom\",\n    \"strIngredient6\": \"Cinnamon\",\n    \"strIngredient7\": \"Brandy\",\n    \"strIngredient8\": \"Puff Pastry\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"8\",\n    \"strMeasure2\": \"100g \",\n    \"strMeasure3\": \"100g \",\n    \"strMeasure4\": \"2\",\n    \"strMeasure5\": \"3 Pods\",\n    \"strMeasure6\": \"1 large\",\n    \"strMeasure7\": \"2 tbs\",\n    \"strMeasure8\": \"500g\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/4778/pear-tarte-tatin\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 279\n  },\n  {\n    \"idMeal\": \"52921\",\n    \"strMeal\": \"Provençal Omelette Cake\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Vegetarian\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Break the eggs into two bowls, five in each. Whisk lightly and season with salt and pepper. Heat the oil in a pan, add the courgettes and spring onions, then fry gently for about 10 mins until softened. Cool, then stir into one bowl of eggs with a little salt and pepper. Add the roasted peppers to the other bowl of eggs with the garlic, chilli, salt and pepper.\\r\\nHeat a little oil in a 20-23cm frying pan, preferably non-stick. Pour the eggs with courgette into a measuring jug, then pourabout one-third of the mixture into the pan, swirling it to cover the base of the pan. Cook until the egg is set and lightly browned underneath, then cover the pan with a plate and invert the omelette onto it. Slide it back into the pan to cook the other side. Repeat with the remaining mix to make two more omelettes, adding a little oil to the pan each time. Stack the omelettes onto a plate. Make three omelettes in the same way with the red pepper mixture, then stack them on a separate plate.\\r\\nNow make the filling. Beat the cheese to soften it, then beat in the milk to make a spreadable consistency. Stir in the herbs, salt and pepper. Line a deep, 20-23cm round cake tin with cling film (use a tin the same size as the frying pan). Select the best red pepper omelette and place in the tin, prettiest side down. Spread with a thin layer of cheese filling, then cover with a courgette omelette. Repeat, alternating the layers, until all the omelettes and filling are in the tin, finishing with an omelette. Flip the cling film over the omelette, then chill for up to 24 hrs.\\r\\nTo serve, invert the omelette cake onto a serving plate and peel off the cling film. Pile rocket on the top and scatter over the cheese, a drizzle of olive oil and a little freshly ground black pepper. Serve cut into wedges.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/qwtrtp1511799242.jpg\",\n    \"strTags\": \"Egg\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=B7isFo2uP2k\",\n    \"strIngredient1\": \"Eggs\",\n    \"strIngredient2\": \"Olive Oil\",\n    \"strIngredient3\": \"Courgettes\",\n    \"strIngredient4\": \"Spring Onions\",\n    \"strIngredient5\": \"Red Pepper\",\n    \"strIngredient6\": \"Garlic Clove\",\n    \"strIngredient7\": \"Red Chilli\",\n    \"strIngredient8\": \"Cream Cheese\",\n    \"strIngredient9\": \"Milk\",\n    \"strIngredient10\": \"Chives\",\n    \"strIngredient11\": \"Basil\",\n    \"strIngredient12\": \"Rocket\",\n    \"strIngredient13\": \"Parmesan\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"10\",\n    \"strMeasure2\": \"1 tbs\",\n    \"strMeasure3\": \"2 finely chopped\",\n    \"strMeasure4\": \"3 finely chopped\",\n    \"strMeasure5\": \"4\",\n    \"strMeasure6\": \"1 clove peeled crushed\",\n    \"strMeasure7\": \"1\",\n    \"strMeasure8\": \"300g\",\n    \"strMeasure9\": \"6 tblsp\",\n    \"strMeasure10\": \"4 tbs\",\n    \"strMeasure11\": \"2 tbs\",\n    \"strMeasure12\": \"to serve\",\n    \"strMeasure13\": \"to serve\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/6428/provenal-omelette-cake\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 280\n  },\n  {\n    \"idMeal\": \"52922\",\n    \"strMeal\": \"Prawn & Fennel Bisque\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Side\",\n    \"strArea\": \"French\",\n    \"strInstructions\": \"Shell the prawns, then fry the shells in the oil in a large pan for about 5 mins. Add the onion, fennel and carrots and cook for about 10 mins until the veg start to soften. Pour in the wine and brandy, bubble hard for about 1 min to drive off the alcohol, then add the tomatoes, stock and paprika. Cover and simmer for 30 mins. Meanwhile, chop the prawns.\\r\\nBlitz the soup as finely as you can with a stick blender or food processor, then press through a sieve into a bowl. Spend a bit of time really working the mixture through the sieve as this will give the soup its velvety texture.\\r\\nTip back into a clean pan, add the prawns and cook for 10 mins, then blitz again until smooth. You can make and chill this a day ahead or freeze it for 1 month. Thaw ovenight in the fridge. To serve, gently reheat in a pan with the cream. If garnishing, cook the 8 prawns in a little butter. Spoon into small bowls and top with the prawns and snipped fennel fronds.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/rtwwvv1511799504.jpg\",\n    \"strTags\": \"Soup,Warm,Seafood,Shellfish\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=4thpMbDakgM\",\n    \"strIngredient1\": \"Tiger Prawns\",\n    \"strIngredient2\": \"Olive Oil\",\n    \"strIngredient3\": \"Onion\",\n    \"strIngredient4\": \"Fennel\",\n    \"strIngredient5\": \"Carrots\",\n    \"strIngredient6\": \"Dry White Wine\",\n    \"strIngredient7\": \"Brandy\",\n    \"strIngredient8\": \"Chopped Tomatoes\",\n    \"strIngredient9\": \"Fish Stock\",\n    \"strIngredient10\": \"Paprika\",\n    \"strIngredient11\": \"Double Cream\",\n    \"strIngredient12\": \"Prawns\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"450g\",\n    \"strMeasure2\": \"4 tbs\",\n    \"strMeasure3\": \"1 large\",\n    \"strMeasure4\": \"1 large\",\n    \"strMeasure5\": \"2 chopped\",\n    \"strMeasure6\": \"150ml\",\n    \"strMeasure7\": \"1 tbs\",\n    \"strMeasure8\": \"400g\",\n    \"strMeasure9\": \"1L\",\n    \"strMeasure10\": \"2 pinches\",\n    \"strMeasure11\": \"150ml\",\n    \"strMeasure12\": \"8\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.bbcgoodfood.com/recipes/71600/prawn-and-fennel-bisque\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 281\n  },\n  {\n    \"idMeal\": \"52930\",\n    \"strMeal\": \"Pate Chinois\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Canadian\",\n    \"strInstructions\": \"In a large pot of salted water, cook the potatoes until they are very tender. Drain.\\r\\nWith a masher, coarsely crush the potatoes with at least 30 ml (2 tablespoons) of butter. With an electric mixer, purée with the milk. Season with salt and pepper. Set aside.\\r\\nWith the rack in the middle position, preheat the oven to 190 °C (375 °F).\\r\\nIn a large skillet, brown the onion in the remaining butter. Add the meat and cook until golden brown. Season with salt and pepper. Remove from the heat.\\r\\nLightly press the meat at the bottom of a 20-cm (8-inch) square baking dish. Cover with the corn and the mashed potatoes. Sprinkle with paprika and parsley.\\r\\nBake for about 30 minutes. Finish cooking under the broiler. Let cool for 10 minutes.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/yyrrxr1511816289.jpg\",\n    \"strTags\": \"MainMeal,Alcoholic\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=QRFqnLkEv3I\",\n    \"strIngredient1\": \"Potatoes\",\n    \"strIngredient2\": \"Butter\",\n    \"strIngredient3\": \"Milk\",\n    \"strIngredient4\": \"Minced Beef\",\n    \"strIngredient5\": \"Onion\",\n    \"strIngredient6\": \"Creamed Corn\",\n    \"strIngredient7\": \"Paprika\",\n    \"strIngredient8\": \"Parsley\",\n    \"strIngredient9\": \"Salt\",\n    \"strIngredient10\": \"Pepper\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"4 cups \",\n    \"strMeasure2\": \"60ml\",\n    \"strMeasure3\": \"½ cup \",\n    \"strMeasure4\": \"450g\",\n    \"strMeasure5\": \"1 finely chopped \",\n    \"strMeasure6\": \"500ml\",\n    \"strMeasure7\": \"to taste\",\n    \"strMeasure8\": \"to taste\",\n    \"strMeasure9\": \"Dash\",\n    \"strMeasure10\": \"Dash\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://www.ricardocuisine.com/en/recipes/5541-pate-chinois-shepherd--s-pie-\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 282\n  },\n  {\n    \"idMeal\": \"52932\",\n    \"strMeal\": \"Pouding chomeur\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"Canadian\",\n    \"strInstructions\": \"In a large bowl, with an electric mixer, mix the butter and sugar till the mix is light.\\r\\nAdd eggs and vanilla and mix.\\r\\nIn another bowl, mix flour and baking powder.\\r\\nAlternate flour mix and milk to the butter mix.\\r\\nPour into a 13 inch by 9 inch greased pan.\\r\\nMAPLE SAUCE.\\r\\nIn a large casserole, bring to boil the syrup, brown sugar, cream and butter and constantly stir.\\r\\nReduce heat and and gently cook 2 minutes or till sauce has reduced a little bit.\\r\\nPour sauce gently over cake.\\r\\nBake at 325°f (160°c) about 35 minutes or till cake is light brown and when toothpick inserted comes out clean.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/yqqqwu1511816912.jpg\",\n    \"strTags\": \"Pudding\",\n    \"strYoutube\": \"https://www.youtube.com/watch?v=WFvj71RZYPc\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Sugar\",\n    \"strIngredient3\": \"Eggs\",\n    \"strIngredient4\": \"Vanilla Extract\",\n    \"strIngredient5\": \"Flour\",\n    \"strIngredient6\": \"Baking Powder\",\n    \"strIngredient7\": \"Milk\",\n    \"strIngredient8\": \"Maple Syrup\",\n    \"strIngredient9\": \"Brown Sugar\",\n    \"strIngredient10\": \"Single Cream\",\n    \"strIngredient11\": \"Butter\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"½ cup \",\n    \"strMeasure2\": \"1 cup \",\n    \"strMeasure3\": \"2\",\n    \"strMeasure4\": \"1 tsp \",\n    \"strMeasure5\": \"2 cups \",\n    \"strMeasure6\": \"1 tsp \",\n    \"strMeasure7\": \"1 1/4 cup\",\n    \"strMeasure8\": \"1 1/2 cup \",\n    \"strMeasure9\": \"1 1/2 cup \",\n    \"strMeasure10\": \"1 1/2 cup \",\n    \"strMeasure11\": \"1/3 cup\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"http://www.geniuskitchen.com/recipe/pouding-chomeur-poor-mans-pudding-with-maple-syrup-sauce-218797\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 283\n  },\n  {\n    \"idMeal\": \"52958\",\n    \"strMeal\": \"Peanut Butter Cookies\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"American\",\n    \"strInstructions\": \"Preheat oven to 350ºF (180ºC).\\r\\nIn a large bowl, mix together the peanut butter, sugar, and egg.\\r\\nScoop out a spoonful of dough and roll it into a ball. Place the cookie balls onto a nonstick baking sheet.\\r\\nFor extra decoration and to make them cook more evenly, flatten the cookie balls by pressing a fork down on top of them, then press it down again at a 90º angle to make a criss-cross pattern.\\r\\nBake for 8-10 minutes or until the bottom of the cookies are golden brown.\\r\\nRemove from baking sheet and cool.\\r\\nEnjoy!\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/1544384070.jpg\",\n    \"strTags\": \"Breakfast,UnHealthy,BBQ\",\n    \"strYoutube\": \"\",\n    \"strIngredient1\": \"Peanut Butter\",\n    \"strIngredient2\": \"Sugar\",\n    \"strIngredient3\": \"Egg\",\n    \"strIngredient4\": \"\",\n    \"strIngredient5\": \"\",\n    \"strIngredient6\": \"\",\n    \"strIngredient7\": \"\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 cup \",\n    \"strMeasure2\": \"1/2 cup \",\n    \"strMeasure3\": \"1\",\n    \"strMeasure4\": \"\",\n    \"strMeasure5\": \"\",\n    \"strMeasure6\": \"\",\n    \"strMeasure7\": \"\",\n    \"strMeasure8\": \"\",\n    \"strMeasure9\": \"\",\n    \"strMeasure10\": \"\",\n    \"strMeasure11\": \"\",\n    \"strMeasure12\": \"\",\n    \"strMeasure13\": \"\",\n    \"strMeasure14\": \"\",\n    \"strMeasure15\": \"\",\n    \"strMeasure16\": \"\",\n    \"strMeasure17\": \"\",\n    \"strMeasure18\": \"\",\n    \"strMeasure19\": \"\",\n    \"strMeasure20\": \"\",\n    \"strSource\": \"https://tasty.co/recipe/3-ingredient-peanut-butter-cookies\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 284\n  },\n  {\n    \"idMeal\": \"53014\",\n    \"strMeal\": \"Pizza Express Margherita\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Miscellaneous\",\n    \"strArea\": \"Italian\",\n    \"strInstructions\": \"1 Preheat the oven to 230°C.\\r\\n\\r\\n2 Add the sugar and crumble the fresh yeast into warm water.\\r\\n\\r\\n3 Allow the mixture to stand for 10 – 15 minutes in a warm place (we find a windowsill on a sunny day works best) until froth develops on the surface.\\r\\n\\r\\n4 Sift the flour and salt into a large mixing bowl, make a well in the middle and pour in the yeast mixture and olive oil.\\r\\n\\r\\n5 Lightly flour your hands, and slowly mix the ingredients together until they bind.\\r\\n\\r\\n6 Generously dust your surface with flour.\\r\\n\\r\\n7 Throw down the dough and begin kneading for 10 minutes until smooth, silky and soft.\\r\\n\\r\\n8 Place in a lightly oiled, non-stick baking tray (we use a round one, but any shape will do!)\\r\\n\\r\\n9 Spread the passata on top making sure you go to the edge.\\r\\n\\r\\n10 Evenly place the mozzarella (or other cheese) on top, season with the oregano and black pepper, then drizzle with a little olive oil.\\r\\n\\r\\n11 Cook in the oven for 10 – 12 minutes until the cheese slightly colours.\\r\\n\\r\\n12 When ready, place the basil leaf on top and tuck in!\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/x0lk931587671540.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=Mt5lgUZRoUg\",\n    \"strIngredient1\": \"Water\",\n    \"strIngredient2\": \"Sugar\",\n    \"strIngredient3\": \"Yeast\",\n    \"strIngredient4\": \"Plain Flour\",\n    \"strIngredient5\": \"Salt\",\n    \"strIngredient6\": \"Olive Oil\",\n    \"strIngredient7\": \"Passata\",\n    \"strIngredient8\": \"Mozzarella\",\n    \"strIngredient9\": \"Oregano\",\n    \"strIngredient10\": \"Basil\",\n    \"strIngredient11\": \"Black Pepper\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"150ml\",\n    \"strMeasure2\": \"1 tsp \",\n    \"strMeasure3\": \"15g\",\n    \"strMeasure4\": \"225g\",\n    \"strMeasure5\": \"1 1/2 tsp \",\n    \"strMeasure6\": \"Drizzle\",\n    \"strMeasure7\": \"80g\",\n    \"strMeasure8\": \"70g\",\n    \"strMeasure9\": \"Peeled and Sliced\",\n    \"strMeasure10\": \"Leaves\",\n    \"strMeasure11\": \"Pinch\",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.dailymail.co.uk/femail/food/article-8240361/Pizza-Express-release-secret-recipe-Margherita-Pizza-make-home.html\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 285\n  },\n  {\n    \"idMeal\": \"53017\",\n    \"strMeal\": \"Paszteciki (Polish Pasties)\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Polish\",\n    \"strInstructions\": \"Sift flour and salt into a large mixing bowl.\\r\\nUse a spoon to push the egg yolk through a fine sieve into the flour.\\r\\nAdd the raw egg and mix well.\\r\\nBeat in butter 1 tablespoon at a time.\\r\\nPlace dough on a floured surface and knead until smooth and elastic, then wrap in waxed paper and refrigerate until firm (at least 30 minutes).\\r\\nIn a heavy skillet, melt 2 tablespoons butter over medium heat; saute the onion and rutabaga until the onion is soft and transparent (5 minutes).\\r\\nPut the onions, rutabaga, and beef through a meat grinder twice if you have one, if not just chop them up as fine as possible.\\r\\nMelt the remaining 4 tablespoons butter over medium heat, and add the meat mixture.\\r\\nCook over low heat, stirring occasionally, until all of the liquid has evaporated and the mixture is thick enough to hold its shape.\\r\\nRemove from heat and let cool, then stir in 1 egg, and season with salt and pepper.\\r\\nPreheat oven to 350°F.\\r\\nOn a lightly floured surface, roll the dough out into a 13x8\\\" rectangle (1/8\\\" thick).\\r\\nSpoon the filling down the center of the rectangle lengthwise, leaving about an inch of space on each end.\\r\\nLightly brush the long sides with cold water, then fold one of the long sides over the filling and the other side over the top of that.\\r\\nBrush the short ends with cold water and fold them over the top, enclosing the filling.\\r\\nPlace pastry seam side down on a baking sheet and brush the top evenly with the remaining scrambled egg.\\r\\nBake in preheated oven until rich golden brown (30 minutes).\\r\\nSlice pastry diagonally into 1.5\\\" long pieces and serve as an appetizer or with soup.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/c9a3l31593261890.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=qANmR6BBJpQ\",\n    \"strIngredient1\": \"Flour\",\n    \"strIngredient2\": \"Salt\",\n    \"strIngredient3\": \"Egg\",\n    \"strIngredient4\": \"Egg\",\n    \"strIngredient5\": \"Butter\",\n    \"strIngredient6\": \"Butter\",\n    \"strIngredient7\": \"Onion\",\n    \"strIngredient8\": \"Swede\",\n    \"strIngredient9\": \"Beef Brisket\",\n    \"strIngredient10\": \"Eggs\",\n    \"strIngredient11\": \"Salt\",\n    \"strIngredient12\": \"Pepper\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 cup \",\n    \"strMeasure2\": \"1/4 tsp\",\n    \"strMeasure3\": \"1 Yolk\",\n    \"strMeasure4\": \"1\",\n    \"strMeasure5\": \"5 tbs\",\n    \"strMeasure6\": \"6 tblsp\",\n    \"strMeasure7\": \"1/3 cup\",\n    \"strMeasure8\": \"1/2 cup \",\n    \"strMeasure9\": \"1/2 lb\",\n    \"strMeasure10\": \"2 Beaten \",\n    \"strMeasure11\": \"1 tsp \",\n    \"strMeasure12\": \"1/4 tsp\",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.food.com/recipe/paszteciki-polish-pasties-117909\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 286\n  },\n  {\n    \"idMeal\": \"53019\",\n    \"strMeal\": \"Pierogi (Polish Dumplings)\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Side\",\n    \"strArea\": \"Polish\",\n    \"strInstructions\": \"To prepare the sauerkraut filling, melt the butter in a skillet over medium heat. Stir in the onion, and cook until translucent, about 5 minutes. Add the drained sauerkraut and cook for an additional 5 minutes. Season to taste with salt and pepper, then remove to a plate to cool.\\r\\n\\r\\nFor the mashed potato filling, melt the butter in a skillet over medium heat. Stir in the onion, and cook until translucent, about 5 minutes. Stir into the mashed potatoes, and season with salt and white pepper.\\r\\n\\r\\nTo make the dough, beat together the eggs and sour cream until smooth. Sift together the flour, salt, and baking powder; stir into the sour cream mixture until dough comes together. Knead the dough on a lightly floured surface until firm and smooth. Divide the dough in half, then roll out one half to 1/8 inch thickness. Cut into 3 inch rounds using a biscuit cutter.\\r\\n\\r\\nPlace a small spoonful of the mashed potato filling into the center of each round. Moisten the edges with water, fold over, and press together with a fork to seal. Repeat procedure with the remaining dough and the sauerkraut filling.\\r\\n\\r\\nBring a large pot of lightly salted water to a boil. Add perogies and cook for 3 to 5 minutes or until pierogi float to the top. Remove with a slotted spoon.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/45xxr21593348847.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=lyqDmUroZrI\",\n    \"strIngredient1\": \"Butter\",\n    \"strIngredient2\": \"Chopped Onion\",\n    \"strIngredient3\": \"Sauerkraut\",\n    \"strIngredient4\": \"Butter\",\n    \"strIngredient5\": \"Chopped Onion\",\n    \"strIngredient6\": \"Potatoes\",\n    \"strIngredient7\": \"Eggs\",\n    \"strIngredient8\": \"Sour Cream\",\n    \"strIngredient9\": \"Flour\",\n    \"strIngredient10\": \"Salt\",\n    \"strIngredient11\": \"Baking Powder\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 tbs\",\n    \"strMeasure2\": \"1/3 cup\",\n    \"strMeasure3\": \"1 1/2 cups \",\n    \"strMeasure4\": \"3 tbs\",\n    \"strMeasure5\": \"1/2 cup \",\n    \"strMeasure6\": \"2 cups \",\n    \"strMeasure7\": \"3\",\n    \"strMeasure8\": \"1 pot\",\n    \"strMeasure9\": \"3 cups \",\n    \"strMeasure10\": \"1/4 tsp\",\n    \"strMeasure11\": \"1 tbs\",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.allrecipes.com/recipe/109914/pierogi-polish-dumplings/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 287\n  },\n  {\n    \"idMeal\": \"53022\",\n    \"strMeal\": \"Polskie Naleśniki (Polish Pancakes)\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"Polish\",\n    \"strInstructions\": \"Add flour, eggs, milk, water, and salt in a large bowl then mix with a hand mixer until you have a smooth, lump-free batter.\\r\\nAt this point, mix in the butter or the vegetable oil. Alternatively, you can use them to grease the pan before frying each pancake.\\r\\nHeat a non-stick pan over medium heat, then pour in the batter, swirling the pan to help it spread.\\r\\nWhen the pancake starts pulling away a bit from the sides, and the top is no longer wet, flip it and cook shortly on the other side as well.\\r\\nTransfer to a plate. Cook the remaining batter until all used up.\\r\\nServe warm, with the filling of your choice.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/58bkyo1593350017.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=EZS4ev2crHc\",\n    \"strIngredient1\": \"Flour\",\n    \"strIngredient2\": \"Eggs\",\n    \"strIngredient3\": \"Milk\",\n    \"strIngredient4\": \"Water\",\n    \"strIngredient5\": \"Salt\",\n    \"strIngredient6\": \"Sugar\",\n    \"strIngredient7\": \"Butter\",\n    \"strIngredient8\": \"\",\n    \"strIngredient9\": \"\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 cup \",\n    \"strMeasure2\": \"2\",\n    \"strMeasure3\": \"1 cup \",\n    \"strMeasure4\": \"3/4 cup \",\n    \"strMeasure5\": \"Pinch\",\n    \"strMeasure6\": \"1 tsp \",\n    \"strMeasure7\": \"3 tbs\",\n    \"strMeasure8\": \" \",\n    \"strMeasure9\": \" \",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.tasteatlas.com/nalesniki/recipe\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 288\n  },\n  {\n    \"idMeal\": \"53039\",\n    \"strMeal\": \"Piri-piri chicken and slaw\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Chicken\",\n    \"strArea\": \"Portuguese\",\n    \"strInstructions\": \"STEP 1\\r\\n\\r\\nWhizz together all of the marinade ingredients in a small food processor. Rub the marinade onto the chicken and leave for 1 hour at room temperature.\\r\\n\\r\\nSTEP 2\\r\\n\\r\\nHeat the oven to 190C/fan 170C/gas 5. Put the chicken in a roasting tray and cook for 1 hour 20 minutes. Rest under loose foil for 20 minutes. While the chicken is resting, mix together the slaw ingredients and season. Serve the chicken with slaw, fries and condiments.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/hglsbl1614346998.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=_RKwKjskopk\",\n    \"strIngredient1\": \"Chicken\",\n    \"strIngredient2\": \"Red Chilli\",\n    \"strIngredient3\": \"Garlic\",\n    \"strIngredient4\": \"Ginger\",\n    \"strIngredient5\": \"Dried Oregano\",\n    \"strIngredient6\": \"Coriander\",\n    \"strIngredient7\": \"Paprika\",\n    \"strIngredient8\": \"Red Wine Vinegar\",\n    \"strIngredient9\": \"Oil\",\n    \"strIngredient10\": \"Red Onions\",\n    \"strIngredient11\": \"Carrots\",\n    \"strIngredient12\": \"Beetroot\",\n    \"strIngredient13\": \"Cabbage\",\n    \"strIngredient14\": \"Mayonnaise\",\n    \"strIngredient15\": \"Greek Yogurt\",\n    \"strIngredient16\": \"Red Wine Vinegar\",\n    \"strIngredient17\": \"Cumin Seeds\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1.5kg\",\n    \"strMeasure2\": \"3 chopped\",\n    \"strMeasure3\": \"2 cloves\",\n    \"strMeasure4\": \"1 tsp \",\n    \"strMeasure5\": \"1 tsp \",\n    \"strMeasure6\": \"1 tsp \",\n    \"strMeasure7\": \"1 tsp \",\n    \"strMeasure8\": \"2 tbs\",\n    \"strMeasure9\": \"2 tbs\",\n    \"strMeasure10\": \"1 sliced\",\n    \"strMeasure11\": \"2\",\n    \"strMeasure12\": \"1\",\n    \"strMeasure13\": \"4 leaves\",\n    \"strMeasure14\": \"2 tbs\",\n    \"strMeasure15\": \"2 tbs\",\n    \"strMeasure16\": \"2 tbs\",\n    \"strMeasure17\": \"1 tsp \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.olivemagazine.com/recipes/family/piri-piri-chicken-and-winter-slaw/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 289\n  },\n  {\n    \"idMeal\": \"53042\",\n    \"strMeal\": \"Portuguese prego with green piri-piri\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Beef\",\n    \"strArea\": \"Portuguese\",\n    \"strInstructions\": \"STEP 1\\r\\n\\r\\nRub the garlic over the steaks then put in a sandwich bag and tip in the olive oil, sherry vinegar and parsley stalks. Smoosh everything together, then use a rolling pin to bash the steaks a few times. Leave for 1-2 hours.\\r\\n\\r\\nSTEP 2\\r\\n\\r\\nTo make the sauce, put all the ingredients into a blender with 1 tbsp water and whizz until as smooth as possible. This will make more than you’ll need for the recipe but will keep for a week in an airtight jar.\\r\\n\\r\\nSTEP 3\\r\\n\\r\\nHeat a griddle or frying pan to high. Brush away the garlic and parsley stalks from the steaks and season well. Sear the steaks for 2 minutes on each side then rest on a plate. Put the ciabatta halves onto the plate, toasted-side down, to soak up any juices.\\r\\n\\r\\nSTEP 4\\r\\n\\r\\nSlice the steaks then stuff into the rolls with the green sauce and rocket.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/ewcikl1614348364.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=FbIKfcDEPLA\",\n    \"strIngredient1\": \"Garlic\",\n    \"strIngredient2\": \"Beef Fillet\",\n    \"strIngredient3\": \"Olive Oil\",\n    \"strIngredient4\": \"Vinegar\",\n    \"strIngredient5\": \"Parsley\",\n    \"strIngredient6\": \"Ciabatta\",\n    \"strIngredient7\": \"Rocket\",\n    \"strIngredient8\": \"Basil Leaves\",\n    \"strIngredient9\": \"Parsley\",\n    \"strIngredient10\": \"Jalapeno\",\n    \"strIngredient11\": \"Vinegar\",\n    \"strIngredient12\": \"Spring Onions\",\n    \"strIngredient13\": \"Garlic\",\n    \"strIngredient14\": \"Caster Sugar\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"1 clove\",\n    \"strMeasure2\": \"2 small\",\n    \"strMeasure3\": \"2 tbs\",\n    \"strMeasure4\": \"1 tbs\",\n    \"strMeasure5\": \"Leaves\",\n    \"strMeasure6\": \"2\",\n    \"strMeasure7\": \"2 handfulls\",\n    \"strMeasure8\": \"Small bunch\",\n    \"strMeasure9\": \"Small bunch\",\n    \"strMeasure10\": \"1\",\n    \"strMeasure11\": \"1 tbs\",\n    \"strMeasure12\": \"2 chopped\",\n    \"strMeasure13\": \"1/2 \",\n    \"strMeasure14\": \"1/2 tsp\",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.olivemagazine.com/recipes/meat-and-poultry/portuguese-prego-with-green-piri-piri/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 290\n  },\n  {\n    \"idMeal\": \"53044\",\n    \"strMeal\": \"Portuguese barbecued pork (Febras assadas)\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Pork\",\n    \"strArea\": \"Portuguese\",\n    \"strInstructions\": \"STEP 1\\r\\n\\r\\nCut the tenderloins into 5 equal-size pieces leaving the tail ends a little longer. Take a clear plastic bag and slip one of the pieces in. Bash it into an escalope the size of a side-plate with a rolling pin and repeat with the remaining pieces.\\r\\n\\r\\nSTEP 2\\r\\n\\r\\nPut the wine, paprika, some salt and pepper and the juice of ½ a lemon in a bowl and add the pork. Leave to marinate for 20-30 minutes, while you get your barbecue to the stage where the coals are glowing but there are no flames.\\r\\n\\r\\nSTEP 3\\r\\n\\r\\nTo make the chips, fill a basin with cool water and cut the potatoes into 3cm-thick chips. Soak them in the water for 5 minutes and then change the water. Leave for 5 more minutes. Drain and then pat dry on a towel or with kitchen paper.\\r\\n\\r\\nSTEP 4\\r\\n\\r\\nHeat the oil in a deep fryer or a deep heavy-based pan with a lid to 130C and lower the chips into the oil (in batches). Blanch for 8-10 minutes. Remove from the oil and drain well. Place on a tray to cool. Reheat the oil to 180C (make sure it’s hot or your chips will be soggy) and lower the basket of chips into the oil (again, do this in batches). Leave to cook for 2 minutes and then give them a little shake. Cook for another minute or so until they are well coloured and crisp to the touch. Drain well for a few minutes, tip into a bowl and sprinkle with sea salt.\\r\\n\\r\\nSTEP 5\\r\\n\\r\\nThe pork will cook quickly so do it in 2 batches. Take the pieces out of the marinade, rub them with oil, and drop them onto the barbecue (you could also use a chargrill). Cook for 1 minute on each side – they may flare up as you do so. This should really be enough time as they will keep on cooking. Take them off the barbecue and pile onto a plate. Repeat with the remaining batch.\\r\\n\\r\\nSTEP 6\\r\\n\\r\\nServe by piling a plate with chips, drop the pork on top of each pile and pouring the juices from the plate over so the chips take up the flavours. Top with a spoon of mayonnaise and a wedge of lemon.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/cybyue1614349443.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=tVpsZaejyYU\",\n    \"strIngredient1\": \"Pork\",\n    \"strIngredient2\": \"White Wine\",\n    \"strIngredient3\": \"Paprika\",\n    \"strIngredient4\": \"Lemon\",\n    \"strIngredient5\": \"Lemon Juice\",\n    \"strIngredient6\": \"Olive Oil\",\n    \"strIngredient7\": \"Mayonnaise\",\n    \"strIngredient8\": \"Potatoes\",\n    \"strIngredient9\": \"Vegetable Oil\",\n    \"strIngredient10\": \"\",\n    \"strIngredient11\": \"\",\n    \"strIngredient12\": \"\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2\",\n    \"strMeasure2\": \"200ml\",\n    \"strMeasure3\": \"1/2 tsp\",\n    \"strMeasure4\": \"2\",\n    \"strMeasure5\": \"1/2 \",\n    \"strMeasure6\": \"Dash\",\n    \"strMeasure7\": \"To serve\",\n    \"strMeasure8\": \"1 kg\",\n    \"strMeasure9\": \"For frying\",\n    \"strMeasure10\": \" \",\n    \"strMeasure11\": \" \",\n    \"strMeasure12\": \" \",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.olivemagazine.com/recipes/meat-and-poultry/febras-assadas-portuguese-barbecued-pork-served-with-lemon-and-mayo-on-chips/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 291\n  },\n  {\n    \"idMeal\": \"53045\",\n    \"strMeal\": \"Portuguese fish stew (Caldeirada de peixe)\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Seafood\",\n    \"strArea\": \"Portuguese\",\n    \"strInstructions\": \"STEP 1\\r\\n\\r\\nHeat a drizzle of oil in a large, deep-sided frying pan, and fry the onion and pepper on a medium heat until softened but not browned. Finely chop the coriander stalks (keep the leaves for later), and add to the pan with the chilli and chopped garlic. Fry for another few minutes. Add the wine, saffron and bay leaf and let it simmer until reduced by half.\\r\\n\\r\\nSTEP 2\\r\\n\\r\\nAdd the potatoes, tomatoes, and 300ml water and bring to a gentle boil. Break up the tomatoes with a spoon on the side of the pan and simmer for 20-25 minutes until the potatoes are just tender, and the tomatoes have broken down.\\r\\n\\r\\nSTEP 3\\r\\n\\r\\nSeason well, then gently push the fish into the sauce, and arrange the squid, prawns, clams and mussels on the surface. Put the lid on and cook for 6-8 minutes until the mussel and clam shells have opened, the prawns are cooked and the fish is flaky. Toast the bread, rub lightly with the halved garlic clove and drizzle with olive oil. Serve the stew scatted with chopped coriander leaves, and the toasts for dunking.\",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/do7zps1614349775.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=utv-GpSJypk\",\n    \"strIngredient1\": \"Onions\",\n    \"strIngredient2\": \"Red Pepper\",\n    \"strIngredient3\": \"Coriander\",\n    \"strIngredient4\": \"Red Chilli\",\n    \"strIngredient5\": \"Garlic\",\n    \"strIngredient6\": \"Dry White Wine\",\n    \"strIngredient7\": \"Saffron\",\n    \"strIngredient8\": \"Bay Leaf\",\n    \"strIngredient9\": \"Potatoes\",\n    \"strIngredient10\": \"Plum Tomatoes\",\n    \"strIngredient11\": \"Cod\",\n    \"strIngredient12\": \"Squid\",\n    \"strIngredient13\": \"Tiger Prawns\",\n    \"strIngredient14\": \"Clams\",\n    \"strIngredient15\": \"Mussels\",\n    \"strIngredient16\": \"Baguette\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 finely chopped\",\n    \"strMeasure2\": \"1 Diced\",\n    \"strMeasure3\": \"Small bunch\",\n    \"strMeasure4\": \"1 small\",\n    \"strMeasure5\": \"3 cloves\",\n    \"strMeasure6\": \"400ml\",\n    \"strMeasure7\": \"Pinch\",\n    \"strMeasure8\": \"1\",\n    \"strMeasure9\": \"300g\",\n    \"strMeasure10\": \"400g\",\n    \"strMeasure11\": \"600g\",\n    \"strMeasure12\": \"300g\",\n    \"strMeasure13\": \"8\",\n    \"strMeasure14\": \"500g\",\n    \"strMeasure15\": \"500g\",\n    \"strMeasure16\": \"1 sliced\",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.olivemagazine.com/recipes/one-pots/portuguese-fish-stew-caldeirada-de-peixe/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 292\n  },\n  {\n    \"idMeal\": \"53046\",\n    \"strMeal\": \"Portuguese custard tarts\",\n    \"strDrinkAlternate\": null,\n    \"strCategory\": \"Dessert\",\n    \"strArea\": \"Portuguese\",\n    \"strInstructions\": \"STEP 1\\r\\nRoll the pastry\\r\\nMix the flour and icing sugar, and use this to dust the work surface. Roll the pastry out to make a 45 x 30cm rectangle. Roll up lengthways to create a long sausage shape.\\r\\n\\r\\nSTEP 2\\r\\nCutting pastry into rounds\\r\\nCut the pastry into 24 wheels, about 1-2cm thick.\\r\\n\\r\\nSTEP 3\\r\\nRoll out each pastry portion\\r\\nRoll each wheel lightly with the rolling pin to fit 2 x 12-hole non-stick fairy cake tins.\\r\\n\\r\\nSTEP 4\\r\\nPress pastry into the tin\\r\\nPress the pastry circles into the tins and mould into the tins to make thin cases. Chill until needed.\\r\\n\\r\\nSTEP 5\\r\\nMake the infused syrup\\r\\nHeat the oven to 220C/fan 200C/gas 7. Make a sugar syrup by bringing the sugar, 200ml water, lemon zest and cinnamon stick to the boil. Reduce until syrupy, allow to cool, then remove the cinnamon and lemon. Whisk the eggs, egg yolks and cornflour until smooth in another large pan.\\r\\n\\r\\nSTEP 6\\r\\nMaking custard\\r\\nHeat the milk and vanilla pod seeds in a separate pan until just below the boil. Gradually pour the hot milk over the eggs and cornflour, then cook on a low heat, continually whisking.\\r\\n\\r\\nSTEP 7\\r\\nAdd syrup to custard\\r\\nAdd the cooled sugar syrup to the custard and whisk until thickened slightly.\\r\\n\\r\\nSTEP 8\\r\\nPour custard into the tins\\r\\nPour the custard through a sieve. Pour into the pastry cases and bake for 15 minutes until the pastry is golden and the custard has darkened.\\r\\n\\r\\nSTEP 9\\r\\ncool and dust with icing sugar\\r\\nCool completely in the tins then sift over icing sugar and ground cinnamon to serve.\\r\\n\\r\\n\\r\\n\\r\\n \",\n    \"strMealThumb\": \"https://www.themealdb.com/images/media/meals/vmz7gl1614350221.jpg\",\n    \"strTags\": null,\n    \"strYoutube\": \"https://www.youtube.com/watch?v=lWLCxui1Mw8\",\n    \"strIngredient1\": \"Plain Flour\",\n    \"strIngredient2\": \"Icing Sugar\",\n    \"strIngredient3\": \"Puff Pastry\",\n    \"strIngredient4\": \"Caster Sugar\",\n    \"strIngredient5\": \"Lemon Zest\",\n    \"strIngredient6\": \"Cinnamon\",\n    \"strIngredient7\": \"Eggs\",\n    \"strIngredient8\": \"Egg Yolks\",\n    \"strIngredient9\": \"Corn Flour\",\n    \"strIngredient10\": \"Whole Milk\",\n    \"strIngredient11\": \"Vanilla\",\n    \"strIngredient12\": \"Cinnamon\",\n    \"strIngredient13\": \"\",\n    \"strIngredient14\": \"\",\n    \"strIngredient15\": \"\",\n    \"strIngredient16\": \"\",\n    \"strIngredient17\": \"\",\n    \"strIngredient18\": \"\",\n    \"strIngredient19\": \"\",\n    \"strIngredient20\": \"\",\n    \"strMeasure1\": \"2 tbs\",\n    \"strMeasure2\": \"2 tbs\",\n    \"strMeasure3\": \"375g\",\n    \"strMeasure4\": \"250g\",\n    \"strMeasure5\": \"2 strips\",\n    \"strMeasure6\": \"1 Stick\",\n    \"strMeasure7\": \"2\",\n    \"strMeasure8\": \"4\",\n    \"strMeasure9\": \"50g\",\n    \"strMeasure10\": \"500ml\",\n    \"strMeasure11\": \"Pod of\",\n    \"strMeasure12\": \"To serve\",\n    \"strMeasure13\": \" \",\n    \"strMeasure14\": \" \",\n    \"strMeasure15\": \" \",\n    \"strMeasure16\": \" \",\n    \"strMeasure17\": \" \",\n    \"strMeasure18\": \" \",\n    \"strMeasure19\": \" \",\n    \"strMeasure20\": \" \",\n    \"strSource\": \"https://www.olivemagazine.com/recipes/baking-and-desserts/portuguese-custard-tarts/\",\n    \"strImageSource\": null,\n    \"strCreativeCommonsConfirmed\": null,\n    \"dateModified\": null,\n    \"id\": 293\n  }\n]\n"
  },
  {
    "path": "src/json/nse-stocks.json",
    "content": "[\n  {\n    \"Name\": \"20 Microns Limited\",\n    \"Symbol\": \"20MICRONS\",\n    \"ListingDate\": \"06-Oct-08\",\n    \"ISIN\": \"INE144J01027\",\n    \"MarketCap\": \"₹ 621 Cr.\",\n    \"CurrentPrice\": \"₹ 176\",\n    \"HighLow\": \"₹ 201 / 62.8\",\n    \"StockPE\": \"12.8\",\n    \"BookValue\": \"₹ 91.1\",\n    \"DividendYield\": \"0.42 %\",\n    \"ROCE\": \"19.3 %\",\n    \"ROE\": \"15.3 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"21st Century Management Services Limited\",\n    \"Symbol\": \"21STCENMGM\",\n    \"ListingDate\": \"03-May-95\",\n    \"ISIN\": \"INE253B01015\",\n    \"MarketCap\": \"₹ 34.4 Cr.\",\n    \"CurrentPrice\": \"₹ 32.8\",\n    \"HighLow\": \"₹ 33.5 / 16.5\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 26.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-57.7 %\",\n    \"ROE\": \"-70.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"360 ONE WAM LIMITED\",\n    \"Symbol\": \"360ONE\",\n    \"ListingDate\": \"19-Sep-19\",\n    \"ISIN\": \"INE466L01038\",\n    \"MarketCap\": \"₹ 24,716 Cr.\",\n    \"CurrentPrice\": \"₹ 690\",\n    \"HighLow\": \"₹ 735 / 395\",\n    \"StockPE\": \"35.5\",\n    \"BookValue\": \"₹ 91.4\",\n    \"DividendYield\": \"2.49 %\",\n    \"ROCE\": \"13.4 %\",\n    \"ROE\": \"21.4 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"3i Infotech Limited\",\n    \"Symbol\": \"3IINFOLTD\",\n    \"ListingDate\": \"22-Oct-21\",\n    \"ISIN\": \"INE748C01038\",\n    \"MarketCap\": \"₹ 839 Cr.\",\n    \"CurrentPrice\": \"₹ 49.7\",\n    \"HighLow\": \"₹ 51.0 / 25.9\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 25.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.59 %\",\n    \"ROE\": \"0.45 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"3M India Limited\",\n    \"Symbol\": \"3MINDIA\",\n    \"ListingDate\": \"13-Aug-04\",\n    \"ISIN\": \"INE470A01017\",\n    \"MarketCap\": \"₹ 40,714 Cr.\",\n    \"CurrentPrice\": \"₹ 36,126\",\n    \"HighLow\": \"₹ 37,475 / 21,300\",\n    \"StockPE\": \"76.0\",\n    \"BookValue\": \"₹ 1,634\",\n    \"DividendYield\": \"0.28 %\",\n    \"ROCE\": \"31.4 %\",\n    \"ROE\": \"23.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"3P Land Holdings Limited\",\n    \"Symbol\": \"3PLAND\",\n    \"ListingDate\": \"19-Jul-95\",\n    \"ISIN\": \"INE105C01023\",\n    \"MarketCap\": \"₹ 47.7 Cr.\",\n    \"CurrentPrice\": \"₹ 26.5\",\n    \"HighLow\": \"₹ 36.8 / 16.2\",\n    \"StockPE\": \"29.6\",\n    \"BookValue\": \"₹ 47.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"3.07 %\",\n    \"ROE\": \"2.32 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"5Paisa Capital Limited\",\n    \"Symbol\": \"5PAISA\",\n    \"ListingDate\": \"16-Nov-17\",\n    \"ISIN\": \"INE618L01018\",\n    \"MarketCap\": \"₹ 1,751 Cr.\",\n    \"CurrentPrice\": \"₹ 563\",\n    \"HighLow\": \"₹ 566 / 270\",\n    \"StockPE\": \"29.7\",\n    \"BookValue\": \"₹ 163\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"12.4 %\",\n    \"ROE\": \"10.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"63 moons technologies limited\",\n    \"Symbol\": \"63MOONS\",\n    \"ListingDate\": \"20-Jun-05\",\n    \"ISIN\": \"INE111B01023\",\n    \"MarketCap\": \"₹ 2,180 Cr.\",\n    \"CurrentPrice\": \"₹ 473\",\n    \"HighLow\": \"₹ 691 / 158\",\n    \"StockPE\": \"17.1\",\n    \"BookValue\": \"₹ 704\",\n    \"DividendYield\": \"0.42 %\",\n    \"ROCE\": \"1.99 %\",\n    \"ROE\": \"-1.43 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"A2Z Infra Engineering Limited\",\n    \"Symbol\": \"A2ZINFRA\",\n    \"ListingDate\": \"23-Dec-10\",\n    \"ISIN\": \"INE619I01012\",\n    \"MarketCap\": \"₹ 206 Cr.\",\n    \"CurrentPrice\": \"₹ 11.7\",\n    \"HighLow\": \"₹ 12.6 / 5.10\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 2.01\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"6.57 %\",\n    \"ROE\": \"15.7 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"AAA Technologies Limited\",\n    \"Symbol\": \"AAATECH\",\n    \"ListingDate\": \"28-Nov-22\",\n    \"ISIN\": \"INE0D0U01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Aakash Exploration Services Limited\",\n    \"Symbol\": \"AAKASH\",\n    \"ListingDate\": \"29-Sep-20\",\n    \"ISIN\": \"INE087Z01024\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Aarey Drugs & Pharmaceuticals Limited\",\n    \"Symbol\": \"AAREYDRUGS\",\n    \"ListingDate\": \"06-Aug-21\",\n    \"ISIN\": \"INE198H01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Aaron Industries Limited\",\n    \"Symbol\": \"AARON\",\n    \"ListingDate\": \"06-Nov-20\",\n    \"ISIN\": \"INE721Z01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Aartech Solonics Limited\",\n    \"Symbol\": \"AARTECH\",\n    \"ListingDate\": \"10-Jul-23\",\n    \"ISIN\": \"INE01C001018\",\n    \"MarketCap\": \"₹ 146 Cr.\",\n    \"CurrentPrice\": \"₹ 138\",\n    \"HighLow\": \"₹ 190 / 0.00\",\n    \"StockPE\": \"54.3\",\n    \"BookValue\": \"₹ 28.5\",\n    \"DividendYield\": \"0.38 %\",\n    \"ROCE\": \"6.90 %\",\n    \"ROE\": \"4.88 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Aarti Drugs Limited\",\n    \"Symbol\": \"AARTIDRUGS\",\n    \"ListingDate\": \"19-Sep-03\",\n    \"ISIN\": \"INE767A01016\",\n    \"MarketCap\": \"₹ 4,541 Cr.\",\n    \"CurrentPrice\": \"₹ 490\",\n    \"HighLow\": \"₹ 646 / 311\",\n    \"StockPE\": \"25.2\",\n    \"BookValue\": \"₹ 131\",\n    \"DividendYield\": \"0.20 %\",\n    \"ROCE\": \"15.5 %\",\n    \"ROE\": \"14.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Aarti Industries Limited\",\n    \"Symbol\": \"AARTIIND\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE769A01020\",\n    \"MarketCap\": \"₹ 23,650 Cr.\",\n    \"CurrentPrice\": \"₹ 652\",\n    \"HighLow\": \"₹ 661 / 438\",\n    \"StockPE\": \"53.0\",\n    \"BookValue\": \"₹ 139\",\n    \"DividendYield\": \"0.38 %\",\n    \"ROCE\": \"10.4 %\",\n    \"ROE\": \"11.6 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Aarti Pharmalabs Limited\",\n    \"Symbol\": \"AARTIPHARM\",\n    \"ListingDate\": \"30-Jan-23\",\n    \"ISIN\": \"INE0LRU01027\",\n    \"MarketCap\": \"₹ 4,559 Cr.\",\n    \"CurrentPrice\": \"₹ 503\",\n    \"HighLow\": \"₹ 535 / 235\",\n    \"StockPE\": \"24.0\",\n    \"BookValue\": \"₹ 183\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"16.1 %\",\n    \"ROE\": \"13.2 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Aarti Surfactants Limited\",\n    \"Symbol\": \"AARTISURF\",\n    \"ListingDate\": \"14-Jul-20\",\n    \"ISIN\": \"INE09EO01013\",\n    \"MarketCap\": \"₹ 603 Cr.\",\n    \"CurrentPrice\": \"₹ 749\",\n    \"HighLow\": \"₹ 785 / 417\",\n    \"StockPE\": \"32.4\",\n    \"BookValue\": \"₹ 209\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"10.6 %\",\n    \"ROE\": \"8.36 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Aarvee Denims & Exports Limited\",\n    \"Symbol\": \"AARVEEDEN\",\n    \"ListingDate\": \"21-Nov-06\",\n    \"ISIN\": \"INE273D01019\",\n    \"MarketCap\": \"₹ 69.2 Cr.\",\n    \"CurrentPrice\": \"₹ 29.5\",\n    \"HighLow\": \"₹ 33.0 / 16.2\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 98.5\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-0.11 %\",\n    \"ROE\": \"-15.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Aarvi Encon Limited\",\n    \"Symbol\": \"AARVI\",\n    \"ListingDate\": \"24-Jun-20\",\n    \"ISIN\": \"INE754X01016\",\n    \"MarketCap\": \"₹ 238 Cr.\",\n    \"CurrentPrice\": \"₹ 161\",\n    \"HighLow\": \"₹ 185 / 100\",\n    \"StockPE\": \"19.8\",\n    \"BookValue\": \"₹ 75.2\",\n    \"DividendYield\": \"1.24 %\",\n    \"ROCE\": \"17.5 %\",\n    \"ROE\": \"15.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Aavas Financiers Limited\",\n    \"Symbol\": \"AAVAS\",\n    \"ListingDate\": \"08-Oct-18\",\n    \"ISIN\": \"INE216P01012\",\n    \"MarketCap\": \"₹ 11,879 Cr.\",\n    \"CurrentPrice\": \"₹ 1,501\",\n    \"HighLow\": \"₹ 2,046 / 1,335\",\n    \"StockPE\": \"25.5\",\n    \"BookValue\": \"₹ 444\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.50 %\",\n    \"ROE\": \"14.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Aban Offshore Limited\",\n    \"Symbol\": \"ABAN\",\n    \"ListingDate\": \"29-Mar-95\",\n    \"ISIN\": \"INE421A01028\",\n    \"MarketCap\": \"₹ 305 Cr.\",\n    \"CurrentPrice\": \"₹ 52.3\",\n    \"HighLow\": \"₹ 67.0 / 31.2\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -3,952\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"ABB India Limited\",\n    \"Symbol\": \"ABB\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE117A01022\",\n    \"MarketCap\": \"₹ 98,728 Cr.\",\n    \"CurrentPrice\": \"₹ 4,659\",\n    \"HighLow\": \"₹ 4,957 / 2,662\",\n    \"StockPE\": \"706\",\n    \"BookValue\": \"₹ 197\",\n    \"DividendYield\": \"0.12 %\",\n    \"ROCE\": \"9.77 %\",\n    \"ROE\": \"5.45 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Abbott India Limited\",\n    \"Symbol\": \"ABBOTINDIA\",\n    \"ListingDate\": \"08-Jan-10\",\n    \"ISIN\": \"INE358A01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Aditya Birla Capital Limited\",\n    \"Symbol\": \"ABCAPITAL\",\n    \"ListingDate\": \"01-Sep-17\",\n    \"ISIN\": \"INE674K01013\",\n    \"MarketCap\": \"₹ 43,127 Cr.\",\n    \"CurrentPrice\": \"₹ 166\",\n    \"HighLow\": \"₹ 199 / 133\",\n    \"StockPE\": \"16.1\",\n    \"BookValue\": \"₹ 95.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"11.4 %\",\n    \"ROE\": \"26.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Aditya Birla Fashion and Retail Limited\",\n    \"Symbol\": \"ABFRL\",\n    \"ListingDate\": \"17-Jul-13\",\n    \"ISIN\": \"INE647O01011\",\n    \"MarketCap\": \"₹ 21,289 Cr.\",\n    \"CurrentPrice\": \"₹ 224\",\n    \"HighLow\": \"₹ 292 / 184\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 31.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.03 %\",\n    \"ROE\": \"-2.20 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"ABM International Limited\",\n    \"Symbol\": \"ABMINTLLTD\",\n    \"ListingDate\": \"09-Sep-21\",\n    \"ISIN\": \"INE251C01025\",\n    \"MarketCap\": \"₹ 55.0 Cr.\",\n    \"CurrentPrice\": \"₹ 58.5\",\n    \"HighLow\": \"₹ 74.6 / 31.4\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 18.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-43.2 %\",\n    \"ROE\": \"-34.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Aditya Birla Sun Life AMC Limited\",\n    \"Symbol\": \"ABSLAMC\",\n    \"ListingDate\": \"11-Oct-21\",\n    \"ISIN\": \"INE404A01024\",\n    \"MarketCap\": \"₹ 13,645 Cr.\",\n    \"CurrentPrice\": \"₹ 474\",\n    \"HighLow\": \"₹ 495 / 307\",\n    \"StockPE\": \"20.5\",\n    \"BookValue\": \"₹ 95.1\",\n    \"DividendYield\": \"2.14 %\",\n    \"ROCE\": \"33.1 %\",\n    \"ROE\": \"25.3 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"ACC Limited\",\n    \"Symbol\": \"ACC\",\n    \"ListingDate\": \"20-Nov-96\",\n    \"ISIN\": \"INE012A01025\",\n    \"MarketCap\": \"₹ 41,032 Cr.\",\n    \"CurrentPrice\": \"₹ 2,185\",\n    \"HighLow\": \"₹ 2,488 / 1,592\",\n    \"StockPE\": \"31.4\",\n    \"BookValue\": \"₹ 789\",\n    \"DividendYield\": \"0.43 %\",\n    \"ROCE\": \"10.0 %\",\n    \"ROE\": \"7.06 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Accelya Solutions India Limited\",\n    \"Symbol\": \"ACCELYA\",\n    \"ListingDate\": \"01-Dec-99\",\n    \"ISIN\": \"INE793A01012\",\n    \"MarketCap\": \"₹ 2,116 Cr.\",\n    \"CurrentPrice\": \"₹ 1,417\",\n    \"HighLow\": \"₹ 1,750 / 1,065\",\n    \"StockPE\": \"18.1\",\n    \"BookValue\": \"₹ 181\",\n    \"DividendYield\": \"4.58 %\",\n    \"ROCE\": \"56.1 %\",\n    \"ROE\": \"44.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Accuracy Shipping Limited\",\n    \"Symbol\": \"ACCURACY\",\n    \"ListingDate\": \"11-Dec-20\",\n    \"ISIN\": \"INE648Z01023\",\n    \"MarketCap\": \"₹ 145 Cr.\",\n    \"CurrentPrice\": \"₹ 9.65\",\n    \"HighLow\": \"₹ 22.5 / 7.05\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 7.30\",\n    \"DividendYield\": \"0.25 %\",\n    \"ROCE\": \"11.0 %\",\n    \"ROE\": \"7.59 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Action Construction Equipment Limited\",\n    \"Symbol\": \"ACE\",\n    \"ListingDate\": \"26-Sep-06\",\n    \"ISIN\": \"INE731H01025\",\n    \"MarketCap\": \"₹ 9,876 Cr.\",\n    \"CurrentPrice\": \"₹ 829\",\n    \"HighLow\": \"₹ 895 / 301\",\n    \"StockPE\": \"42.0\",\n    \"BookValue\": \"₹ 87.7\",\n    \"DividendYield\": \"0.12 %\",\n    \"ROCE\": \"26.2 %\",\n    \"ROE\": \"18.8 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Ace Integrated Solutions Limited\",\n    \"Symbol\": \"ACEINTEG\",\n    \"ListingDate\": \"04-Nov-22\",\n    \"ISIN\": \"INE543V01017\",\n    \"MarketCap\": \"₹ 41.0 Cr.\",\n    \"CurrentPrice\": \"₹ 40.2\",\n    \"HighLow\": \"₹ 82.3 / 30.6\",\n    \"StockPE\": \"87.1\",\n    \"BookValue\": \"₹ 17.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Archean Chemical Industries Limited\",\n    \"Symbol\": \"ACI\",\n    \"ListingDate\": \"21-Nov-22\",\n    \"ISIN\": \"INE128X01021\",\n    \"MarketCap\": \"₹ 7,966 Cr.\",\n    \"CurrentPrice\": \"₹ 646\",\n    \"HighLow\": \"₹ 732 / 494\",\n    \"StockPE\": \"20.2\",\n    \"BookValue\": \"₹ 127\",\n    \"DividendYield\": \"0.38 %\",\n    \"ROCE\": \"45.5 %\",\n    \"ROE\": \"44.8 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Andhra Cements Limited\",\n    \"Symbol\": \"ACL\",\n    \"ListingDate\": \"10-May-23\",\n    \"ISIN\": \"INE666E01020\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Allcargo Gati Limited\",\n    \"Symbol\": \"ACLGATI\",\n    \"ListingDate\": \"10-Oct-06\",\n    \"ISIN\": \"INE152B01027\",\n    \"MarketCap\": \"₹ 1,619 Cr.\",\n    \"CurrentPrice\": \"₹ 124\",\n    \"HighLow\": \"₹ 178 / 97.5\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 47.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"3.43 %\",\n    \"ROE\": \"-1.22 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Adani Energy Solutions Limited\",\n    \"Symbol\": \"ADANIENSOL\",\n    \"ListingDate\": \"31-Jul-15\",\n    \"ISIN\": \"INE931S01010\",\n    \"MarketCap\": \"₹ 1,15,080 Cr.\",\n    \"CurrentPrice\": \"₹ 1,032\",\n    \"HighLow\": \"₹ 2,800 / 630\",\n    \"StockPE\": \"87.5\",\n    \"BookValue\": \"₹ 107\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"10.2 %\",\n    \"ROE\": \"11.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Adani Enterprises Limited\",\n    \"Symbol\": \"ADANIENT\",\n    \"ListingDate\": \"04-Jun-97\",\n    \"ISIN\": \"INE423A01024\",\n    \"MarketCap\": \"₹ 3,23,071 Cr.\",\n    \"CurrentPrice\": \"₹ 2,834\",\n    \"HighLow\": \"₹ 3,899 / 1,017\",\n    \"StockPE\": \"124\",\n    \"BookValue\": \"₹ 322\",\n    \"DividendYield\": \"0.04 %\",\n    \"ROCE\": \"9.49 %\",\n    \"ROE\": \"9.63 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Adani Green Energy Limited\",\n    \"Symbol\": \"ADANIGREEN\",\n    \"ListingDate\": \"18-Jun-18\",\n    \"ISIN\": \"INE364U01010\",\n    \"MarketCap\": \"₹ 2,48,060 Cr.\",\n    \"CurrentPrice\": \"₹ 1,566\",\n    \"HighLow\": \"₹ 2,185 / 439\",\n    \"StockPE\": \"170\",\n    \"BookValue\": \"₹ 50.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.81 %\",\n    \"ROE\": \"22.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Adani Ports and Special Economic Zone Limited\",\n    \"Symbol\": \"ADANIPORTS\",\n    \"ListingDate\": \"27-Nov-07\",\n    \"ISIN\": \"INE742F01042\",\n    \"MarketCap\": \"₹ 2,21,457 Cr.\",\n    \"CurrentPrice\": \"₹ 1,025\",\n    \"HighLow\": \"₹ 1,102 / 395\",\n    \"StockPE\": \"28.0\",\n    \"BookValue\": \"₹ 225\",\n    \"DividendYield\": \"0.48 %\",\n    \"ROCE\": \"9.53 %\",\n    \"ROE\": \"14.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Adani Power Limited\",\n    \"Symbol\": \"ADANIPOWER\",\n    \"ListingDate\": \"20-Aug-09\",\n    \"ISIN\": \"INE814H01011\",\n    \"MarketCap\": \"₹ 2,01,332 Cr.\",\n    \"CurrentPrice\": \"₹ 522\",\n    \"HighLow\": \"₹ 589 / 132\",\n    \"StockPE\": \"9.80\",\n    \"BookValue\": \"₹ 105\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"15.8 %\",\n    \"ROE\": \"44.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"ADF Foods Limited\",\n    \"Symbol\": \"ADFFOODS\",\n    \"ListingDate\": \"15-Sep-10\",\n    \"ISIN\": \"INE982B01027\",\n    \"MarketCap\": \"₹ 2,186 Cr.\",\n    \"CurrentPrice\": \"₹ 199\",\n    \"HighLow\": \"₹ 262 / 133\",\n    \"StockPE\": \"34.0\",\n    \"BookValue\": \"₹ 40.0\",\n    \"DividendYield\": \"0.51 %\",\n    \"ROCE\": \"17.0 %\",\n    \"ROE\": \"14.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Archidply Decor Limited\",\n    \"Symbol\": \"ADL\",\n    \"ListingDate\": \"01-Oct-20\",\n    \"ISIN\": \"INE0CHO01012\",\n    \"MarketCap\": \"₹ 49.7 Cr.\",\n    \"CurrentPrice\": \"₹ 89.2\",\n    \"HighLow\": \"₹ 97.0 / 54.3\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ador Welding Limited\",\n    \"Symbol\": \"ADORWELD\",\n    \"ListingDate\": \"10-May-95\",\n    \"ISIN\": \"INE045A01017\",\n    \"MarketCap\": \"₹ 2,072 Cr.\",\n    \"CurrentPrice\": \"₹ 1,524\",\n    \"HighLow\": \"₹ 1,620 / 777\",\n    \"StockPE\": \"41.6\",\n    \"BookValue\": \"₹ 209\",\n    \"DividendYield\": \"1.15 %\",\n    \"ROCE\": \"20.0 %\",\n    \"ROE\": \"14.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Adroit Infotech Limited\",\n    \"Symbol\": \"ADROITINFO\",\n    \"ListingDate\": \"13-Aug-97\",\n    \"ISIN\": \"INE737B01033\",\n    \"MarketCap\": \"₹ 47.5 Cr.\",\n    \"CurrentPrice\": \"₹ 21.9\",\n    \"HighLow\": \"₹ 35.4 / 16.5\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 8.93\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"23.2 %\",\n    \"ROE\": \"28.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Allied Digital Services Limited\",\n    \"Symbol\": \"ADSL\",\n    \"ListingDate\": \"25-Jul-07\",\n    \"ISIN\": \"INE102I01027\",\n    \"MarketCap\": \"₹ 756 Cr.\",\n    \"CurrentPrice\": \"₹ 137\",\n    \"HighLow\": \"₹ 157 / 71.5\",\n    \"StockPE\": \"15.5\",\n    \"BookValue\": \"₹ 101\",\n    \"DividendYield\": \"0.92 %\",\n    \"ROCE\": \"12.8 %\",\n    \"ROE\": \"10.1 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Advani Hotels & Resorts (India) Limited\",\n    \"Symbol\": \"ADVANIHOTR\",\n    \"ListingDate\": \"25-Jun-07\",\n    \"ISIN\": \"INE199C01026\",\n    \"MarketCap\": \"₹ 476 Cr.\",\n    \"CurrentPrice\": \"₹ 103\",\n    \"HighLow\": \"₹ 125 / 66.6\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 5.53\",\n    \"DividendYield\": \"4.67 %\",\n    \"ROCE\": \"-13.0 %\",\n    \"ROE\": \"-19.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Advanced Enzyme Technologies Limited\",\n    \"Symbol\": \"ADVENZYMES\",\n    \"ListingDate\": \"01-Aug-16\",\n    \"ISIN\": \"INE837H01020\",\n    \"MarketCap\": \"₹ 4,212 Cr.\",\n    \"CurrentPrice\": \"₹ 377\",\n    \"HighLow\": \"₹ 391 / 225\",\n    \"StockPE\": \"33.4\",\n    \"BookValue\": \"₹ 112\",\n    \"DividendYield\": \"1.05 %\",\n    \"ROCE\": \"11.9 %\",\n    \"ROE\": \"9.23 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Aegis Logistics Limited\",\n    \"Symbol\": \"AEGISCHEM\",\n    \"ListingDate\": \"03-Apr-96\",\n    \"ISIN\": \"INE208C01025\",\n    \"MarketCap\": \"₹ 12,389 Cr.\",\n    \"CurrentPrice\": \"₹ 353\",\n    \"HighLow\": \"₹ 410 / 280\",\n    \"StockPE\": \"24.4\",\n    \"BookValue\": \"₹ 104\",\n    \"DividendYield\": \"1.63 %\",\n    \"ROCE\": \"15.9 %\",\n    \"ROE\": \"15.9 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Aeroflex Industries Limited\",\n    \"Symbol\": \"AEROFLEX\",\n    \"ListingDate\": \"31-Aug-23\",\n    \"ISIN\": \"INE024001021\",\n    \"MarketCap\": \"₹ 2,008 Cr.\",\n    \"CurrentPrice\": \"₹ 155\",\n    \"HighLow\": \"₹ 197 / 141\",\n    \"StockPE\": \"61.9\",\n    \"BookValue\": \"₹ 21.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"34.6 %\",\n    \"ROE\": \"32.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Aether Industries Limited\",\n    \"Symbol\": \"AETHER\",\n    \"ListingDate\": \"03-Jun-22\",\n    \"ISIN\": \"INE0BWX01014\",\n    \"MarketCap\": \"₹ 11,705 Cr.\",\n    \"CurrentPrice\": \"₹ 883\",\n    \"HighLow\": \"₹ 1,211 / 778\",\n    \"StockPE\": \"84.2\",\n    \"BookValue\": \"₹ 154\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"18.4 %\",\n    \"ROE\": \"15.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Affle (India) Limited\",\n    \"Symbol\": \"AFFLE\",\n    \"ListingDate\": \"08-Aug-19\",\n    \"ISIN\": \"INE00WC01027\",\n    \"MarketCap\": \"₹ 17,409 Cr.\",\n    \"CurrentPrice\": \"₹ 1,242\",\n    \"HighLow\": \"₹ 1,271 / 866\",\n    \"StockPE\": \"65.9\",\n    \"BookValue\": \"₹ 120\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"20.2 %\",\n    \"ROE\": \"18.5 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Agarwal Industrial Corporation Limited\",\n    \"Symbol\": \"AGARIND\",\n    \"ListingDate\": \"26-May-14\",\n    \"ISIN\": \"INE204E01012\",\n    \"MarketCap\": \"₹ 1,370 Cr.\",\n    \"CurrentPrice\": \"₹ 916\",\n    \"HighLow\": \"₹ 1,099 / 531\",\n    \"StockPE\": \"14.1\",\n    \"BookValue\": \"₹ 297\",\n    \"DividendYield\": \"0.26 %\",\n    \"ROCE\": \"23.6 %\",\n    \"ROE\": \"26.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"AGI Greenpac Limited\",\n    \"Symbol\": \"AGI\",\n    \"ListingDate\": \"31-May-00\",\n    \"ISIN\": \"INE415A01038\",\n    \"MarketCap\": \"₹ 5,355 Cr.\",\n    \"CurrentPrice\": \"₹ 828\",\n    \"HighLow\": \"₹ 1,089 / 296\",\n    \"StockPE\": \"79.1\",\n    \"BookValue\": \"₹ 209\",\n    \"DividendYield\": \"0.59 %\",\n    \"ROCE\": \"7.03 %\",\n    \"ROE\": \"4.51 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Agri-Tech (India) Limited\",\n    \"Symbol\": \"AGRITECH\",\n    \"ListingDate\": \"28-Jan-14\",\n    \"ISIN\": \"INE449G01018\",\n    \"MarketCap\": \"₹ 117 Cr.\",\n    \"CurrentPrice\": \"₹ 197\",\n    \"HighLow\": \"₹ 262 / 85.9\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 174\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"0.27 %\",\n    \"ROE\": \"-0.36 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Agro Phos India Limited\",\n    \"Symbol\": \"AGROPHOS\",\n    \"ListingDate\": \"08-Mar-19\",\n    \"ISIN\": \"INE740V01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"AGS Transact Technologies Limited\",\n    \"Symbol\": \"AGSTRA\",\n    \"ListingDate\": \"31-Jan-22\",\n    \"ISIN\": \"INE583L01014\",\n    \"MarketCap\": \"₹ 1,114 Cr.\",\n    \"CurrentPrice\": \"₹ 91.2\",\n    \"HighLow\": \"₹ 102 / 44.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 39.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"12.2 %\",\n    \"ROE\": \"7.60 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Abans Holdings Limited\",\n    \"Symbol\": \"AHL\",\n    \"ListingDate\": \"23-Dec-22\",\n    \"ISIN\": \"INE00ZE01026\",\n    \"MarketCap\": \"₹ 1,594 Cr.\",\n    \"CurrentPrice\": \"₹ 318\",\n    \"HighLow\": \"₹ 355 / 180\",\n    \"StockPE\": \"21.1\",\n    \"BookValue\": \"₹ 175\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.91 %\",\n    \"ROE\": \"8.90 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Ahlada Engineers Limited\",\n    \"Symbol\": \"AHLADA\",\n    \"ListingDate\": \"28-Jan-21\",\n    \"ISIN\": \"INE00PV01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Asian Hotels (East) Limited\",\n    \"Symbol\": \"AHLEAST\",\n    \"ListingDate\": \"11-Aug-10\",\n    \"ISIN\": \"INE926K01017\",\n    \"MarketCap\": \"₹ 247 Cr.\",\n    \"CurrentPrice\": \"₹ 143\",\n    \"HighLow\": \"₹ 170 / 82.1\",\n    \"StockPE\": \"16.2\",\n    \"BookValue\": \"₹ 121\",\n    \"DividendYield\": \"1.75 %\",\n    \"ROCE\": \"3.79 %\",\n    \"ROE\": \"3.73 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ahluwalia Contracts (India) Limited\",\n    \"Symbol\": \"AHLUCONT\",\n    \"ListingDate\": \"14-Dec-09\",\n    \"ISIN\": \"INE758C01029\",\n    \"MarketCap\": \"₹ 5,236 Cr.\",\n    \"CurrentPrice\": \"₹ 782\",\n    \"HighLow\": \"₹ 873 / 448\",\n    \"StockPE\": \"23.6\",\n    \"BookValue\": \"₹ 199\",\n    \"DividendYield\": \"0.05 %\",\n    \"ROCE\": \"24.7 %\",\n    \"ROE\": \"17.0 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"AIA Engineering Limited\",\n    \"Symbol\": \"AIAENG\",\n    \"ListingDate\": \"14-Dec-05\",\n    \"ISIN\": \"INE212H01026\",\n    \"MarketCap\": \"₹ 34,842 Cr.\",\n    \"CurrentPrice\": \"₹ 3,694\",\n    \"HighLow\": \"₹ 3,840 / 2,384\",\n    \"StockPE\": \"28.7\",\n    \"BookValue\": \"₹ 650\",\n    \"DividendYield\": \"0.43 %\",\n    \"ROCE\": \"25.1 %\",\n    \"ROE\": \"20.0 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Airan Limited\",\n    \"Symbol\": \"AIRAN\",\n    \"ListingDate\": \"03-May-19\",\n    \"ISIN\": \"INE645W01026\",\n    \"MarketCap\": \"₹ 341 Cr.\",\n    \"CurrentPrice\": \"₹ 27.3\",\n    \"HighLow\": \"₹ 28.2 / 13.0\",\n    \"StockPE\": \"30.6\",\n    \"BookValue\": \"₹ 9.49\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"11.4 %\",\n    \"ROE\": \"9.15 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Airo Lam limited\",\n    \"Symbol\": \"AIROLAM\",\n    \"ListingDate\": \"13-Oct-21\",\n    \"ISIN\": \"INE801L01010\",\n    \"MarketCap\": \"₹ 194 Cr.\",\n    \"CurrentPrice\": \"₹ 129\",\n    \"HighLow\": \"₹ 144 / 64.5\",\n    \"StockPE\": \"23.1\",\n    \"BookValue\": \"₹ 44.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"12.6 %\",\n    \"ROE\": \"12.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ajanta Pharma Limited\",\n    \"Symbol\": \"AJANTPHARM\",\n    \"ListingDate\": \"29-May-00\",\n    \"ISIN\": \"INE031B01049\",\n    \"MarketCap\": \"₹ 25,538 Cr.\",\n    \"CurrentPrice\": \"₹ 2,028\",\n    \"HighLow\": \"₹ 2,069 / 1,132\",\n    \"StockPE\": \"38.7\",\n    \"BookValue\": \"₹ 277\",\n    \"DividendYield\": \"0.50 %\",\n    \"ROCE\": \"22.6 %\",\n    \"ROE\": \"17.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Ajmera Realty & Infra India Limited\",\n    \"Symbol\": \"AJMERA\",\n    \"ListingDate\": \"16-Jun-09\",\n    \"ISIN\": \"INE298G01027\",\n    \"MarketCap\": \"₹ 1,575 Cr.\",\n    \"CurrentPrice\": \"₹ 444\",\n    \"HighLow\": \"₹ 475 / 244\",\n    \"StockPE\": \"22.8\",\n    \"BookValue\": \"₹ 228\",\n    \"DividendYield\": \"0.70 %\",\n    \"ROCE\": \"7.48 %\",\n    \"ROE\": \"9.64 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ajooni Biotech Limited\",\n    \"Symbol\": \"AJOONI\",\n    \"ListingDate\": \"07-May-21\",\n    \"ISIN\": \"INE820Y01021\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Akash Infra-Projects Limited\",\n    \"Symbol\": \"AKASH\",\n    \"ListingDate\": \"11-Oct-19\",\n    \"ISIN\": \"INE737W01013\",\n    \"MarketCap\": \"₹ 60.5 Cr.\",\n    \"CurrentPrice\": \"₹ 35.8\",\n    \"HighLow\": \"₹ 42.0 / 22.5\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 49.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.97 %\",\n    \"ROE\": \"1.66 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Akg Exim Limited\",\n    \"Symbol\": \"AKG\",\n    \"ListingDate\": \"16-Feb-21\",\n    \"ISIN\": \"INE00Y801016\",\n    \"MarketCap\": \"₹ 78.8 Cr.\",\n    \"CurrentPrice\": \"₹ 24.8\",\n    \"HighLow\": \"₹ 40.0 / 22.4\",\n    \"StockPE\": \"35.0\",\n    \"BookValue\": \"₹ 15.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.53 %\",\n    \"ROE\": \"6.69 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"AKI India Limited\",\n    \"Symbol\": \"AKI\",\n    \"ListingDate\": \"06-Apr-23\",\n    \"ISIN\": \"INE642Z01026\",\n    \"MarketCap\": \"₹ 190 Cr.\",\n    \"CurrentPrice\": \"₹ 28.4\",\n    \"HighLow\": \"₹ 28.9 / 10.6\",\n    \"StockPE\": \"178\",\n    \"BookValue\": \"₹ 2.24\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.14 %\",\n    \"ROE\": \"7.98 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Akshar Spintex Limited\",\n    \"Symbol\": \"AKSHAR\",\n    \"ListingDate\": \"23-May-22\",\n    \"ISIN\": \"INE256Z01025\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"AksharChem India Limited\",\n    \"Symbol\": \"AKSHARCHEM\",\n    \"ListingDate\": \"28-Mar-17\",\n    \"ISIN\": \"INE542B01011\",\n    \"MarketCap\": \"₹ 243 Cr.\",\n    \"CurrentPrice\": \"₹ 303\",\n    \"HighLow\": \"₹ 330 / 201\",\n    \"StockPE\": \"10.7\",\n    \"BookValue\": \"₹ 116\",\n    \"DividendYield\": \"0.17 %\",\n    \"ROCE\": \"26.9 %\",\n    \"ROE\": \"20.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Aksh Optifibre Limited\",\n    \"Symbol\": \"AKSHOPTFBR\",\n    \"ListingDate\": \"18-Aug-00\",\n    \"ISIN\": \"INE523B01011\",\n    \"MarketCap\": \"₹ 197 Cr.\",\n    \"CurrentPrice\": \"₹ 12.1\",\n    \"HighLow\": \"₹ 13.4 / 8.00\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 4.09\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.05 %\",\n    \"ROE\": \"8.02 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Akzo Nobel India Limited\",\n    \"Symbol\": \"AKZOINDIA\",\n    \"ListingDate\": \"28-Jun-01\",\n    \"ISIN\": \"INE133A01011\",\n    \"MarketCap\": \"₹ 11,753 Cr.\",\n    \"CurrentPrice\": \"₹ 2,581\",\n    \"HighLow\": \"₹ 2,965 / 2,105\",\n    \"StockPE\": \"29.6\",\n    \"BookValue\": \"₹ 294\",\n    \"DividendYield\": \"2.51 %\",\n    \"ROCE\": \"34.7 %\",\n    \"ROE\": \"26.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Alankit Limited\",\n    \"Symbol\": \"ALANKIT\",\n    \"ListingDate\": \"30-Jun-15\",\n    \"ISIN\": \"INE914E01040\",\n    \"MarketCap\": \"₹ 430 Cr.\",\n    \"CurrentPrice\": \"₹ 19.2\",\n    \"HighLow\": \"₹ 19.8 / 7.00\",\n    \"StockPE\": \"28.8\",\n    \"BookValue\": \"₹ 7.52\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.80 %\",\n    \"ROE\": \"13.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Albert David Limited\",\n    \"Symbol\": \"ALBERTDAVD\",\n    \"ListingDate\": \"14-Jun-16\",\n    \"ISIN\": \"INE155C01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Alembic Limited\",\n    \"Symbol\": \"ALEMBICLTD\",\n    \"ListingDate\": \"22-Sep-99\",\n    \"ISIN\": \"INE426A01027\",\n    \"MarketCap\": \"₹ 2,331 Cr.\",\n    \"CurrentPrice\": \"₹ 90.8\",\n    \"HighLow\": \"₹ 98.1 / 55.2\",\n    \"StockPE\": \"9.74\",\n    \"BookValue\": \"₹ 82.5\",\n    \"DividendYield\": \"2.40 %\",\n    \"ROCE\": \"4.18 %\",\n    \"ROE\": \"8.67 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Alicon Castalloy Limited\",\n    \"Symbol\": \"ALICON\",\n    \"ListingDate\": \"29-Sep-06\",\n    \"ISIN\": \"INE062D01024\",\n    \"MarketCap\": \"₹ 1,396 Cr.\",\n    \"CurrentPrice\": \"₹ 867\",\n    \"HighLow\": \"₹ 1,004 / 645\",\n    \"StockPE\": \"28.4\",\n    \"BookValue\": \"₹ 316\",\n    \"DividendYield\": \"0.72 %\",\n    \"ROCE\": \"12.5 %\",\n    \"ROE\": \"11.0 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Alkali Metals Limited\",\n    \"Symbol\": \"ALKALI\",\n    \"ListingDate\": \"06-Nov-08\",\n    \"ISIN\": \"INE773I01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Alkem Laboratories Limited\",\n    \"Symbol\": \"ALKEM\",\n    \"ListingDate\": \"23-Dec-15\",\n    \"ISIN\": \"INE540L01014\",\n    \"MarketCap\": \"₹ 61,589 Cr.\",\n    \"CurrentPrice\": \"₹ 5,151\",\n    \"HighLow\": \"₹ 5,160 / 2,835\",\n    \"StockPE\": \"41.0\",\n    \"BookValue\": \"₹ 823\",\n    \"DividendYield\": \"0.49 %\",\n    \"ROCE\": \"13.7 %\",\n    \"ROE\": \"12.1 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Alkyl Amines Chemicals Limited\",\n    \"Symbol\": \"ALKYLAMINE\",\n    \"ListingDate\": \"26-Nov-07\",\n    \"ISIN\": \"INE150B01039\",\n    \"MarketCap\": \"₹ 13,053 Cr.\",\n    \"CurrentPrice\": \"₹ 2,553\",\n    \"HighLow\": \"₹ 2,798 / 2,119\",\n    \"StockPE\": \"68.8\",\n    \"BookValue\": \"₹ 105\",\n    \"DividendYield\": \"0.41 %\",\n    \"ROCE\": \"41.3 %\",\n    \"ROE\": \"41.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Allcargo Logistics Limited\",\n    \"Symbol\": \"ALLCARGO\",\n    \"ListingDate\": \"23-Jun-06\",\n    \"ISIN\": \"INE418H01029\",\n    \"MarketCap\": \"₹ 7,738 Cr.\",\n    \"CurrentPrice\": \"₹ 315\",\n    \"HighLow\": \"₹ 345 / 246\",\n    \"StockPE\": \"27.7\",\n    \"BookValue\": \"₹ 103\",\n    \"DividendYield\": \"0.26 %\",\n    \"ROCE\": \"18.5 %\",\n    \"ROE\": \"20.1 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Allsec Technologies Limited\",\n    \"Symbol\": \"ALLSEC\",\n    \"ListingDate\": \"09-May-05\",\n    \"ISIN\": \"INE835G01018\",\n    \"MarketCap\": \"₹ 991 Cr.\",\n    \"CurrentPrice\": \"₹ 650\",\n    \"HighLow\": \"₹ 701 / 420\",\n    \"StockPE\": \"19.3\",\n    \"BookValue\": \"₹ 170\",\n    \"DividendYield\": \"4.60 %\",\n    \"ROCE\": \"24.9 %\",\n    \"ROE\": \"21.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Almondz Global Securities Limited\",\n    \"Symbol\": \"ALMONDZ\",\n    \"ListingDate\": \"16-Jun-08\",\n    \"ISIN\": \"INE326B01027\",\n    \"MarketCap\": \"₹ 239 Cr.\",\n    \"CurrentPrice\": \"₹ 89.2\",\n    \"HighLow\": \"₹ 102 / 59.0\",\n    \"StockPE\": \"14.6\",\n    \"BookValue\": \"₹ 82.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"10.3 %\",\n    \"ROE\": \"8.18 %\",\n    \"FaceValue\": \"₹ 6.00\"\n  },\n  {\n    \"Name\": \"Alok Industries Limited\",\n    \"Symbol\": \"ALOKINDS\",\n    \"ListingDate\": \"19-Feb-20\",\n    \"ISIN\": \"INE270A01029\",\n    \"MarketCap\": \"₹ 10,526 Cr.\",\n    \"CurrentPrice\": \"₹ 21.2\",\n    \"HighLow\": \"₹ 24.9 / 10.1\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -38.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-6.86 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Alpa Laboratories Limited\",\n    \"Symbol\": \"ALPA\",\n    \"ListingDate\": \"06-Aug-07\",\n    \"ISIN\": \"INE385I01010\",\n    \"MarketCap\": \"₹ 220 Cr.\",\n    \"CurrentPrice\": \"₹ 105\",\n    \"HighLow\": \"₹ 111 / 50.1\",\n    \"StockPE\": \"11.9\",\n    \"BookValue\": \"₹ 68.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.69 %\",\n    \"ROE\": \"7.76 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Alphageo (India) Limited\",\n    \"Symbol\": \"ALPHAGEO\",\n    \"ListingDate\": \"11-May-07\",\n    \"ISIN\": \"INE137C01018\",\n    \"MarketCap\": \"₹ 181 Cr.\",\n    \"CurrentPrice\": \"₹ 285\",\n    \"HighLow\": \"₹ 324 / 198\",\n    \"StockPE\": \"73.1\",\n    \"BookValue\": \"₹ 426\",\n    \"DividendYield\": \"2.80 %\",\n    \"ROCE\": \"0.12 %\",\n    \"ROE\": \"-0.08 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Alps Industries Limited\",\n    \"Symbol\": \"ALPSINDUS\",\n    \"ListingDate\": \"24-Apr-96\",\n    \"ISIN\": \"INE093B01015\",\n    \"MarketCap\": \"₹ 8.36 Cr.\",\n    \"CurrentPrice\": \"₹ 2.14\",\n    \"HighLow\": \"₹ 2.85 / 1.17\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -205\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Amber Enterprises India Limited\",\n    \"Symbol\": \"AMBER\",\n    \"ListingDate\": \"30-Jan-18\",\n    \"ISIN\": \"INE371P01015\",\n    \"MarketCap\": \"₹ 10,518 Cr.\",\n    \"CurrentPrice\": \"₹ 3,122\",\n    \"HighLow\": \"₹ 3,480 / 1,762\",\n    \"StockPE\": \"66.5\",\n    \"BookValue\": \"₹ 581\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"10.7 %\",\n    \"ROE\": \"8.75 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ambica Agarbathies & Aroma industries Limited\",\n    \"Symbol\": \"AMBICAAGAR\",\n    \"ListingDate\": \"29-Jun-04\",\n    \"ISIN\": \"INE792B01012\",\n    \"MarketCap\": \"₹ 52.2 Cr.\",\n    \"CurrentPrice\": \"₹ 30.4\",\n    \"HighLow\": \"₹ 43.1 / 19.1\",\n    \"StockPE\": \"41.1\",\n    \"BookValue\": \"₹ 21.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ambika Cotton Mills Limited\",\n    \"Symbol\": \"AMBIKCO\",\n    \"ListingDate\": \"29-Jan-08\",\n    \"ISIN\": \"INE540G01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Ambuja Cements Limited\",\n    \"Symbol\": \"AMBUJACEM\",\n    \"ListingDate\": \"18-Feb-98\",\n    \"ISIN\": \"INE079A01024\",\n    \"MarketCap\": \"₹ 1,02,698 Cr.\",\n    \"CurrentPrice\": \"₹ 517\",\n    \"HighLow\": \"₹ 537 / 315\",\n    \"StockPE\": \"34.6\",\n    \"BookValue\": \"₹ 166\",\n    \"DividendYield\": \"0.48 %\",\n    \"ROCE\": \"12.6 %\",\n    \"ROE\": \"10.8 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"AMD Industries Limited\",\n    \"Symbol\": \"AMDIND\",\n    \"ListingDate\": \"19-Mar-07\",\n    \"ISIN\": \"INE005I01014\",\n    \"MarketCap\": \"₹ 151 Cr.\",\n    \"CurrentPrice\": \"₹ 79.0\",\n    \"HighLow\": \"₹ 98.0 / 43.2\",\n    \"StockPE\": \"26.8\",\n    \"BookValue\": \"₹ 54.5\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"10.1 %\",\n    \"ROE\": \"5.52 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ami Organics Limited\",\n    \"Symbol\": \"AMIORG\",\n    \"ListingDate\": \"14-Sep-21\",\n    \"ISIN\": \"INE00FF01017\",\n    \"MarketCap\": \"₹ 4,314 Cr.\",\n    \"CurrentPrice\": \"₹ 1,170\",\n    \"HighLow\": \"₹ 1,389 / 845\",\n    \"StockPE\": \"56.2\",\n    \"BookValue\": \"₹ 171\",\n    \"DividendYield\": \"0.26 %\",\n    \"ROCE\": \"20.6 %\",\n    \"ROE\": \"15.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Amj Land Holdings Limited\",\n    \"Symbol\": \"AMJLAND\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE606A01024\",\n    \"MarketCap\": \"₹ 159 Cr.\",\n    \"CurrentPrice\": \"₹ 38.8\",\n    \"HighLow\": \"₹ 43.2 / 18.8\",\n    \"StockPE\": \"20.7\",\n    \"BookValue\": \"₹ 40.0\",\n    \"DividendYield\": \"0.51 %\",\n    \"ROCE\": \"6.86 %\",\n    \"ROE\": \"4.22 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Amines & Plasticizers Limited\",\n    \"Symbol\": \"AMNPLST\",\n    \"ListingDate\": \"10-Nov-23\",\n    \"ISIN\": \"INE275D01022\",\n    \"MarketCap\": \"₹ 909 Cr.\",\n    \"CurrentPrice\": \"₹ 165\",\n    \"HighLow\": \"₹ 180 / 68.0\",\n    \"StockPE\": \"29.8\",\n    \"BookValue\": \"₹ 35.8\",\n    \"DividendYield\": \"0.30 %\",\n    \"ROCE\": \"16.1 %\",\n    \"ROE\": \"13.3 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Amrutanjan Health Care Limited\",\n    \"Symbol\": \"AMRUTANJAN\",\n    \"ListingDate\": \"02-Jan-15\",\n    \"ISIN\": \"INE098F01031\",\n    \"MarketCap\": \"₹ 1,762 Cr.\",\n    \"CurrentPrice\": \"₹ 603\",\n    \"HighLow\": \"₹ 775 / 553\",\n    \"StockPE\": \"86.5\",\n    \"BookValue\": \"₹ 37.2\",\n    \"DividendYield\": \"0.77 %\",\n    \"ROCE\": \"31.4 %\",\n    \"ROE\": \"20.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Anand Rathi Wealth Limited\",\n    \"Symbol\": \"ANANDRATHI\",\n    \"ListingDate\": \"14-Dec-21\",\n    \"ISIN\": \"INE463V01026\",\n    \"MarketCap\": \"₹ 10,641 Cr.\",\n    \"CurrentPrice\": \"₹ 2,549\",\n    \"HighLow\": \"₹ 2,717 / 689\",\n    \"StockPE\": \"54.2\",\n    \"BookValue\": \"₹ 132\",\n    \"DividendYield\": \"0.48 %\",\n    \"ROCE\": \"50.9 %\",\n    \"ROE\": \"41.3 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Anant Raj Limited\",\n    \"Symbol\": \"ANANTRAJ\",\n    \"ListingDate\": \"27-Sep-06\",\n    \"ISIN\": \"INE242C01024\",\n    \"MarketCap\": \"₹ 9,553 Cr.\",\n    \"CurrentPrice\": \"₹ 295\",\n    \"HighLow\": \"₹ 311 / 90.6\",\n    \"StockPE\": \"46.9\",\n    \"BookValue\": \"₹ 90.1\",\n    \"DividendYield\": \"0.17 %\",\n    \"ROCE\": \"5.77 %\",\n    \"ROE\": \"5.45 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"ANDHRA PAPER LIMITED\",\n    \"Symbol\": \"ANDHRAPAP\",\n    \"ListingDate\": \"13-May-04\",\n    \"ISIN\": \"INE435A01028\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"The Andhra Sugars Limited\",\n    \"Symbol\": \"ANDHRSUGAR\",\n    \"ListingDate\": \"01-Nov-95\",\n    \"ISIN\": \"INE715B01021\",\n    \"MarketCap\": \"₹ 1,506 Cr.\",\n    \"CurrentPrice\": \"₹ 111\",\n    \"HighLow\": \"₹ 139 / 100.0\",\n    \"StockPE\": \"13.1\",\n    \"BookValue\": \"₹ 114\",\n    \"DividendYield\": \"1.83 %\",\n    \"ROCE\": \"16.0 %\",\n    \"ROE\": \"12.6 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Angel One Limited\",\n    \"Symbol\": \"ANGELONE\",\n    \"ListingDate\": \"05-Oct-20\",\n    \"ISIN\": \"INE732I01013\",\n    \"MarketCap\": \"₹ 28,812 Cr.\",\n    \"CurrentPrice\": \"₹ 3,432\",\n    \"HighLow\": \"₹ 3,459 / 999\",\n    \"StockPE\": \"28.2\",\n    \"BookValue\": \"₹ 311\",\n    \"DividendYield\": \"1.16 %\",\n    \"ROCE\": \"44.0 %\",\n    \"ROE\": \"47.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Anik Industries Limited\",\n    \"Symbol\": \"ANIKINDS\",\n    \"ListingDate\": \"21-May-08\",\n    \"ISIN\": \"INE087B01017\",\n    \"MarketCap\": \"₹ 133 Cr.\",\n    \"CurrentPrice\": \"₹ 48.0\",\n    \"HighLow\": \"₹ 65.3 / 26.6\",\n    \"StockPE\": \"55.5\",\n    \"BookValue\": \"₹ 139\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.07 %\",\n    \"ROE\": \"1.35 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ankit Metal & Power Limited\",\n    \"Symbol\": \"ANKITMETAL\",\n    \"ListingDate\": \"14-Mar-13\",\n    \"ISIN\": \"INE106I01010\",\n    \"MarketCap\": \"₹ 71.4 Cr.\",\n    \"CurrentPrice\": \"₹ 5.06\",\n    \"HighLow\": \"₹ 6.20 / 2.30\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 25.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Anmol India Limited\",\n    \"Symbol\": \"ANMOL\",\n    \"ListingDate\": \"04-Jun-21\",\n    \"ISIN\": \"INE02AR01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Antarctica Limited\",\n    \"Symbol\": \"ANTGRAPHIC\",\n    \"ListingDate\": \"31-Dec-97\",\n    \"ISIN\": \"INE414B01021\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"The Anup Engineering Limited\",\n    \"Symbol\": \"ANUP\",\n    \"ListingDate\": \"01-Mar-19\",\n    \"ISIN\": \"INE294Z01018\",\n    \"MarketCap\": \"₹ 2,695 Cr.\",\n    \"CurrentPrice\": \"₹ 2,719\",\n    \"HighLow\": \"₹ 2,951 / 847\",\n    \"StockPE\": \"36.6\",\n    \"BookValue\": \"₹ 468\",\n    \"DividendYield\": \"0.54 %\",\n    \"ROCE\": \"16.8 %\",\n    \"ROE\": \"12.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Anupam Rasayan India Limited\",\n    \"Symbol\": \"ANURAS\",\n    \"ListingDate\": \"24-Mar-21\",\n    \"ISIN\": \"INE930P01018\",\n    \"MarketCap\": \"₹ 11,095 Cr.\",\n    \"CurrentPrice\": \"₹ 1,031\",\n    \"HighLow\": \"₹ 1,250 / 570\",\n    \"StockPE\": \"62.0\",\n    \"BookValue\": \"₹ 227\",\n    \"DividendYield\": \"0.24 %\",\n    \"ROCE\": \"12.6 %\",\n    \"ROE\": \"8.82 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Apar Industries Limited\",\n    \"Symbol\": \"APARINDS\",\n    \"ListingDate\": \"12-Jul-04\",\n    \"ISIN\": \"INE372A01015\",\n    \"MarketCap\": \"₹ 24,101 Cr.\",\n    \"CurrentPrice\": \"₹ 6,000\",\n    \"HighLow\": \"₹ 6,073 / 1,358\",\n    \"StockPE\": \"30.8\",\n    \"BookValue\": \"₹ 644\",\n    \"DividendYield\": \"0.66 %\",\n    \"ROCE\": \"51.1 %\",\n    \"ROE\": \"32.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Anjani Portland Cement Limited\",\n    \"Symbol\": \"APCL\",\n    \"ListingDate\": \"10-Apr-17\",\n    \"ISIN\": \"INE071F01012\",\n    \"MarketCap\": \"₹ 618 Cr.\",\n    \"CurrentPrice\": \"₹ 210\",\n    \"HighLow\": \"₹ 232 / 140\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 104\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-3.74 %\",\n    \"ROE\": \"-17.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Apcotex Industries Limited\",\n    \"Symbol\": \"APCOTEXIND\",\n    \"ListingDate\": \"06-Sep-95\",\n    \"ISIN\": \"INE116A01032\",\n    \"MarketCap\": \"₹ 2,659 Cr.\",\n    \"CurrentPrice\": \"₹ 513\",\n    \"HighLow\": \"₹ 589 / 398\",\n    \"StockPE\": \"70.9\",\n    \"BookValue\": \"₹ 38.2\",\n    \"DividendYield\": \"1.07 %\",\n    \"ROCE\": \"19.8 %\",\n    \"ROE\": \"24.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Apex Frozen Foods Limited\",\n    \"Symbol\": \"APEX\",\n    \"ListingDate\": \"04-Sep-17\",\n    \"ISIN\": \"INE346W01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"APL Apollo Tubes Limited\",\n    \"Symbol\": \"APLAPOLLO\",\n    \"ListingDate\": \"14-Dec-11\",\n    \"ISIN\": \"INE702C01027\",\n    \"MarketCap\": \"₹ 42,586 Cr.\",\n    \"CurrentPrice\": \"₹ 1,534\",\n    \"HighLow\": \"₹ 1,806 / 1,047\",\n    \"StockPE\": \"55.5\",\n    \"BookValue\": \"₹ 118\",\n    \"DividendYield\": \"0.32 %\",\n    \"ROCE\": \"26.9 %\",\n    \"ROE\": \"23.5 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Alembic Pharmaceuticals Limited\",\n    \"Symbol\": \"APLLTD\",\n    \"ListingDate\": \"20-Sep-11\",\n    \"ISIN\": \"INE901L01018\",\n    \"MarketCap\": \"₹ 14,978 Cr.\",\n    \"CurrentPrice\": \"₹ 762\",\n    \"HighLow\": \"₹ 839 / 462\",\n    \"StockPE\": \"28.2\",\n    \"BookValue\": \"₹ 227\",\n    \"DividendYield\": \"1.04 %\",\n    \"ROCE\": \"7.40 %\",\n    \"ROE\": \"7.20 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Apollo Micro Systems Limited\",\n    \"Symbol\": \"APOLLO\",\n    \"ListingDate\": \"22-Jan-18\",\n    \"ISIN\": \"INE713T01028\",\n    \"MarketCap\": \"₹ 2,997 Cr.\",\n    \"CurrentPrice\": \"₹ 114\",\n    \"HighLow\": \"₹ 162 / 24.6\",\n    \"StockPE\": \"124\",\n    \"BookValue\": \"₹ 18.3\",\n    \"DividendYield\": \"0.02 %\",\n    \"ROCE\": \"11.9 %\",\n    \"ROE\": \"6.34 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Apollo Hospitals Enterprise Limited\",\n    \"Symbol\": \"APOLLOHOSP\",\n    \"ListingDate\": \"10-Jan-96\",\n    \"ISIN\": \"INE437A01024\",\n    \"MarketCap\": \"₹ 81,871 Cr.\",\n    \"CurrentPrice\": \"₹ 5,694\",\n    \"HighLow\": \"₹ 5,770 / 4,078\",\n    \"StockPE\": \"118\",\n    \"BookValue\": \"₹ 453\",\n    \"DividendYield\": \"0.26 %\",\n    \"ROCE\": \"14.5 %\",\n    \"ROE\": \"13.7 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Apollo Pipes Limited\",\n    \"Symbol\": \"APOLLOPIPE\",\n    \"ListingDate\": \"11-Nov-19\",\n    \"ISIN\": \"INE126J01016\",\n    \"MarketCap\": \"₹ 2,693 Cr.\",\n    \"CurrentPrice\": \"₹ 685\",\n    \"HighLow\": \"₹ 790 / 481\",\n    \"StockPE\": \"241\",\n    \"BookValue\": \"₹ 24.6\",\n    \"DividendYield\": \"0.09 %\",\n    \"ROCE\": \"30.6 %\",\n    \"ROE\": \"24.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Apollo Tyres Limited\",\n    \"Symbol\": \"APOLLOTYRE\",\n    \"ListingDate\": \"31-May-95\",\n    \"ISIN\": \"INE438A01022\",\n    \"MarketCap\": \"₹ 28,392 Cr.\",\n    \"CurrentPrice\": \"₹ 447\",\n    \"HighLow\": \"₹ 485 / 303\",\n    \"StockPE\": \"17.8\",\n    \"BookValue\": \"₹ 204\",\n    \"DividendYield\": \"0.91 %\",\n    \"ROCE\": \"10.2 %\",\n    \"ROE\": \"8.77 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Apollo Sindoori Hotels Limited\",\n    \"Symbol\": \"APOLSINHOT\",\n    \"ListingDate\": \"28-Jan-15\",\n    \"ISIN\": \"INE451F01024\",\n    \"MarketCap\": \"₹ 400 Cr.\",\n    \"CurrentPrice\": \"₹ 1,539\",\n    \"HighLow\": \"₹ 1,900 / 1,020\",\n    \"StockPE\": \"47.9\",\n    \"BookValue\": \"₹ 491\",\n    \"DividendYield\": \"0.10 %\",\n    \"ROCE\": \"11.8 %\",\n    \"ROE\": \"9.21 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Aptech Limited\",\n    \"Symbol\": \"APTECHT\",\n    \"ListingDate\": \"27-Sep-02\",\n    \"ISIN\": \"INE266F01018\",\n    \"MarketCap\": \"₹ 1,505 Cr.\",\n    \"CurrentPrice\": \"₹ 260\",\n    \"HighLow\": \"₹ 423 / 221\",\n    \"StockPE\": \"20.6\",\n    \"BookValue\": \"₹ 43.4\",\n    \"DividendYield\": \"1.64 %\",\n    \"ROCE\": \"35.1 %\",\n    \"ROE\": \"29.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Aptus Value Housing Finance India Limited\",\n    \"Symbol\": \"APTUS\",\n    \"ListingDate\": \"24-Aug-21\",\n    \"ISIN\": \"INE852O01025\",\n    \"MarketCap\": \"₹ 15,886 Cr.\",\n    \"CurrentPrice\": \"₹ 318\",\n    \"HighLow\": \"₹ 343 / 234\",\n    \"StockPE\": \"28.8\",\n    \"BookValue\": \"₹ 71.0\",\n    \"DividendYield\": \"1.26 %\",\n    \"ROCE\": \"14.6 %\",\n    \"ROE\": \"16.1 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Archidply Industries Limited\",\n    \"Symbol\": \"ARCHIDPLY\",\n    \"ListingDate\": \"04-Jul-08\",\n    \"ISIN\": \"INE877I01016\",\n    \"MarketCap\": \"₹ 194 Cr.\",\n    \"CurrentPrice\": \"₹ 97.5\",\n    \"HighLow\": \"₹ 99.8 / 49.7\",\n    \"StockPE\": \"19.2\",\n    \"BookValue\": \"₹ 54.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"13.4 %\",\n    \"ROE\": \"12.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Archies Limited\",\n    \"Symbol\": \"ARCHIES\",\n    \"ListingDate\": \"02-Sep-98\",\n    \"ISIN\": \"INE731A01020\",\n    \"MarketCap\": \"₹ 97.2 Cr.\",\n    \"CurrentPrice\": \"₹ 28.8\",\n    \"HighLow\": \"₹ 31.7 / 15.6\",\n    \"StockPE\": \"11.8\",\n    \"BookValue\": \"₹ 23.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"16.1 %\",\n    \"ROE\": \"11.1 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Amara Raja Energy & Mobility Limited\",\n    \"Symbol\": \"ARE&M\",\n    \"ListingDate\": \"05-Sep-03\",\n    \"ISIN\": \"INE885A01032\",\n    \"MarketCap\": \"₹ 13,918 Cr.\",\n    \"CurrentPrice\": \"₹ 815\",\n    \"HighLow\": \"₹ 824 / 546\",\n    \"StockPE\": \"17.1\",\n    \"BookValue\": \"₹ 331\",\n    \"DividendYield\": \"0.75 %\",\n    \"ROCE\": \"20.2 %\",\n    \"ROE\": \"14.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Rajdarshan Industries Limited\",\n    \"Symbol\": \"ARENTERP\",\n    \"ListingDate\": \"18-Oct-95\",\n    \"ISIN\": \"INE610C01014\",\n    \"MarketCap\": \"₹ 13.1 Cr.\",\n    \"CurrentPrice\": \"₹ 42.2\",\n    \"HighLow\": \"₹ 64.4 / 26.4\",\n    \"StockPE\": \"32.8\",\n    \"BookValue\": \"₹ 71.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.52 %\",\n    \"ROE\": \"1.42 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Aries Agro Limited\",\n    \"Symbol\": \"ARIES\",\n    \"ListingDate\": \"11-Jan-08\",\n    \"ISIN\": \"INE298I01015\",\n    \"MarketCap\": \"₹ 270 Cr.\",\n    \"CurrentPrice\": \"₹ 208\",\n    \"HighLow\": \"₹ 228 / 144\",\n    \"StockPE\": \"21.7\",\n    \"BookValue\": \"₹ 200\",\n    \"DividendYield\": \"0.48 %\",\n    \"ROCE\": \"14.2 %\",\n    \"ROE\": \"6.83 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Arihant Capital Markets Limited\",\n    \"Symbol\": \"ARIHANTCAP\",\n    \"ListingDate\": \"15-Jun-21\",\n    \"ISIN\": \"INE420B01036\",\n    \"MarketCap\": \"₹ 725 Cr.\",\n    \"CurrentPrice\": \"₹ 69.6\",\n    \"HighLow\": \"₹ 81.5 / 33.0\",\n    \"StockPE\": \"20.5\",\n    \"BookValue\": \"₹ 26.8\",\n    \"DividendYield\": \"0.58 %\",\n    \"ROCE\": \"15.9 %\",\n    \"ROE\": \"11.9 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Arihant Superstructures Limited\",\n    \"Symbol\": \"ARIHANTSUP\",\n    \"ListingDate\": \"28-Mar-17\",\n    \"ISIN\": \"INE643K01018\",\n    \"MarketCap\": \"₹ 1,118 Cr.\",\n    \"CurrentPrice\": \"₹ 272\",\n    \"HighLow\": \"₹ 290 / 158\",\n    \"StockPE\": \"21.6\",\n    \"BookValue\": \"₹ 56.8\",\n    \"DividendYield\": \"0.19 %\",\n    \"ROCE\": \"14.4 %\",\n    \"ROE\": \"22.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Arman Financial Services Limited\",\n    \"Symbol\": \"ARMANFIN\",\n    \"ListingDate\": \"14-Jun-16\",\n    \"ISIN\": \"INE109C01017\",\n    \"MarketCap\": \"₹ 2,362 Cr.\",\n    \"CurrentPrice\": \"₹ 2,420\",\n    \"HighLow\": \"₹ 2,680 / 1,189\",\n    \"StockPE\": \"17.0\",\n    \"BookValue\": \"₹ 539\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"18.7 %\",\n    \"ROE\": \"32.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Aro Granite Industries Limited\",\n    \"Symbol\": \"AROGRANITE\",\n    \"ListingDate\": \"24-Apr-07\",\n    \"ISIN\": \"INE210C01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Arrow Greentech Limited\",\n    \"Symbol\": \"ARROWGREEN\",\n    \"ListingDate\": \"21-May-15\",\n    \"ISIN\": \"INE570D01018\",\n    \"MarketCap\": \"₹ 661 Cr.\",\n    \"CurrentPrice\": \"₹ 438\",\n    \"HighLow\": \"₹ 517 / 161\",\n    \"StockPE\": \"21.5\",\n    \"BookValue\": \"₹ 73.6\",\n    \"DividendYield\": \"0.22 %\",\n    \"ROCE\": \"20.9 %\",\n    \"ROE\": \"14.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Arshiya Limited\",\n    \"Symbol\": \"ARSHIYA\",\n    \"ListingDate\": \"14-Dec-09\",\n    \"ISIN\": \"INE968D01022\",\n    \"MarketCap\": \"₹ 224 Cr.\",\n    \"CurrentPrice\": \"₹ 8.52\",\n    \"HighLow\": \"₹ 9.25 / 3.45\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 0.10\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-2.49 %\",\n    \"ROE\": \"-104 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Artemis Medicare Services Limited\",\n    \"Symbol\": \"ARTEMISMED\",\n    \"ListingDate\": \"23-Jan-20\",\n    \"ISIN\": \"INE025R01021\",\n    \"MarketCap\": \"₹ 2,506 Cr.\",\n    \"CurrentPrice\": \"₹ 184\",\n    \"HighLow\": \"₹ 187 / 60.0\",\n    \"StockPE\": \"56.8\",\n    \"BookValue\": \"₹ 31.0\",\n    \"DividendYield\": \"0.26 %\",\n    \"ROCE\": \"11.0 %\",\n    \"ROE\": \"9.75 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Art Nirman Limited\",\n    \"Symbol\": \"ARTNIRMAN\",\n    \"ListingDate\": \"18-Oct-21\",\n    \"ISIN\": \"INE738V01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Arvee Laboratories (India) Limited\",\n    \"Symbol\": \"ARVEE\",\n    \"ListingDate\": \"22-Mar-21\",\n    \"ISIN\": \"INE006Z01016\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Arvind Limited\",\n    \"Symbol\": \"ARVIND\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE034A01011\",\n    \"MarketCap\": \"₹ 6,721 Cr.\",\n    \"CurrentPrice\": \"₹ 257\",\n    \"HighLow\": \"₹ 270 / 77.7\",\n    \"StockPE\": \"21.8\",\n    \"BookValue\": \"₹ 129\",\n    \"DividendYield\": \"1.46 %\",\n    \"ROCE\": \"12.6 %\",\n    \"ROE\": \"11.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Arvind Fashions Limited\",\n    \"Symbol\": \"ARVINDFASN\",\n    \"ListingDate\": \"08-Mar-19\",\n    \"ISIN\": \"INE955V01021\",\n    \"MarketCap\": \"₹ 5,523 Cr.\",\n    \"CurrentPrice\": \"₹ 415\",\n    \"HighLow\": \"₹ 448 / 261\",\n    \"StockPE\": \"151\",\n    \"BookValue\": \"₹ 68.1\",\n    \"DividendYield\": \"0.24 %\",\n    \"ROCE\": \"13.7 %\",\n    \"ROE\": \"4.52 %\",\n    \"FaceValue\": \"₹ 4.00\"\n  },\n  {\n    \"Name\": \"Arvind SmartSpaces Limited\",\n    \"Symbol\": \"ARVSMART\",\n    \"ListingDate\": \"26-Aug-15\",\n    \"ISIN\": \"INE034S01021\",\n    \"MarketCap\": \"₹ 1,923 Cr.\",\n    \"CurrentPrice\": \"₹ 424\",\n    \"HighLow\": \"₹ 445 / 224\",\n    \"StockPE\": \"63.6\",\n    \"BookValue\": \"₹ 103\",\n    \"DividendYield\": \"0.38 %\",\n    \"ROCE\": \"9.21 %\",\n    \"ROE\": \"5.58 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Asahi India Glass Limited\",\n    \"Symbol\": \"ASAHIINDIA\",\n    \"ListingDate\": \"18-Mar-98\",\n    \"ISIN\": \"INE439A01020\",\n    \"MarketCap\": \"₹ 13,808 Cr.\",\n    \"CurrentPrice\": \"₹ 568\",\n    \"HighLow\": \"₹ 651 / 420\",\n    \"StockPE\": \"40.6\",\n    \"BookValue\": \"₹ 91.2\",\n    \"DividendYield\": \"0.35 %\",\n    \"ROCE\": \"20.5 %\",\n    \"ROE\": \"18.6 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Asahi Songwon Colors Limited\",\n    \"Symbol\": \"ASAHISONG\",\n    \"ListingDate\": \"29-Aug-11\",\n    \"ISIN\": \"INE228I01012\",\n    \"MarketCap\": \"₹ 363 Cr.\",\n    \"CurrentPrice\": \"₹ 308\",\n    \"HighLow\": \"₹ 316 / 171\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 202\",\n    \"DividendYield\": \"0.16 %\",\n    \"ROCE\": \"-0.92 %\",\n    \"ROE\": \"-5.06 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Automotive Stampings and Assemblies Limited\",\n    \"Symbol\": \"ASAL\",\n    \"ListingDate\": \"12-Mar-02\",\n    \"ISIN\": \"INE900C01027\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Associated Alcohols & Breweries Ltd.\",\n    \"Symbol\": \"ASALCBR\",\n    \"ListingDate\": \"12-Feb-20\",\n    \"ISIN\": \"INE073G01016\",\n    \"MarketCap\": \"₹ 890 Cr.\",\n    \"CurrentPrice\": \"₹ 492\",\n    \"HighLow\": \"₹ 516 / 311\",\n    \"StockPE\": \"108\",\n    \"BookValue\": \"₹ 37.4\",\n    \"DividendYield\": \"0.21 %\",\n    \"ROCE\": \"17.4 %\",\n    \"ROE\": \"17.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ashapura Minechem Limited\",\n    \"Symbol\": \"ASHAPURMIN\",\n    \"ListingDate\": \"20-Sep-95\",\n    \"ISIN\": \"INE348A01023\",\n    \"MarketCap\": \"₹ 3,807 Cr.\",\n    \"CurrentPrice\": \"₹ 416\",\n    \"HighLow\": \"₹ 483 / 91.0\",\n    \"StockPE\": \"17.2\",\n    \"BookValue\": \"₹ 87.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"16.3 %\",\n    \"ROE\": \"19.0 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Ashima Limited\",\n    \"Symbol\": \"ASHIMASYN\",\n    \"ListingDate\": \"27-Jul-95\",\n    \"ISIN\": \"INE440A01010\",\n    \"MarketCap\": \"₹ 332 Cr.\",\n    \"CurrentPrice\": \"₹ 17.3\",\n    \"HighLow\": \"₹ 19.4 / 12.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 11.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-6.58 %\",\n    \"ROE\": \"-8.25 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ashoka Buildcon Limited\",\n    \"Symbol\": \"ASHOKA\",\n    \"ListingDate\": \"14-Oct-10\",\n    \"ISIN\": \"INE442H01029\",\n    \"MarketCap\": \"₹ 3,854 Cr.\",\n    \"CurrentPrice\": \"₹ 137\",\n    \"HighLow\": \"₹ 153 / 71.3\",\n    \"StockPE\": \"10.5\",\n    \"BookValue\": \"₹ 68.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"38.6 %\",\n    \"ROE\": \"26.5 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Ashoka Metcast Limited\",\n    \"Symbol\": \"ASHOKAMET\",\n    \"ListingDate\": \"27-Jun-23\",\n    \"ISIN\": \"INE760Y01011\",\n    \"MarketCap\": \"₹ 73.2 Cr.\",\n    \"CurrentPrice\": \"₹ 29.3\",\n    \"HighLow\": \"₹ 30.4 / 10.0\",\n    \"StockPE\": \"22.7\",\n    \"BookValue\": \"₹ 41.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.29 %\",\n    \"ROE\": \"4.72 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ashok Leyland Limited\",\n    \"Symbol\": \"ASHOKLEY\",\n    \"ListingDate\": \"25-May-95\",\n    \"ISIN\": \"INE208A01029\",\n    \"MarketCap\": \"₹ 53,408 Cr.\",\n    \"CurrentPrice\": \"₹ 182\",\n    \"HighLow\": \"₹ 192 / 133\",\n    \"StockPE\": \"25.1\",\n    \"BookValue\": \"₹ 30.2\",\n    \"DividendYield\": \"1.46 %\",\n    \"ROCE\": \"11.4 %\",\n    \"ROE\": \"15.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Asian Energy Services Limited\",\n    \"Symbol\": \"ASIANENE\",\n    \"ListingDate\": \"09-Dec-21\",\n    \"ISIN\": \"INE276G01015\",\n    \"MarketCap\": \"₹ 1,048 Cr.\",\n    \"CurrentPrice\": \"₹ 273\",\n    \"HighLow\": \"₹ 297 / 51.5\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 59.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-15.3 %\",\n    \"ROE\": \"-17.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Asian Hotels (North) Limited\",\n    \"Symbol\": \"ASIANHOTNR\",\n    \"ListingDate\": \"07-Apr-10\",\n    \"ISIN\": \"INE363A01022\",\n    \"MarketCap\": \"₹ 440 Cr.\",\n    \"CurrentPrice\": \"₹ 226\",\n    \"HighLow\": \"₹ 241 / 66.6\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 89.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-0.97 %\",\n    \"ROE\": \"-35.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Asian Paints Limited\",\n    \"Symbol\": \"ASIANPAINT\",\n    \"ListingDate\": \"31-May-95\",\n    \"ISIN\": \"INE021A01026\",\n    \"MarketCap\": \"₹ 3,26,223 Cr.\",\n    \"CurrentPrice\": \"₹ 3,401\",\n    \"HighLow\": \"₹ 3,568 / 2,686\",\n    \"StockPE\": \"64.2\",\n    \"BookValue\": \"₹ 173\",\n    \"DividendYield\": \"0.76 %\",\n    \"ROCE\": \"34.4 %\",\n    \"ROE\": \"27.7 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Asian Granito India Limited\",\n    \"Symbol\": \"ASIANTILES\",\n    \"ListingDate\": \"23-Aug-07\",\n    \"ISIN\": \"INE022I01019\",\n    \"MarketCap\": \"₹ 958 Cr.\",\n    \"CurrentPrice\": \"₹ 75.6\",\n    \"HighLow\": \"₹ 86.1 / 34.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 101\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-6.43 %\",\n    \"ROE\": \"-6.68 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"ASK Automotive Limited\",\n    \"Symbol\": \"ASKAUTOLTD\",\n    \"ListingDate\": \"15-Nov-23\",\n    \"ISIN\": \"INE491J01022\",\n    \"MarketCap\": \"₹ 5,671 Cr.\",\n    \"CurrentPrice\": \"₹ 288\",\n    \"HighLow\": \"₹ 320 / 271\",\n    \"StockPE\": \"46.2\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"20.3 %\",\n    \"ROE\": \"19.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Bartronics India Limited\",\n    \"Symbol\": \"ASMS\",\n    \"ListingDate\": \"09-Feb-23\",\n    \"ISIN\": \"INE855F01042\",\n    \"MarketCap\": \"₹ 521 Cr.\",\n    \"CurrentPrice\": \"₹ 17.1\",\n    \"HighLow\": \"₹ 20.4 / 4.44\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 17.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-0.19 %\",\n    \"ROE\": \"-9.36 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Aspinwall and Company Limited\",\n    \"Symbol\": \"ASPINWALL\",\n    \"ListingDate\": \"14-Jun-16\",\n    \"ISIN\": \"INE991I01015\",\n    \"MarketCap\": \"₹ 196 Cr.\",\n    \"CurrentPrice\": \"₹ 251\",\n    \"HighLow\": \"₹ 295 / 184\",\n    \"StockPE\": \"34.0\",\n    \"BookValue\": \"₹ 224\",\n    \"DividendYield\": \"2.38 %\",\n    \"ROCE\": \"10.8 %\",\n    \"ROE\": \"8.82 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Astec LifeSciences Limited\",\n    \"Symbol\": \"ASTEC\",\n    \"ListingDate\": \"25-Nov-09\",\n    \"ISIN\": \"INE563J01010\",\n    \"MarketCap\": \"₹ 2,171 Cr.\",\n    \"CurrentPrice\": \"₹ 1,107\",\n    \"HighLow\": \"₹ 1,815 / 1,045\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 201\",\n    \"DividendYield\": \"0.14 %\",\n    \"ROCE\": \"7.82 %\",\n    \"ROE\": \"6.36 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Aster DM Healthcare Limited\",\n    \"Symbol\": \"ASTERDM\",\n    \"ListingDate\": \"26-Feb-18\",\n    \"ISIN\": \"INE914M01019\",\n    \"MarketCap\": \"₹ 20,557 Cr.\",\n    \"CurrentPrice\": \"₹ 412\",\n    \"HighLow\": \"₹ 424 / 201\",\n    \"StockPE\": \"63.4\",\n    \"BookValue\": \"₹ 87.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.21 %\",\n    \"ROE\": \"11.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Astral Limited\",\n    \"Symbol\": \"ASTRAL\",\n    \"ListingDate\": \"20-Mar-07\",\n    \"ISIN\": \"INE006I01046\",\n    \"MarketCap\": \"₹ 50,898 Cr.\",\n    \"CurrentPrice\": \"₹ 1,895\",\n    \"HighLow\": \"₹ 2,058 / 1,298\",\n    \"StockPE\": \"93.6\",\n    \"BookValue\": \"₹ 108\",\n    \"DividendYield\": \"0.17 %\",\n    \"ROCE\": \"23.6 %\",\n    \"ROE\": \"17.9 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Astra Microwave Products Limited\",\n    \"Symbol\": \"ASTRAMICRO\",\n    \"ListingDate\": \"01-Nov-04\",\n    \"ISIN\": \"INE386C01029\",\n    \"MarketCap\": \"₹ 5,763 Cr.\",\n    \"CurrentPrice\": \"₹ 607\",\n    \"HighLow\": \"₹ 634 / 213\",\n    \"StockPE\": \"89.4\",\n    \"BookValue\": \"₹ 91.6\",\n    \"DividendYield\": \"0.26 %\",\n    \"ROCE\": \"17.1 %\",\n    \"ROE\": \"11.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"AstraZeneca Pharma India Limited\",\n    \"Symbol\": \"ASTRAZEN\",\n    \"ListingDate\": \"04-May-01\",\n    \"ISIN\": \"INE203A01020\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Astron Paper & Board Mill Limited\",\n    \"Symbol\": \"ASTRON\",\n    \"ListingDate\": \"29-Dec-17\",\n    \"ISIN\": \"INE646X01014\",\n    \"MarketCap\": \"₹ 146 Cr.\",\n    \"CurrentPrice\": \"₹ 31.5\",\n    \"HighLow\": \"₹ 37.9 / 18.1\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 33.5\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-9.37 %\",\n    \"ROE\": \"-14.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Atal Realtech Limited\",\n    \"Symbol\": \"ATALREAL\",\n    \"ListingDate\": \"12-May-23\",\n    \"ISIN\": \"INE0ALR01029\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Atam Valves Limited\",\n    \"Symbol\": \"ATAM\",\n    \"ListingDate\": \"10-May-23\",\n    \"ISIN\": \"INE09KD01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Agro Tech Foods Limited\",\n    \"Symbol\": \"ATFL\",\n    \"ListingDate\": \"06-Dec-02\",\n    \"ISIN\": \"INE209A01019\",\n    \"MarketCap\": \"₹ 2,182 Cr.\",\n    \"CurrentPrice\": \"₹ 896\",\n    \"HighLow\": \"₹ 970 / 742\",\n    \"StockPE\": \"120\",\n    \"BookValue\": \"₹ 201\",\n    \"DividendYield\": \"0.33 %\",\n    \"ROCE\": \"4.55 %\",\n    \"ROE\": \"3.26 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Adani Total Gas Limited\",\n    \"Symbol\": \"ATGL\",\n    \"ListingDate\": \"05-Nov-18\",\n    \"ISIN\": \"INE399L01023\",\n    \"MarketCap\": \"₹ 1,08,084 Cr.\",\n    \"CurrentPrice\": \"₹ 983\",\n    \"HighLow\": \"₹ 4,000 / 522\",\n    \"StockPE\": \"189\",\n    \"BookValue\": \"₹ 29.4\",\n    \"DividendYield\": \"0.03 %\",\n    \"ROCE\": \"20.7 %\",\n    \"ROE\": \"20.4 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Allcargo Terminals Limited\",\n    \"Symbol\": \"ATL\",\n    \"ListingDate\": \"10-Aug-23\",\n    \"ISIN\": \"INE0NN701020\",\n    \"MarketCap\": \"₹ 1,268 Cr.\",\n    \"CurrentPrice\": \"₹ 51.6\",\n    \"HighLow\": \"₹ 57.0 / 31.3\",\n    \"StockPE\": \"22.0\",\n    \"BookValue\": \"₹ 8.73\",\n    \"DividendYield\": \"0.97 %\",\n    \"ROCE\": \"28.3 %\",\n    \"ROE\": \"55.0 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"ATLANTAA LIMITED\",\n    \"Symbol\": \"ATLANTAA\",\n    \"ListingDate\": \"25-Sep-06\",\n    \"ISIN\": \"INE285H01022\",\n    \"MarketCap\": \"₹ 202 Cr.\",\n    \"CurrentPrice\": \"₹ 24.8\",\n    \"HighLow\": \"₹ 27.1 / 10.3\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -6.43\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-0.67 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Atul Limited\",\n    \"Symbol\": \"ATUL\",\n    \"ListingDate\": \"06-May-98\",\n    \"ISIN\": \"INE100A01010\",\n    \"MarketCap\": \"₹ 20,997 Cr.\",\n    \"CurrentPrice\": \"₹ 7,114\",\n    \"HighLow\": \"₹ 8,373 / 6,120\",\n    \"StockPE\": \"54.2\",\n    \"BookValue\": \"₹ 1,661\",\n    \"DividendYield\": \"0.35 %\",\n    \"ROCE\": \"15.3 %\",\n    \"ROE\": \"11.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Atul Auto Limited\",\n    \"Symbol\": \"ATULAUTO\",\n    \"ListingDate\": \"26-Jun-13\",\n    \"ISIN\": \"INE951D01028\",\n    \"MarketCap\": \"₹ 1,586 Cr.\",\n    \"CurrentPrice\": \"₹ 571\",\n    \"HighLow\": \"₹ 693 / 273\",\n    \"StockPE\": \"317\",\n    \"BookValue\": \"₹ 145\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.43 %\",\n    \"ROE\": \"0.94 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"AU Small Finance Bank Limited\",\n    \"Symbol\": \"AUBANK\",\n    \"ListingDate\": \"10-Jul-17\",\n    \"ISIN\": \"INE949L01017\",\n    \"MarketCap\": \"₹ 52,208 Cr.\",\n    \"CurrentPrice\": \"₹ 781\",\n    \"HighLow\": \"₹ 799 / 548\",\n    \"StockPE\": \"153\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.13 %\",\n    \"ROCE\": \"12.4 %\",\n    \"ROE\": \"22.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Aurionpro Solutions Limited\",\n    \"Symbol\": \"AURIONPRO\",\n    \"ListingDate\": \"25-Oct-05\",\n    \"ISIN\": \"INE132H01018\",\n    \"MarketCap\": \"₹ 5,240 Cr.\",\n    \"CurrentPrice\": \"₹ 2,130\",\n    \"HighLow\": \"₹ 2,280 / 290\",\n    \"StockPE\": \"45.6\",\n    \"BookValue\": \"₹ 254\",\n    \"DividendYield\": \"0.12 %\",\n    \"ROCE\": \"24.9 %\",\n    \"ROE\": \"21.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Aurobindo Pharma Limited\",\n    \"Symbol\": \"AUROPHARMA\",\n    \"ListingDate\": \"19-Jul-00\",\n    \"ISIN\": \"INE406A01037\",\n    \"MarketCap\": \"₹ 63,188 Cr.\",\n    \"CurrentPrice\": \"₹ 1,078\",\n    \"HighLow\": \"₹ 1,105 / 397\",\n    \"StockPE\": \"26.8\",\n    \"BookValue\": \"₹ 481\",\n    \"DividendYield\": \"0.28 %\",\n    \"ROCE\": \"9.20 %\",\n    \"ROE\": \"7.47 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Aurum PropTech Limited\",\n    \"Symbol\": \"AURUM\",\n    \"ListingDate\": \"19-Aug-15\",\n    \"ISIN\": \"INE898S01029\",\n    \"MarketCap\": \"₹ 655 Cr.\",\n    \"CurrentPrice\": \"₹ 129\",\n    \"HighLow\": \"₹ 149 / 99.8\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 27.5\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-16.2 %\",\n    \"ROE\": \"-14.9 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Ausom Enterprise Limited\",\n    \"Symbol\": \"AUSOMENT\",\n    \"ListingDate\": \"17-Apr-96\",\n    \"ISIN\": \"INE218C01016\",\n    \"MarketCap\": \"₹ 90.9 Cr.\",\n    \"CurrentPrice\": \"₹ 66.8\",\n    \"HighLow\": \"₹ 101 / 51.4\",\n    \"StockPE\": \"105\",\n    \"BookValue\": \"₹ 89.4\",\n    \"DividendYield\": \"0.75 %\",\n    \"ROCE\": \"2.07 %\",\n    \"ROE\": \"1.03 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Automotive Axles Limited\",\n    \"Symbol\": \"AUTOAXLES\",\n    \"ListingDate\": \"29-May-03\",\n    \"ISIN\": \"INE449A01011\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Autoline Industries Limited\",\n    \"Symbol\": \"AUTOIND\",\n    \"ListingDate\": \"31-Jan-07\",\n    \"ISIN\": \"INE718H01014\",\n    \"MarketCap\": \"₹ 515 Cr.\",\n    \"CurrentPrice\": \"₹ 132\",\n    \"HighLow\": \"₹ 148 / 60.1\",\n    \"StockPE\": \"61.7\",\n    \"BookValue\": \"₹ 20.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"6.83 %\",\n    \"ROE\": \"1.96 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Avadh Sugar & Energy Limited\",\n    \"Symbol\": \"AVADHSUGAR\",\n    \"ListingDate\": \"28-Jul-17\",\n    \"ISIN\": \"INE349W01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Avalon Technologies Limited\",\n    \"Symbol\": \"AVALON\",\n    \"ListingDate\": \"18-Apr-23\",\n    \"ISIN\": \"INE0LCL01028\",\n    \"MarketCap\": \"₹ 3,633 Cr.\",\n    \"CurrentPrice\": \"₹ 553\",\n    \"HighLow\": \"₹ 732 / 347\",\n    \"StockPE\": \"84.9\",\n    \"BookValue\": \"₹ 81.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"16.7 %\",\n    \"ROE\": \"16.8 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Avanti Feeds Limited\",\n    \"Symbol\": \"AVANTIFEED\",\n    \"ListingDate\": \"15-Apr-15\",\n    \"ISIN\": \"INE871C01038\",\n    \"MarketCap\": \"₹ 5,602 Cr.\",\n    \"CurrentPrice\": \"₹ 411\",\n    \"HighLow\": \"₹ 488 / 321\",\n    \"StockPE\": \"16.4\",\n    \"BookValue\": \"₹ 161\",\n    \"DividendYield\": \"1.53 %\",\n    \"ROCE\": \"18.3 %\",\n    \"ROE\": \"13.4 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"AVG Logistics Limited\",\n    \"Symbol\": \"AVG\",\n    \"ListingDate\": \"12-May-23\",\n    \"ISIN\": \"INE680Z01018\",\n    \"MarketCap\": \"₹ 438 Cr.\",\n    \"CurrentPrice\": \"₹ 372\",\n    \"HighLow\": \"₹ 405 / 100.0\",\n    \"StockPE\": \"13.0\",\n    \"BookValue\": \"₹ 86.8\",\n    \"DividendYield\": \"0.26 %\",\n    \"ROCE\": \"11.7 %\",\n    \"ROE\": \"9.66 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Avonmore Capital & Management Services Limited\",\n    \"Symbol\": \"AVONMORE\",\n    \"ListingDate\": \"04-Jan-23\",\n    \"ISIN\": \"INE323B01016\",\n    \"MarketCap\": \"₹ 190 Cr.\",\n    \"CurrentPrice\": \"₹ 81.5\",\n    \"HighLow\": \"₹ 104 / 58.5\",\n    \"StockPE\": \"15.6\",\n    \"BookValue\": \"₹ 124\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"45.4 %\",\n    \"ROE\": \"47.7 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"AVRO INDIA LIMITED\",\n    \"Symbol\": \"AVROIND\",\n    \"ListingDate\": \"07-Apr-22\",\n    \"ISIN\": \"INE652Z01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"AVT Natural Products Limited\",\n    \"Symbol\": \"AVTNPL\",\n    \"ListingDate\": \"10-Jan-07\",\n    \"ISIN\": \"INE488D01021\",\n    \"MarketCap\": \"₹ 1,394 Cr.\",\n    \"CurrentPrice\": \"₹ 91.5\",\n    \"HighLow\": \"₹ 111 / 73.7\",\n    \"StockPE\": \"29.4\",\n    \"BookValue\": \"₹ 28.9\",\n    \"DividendYield\": \"1.06 %\",\n    \"ROCE\": \"25.0 %\",\n    \"ROE\": \"19.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Antony Waste Handling Cell Limited\",\n    \"Symbol\": \"AWHCL\",\n    \"ListingDate\": \"01-Jan-21\",\n    \"ISIN\": \"INE01BK01022\",\n    \"MarketCap\": \"₹ 1,374 Cr.\",\n    \"CurrentPrice\": \"₹ 484\",\n    \"HighLow\": \"₹ 533 / 239\",\n    \"StockPE\": \"20.4\",\n    \"BookValue\": \"₹ 188\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"15.5 %\",\n    \"ROE\": \"15.2 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Adani Wilmar Limited\",\n    \"Symbol\": \"AWL\",\n    \"ListingDate\": \"08-Feb-22\",\n    \"ISIN\": \"INE699H01024\",\n    \"MarketCap\": \"₹ 46,009 Cr.\",\n    \"CurrentPrice\": \"₹ 354\",\n    \"HighLow\": \"₹ 628 / 286\",\n    \"StockPE\": \"251\",\n    \"BookValue\": \"₹ 61.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"15.0 %\",\n    \"ROE\": \"7.41 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Axis Bank Limited\",\n    \"Symbol\": \"AXISBANK\",\n    \"ListingDate\": \"16-Nov-98\",\n    \"ISIN\": \"INE238A01034\",\n    \"MarketCap\": \"₹ 3,39,612 Cr.\",\n    \"CurrentPrice\": \"₹ 1,101\",\n    \"HighLow\": \"₹ 1,152 / 814\",\n    \"StockPE\": \"14.5\",\n    \"BookValue\": \"₹ 422\",\n    \"DividendYield\": \"0.09 %\",\n    \"ROCE\": \"6.15 %\",\n    \"ROE\": \"14.5 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"AXISCADES Technologies Limited\",\n    \"Symbol\": \"AXISCADES\",\n    \"ListingDate\": \"21-Dec-00\",\n    \"ISIN\": \"INE555B01013\",\n    \"MarketCap\": \"₹ 2,519 Cr.\",\n    \"CurrentPrice\": \"₹ 655\",\n    \"HighLow\": \"₹ 698 / 248\",\n    \"StockPE\": \"57.9\",\n    \"BookValue\": \"₹ 93.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"22.8 %\",\n    \"ROE\": \"-9.58 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Axita Cotton Limited\",\n    \"Symbol\": \"AXITA\",\n    \"ListingDate\": \"21-Jun-22\",\n    \"ISIN\": \"INE02EZ01022\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"AYM Syntex Limited\",\n    \"Symbol\": \"AYMSYNTEX\",\n    \"ListingDate\": \"14-Aug-15\",\n    \"ISIN\": \"INE193B01039\",\n    \"MarketCap\": \"₹ 354 Cr.\",\n    \"CurrentPrice\": \"₹ 70.0\",\n    \"HighLow\": \"₹ 84.9 / 52.5\",\n    \"StockPE\": \"427\",\n    \"BookValue\": \"₹ 80.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Azad Engineering Limited\",\n    \"Symbol\": \"AZAD\",\n    \"ListingDate\": \"28-Dec-23\",\n    \"ISIN\": \"INE02IJ01035\",\n    \"MarketCap\": \"₹ 4,123 Cr.\",\n    \"CurrentPrice\": \"₹ 697\",\n    \"HighLow\": \"₹ 728 / 670\",\n    \"StockPE\": \"487\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"16.0 %\",\n    \"ROE\": \"5.23 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Bafna Pharmaceuticals Limited\",\n    \"Symbol\": \"BAFNAPH\",\n    \"ListingDate\": \"27-Feb-20\",\n    \"ISIN\": \"INE878I01022\",\n    \"MarketCap\": \"₹ 218 Cr.\",\n    \"CurrentPrice\": \"₹ 92.2\",\n    \"HighLow\": \"₹ 126 / 77.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 216\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-3.00 %\",\n    \"ROE\": \"-5.36 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"B.A.G Films and Media Limited\",\n    \"Symbol\": \"BAGFILMS\",\n    \"ListingDate\": \"17-Oct-03\",\n    \"ISIN\": \"INE116D01028\",\n    \"MarketCap\": \"₹ 174 Cr.\",\n    \"CurrentPrice\": \"₹ 8.80\",\n    \"HighLow\": \"₹ 9.89 / 3.50\",\n    \"StockPE\": \"16.8\",\n    \"BookValue\": \"₹ 7.40\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.41 %\",\n    \"ROE\": \"-1.20 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Baid Finserv Limited\",\n    \"Symbol\": \"BAIDFIN\",\n    \"ListingDate\": \"20-Jan-23\",\n    \"ISIN\": \"INE020D01022\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Bajaj Auto Limited\",\n    \"Symbol\": \"BAJAJ-AUTO\",\n    \"ListingDate\": \"26-May-08\",\n    \"ISIN\": \"INE917I01010\",\n    \"MarketCap\": \"₹ 1,89,815 Cr.\",\n    \"CurrentPrice\": \"₹ 6,708\",\n    \"HighLow\": \"₹ 6,761 / 3,520\",\n    \"StockPE\": \"27.8\",\n    \"BookValue\": \"₹ 1,037\",\n    \"DividendYield\": \"2.09 %\",\n    \"ROCE\": \"26.2 %\",\n    \"ROE\": \"20.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Bajaj Consumer Care Limited\",\n    \"Symbol\": \"BAJAJCON\",\n    \"ListingDate\": \"18-Aug-10\",\n    \"ISIN\": \"INE933K01021\",\n    \"MarketCap\": \"₹ 3,035 Cr.\",\n    \"CurrentPrice\": \"₹ 213\",\n    \"HighLow\": \"₹ 263 / 151\",\n    \"StockPE\": \"19.3\",\n    \"BookValue\": \"₹ 56.2\",\n    \"DividendYield\": \"2.38 %\",\n    \"ROCE\": \"21.0 %\",\n    \"ROE\": \"17.3 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Bajaj Electricals Limited\",\n    \"Symbol\": \"BAJAJELEC\",\n    \"ListingDate\": \"02-Nov-07\",\n    \"ISIN\": \"INE193E01025\",\n    \"MarketCap\": \"₹ 11,556 Cr.\",\n    \"CurrentPrice\": \"₹ 1,004\",\n    \"HighLow\": \"₹ 1,223 / 884\",\n    \"StockPE\": \"63.0\",\n    \"BookValue\": \"₹ 117\",\n    \"DividendYield\": \"0.39 %\",\n    \"ROCE\": \"18.2 %\",\n    \"ROE\": \"11.6 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Bajaj Finserv Limited\",\n    \"Symbol\": \"BAJAJFINSV\",\n    \"ListingDate\": \"26-May-08\",\n    \"ISIN\": \"INE918I01026\",\n    \"MarketCap\": \"₹ 2,68,513 Cr.\",\n    \"CurrentPrice\": \"₹ 1,683\",\n    \"HighLow\": \"₹ 1,742 / 1,215\",\n    \"StockPE\": \"36.2\",\n    \"BookValue\": \"₹ 319\",\n    \"DividendYield\": \"0.05 %\",\n    \"ROCE\": \"11.3 %\",\n    \"ROE\": \"14.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Bajaj Healthcare Limited\",\n    \"Symbol\": \"BAJAJHCARE\",\n    \"ListingDate\": \"25-Nov-21\",\n    \"ISIN\": \"INE411U01027\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Bajaj Hindusthan Sugar Limited\",\n    \"Symbol\": \"BAJAJHIND\",\n    \"ListingDate\": \"10-May-95\",\n    \"ISIN\": \"INE306A01021\",\n    \"MarketCap\": \"₹ 3,556 Cr.\",\n    \"CurrentPrice\": \"₹ 27.8\",\n    \"HighLow\": \"₹ 35.8 / 11.4\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 33.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"0.91 %\",\n    \"ROE\": \"-4.04 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Bajaj Holdings & Investment Limited\",\n    \"Symbol\": \"BAJAJHLDNG\",\n    \"ListingDate\": \"15-Mar-95\",\n    \"ISIN\": \"INE118A01012\",\n    \"MarketCap\": \"₹ 86,764 Cr.\",\n    \"CurrentPrice\": \"₹ 7,796\",\n    \"HighLow\": \"₹ 8,374 / 5,557\",\n    \"StockPE\": \"15.6\",\n    \"BookValue\": \"₹ 4,391\",\n    \"DividendYield\": \"1.57 %\",\n    \"ROCE\": \"9.71 %\",\n    \"ROE\": \"11.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Bajel Projects Limited\",\n    \"Symbol\": \"BAJEL\",\n    \"ListingDate\": \"19-Dec-23\",\n    \"ISIN\": \"INE0KQN01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Bajaj Finance Limited\",\n    \"Symbol\": \"BAJFINANCE\",\n    \"ListingDate\": \"01-Apr-03\",\n    \"ISIN\": \"INE296A01024\",\n    \"MarketCap\": \"₹ 4,49,204 Cr.\",\n    \"CurrentPrice\": \"₹ 7,268\",\n    \"HighLow\": \"₹ 8,192 / 5,486\",\n    \"StockPE\": \"34.3\",\n    \"BookValue\": \"₹ 988\",\n    \"DividendYield\": \"0.41 %\",\n    \"ROCE\": \"11.8 %\",\n    \"ROE\": \"23.5 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Balaji Telefilms Limited\",\n    \"Symbol\": \"BALAJITELE\",\n    \"ListingDate\": \"22-Nov-00\",\n    \"ISIN\": \"INE794B01026\",\n    \"MarketCap\": \"₹ 759 Cr.\",\n    \"CurrentPrice\": \"₹ 75.1\",\n    \"HighLow\": \"₹ 86.4 / 35.0\",\n    \"StockPE\": \"27.4\",\n    \"BookValue\": \"₹ 42.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-5.10 %\",\n    \"ROE\": \"-10.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Balaji Amines Limited\",\n    \"Symbol\": \"BALAMINES\",\n    \"ListingDate\": \"05-Apr-07\",\n    \"ISIN\": \"INE050E01027\",\n    \"MarketCap\": \"₹ 8,636 Cr.\",\n    \"CurrentPrice\": \"₹ 2,665\",\n    \"HighLow\": \"₹ 2,774 / 1,873\",\n    \"StockPE\": \"43.7\",\n    \"BookValue\": \"₹ 496\",\n    \"DividendYield\": \"0.37 %\",\n    \"ROCE\": \"36.5 %\",\n    \"ROE\": \"23.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"BALAXI PHARMACEUTICALS LIMITED\",\n    \"Symbol\": \"BALAXI\",\n    \"ListingDate\": \"30-Nov-15\",\n    \"ISIN\": \"INE618N01014\",\n    \"MarketCap\": \"₹ 441 Cr.\",\n    \"CurrentPrice\": \"₹ 431\",\n    \"HighLow\": \"₹ 665 / 400\",\n    \"StockPE\": \"15.2\",\n    \"BookValue\": \"₹ 152\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"38.5 %\",\n    \"ROE\": \"32.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Balkrishna Paper Mills Limited\",\n    \"Symbol\": \"BALKRISHNA\",\n    \"ListingDate\": \"28-Jul-15\",\n    \"ISIN\": \"INE875R01011\",\n    \"MarketCap\": \"₹ 39.2 Cr.\",\n    \"CurrentPrice\": \"₹ 36.5\",\n    \"HighLow\": \"₹ 44.4 / 23.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 69.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-5.94 %\",\n    \"ROE\": \"-22.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Balkrishna Industries Limited\",\n    \"Symbol\": \"BALKRISIND\",\n    \"ListingDate\": \"27-Jan-06\",\n    \"ISIN\": \"INE787D01026\",\n    \"MarketCap\": \"₹ 49,119 Cr.\",\n    \"CurrentPrice\": \"₹ 2,541\",\n    \"HighLow\": \"₹ 2,683 / 1,909\",\n    \"StockPE\": \"46.9\",\n    \"BookValue\": \"₹ 425\",\n    \"DividendYield\": \"0.63 %\",\n    \"ROCE\": \"13.8 %\",\n    \"ROE\": \"13.8 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Balmer Lawrie & Company Limited\",\n    \"Symbol\": \"BALMLAWRIE\",\n    \"ListingDate\": \"06-Jul-95\",\n    \"ISIN\": \"INE164A01016\",\n    \"MarketCap\": \"₹ 3,784 Cr.\",\n    \"CurrentPrice\": \"₹ 221\",\n    \"HighLow\": \"₹ 241 / 108\",\n    \"StockPE\": \"19.2\",\n    \"BookValue\": \"₹ 97.0\",\n    \"DividendYield\": \"3.39 %\",\n    \"ROCE\": \"10.1 %\",\n    \"ROE\": \"10.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Bal Pharma Limited\",\n    \"Symbol\": \"BALPHARMA\",\n    \"ListingDate\": \"08-May-06\",\n    \"ISIN\": \"INE083D01012\",\n    \"MarketCap\": \"₹ 157 Cr.\",\n    \"CurrentPrice\": \"₹ 99.6\",\n    \"HighLow\": \"₹ 118 / 63.4\",\n    \"StockPE\": \"49.2\",\n    \"BookValue\": \"₹ 40.3\",\n    \"DividendYield\": \"1.01 %\",\n    \"ROCE\": \"9.56 %\",\n    \"ROE\": \"4.20 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Balrampur Chini Mills Limited\",\n    \"Symbol\": \"BALRAMCHIN\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE119A01028\",\n    \"MarketCap\": \"₹ 8,247 Cr.\",\n    \"CurrentPrice\": \"₹ 409\",\n    \"HighLow\": \"₹ 486 / 349\",\n    \"StockPE\": \"15.3\",\n    \"BookValue\": \"₹ 156\",\n    \"DividendYield\": \"0.73 %\",\n    \"ROCE\": \"10.4 %\",\n    \"ROE\": \"10.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Banaras Beads Limited\",\n    \"Symbol\": \"BANARBEADS\",\n    \"ListingDate\": \"07-Jul-95\",\n    \"ISIN\": \"INE655B01011\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Bannari Amman Sugars Limited\",\n    \"Symbol\": \"BANARISUG\",\n    \"ListingDate\": \"28-May-03\",\n    \"ISIN\": \"INE459A01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Banco Products (I) Limited\",\n    \"Symbol\": \"BANCOINDIA\",\n    \"ListingDate\": \"22-Dec-06\",\n    \"ISIN\": \"INE213C01025\",\n    \"MarketCap\": \"₹ 4,601 Cr.\",\n    \"CurrentPrice\": \"₹ 643\",\n    \"HighLow\": \"₹ 676 / 190\",\n    \"StockPE\": \"16.2\",\n    \"BookValue\": \"₹ 146\",\n    \"DividendYield\": \"3.45 %\",\n    \"ROCE\": \"25.8 %\",\n    \"ROE\": \"23.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Bandhan Bank Limited\",\n    \"Symbol\": \"BANDHANBNK\",\n    \"ListingDate\": \"27-Mar-18\",\n    \"ISIN\": \"INE545U01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Bang Overseas Limited\",\n    \"Symbol\": \"BANG\",\n    \"ListingDate\": \"20-Feb-08\",\n    \"ISIN\": \"INE863I01016\",\n    \"MarketCap\": \"₹ 63.4 Cr.\",\n    \"CurrentPrice\": \"₹ 46.8\",\n    \"HighLow\": \"₹ 76.5 / 32.6\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 61.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"3.70 %\",\n    \"ROE\": \"1.18 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Banka BioLoo Limited\",\n    \"Symbol\": \"BANKA\",\n    \"ListingDate\": \"29-Oct-20\",\n    \"ISIN\": \"INE862Y01015\",\n    \"MarketCap\": \"₹ 104 Cr.\",\n    \"CurrentPrice\": \"₹ 95.6\",\n    \"HighLow\": \"₹ 101 / 66.2\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 35.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.61 %\",\n    \"ROE\": \"6.55 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Bank of Baroda\",\n    \"Symbol\": \"BANKBARODA\",\n    \"ListingDate\": \"19-Feb-97\",\n    \"ISIN\": \"INE028A01039\",\n    \"MarketCap\": \"₹ 1,19,045 Cr.\",\n    \"CurrentPrice\": \"₹ 230\",\n    \"HighLow\": \"₹ 236 / 146\",\n    \"StockPE\": \"6.45\",\n    \"BookValue\": \"₹ 203\",\n    \"DividendYield\": \"2.40 %\",\n    \"ROCE\": \"5.17 %\",\n    \"ROE\": \"15.1 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Bank of India\",\n    \"Symbol\": \"BANKINDIA\",\n    \"ListingDate\": \"30-Apr-97\",\n    \"ISIN\": \"INE084A01016\",\n    \"MarketCap\": \"₹ 51,309 Cr.\",\n    \"CurrentPrice\": \"₹ 113\",\n    \"HighLow\": \"₹ 121 / 66.0\",\n    \"StockPE\": \"9.49\",\n    \"BookValue\": \"₹ 147\",\n    \"DividendYield\": \"1.77 %\",\n    \"ROCE\": \"4.42 %\",\n    \"ROE\": \"6.33 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Banswara Syntex Limited\",\n    \"Symbol\": \"BANSWRAS\",\n    \"ListingDate\": \"11-Apr-07\",\n    \"ISIN\": \"INE629D01020\",\n    \"MarketCap\": \"₹ 500 Cr.\",\n    \"CurrentPrice\": \"₹ 146\",\n    \"HighLow\": \"₹ 189 / 107\",\n    \"StockPE\": \"6.47\",\n    \"BookValue\": \"₹ 151\",\n    \"DividendYield\": \"2.06 %\",\n    \"ROCE\": \"22.1 %\",\n    \"ROE\": \"24.4 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Barbeque Nation Hospitality Limited\",\n    \"Symbol\": \"BARBEQUE\",\n    \"ListingDate\": \"07-Apr-21\",\n    \"ISIN\": \"INE382M01027\",\n    \"MarketCap\": \"₹ 2,581 Cr.\",\n    \"CurrentPrice\": \"₹ 661\",\n    \"HighLow\": \"₹ 993 / 592\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 98.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.92 %\",\n    \"ROE\": \"3.68 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"BASF India Limited\",\n    \"Symbol\": \"BASF\",\n    \"ListingDate\": \"17-May-95\",\n    \"ISIN\": \"INE373A01013\",\n    \"MarketCap\": \"₹ 13,310 Cr.\",\n    \"CurrentPrice\": \"₹ 3,075\",\n    \"HighLow\": \"₹ 3,198 / 2,193\",\n    \"StockPE\": \"61.9\",\n    \"BookValue\": \"₹ 372\",\n    \"DividendYield\": \"0.26 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Bannari Amman Spinning Mills Limited\",\n    \"Symbol\": \"BASML\",\n    \"ListingDate\": \"14-Nov-05\",\n    \"ISIN\": \"INE186H01022\",\n    \"MarketCap\": \"₹ 307 Cr.\",\n    \"CurrentPrice\": \"₹ 47.4\",\n    \"HighLow\": \"₹ 56.7 / 33.8\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 63.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.37 %\",\n    \"ROE\": \"-5.03 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Bata India Limited\",\n    \"Symbol\": \"BATAINDIA\",\n    \"ListingDate\": \"18-Jun-03\",\n    \"ISIN\": \"INE176A01028\",\n    \"MarketCap\": \"₹ 21,252 Cr.\",\n    \"CurrentPrice\": \"₹ 1,654\",\n    \"HighLow\": \"₹ 1,771 / 1,381\",\n    \"StockPE\": \"67.6\",\n    \"BookValue\": \"₹ 109\",\n    \"DividendYield\": \"0.83 %\",\n    \"ROCE\": \"19.6 %\",\n    \"ROE\": \"19.8 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Bayer Cropscience Limited\",\n    \"Symbol\": \"BAYERCROP\",\n    \"ListingDate\": \"08-Jan-10\",\n    \"ISIN\": \"INE462A01022\",\n    \"MarketCap\": \"₹ 25,228 Cr.\",\n    \"CurrentPrice\": \"₹ 5,613\",\n    \"HighLow\": \"₹ 5,780 / 3,920\",\n    \"StockPE\": \"512\",\n    \"BookValue\": \"₹ 84.5\",\n    \"DividendYield\": \"2.31 %\",\n    \"ROCE\": \"20.1 %\",\n    \"ROE\": \"15.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Bharat Bijlee Limited\",\n    \"Symbol\": \"BBL\",\n    \"ListingDate\": \"21-Nov-06\",\n    \"ISIN\": \"INE464A01028\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Black Box Limited\",\n    \"Symbol\": \"BBOX\",\n    \"ListingDate\": \"22-Jul-03\",\n    \"ISIN\": \"INE676A01027\",\n    \"MarketCap\": \"₹ 4,898 Cr.\",\n    \"CurrentPrice\": \"₹ 292\",\n    \"HighLow\": \"₹ 292 / 84.4\",\n    \"StockPE\": \"37.5\",\n    \"BookValue\": \"₹ 20.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"20.3 %\",\n    \"ROE\": \"16.5 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Bombay Burmah Trading Corporation Limited\",\n    \"Symbol\": \"BBTC\",\n    \"ListingDate\": \"03-Apr-96\",\n    \"ISIN\": \"INE050A01025\",\n    \"MarketCap\": \"₹ 10,463 Cr.\",\n    \"CurrentPrice\": \"₹ 1,500\",\n    \"HighLow\": \"₹ 1,573 / 781\",\n    \"StockPE\": \"39.2\",\n    \"BookValue\": \"₹ 572\",\n    \"DividendYield\": \"0.08 %\",\n    \"ROCE\": \"15.5 %\",\n    \"ROE\": \"-70.0 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"B&B Triplewall Containers Limited\",\n    \"Symbol\": \"BBTCL\",\n    \"ListingDate\": \"23-Nov-22\",\n    \"ISIN\": \"INE01EE01011\",\n    \"MarketCap\": \"₹ 560 Cr.\",\n    \"CurrentPrice\": \"₹ 273\",\n    \"HighLow\": \"₹ 314 / 168\",\n    \"StockPE\": \"28.3\",\n    \"BookValue\": \"₹ 55.7\",\n    \"DividendYield\": \"0.36 %\",\n    \"ROCE\": \"15.9 %\",\n    \"ROE\": \"18.7 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Brightcom Group Limited\",\n    \"Symbol\": \"BCG\",\n    \"ListingDate\": \"08-May-15\",\n    \"ISIN\": \"INE425B01027\",\n    \"MarketCap\": \"₹ 3,887 Cr.\",\n    \"CurrentPrice\": \"₹ 19.3\",\n    \"HighLow\": \"₹ 36.8 / 9.27\",\n    \"StockPE\": \"2.75\",\n    \"BookValue\": \"₹ 34.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"30.9 %\",\n    \"ROE\": \"22.3 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Bcl Industries Limited\",\n    \"Symbol\": \"BCLIND\",\n    \"ListingDate\": \"04-Mar-21\",\n    \"ISIN\": \"INE412G01024\",\n    \"MarketCap\": \"₹ 1,711 Cr.\",\n    \"CurrentPrice\": \"₹ 66.4\",\n    \"HighLow\": \"₹ 79.1 / 30.0\",\n    \"StockPE\": \"20.4\",\n    \"BookValue\": \"₹ 21.8\",\n    \"DividendYield\": \"0.77 %\",\n    \"ROCE\": \"13.9 %\",\n    \"ROE\": \"16.1 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Brand Concepts Limited\",\n    \"Symbol\": \"BCONCEPTS\",\n    \"ListingDate\": \"11-Jan-22\",\n    \"ISIN\": \"INE977Y01011\",\n    \"MarketCap\": \"₹ 816 Cr.\",\n    \"CurrentPrice\": \"₹ 771\",\n    \"HighLow\": \"₹ 850 / 186\",\n    \"StockPE\": \"70.7\",\n    \"BookValue\": \"₹ 48.2\",\n    \"DividendYield\": \"0.13 %\",\n    \"ROCE\": \"32.1 %\",\n    \"ROE\": \"42.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Bharat Dynamics Limited\",\n    \"Symbol\": \"BDL\",\n    \"ListingDate\": \"23-Mar-18\",\n    \"ISIN\": \"INE171Z01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Beardsell Limited\",\n    \"Symbol\": \"BEARDSELL\",\n    \"ListingDate\": \"13-Jan-15\",\n    \"ISIN\": \"INE520H01022\",\n    \"MarketCap\": \"₹ 181 Cr.\",\n    \"CurrentPrice\": \"₹ 46.0\",\n    \"HighLow\": \"₹ 52.5 / 17.0\",\n    \"StockPE\": \"15.8\",\n    \"BookValue\": \"₹ 17.4\",\n    \"DividendYield\": \"0.23 %\",\n    \"ROCE\": \"18.2 %\",\n    \"ROE\": \"15.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Mrs. Bectors Food Specialities Limited\",\n    \"Symbol\": \"BECTORFOOD\",\n    \"ListingDate\": \"24-Dec-20\",\n    \"ISIN\": \"INE495P01012\",\n    \"MarketCap\": \"₹ 6,694 Cr.\",\n    \"CurrentPrice\": \"₹ 1,138\",\n    \"HighLow\": \"₹ 1,374 / 416\",\n    \"StockPE\": \"52.5\",\n    \"BookValue\": \"₹ 103\",\n    \"DividendYield\": \"0.26 %\",\n    \"ROCE\": \"21.0 %\",\n    \"ROE\": \"17.7 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Bedmutha Industries Limited\",\n    \"Symbol\": \"BEDMUTHA\",\n    \"ListingDate\": \"14-Oct-10\",\n    \"ISIN\": \"INE844K01012\",\n    \"MarketCap\": \"₹ 558 Cr.\",\n    \"CurrentPrice\": \"₹ 173\",\n    \"HighLow\": \"₹ 187 / 46.7\",\n    \"StockPE\": \"32.2\",\n    \"BookValue\": \"₹ 33.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"12.9 %\",\n    \"ROE\": \"13.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Bharat Electronics Limited\",\n    \"Symbol\": \"BEL\",\n    \"ListingDate\": \"19-Jul-00\",\n    \"ISIN\": \"INE263A01024\",\n    \"MarketCap\": \"₹ 1,33,513 Cr.\",\n    \"CurrentPrice\": \"₹ 183\",\n    \"HighLow\": \"₹ 185 / 87.0\",\n    \"StockPE\": \"40.2\",\n    \"BookValue\": \"₹ 20.3\",\n    \"DividendYield\": \"0.99 %\",\n    \"ROCE\": \"29.9 %\",\n    \"ROE\": \"22.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"BEML Limited\",\n    \"Symbol\": \"BEML\",\n    \"ListingDate\": \"05-Nov-03\",\n    \"ISIN\": \"INE258A01016\",\n    \"MarketCap\": \"₹ 11,819 Cr.\",\n    \"CurrentPrice\": \"₹ 2,838\",\n    \"HighLow\": \"₹ 2,916 / 1,128\",\n    \"StockPE\": \"58.9\",\n    \"BookValue\": \"₹ 569\",\n    \"DividendYield\": \"0.36 %\",\n    \"ROCE\": \"10.5 %\",\n    \"ROE\": \"6.30 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Bhansali Engineering Polymers Limited\",\n    \"Symbol\": \"BEPL\",\n    \"ListingDate\": \"21-Mar-05\",\n    \"ISIN\": \"INE922A01025\",\n    \"MarketCap\": \"₹ 2,535 Cr.\",\n    \"CurrentPrice\": \"₹ 102\",\n    \"HighLow\": \"₹ 112 / 58.0\",\n    \"StockPE\": \"17.3\",\n    \"BookValue\": \"₹ 35.9\",\n    \"DividendYield\": \"1.96 %\",\n    \"ROCE\": \"19.2 %\",\n    \"ROE\": \"13.3 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Berger Paints (I) Limited\",\n    \"Symbol\": \"BERGEPAINT\",\n    \"ListingDate\": \"24-Nov-99\",\n    \"ISIN\": \"INE463A01038\",\n    \"MarketCap\": \"₹ 69,826 Cr.\",\n    \"CurrentPrice\": \"₹ 599\",\n    \"HighLow\": \"₹ 680 / 439\",\n    \"StockPE\": \"67.7\",\n    \"BookValue\": \"₹ 41.5\",\n    \"DividendYield\": \"0.45 %\",\n    \"ROCE\": \"23.8 %\",\n    \"ROE\": \"20.4 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"BF Investment Limited\",\n    \"Symbol\": \"BFINVEST\",\n    \"ListingDate\": \"14-Jan-11\",\n    \"ISIN\": \"INE878K01010\",\n    \"MarketCap\": \"₹ 2,011 Cr.\",\n    \"CurrentPrice\": \"₹ 534\",\n    \"HighLow\": \"₹ 579 / 282\",\n    \"StockPE\": \"6.73\",\n    \"BookValue\": \"₹ 1,411\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.88 %\",\n    \"ROE\": \"5.94 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"BF Utilities Limited\",\n    \"Symbol\": \"BFUTILITIE\",\n    \"ListingDate\": \"03-May-07\",\n    \"ISIN\": \"INE243D01012\",\n    \"MarketCap\": \"₹ 2,222 Cr.\",\n    \"CurrentPrice\": \"₹ 590\",\n    \"HighLow\": \"₹ 816 / 283\",\n    \"StockPE\": \"16.7\",\n    \"BookValue\": \"₹ -5.03\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"25.7 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"BGR Energy Systems Limited\",\n    \"Symbol\": \"BGRENERGY\",\n    \"ListingDate\": \"03-Jan-08\",\n    \"ISIN\": \"INE661I01014\",\n    \"MarketCap\": \"₹ 694 Cr.\",\n    \"CurrentPrice\": \"₹ 96.1\",\n    \"HighLow\": \"₹ 119 / 44.2\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -14.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-11.4 %\",\n    \"ROE\": \"-145 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Bhagiradha Chemicals & Industries Limited\",\n    \"Symbol\": \"BHAGCHEM\",\n    \"ListingDate\": \"18-Oct-21\",\n    \"ISIN\": \"INE414D01019\",\n    \"MarketCap\": \"₹ 1,598 Cr.\",\n    \"CurrentPrice\": \"₹ 1,536\",\n    \"HighLow\": \"₹ 1,730 / 860\",\n    \"StockPE\": \"55.6\",\n    \"BookValue\": \"₹ 306\",\n    \"DividendYield\": \"0.26 %\",\n    \"ROCE\": \"21.7 %\",\n    \"ROE\": \"18.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Bhageria Industries Limited\",\n    \"Symbol\": \"BHAGERIA\",\n    \"ListingDate\": \"02-Mar-16\",\n    \"ISIN\": \"INE354C01027\",\n    \"MarketCap\": \"₹ 705 Cr.\",\n    \"CurrentPrice\": \"₹ 162\",\n    \"HighLow\": \"₹ 183 / 112\",\n    \"StockPE\": \"55.7\",\n    \"BookValue\": \"₹ 116\",\n    \"DividendYield\": \"0.62 %\",\n    \"ROCE\": \"3.99 %\",\n    \"ROE\": \"2.65 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Bhagyanagar India Limited\",\n    \"Symbol\": \"BHAGYANGR\",\n    \"ListingDate\": \"17-May-17\",\n    \"ISIN\": \"INE458B01036\",\n    \"MarketCap\": \"₹ 331 Cr.\",\n    \"CurrentPrice\": \"₹ 104\",\n    \"HighLow\": \"₹ 110 / 43.6\",\n    \"StockPE\": \"6.71\",\n    \"BookValue\": \"₹ 58.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.68 %\",\n    \"ROE\": \"7.10 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Bhandari Hosiery Exports Limited\",\n    \"Symbol\": \"BHANDARI\",\n    \"ListingDate\": \"30-Jan-17\",\n    \"ISIN\": \"INE474E01029\",\n    \"MarketCap\": \"₹ 98.4 Cr.\",\n    \"CurrentPrice\": \"₹ 6.02\",\n    \"HighLow\": \"₹ 8.01 / 3.52\",\n    \"StockPE\": \"224\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.16 %\",\n    \"ROCE\": \"8.79 %\",\n    \"ROE\": \"4.35 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Bharat Forge Limited\",\n    \"Symbol\": \"BHARATFORG\",\n    \"ListingDate\": \"04-Apr-03\",\n    \"ISIN\": \"INE465A01025\",\n    \"MarketCap\": \"₹ 57,607 Cr.\",\n    \"CurrentPrice\": \"₹ 1,237\",\n    \"HighLow\": \"₹ 1,250 / 744\",\n    \"StockPE\": \"88.0\",\n    \"BookValue\": \"₹ 151\",\n    \"DividendYield\": \"0.56 %\",\n    \"ROCE\": \"7.70 %\",\n    \"ROE\": \"6.88 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Bharat Gears Limited\",\n    \"Symbol\": \"BHARATGEAR\",\n    \"ListingDate\": \"03-Apr-96\",\n    \"ISIN\": \"INE561C01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Bharat Rasayan Limited\",\n    \"Symbol\": \"BHARATRAS\",\n    \"ListingDate\": \"11-Oct-95\",\n    \"ISIN\": \"INE838B01013\",\n    \"MarketCap\": \"₹ 3,735 Cr.\",\n    \"CurrentPrice\": \"₹ 8,988\",\n    \"HighLow\": \"₹ 10,599 / 8,280\",\n    \"StockPE\": \"46.5\",\n    \"BookValue\": \"₹ 2,180\",\n    \"DividendYield\": \"0.02 %\",\n    \"ROCE\": \"19.8 %\",\n    \"ROE\": \"15.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Bharat Wire Ropes Limited\",\n    \"Symbol\": \"BHARATWIRE\",\n    \"ListingDate\": \"01-Apr-16\",\n    \"ISIN\": \"INE316L01019\",\n    \"MarketCap\": \"₹ 2,118 Cr.\",\n    \"CurrentPrice\": \"₹ 312\",\n    \"HighLow\": \"₹ 344 / 87.3\",\n    \"StockPE\": \"25.5\",\n    \"BookValue\": \"₹ 89.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"16.2 %\",\n    \"ROE\": \"50.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Bharti Airtel Limited\",\n    \"Symbol\": \"BHARTIARTL\",\n    \"ListingDate\": \"15-Feb-02\",\n    \"ISIN\": \"INE397D01024\",\n    \"MarketCap\": \"₹ 6,02,474 Cr.\",\n    \"CurrentPrice\": \"₹ 1,027\",\n    \"HighLow\": \"₹ 1,046 / 736\",\n    \"StockPE\": \"56.0\",\n    \"BookValue\": \"₹ 138\",\n    \"DividendYield\": \"0.39 %\",\n    \"ROCE\": \"12.3 %\",\n    \"ROE\": \"12.0 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Bharat Heavy Electricals Limited\",\n    \"Symbol\": \"BHEL\",\n    \"ListingDate\": \"11-Nov-03\",\n    \"ISIN\": \"INE257A01026\",\n    \"MarketCap\": \"₹ 68,005 Cr.\",\n    \"CurrentPrice\": \"₹ 195\",\n    \"HighLow\": \"₹ 200 / 66.3\",\n    \"StockPE\": \"954\",\n    \"BookValue\": \"₹ 74.9\",\n    \"DividendYield\": \"0.21 %\",\n    \"ROCE\": \"3.33 %\",\n    \"ROE\": \"1.70 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Bigbloc Construction Limited\",\n    \"Symbol\": \"BIGBLOC\",\n    \"ListingDate\": \"02-Sep-16\",\n    \"ISIN\": \"INE412U01025\",\n    \"MarketCap\": \"₹ 1,171 Cr.\",\n    \"CurrentPrice\": \"₹ 165\",\n    \"HighLow\": \"₹ 190 / 117\",\n    \"StockPE\": \"43.9\",\n    \"BookValue\": \"₹ 12.4\",\n    \"DividendYield\": \"0.25 %\",\n    \"ROCE\": \"35.7 %\",\n    \"ROE\": \"49.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Bikaji Foods International Limited\",\n    \"Symbol\": \"BIKAJI\",\n    \"ListingDate\": \"16-Nov-22\",\n    \"ISIN\": \"INE00E101023\",\n    \"MarketCap\": \"₹ 13,839 Cr.\",\n    \"CurrentPrice\": \"₹ 553\",\n    \"HighLow\": \"₹ 580 / 333\",\n    \"StockPE\": \"81.1\",\n    \"BookValue\": \"₹ 41.9\",\n    \"DividendYield\": \"0.13 %\",\n    \"ROCE\": \"17.3 %\",\n    \"ROE\": \"14.3 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Bhartiya International Limited\",\n    \"Symbol\": \"BIL\",\n    \"ListingDate\": \"12-Apr-00\",\n    \"ISIN\": \"INE828A01016\",\n    \"MarketCap\": \"₹ 427 Cr.\",\n    \"CurrentPrice\": \"₹ 350\",\n    \"HighLow\": \"₹ 408 / 145\",\n    \"StockPE\": \"7.40\",\n    \"BookValue\": \"₹ 320\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"13.4 %\",\n    \"ROE\": \"17.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Binani Industries Limited\",\n    \"Symbol\": \"BINANIIND\",\n    \"ListingDate\": \"27-Sep-06\",\n    \"ISIN\": \"INE071A01013\",\n    \"MarketCap\": \"₹ 48.9 Cr.\",\n    \"CurrentPrice\": \"₹ 15.6\",\n    \"HighLow\": \"₹ 36.5 / 10.9\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -60.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-266 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Biocon Limited\",\n    \"Symbol\": \"BIOCON\",\n    \"ListingDate\": \"07-Apr-04\",\n    \"ISIN\": \"INE376G01013\",\n    \"MarketCap\": \"₹ 29,895 Cr.\",\n    \"CurrentPrice\": \"₹ 249\",\n    \"HighLow\": \"₹ 280 / 192\",\n    \"StockPE\": \"37.1\",\n    \"BookValue\": \"₹ 158\",\n    \"DividendYield\": \"0.61 %\",\n    \"ROCE\": \"5.92 %\",\n    \"ROE\": \"4.78 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Biofil Chemicals & Pharmaceuticals Limited\",\n    \"Symbol\": \"BIOFILCHEM\",\n    \"ListingDate\": \"12-Jun-96\",\n    \"ISIN\": \"INE829A01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Birla Cable Limited\",\n    \"Symbol\": \"BIRLACABLE\",\n    \"ListingDate\": \"06-Dec-95\",\n    \"ISIN\": \"INE800A01015\",\n    \"MarketCap\": \"₹ 843 Cr.\",\n    \"CurrentPrice\": \"₹ 281\",\n    \"HighLow\": \"₹ 433 / 119\",\n    \"StockPE\": \"22.4\",\n    \"BookValue\": \"₹ 82.4\",\n    \"DividendYield\": \"0.88 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Birla Corporation Limited\",\n    \"Symbol\": \"BIRLACORPN\",\n    \"ListingDate\": \"12-Apr-95\",\n    \"ISIN\": \"INE340A01012\",\n    \"MarketCap\": \"₹ 11,039 Cr.\",\n    \"CurrentPrice\": \"₹ 1,434\",\n    \"HighLow\": \"₹ 1,474 / 843\",\n    \"StockPE\": \"79.1\",\n    \"BookValue\": \"₹ 817\",\n    \"DividendYield\": \"0.17 %\",\n    \"ROCE\": \"3.73 %\",\n    \"ROE\": \"0.75 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Aditya Birla Money Limited\",\n    \"Symbol\": \"BIRLAMONEY\",\n    \"ListingDate\": \"07-Feb-08\",\n    \"ISIN\": \"INE865C01022\",\n    \"MarketCap\": \"₹ 580 Cr.\",\n    \"CurrentPrice\": \"₹ 103\",\n    \"HighLow\": \"₹ 125 / 42.6\",\n    \"StockPE\": \"60.9\",\n    \"BookValue\": \"₹ 2.92\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"12.4 %\",\n    \"ROE\": \"26.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Bkm Industries Limited\",\n    \"Symbol\": \"BKMINDST\",\n    \"ListingDate\": \"30-Mar-15\",\n    \"ISIN\": \"INE831Q01016\",\n    \"MarketCap\": \"₹ 8.78 Cr.\",\n    \"CurrentPrice\": \"₹ 1.34\",\n    \"HighLow\": \"₹ 1.63 / 0.65\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 20.5\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-9.03 %\",\n    \"ROE\": \"-18.4 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"BEML Land Assets Limited\",\n    \"Symbol\": \"BLAL\",\n    \"ListingDate\": \"19-Apr-23\",\n    \"ISIN\": \"INE0N7W01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"BLB Limited\",\n    \"Symbol\": \"BLBLIMITED\",\n    \"ListingDate\": \"31-May-00\",\n    \"ISIN\": \"INE791A01024\",\n    \"MarketCap\": \"₹ 118 Cr.\",\n    \"CurrentPrice\": \"₹ 22.3\",\n    \"HighLow\": \"₹ 38.0 / 18.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 16.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"0.28 %\",\n    \"ROE\": \"-4.66 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Bliss GVS Pharma Limited\",\n    \"Symbol\": \"BLISSGVS\",\n    \"ListingDate\": \"26-Jul-10\",\n    \"ISIN\": \"INE416D01022\",\n    \"MarketCap\": \"₹ 1,309 Cr.\",\n    \"CurrentPrice\": \"₹ 125\",\n    \"HighLow\": \"₹ 150 / 69.2\",\n    \"StockPE\": \"14.9\",\n    \"BookValue\": \"₹ 89.1\",\n    \"DividendYield\": \"0.40 %\",\n    \"ROCE\": \"11.8 %\",\n    \"ROE\": \"8.30 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"B. L. Kashyap and Sons Limited\",\n    \"Symbol\": \"BLKASHYAP\",\n    \"ListingDate\": \"17-Mar-06\",\n    \"ISIN\": \"INE350H01032\",\n    \"MarketCap\": \"₹ 1,432 Cr.\",\n    \"CurrentPrice\": \"₹ 63.5\",\n    \"HighLow\": \"₹ 76.9 / 26.1\",\n    \"StockPE\": \"27.4\",\n    \"BookValue\": \"₹ 20.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"13.8 %\",\n    \"ROE\": \"9.98 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"BLS International Services Limited\",\n    \"Symbol\": \"BLS\",\n    \"ListingDate\": \"14-Jun-16\",\n    \"ISIN\": \"INE153T01027\",\n    \"MarketCap\": \"₹ 13,402 Cr.\",\n    \"CurrentPrice\": \"₹ 326\",\n    \"HighLow\": \"₹ 360 / 150\",\n    \"StockPE\": \"50.2\",\n    \"BookValue\": \"₹ 23.1\",\n    \"DividendYield\": \"0.23 %\",\n    \"ROCE\": \"31.6 %\",\n    \"ROE\": \"29.5 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Blue Chip India Limited\",\n    \"Symbol\": \"BLUECHIP\",\n    \"ListingDate\": \"12-Mar-97\",\n    \"ISIN\": \"INE657B01025\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Blue Coast Hotels Limited\",\n    \"Symbol\": \"BLUECOAST\",\n    \"ListingDate\": \"16-Feb-00\",\n    \"ISIN\": \"INE472B01011\",\n    \"MarketCap\": \"₹ 6.40 Cr.\",\n    \"CurrentPrice\": \"₹ 5.02\",\n    \"HighLow\": \"₹ 7.70 / 3.43\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -95.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-14.5 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Blue Dart Express Limited\",\n    \"Symbol\": \"BLUEDART\",\n    \"ListingDate\": \"12-Dec-02\",\n    \"ISIN\": \"INE233B01017\",\n    \"MarketCap\": \"₹ 17,453 Cr.\",\n    \"CurrentPrice\": \"₹ 7,355\",\n    \"HighLow\": \"₹ 7,939 / 5,632\",\n    \"StockPE\": \"59.7\",\n    \"BookValue\": \"₹ 513\",\n    \"DividendYield\": \"0.41 %\",\n    \"ROCE\": \"26.3 %\",\n    \"ROE\": \"34.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Blue Jet Healthcare Limited\",\n    \"Symbol\": \"BLUEJET\",\n    \"ListingDate\": \"01-Nov-23\",\n    \"ISIN\": \"INE0KBH01020\",\n    \"MarketCap\": \"₹ 6,367 Cr.\",\n    \"CurrentPrice\": \"₹ 367\",\n    \"HighLow\": \"₹ 433 / 319\",\n    \"StockPE\": \"46.0\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"57.3 %\",\n    \"ROE\": \"51.1 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Blue Star Limited\",\n    \"Symbol\": \"BLUESTARCO\",\n    \"ListingDate\": \"15-Jun-00\",\n    \"ISIN\": \"INE472A01039\",\n    \"MarketCap\": \"₹ 19,420 Cr.\",\n    \"CurrentPrice\": \"₹ 944\",\n    \"HighLow\": \"₹ 1,038 / 589\",\n    \"StockPE\": \"61.4\",\n    \"BookValue\": \"₹ 114\",\n    \"DividendYield\": \"1.27 %\",\n    \"ROCE\": \"24.4 %\",\n    \"ROE\": \"23.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Bodal Chemicals Limited\",\n    \"Symbol\": \"BODALCHEM\",\n    \"ListingDate\": \"22-Aug-11\",\n    \"ISIN\": \"INE338D01028\",\n    \"MarketCap\": \"₹ 1,045 Cr.\",\n    \"CurrentPrice\": \"₹ 83.1\",\n    \"HighLow\": \"₹ 94.4 / 55.0\",\n    \"StockPE\": \"120\",\n    \"BookValue\": \"₹ 85.3\",\n    \"DividendYield\": \"0.12 %\",\n    \"ROCE\": \"5.08 %\",\n    \"ROE\": \"3.50 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Bohra Industries Limited\",\n    \"Symbol\": \"BOHRAIND\",\n    \"ListingDate\": \"27-Oct-22\",\n    \"ISIN\": \"INE802W01023\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Bombay Dyeing & Mfg Company Limited\",\n    \"Symbol\": \"BOMDYEING\",\n    \"ListingDate\": \"26-Apr-95\",\n    \"ISIN\": \"INE032A01023\",\n    \"MarketCap\": \"₹ 3,123 Cr.\",\n    \"CurrentPrice\": \"₹ 151\",\n    \"HighLow\": \"₹ 184 / 53.2\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -63.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.05 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Borosil Limited\",\n    \"Symbol\": \"BOROLTD\",\n    \"ListingDate\": \"22-Jul-20\",\n    \"ISIN\": \"INE02PY01013\",\n    \"MarketCap\": \"₹ 3,914 Cr.\",\n    \"CurrentPrice\": \"₹ 342\",\n    \"HighLow\": \"₹ 402 / 249\",\n    \"StockPE\": \"54.3\",\n    \"BookValue\": \"₹ 78.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"10.6 %\",\n    \"ROE\": \"8.49 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"BOROSIL RENEWABLES LIMITED\",\n    \"Symbol\": \"BORORENEW\",\n    \"ListingDate\": \"25-May-18\",\n    \"ISIN\": \"INE666D01022\",\n    \"MarketCap\": \"₹ 5,723 Cr.\",\n    \"CurrentPrice\": \"₹ 438\",\n    \"HighLow\": \"₹ 573 / 380\",\n    \"StockPE\": \"753\",\n    \"BookValue\": \"₹ 71.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Bosch Limited\",\n    \"Symbol\": \"BOSCHLTD\",\n    \"ListingDate\": \"12-May-03\",\n    \"ISIN\": \"INE323A01026\",\n    \"MarketCap\": \"₹ 65,497 Cr.\",\n    \"CurrentPrice\": \"₹ 22,207\",\n    \"HighLow\": \"₹ 22,300 / 16,366\",\n    \"StockPE\": \"42.8\",\n    \"BookValue\": \"₹ 3,927\",\n    \"DividendYield\": \"2.14 %\",\n    \"ROCE\": \"17.4 %\",\n    \"ROE\": \"13.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Bharat Petroleum Corporation Limited\",\n    \"Symbol\": \"BPCL\",\n    \"ListingDate\": \"13-Sep-95\",\n    \"ISIN\": \"INE029A01011\",\n    \"MarketCap\": \"₹ 98,430 Cr.\",\n    \"CurrentPrice\": \"₹ 454\",\n    \"HighLow\": \"₹ 482 / 314\",\n    \"StockPE\": \"3.40\",\n    \"BookValue\": \"₹ 327\",\n    \"DividendYield\": \"4.64 %\",\n    \"ROCE\": \"6.86 %\",\n    \"ROE\": \"6.34 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"BPL Limited\",\n    \"Symbol\": \"BPL\",\n    \"ListingDate\": \"14-Jun-95\",\n    \"ISIN\": \"INE110A01019\",\n    \"MarketCap\": \"₹ 406 Cr.\",\n    \"CurrentPrice\": \"₹ 83.0\",\n    \"HighLow\": \"₹ 103 / 46.7\",\n    \"StockPE\": \"28.1\",\n    \"BookValue\": \"₹ 50.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"3.85 %\",\n    \"ROE\": \"2.51 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Brigade Enterprises Limited\",\n    \"Symbol\": \"BRIGADE\",\n    \"ListingDate\": \"31-Dec-07\",\n    \"ISIN\": \"INE791I01019\",\n    \"MarketCap\": \"₹ 20,756 Cr.\",\n    \"CurrentPrice\": \"₹ 899\",\n    \"HighLow\": \"₹ 935 / 431\",\n    \"StockPE\": \"87.8\",\n    \"BookValue\": \"₹ 147\",\n    \"DividendYield\": \"0.22 %\",\n    \"ROCE\": \"8.41 %\",\n    \"ROE\": \"6.34 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Britannia Industries Limited\",\n    \"Symbol\": \"BRITANNIA\",\n    \"ListingDate\": \"05-Nov-98\",\n    \"ISIN\": \"INE216A01030\",\n    \"MarketCap\": \"₹ 1,27,505 Cr.\",\n    \"CurrentPrice\": \"₹ 5,294\",\n    \"HighLow\": \"₹ 5,339 / 4,153\",\n    \"StockPE\": \"57.2\",\n    \"BookValue\": \"₹ 118\",\n    \"DividendYield\": \"1.35 %\",\n    \"ROCE\": \"48.6 %\",\n    \"ROE\": \"66.6 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Bharat Road Network Limited\",\n    \"Symbol\": \"BRNL\",\n    \"ListingDate\": \"18-Sep-17\",\n    \"ISIN\": \"INE727S01012\",\n    \"MarketCap\": \"₹ 420 Cr.\",\n    \"CurrentPrice\": \"₹ 50.0\",\n    \"HighLow\": \"₹ 58.4 / 23.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 27.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-2.35 %\",\n    \"ROE\": \"-52.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Brooks Laboratories Limited\",\n    \"Symbol\": \"BROOKS\",\n    \"ListingDate\": \"05-Sep-11\",\n    \"ISIN\": \"INE650L01011\",\n    \"MarketCap\": \"₹ 390 Cr.\",\n    \"CurrentPrice\": \"₹ 149\",\n    \"HighLow\": \"₹ 173 / 56.5\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 29.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-27.7 %\",\n    \"ROE\": \"-23.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"BSE Limited\",\n    \"Symbol\": \"BSE\",\n    \"ListingDate\": \"03-Feb-17\",\n    \"ISIN\": \"INE118H01025\",\n    \"MarketCap\": \"₹ 29,884 Cr.\",\n    \"CurrentPrice\": \"₹ 2,208\",\n    \"HighLow\": \"₹ 2,595 / 406\",\n    \"StockPE\": \"85.8\",\n    \"BookValue\": \"₹ 229\",\n    \"DividendYield\": \"0.54 %\",\n    \"ROCE\": \"13.2 %\",\n    \"ROE\": \"8.65 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Bombay Super Hybrid Seeds Limited\",\n    \"Symbol\": \"BSHSL\",\n    \"ListingDate\": \"28-Oct-20\",\n    \"ISIN\": \"INE032Z01020\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"BSL Limited\",\n    \"Symbol\": \"BSL\",\n    \"ListingDate\": \"27-Jul-95\",\n    \"ISIN\": \"INE594B01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"BIRLASOFT LIMITED\",\n    \"Symbol\": \"BSOFT\",\n    \"ListingDate\": \"24-Nov-99\",\n    \"ISIN\": \"INE836A01035\",\n    \"MarketCap\": \"₹ 19,832 Cr.\",\n    \"CurrentPrice\": \"₹ 719\",\n    \"HighLow\": \"₹ 746 / 250\",\n    \"StockPE\": \"52.4\",\n    \"BookValue\": \"₹ 98.9\",\n    \"DividendYield\": \"0.49 %\",\n    \"ROCE\": \"17.2 %\",\n    \"ROE\": \"12.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Bodhi Tree Multimedia Limited\",\n    \"Symbol\": \"BTML\",\n    \"ListingDate\": \"15-Feb-23\",\n    \"ISIN\": \"INE0EEJ01015\",\n    \"MarketCap\": \"₹ 252 Cr.\",\n    \"CurrentPrice\": \"₹ 202\",\n    \"HighLow\": \"₹ 209 / 113\",\n    \"StockPE\": \"39.2\",\n    \"BookValue\": \"₹ 21.0\",\n    \"DividendYield\": \"0.26 %\",\n    \"ROCE\": \"23.1 %\",\n    \"ROE\": \"19.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Burnpur Cement Limited\",\n    \"Symbol\": \"BURNPUR\",\n    \"ListingDate\": \"03-Jan-08\",\n    \"ISIN\": \"INE817H01014\",\n    \"MarketCap\": \"₹ 52.7 Cr.\",\n    \"CurrentPrice\": \"₹ 6.12\",\n    \"HighLow\": \"₹ 8.87 / 3.55\",\n    \"StockPE\": \"45.0\",\n    \"BookValue\": \"₹ 13.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.47 %\",\n    \"ROE\": \"1.14 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Butterfly Gandhimathi Appliances Limited\",\n    \"Symbol\": \"BUTTERFLY\",\n    \"ListingDate\": \"28-Apr-14\",\n    \"ISIN\": \"INE295F01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Barak Valley Cements Limited\",\n    \"Symbol\": \"BVCL\",\n    \"ListingDate\": \"23-Nov-07\",\n    \"ISIN\": \"INE139I01011\",\n    \"MarketCap\": \"₹ 114 Cr.\",\n    \"CurrentPrice\": \"₹ 51.6\",\n    \"HighLow\": \"₹ 59.6 / 22.0\",\n    \"StockPE\": \"13.0\",\n    \"BookValue\": \"₹ 53.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.60 %\",\n    \"ROE\": \"4.72 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"The Byke Hospitality Ltd\",\n    \"Symbol\": \"BYKE\",\n    \"ListingDate\": \"15-Apr-15\",\n    \"ISIN\": \"INE319B01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"California Software Company Limited\",\n    \"Symbol\": \"CALSOFT\",\n    \"ListingDate\": \"28-Jun-00\",\n    \"ISIN\": \"INE526B01014\",\n    \"MarketCap\": \"₹ 28.1 Cr.\",\n    \"CurrentPrice\": \"₹ 18.2\",\n    \"HighLow\": \"₹ 23.2 / 11.3\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 7.65\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.61 %\",\n    \"ROE\": \"1.69 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Camlin Fine Sciences Limited\",\n    \"Symbol\": \"CAMLINFINE\",\n    \"ListingDate\": \"20-Jan-15\",\n    \"ISIN\": \"INE052I01032\",\n    \"MarketCap\": \"₹ 2,236 Cr.\",\n    \"CurrentPrice\": \"₹ 134\",\n    \"HighLow\": \"₹ 186 / 124\",\n    \"StockPE\": \"94.3\",\n    \"BookValue\": \"₹ 56.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"10.2 %\",\n    \"ROE\": \"5.70 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Campus Activewear Limited\",\n    \"Symbol\": \"CAMPUS\",\n    \"ListingDate\": \"09-May-22\",\n    \"ISIN\": \"INE278Y01022\",\n    \"MarketCap\": \"₹ 8,532 Cr.\",\n    \"CurrentPrice\": \"₹ 280\",\n    \"HighLow\": \"₹ 425 / 238\",\n    \"StockPE\": \"78.7\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"31.8 %\",\n    \"ROE\": \"29.3 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Computer Age Management Services Limited\",\n    \"Symbol\": \"CAMS\",\n    \"ListingDate\": \"07-May-21\",\n    \"ISIN\": \"INE596I01012\",\n    \"MarketCap\": \"₹ 13,062 Cr.\",\n    \"CurrentPrice\": \"₹ 2,658\",\n    \"HighLow\": \"₹ 2,989 / 2,002\",\n    \"StockPE\": \"42.5\",\n    \"BookValue\": \"₹ 164\",\n    \"DividendYield\": \"1.42 %\",\n    \"ROCE\": \"46.4 %\",\n    \"ROE\": \"38.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Canara Bank\",\n    \"Symbol\": \"CANBK\",\n    \"ListingDate\": \"23-Dec-02\",\n    \"ISIN\": \"INE476A01014\",\n    \"MarketCap\": \"₹ 79,259 Cr.\",\n    \"CurrentPrice\": \"₹ 437\",\n    \"HighLow\": \"₹ 455 / 269\",\n    \"StockPE\": \"5.69\",\n    \"BookValue\": \"₹ 430\",\n    \"DividendYield\": \"2.73 %\",\n    \"ROCE\": \"5.33 %\",\n    \"ROE\": \"14.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Can Fin Homes Limited\",\n    \"Symbol\": \"CANFINHOME\",\n    \"ListingDate\": \"10-May-95\",\n    \"ISIN\": \"INE477A01020\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Cantabil Retail India Limited\",\n    \"Symbol\": \"CANTABIL\",\n    \"ListingDate\": \"12-Oct-10\",\n    \"ISIN\": \"INE068L01024\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Capacit'e Infraprojects Limited\",\n    \"Symbol\": \"CAPACITE\",\n    \"ListingDate\": \"25-Sep-17\",\n    \"ISIN\": \"INE264T01014\",\n    \"MarketCap\": \"₹ 1,864 Cr.\",\n    \"CurrentPrice\": \"₹ 253\",\n    \"HighLow\": \"₹ 283 / 109\",\n    \"StockPE\": \"22.3\",\n    \"BookValue\": \"₹ 164\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"16.9 %\",\n    \"ROE\": \"9.78 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Caplin Point Laboratories Limited\",\n    \"Symbol\": \"CAPLIPOINT\",\n    \"ListingDate\": \"23-Jun-14\",\n    \"ISIN\": \"INE475E01026\",\n    \"MarketCap\": \"₹ 10,453 Cr.\",\n    \"CurrentPrice\": \"₹ 1,376\",\n    \"HighLow\": \"₹ 1,432 / 575\",\n    \"StockPE\": \"25.1\",\n    \"BookValue\": \"₹ 273\",\n    \"DividendYield\": \"0.33 %\",\n    \"ROCE\": \"26.3 %\",\n    \"ROE\": \"25.6 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Capital Trust Limited\",\n    \"Symbol\": \"CAPTRUST\",\n    \"ListingDate\": \"16-Jan-17\",\n    \"ISIN\": \"INE707C01018\",\n    \"MarketCap\": \"₹ 181 Cr.\",\n    \"CurrentPrice\": \"₹ 111\",\n    \"HighLow\": \"₹ 122 / 52.1\",\n    \"StockPE\": \"27.6\",\n    \"BookValue\": \"₹ 76.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.06 %\",\n    \"ROE\": \"-8.18 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Carborundum Universal Limited\",\n    \"Symbol\": \"CARBORUNIV\",\n    \"ListingDate\": \"03-Apr-96\",\n    \"ISIN\": \"INE120A01034\",\n    \"MarketCap\": \"₹ 21,035 Cr.\",\n    \"CurrentPrice\": \"₹ 1,107\",\n    \"HighLow\": \"₹ 1,305 / 800\",\n    \"StockPE\": \"47.3\",\n    \"BookValue\": \"₹ 151\",\n    \"DividendYield\": \"0.32 %\",\n    \"ROCE\": \"19.7 %\",\n    \"ROE\": \"15.4 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Career Point Limited\",\n    \"Symbol\": \"CAREERP\",\n    \"ListingDate\": \"06-Oct-10\",\n    \"ISIN\": \"INE521J01018\",\n    \"MarketCap\": \"₹ 349 Cr.\",\n    \"CurrentPrice\": \"₹ 192\",\n    \"HighLow\": \"₹ 264 / 118\",\n    \"StockPE\": \"15.7\",\n    \"BookValue\": \"₹ 278\",\n    \"DividendYield\": \"1.05 %\",\n    \"ROCE\": \"3.05 %\",\n    \"ROE\": \"2.43 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"CARE Ratings Limited\",\n    \"Symbol\": \"CARERATING\",\n    \"ListingDate\": \"26-Dec-12\",\n    \"ISIN\": \"INE752H01013\",\n    \"MarketCap\": \"₹ 2,857 Cr.\",\n    \"CurrentPrice\": \"₹ 960\",\n    \"HighLow\": \"₹ 1,010 / 590\",\n    \"StockPE\": \"32.3\",\n    \"BookValue\": \"₹ 230\",\n    \"DividendYield\": \"1.75 %\",\n    \"ROCE\": \"18.7 %\",\n    \"ROE\": \"12.7 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Cartrade Tech Limited\",\n    \"Symbol\": \"CARTRADE\",\n    \"ListingDate\": \"20-Aug-21\",\n    \"ISIN\": \"INE290S01011\",\n    \"MarketCap\": \"₹ 3,350 Cr.\",\n    \"CurrentPrice\": \"₹ 715\",\n    \"HighLow\": \"₹ 900 / 340\",\n    \"StockPE\": \"64.5\",\n    \"BookValue\": \"₹ 442\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"3.16 %\",\n    \"ROE\": \"1.68 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"CARYSIL LIMITED\",\n    \"Symbol\": \"CARYSIL\",\n    \"ListingDate\": \"14-Jan-21\",\n    \"ISIN\": \"INE482D01024\",\n    \"MarketCap\": \"₹ 2,221 Cr.\",\n    \"CurrentPrice\": \"₹ 828\",\n    \"HighLow\": \"₹ 980 / 431\",\n    \"StockPE\": \"43.1\",\n    \"BookValue\": \"₹ 122\",\n    \"DividendYield\": \"0.24 %\",\n    \"ROCE\": \"17.8 %\",\n    \"ROE\": \"18.8 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Castrol India Limited\",\n    \"Symbol\": \"CASTROLIND\",\n    \"ListingDate\": \"14-Mar-14\",\n    \"ISIN\": \"INE172A01027\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Country Club Hospitality & Holidays Limited\",\n    \"Symbol\": \"CCHHL\",\n    \"ListingDate\": \"03-Feb-15\",\n    \"ISIN\": \"INE652F01027\",\n    \"MarketCap\": \"₹ 221 Cr.\",\n    \"CurrentPrice\": \"₹ 13.5\",\n    \"HighLow\": \"₹ 16.3 / 5.31\",\n    \"StockPE\": \"15.7\",\n    \"BookValue\": \"₹ 18.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"6.02 %\",\n    \"ROE\": \"3.84 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"CCL Products (India) Limited\",\n    \"Symbol\": \"CCL\",\n    \"ListingDate\": \"07-Jun-04\",\n    \"ISIN\": \"INE421D01022\",\n    \"MarketCap\": \"₹ 8,544 Cr.\",\n    \"CurrentPrice\": \"₹ 642\",\n    \"HighLow\": \"₹ 750 / 509\",\n    \"StockPE\": \"30.5\",\n    \"BookValue\": \"₹ 119\",\n    \"DividendYield\": \"0.86 %\",\n    \"ROCE\": \"15.8 %\",\n    \"ROE\": \"19.7 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Central Depository Services (India) Limited\",\n    \"Symbol\": \"CDSL\",\n    \"ListingDate\": \"30-Jun-17\",\n    \"ISIN\": \"INE736A01011\",\n    \"MarketCap\": \"₹ 19,034 Cr.\",\n    \"CurrentPrice\": \"₹ 1,821\",\n    \"HighLow\": \"₹ 1,988 / 881\",\n    \"StockPE\": \"59.5\",\n    \"BookValue\": \"₹ 117\",\n    \"DividendYield\": \"0.88 %\",\n    \"ROCE\": \"30.3 %\",\n    \"ROE\": \"23.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"CEAT Limited\",\n    \"Symbol\": \"CEATLTD\",\n    \"ListingDate\": \"01-Feb-08\",\n    \"ISIN\": \"INE482A01020\",\n    \"MarketCap\": \"₹ 9,845 Cr.\",\n    \"CurrentPrice\": \"₹ 2,434\",\n    \"HighLow\": \"₹ 2,642 / 1,357\",\n    \"StockPE\": \"18.8\",\n    \"BookValue\": \"₹ 926\",\n    \"DividendYield\": \"0.49 %\",\n    \"ROCE\": \"9.38 %\",\n    \"ROE\": \"6.14 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Celebrity Fashions Limited\",\n    \"Symbol\": \"CELEBRITY\",\n    \"ListingDate\": \"12-Jan-06\",\n    \"ISIN\": \"INE185H01016\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Cello World Limited\",\n    \"Symbol\": \"CELLO\",\n    \"ListingDate\": \"06-Nov-23\",\n    \"ISIN\": \"INE0LMW01024\",\n    \"MarketCap\": \"₹ 16,779 Cr.\",\n    \"CurrentPrice\": \"₹ 791\",\n    \"HighLow\": \"₹ 837 / 749\",\n    \"StockPE\": \"63.1\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"48.1 %\",\n    \"ROE\": \"125 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Century Enka Limited\",\n    \"Symbol\": \"CENTENKA\",\n    \"ListingDate\": \"10-May-95\",\n    \"ISIN\": \"INE485A01015\",\n    \"MarketCap\": \"₹ 948 Cr.\",\n    \"CurrentPrice\": \"₹ 434\",\n    \"HighLow\": \"₹ 484 / 340\",\n    \"StockPE\": \"22.4\",\n    \"BookValue\": \"₹ 605\",\n    \"DividendYield\": \"2.31 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Century Extrusions Limited\",\n    \"Symbol\": \"CENTEXT\",\n    \"ListingDate\": \"20-Jul-04\",\n    \"ISIN\": \"INE281A01026\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Central Bank of India\",\n    \"Symbol\": \"CENTRALBK\",\n    \"ListingDate\": \"21-Aug-07\",\n    \"ISIN\": \"INE483A01010\",\n    \"MarketCap\": \"₹ 43,926 Cr.\",\n    \"CurrentPrice\": \"₹ 50.6\",\n    \"HighLow\": \"₹ 56.0 / 22.2\",\n    \"StockPE\": \"20.1\",\n    \"BookValue\": \"₹ 33.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.29 %\",\n    \"ROE\": \"5.92 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Centrum Capital Limited\",\n    \"Symbol\": \"CENTRUM\",\n    \"ListingDate\": \"04-Apr-18\",\n    \"ISIN\": \"INE660C01027\",\n    \"MarketCap\": \"₹ 1,175 Cr.\",\n    \"CurrentPrice\": \"₹ 28.2\",\n    \"HighLow\": \"₹ 33.2 / 16.8\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 12.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"6.00 %\",\n    \"ROE\": \"-23.6 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Centum Electronics Limited\",\n    \"Symbol\": \"CENTUM\",\n    \"ListingDate\": \"05-Oct-07\",\n    \"ISIN\": \"INE320B01020\",\n    \"MarketCap\": \"₹ 1,753 Cr.\",\n    \"CurrentPrice\": \"₹ 1,360\",\n    \"HighLow\": \"₹ 1,970 / 497\",\n    \"StockPE\": \"135\",\n    \"BookValue\": \"₹ 158\",\n    \"DividendYield\": \"0.29 %\",\n    \"ROCE\": \"7.65 %\",\n    \"ROE\": \"3.23 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Century Plyboards (India) Limited\",\n    \"Symbol\": \"CENTURYPLY\",\n    \"ListingDate\": \"23-Mar-06\",\n    \"ISIN\": \"INE348B01021\",\n    \"MarketCap\": \"₹ 17,218 Cr.\",\n    \"CurrentPrice\": \"₹ 775\",\n    \"HighLow\": \"₹ 850 / 436\",\n    \"StockPE\": \"45.2\",\n    \"BookValue\": \"₹ 93.3\",\n    \"DividendYield\": \"0.13 %\",\n    \"ROCE\": \"27.0 %\",\n    \"ROE\": \"22.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Century Textiles & Industries Limited\",\n    \"Symbol\": \"CENTURYTEX\",\n    \"ListingDate\": \"27-Jun-03\",\n    \"ISIN\": \"INE055A01016\",\n    \"MarketCap\": \"₹ 13,567 Cr.\",\n    \"CurrentPrice\": \"₹ 1,215\",\n    \"HighLow\": \"₹ 1,363 / 588\",\n    \"StockPE\": \"218\",\n    \"BookValue\": \"₹ 337\",\n    \"DividendYield\": \"0.41 %\",\n    \"ROCE\": \"6.32 %\",\n    \"ROE\": \"4.65 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Cerebra Integrated Technologies Limited\",\n    \"Symbol\": \"CEREBRAINT\",\n    \"ListingDate\": \"26-Jun-13\",\n    \"ISIN\": \"INE345B01019\",\n    \"MarketCap\": \"₹ 90.4 Cr.\",\n    \"CurrentPrice\": \"₹ 7.46\",\n    \"HighLow\": \"₹ 14.3 / 4.45\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 19.5\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"3.36 %\",\n    \"ROE\": \"1.05 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"CESC Limited\",\n    \"Symbol\": \"CESC\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE486A01021\",\n    \"MarketCap\": \"₹ 17,551 Cr.\",\n    \"CurrentPrice\": \"₹ 132\",\n    \"HighLow\": \"₹ 133 / 62.1\",\n    \"StockPE\": \"12.2\",\n    \"BookValue\": \"₹ 86.8\",\n    \"DividendYield\": \"3.40 %\",\n    \"ROCE\": \"11.4 %\",\n    \"ROE\": \"12.2 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"CG Power and Industrial Solutions Limited\",\n    \"Symbol\": \"CGPOWER\",\n    \"ListingDate\": \"01-Mar-95\",\n    \"ISIN\": \"INE067A01029\",\n    \"MarketCap\": \"₹ 69,384 Cr.\",\n    \"CurrentPrice\": \"₹ 454\",\n    \"HighLow\": \"₹ 503 / 264\",\n    \"StockPE\": \"79.4\",\n    \"BookValue\": \"₹ 14.6\",\n    \"DividendYield\": \"0.33 %\",\n    \"ROCE\": \"61.6 %\",\n    \"ROE\": \"66.0 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Chalet Hotels Limited\",\n    \"Symbol\": \"CHALET\",\n    \"ListingDate\": \"07-Feb-19\",\n    \"ISIN\": \"INE427F01016\",\n    \"MarketCap\": \"₹ 14,376 Cr.\",\n    \"CurrentPrice\": \"₹ 700\",\n    \"HighLow\": \"₹ 700 / 327\",\n    \"StockPE\": \"62.6\",\n    \"BookValue\": \"₹ 82.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.22 %\",\n    \"ROE\": \"10.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Chambal Fertilizers & Chemicals Limited\",\n    \"Symbol\": \"CHAMBLFERT\",\n    \"ListingDate\": \"14-Jun-95\",\n    \"ISIN\": \"INE085A01013\",\n    \"MarketCap\": \"₹ 15,556 Cr.\",\n    \"CurrentPrice\": \"₹ 374\",\n    \"HighLow\": \"₹ 384 / 248\",\n    \"StockPE\": \"13.7\",\n    \"BookValue\": \"₹ 185\",\n    \"DividendYield\": \"1.98 %\",\n    \"ROCE\": \"16.0 %\",\n    \"ROE\": \"14.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Chembond Chemicals Ltd\",\n    \"Symbol\": \"CHEMBOND\",\n    \"ListingDate\": \"20-Nov-19\",\n    \"ISIN\": \"INE995D01025\",\n    \"MarketCap\": \"₹ 699 Cr.\",\n    \"CurrentPrice\": \"₹ 519\",\n    \"HighLow\": \"₹ 588 / 230\",\n    \"StockPE\": \"16.4\",\n    \"BookValue\": \"₹ 255\",\n    \"DividendYield\": \"0.57 %\",\n    \"ROCE\": \"10.9 %\",\n    \"ROE\": \"7.89 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Chemcon Speciality Chemicals Limited\",\n    \"Symbol\": \"CHEMCON\",\n    \"ListingDate\": \"01-Oct-20\",\n    \"ISIN\": \"INE03YM01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Chemfab Alkalis Limited\",\n    \"Symbol\": \"CHEMFAB\",\n    \"ListingDate\": \"25-Apr-18\",\n    \"ISIN\": \"INE783X01023\",\n    \"MarketCap\": \"₹ 536 Cr.\",\n    \"CurrentPrice\": \"₹ 377\",\n    \"HighLow\": \"₹ 412 / 213\",\n    \"StockPE\": \"12.2\",\n    \"BookValue\": \"₹ 263\",\n    \"DividendYield\": \"0.34 %\",\n    \"ROCE\": \"27.8 %\",\n    \"ROE\": \"20.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Chemplast Sanmar Limited\",\n    \"Symbol\": \"CHEMPLASTS\",\n    \"ListingDate\": \"24-Aug-21\",\n    \"ISIN\": \"INE488A01050\",\n    \"MarketCap\": \"₹ 7,912 Cr.\",\n    \"CurrentPrice\": \"₹ 500\",\n    \"HighLow\": \"₹ 543 / 342\",\n    \"StockPE\": \"224\",\n    \"BookValue\": \"₹ 115\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"14.9 %\",\n    \"ROE\": \"11.9 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Chennai Petroleum Corporation Limited\",\n    \"Symbol\": \"CHENNPETRO\",\n    \"ListingDate\": \"07-Jun-00\",\n    \"ISIN\": \"INE178A01016\",\n    \"MarketCap\": \"₹ 10,425 Cr.\",\n    \"CurrentPrice\": \"₹ 700\",\n    \"HighLow\": \"₹ 741 / 203\",\n    \"StockPE\": \"3.64\",\n    \"BookValue\": \"₹ 525\",\n    \"DividendYield\": \"3.82 %\",\n    \"ROCE\": \"44.8 %\",\n    \"ROE\": \"74.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Cheviot Company Limited\",\n    \"Symbol\": \"CHEVIOT\",\n    \"ListingDate\": \"20-Jun-22\",\n    \"ISIN\": \"INE974B01016\",\n    \"MarketCap\": \"₹ 856 Cr.\",\n    \"CurrentPrice\": \"₹ 1,423\",\n    \"HighLow\": \"₹ 1,627 / 960\",\n    \"StockPE\": \"80.5\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"1.90 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Choice International Limited\",\n    \"Symbol\": \"CHOICEIN\",\n    \"ListingDate\": \"08-Apr-22\",\n    \"ISIN\": \"INE102B01014\",\n    \"MarketCap\": \"₹ 4,570 Cr.\",\n    \"CurrentPrice\": \"₹ 459\",\n    \"HighLow\": \"₹ 465 / 245\",\n    \"StockPE\": \"48.2\",\n    \"BookValue\": \"₹ 53.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"15.8 %\",\n    \"ROE\": \"13.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Cholamandalam Investment and Finance Company Limited\",\n    \"Symbol\": \"CHOLAFIN\",\n    \"ListingDate\": \"15-May-96\",\n    \"ISIN\": \"INE121A01024\",\n    \"MarketCap\": \"₹ 1,05,084 Cr.\",\n    \"CurrentPrice\": \"₹ 1,252\",\n    \"HighLow\": \"₹ 1,284 / 658\",\n    \"StockPE\": \"34.8\",\n    \"BookValue\": \"₹ 192\",\n    \"DividendYield\": \"0.16 %\",\n    \"ROCE\": \"9.72 %\",\n    \"ROE\": \"20.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Cholamandalam Financial Holdings Limited\",\n    \"Symbol\": \"CHOLAHLDNG\",\n    \"ListingDate\": \"25-Sep-17\",\n    \"ISIN\": \"INE149A01033\",\n    \"MarketCap\": \"₹ 19,054 Cr.\",\n    \"CurrentPrice\": \"₹ 1,015\",\n    \"HighLow\": \"₹ 1,296 / 511\",\n    \"StockPE\": \"12.4\",\n    \"BookValue\": \"₹ 451\",\n    \"DividendYield\": \"0.05 %\",\n    \"ROCE\": \"9.78 %\",\n    \"ROE\": \"18.3 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"CIE Automotive India Limited\",\n    \"Symbol\": \"CIEINDIA\",\n    \"ListingDate\": \"30-Aug-07\",\n    \"ISIN\": \"INE536H01010\",\n    \"MarketCap\": \"₹ 17,978 Cr.\",\n    \"CurrentPrice\": \"₹ 474\",\n    \"HighLow\": \"₹ 580 / 332\",\n    \"StockPE\": \"23.4\",\n    \"BookValue\": \"₹ 134\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"14.6 %\",\n    \"ROE\": \"-1.65 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Cigniti Technologies Limited\",\n    \"Symbol\": \"CIGNITITEC\",\n    \"ListingDate\": \"13-Oct-14\",\n    \"ISIN\": \"INE675C01017\",\n    \"MarketCap\": \"₹ 2,921 Cr.\",\n    \"CurrentPrice\": \"₹ 1,070\",\n    \"HighLow\": \"₹ 1,204 / 522\",\n    \"StockPE\": \"15.7\",\n    \"BookValue\": \"₹ 245\",\n    \"DividendYield\": \"0.28 %\",\n    \"ROCE\": \"38.2 %\",\n    \"ROE\": \"32.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Cineline India Limited\",\n    \"Symbol\": \"CINELINE\",\n    \"ListingDate\": \"13-Jun-12\",\n    \"ISIN\": \"INE704H01022\",\n    \"MarketCap\": \"₹ 442 Cr.\",\n    \"CurrentPrice\": \"₹ 136\",\n    \"HighLow\": \"₹ 141 / 70.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 44.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.32 %\",\n    \"ROE\": \"1.50 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Cinevista Limited\",\n    \"Symbol\": \"CINEVISTA\",\n    \"ListingDate\": \"02-May-00\",\n    \"ISIN\": \"INE039B01026\",\n    \"MarketCap\": \"₹ 97.7 Cr.\",\n    \"CurrentPrice\": \"₹ 17.0\",\n    \"HighLow\": \"₹ 24.4 / 9.00\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 14.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-22.0 %\",\n    \"ROE\": \"-26.6 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Cipla Limited\",\n    \"Symbol\": \"CIPLA\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE059A01026\",\n    \"MarketCap\": \"₹ 1,01,108 Cr.\",\n    \"CurrentPrice\": \"₹ 1,252\",\n    \"HighLow\": \"₹ 1,284 / 852\",\n    \"StockPE\": \"28.5\",\n    \"BookValue\": \"₹ 308\",\n    \"DividendYield\": \"0.67 %\",\n    \"ROCE\": \"18.0 %\",\n    \"ROE\": \"12.8 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"CL Educate Limited\",\n    \"Symbol\": \"CLEDUCATE\",\n    \"ListingDate\": \"31-Mar-17\",\n    \"ISIN\": \"INE201M01029\",\n    \"MarketCap\": \"₹ 565 Cr.\",\n    \"CurrentPrice\": \"₹ 102\",\n    \"HighLow\": \"₹ 112 / 48.8\",\n    \"StockPE\": \"19.5\",\n    \"BookValue\": \"₹ 51.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"6.81 %\",\n    \"ROE\": \"8.16 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Chaman Lal Setia Exports Limited\",\n    \"Symbol\": \"CLSEL\",\n    \"ListingDate\": \"12-May-21\",\n    \"ISIN\": \"INE419D01026\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"CMS Info Systems Limited\",\n    \"Symbol\": \"CMSINFO\",\n    \"ListingDate\": \"31-Dec-21\",\n    \"ISIN\": \"INE925R01014\",\n    \"MarketCap\": \"₹ 5,916 Cr.\",\n    \"CurrentPrice\": \"₹ 378\",\n    \"HighLow\": \"₹ 421 / 261\",\n    \"StockPE\": \"18.2\",\n    \"BookValue\": \"₹ 109\",\n    \"DividendYield\": \"1.25 %\",\n    \"ROCE\": \"29.6 %\",\n    \"ROE\": \"20.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Coal India Limited\",\n    \"Symbol\": \"COALINDIA\",\n    \"ListingDate\": \"04-Nov-10\",\n    \"ISIN\": \"INE522F01014\",\n    \"MarketCap\": \"₹ 2,31,472 Cr.\",\n    \"CurrentPrice\": \"₹ 376\",\n    \"HighLow\": \"₹ 386 / 208\",\n    \"StockPE\": \"8.29\",\n    \"BookValue\": \"₹ 113\",\n    \"DividendYield\": \"6.49 %\",\n    \"ROCE\": \"70.5 %\",\n    \"ROE\": \"56.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Coastal Corporation Limited\",\n    \"Symbol\": \"COASTCORP\",\n    \"ListingDate\": \"08-Oct-21\",\n    \"ISIN\": \"INE377E01016\",\n    \"MarketCap\": \"₹ 349 Cr.\",\n    \"CurrentPrice\": \"₹ 262\",\n    \"HighLow\": \"₹ 309 / 166\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 195\",\n    \"DividendYield\": \"0.52 %\",\n    \"ROCE\": \"5.48 %\",\n    \"ROE\": \"2.93 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Cochin Shipyard Limited\",\n    \"Symbol\": \"COCHINSHIP\",\n    \"ListingDate\": \"11-Aug-17\",\n    \"ISIN\": \"INE704P01017\",\n    \"MarketCap\": \"₹ 17,759 Cr.\",\n    \"CurrentPrice\": \"₹ 1,350\",\n    \"HighLow\": \"₹ 1,409 / 410\",\n    \"StockPE\": \"45.7\",\n    \"BookValue\": \"₹ 358\",\n    \"DividendYield\": \"1.23 %\",\n    \"ROCE\": \"8.03 %\",\n    \"ROE\": \"5.89 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Coffee Day Enterprises Limited\",\n    \"Symbol\": \"COFFEEDAY\",\n    \"ListingDate\": \"02-Nov-15\",\n    \"ISIN\": \"INE335K01011\",\n    \"MarketCap\": \"₹ 1,366 Cr.\",\n    \"CurrentPrice\": \"₹ 64.6\",\n    \"HighLow\": \"₹ 68.0 / 26.4\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 146\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-6.30 %\",\n    \"ROE\": \"-12.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Coforge Limited\",\n    \"Symbol\": \"COFORGE\",\n    \"ListingDate\": \"30-Aug-04\",\n    \"ISIN\": \"INE591G01017\",\n    \"MarketCap\": \"₹ 38,768 Cr.\",\n    \"CurrentPrice\": \"₹ 6,286\",\n    \"HighLow\": \"₹ 6,530 / 3,565\",\n    \"StockPE\": \"53.4\",\n    \"BookValue\": \"₹ 541\",\n    \"DividendYield\": \"1.03 %\",\n    \"ROCE\": \"30.8 %\",\n    \"ROE\": \"25.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Colgate Palmolive (India) Limited\",\n    \"Symbol\": \"COLPAL\",\n    \"ListingDate\": \"17-Dec-07\",\n    \"ISIN\": \"INE259A01022\",\n    \"MarketCap\": \"₹ 68,580 Cr.\",\n    \"CurrentPrice\": \"₹ 2,521\",\n    \"HighLow\": \"₹ 2,550 / 1,435\",\n    \"StockPE\": \"159\",\n    \"BookValue\": \"₹ 12.1\",\n    \"DividendYield\": \"1.55 %\",\n    \"ROCE\": \"179 %\",\n    \"ROE\": \"158 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Compuage Infocom Limited\",\n    \"Symbol\": \"COMPINFO\",\n    \"ListingDate\": \"07-Jul-16\",\n    \"ISIN\": \"INE070C01037\",\n    \"MarketCap\": \"₹ 73.8 Cr.\",\n    \"CurrentPrice\": \"₹ 8.60\",\n    \"HighLow\": \"₹ 21.2 / 7.70\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 20.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-6.27 %\",\n    \"ROE\": \"-54.3 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Compucom Software Limited\",\n    \"Symbol\": \"COMPUSOFT\",\n    \"ListingDate\": \"02-Mar-12\",\n    \"ISIN\": \"INE453B01029\",\n    \"MarketCap\": \"₹ 239 Cr.\",\n    \"CurrentPrice\": \"₹ 30.2\",\n    \"HighLow\": \"₹ 45.0 / 14.6\",\n    \"StockPE\": \"33.7\",\n    \"BookValue\": \"₹ 17.8\",\n    \"DividendYield\": \"1.33 %\",\n    \"ROCE\": \"4.97 %\",\n    \"ROE\": \"3.10 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Container Corporation of India Limited\",\n    \"Symbol\": \"CONCOR\",\n    \"ListingDate\": \"07-May-97\",\n    \"ISIN\": \"INE111A01025\",\n    \"MarketCap\": \"₹ 52,399 Cr.\",\n    \"CurrentPrice\": \"₹ 860\",\n    \"HighLow\": \"₹ 880 / 555\",\n    \"StockPE\": \"44.3\",\n    \"BookValue\": \"₹ 190\",\n    \"DividendYield\": \"1.26 %\",\n    \"ROCE\": \"13.7 %\",\n    \"ROE\": \"10.6 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Concord Biotech Limited\",\n    \"Symbol\": \"CONCORDBIO\",\n    \"ListingDate\": \"18-Aug-23\",\n    \"ISIN\": \"INE338H01029\",\n    \"MarketCap\": \"₹ 15,221 Cr.\",\n    \"CurrentPrice\": \"₹ 1,455\",\n    \"HighLow\": \"₹ 1,540 / 900\",\n    \"StockPE\": \"64.1\",\n    \"BookValue\": \"₹ 129\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"26.4 %\",\n    \"ROE\": \"19.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Confidence Petroleum India Limited\",\n    \"Symbol\": \"CONFIPET\",\n    \"ListingDate\": \"13-Jun-19\",\n    \"ISIN\": \"INE552D01024\",\n    \"MarketCap\": \"₹ 2,567 Cr.\",\n    \"CurrentPrice\": \"₹ 88.8\",\n    \"HighLow\": \"₹ 105 / 55.3\",\n    \"StockPE\": \"22.5\",\n    \"BookValue\": \"₹ 30.9\",\n    \"DividendYield\": \"0.11 %\",\n    \"ROCE\": \"13.1 %\",\n    \"ROE\": \"12.3 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Consolidated Finvest & Holdings Limited\",\n    \"Symbol\": \"CONSOFINVT\",\n    \"ListingDate\": \"29-Mar-05\",\n    \"ISIN\": \"INE025A01027\",\n    \"MarketCap\": \"₹ 1,065 Cr.\",\n    \"CurrentPrice\": \"₹ 329\",\n    \"HighLow\": \"₹ 347 / 93.6\",\n    \"StockPE\": \"2.47\",\n    \"BookValue\": \"₹ 487\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"34.5 %\",\n    \"ROE\": \"33.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Control Print Limited\",\n    \"Symbol\": \"CONTROLPR\",\n    \"ListingDate\": \"24-Jun-16\",\n    \"ISIN\": \"INE663B01015\",\n    \"MarketCap\": \"₹ 1,623 Cr.\",\n    \"CurrentPrice\": \"₹ 1,015\",\n    \"HighLow\": \"₹ 1,052 / 383\",\n    \"StockPE\": \"28.1\",\n    \"BookValue\": \"₹ 191\",\n    \"DividendYield\": \"0.89 %\",\n    \"ROCE\": \"23.0 %\",\n    \"ROE\": \"19.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Coral India Finance & Housing Limited\",\n    \"Symbol\": \"CORALFINAC\",\n    \"ListingDate\": \"25-Mar-96\",\n    \"ISIN\": \"INE558D01021\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Cords Cable Industries Limited\",\n    \"Symbol\": \"CORDSCABLE\",\n    \"ListingDate\": \"13-Feb-08\",\n    \"ISIN\": \"INE792I01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Coromandel International Limited\",\n    \"Symbol\": \"COROMANDEL\",\n    \"ListingDate\": \"31-May-95\",\n    \"ISIN\": \"INE169A01031\",\n    \"MarketCap\": \"₹ 36,583 Cr.\",\n    \"CurrentPrice\": \"₹ 1,243\",\n    \"HighLow\": \"₹ 1,288 / 838\",\n    \"StockPE\": \"18.1\",\n    \"BookValue\": \"₹ 308\",\n    \"DividendYield\": \"0.97 %\",\n    \"ROCE\": \"38.3 %\",\n    \"ROE\": \"28.1 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"COSMO FIRST LIMITED\",\n    \"Symbol\": \"COSMOFIRST\",\n    \"ListingDate\": \"25-May-95\",\n    \"ISIN\": \"INE757A01017\",\n    \"MarketCap\": \"₹ 1,599 Cr.\",\n    \"CurrentPrice\": \"₹ 609\",\n    \"HighLow\": \"₹ 797 / 550\",\n    \"StockPE\": \"14.2\",\n    \"BookValue\": \"₹ 503\",\n    \"DividendYield\": \"0.81 %\",\n    \"ROCE\": \"17.0 %\",\n    \"ROE\": \"19.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Country Condo's Limited\",\n    \"Symbol\": \"COUNCODOS\",\n    \"ListingDate\": \"22-Jan-09\",\n    \"ISIN\": \"INE695B01025\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Craftsman Automation Limited\",\n    \"Symbol\": \"CRAFTSMAN\",\n    \"ListingDate\": \"25-Mar-21\",\n    \"ISIN\": \"INE00LO01017\",\n    \"MarketCap\": \"₹ 11,293 Cr.\",\n    \"CurrentPrice\": \"₹ 5,345\",\n    \"HighLow\": \"₹ 5,514 / 2,699\",\n    \"StockPE\": \"37.8\",\n    \"BookValue\": \"₹ 721\",\n    \"DividendYield\": \"0.21 %\",\n    \"ROCE\": \"20.6 %\",\n    \"ROE\": \"19.8 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Creative Newtech Limited\",\n    \"Symbol\": \"CREATIVE\",\n    \"ListingDate\": \"05-Aug-19\",\n    \"ISIN\": \"INE985W01018\",\n    \"MarketCap\": \"₹ 1,052 Cr.\",\n    \"CurrentPrice\": \"₹ 748\",\n    \"HighLow\": \"₹ 848 / 358\",\n    \"StockPE\": \"34.5\",\n    \"BookValue\": \"₹ 122\",\n    \"DividendYield\": \"0.07 %\",\n    \"ROCE\": \"23.8 %\",\n    \"ROE\": \"24.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Creative Eye Limited\",\n    \"Symbol\": \"CREATIVEYE\",\n    \"ListingDate\": \"20-Dec-00\",\n    \"ISIN\": \"INE230B01021\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"CREDITACCESS GRAMEEN LIMITED\",\n    \"Symbol\": \"CREDITACC\",\n    \"ListingDate\": \"23-Aug-18\",\n    \"ISIN\": \"INE741K01010\",\n    \"MarketCap\": \"₹ 25,261 Cr.\",\n    \"CurrentPrice\": \"₹ 1,587\",\n    \"HighLow\": \"₹ 1,796 / 834\",\n    \"StockPE\": \"21.0\",\n    \"BookValue\": \"₹ 364\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"12.1 %\",\n    \"ROE\": \"17.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Crest Ventures Limited\",\n    \"Symbol\": \"CREST\",\n    \"ListingDate\": \"27-Dec-06\",\n    \"ISIN\": \"INE559D01011\",\n    \"MarketCap\": \"₹ 814 Cr.\",\n    \"CurrentPrice\": \"₹ 286\",\n    \"HighLow\": \"₹ 330 / 142\",\n    \"StockPE\": \"13.7\",\n    \"BookValue\": \"₹ 370\",\n    \"DividendYield\": \"0.36 %\",\n    \"ROCE\": \"58.6 %\",\n    \"ROE\": \"50.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"CRISIL Limited\",\n    \"Symbol\": \"CRISIL\",\n    \"ListingDate\": \"28-Jun-95\",\n    \"ISIN\": \"INE007A01025\",\n    \"MarketCap\": \"₹ 31,504 Cr.\",\n    \"CurrentPrice\": \"₹ 4,309\",\n    \"HighLow\": \"₹ 4,455 / 2,888\",\n    \"StockPE\": \"51.9\",\n    \"BookValue\": \"₹ 263\",\n    \"DividendYield\": \"1.14 %\",\n    \"ROCE\": \"41.1 %\",\n    \"ROE\": \"32.9 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Crompton Greaves Consumer Electricals Limited\",\n    \"Symbol\": \"CROMPTON\",\n    \"ListingDate\": \"13-May-16\",\n    \"ISIN\": \"INE299U01018\",\n    \"MarketCap\": \"₹ 19,558 Cr.\",\n    \"CurrentPrice\": \"₹ 306\",\n    \"HighLow\": \"₹ 349 / 251\",\n    \"StockPE\": \"45.3\",\n    \"BookValue\": \"₹ 42.6\",\n    \"DividendYield\": \"1.00 %\",\n    \"ROCE\": \"16.0 %\",\n    \"ROE\": \"18.1 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Crown Lifters Limited\",\n    \"Symbol\": \"CROWN\",\n    \"ListingDate\": \"08-Feb-22\",\n    \"ISIN\": \"INE491V01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"CSB Bank Limited\",\n    \"Symbol\": \"CSBBANK\",\n    \"ListingDate\": \"04-Dec-19\",\n    \"ISIN\": \"INE679A01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"CSL Finance Limited\",\n    \"Symbol\": \"CSLFINANCE\",\n    \"ListingDate\": \"21-Jul-22\",\n    \"ISIN\": \"INE718F01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Cambridge Technology Enterprises Limited\",\n    \"Symbol\": \"CTE\",\n    \"ListingDate\": \"07-Feb-07\",\n    \"ISIN\": \"INE627H01017\",\n    \"MarketCap\": \"₹ 151 Cr.\",\n    \"CurrentPrice\": \"₹ 76.8\",\n    \"HighLow\": \"₹ 88.0 / 46.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 47.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.41 %\",\n    \"ROE\": \"8.92 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Cubex Tubings Limited\",\n    \"Symbol\": \"CUBEXTUB\",\n    \"ListingDate\": \"24-Apr-96\",\n    \"ISIN\": \"INE144D01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Cummins India Limited\",\n    \"Symbol\": \"CUMMINSIND\",\n    \"ListingDate\": \"29-Mar-95\",\n    \"ISIN\": \"INE298A01020\",\n    \"MarketCap\": \"₹ 54,401 Cr.\",\n    \"CurrentPrice\": \"₹ 1,962\",\n    \"HighLow\": \"₹ 2,045 / 1,356\",\n    \"StockPE\": \"37.6\",\n    \"BookValue\": \"₹ 219\",\n    \"DividendYield\": \"1.27 %\",\n    \"ROCE\": \"26.9 %\",\n    \"ROE\": \"22.1 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Cupid Limited\",\n    \"Symbol\": \"CUPID\",\n    \"ListingDate\": \"16-Sep-16\",\n    \"ISIN\": \"INE509F01011\",\n    \"MarketCap\": \"₹ 1,496 Cr.\",\n    \"CurrentPrice\": \"₹ 1,122\",\n    \"HighLow\": \"₹ 1,122 / 235\",\n    \"StockPE\": \"78.0\",\n    \"BookValue\": \"₹ 102\",\n    \"DividendYield\": \"0.45 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Cyber Media (India) Limited\",\n    \"Symbol\": \"CYBERMEDIA\",\n    \"ListingDate\": \"10-Jun-05\",\n    \"ISIN\": \"INE278G01037\",\n    \"MarketCap\": \"₹ 49.1 Cr.\",\n    \"CurrentPrice\": \"₹ 31.3\",\n    \"HighLow\": \"₹ 35.4 / 12.7\",\n    \"StockPE\": \"18.8\",\n    \"BookValue\": \"₹ -2.96\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"48.6 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Cybertech Systems And Software Limited\",\n    \"Symbol\": \"CYBERTECH\",\n    \"ListingDate\": \"27-Jan-99\",\n    \"ISIN\": \"INE214A01019\",\n    \"MarketCap\": \"₹ 574 Cr.\",\n    \"CurrentPrice\": \"₹ 202\",\n    \"HighLow\": \"₹ 209 / 84.8\",\n    \"StockPE\": \"27.2\",\n    \"BookValue\": \"₹ 58.0\",\n    \"DividendYield\": \"0.97 %\",\n    \"ROCE\": \"20.0 %\",\n    \"ROE\": \"13.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Cyient Limited\",\n    \"Symbol\": \"CYIENT\",\n    \"ListingDate\": \"30-Sep-98\",\n    \"ISIN\": \"INE136B01020\",\n    \"MarketCap\": \"₹ 24,948 Cr.\",\n    \"CurrentPrice\": \"₹ 2,251\",\n    \"HighLow\": \"₹ 2,459 / 801\",\n    \"StockPE\": \"35.8\",\n    \"BookValue\": \"₹ 365\",\n    \"DividendYield\": \"1.19 %\",\n    \"ROCE\": \"19.8 %\",\n    \"ROE\": \"16.6 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Cyient DLM Limited\",\n    \"Symbol\": \"CYIENTDLM\",\n    \"ListingDate\": \"10-Jul-23\",\n    \"ISIN\": \"INE055S01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Dabur India Limited\",\n    \"Symbol\": \"DABUR\",\n    \"ListingDate\": \"28-Apr-99\",\n    \"ISIN\": \"INE016A01026\",\n    \"MarketCap\": \"₹ 98,410 Cr.\",\n    \"CurrentPrice\": \"₹ 555\",\n    \"HighLow\": \"₹ 597 / 504\",\n    \"StockPE\": \"56.8\",\n    \"BookValue\": \"₹ 53.5\",\n    \"DividendYield\": \"0.96 %\",\n    \"ROCE\": \"22.7 %\",\n    \"ROE\": \"19.5 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Dalmia Bharat Limited\",\n    \"Symbol\": \"DALBHARAT\",\n    \"ListingDate\": \"22-Jan-19\",\n    \"ISIN\": \"INE00R701025\",\n    \"MarketCap\": \"₹ 43,106 Cr.\",\n    \"CurrentPrice\": \"₹ 2,298\",\n    \"HighLow\": \"₹ 2,431 / 1,672\",\n    \"StockPE\": \"37.5\",\n    \"BookValue\": \"₹ 854\",\n    \"DividendYield\": \"0.39 %\",\n    \"ROCE\": \"8.48 %\",\n    \"ROE\": \"6.97 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Dalmia Bharat Sugar and Industries Limited\",\n    \"Symbol\": \"DALMIASUG\",\n    \"ListingDate\": \"17-Jan-96\",\n    \"ISIN\": \"INE495A01022\",\n    \"MarketCap\": \"₹ 3,318 Cr.\",\n    \"CurrentPrice\": \"₹ 410\",\n    \"HighLow\": \"₹ 490 / 310\",\n    \"StockPE\": \"11.3\",\n    \"BookValue\": \"₹ 292\",\n    \"DividendYield\": \"0.98 %\",\n    \"ROCE\": \"13.1 %\",\n    \"ROE\": \"13.0 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Damodar Industries Limited\",\n    \"Symbol\": \"DAMODARIND\",\n    \"ListingDate\": \"04-Jul-16\",\n    \"ISIN\": \"INE497D01022\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Dangee Dums Limited\",\n    \"Symbol\": \"DANGEE\",\n    \"ListingDate\": \"13-Nov-20\",\n    \"ISIN\": \"INE688Y01022\",\n    \"MarketCap\": \"₹ 172 Cr.\",\n    \"CurrentPrice\": \"₹ 11.2\",\n    \"HighLow\": \"₹ 19.6 / 9.25\",\n    \"StockPE\": \"203\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Datamatics Global Services Limited\",\n    \"Symbol\": \"DATAMATICS\",\n    \"ListingDate\": \"07-May-04\",\n    \"ISIN\": \"INE365B01017\",\n    \"MarketCap\": \"₹ 4,264 Cr.\",\n    \"CurrentPrice\": \"₹ 723\",\n    \"HighLow\": \"₹ 792 / 270\",\n    \"StockPE\": \"20.6\",\n    \"BookValue\": \"₹ 191\",\n    \"DividendYield\": \"0.52 %\",\n    \"ROCE\": \"24.1 %\",\n    \"ROE\": \"18.7 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Data Patterns (India) Limited\",\n    \"Symbol\": \"DATAPATTNS\",\n    \"ListingDate\": \"24-Dec-21\",\n    \"ISIN\": \"INE0IX101010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"D.B.Corp Limited\",\n    \"Symbol\": \"DBCORP\",\n    \"ListingDate\": \"06-Jan-10\",\n    \"ISIN\": \"INE950I01011\",\n    \"MarketCap\": \"₹ 4,532 Cr.\",\n    \"CurrentPrice\": \"₹ 254\",\n    \"HighLow\": \"₹ 325 / 92.8\",\n    \"StockPE\": \"16.9\",\n    \"BookValue\": \"₹ 113\",\n    \"DividendYield\": \"2.36 %\",\n    \"ROCE\": \"11.8 %\",\n    \"ROE\": \"8.88 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Dilip Buildcon Limited\",\n    \"Symbol\": \"DBL\",\n    \"ListingDate\": \"11-Aug-16\",\n    \"ISIN\": \"INE917M01012\",\n    \"MarketCap\": \"₹ 5,658 Cr.\",\n    \"CurrentPrice\": \"₹ 387\",\n    \"HighLow\": \"₹ 439 / 160\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 283\",\n    \"DividendYield\": \"0.03 %\",\n    \"ROCE\": \"5.34 %\",\n    \"ROE\": \"-7.47 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Dhampur Bio Organics Limited\",\n    \"Symbol\": \"DBOL\",\n    \"ListingDate\": \"08-Sep-22\",\n    \"ISIN\": \"INE0I3401014\",\n    \"MarketCap\": \"₹ 1,000 Cr.\",\n    \"CurrentPrice\": \"₹ 151\",\n    \"HighLow\": \"₹ 210 / 115\",\n    \"StockPE\": \"9.28\",\n    \"BookValue\": \"₹ 148\",\n    \"DividendYield\": \"2.33 %\",\n    \"ROCE\": \"10.0 %\",\n    \"ROE\": \"11.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"D B Realty Limited\",\n    \"Symbol\": \"DBREALTY\",\n    \"ListingDate\": \"24-Feb-10\",\n    \"ISIN\": \"INE879I01012\",\n    \"MarketCap\": \"₹ 9,307 Cr.\",\n    \"CurrentPrice\": \"₹ 186\",\n    \"HighLow\": \"₹ 223 / 55.0\",\n    \"StockPE\": \"82.5\",\n    \"BookValue\": \"₹ 74.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-11.7 %\",\n    \"ROE\": \"-37.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"DB (International) Stock Brokers Limited\",\n    \"Symbol\": \"DBSTOCKBRO\",\n    \"ListingDate\": \"29-Feb-12\",\n    \"ISIN\": \"INE921B01025\",\n    \"MarketCap\": \"₹ 117 Cr.\",\n    \"CurrentPrice\": \"₹ 33.3\",\n    \"HighLow\": \"₹ 49.0 / 19.6\",\n    \"StockPE\": \"18.3\",\n    \"BookValue\": \"₹ 17.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"16.9 %\",\n    \"ROE\": \"11.8 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Dishman Carbogen Amcis Limited\",\n    \"Symbol\": \"DCAL\",\n    \"ListingDate\": \"21-Sep-17\",\n    \"ISIN\": \"INE385W01011\",\n    \"MarketCap\": \"₹ 2,722 Cr.\",\n    \"CurrentPrice\": \"₹ 174\",\n    \"HighLow\": \"₹ 182 / 80.0\",\n    \"StockPE\": \"1,158\",\n    \"BookValue\": \"₹ 368\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.03 %\",\n    \"ROE\": \"-0.15 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Dc Infotech And Communication Limited\",\n    \"Symbol\": \"DCI\",\n    \"ListingDate\": \"19-Oct-22\",\n    \"ISIN\": \"INE0A1101019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"DCM  Limited\",\n    \"Symbol\": \"DCM\",\n    \"ListingDate\": \"29-Mar-95\",\n    \"ISIN\": \"INE498A01018\",\n    \"MarketCap\": \"₹ 147 Cr.\",\n    \"CurrentPrice\": \"₹ 78.6\",\n    \"HighLow\": \"₹ 104 / 62.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 7.47\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"25.8 %\",\n    \"ROE\": \"15.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"DCM Financial Services Limited\",\n    \"Symbol\": \"DCMFINSERV\",\n    \"ListingDate\": \"21-May-97\",\n    \"ISIN\": \"INE891B01012\",\n    \"MarketCap\": \"₹ 9.96 Cr.\",\n    \"CurrentPrice\": \"₹ 4.50\",\n    \"HighLow\": \"₹ 7.60 / 3.25\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -21.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-2.97 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"DCM Nouvelle Limited\",\n    \"Symbol\": \"DCMNVL\",\n    \"ListingDate\": \"16-Jul-19\",\n    \"ISIN\": \"INE08KP01019\",\n    \"MarketCap\": \"₹ 329 Cr.\",\n    \"CurrentPrice\": \"₹ 176\",\n    \"HighLow\": \"₹ 215 / 127\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 168\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.18 %\",\n    \"ROE\": \"4.32 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"DCM Shriram Limited\",\n    \"Symbol\": \"DCMSHRIRAM\",\n    \"ListingDate\": \"12-Apr-95\",\n    \"ISIN\": \"INE499A01024\",\n    \"MarketCap\": \"₹ 16,088 Cr.\",\n    \"CurrentPrice\": \"₹ 1,032\",\n    \"HighLow\": \"₹ 1,146 / 730\",\n    \"StockPE\": \"26.0\",\n    \"BookValue\": \"₹ 399\",\n    \"DividendYield\": \"1.36 %\",\n    \"ROCE\": \"19.0 %\",\n    \"ROE\": \"15.1 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"DCM Shriram Industries Limited\",\n    \"Symbol\": \"DCMSRIND\",\n    \"ListingDate\": \"24-Dec-21\",\n    \"ISIN\": \"INE843D01027\",\n    \"MarketCap\": \"₹ 1,350 Cr.\",\n    \"CurrentPrice\": \"₹ 155\",\n    \"HighLow\": \"₹ 172 / 58.9\",\n    \"StockPE\": \"14.9\",\n    \"BookValue\": \"₹ 87.7\",\n    \"DividendYield\": \"0.64 %\",\n    \"ROCE\": \"10.0 %\",\n    \"ROE\": \"8.61 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"DCW Limited\",\n    \"Symbol\": \"DCW\",\n    \"ListingDate\": \"25-May-95\",\n    \"ISIN\": \"INE500A01029\",\n    \"MarketCap\": \"₹ 1,693 Cr.\",\n    \"CurrentPrice\": \"₹ 57.4\",\n    \"HighLow\": \"₹ 63.4 / 40.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 26.2\",\n    \"DividendYield\": \"0.85 %\",\n    \"ROCE\": \"1.23 %\",\n    \"ROE\": \"-0.73 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"DCX Systems Limited\",\n    \"Symbol\": \"DCXINDIA\",\n    \"ListingDate\": \"11-Nov-22\",\n    \"ISIN\": \"INE0KL801015\",\n    \"MarketCap\": \"₹ 3,323 Cr.\",\n    \"CurrentPrice\": \"₹ 344\",\n    \"HighLow\": \"₹ 386 / 138\",\n    \"StockPE\": \"37.9\",\n    \"BookValue\": \"₹ 61.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"13.2 %\",\n    \"ROE\": \"21.0 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Deccan Cements Limited\",\n    \"Symbol\": \"DECCANCE\",\n    \"ListingDate\": \"02-Aug-07\",\n    \"ISIN\": \"INE583C01021\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Deepak Fertilizers and Petrochemicals Corporation Limited\",\n    \"Symbol\": \"DEEPAKFERT\",\n    \"ListingDate\": \"17-Jan-03\",\n    \"ISIN\": \"INE501A01019\",\n    \"MarketCap\": \"₹ 8,630 Cr.\",\n    \"CurrentPrice\": \"₹ 684\",\n    \"HighLow\": \"₹ 723 / 512\",\n    \"StockPE\": \"12.8\",\n    \"BookValue\": \"₹ 411\",\n    \"DividendYield\": \"1.42 %\",\n    \"ROCE\": \"25.8 %\",\n    \"ROE\": \"27.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Deepak Nitrite Limited\",\n    \"Symbol\": \"DEEPAKNTR\",\n    \"ListingDate\": \"29-Sep-10\",\n    \"ISIN\": \"INE288B01029\",\n    \"MarketCap\": \"₹ 33,708 Cr.\",\n    \"CurrentPrice\": \"₹ 2,471\",\n    \"HighLow\": \"₹ 2,496 / 1,730\",\n    \"StockPE\": \"42.3\",\n    \"BookValue\": \"₹ 318\",\n    \"DividendYield\": \"0.31 %\",\n    \"ROCE\": \"29.7 %\",\n    \"ROE\": \"22.7 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"DEEP ENERGY RESOURCES LIMITED\",\n    \"Symbol\": \"DEEPENR\",\n    \"ListingDate\": \"09-Mar-10\",\n    \"ISIN\": \"INE677H01012\",\n    \"MarketCap\": \"₹ 633 Cr.\",\n    \"CurrentPrice\": \"₹ 198\",\n    \"HighLow\": \"₹ 206 / 82.2\",\n    \"StockPE\": \"2,436\",\n    \"BookValue\": \"₹ 125\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"0.76 %\",\n    \"ROE\": \"0.51 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Deep Industries Limited\",\n    \"Symbol\": \"DEEPINDS\",\n    \"ListingDate\": \"27-Apr-21\",\n    \"ISIN\": \"INE0FHS01024\",\n    \"MarketCap\": \"₹ 1,630 Cr.\",\n    \"CurrentPrice\": \"₹ 255\",\n    \"HighLow\": \"₹ 299 / 125\",\n    \"StockPE\": \"14.0\",\n    \"BookValue\": \"₹ 224\",\n    \"DividendYield\": \"0.74 %\",\n    \"ROCE\": \"8.39 %\",\n    \"ROE\": \"6.89 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Delhivery Limited\",\n    \"Symbol\": \"DELHIVERY\",\n    \"ListingDate\": \"24-May-22\",\n    \"ISIN\": \"INE148O01028\",\n    \"MarketCap\": \"₹ 28,619 Cr.\",\n    \"CurrentPrice\": \"₹ 389\",\n    \"HighLow\": \"₹ 452 / 291\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 124\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-11.4 %\",\n    \"ROE\": \"-13.5 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"DELPHI WORLD MONEY LIMITED\",\n    \"Symbol\": \"DELPHIFX\",\n    \"ListingDate\": \"28-Jun-11\",\n    \"ISIN\": \"INE726L01019\",\n    \"MarketCap\": \"₹ 303 Cr.\",\n    \"CurrentPrice\": \"₹ 272\",\n    \"HighLow\": \"₹ 475 / 264\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 94.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-5.99 %\",\n    \"ROE\": \"-0.71 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Delta Corp Limited\",\n    \"Symbol\": \"DELTACORP\",\n    \"ListingDate\": \"02-Nov-07\",\n    \"ISIN\": \"INE124G01033\",\n    \"MarketCap\": \"₹ 3,928 Cr.\",\n    \"CurrentPrice\": \"₹ 147\",\n    \"HighLow\": \"₹ 260 / 123\",\n    \"StockPE\": \"14.3\",\n    \"BookValue\": \"₹ 87.7\",\n    \"DividendYield\": \"0.86 %\",\n    \"ROCE\": \"16.3 %\",\n    \"ROE\": \"12.4 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Delta Manufacturing Limited\",\n    \"Symbol\": \"DELTAMAGNT\",\n    \"ListingDate\": \"18-Oct-95\",\n    \"ISIN\": \"INE393A01011\",\n    \"MarketCap\": \"₹ 104 Cr.\",\n    \"CurrentPrice\": \"₹ 96.3\",\n    \"HighLow\": \"₹ 122 / 61.2\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 29.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-9.97 %\",\n    \"ROE\": \"-32.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Den Networks Limited\",\n    \"Symbol\": \"DEN\",\n    \"ListingDate\": \"24-Nov-09\",\n    \"ISIN\": \"INE947J01015\",\n    \"MarketCap\": \"₹ 2,661 Cr.\",\n    \"CurrentPrice\": \"₹ 55.8\",\n    \"HighLow\": \"₹ 61.3 / 25.2\",\n    \"StockPE\": \"10.1\",\n    \"BookValue\": \"₹ 69.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.97 %\",\n    \"ROE\": \"6.01 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"De Nora India Limited\",\n    \"Symbol\": \"DENORA\",\n    \"ListingDate\": \"07-Aug-97\",\n    \"ISIN\": \"INE244A01016\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Dev Information Technology Limited\",\n    \"Symbol\": \"DEVIT\",\n    \"ListingDate\": \"15-Feb-22\",\n    \"ISIN\": \"INE060X01026\",\n    \"MarketCap\": \"₹ 348 Cr.\",\n    \"CurrentPrice\": \"₹ 157\",\n    \"HighLow\": \"₹ 175 / 81.0\",\n    \"StockPE\": \"36.9\",\n    \"BookValue\": \"₹ 20.2\",\n    \"DividendYield\": \"0.15 %\",\n    \"ROCE\": \"15.2 %\",\n    \"ROE\": \"12.5 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Devyani International Limited\",\n    \"Symbol\": \"DEVYANI\",\n    \"ListingDate\": \"16-Aug-21\",\n    \"ISIN\": \"INE872J01023\",\n    \"MarketCap\": \"₹ 22,984 Cr.\",\n    \"CurrentPrice\": \"₹ 191\",\n    \"HighLow\": \"₹ 228 / 134\",\n    \"StockPE\": \"108\",\n    \"BookValue\": \"₹ 8.59\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"18.4 %\",\n    \"ROE\": \"33.9 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Digicontent Limited\",\n    \"Symbol\": \"DGCONTENT\",\n    \"ListingDate\": \"18-Jun-19\",\n    \"ISIN\": \"INE03JI01017\",\n    \"MarketCap\": \"₹ 108 Cr.\",\n    \"CurrentPrice\": \"₹ 18.6\",\n    \"HighLow\": \"₹ 24.5 / 13.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -0.91\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.98 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Dhampur Sugar Mills Limited\",\n    \"Symbol\": \"DHAMPURSUG\",\n    \"ListingDate\": \"29-Mar-95\",\n    \"ISIN\": \"INE041A01016\",\n    \"MarketCap\": \"₹ 1,682 Cr.\",\n    \"CurrentPrice\": \"₹ 253\",\n    \"HighLow\": \"₹ 326 / 202\",\n    \"StockPE\": \"10.7\",\n    \"BookValue\": \"₹ 159\",\n    \"DividendYield\": \"1.98 %\",\n    \"ROCE\": \"15.2 %\",\n    \"ROE\": \"16.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Dhanlaxmi Bank Limited\",\n    \"Symbol\": \"DHANBANK\",\n    \"ListingDate\": \"01-Apr-04\",\n    \"ISIN\": \"INE680A01011\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Dhani Services Limited\",\n    \"Symbol\": \"DHANI\",\n    \"ListingDate\": \"02-Apr-08\",\n    \"ISIN\": \"INE274G01010\",\n    \"MarketCap\": \"₹ 2,370 Cr.\",\n    \"CurrentPrice\": \"₹ 39.3\",\n    \"HighLow\": \"₹ 49.1 / 23.6\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 59.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-5.05 %\",\n    \"ROE\": \"-10.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Dhanuka Agritech Limited\",\n    \"Symbol\": \"DHANUKA\",\n    \"ListingDate\": \"29-Jun-11\",\n    \"ISIN\": \"INE435G01025\",\n    \"MarketCap\": \"₹ 4,839 Cr.\",\n    \"CurrentPrice\": \"₹ 1,062\",\n    \"HighLow\": \"₹ 1,099 / 603\",\n    \"StockPE\": \"19.7\",\n    \"BookValue\": \"₹ 260\",\n    \"DividendYield\": \"0.19 %\",\n    \"ROCE\": \"27.0 %\",\n    \"ROE\": \"21.3 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Dharmaj Crop Guard Limited\",\n    \"Symbol\": \"DHARMAJ\",\n    \"ListingDate\": \"08-Dec-22\",\n    \"ISIN\": \"INE00OQ01016\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Dhruv Consultancy Services Limited\",\n    \"Symbol\": \"DHRUV\",\n    \"ListingDate\": \"25-Nov-21\",\n    \"ISIN\": \"INE506Z01015\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Dhunseri Investments Limited\",\n    \"Symbol\": \"DHUNINV\",\n    \"ListingDate\": \"18-Mar-11\",\n    \"ISIN\": \"INE320L01011\",\n    \"MarketCap\": \"₹ 716 Cr.\",\n    \"CurrentPrice\": \"₹ 1,175\",\n    \"HighLow\": \"₹ 1,399 / 555\",\n    \"StockPE\": \"5.17\",\n    \"BookValue\": \"₹ 4,040\",\n    \"DividendYield\": \"0.21 %\",\n    \"ROCE\": \"23.3 %\",\n    \"ROE\": \"13.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Diamond Power Infrastructure Limited\",\n    \"Symbol\": \"DIACABS\",\n    \"ListingDate\": \"15-Sep-23\",\n    \"ISIN\": \"INE989C01020\",\n    \"MarketCap\": \"₹ 828 Cr.\",\n    \"CurrentPrice\": \"₹ 157\",\n    \"HighLow\": \"₹ 157 / 22.1\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 20.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-28.7 %\",\n    \"ROE\": \"-144 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Diamines & Chemicals Limited\",\n    \"Symbol\": \"DIAMINESQ\",\n    \"ListingDate\": \"25-Sep-23\",\n    \"ISIN\": \"INE591D01014\",\n    \"MarketCap\": \"₹ 527 Cr.\",\n    \"CurrentPrice\": \"₹ 538\",\n    \"HighLow\": \"₹ 687 / 390\",\n    \"StockPE\": \"18.2\",\n    \"BookValue\": \"₹ 146\",\n    \"DividendYield\": \"1.11 %\",\n    \"ROCE\": \"48.2 %\",\n    \"ROE\": \"35.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Prataap Snacks Limited\",\n    \"Symbol\": \"DIAMONDYD\",\n    \"ListingDate\": \"05-Oct-17\",\n    \"ISIN\": \"INE393P01035\",\n    \"MarketCap\": \"₹ 2,502 Cr.\",\n    \"CurrentPrice\": \"₹ 1,049\",\n    \"HighLow\": \"₹ 1,116 / 661\",\n    \"StockPE\": \"123\",\n    \"BookValue\": \"₹ 288\",\n    \"DividendYield\": \"0.10 %\",\n    \"ROCE\": \"1.15 %\",\n    \"ROE\": \"3.14 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"DIC India Limited\",\n    \"Symbol\": \"DICIND\",\n    \"ListingDate\": \"30-Aug-95\",\n    \"ISIN\": \"INE303A01010\",\n    \"MarketCap\": \"₹ 456 Cr.\",\n    \"CurrentPrice\": \"₹ 497\",\n    \"HighLow\": \"₹ 545 / 363\",\n    \"StockPE\": \"20.7\",\n    \"BookValue\": \"₹ 231\",\n    \"DividendYield\": \"0.40 %\",\n    \"ROCE\": \"15.2 %\",\n    \"ROE\": \"10.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"DiGiSPICE Technologies Limited\",\n    \"Symbol\": \"DIGISPICE\",\n    \"ListingDate\": \"27-May-08\",\n    \"ISIN\": \"INE927C01020\",\n    \"MarketCap\": \"₹ 648 Cr.\",\n    \"CurrentPrice\": \"₹ 27.9\",\n    \"HighLow\": \"₹ 47.6 / 15.7\",\n    \"StockPE\": \"82.5\",\n    \"BookValue\": \"₹ 8.87\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-4.13 %\",\n    \"ROE\": \"-7.00 %\",\n    \"FaceValue\": \"₹ 3.00\"\n  },\n  {\n    \"Name\": \"Digjam Limited\",\n    \"Symbol\": \"DIGJAMLMTD\",\n    \"ListingDate\": \"18-Oct-21\",\n    \"ISIN\": \"INE731U01028\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Debock Industries Limited\",\n    \"Symbol\": \"DIL\",\n    \"ListingDate\": \"31-Mar-22\",\n    \"ISIN\": \"INE411Y01011\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Divgi Torqtransfer Systems Limited\",\n    \"Symbol\": \"DIVGIITTS\",\n    \"ListingDate\": \"14-Mar-23\",\n    \"ISIN\": \"INE753U01022\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Divi's Laboratories Limited\",\n    \"Symbol\": \"DIVISLAB\",\n    \"ListingDate\": \"12-Mar-03\",\n    \"ISIN\": \"INE361B01024\",\n    \"MarketCap\": \"₹ 1,03,878 Cr.\",\n    \"CurrentPrice\": \"₹ 3,913\",\n    \"HighLow\": \"₹ 3,952 / 2,730\",\n    \"StockPE\": \"78.0\",\n    \"BookValue\": \"₹ 478\",\n    \"DividendYield\": \"0.76 %\",\n    \"ROCE\": \"19.4 %\",\n    \"ROE\": \"14.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Dixon Technologies (India) Limited\",\n    \"Symbol\": \"DIXON\",\n    \"ListingDate\": \"18-Sep-17\",\n    \"ISIN\": \"INE935N01020\",\n    \"MarketCap\": \"₹ 39,105 Cr.\",\n    \"CurrentPrice\": \"₹ 6,538\",\n    \"HighLow\": \"₹ 6,765 / 2,553\",\n    \"StockPE\": \"127\",\n    \"BookValue\": \"₹ 244\",\n    \"DividendYield\": \"0.05 %\",\n    \"ROCE\": \"24.2 %\",\n    \"ROE\": \"22.5 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"DJ Mediaprint & Logistics Limited\",\n    \"Symbol\": \"DJML\",\n    \"ListingDate\": \"05-Dec-22\",\n    \"ISIN\": \"INE0B1K01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"DLF Limited\",\n    \"Symbol\": \"DLF\",\n    \"ListingDate\": \"05-Jul-07\",\n    \"ISIN\": \"INE271C01023\",\n    \"MarketCap\": \"₹ 1,79,695 Cr.\",\n    \"CurrentPrice\": \"₹ 726\",\n    \"HighLow\": \"₹ 730 / 336\",\n    \"StockPE\": \"80.4\",\n    \"BookValue\": \"₹ 153\",\n    \"DividendYield\": \"0.55 %\",\n    \"ROCE\": \"4.61 %\",\n    \"ROE\": \"5.47 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"D-Link (India) Limited\",\n    \"Symbol\": \"DLINKINDIA\",\n    \"ListingDate\": \"18-Dec-09\",\n    \"ISIN\": \"INE250K01012\",\n    \"MarketCap\": \"₹ 1,144 Cr.\",\n    \"CurrentPrice\": \"₹ 322\",\n    \"HighLow\": \"₹ 365 / 192\",\n    \"StockPE\": \"12.4\",\n    \"BookValue\": \"₹ 109\",\n    \"DividendYield\": \"1.55 %\",\n    \"ROCE\": \"32.9 %\",\n    \"ROE\": \"24.7 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Avenue Supermarts Limited\",\n    \"Symbol\": \"DMART\",\n    \"ListingDate\": \"21-Mar-17\",\n    \"ISIN\": \"INE192R01011\",\n    \"MarketCap\": \"₹ 2,62,607 Cr.\",\n    \"CurrentPrice\": \"₹ 4,036\",\n    \"HighLow\": \"₹ 4,206 / 3,292\",\n    \"StockPE\": \"113\",\n    \"BookValue\": \"₹ 268\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"20.1 %\",\n    \"ROE\": \"16.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"DMCC SPECIALITY CHEMICALS LIMITED\",\n    \"Symbol\": \"DMCC\",\n    \"ListingDate\": \"01-Dec-21\",\n    \"ISIN\": \"INE505A01010\",\n    \"MarketCap\": \"₹ 807 Cr.\",\n    \"CurrentPrice\": \"₹ 324\",\n    \"HighLow\": \"₹ 371 / 228\",\n    \"StockPE\": \"89.3\",\n    \"BookValue\": \"₹ 81.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"6.81 %\",\n    \"ROE\": \"3.14 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Diligent Media Corporation Limited\",\n    \"Symbol\": \"DNAMEDIA\",\n    \"ListingDate\": \"11-Dec-17\",\n    \"ISIN\": \"INE016M01021\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Dodla Dairy Limited\",\n    \"Symbol\": \"DODLA\",\n    \"ListingDate\": \"28-Jun-21\",\n    \"ISIN\": \"INE021O01019\",\n    \"MarketCap\": \"₹ 5,314 Cr.\",\n    \"CurrentPrice\": \"₹ 893\",\n    \"HighLow\": \"₹ 916 / 417\",\n    \"StockPE\": \"39.0\",\n    \"BookValue\": \"₹ 177\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"16.2 %\",\n    \"ROE\": \"13.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Dolat Algotech Limited\",\n    \"Symbol\": \"DOLATALGO\",\n    \"ListingDate\": \"19-Aug-19\",\n    \"ISIN\": \"INE966A01022\",\n    \"MarketCap\": \"₹ 1,103 Cr.\",\n    \"CurrentPrice\": \"₹ 62.7\",\n    \"HighLow\": \"₹ 71.9 / 39.2\",\n    \"StockPE\": \"13.2\",\n    \"BookValue\": \"₹ 39.0\",\n    \"DividendYield\": \"0.41 %\",\n    \"ROCE\": \"25.5 %\",\n    \"ROE\": \"19.9 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Dollar Industries Limited\",\n    \"Symbol\": \"DOLLAR\",\n    \"ListingDate\": \"21-Apr-17\",\n    \"ISIN\": \"INE325C01035\",\n    \"MarketCap\": \"₹ 2,636 Cr.\",\n    \"CurrentPrice\": \"₹ 465\",\n    \"HighLow\": \"₹ 475 / 310\",\n    \"StockPE\": \"55.4\",\n    \"BookValue\": \"₹ 129\",\n    \"DividendYield\": \"0.63 %\",\n    \"ROCE\": \"9.21 %\",\n    \"ROE\": \"7.58 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Dolphin Offshore Enterprises (India) Limited\",\n    \"Symbol\": \"DOLPHIN\",\n    \"ListingDate\": \"21-Aug-23\",\n    \"ISIN\": \"INE920A01029\",\n    \"MarketCap\": \"₹ 503 Cr.\",\n    \"CurrentPrice\": \"₹ 1,257\",\n    \"HighLow\": \"₹ 1,257 / 120\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 572\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-4.42 %\",\n    \"ROE\": \"-7.82 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"DOMS Industries Limited\",\n    \"Symbol\": \"DOMS\",\n    \"ListingDate\": \"20-Dec-23\",\n    \"ISIN\": \"INE321T01012\",\n    \"MarketCap\": \"₹ 7,622 Cr.\",\n    \"CurrentPrice\": \"₹ 1,256\",\n    \"HighLow\": \"₹ 1,434 / 1,224\",\n    \"StockPE\": \"79.7\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"34.4 %\",\n    \"ROE\": \"32.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Donear Industries Limited\",\n    \"Symbol\": \"DONEAR\",\n    \"ListingDate\": \"20-Dec-06\",\n    \"ISIN\": \"INE668D01028\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"D. P. Abhushan Limited\",\n    \"Symbol\": \"DPABHUSHAN\",\n    \"ListingDate\": \"03-Nov-20\",\n    \"ISIN\": \"INE266Y01019\",\n    \"MarketCap\": \"₹ 1,457 Cr.\",\n    \"CurrentPrice\": \"₹ 655\",\n    \"HighLow\": \"₹ 685 / 222\",\n    \"StockPE\": \"36.0\",\n    \"BookValue\": \"₹ 62.0\",\n    \"DividendYield\": \"0.15 %\",\n    \"ROCE\": \"24.4 %\",\n    \"ROE\": \"34.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"DPSC Limited\",\n    \"Symbol\": \"DPSCLTD\",\n    \"ListingDate\": \"21-Apr-08\",\n    \"ISIN\": \"INE360C01024\",\n    \"MarketCap\": \"₹ 1,957 Cr.\",\n    \"CurrentPrice\": \"₹ 20.1\",\n    \"HighLow\": \"₹ 27.8 / 9.10\",\n    \"StockPE\": \"130\",\n    \"BookValue\": \"₹ 10.4\",\n    \"DividendYield\": \"0.25 %\",\n    \"ROCE\": \"3.95 %\",\n    \"ROE\": \"1.34 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"D P Wires Limited\",\n    \"Symbol\": \"DPWIRES\",\n    \"ListingDate\": \"17-Jan-20\",\n    \"ISIN\": \"INE864X01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"DRC Systems India Limited\",\n    \"Symbol\": \"DRCSYSTEMS\",\n    \"ListingDate\": \"10-Mar-21\",\n    \"ISIN\": \"INE03RS01027\",\n    \"MarketCap\": \"₹ 182 Cr.\",\n    \"CurrentPrice\": \"₹ 41.1\",\n    \"HighLow\": \"₹ 69.5 / 27.2\",\n    \"StockPE\": \"23.6\",\n    \"BookValue\": \"₹ 8.52\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"31.3 %\",\n    \"ROE\": \"32.6 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Dreamfolks Services Limited\",\n    \"Symbol\": \"DREAMFOLKS\",\n    \"ListingDate\": \"06-Sep-22\",\n    \"ISIN\": \"INE0JS101016\",\n    \"MarketCap\": \"₹ 2,837 Cr.\",\n    \"CurrentPrice\": \"₹ 543\",\n    \"HighLow\": \"₹ 847 / 359\",\n    \"StockPE\": \"37.8\",\n    \"BookValue\": \"₹ 37.3\",\n    \"DividendYield\": \"0.09 %\",\n    \"ROCE\": \"76.8 %\",\n    \"ROE\": \"60.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Dredging Corporation of India Limited\",\n    \"Symbol\": \"DREDGECORP\",\n    \"ListingDate\": \"15-Jan-04\",\n    \"ISIN\": \"INE506A01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Dr. Reddy's Laboratories Limited\",\n    \"Symbol\": \"DRREDDY\",\n    \"ListingDate\": \"30-May-03\",\n    \"ISIN\": \"INE089A01023\",\n    \"MarketCap\": \"₹ 96,815 Cr.\",\n    \"CurrentPrice\": \"₹ 5,804\",\n    \"HighLow\": \"₹ 5,990 / 4,175\",\n    \"StockPE\": \"19.0\",\n    \"BookValue\": \"₹ 1,529\",\n    \"DividendYield\": \"0.69 %\",\n    \"ROCE\": \"26.7 %\",\n    \"ROE\": \"21.6 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Dynacons Systems & Solutions Limited\",\n    \"Symbol\": \"DSSL\",\n    \"ListingDate\": \"01-Dec-11\",\n    \"ISIN\": \"INE417B01040\",\n    \"MarketCap\": \"₹ 787 Cr.\",\n    \"CurrentPrice\": \"₹ 620\",\n    \"HighLow\": \"₹ 849 / 283\",\n    \"StockPE\": \"17.0\",\n    \"BookValue\": \"₹ 103\",\n    \"DividendYield\": \"0.08 %\",\n    \"ROCE\": \"36.5 %\",\n    \"ROE\": \"39.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Dhunseri Tea & Industries Limited\",\n    \"Symbol\": \"DTIL\",\n    \"ListingDate\": \"20-Jan-15\",\n    \"ISIN\": \"INE341R01014\",\n    \"MarketCap\": \"₹ 238 Cr.\",\n    \"CurrentPrice\": \"₹ 227\",\n    \"HighLow\": \"₹ 249 / 180\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 645\",\n    \"DividendYield\": \"1.33 %\",\n    \"ROCE\": \"-2.10 %\",\n    \"ROE\": \"-2.96 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ducon Infratechnologies Limited\",\n    \"Symbol\": \"DUCON\",\n    \"ListingDate\": \"09-Oct-12\",\n    \"ISIN\": \"INE741L01018\",\n    \"MarketCap\": \"₹ 235 Cr.\",\n    \"CurrentPrice\": \"₹ 9.04\",\n    \"HighLow\": \"₹ 16.5 / 5.05\",\n    \"StockPE\": \"60.2\",\n    \"BookValue\": \"₹ 4.76\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.15 %\",\n    \"ROE\": \"3.19 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Dhunseri Ventures Limited\",\n    \"Symbol\": \"DVL\",\n    \"ListingDate\": \"11-Jan-08\",\n    \"ISIN\": \"INE477B01010\",\n    \"MarketCap\": \"₹ 1,103 Cr.\",\n    \"CurrentPrice\": \"₹ 315\",\n    \"HighLow\": \"₹ 377 / 211\",\n    \"StockPE\": \"4.14\",\n    \"BookValue\": \"₹ 808\",\n    \"DividendYield\": \"1.59 %\",\n    \"ROCE\": \"28.0 %\",\n    \"ROE\": \"23.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Dwarikesh Sugar Industries Limited\",\n    \"Symbol\": \"DWARKESH\",\n    \"ListingDate\": \"31-Dec-04\",\n    \"ISIN\": \"INE366A01041\",\n    \"MarketCap\": \"₹ 1,637 Cr.\",\n    \"CurrentPrice\": \"₹ 86.9\",\n    \"HighLow\": \"₹ 110 / 75.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"2.30 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Dynamic Cables Limited\",\n    \"Symbol\": \"DYCL\",\n    \"ListingDate\": \"27-Jul-22\",\n    \"ISIN\": \"INE600Y01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Dynamatic Technologies Limited\",\n    \"Symbol\": \"DYNAMATECH\",\n    \"ListingDate\": \"14-Sep-06\",\n    \"ISIN\": \"INE221B01012\",\n    \"MarketCap\": \"₹ 3,431 Cr.\",\n    \"CurrentPrice\": \"₹ 5,052\",\n    \"HighLow\": \"₹ 5,345 / 2,303\",\n    \"StockPE\": \"55.2\",\n    \"BookValue\": \"₹ 927\",\n    \"DividendYield\": \"0.20 %\",\n    \"ROCE\": \"10.4 %\",\n    \"ROE\": \"9.22 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Dynemic Products Limited\",\n    \"Symbol\": \"DYNPRO\",\n    \"ListingDate\": \"19-Jul-17\",\n    \"ISIN\": \"INE256H01015\",\n    \"MarketCap\": \"₹ 363 Cr.\",\n    \"CurrentPrice\": \"₹ 302\",\n    \"HighLow\": \"₹ 424 / 230\",\n    \"StockPE\": \"141\",\n    \"BookValue\": \"₹ 162\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"3.67 %\",\n    \"ROE\": \"-1.66 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"E2E Networks Limited\",\n    \"Symbol\": \"E2E\",\n    \"ListingDate\": \"12-Apr-22\",\n    \"ISIN\": \"INE255Z01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Easy Trip Planners Limited\",\n    \"Symbol\": \"EASEMYTRIP\",\n    \"ListingDate\": \"19-Mar-21\",\n    \"ISIN\": \"INE07O001026\",\n    \"MarketCap\": \"₹ 6,962 Cr.\",\n    \"CurrentPrice\": \"₹ 39.3\",\n    \"HighLow\": \"₹ 56.4 / 37.0\",\n    \"StockPE\": \"47.8\",\n    \"BookValue\": \"₹ 3.34\",\n    \"DividendYield\": \"0.26 %\",\n    \"ROCE\": \"51.3 %\",\n    \"ROE\": \"44.3 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Eastern Silk Industries Limited\",\n    \"Symbol\": \"EASTSILK\",\n    \"ListingDate\": \"03-Jul-96\",\n    \"ISIN\": \"INE962C01027\",\n    \"MarketCap\": \"₹ 19.7 Cr.\",\n    \"CurrentPrice\": \"₹ 2.49\",\n    \"HighLow\": \"₹ 4.34 / 1.75\",\n    \"StockPE\": \"0.39\",\n    \"BookValue\": \"₹ 41.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"eClerx Services Limited\",\n    \"Symbol\": \"ECLERX\",\n    \"ListingDate\": \"31-Dec-07\",\n    \"ISIN\": \"INE738I01010\",\n    \"MarketCap\": \"₹ 12,875 Cr.\",\n    \"CurrentPrice\": \"₹ 2,626\",\n    \"HighLow\": \"₹ 2,760 / 1,260\",\n    \"StockPE\": \"25.5\",\n    \"BookValue\": \"₹ 403\",\n    \"DividendYield\": \"0.04 %\",\n    \"ROCE\": \"36.5 %\",\n    \"ROE\": \"29.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Edelweiss Financial Services Limited\",\n    \"Symbol\": \"EDELWEISS\",\n    \"ListingDate\": \"12-Dec-07\",\n    \"ISIN\": \"INE532F01054\",\n    \"MarketCap\": \"₹ 7,403 Cr.\",\n    \"CurrentPrice\": \"₹ 78.4\",\n    \"HighLow\": \"₹ 87.8 / 29.6\",\n    \"StockPE\": \"19.6\",\n    \"BookValue\": \"₹ 46.7\",\n    \"DividendYield\": \"1.91 %\",\n    \"ROCE\": \"9.86 %\",\n    \"ROE\": \"5.18 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Educomp Solutions Limited\",\n    \"Symbol\": \"EDUCOMP\",\n    \"ListingDate\": \"13-Jan-06\",\n    \"ISIN\": \"INE216H01027\",\n    \"MarketCap\": \"₹ 43.7 Cr.\",\n    \"CurrentPrice\": \"₹ 3.57\",\n    \"HighLow\": \"₹ 4.49 / 1.25\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -240\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Eicher Motors Limited\",\n    \"Symbol\": \"EICHERMOT\",\n    \"ListingDate\": \"07-Sep-04\",\n    \"ISIN\": \"INE066A01021\",\n    \"MarketCap\": \"₹ 1,12,681 Cr.\",\n    \"CurrentPrice\": \"₹ 4,116\",\n    \"HighLow\": \"₹ 4,202 / 2,836\",\n    \"StockPE\": \"31.4\",\n    \"BookValue\": \"₹ 582\",\n    \"DividendYield\": \"0.90 %\",\n    \"ROCE\": \"27.4 %\",\n    \"ROE\": \"21.1 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"EID Parry India Limited\",\n    \"Symbol\": \"EIDPARRY\",\n    \"ListingDate\": \"10-May-95\",\n    \"ISIN\": \"INE126A01031\",\n    \"MarketCap\": \"₹ 10,082 Cr.\",\n    \"CurrentPrice\": \"₹ 568\",\n    \"HighLow\": \"₹ 587 / 433\",\n    \"StockPE\": \"10.2\",\n    \"BookValue\": \"₹ 375\",\n    \"DividendYield\": \"1.67 %\",\n    \"ROCE\": \"27.4 %\",\n    \"ROE\": \"16.2 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Euro India Fresh Foods Limited\",\n    \"Symbol\": \"EIFFL\",\n    \"ListingDate\": \"12-Oct-21\",\n    \"ISIN\": \"INE546V01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"EIH Associated Hotels Limited\",\n    \"Symbol\": \"EIHAHOTELS\",\n    \"ListingDate\": \"08-Apr-08\",\n    \"ISIN\": \"INE276C01014\",\n    \"MarketCap\": \"₹ 1,377 Cr.\",\n    \"CurrentPrice\": \"₹ 452\",\n    \"HighLow\": \"₹ 617 / 365\",\n    \"StockPE\": \"119\",\n    \"BookValue\": \"₹ 33.8\",\n    \"DividendYield\": \"1.11 %\",\n    \"ROCE\": \"13.2 %\",\n    \"ROE\": \"11.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"EIH Limited\",\n    \"Symbol\": \"EIHOTEL\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE230A01023\",\n    \"MarketCap\": \"₹ 15,540 Cr.\",\n    \"CurrentPrice\": \"₹ 248\",\n    \"HighLow\": \"₹ 275 / 150\",\n    \"StockPE\": \"34.0\",\n    \"BookValue\": \"₹ 56.0\",\n    \"DividendYield\": \"0.45 %\",\n    \"ROCE\": \"15.6 %\",\n    \"ROE\": \"11.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Eimco Elecon (India) Limited\",\n    \"Symbol\": \"EIMCOELECO\",\n    \"ListingDate\": \"17-Apr-96\",\n    \"ISIN\": \"INE158B01016\",\n    \"MarketCap\": \"₹ 926 Cr.\",\n    \"CurrentPrice\": \"₹ 1,605\",\n    \"HighLow\": \"₹ 1,899 / 333\",\n    \"StockPE\": \"30.0\",\n    \"BookValue\": \"₹ 631\",\n    \"DividendYield\": \"0.31 %\",\n    \"ROCE\": \"7.51 %\",\n    \"ROE\": \"5.72 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Everest Kanto Cylinder Limited\",\n    \"Symbol\": \"EKC\",\n    \"ListingDate\": \"15-Dec-05\",\n    \"ISIN\": \"INE184H01027\",\n    \"MarketCap\": \"₹ 1,452 Cr.\",\n    \"CurrentPrice\": \"₹ 129\",\n    \"HighLow\": \"₹ 153 / 66.0\",\n    \"StockPE\": \"17.1\",\n    \"BookValue\": \"₹ 93.3\",\n    \"DividendYield\": \"0.54 %\",\n    \"ROCE\": \"11.9 %\",\n    \"ROE\": \"9.29 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Eldeco Housing And Industries Limited\",\n    \"Symbol\": \"ELDEHSG\",\n    \"ListingDate\": \"12-Apr-22\",\n    \"ISIN\": \"INE668G01021\",\n    \"MarketCap\": \"₹ 717 Cr.\",\n    \"CurrentPrice\": \"₹ 729\",\n    \"HighLow\": \"₹ 868 / 517\",\n    \"StockPE\": \"18.2\",\n    \"BookValue\": \"₹ 365\",\n    \"DividendYield\": \"1.09 %\",\n    \"ROCE\": \"18.8 %\",\n    \"ROE\": \"13.6 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Elecon Engineering Company Limited\",\n    \"Symbol\": \"ELECON\",\n    \"ListingDate\": \"29-Sep-06\",\n    \"ISIN\": \"INE205B01023\",\n    \"MarketCap\": \"₹ 10,473 Cr.\",\n    \"CurrentPrice\": \"₹ 933\",\n    \"HighLow\": \"₹ 990 / 350\",\n    \"StockPE\": \"35.8\",\n    \"BookValue\": \"₹ 126\",\n    \"DividendYield\": \"0.20 %\",\n    \"ROCE\": \"24.9 %\",\n    \"ROE\": \"20.5 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Electrosteel Castings Limited\",\n    \"Symbol\": \"ELECTCAST\",\n    \"ListingDate\": \"20-Jun-03\",\n    \"ISIN\": \"INE086A01029\",\n    \"MarketCap\": \"₹ 6,591 Cr.\",\n    \"CurrentPrice\": \"₹ 111\",\n    \"HighLow\": \"₹ 119 / 31.4\",\n    \"StockPE\": \"15.8\",\n    \"BookValue\": \"₹ 76.9\",\n    \"DividendYield\": \"0.80 %\",\n    \"ROCE\": \"9.99 %\",\n    \"ROE\": \"7.51 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Electrotherm (India) Limited\",\n    \"Symbol\": \"ELECTHERM\",\n    \"ListingDate\": \"20-Aug-07\",\n    \"ISIN\": \"INE822G01016\",\n    \"MarketCap\": \"₹ 294 Cr.\",\n    \"CurrentPrice\": \"₹ 230\",\n    \"HighLow\": \"₹ 274 / 48.0\",\n    \"StockPE\": \"1.54\",\n    \"BookValue\": \"₹ -777\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.69 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Elgi Equipments Limited\",\n    \"Symbol\": \"ELGIEQUIP\",\n    \"ListingDate\": \"22-Nov-95\",\n    \"ISIN\": \"INE285A01027\",\n    \"MarketCap\": \"₹ 17,259 Cr.\",\n    \"CurrentPrice\": \"₹ 545\",\n    \"HighLow\": \"₹ 623 / 355\",\n    \"StockPE\": \"43.0\",\n    \"BookValue\": \"₹ 46.1\",\n    \"DividendYield\": \"0.38 %\",\n    \"ROCE\": \"24.4 %\",\n    \"ROE\": \"23.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Elgi Rubber Company Limited\",\n    \"Symbol\": \"ELGIRUBCO\",\n    \"ListingDate\": \"10-Aug-11\",\n    \"ISIN\": \"INE819L01012\",\n    \"MarketCap\": \"₹ 296 Cr.\",\n    \"CurrentPrice\": \"₹ 59.0\",\n    \"HighLow\": \"₹ 68.4 / 27.4\",\n    \"StockPE\": \"110\",\n    \"BookValue\": \"₹ 39.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.85 %\",\n    \"ROE\": \"0.86 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Elin Electronics Limited\",\n    \"Symbol\": \"ELIN\",\n    \"ListingDate\": \"30-Dec-22\",\n    \"ISIN\": \"INE050401020\",\n    \"MarketCap\": \"₹ 735 Cr.\",\n    \"CurrentPrice\": \"₹ 148\",\n    \"HighLow\": \"₹ 245 / 116\",\n    \"StockPE\": \"53.0\",\n    \"BookValue\": \"₹ 100\",\n    \"DividendYield\": \"0.67 %\",\n    \"ROCE\": \"9.90 %\",\n    \"ROE\": \"6.66 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Emami Limited\",\n    \"Symbol\": \"EMAMILTD\",\n    \"ListingDate\": \"03-Aug-06\",\n    \"ISIN\": \"INE548C01032\",\n    \"MarketCap\": \"₹ 24,707 Cr.\",\n    \"CurrentPrice\": \"₹ 561\",\n    \"HighLow\": \"₹ 583 / 341\",\n    \"StockPE\": \"35.8\",\n    \"BookValue\": \"₹ 54.6\",\n    \"DividendYield\": \"1.39 %\",\n    \"ROCE\": \"28.0 %\",\n    \"ROE\": \"28.3 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Emami Paper Mills Limited\",\n    \"Symbol\": \"EMAMIPAP\",\n    \"ListingDate\": \"30-May-19\",\n    \"ISIN\": \"INE830C01026\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Emami Realty Limited\",\n    \"Symbol\": \"EMAMIREAL\",\n    \"ListingDate\": \"28-Jul-10\",\n    \"ISIN\": \"INE778K01012\",\n    \"MarketCap\": \"₹ 412 Cr.\",\n    \"CurrentPrice\": \"₹ 109\",\n    \"HighLow\": \"₹ 152 / 52.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 13.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"0.18 %\",\n    \"ROE\": \"-36.7 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Electronics Mart India Limited\",\n    \"Symbol\": \"EMIL\",\n    \"ListingDate\": \"17-Oct-22\",\n    \"ISIN\": \"INE02YR01019\",\n    \"MarketCap\": \"₹ 7,776 Cr.\",\n    \"CurrentPrice\": \"₹ 202\",\n    \"HighLow\": \"₹ 236 / 61.4\",\n    \"StockPE\": \"49.9\",\n    \"BookValue\": \"₹ 33.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"12.0 %\",\n    \"ROE\": \"13.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Emkay Global Financial Services Limited\",\n    \"Symbol\": \"EMKAY\",\n    \"ListingDate\": \"28-Apr-06\",\n    \"ISIN\": \"INE296H01011\",\n    \"MarketCap\": \"₹ 363 Cr.\",\n    \"CurrentPrice\": \"₹ 147\",\n    \"HighLow\": \"₹ 155 / 61.2\",\n    \"StockPE\": \"31.6\",\n    \"BookValue\": \"₹ 88.0\",\n    \"DividendYield\": \"0.69 %\",\n    \"ROCE\": \"6.88 %\",\n    \"ROE\": \"6.86 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Emmbi Industries Limited\",\n    \"Symbol\": \"EMMBI\",\n    \"ListingDate\": \"24-Feb-10\",\n    \"ISIN\": \"INE753K01015\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"EMS Limited\",\n    \"Symbol\": \"EMSLIMITED\",\n    \"ListingDate\": \"21-Sep-23\",\n    \"ISIN\": \"INE0OV601013\",\n    \"MarketCap\": \"₹ 2,359 Cr.\",\n    \"CurrentPrice\": \"₹ 425\",\n    \"HighLow\": \"₹ 488 / 246\",\n    \"StockPE\": \"21.9\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.23 %\",\n    \"ROCE\": \"32.7 %\",\n    \"ROE\": \"24.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"eMudhra Limited\",\n    \"Symbol\": \"EMUDHRA\",\n    \"ListingDate\": \"01-Jun-22\",\n    \"ISIN\": \"INE01QM01018\",\n    \"MarketCap\": \"₹ 3,448 Cr.\",\n    \"CurrentPrice\": \"₹ 442\",\n    \"HighLow\": \"₹ 535 / 207\",\n    \"StockPE\": \"53.1\",\n    \"BookValue\": \"₹ 53.6\",\n    \"DividendYield\": \"0.28 %\",\n    \"ROCE\": \"24.0 %\",\n    \"ROE\": \"22.4 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Endurance Technologies Limited\",\n    \"Symbol\": \"ENDURANCE\",\n    \"ListingDate\": \"19-Oct-16\",\n    \"ISIN\": \"INE913H01037\",\n    \"MarketCap\": \"₹ 26,613 Cr.\",\n    \"CurrentPrice\": \"₹ 1,892\",\n    \"HighLow\": \"₹ 1,901 / 1,172\",\n    \"StockPE\": \"47.3\",\n    \"BookValue\": \"₹ 326\",\n    \"DividendYield\": \"0.37 %\",\n    \"ROCE\": \"13.8 %\",\n    \"ROE\": \"11.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Energy Development Company Limited\",\n    \"Symbol\": \"ENERGYDEV\",\n    \"ListingDate\": \"02-Nov-07\",\n    \"ISIN\": \"INE306C01019\",\n    \"MarketCap\": \"₹ 131 Cr.\",\n    \"CurrentPrice\": \"₹ 27.5\",\n    \"HighLow\": \"₹ 36.8 / 13.6\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 22.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.51 %\",\n    \"ROE\": \"4.16 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Engineers India Limited\",\n    \"Symbol\": \"ENGINERSIN\",\n    \"ListingDate\": \"20-Aug-97\",\n    \"ISIN\": \"INE510A01028\",\n    \"MarketCap\": \"₹ 9,602 Cr.\",\n    \"CurrentPrice\": \"₹ 171\",\n    \"HighLow\": \"₹ 176 / 70.0\",\n    \"StockPE\": \"20.3\",\n    \"BookValue\": \"₹ 38.5\",\n    \"DividendYield\": \"1.76 %\",\n    \"ROCE\": \"23.7 %\",\n    \"ROE\": \"18.4 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Entertainment Network (India) Limited\",\n    \"Symbol\": \"ENIL\",\n    \"ListingDate\": \"15-Feb-06\",\n    \"ISIN\": \"INE265F01028\",\n    \"MarketCap\": \"₹ 868 Cr.\",\n    \"CurrentPrice\": \"₹ 182\",\n    \"HighLow\": \"₹ 213 / 110\",\n    \"StockPE\": \"95.8\",\n    \"BookValue\": \"₹ 156\",\n    \"DividendYield\": \"0.55 %\",\n    \"ROCE\": \"0.58 %\",\n    \"ROE\": \"-1.38 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Epigral Limited\",\n    \"Symbol\": \"EPIGRAL\",\n    \"ListingDate\": \"18-Aug-21\",\n    \"ISIN\": \"INE071N01016\",\n    \"MarketCap\": \"₹ 4,047 Cr.\",\n    \"CurrentPrice\": \"₹ 974\",\n    \"HighLow\": \"₹ 1,266 / 811\",\n    \"StockPE\": \"18.1\",\n    \"BookValue\": \"₹ 272\",\n    \"DividendYield\": \"0.51 %\",\n    \"ROCE\": \"32.1 %\",\n    \"ROE\": \"39.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"EPL Limited\",\n    \"Symbol\": \"EPL\",\n    \"ListingDate\": \"11-Feb-02\",\n    \"ISIN\": \"INE255A01020\",\n    \"MarketCap\": \"₹ 6,326 Cr.\",\n    \"CurrentPrice\": \"₹ 199\",\n    \"HighLow\": \"₹ 236 / 147\",\n    \"StockPE\": \"25.1\",\n    \"BookValue\": \"₹ 63.0\",\n    \"DividendYield\": \"2.17 %\",\n    \"ROCE\": \"12.2 %\",\n    \"ROE\": \"11.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Equippp Social Impact Technologies Limited\",\n    \"Symbol\": \"EQUIPPP\",\n    \"ListingDate\": \"19-May-21\",\n    \"ISIN\": \"INE217G01035\",\n    \"MarketCap\": \"₹ 273 Cr.\",\n    \"CurrentPrice\": \"₹ 26.4\",\n    \"HighLow\": \"₹ 57.4 / 23.6\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 0.60\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.33 %\",\n    \"ROE\": \"3.92 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Equitas Small Finance Bank Limited\",\n    \"Symbol\": \"EQUITASBNK\",\n    \"ListingDate\": \"02-Nov-20\",\n    \"ISIN\": \"INE063P01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Eris Lifesciences Limited\",\n    \"Symbol\": \"ERIS\",\n    \"ListingDate\": \"29-Jun-17\",\n    \"ISIN\": \"INE406M01024\",\n    \"MarketCap\": \"₹ 12,394 Cr.\",\n    \"CurrentPrice\": \"₹ 911\",\n    \"HighLow\": \"₹ 972 / 551\",\n    \"StockPE\": \"32.8\",\n    \"BookValue\": \"₹ 177\",\n    \"DividendYield\": \"0.80 %\",\n    \"ROCE\": \"16.7 %\",\n    \"ROE\": \"18.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Eros International Media Limited\",\n    \"Symbol\": \"EROSMEDIA\",\n    \"ListingDate\": \"06-Oct-10\",\n    \"ISIN\": \"INE416L01017\",\n    \"MarketCap\": \"₹ 218 Cr.\",\n    \"CurrentPrice\": \"₹ 22.7\",\n    \"HighLow\": \"₹ 32.1 / 17.2\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 99.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-3.64 %\",\n    \"ROE\": \"-11.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Esab India Limited\",\n    \"Symbol\": \"ESABINDIA\",\n    \"ListingDate\": \"01-Nov-95\",\n    \"ISIN\": \"INE284A01012\",\n    \"MarketCap\": \"₹ 9,088 Cr.\",\n    \"CurrentPrice\": \"₹ 5,905\",\n    \"HighLow\": \"₹ 6,586 / 3,221\",\n    \"StockPE\": \"169\",\n    \"BookValue\": \"₹ 67.6\",\n    \"DividendYield\": \"1.33 %\",\n    \"ROCE\": \"90.8 %\",\n    \"ROE\": \"59.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"ESAF Small Finance Bank Limited\",\n    \"Symbol\": \"ESAFSFB\",\n    \"ListingDate\": \"10-Nov-23\",\n    \"ISIN\": \"INE818W01011\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Escorts Kubota Limited\",\n    \"Symbol\": \"ESCORTS\",\n    \"ListingDate\": \"01-Mar-95\",\n    \"ISIN\": \"INE042A01014\",\n    \"MarketCap\": \"₹ 32,967 Cr.\",\n    \"CurrentPrice\": \"₹ 2,983\",\n    \"HighLow\": \"₹ 3,440 / 1,808\",\n    \"StockPE\": \"36.2\",\n    \"BookValue\": \"₹ 783\",\n    \"DividendYield\": \"0.24 %\",\n    \"ROCE\": \"11.3 %\",\n    \"ROE\": \"8.56 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Essar Shipping Limited\",\n    \"Symbol\": \"ESSARSHPNG\",\n    \"ListingDate\": \"15-Nov-11\",\n    \"ISIN\": \"INE122M01019\",\n    \"MarketCap\": \"₹ 641 Cr.\",\n    \"CurrentPrice\": \"₹ 31.0\",\n    \"HighLow\": \"₹ 39.0 / 7.53\",\n    \"StockPE\": \"9.80\",\n    \"BookValue\": \"₹ -130\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Integra Essentia Limited\",\n    \"Symbol\": \"ESSENTIA\",\n    \"ListingDate\": \"20-Aug-13\",\n    \"ISIN\": \"INE418N01035\",\n    \"MarketCap\": \"₹ 318 Cr.\",\n    \"CurrentPrice\": \"₹ 6.95\",\n    \"HighLow\": \"₹ 8.80 / 5.10\",\n    \"StockPE\": \"25.2\",\n    \"BookValue\": \"₹ 2.45\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"14.0 %\",\n    \"ROE\": \"28.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Ester Industries Limited\",\n    \"Symbol\": \"ESTER\",\n    \"ListingDate\": \"20-Jun-11\",\n    \"ISIN\": \"INE778B01029\",\n    \"MarketCap\": \"₹ 737 Cr.\",\n    \"CurrentPrice\": \"₹ 88.4\",\n    \"HighLow\": \"₹ 136 / 80.2\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 82.4\",\n    \"DividendYield\": \"0.57 %\",\n    \"ROCE\": \"4.29 %\",\n    \"ROE\": \"20.1 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Ethos Limited\",\n    \"Symbol\": \"ETHOSLTD\",\n    \"ListingDate\": \"30-May-22\",\n    \"ISIN\": \"INE04TZ01018\",\n    \"MarketCap\": \"₹ 5,012 Cr.\",\n    \"CurrentPrice\": \"₹ 2,146\",\n    \"HighLow\": \"₹ 2,146 / 915\",\n    \"StockPE\": \"70.9\",\n    \"BookValue\": \"₹ 286\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"17.6 %\",\n    \"ROE\": \"14.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Eurotex Industries and Exports Limited\",\n    \"Symbol\": \"EUROTEXIND\",\n    \"ListingDate\": \"31-Jan-96\",\n    \"ISIN\": \"INE022C01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Eveready Industries India Limited\",\n    \"Symbol\": \"EVEREADY\",\n    \"ListingDate\": \"27-Apr-05\",\n    \"ISIN\": \"INE128A01029\",\n    \"MarketCap\": \"₹ 2,503 Cr.\",\n    \"CurrentPrice\": \"₹ 344\",\n    \"HighLow\": \"₹ 442 / 273\",\n    \"StockPE\": \"60.5\",\n    \"BookValue\": \"₹ 50.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"12.9 %\",\n    \"ROE\": \"8.87 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Everest Industries Limited\",\n    \"Symbol\": \"EVERESTIND\",\n    \"ListingDate\": \"29-Mar-95\",\n    \"ISIN\": \"INE295A01018\",\n    \"MarketCap\": \"₹ 2,115 Cr.\",\n    \"CurrentPrice\": \"₹ 1,341\",\n    \"HighLow\": \"₹ 1,375 / 681\",\n    \"StockPE\": \"88.7\",\n    \"BookValue\": \"₹ 373\",\n    \"DividendYield\": \"0.47 %\",\n    \"ROCE\": \"11.5 %\",\n    \"ROE\": \"7.52 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Excel Realty N Infra Limited\",\n    \"Symbol\": \"EXCEL\",\n    \"ListingDate\": \"03-Aug-09\",\n    \"ISIN\": \"INE688J01023\",\n    \"MarketCap\": \"₹ 59.2 Cr.\",\n    \"CurrentPrice\": \"₹ 0.42\",\n    \"HighLow\": \"₹ 0.56 / 0.30\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 1.22\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-1.55 %\",\n    \"ROE\": \"-1.55 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Excel Industries Limited\",\n    \"Symbol\": \"EXCELINDUS\",\n    \"ListingDate\": \"16-Jun-04\",\n    \"ISIN\": \"INE369A01029\",\n    \"MarketCap\": \"₹ 1,148 Cr.\",\n    \"CurrentPrice\": \"₹ 913\",\n    \"HighLow\": \"₹ 1,220 / 752\",\n    \"StockPE\": \"40.3\",\n    \"BookValue\": \"₹ 1,105\",\n    \"DividendYield\": \"1.23 %\",\n    \"ROCE\": \"9.13 %\",\n    \"ROE\": \"6.71 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Exide Industries Limited\",\n    \"Symbol\": \"EXIDEIND\",\n    \"ListingDate\": \"17-Jun-03\",\n    \"ISIN\": \"INE302A01020\",\n    \"MarketCap\": \"₹ 26,244 Cr.\",\n    \"CurrentPrice\": \"₹ 309\",\n    \"HighLow\": \"₹ 310 / 170\",\n    \"StockPE\": \"30.2\",\n    \"BookValue\": \"₹ 147\",\n    \"DividendYield\": \"0.65 %\",\n    \"ROCE\": \"10.2 %\",\n    \"ROE\": \"7.28 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Expleo Solutions Limited\",\n    \"Symbol\": \"EXPLEOSOL\",\n    \"ListingDate\": \"26-Oct-09\",\n    \"ISIN\": \"INE201K01015\",\n    \"MarketCap\": \"₹ 2,022 Cr.\",\n    \"CurrentPrice\": \"₹ 1,303\",\n    \"HighLow\": \"₹ 1,777 / 1,111\",\n    \"StockPE\": \"16.6\",\n    \"BookValue\": \"₹ 324\",\n    \"DividendYield\": \"0.38 %\",\n    \"ROCE\": \"38.8 %\",\n    \"ROE\": \"28.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Exxaro Tiles Limited\",\n    \"Symbol\": \"EXXARO\",\n    \"ListingDate\": \"16-Aug-21\",\n    \"ISIN\": \"INE0GFE01018\",\n    \"MarketCap\": \"₹ 518 Cr.\",\n    \"CurrentPrice\": \"₹ 116\",\n    \"HighLow\": \"₹ 152 / 98.6\",\n    \"StockPE\": \"87.1\",\n    \"BookValue\": \"₹ 61.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.86 %\",\n    \"ROE\": \"2.91 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Fertilizers and Chemicals Travancore Limited\",\n    \"Symbol\": \"FACT\",\n    \"ListingDate\": \"12-Apr-95\",\n    \"ISIN\": \"INE188A01015\",\n    \"MarketCap\": \"₹ 52,141 Cr.\",\n    \"CurrentPrice\": \"₹ 806\",\n    \"HighLow\": \"₹ 861 / 192\",\n    \"StockPE\": \"91.2\",\n    \"BookValue\": \"₹ 21.8\",\n    \"DividendYield\": \"0.12 %\",\n    \"ROCE\": \"30.3 %\",\n    \"ROE\": \"62.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Fairchem Organics Limited\",\n    \"Symbol\": \"FAIRCHEMOR\",\n    \"ListingDate\": \"24-Dec-20\",\n    \"ISIN\": \"INE0DNW01011\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Faze Three Limited\",\n    \"Symbol\": \"FAZE3Q\",\n    \"ListingDate\": \"18-Nov-22\",\n    \"ISIN\": \"INE963C01033\",\n    \"MarketCap\": \"₹ 1,071 Cr.\",\n    \"CurrentPrice\": \"₹ 440\",\n    \"HighLow\": \"₹ 540 / 251\",\n    \"StockPE\": \"19.7\",\n    \"BookValue\": \"₹ 148\",\n    \"DividendYield\": \"0.11 %\",\n    \"ROCE\": \"19.4 %\",\n    \"ROE\": \"19.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Fineotex Chemical Limited\",\n    \"Symbol\": \"FCL\",\n    \"ListingDate\": \"15-Jan-15\",\n    \"ISIN\": \"INE045J01026\",\n    \"MarketCap\": \"₹ 4,043 Cr.\",\n    \"CurrentPrice\": \"₹ 365\",\n    \"HighLow\": \"₹ 392 / 203\",\n    \"StockPE\": \"38.5\",\n    \"BookValue\": \"₹ 36.0\",\n    \"DividendYield\": \"0.22 %\",\n    \"ROCE\": \"36.5 %\",\n    \"ROE\": \"28.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Future Consumer Limited\",\n    \"Symbol\": \"FCONSUMER\",\n    \"ListingDate\": \"04-Jul-13\",\n    \"ISIN\": \"INE220J01025\",\n    \"MarketCap\": \"₹ 174 Cr.\",\n    \"CurrentPrice\": \"₹ 0.87\",\n    \"HighLow\": \"₹ 1.72 / 0.40\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -1.41\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-17.7 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 6.00\"\n  },\n  {\n    \"Name\": \"FCS Software Solutions Limited\",\n    \"Symbol\": \"FCSSOFT\",\n    \"ListingDate\": \"21-Sep-05\",\n    \"ISIN\": \"INE512B01022\",\n    \"MarketCap\": \"₹ 713 Cr.\",\n    \"CurrentPrice\": \"₹ 4.17\",\n    \"HighLow\": \"₹ 5.05 / 1.84\",\n    \"StockPE\": \"394\",\n    \"BookValue\": \"₹ 2.09\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"0.96 %\",\n    \"ROE\": \"0.35 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"FDC Limited\",\n    \"Symbol\": \"FDC\",\n    \"ListingDate\": \"07-Aug-97\",\n    \"ISIN\": \"INE258B01022\",\n    \"MarketCap\": \"₹ 6,534 Cr.\",\n    \"CurrentPrice\": \"₹ 394\",\n    \"HighLow\": \"₹ 429 / 245\",\n    \"StockPE\": \"26.0\",\n    \"BookValue\": \"₹ 119\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"12.8 %\",\n    \"ROE\": \"9.63 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"The Federal Bank  Limited\",\n    \"Symbol\": \"FEDERALBNK\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE171A01029\",\n    \"MarketCap\": \"₹ 38,022 Cr.\",\n    \"CurrentPrice\": \"₹ 156\",\n    \"HighLow\": \"₹ 159 / 121\",\n    \"StockPE\": \"10.4\",\n    \"BookValue\": \"₹ 105\",\n    \"DividendYield\": \"0.63 %\",\n    \"ROCE\": \"5.91 %\",\n    \"ROE\": \"15.3 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Fedbank Financial Services Limited\",\n    \"Symbol\": \"FEDFINA\",\n    \"ListingDate\": \"30-Nov-23\",\n    \"ISIN\": \"INE007N01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Fiberweb (India) Limited\",\n    \"Symbol\": \"FIBERWEB\",\n    \"ListingDate\": \"16-Feb-22\",\n    \"ISIN\": \"INE296C01020\",\n    \"MarketCap\": \"₹ 96.9 Cr.\",\n    \"CurrentPrice\": \"₹ 33.7\",\n    \"HighLow\": \"₹ 42.0 / 27.0\",\n    \"StockPE\": \"15.9\",\n    \"BookValue\": \"₹ 60.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.03 %\",\n    \"ROE\": \"6.55 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Fiem Industries Limited\",\n    \"Symbol\": \"FIEMIND\",\n    \"ListingDate\": \"19-Oct-06\",\n    \"ISIN\": \"INE737H01014\",\n    \"MarketCap\": \"₹ 2,760 Cr.\",\n    \"CurrentPrice\": \"₹ 2,097\",\n    \"HighLow\": \"₹ 2,177 / 1,416\",\n    \"StockPE\": \"18.5\",\n    \"BookValue\": \"₹ 608\",\n    \"DividendYield\": \"1.42 %\",\n    \"ROCE\": \"26.6 %\",\n    \"ROE\": \"19.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Filatex India Limited\",\n    \"Symbol\": \"FILATEX\",\n    \"ListingDate\": \"29-Aug-11\",\n    \"ISIN\": \"INE816B01035\",\n    \"MarketCap\": \"₹ 2,135 Cr.\",\n    \"CurrentPrice\": \"₹ 48.1\",\n    \"HighLow\": \"₹ 55.2 / 30.2\",\n    \"StockPE\": \"25.6\",\n    \"BookValue\": \"₹ 10.8\",\n    \"DividendYield\": \"0.31 %\",\n    \"ROCE\": \"16.9 %\",\n    \"ROE\": \"19.4 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Finolex Cables Limited\",\n    \"Symbol\": \"FINCABLES\",\n    \"ListingDate\": \"15-Feb-95\",\n    \"ISIN\": \"INE235A01022\",\n    \"MarketCap\": \"₹ 16,112 Cr.\",\n    \"CurrentPrice\": \"₹ 1,054\",\n    \"HighLow\": \"₹ 1,219 / 525\",\n    \"StockPE\": \"25.0\",\n    \"BookValue\": \"₹ 301\",\n    \"DividendYield\": \"0.66 %\",\n    \"ROCE\": \"15.6 %\",\n    \"ROE\": \"12.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Fine Organic Industries Limited\",\n    \"Symbol\": \"FINEORG\",\n    \"ListingDate\": \"02-Jul-18\",\n    \"ISIN\": \"INE686Y01026\",\n    \"MarketCap\": \"₹ 15,303 Cr.\",\n    \"CurrentPrice\": \"₹ 4,991\",\n    \"HighLow\": \"₹ 5,810 / 4,031\",\n    \"StockPE\": \"33.3\",\n    \"BookValue\": \"₹ 559\",\n    \"DividendYield\": \"0.18 %\",\n    \"ROCE\": \"65.3 %\",\n    \"ROE\": \"49.4 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Fino Payments Bank Limited\",\n    \"Symbol\": \"FINOPB\",\n    \"ListingDate\": \"12-Nov-21\",\n    \"ISIN\": \"INE02NC01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Finolex Industries Limited\",\n    \"Symbol\": \"FINPIPE\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE183A01024\",\n    \"MarketCap\": \"₹ 13,216 Cr.\",\n    \"CurrentPrice\": \"₹ 213\",\n    \"HighLow\": \"₹ 260 / 158\",\n    \"StockPE\": \"28.8\",\n    \"BookValue\": \"₹ 90.4\",\n    \"DividendYield\": \"0.71 %\",\n    \"ROCE\": \"6.53 %\",\n    \"ROE\": \"5.13 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Five-Star Business Finance Limited\",\n    \"Symbol\": \"FIVESTAR\",\n    \"ListingDate\": \"21-Nov-22\",\n    \"ISIN\": \"INE128S01021\",\n    \"MarketCap\": \"₹ 21,420 Cr.\",\n    \"CurrentPrice\": \"₹ 733\",\n    \"HighLow\": \"₹ 877 / 494\",\n    \"StockPE\": \"137\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"17.0 %\",\n    \"ROE\": \"16.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Flair Writing Industries Limited\",\n    \"Symbol\": \"FLAIR\",\n    \"ListingDate\": \"01-Dec-23\",\n    \"ISIN\": \"INE00Y201027\",\n    \"MarketCap\": \"₹ 3,728 Cr.\",\n    \"CurrentPrice\": \"₹ 354\",\n    \"HighLow\": \"₹ 514 / 346\",\n    \"StockPE\": \"31.6\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"33.4 %\",\n    \"ROE\": \"31.4 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Flexituff Ventures International Limited\",\n    \"Symbol\": \"FLEXITUFF\",\n    \"ListingDate\": \"19-Oct-11\",\n    \"ISIN\": \"INE060J01017\",\n    \"MarketCap\": \"₹ 145 Cr.\",\n    \"CurrentPrice\": \"₹ 53.8\",\n    \"HighLow\": \"₹ 57.7 / 23.7\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -46.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-15.2 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Future Lifestyle Fashions Limited\",\n    \"Symbol\": \"FLFL\",\n    \"ListingDate\": \"01-Oct-13\",\n    \"ISIN\": \"INE452O01016\",\n    \"MarketCap\": \"₹ 59.9 Cr.\",\n    \"CurrentPrice\": \"₹ 2.97\",\n    \"HighLow\": \"₹ 11.6 / 2.55\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -100\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-72.6 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Gujarat Fluorochemicals Limited\",\n    \"Symbol\": \"FLUOROCHEM\",\n    \"ListingDate\": \"16-Oct-19\",\n    \"ISIN\": \"INE09N301011\",\n    \"MarketCap\": \"₹ 40,452 Cr.\",\n    \"CurrentPrice\": \"₹ 3,682\",\n    \"HighLow\": \"₹ 3,693 / 2,534\",\n    \"StockPE\": \"44.2\",\n    \"BookValue\": \"₹ 524\",\n    \"DividendYield\": \"0.11 %\",\n    \"ROCE\": \"29.6 %\",\n    \"ROE\": \"27.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Federal-Mogul Goetze (India) Limited.\",\n    \"Symbol\": \"FMGOETZE\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE529A01010\",\n    \"MarketCap\": \"₹ 2,003 Cr.\",\n    \"CurrentPrice\": \"₹ 360\",\n    \"HighLow\": \"₹ 432 / 285\",\n    \"StockPE\": \"17.0\",\n    \"BookValue\": \"₹ 187\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"14.6 %\",\n    \"ROE\": \"11.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Future Market Networks Limited\",\n    \"Symbol\": \"FMNL\",\n    \"ListingDate\": \"31-Dec-10\",\n    \"ISIN\": \"INE360L01017\",\n    \"MarketCap\": \"₹ 35.1 Cr.\",\n    \"CurrentPrice\": \"₹ 6.10\",\n    \"HighLow\": \"₹ 7.40 / 3.80\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 4.05\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"13.9 %\",\n    \"ROE\": \"-396 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Focus Lighting and Fixtures Limited\",\n    \"Symbol\": \"FOCUS\",\n    \"ListingDate\": \"24-Nov-21\",\n    \"ISIN\": \"INE593W01028\",\n    \"MarketCap\": \"₹ 1,158 Cr.\",\n    \"CurrentPrice\": \"₹ 175\",\n    \"HighLow\": \"₹ 194 / 59.3\",\n    \"StockPE\": \"34.0\",\n    \"BookValue\": \"₹ 16.3\",\n    \"DividendYield\": \"0.17 %\",\n    \"ROCE\": \"46.3 %\",\n    \"ROE\": \"36.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Foods & Inns Limited\",\n    \"Symbol\": \"FOODSIN\",\n    \"ListingDate\": \"16-Nov-21\",\n    \"ISIN\": \"INE976E01023\",\n    \"MarketCap\": \"₹ 867 Cr.\",\n    \"CurrentPrice\": \"₹ 162\",\n    \"HighLow\": \"₹ 222 / 111\",\n    \"StockPE\": \"17.2\",\n    \"BookValue\": \"₹ 66.6\",\n    \"DividendYield\": \"0.16 %\",\n    \"ROCE\": \"17.8 %\",\n    \"ROE\": \"19.6 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Fortis Healthcare Limited\",\n    \"Symbol\": \"FORTIS\",\n    \"ListingDate\": \"09-May-07\",\n    \"ISIN\": \"INE061F01013\",\n    \"MarketCap\": \"₹ 31,410 Cr.\",\n    \"CurrentPrice\": \"₹ 416\",\n    \"HighLow\": \"₹ 417 / 245\",\n    \"StockPE\": \"59.5\",\n    \"BookValue\": \"₹ 101\",\n    \"DividendYield\": \"0.25 %\",\n    \"ROCE\": \"9.83 %\",\n    \"ROE\": \"7.77 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Foseco India Limited\",\n    \"Symbol\": \"FOSECOIND\",\n    \"ListingDate\": \"05-May-03\",\n    \"ISIN\": \"INE519A01011\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Future Retail Limited\",\n    \"Symbol\": \"FRETAIL\",\n    \"ListingDate\": \"29-Aug-16\",\n    \"ISIN\": \"INE752P01024\",\n    \"MarketCap\": \"₹ 195 Cr.\",\n    \"CurrentPrice\": \"₹ 3.60\",\n    \"HighLow\": \"₹ 4.29 / 2.00\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -22.5\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-12.2 %\",\n    \"ROE\": \"-140 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Future Supply Chain Solutions Limited\",\n    \"Symbol\": \"FSC\",\n    \"ListingDate\": \"18-Dec-17\",\n    \"ISIN\": \"INE935Q01015\",\n    \"MarketCap\": \"₹ 51.3 Cr.\",\n    \"CurrentPrice\": \"₹ 11.7\",\n    \"HighLow\": \"₹ 30.9 / 8.90\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -32.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.99 %\",\n    \"ROE\": \"-12.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Firstsource Solutions Limited\",\n    \"Symbol\": \"FSL\",\n    \"ListingDate\": \"22-Feb-07\",\n    \"ISIN\": \"INE684F01012\",\n    \"MarketCap\": \"₹ 13,061 Cr.\",\n    \"CurrentPrice\": \"₹ 185\",\n    \"HighLow\": \"₹ 193 / 101\",\n    \"StockPE\": \"23.6\",\n    \"BookValue\": \"₹ 52.2\",\n    \"DividendYield\": \"1.91 %\",\n    \"ROCE\": \"15.1 %\",\n    \"ROE\": \"16.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Fusion Micro Finance Limited\",\n    \"Symbol\": \"FUSION\",\n    \"ListingDate\": \"15-Nov-22\",\n    \"ISIN\": \"INE139R01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Gabriel India Limited\",\n    \"Symbol\": \"GABRIEL\",\n    \"ListingDate\": \"20-Apr-05\",\n    \"ISIN\": \"INE524A01029\",\n    \"MarketCap\": \"₹ 5,616 Cr.\",\n    \"CurrentPrice\": \"₹ 391\",\n    \"HighLow\": \"₹ 444 / 129\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 65.0\",\n    \"DividendYield\": \"0.64 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Gujarat Ambuja Exports Limited\",\n    \"Symbol\": \"GAEL\",\n    \"ListingDate\": \"11-Oct-00\",\n    \"ISIN\": \"INE036B01030\",\n    \"MarketCap\": \"₹ 8,407 Cr.\",\n    \"CurrentPrice\": \"₹ 367\",\n    \"HighLow\": \"₹ 410 / 224\",\n    \"StockPE\": \"27.6\",\n    \"BookValue\": \"₹ 112\",\n    \"DividendYield\": \"0.19 %\",\n    \"ROCE\": \"18.0 %\",\n    \"ROE\": \"14.5 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"GAIL (India) Limited\",\n    \"Symbol\": \"GAIL\",\n    \"ListingDate\": \"02-Apr-97\",\n    \"ISIN\": \"INE129A01019\",\n    \"MarketCap\": \"₹ 1,06,287 Cr.\",\n    \"CurrentPrice\": \"₹ 162\",\n    \"HighLow\": \"₹ 163 / 91.0\",\n    \"StockPE\": \"20.2\",\n    \"BookValue\": \"₹ 111\",\n    \"DividendYield\": \"2.42 %\",\n    \"ROCE\": \"9.76 %\",\n    \"ROE\": \"8.69 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Galaxy Surfactants Limited\",\n    \"Symbol\": \"GALAXYSURF\",\n    \"ListingDate\": \"08-Feb-18\",\n    \"ISIN\": \"INE600K01018\",\n    \"MarketCap\": \"₹ 9,818 Cr.\",\n    \"CurrentPrice\": \"₹ 2,769\",\n    \"HighLow\": \"₹ 2,989 / 2,218\",\n    \"StockPE\": \"28.1\",\n    \"BookValue\": \"₹ 572\",\n    \"DividendYield\": \"0.80 %\",\n    \"ROCE\": \"23.6 %\",\n    \"ROE\": \"22.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Gallantt Ispat Limited\",\n    \"Symbol\": \"GALLANTT\",\n    \"ListingDate\": \"04-Apr-06\",\n    \"ISIN\": \"INE297H01019\",\n    \"MarketCap\": \"₹ 4,418 Cr.\",\n    \"CurrentPrice\": \"₹ 183\",\n    \"HighLow\": \"₹ 200 / 46.0\",\n    \"StockPE\": \"26.4\",\n    \"BookValue\": \"₹ 95.5\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"6.54 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Gandhar Oil Refinery (India) Limited\",\n    \"Symbol\": \"GANDHAR\",\n    \"ListingDate\": \"30-Nov-23\",\n    \"ISIN\": \"INE717W01049\",\n    \"MarketCap\": \"₹ 2,669 Cr.\",\n    \"CurrentPrice\": \"₹ 273\",\n    \"HighLow\": \"₹ 345 / 269\",\n    \"StockPE\": \"14.1\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"37.3 %\",\n    \"ROE\": \"30.0 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Gandhi Special Tubes Limited\",\n    \"Symbol\": \"GANDHITUBE\",\n    \"ListingDate\": \"31-Jan-07\",\n    \"ISIN\": \"INE524B01027\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Ganesha Ecosphere Limited\",\n    \"Symbol\": \"GANECOS\",\n    \"ListingDate\": \"09-Mar-15\",\n    \"ISIN\": \"INE845D01014\",\n    \"MarketCap\": \"₹ 2,120 Cr.\",\n    \"CurrentPrice\": \"₹ 971\",\n    \"HighLow\": \"₹ 1,159 / 781\",\n    \"StockPE\": \"49.6\",\n    \"BookValue\": \"₹ 293\",\n    \"DividendYield\": \"0.21 %\",\n    \"ROCE\": \"10.6 %\",\n    \"ROE\": \"11.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ganesh Benzoplast Limited\",\n    \"Symbol\": \"GANESHBE\",\n    \"ListingDate\": \"16-Sep-21\",\n    \"ISIN\": \"INE388A01029\",\n    \"MarketCap\": \"₹ 1,096 Cr.\",\n    \"CurrentPrice\": \"₹ 161\",\n    \"HighLow\": \"₹ 184 / 132\",\n    \"StockPE\": \"18.1\",\n    \"BookValue\": \"₹ 60.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"22.1 %\",\n    \"ROE\": \"18.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Ganesh Housing Corporation Limited\",\n    \"Symbol\": \"GANESHHOUC\",\n    \"ListingDate\": \"02-Mar-07\",\n    \"ISIN\": \"INE460C01014\",\n    \"MarketCap\": \"₹ 3,452 Cr.\",\n    \"CurrentPrice\": \"₹ 414\",\n    \"HighLow\": \"₹ 492 / 261\",\n    \"StockPE\": \"11.2\",\n    \"BookValue\": \"₹ 160\",\n    \"DividendYield\": \"0.57 %\",\n    \"ROCE\": \"23.0 %\",\n    \"ROE\": \"10.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ganga Forging Limited\",\n    \"Symbol\": \"GANGAFORGE\",\n    \"ListingDate\": \"06-Jul-21\",\n    \"ISIN\": \"INE691Z01023\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Ganges Securities Limited\",\n    \"Symbol\": \"GANGESSECU\",\n    \"ListingDate\": \"28-Jul-17\",\n    \"ISIN\": \"INE335W01016\",\n    \"MarketCap\": \"₹ 125 Cr.\",\n    \"CurrentPrice\": \"₹ 125\",\n    \"HighLow\": \"₹ 145 / 86.0\",\n    \"StockPE\": \"31.0\",\n    \"BookValue\": \"₹ 548\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.37 %\",\n    \"ROE\": \"1.80 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Garware Technical Fibres Limited\",\n    \"Symbol\": \"GARFIBRES\",\n    \"ListingDate\": \"03-Apr-07\",\n    \"ISIN\": \"INE276A01018\",\n    \"MarketCap\": \"₹ 6,910 Cr.\",\n    \"CurrentPrice\": \"₹ 3,391\",\n    \"HighLow\": \"₹ 3,479 / 2,587\",\n    \"StockPE\": \"36.1\",\n    \"BookValue\": \"₹ 549\",\n    \"DividendYield\": \"0.10 %\",\n    \"ROCE\": \"21.2 %\",\n    \"ROE\": \"17.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"GACM Technologies Limited\",\n    \"Symbol\": \"GATECH\",\n    \"ListingDate\": \"25-Jul-16\",\n    \"ISIN\": \"INE224E01028\",\n    \"MarketCap\": \"₹ 66.0 Cr.\",\n    \"CurrentPrice\": \"₹ 1.94\",\n    \"HighLow\": \"₹ 1.94 / 0.73\",\n    \"StockPE\": \"71.8\",\n    \"BookValue\": \"₹ 0.19\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-0.94 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"GACM Technologies Limited\",\n    \"Symbol\": \"GATECHDVR\",\n    \"ListingDate\": \"10-Oct-17\",\n    \"ISIN\": \"INE224E01036\",\n    \"MarketCap\": \"₹ 53.0 Cr.\",\n    \"CurrentPrice\": \"₹ 8.99\",\n    \"HighLow\": \"₹ 20.0 / 7.80\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 12.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Gateway Distriparks Limited\",\n    \"Symbol\": \"GATEWAY\",\n    \"ListingDate\": \"22-Mar-22\",\n    \"ISIN\": \"INE079J01017\",\n    \"MarketCap\": \"₹ 5,204 Cr.\",\n    \"CurrentPrice\": \"₹ 104\",\n    \"HighLow\": \"₹ 113 / 58.5\",\n    \"StockPE\": \"20.1\",\n    \"BookValue\": \"₹ 37.0\",\n    \"DividendYield\": \"1.97 %\",\n    \"ROCE\": \"12.6 %\",\n    \"ROE\": \"13.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"GeeCee Ventures Limited\",\n    \"Symbol\": \"GEECEE\",\n    \"ListingDate\": \"04-Oct-06\",\n    \"ISIN\": \"INE916G01016\",\n    \"MarketCap\": \"₹ 480 Cr.\",\n    \"CurrentPrice\": \"₹ 230\",\n    \"HighLow\": \"₹ 243 / 121\",\n    \"StockPE\": \"410\",\n    \"BookValue\": \"₹ 283\",\n    \"DividendYield\": \"0.87 %\",\n    \"ROCE\": \"2.64 %\",\n    \"ROE\": \"2.11 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Geekay Wires Limited\",\n    \"Symbol\": \"GEEKAYWIRE\",\n    \"ListingDate\": \"06-Mar-20\",\n    \"ISIN\": \"INE669X01024\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Generic Engineering Construction and Projects Limited\",\n    \"Symbol\": \"GENCON\",\n    \"ListingDate\": \"16-Feb-21\",\n    \"ISIN\": \"INE854S01022\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Genesys International Corporation Limited\",\n    \"Symbol\": \"GENESYS\",\n    \"ListingDate\": \"23-Jan-03\",\n    \"ISIN\": \"INE727B01026\",\n    \"MarketCap\": \"₹ 1,566 Cr.\",\n    \"CurrentPrice\": \"₹ 414\",\n    \"HighLow\": \"₹ 492 / 266\",\n    \"StockPE\": \"1,423\",\n    \"BookValue\": \"₹ 106\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.55 %\",\n    \"ROE\": \"4.66 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Gensol Engineering Limited\",\n    \"Symbol\": \"GENSOL\",\n    \"ListingDate\": \"03-Jul-23\",\n    \"ISIN\": \"INE06H201014\",\n    \"MarketCap\": \"₹ 3,155 Cr.\",\n    \"CurrentPrice\": \"₹ 833\",\n    \"HighLow\": \"₹ 946 / 266\",\n    \"StockPE\": \"95.5\",\n    \"BookValue\": \"₹ 76.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"12.0 %\",\n    \"ROE\": \"19.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Genus Paper & Boards Limited\",\n    \"Symbol\": \"GENUSPAPER\",\n    \"ListingDate\": \"16-Feb-15\",\n    \"ISIN\": \"INE949P01018\",\n    \"MarketCap\": \"₹ 493 Cr.\",\n    \"CurrentPrice\": \"₹ 19.2\",\n    \"HighLow\": \"₹ 23.5 / 12.2\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 18.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.00 %\",\n    \"ROE\": \"-2.48 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Genus Power Infrastructures Limited\",\n    \"Symbol\": \"GENUSPOWER\",\n    \"ListingDate\": \"08-Jul-05\",\n    \"ISIN\": \"INE955D01029\",\n    \"MarketCap\": \"₹ 6,031 Cr.\",\n    \"CurrentPrice\": \"₹ 234\",\n    \"HighLow\": \"₹ 290 / 78.6\",\n    \"StockPE\": \"72.9\",\n    \"BookValue\": \"₹ 45.4\",\n    \"DividendYield\": \"0.33 %\",\n    \"ROCE\": \"5.77 %\",\n    \"ROE\": \"3.00 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Geojit Financial Services Limited\",\n    \"Symbol\": \"GEOJITFSL\",\n    \"ListingDate\": \"01-Jul-05\",\n    \"ISIN\": \"INE007B01023\",\n    \"MarketCap\": \"₹ 1,876 Cr.\",\n    \"CurrentPrice\": \"₹ 78.4\",\n    \"HighLow\": \"₹ 84.2 / 39.1\",\n    \"StockPE\": \"17.0\",\n    \"BookValue\": \"₹ 31.1\",\n    \"DividendYield\": \"1.90 %\",\n    \"ROCE\": \"14.5 %\",\n    \"ROE\": \"13.7 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"GE Power India Limited\",\n    \"Symbol\": \"GEPIL\",\n    \"ListingDate\": \"19-Apr-00\",\n    \"ISIN\": \"INE878A01011\",\n    \"MarketCap\": \"₹ 1,545 Cr.\",\n    \"CurrentPrice\": \"₹ 230\",\n    \"HighLow\": \"₹ 254 / 97.4\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 4.99\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-29.4 %\",\n    \"ROE\": \"-95.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"The Great Eastern Shipping Company Limited\",\n    \"Symbol\": \"GESHIP\",\n    \"ListingDate\": \"27-Nov-06\",\n    \"ISIN\": \"INE017A01032\",\n    \"MarketCap\": \"₹ 14,072 Cr.\",\n    \"CurrentPrice\": \"₹ 986\",\n    \"HighLow\": \"₹ 1,042 / 532\",\n    \"StockPE\": \"5.57\",\n    \"BookValue\": \"₹ 781\",\n    \"DividendYield\": \"2.91 %\",\n    \"ROCE\": \"20.9 %\",\n    \"ROE\": \"26.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"GE T&D India Limited\",\n    \"Symbol\": \"GET&D\",\n    \"ListingDate\": \"30-Jun-08\",\n    \"ISIN\": \"INE200A01026\",\n    \"MarketCap\": \"₹ 12,888 Cr.\",\n    \"CurrentPrice\": \"₹ 503\",\n    \"HighLow\": \"₹ 503 / 98.6\",\n    \"StockPE\": \"69.0\",\n    \"BookValue\": \"₹ 41.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"GFL Limited\",\n    \"Symbol\": \"GFLLIMITED\",\n    \"ListingDate\": \"25-May-95\",\n    \"ISIN\": \"INE538A01037\",\n    \"MarketCap\": \"₹ 1,082 Cr.\",\n    \"CurrentPrice\": \"₹ 98.5\",\n    \"HighLow\": \"₹ 118 / 45.4\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 238\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-0.97 %\",\n    \"ROE\": \"-2.06 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"GHCL Limited\",\n    \"Symbol\": \"GHCL\",\n    \"ListingDate\": \"31-Jul-03\",\n    \"ISIN\": \"INE539A01019\",\n    \"MarketCap\": \"₹ 5,369 Cr.\",\n    \"CurrentPrice\": \"₹ 562\",\n    \"HighLow\": \"₹ 660 / 441\",\n    \"StockPE\": \"6.05\",\n    \"BookValue\": \"₹ 287\",\n    \"DividendYield\": \"3.10 %\",\n    \"ROCE\": \"35.5 %\",\n    \"ROE\": \"31.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"GHCL Textiles Limited\",\n    \"Symbol\": \"GHCLTEXTIL\",\n    \"ListingDate\": \"12-Jun-23\",\n    \"ISIN\": \"INE0PA801013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"GIC Housing Finance Limited\",\n    \"Symbol\": \"GICHSGFIN\",\n    \"ListingDate\": \"08-May-96\",\n    \"ISIN\": \"INE289B01019\",\n    \"MarketCap\": \"₹ 1,158 Cr.\",\n    \"CurrentPrice\": \"₹ 215\",\n    \"HighLow\": \"₹ 248 / 144\",\n    \"StockPE\": \"6.42\",\n    \"BookValue\": \"₹ 323\",\n    \"DividendYield\": \"2.08 %\",\n    \"ROCE\": \"8.69 %\",\n    \"ROE\": \"13.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"General Insurance Corporation of India\",\n    \"Symbol\": \"GICRE\",\n    \"ListingDate\": \"25-Oct-17\",\n    \"ISIN\": \"INE481Y01014\",\n    \"MarketCap\": \"₹ 54,579 Cr.\",\n    \"CurrentPrice\": \"₹ 311\",\n    \"HighLow\": \"₹ 338 / 128\",\n    \"StockPE\": \"8.23\",\n    \"BookValue\": \"₹ 272\",\n    \"DividendYield\": \"2.30 %\",\n    \"ROCE\": \"19.8 %\",\n    \"ROE\": \"17.0 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Gillanders Arbuthnot & Company Limited\",\n    \"Symbol\": \"GILLANDERS\",\n    \"ListingDate\": \"14-Dec-09\",\n    \"ISIN\": \"INE047B01011\",\n    \"MarketCap\": \"₹ 239 Cr.\",\n    \"CurrentPrice\": \"₹ 112\",\n    \"HighLow\": \"₹ 130 / 56.6\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 128\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.38 %\",\n    \"ROE\": \"1.37 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Gillette India Limited\",\n    \"Symbol\": \"GILLETTE\",\n    \"ListingDate\": \"30-Jul-03\",\n    \"ISIN\": \"INE322A01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Ginni Filaments Limited\",\n    \"Symbol\": \"GINNIFILA\",\n    \"ListingDate\": \"10-May-95\",\n    \"ISIN\": \"INE424C01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Gujarat Industries Power Company Limited\",\n    \"Symbol\": \"GIPCL\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE162A01010\",\n    \"MarketCap\": \"₹ 2,653 Cr.\",\n    \"CurrentPrice\": \"₹ 175\",\n    \"HighLow\": \"₹ 187 / 70.7\",\n    \"StockPE\": \"7.53\",\n    \"BookValue\": \"₹ 170\",\n    \"DividendYield\": \"2.15 %\",\n    \"ROCE\": \"16.2 %\",\n    \"ROE\": \"14.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"GKW Limited\",\n    \"Symbol\": \"GKWLIMITED\",\n    \"ListingDate\": \"20-Jul-09\",\n    \"ISIN\": \"INE528A01020\",\n    \"MarketCap\": \"₹ 884 Cr.\",\n    \"CurrentPrice\": \"₹ 1,480\",\n    \"HighLow\": \"₹ 2,018 / 485\",\n    \"StockPE\": \"240\",\n    \"BookValue\": \"₹ 176\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.86 %\",\n    \"ROE\": \"3.56 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Gland Pharma Limited\",\n    \"Symbol\": \"GLAND\",\n    \"ListingDate\": \"20-Nov-20\",\n    \"ISIN\": \"INE068V01023\",\n    \"MarketCap\": \"₹ 31,740 Cr.\",\n    \"CurrentPrice\": \"₹ 1,927\",\n    \"HighLow\": \"₹ 1,997 / 861\",\n    \"StockPE\": \"43.3\",\n    \"BookValue\": \"₹ 504\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"14.8 %\",\n    \"ROE\": \"10.9 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"GlaxoSmithKline Pharmaceuticals Limited\",\n    \"Symbol\": \"GLAXO\",\n    \"ListingDate\": \"15-Dec-00\",\n    \"ISIN\": \"INE159A01016\",\n    \"MarketCap\": \"₹ 32,160 Cr.\",\n    \"CurrentPrice\": \"₹ 1,898\",\n    \"HighLow\": \"₹ 1,929 / 1,227\",\n    \"StockPE\": \"50.6\",\n    \"BookValue\": \"₹ 90.9\",\n    \"DividendYield\": \"1.69 %\",\n    \"ROCE\": \"36.4 %\",\n    \"ROE\": \"26.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Glenmark Pharmaceuticals Limited\",\n    \"Symbol\": \"GLENMARK\",\n    \"ListingDate\": \"07-Feb-00\",\n    \"ISIN\": \"INE935A01035\",\n    \"MarketCap\": \"₹ 23,998 Cr.\",\n    \"CurrentPrice\": \"₹ 850\",\n    \"HighLow\": \"₹ 880 / 369\",\n    \"StockPE\": \"26.9\",\n    \"BookValue\": \"₹ 331\",\n    \"DividendYield\": \"0.29 %\",\n    \"ROCE\": \"14.2 %\",\n    \"ROE\": \"5.44 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Gujarat Lease Financing Limited\",\n    \"Symbol\": \"GLFL\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE540A01017\",\n    \"MarketCap\": \"₹ 13.5 Cr.\",\n    \"CurrentPrice\": \"₹ 4.98\",\n    \"HighLow\": \"₹ 5.77 / 2.25\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -2.69\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-4.61 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Global Education Limited\",\n    \"Symbol\": \"GLOBAL\",\n    \"ListingDate\": \"07-Dec-20\",\n    \"ISIN\": \"INE291W01029\",\n    \"MarketCap\": \"₹ 626 Cr.\",\n    \"CurrentPrice\": \"₹ 307\",\n    \"HighLow\": \"₹ 345 / 136\",\n    \"StockPE\": \"18.7\",\n    \"BookValue\": \"₹ 39.4\",\n    \"DividendYield\": \"0.97 %\",\n    \"ROCE\": \"54.1 %\",\n    \"ROE\": \"40.3 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Global Vectra Helicorp Limited\",\n    \"Symbol\": \"GLOBALVECT\",\n    \"ListingDate\": \"27-Oct-06\",\n    \"ISIN\": \"INE792H01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Globe Textiles (India) Limited\",\n    \"Symbol\": \"GLOBE\",\n    \"ListingDate\": \"07-Oct-20\",\n    \"ISIN\": \"INE581X01021\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Globus Spirits Limited\",\n    \"Symbol\": \"GLOBUSSPR\",\n    \"ListingDate\": \"23-Sep-09\",\n    \"ISIN\": \"INE615I01010\",\n    \"MarketCap\": \"₹ 2,503 Cr.\",\n    \"CurrentPrice\": \"₹ 869\",\n    \"HighLow\": \"₹ 1,328 / 739\",\n    \"StockPE\": \"14.1\",\n    \"BookValue\": \"₹ 203\",\n    \"DividendYield\": \"0.70 %\",\n    \"ROCE\": \"31.6 %\",\n    \"ROE\": \"27.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Glenmark Life Sciences Limited\",\n    \"Symbol\": \"GLS\",\n    \"ListingDate\": \"06-Aug-21\",\n    \"ISIN\": \"INE03Q201024\",\n    \"MarketCap\": \"₹ 7,986 Cr.\",\n    \"CurrentPrice\": \"₹ 652\",\n    \"HighLow\": \"₹ 675 / 369\",\n    \"StockPE\": \"22.8\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"3.44 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"GM Breweries Limited\",\n    \"Symbol\": \"GMBREW\",\n    \"ListingDate\": \"23-Aug-95\",\n    \"ISIN\": \"INE075D01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Gujarat Mineral Development Corporation Limited\",\n    \"Symbol\": \"GMDCLTD\",\n    \"ListingDate\": \"17-Dec-97\",\n    \"ISIN\": \"INE131A01031\",\n    \"MarketCap\": \"₹ 12,949 Cr.\",\n    \"CurrentPrice\": \"₹ 407\",\n    \"HighLow\": \"₹ 450 / 123\",\n    \"StockPE\": \"12.8\",\n    \"BookValue\": \"₹ 183\",\n    \"DividendYield\": \"2.83 %\",\n    \"ROCE\": \"31.3 %\",\n    \"ROE\": \"22.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"GMM Pfaudler Limited\",\n    \"Symbol\": \"GMMPFAUDLR\",\n    \"ListingDate\": \"05-Mar-18\",\n    \"ISIN\": \"INE541A01023\",\n    \"MarketCap\": \"₹ 7,337 Cr.\",\n    \"CurrentPrice\": \"₹ 1,632\",\n    \"HighLow\": \"₹ 1,898 / 1,350\",\n    \"StockPE\": \"38.3\",\n    \"BookValue\": \"₹ 207\",\n    \"DividendYield\": \"0.12 %\",\n    \"ROCE\": \"22.0 %\",\n    \"ROE\": \"24.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"GMR Airports Infrastructure Limited\",\n    \"Symbol\": \"GMRINFRA\",\n    \"ListingDate\": \"21-Aug-06\",\n    \"ISIN\": \"INE776C01039\",\n    \"MarketCap\": \"₹ 46,374 Cr.\",\n    \"CurrentPrice\": \"₹ 76.8\",\n    \"HighLow\": \"₹ 79.5 / 36.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -1.66\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.49 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"GMR Power and Urban Infra Limited\",\n    \"Symbol\": \"GMRP&UI\",\n    \"ListingDate\": \"23-Mar-22\",\n    \"ISIN\": \"INE0CU601026\",\n    \"MarketCap\": \"₹ 3,294 Cr.\",\n    \"CurrentPrice\": \"₹ 54.6\",\n    \"HighLow\": \"₹ 56.0 / 14.3\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -51.5\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"19.0 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"GNA Axles Limited\",\n    \"Symbol\": \"GNA\",\n    \"ListingDate\": \"26-Sep-16\",\n    \"ISIN\": \"INE934S01014\",\n    \"MarketCap\": \"₹ 1,904 Cr.\",\n    \"CurrentPrice\": \"₹ 443\",\n    \"HighLow\": \"₹ 583 / 334\",\n    \"StockPE\": \"14.6\",\n    \"BookValue\": \"₹ 181\",\n    \"DividendYield\": \"1.34 %\",\n    \"ROCE\": \"21.4 %\",\n    \"ROE\": \"19.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Gujarat Narmada Valley Fertilizers and Chemicals Limited\",\n    \"Symbol\": \"GNFC\",\n    \"ListingDate\": \"17-May-95\",\n    \"ISIN\": \"INE113A01013\",\n    \"MarketCap\": \"₹ 11,676 Cr.\",\n    \"CurrentPrice\": \"₹ 751\",\n    \"HighLow\": \"₹ 763 / 484\",\n    \"StockPE\": \"12.5\",\n    \"BookValue\": \"₹ 568\",\n    \"DividendYield\": \"4.02 %\",\n    \"ROCE\": \"22.6 %\",\n    \"ROE\": \"17.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Goa Carbon Limited\",\n    \"Symbol\": \"GOACARBON\",\n    \"ListingDate\": \"05-Jun-07\",\n    \"ISIN\": \"INE426D01013\",\n    \"MarketCap\": \"₹ 521 Cr.\",\n    \"CurrentPrice\": \"₹ 570\",\n    \"HighLow\": \"₹ 619 / 388\",\n    \"StockPE\": \"56.4\",\n    \"BookValue\": \"₹ 87.9\",\n    \"DividendYield\": \"3.08 %\",\n    \"ROCE\": \"8.61 %\",\n    \"ROE\": \"12.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"GOCL Corporation Limited\",\n    \"Symbol\": \"GOCLCORP\",\n    \"ListingDate\": \"26-Jun-14\",\n    \"ISIN\": \"INE077F01035\",\n    \"MarketCap\": \"₹ 2,524 Cr.\",\n    \"CurrentPrice\": \"₹ 509\",\n    \"HighLow\": \"₹ 641 / 278\",\n    \"StockPE\": \"37.3\",\n    \"BookValue\": \"₹ 282\",\n    \"DividendYield\": \"0.98 %\",\n    \"ROCE\": \"5.68 %\",\n    \"ROE\": \"3.13 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Go Fashion (India) Limited\",\n    \"Symbol\": \"GOCOLORS\",\n    \"ListingDate\": \"30-Nov-21\",\n    \"ISIN\": \"INE0BJS01011\",\n    \"MarketCap\": \"₹ 6,600 Cr.\",\n    \"CurrentPrice\": \"₹ 1,222\",\n    \"HighLow\": \"₹ 1,405 / 876\",\n    \"StockPE\": \"373\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"22.7 %\",\n    \"ROE\": \"19.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Godfrey Phillips India Limited\",\n    \"Symbol\": \"GODFRYPHLP\",\n    \"ListingDate\": \"24-Jul-96\",\n    \"ISIN\": \"INE260B01028\",\n    \"MarketCap\": \"₹ 10,907 Cr.\",\n    \"CurrentPrice\": \"₹ 2,098\",\n    \"HighLow\": \"₹ 2,405 / 1,605\",\n    \"StockPE\": \"13.6\",\n    \"BookValue\": \"₹ 729\",\n    \"DividendYield\": \"2.09 %\",\n    \"ROCE\": \"21.5 %\",\n    \"ROE\": \"18.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Godha Cabcon & Insulation Limited\",\n    \"Symbol\": \"GODHA\",\n    \"ListingDate\": \"24-Dec-20\",\n    \"ISIN\": \"INE925Y01036\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Godrej Agrovet Limited\",\n    \"Symbol\": \"GODREJAGRO\",\n    \"ListingDate\": \"16-Oct-17\",\n    \"ISIN\": \"INE850D01014\",\n    \"MarketCap\": \"₹ 10,837 Cr.\",\n    \"CurrentPrice\": \"₹ 564\",\n    \"HighLow\": \"₹ 573 / 391\",\n    \"StockPE\": \"31.2\",\n    \"BookValue\": \"₹ 123\",\n    \"DividendYield\": \"1.65 %\",\n    \"ROCE\": \"9.63 %\",\n    \"ROE\": \"10.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Godrej Industries Limited\",\n    \"Symbol\": \"GODREJIND\",\n    \"ListingDate\": \"25-Feb-03\",\n    \"ISIN\": \"INE233A01035\",\n    \"MarketCap\": \"₹ 25,351 Cr.\",\n    \"CurrentPrice\": \"₹ 753\",\n    \"HighLow\": \"₹ 763 / 395\",\n    \"StockPE\": \"28.8\",\n    \"BookValue\": \"₹ 244\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.81 %\",\n    \"ROE\": \"11.2 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Godrej Properties Limited\",\n    \"Symbol\": \"GODREJPROP\",\n    \"ListingDate\": \"05-Jan-10\",\n    \"ISIN\": \"INE484J01027\",\n    \"MarketCap\": \"₹ 56,011 Cr.\",\n    \"CurrentPrice\": \"₹ 2,014\",\n    \"HighLow\": \"₹ 2,076 / 1,005\",\n    \"StockPE\": \"84.8\",\n    \"BookValue\": \"₹ 340\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.69 %\",\n    \"ROE\": \"5.39 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Gokul Refoils and Solvent Limited\",\n    \"Symbol\": \"GOKUL\",\n    \"ListingDate\": \"04-Jun-08\",\n    \"ISIN\": \"INE020J01029\",\n    \"MarketCap\": \"₹ 501 Cr.\",\n    \"CurrentPrice\": \"₹ 50.7\",\n    \"HighLow\": \"₹ 52.2 / 25.0\",\n    \"StockPE\": \"20.1\",\n    \"BookValue\": \"₹ 32.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.17 %\",\n    \"ROE\": \"7.57 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Gokul Agro Resources Limited\",\n    \"Symbol\": \"GOKULAGRO\",\n    \"ListingDate\": \"11-Mar-16\",\n    \"ISIN\": \"INE314T01025\",\n    \"MarketCap\": \"₹ 1,816 Cr.\",\n    \"CurrentPrice\": \"₹ 123\",\n    \"HighLow\": \"₹ 139 / 94.8\",\n    \"StockPE\": \"13.7\",\n    \"BookValue\": \"₹ 48.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"28.2 %\",\n    \"ROE\": \"23.6 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Golden Tobacco Limited\",\n    \"Symbol\": \"GOLDENTOBC\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE973A01010\",\n    \"MarketCap\": \"₹ 88.0 Cr.\",\n    \"CurrentPrice\": \"₹ 50.0\",\n    \"HighLow\": \"₹ 73.0 / 39.1\",\n    \"StockPE\": \"16.6\",\n    \"BookValue\": \"₹ -117\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Goldiam International Limited\",\n    \"Symbol\": \"GOLDIAM\",\n    \"ListingDate\": \"29-Aug-05\",\n    \"ISIN\": \"INE025B01025\",\n    \"MarketCap\": \"₹ 1,847 Cr.\",\n    \"CurrentPrice\": \"₹ 170\",\n    \"HighLow\": \"₹ 192 / 120\",\n    \"StockPE\": \"21.7\",\n    \"BookValue\": \"₹ 54.2\",\n    \"DividendYield\": \"1.18 %\",\n    \"ROCE\": \"20.9 %\",\n    \"ROE\": \"15.3 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Goldstone Technologies Limited\",\n    \"Symbol\": \"GOLDTECH\",\n    \"ListingDate\": \"11-Apr-01\",\n    \"ISIN\": \"INE805A01014\",\n    \"MarketCap\": \"₹ 430 Cr.\",\n    \"CurrentPrice\": \"₹ 124\",\n    \"HighLow\": \"₹ 144 / 43.4\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 19.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.89 %\",\n    \"ROE\": \"0.67 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Goodluck India Limited\",\n    \"Symbol\": \"GOODLUCK\",\n    \"ListingDate\": \"08-Jan-15\",\n    \"ISIN\": \"INE127I01024\",\n    \"MarketCap\": \"₹ 2,659 Cr.\",\n    \"CurrentPrice\": \"₹ 938\",\n    \"HighLow\": \"₹ 969 / 355\",\n    \"StockPE\": \"24.2\",\n    \"BookValue\": \"₹ 251\",\n    \"DividendYield\": \"0.48 %\",\n    \"ROCE\": \"16.6 %\",\n    \"ROE\": \"16.5 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Goyal Aluminiums Limited\",\n    \"Symbol\": \"GOYALALUM\",\n    \"ListingDate\": \"04-Nov-22\",\n    \"ISIN\": \"INE705X01026\",\n    \"MarketCap\": \"₹ 142 Cr.\",\n    \"CurrentPrice\": \"₹ 9.95\",\n    \"HighLow\": \"₹ 47.6 / 7.19\",\n    \"StockPE\": \"63.1\",\n    \"BookValue\": \"₹ 1.31\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"18.4 %\",\n    \"ROE\": \"13.2 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Godawari Power And Ispat limited\",\n    \"Symbol\": \"GPIL\",\n    \"ListingDate\": \"25-Apr-06\",\n    \"ISIN\": \"INE177H01021\",\n    \"MarketCap\": \"₹ 10,247 Cr.\",\n    \"CurrentPrice\": \"₹ 754\",\n    \"HighLow\": \"₹ 756 / 338\",\n    \"StockPE\": \"13.1\",\n    \"BookValue\": \"₹ 297\",\n    \"DividendYield\": \"0.53 %\",\n    \"ROCE\": \"27.5 %\",\n    \"ROE\": \"22.3 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Gujarat Pipavav Port Limited\",\n    \"Symbol\": \"GPPL\",\n    \"ListingDate\": \"09-Sep-10\",\n    \"ISIN\": \"INE517F01014\",\n    \"MarketCap\": \"₹ 7,491 Cr.\",\n    \"CurrentPrice\": \"₹ 155\",\n    \"HighLow\": \"₹ 158 / 88.2\",\n    \"StockPE\": \"21.0\",\n    \"BookValue\": \"₹ 47.7\",\n    \"DividendYield\": \"3.98 %\",\n    \"ROCE\": \"19.6 %\",\n    \"ROE\": \"15.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"GPT Infraprojects Limited\",\n    \"Symbol\": \"GPTINFRA\",\n    \"ListingDate\": \"11-Jul-16\",\n    \"ISIN\": \"INE390G01014\",\n    \"MarketCap\": \"₹ 977 Cr.\",\n    \"CurrentPrice\": \"₹ 168\",\n    \"HighLow\": \"₹ 168 / 42.6\",\n    \"StockPE\": \"22.8\",\n    \"BookValue\": \"₹ 50.4\",\n    \"DividendYield\": \"1.48 %\",\n    \"ROCE\": \"14.2 %\",\n    \"ROE\": \"11.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Granules India Limited\",\n    \"Symbol\": \"GRANULES\",\n    \"ListingDate\": \"20-Jun-05\",\n    \"ISIN\": \"INE101D01020\",\n    \"MarketCap\": \"₹ 9,662 Cr.\",\n    \"CurrentPrice\": \"₹ 399\",\n    \"HighLow\": \"₹ 410 / 268\",\n    \"StockPE\": \"24.5\",\n    \"BookValue\": \"₹ 122\",\n    \"DividendYield\": \"0.38 %\",\n    \"ROCE\": \"19.4 %\",\n    \"ROE\": \"19.1 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Graphite India Limited\",\n    \"Symbol\": \"GRAPHITE\",\n    \"ListingDate\": \"07-Feb-03\",\n    \"ISIN\": \"INE371A01025\",\n    \"MarketCap\": \"₹ 10,700 Cr.\",\n    \"CurrentPrice\": \"₹ 548\",\n    \"HighLow\": \"₹ 572 / 252\",\n    \"StockPE\": \"122\",\n    \"BookValue\": \"₹ 285\",\n    \"DividendYield\": \"1.54 %\",\n    \"ROCE\": \"7.20 %\",\n    \"ROE\": \"4.66 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Grasim Industries Limited\",\n    \"Symbol\": \"GRASIM\",\n    \"ListingDate\": \"10-May-95\",\n    \"ISIN\": \"INE047A01021\",\n    \"MarketCap\": \"₹ 1,40,365 Cr.\",\n    \"CurrentPrice\": \"₹ 2,132\",\n    \"HighLow\": \"₹ 2,181 / 1,527\",\n    \"StockPE\": \"21.2\",\n    \"BookValue\": \"₹ 1,263\",\n    \"DividendYield\": \"0.46 %\",\n    \"ROCE\": \"9.97 %\",\n    \"ROE\": \"8.85 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Greaves Cotton Limited\",\n    \"Symbol\": \"GREAVESCOT\",\n    \"ListingDate\": \"09-Sep-04\",\n    \"ISIN\": \"INE224A01026\",\n    \"MarketCap\": \"₹ 3,413 Cr.\",\n    \"CurrentPrice\": \"₹ 147\",\n    \"HighLow\": \"₹ 165 / 118\",\n    \"StockPE\": \"502\",\n    \"BookValue\": \"₹ 59.2\",\n    \"DividendYield\": \"0.61 %\",\n    \"ROCE\": \"9.09 %\",\n    \"ROE\": \"6.59 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Greenlam Industries Limited\",\n    \"Symbol\": \"GREENLAM\",\n    \"ListingDate\": \"02-Mar-15\",\n    \"ISIN\": \"INE544R01021\",\n    \"MarketCap\": \"₹ 6,863 Cr.\",\n    \"CurrentPrice\": \"₹ 538\",\n    \"HighLow\": \"₹ 626 / 282\",\n    \"StockPE\": \"47.1\",\n    \"BookValue\": \"₹ 80.7\",\n    \"DividendYield\": \"0.27 %\",\n    \"ROCE\": \"13.8 %\",\n    \"ROE\": \"15.3 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Greenpanel Industries Limited\",\n    \"Symbol\": \"GREENPANEL\",\n    \"ListingDate\": \"23-Oct-19\",\n    \"ISIN\": \"INE08ZM01014\",\n    \"MarketCap\": \"₹ 5,263 Cr.\",\n    \"CurrentPrice\": \"₹ 429\",\n    \"HighLow\": \"₹ 444 / 255\",\n    \"StockPE\": \"28.5\",\n    \"BookValue\": \"₹ 104\",\n    \"DividendYield\": \"0.36 %\",\n    \"ROCE\": \"27.2 %\",\n    \"ROE\": \"23.6 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Greenply Industries Limited\",\n    \"Symbol\": \"GREENPLY\",\n    \"ListingDate\": \"06-Mar-96\",\n    \"ISIN\": \"INE461C01038\",\n    \"MarketCap\": \"₹ 2,925 Cr.\",\n    \"CurrentPrice\": \"₹ 236\",\n    \"HighLow\": \"₹ 250 / 134\",\n    \"StockPE\": \"55.2\",\n    \"BookValue\": \"₹ 53.4\",\n    \"DividendYield\": \"0.21 %\",\n    \"ROCE\": \"11.6 %\",\n    \"ROE\": \"14.1 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Orient Green Power Company Limited\",\n    \"Symbol\": \"GREENPOWER\",\n    \"ListingDate\": \"08-Oct-10\",\n    \"ISIN\": \"INE999K01014\",\n    \"MarketCap\": \"₹ 2,138 Cr.\",\n    \"CurrentPrice\": \"₹ 21.8\",\n    \"HighLow\": \"₹ 25.5 / 7.09\",\n    \"StockPE\": \"49.5\",\n    \"BookValue\": \"₹ 8.52\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.19 %\",\n    \"ROE\": \"1.82 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Grindwell Norton Limited\",\n    \"Symbol\": \"GRINDWELL\",\n    \"ListingDate\": \"11-Sep-06\",\n    \"ISIN\": \"INE536A01023\",\n    \"MarketCap\": \"₹ 25,538 Cr.\",\n    \"CurrentPrice\": \"₹ 2,306\",\n    \"HighLow\": \"₹ 2,495 / 1,718\",\n    \"StockPE\": \"67.7\",\n    \"BookValue\": \"₹ 167\",\n    \"DividendYield\": \"0.64 %\",\n    \"ROCE\": \"27.6 %\",\n    \"ROE\": \"20.7 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"G R Infraprojects Limited\",\n    \"Symbol\": \"GRINFRA\",\n    \"ListingDate\": \"19-Jul-21\",\n    \"ISIN\": \"INE201P01022\",\n    \"MarketCap\": \"₹ 11,172 Cr.\",\n    \"CurrentPrice\": \"₹ 1,155\",\n    \"HighLow\": \"₹ 1,382 / 930\",\n    \"StockPE\": \"9.02\",\n    \"BookValue\": \"₹ 703\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"21.6 %\",\n    \"ROE\": \"26.1 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"GRM Overseas Limited\",\n    \"Symbol\": \"GRMOVER\",\n    \"ListingDate\": \"07-Sep-22\",\n    \"ISIN\": \"INE192H01020\",\n    \"MarketCap\": \"₹ 1,137 Cr.\",\n    \"CurrentPrice\": \"₹ 189\",\n    \"HighLow\": \"₹ 437 / 159\",\n    \"StockPE\": \"20.7\",\n    \"BookValue\": \"₹ 49.8\",\n    \"DividendYield\": \"0.24 %\",\n    \"ROCE\": \"17.4 %\",\n    \"ROE\": \"26.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"The Grob Tea Company Limited\",\n    \"Symbol\": \"GROBTEA\",\n    \"ListingDate\": \"14-Jul-16\",\n    \"ISIN\": \"INE646C01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"GRP Limited\",\n    \"Symbol\": \"GRPLTD\",\n    \"ListingDate\": \"12-Feb-15\",\n    \"ISIN\": \"INE137I01015\",\n    \"MarketCap\": \"₹ 639 Cr.\",\n    \"CurrentPrice\": \"₹ 4,808\",\n    \"HighLow\": \"₹ 5,200 / 2,000\",\n    \"StockPE\": \"47.8\",\n    \"BookValue\": \"₹ 1,137\",\n    \"DividendYield\": \"0.35 %\",\n    \"ROCE\": \"8.97 %\",\n    \"ROE\": \"9.53 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Garden Reach Shipbuilders & Engineers Limited\",\n    \"Symbol\": \"GRSE\",\n    \"ListingDate\": \"10-Oct-18\",\n    \"ISIN\": \"INE382Z01011\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Garware Hi-Tech Films Limited\",\n    \"Symbol\": \"GRWRHITECH\",\n    \"ListingDate\": \"03-Feb-22\",\n    \"ISIN\": \"INE291A01017\",\n    \"MarketCap\": \"₹ 3,273 Cr.\",\n    \"CurrentPrice\": \"₹ 1,409\",\n    \"HighLow\": \"₹ 1,634 / 491\",\n    \"StockPE\": \"20.1\",\n    \"BookValue\": \"₹ 829\",\n    \"DividendYield\": \"0.71 %\",\n    \"ROCE\": \"11.9 %\",\n    \"ROE\": \"9.05 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Gujarat State Fertilizers & Chemicals Limited\",\n    \"Symbol\": \"GSFC\",\n    \"ListingDate\": \"06-Sep-95\",\n    \"ISIN\": \"INE026A01025\",\n    \"MarketCap\": \"₹ 9,675 Cr.\",\n    \"CurrentPrice\": \"₹ 243\",\n    \"HighLow\": \"₹ 248 / 116\",\n    \"StockPE\": \"9.14\",\n    \"BookValue\": \"₹ 310\",\n    \"DividendYield\": \"4.06 %\",\n    \"ROCE\": \"13.1 %\",\n    \"ROE\": \"10.6 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Gujarat State Petronet Limited\",\n    \"Symbol\": \"GSPL\",\n    \"ListingDate\": \"16-Feb-06\",\n    \"ISIN\": \"INE246F01010\",\n    \"MarketCap\": \"₹ 17,248 Cr.\",\n    \"CurrentPrice\": \"₹ 306\",\n    \"HighLow\": \"₹ 316 / 254\",\n    \"StockPE\": \"11.3\",\n    \"BookValue\": \"₹ 176\",\n    \"DividendYield\": \"1.63 %\",\n    \"ROCE\": \"26.6 %\",\n    \"ROE\": \"18.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"GSS Infotech Limited\",\n    \"Symbol\": \"GSS\",\n    \"ListingDate\": \"07-Mar-08\",\n    \"ISIN\": \"INE871H01011\",\n    \"MarketCap\": \"₹ 317 Cr.\",\n    \"CurrentPrice\": \"₹ 187\",\n    \"HighLow\": \"₹ 304 / 176\",\n    \"StockPE\": \"77.6\",\n    \"BookValue\": \"₹ 135\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.81 %\",\n    \"ROE\": \"7.29 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"G-TEC JAINX EDUCATION LIMITED\",\n    \"Symbol\": \"GTECJAINX\",\n    \"ListingDate\": \"13-Nov-20\",\n    \"ISIN\": \"INE586X01012\",\n    \"MarketCap\": \"₹ 124 Cr.\",\n    \"CurrentPrice\": \"₹ 122\",\n    \"HighLow\": \"₹ 141 / 34.4\",\n    \"StockPE\": \"135\",\n    \"BookValue\": \"₹ 5.09\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"29.5 %\",\n    \"ROE\": \"29.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"GTL Infrastructure Limited\",\n    \"Symbol\": \"GTLINFRA\",\n    \"ListingDate\": \"09-Nov-06\",\n    \"ISIN\": \"INE221H01019\",\n    \"MarketCap\": \"₹ 1,678 Cr.\",\n    \"CurrentPrice\": \"₹ 1.31\",\n    \"HighLow\": \"₹ 1.62 / 0.60\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -5.81\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.40 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"GTPL Hathway Limited\",\n    \"Symbol\": \"GTPL\",\n    \"ListingDate\": \"04-Jul-17\",\n    \"ISIN\": \"INE869I01013\",\n    \"MarketCap\": \"₹ 2,142 Cr.\",\n    \"CurrentPrice\": \"₹ 190\",\n    \"HighLow\": \"₹ 202 / 93.5\",\n    \"StockPE\": \"20.7\",\n    \"BookValue\": \"₹ 100\",\n    \"DividendYield\": \"2.10 %\",\n    \"ROCE\": \"15.2 %\",\n    \"ROE\": \"11.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Gufic Biosciences Limited\",\n    \"Symbol\": \"GUFICBIO\",\n    \"ListingDate\": \"19-Oct-04\",\n    \"ISIN\": \"INE742B01025\",\n    \"MarketCap\": \"₹ 3,134 Cr.\",\n    \"CurrentPrice\": \"₹ 313\",\n    \"HighLow\": \"₹ 348 / 177\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 40.3\",\n    \"DividendYield\": \"0.03 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Gujarat Alkalies and Chemicals Limited\",\n    \"Symbol\": \"GUJALKALI\",\n    \"ListingDate\": \"07-Aug-97\",\n    \"ISIN\": \"INE186A01019\",\n    \"MarketCap\": \"₹ 5,736 Cr.\",\n    \"CurrentPrice\": \"₹ 781\",\n    \"HighLow\": \"₹ 809 / 556\",\n    \"StockPE\": \"69.4\",\n    \"BookValue\": \"₹ 817\",\n    \"DividendYield\": \"2.99 %\",\n    \"ROCE\": \"10.8 %\",\n    \"ROE\": \"6.81 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Gujarat Apollo Industries Limited\",\n    \"Symbol\": \"GUJAPOLLO\",\n    \"ListingDate\": \"04-Jun-07\",\n    \"ISIN\": \"INE826C01016\",\n    \"MarketCap\": \"₹ 305 Cr.\",\n    \"CurrentPrice\": \"₹ 258\",\n    \"HighLow\": \"₹ 270 / 178\",\n    \"StockPE\": \"29.7\",\n    \"BookValue\": \"₹ 409\",\n    \"DividendYield\": \"0.78 %\",\n    \"ROCE\": \"2.38 %\",\n    \"ROE\": \"2.24 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Gujarat Gas Limited\",\n    \"Symbol\": \"GUJGASLTD\",\n    \"ListingDate\": \"15-Sep-15\",\n    \"ISIN\": \"INE844O01030\",\n    \"MarketCap\": \"₹ 31,294 Cr.\",\n    \"CurrentPrice\": \"₹ 455\",\n    \"HighLow\": \"₹ 526 / 397\",\n    \"StockPE\": \"25.0\",\n    \"BookValue\": \"₹ 103\",\n    \"DividendYield\": \"1.47 %\",\n    \"ROCE\": \"31.2 %\",\n    \"ROE\": \"24.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Gujarat Raffia Industries Limited\",\n    \"Symbol\": \"GUJRAFFIA\",\n    \"ListingDate\": \"09-Oct-96\",\n    \"ISIN\": \"INE610B01024\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Gulf Oil Lubricants India Limited\",\n    \"Symbol\": \"GULFOILLUB\",\n    \"ListingDate\": \"31-Jul-14\",\n    \"ISIN\": \"INE635Q01029\",\n    \"MarketCap\": \"₹ 3,586 Cr.\",\n    \"CurrentPrice\": \"₹ 731\",\n    \"HighLow\": \"₹ 750 / 390\",\n    \"StockPE\": \"13.4\",\n    \"BookValue\": \"₹ 245\",\n    \"DividendYield\": \"3.43 %\",\n    \"ROCE\": \"23.3 %\",\n    \"ROE\": \"20.8 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"GP Petroleums Limited\",\n    \"Symbol\": \"GULFPETRO\",\n    \"ListingDate\": \"24-Sep-04\",\n    \"ISIN\": \"INE586G01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Gulshan Polyols Limited\",\n    \"Symbol\": \"GULPOLY\",\n    \"ListingDate\": \"28-Jan-15\",\n    \"ISIN\": \"INE255D01024\",\n    \"MarketCap\": \"₹ 1,316 Cr.\",\n    \"CurrentPrice\": \"₹ 211\",\n    \"HighLow\": \"₹ 275 / 159\",\n    \"StockPE\": \"40.2\",\n    \"BookValue\": \"₹ 92.8\",\n    \"DividendYield\": \"0.24 %\",\n    \"ROCE\": \"8.61 %\",\n    \"ROE\": \"7.78 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"GVK Power & Infrastructure Limited\",\n    \"Symbol\": \"GVKPIL\",\n    \"ListingDate\": \"27-Feb-06\",\n    \"ISIN\": \"INE251H01024\",\n    \"MarketCap\": \"₹ 1,590 Cr.\",\n    \"CurrentPrice\": \"₹ 10.1\",\n    \"HighLow\": \"₹ 13.8 / 1.98\",\n    \"StockPE\": \"11.9\",\n    \"BookValue\": \"₹ -6.14\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"14.1 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"GVP Infotech Limited\",\n    \"Symbol\": \"GVPTECH\",\n    \"ListingDate\": \"06-Sep-22\",\n    \"ISIN\": \"INE382T01030\",\n    \"MarketCap\": \"₹ 178 Cr.\",\n    \"CurrentPrice\": \"₹ 10.9\",\n    \"HighLow\": \"₹ 44.0 / 9.85\",\n    \"StockPE\": \"4.53\",\n    \"BookValue\": \"₹ 10.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"72.0 %\",\n    \"ROE\": \"43.6 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Hindustan Aeronautics Limited\",\n    \"Symbol\": \"HAL\",\n    \"ListingDate\": \"28-Mar-18\",\n    \"ISIN\": \"INE066F01020\",\n    \"MarketCap\": \"₹ 1,87,846 Cr.\",\n    \"CurrentPrice\": \"₹ 2,809\",\n    \"HighLow\": \"₹ 2,850 / 1,150\",\n    \"StockPE\": \"31.2\",\n    \"BookValue\": \"₹ 376\",\n    \"DividendYield\": \"0.98 %\",\n    \"ROCE\": \"30.6 %\",\n    \"ROE\": \"27.2 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Happiest Minds Technologies Limited\",\n    \"Symbol\": \"HAPPSTMNDS\",\n    \"ListingDate\": \"17-Sep-20\",\n    \"ISIN\": \"INE419U01012\",\n    \"MarketCap\": \"₹ 13,690 Cr.\",\n    \"CurrentPrice\": \"₹ 899\",\n    \"HighLow\": \"₹ 1,023 / 763\",\n    \"StockPE\": \"57.9\",\n    \"BookValue\": \"₹ 91.6\",\n    \"DividendYield\": \"0.60 %\",\n    \"ROCE\": \"29.6 %\",\n    \"ROE\": \"31.3 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Happy Forgings Limited\",\n    \"Symbol\": \"HAPPYFORGE\",\n    \"ListingDate\": \"27-Dec-23\",\n    \"ISIN\": \"INE330T01021\",\n    \"MarketCap\": \"₹ 9,654 Cr.\",\n    \"CurrentPrice\": \"₹ 1,025\",\n    \"HighLow\": \"₹ 1,088 / 960\",\n    \"StockPE\": \"46.3\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"26.2 %\",\n    \"ROE\": \"23.5 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Hardwyn India Limited\",\n    \"Symbol\": \"HARDWYN\",\n    \"ListingDate\": \"12-Apr-22\",\n    \"ISIN\": \"INE626Z01029\",\n    \"MarketCap\": \"₹ 1,423 Cr.\",\n    \"CurrentPrice\": \"₹ 40.8\",\n    \"HighLow\": \"₹ 57.2 / 17.3\",\n    \"StockPE\": \"123\",\n    \"BookValue\": \"₹ 10.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Hariom Pipe Industries Limited\",\n    \"Symbol\": \"HARIOMPIPE\",\n    \"ListingDate\": \"13-Apr-22\",\n    \"ISIN\": \"INE00EV01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Harrisons  Malayalam Limited\",\n    \"Symbol\": \"HARRMALAYA\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE544A01019\",\n    \"MarketCap\": \"₹ 323 Cr.\",\n    \"CurrentPrice\": \"₹ 175\",\n    \"HighLow\": \"₹ 194 / 103\",\n    \"StockPE\": \"118\",\n    \"BookValue\": \"₹ 80.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"12.4 %\",\n    \"ROE\": \"11.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Harsha Engineers International Limited\",\n    \"Symbol\": \"HARSHA\",\n    \"ListingDate\": \"26-Sep-22\",\n    \"ISIN\": \"INE0JUS01029\",\n    \"MarketCap\": \"₹ 3,603 Cr.\",\n    \"CurrentPrice\": \"₹ 396\",\n    \"HighLow\": \"₹ 494 / 309\",\n    \"StockPE\": \"33.0\",\n    \"BookValue\": \"₹ 122\",\n    \"DividendYield\": \"0.25 %\",\n    \"ROCE\": \"16.9 %\",\n    \"ROE\": \"15.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Hathway Cable & Datacom Limited\",\n    \"Symbol\": \"HATHWAY\",\n    \"ListingDate\": \"25-Feb-10\",\n    \"ISIN\": \"INE982F01036\",\n    \"MarketCap\": \"₹ 3,746 Cr.\",\n    \"CurrentPrice\": \"₹ 21.2\",\n    \"HighLow\": \"₹ 23.7 / 12.2\",\n    \"StockPE\": \"62.3\",\n    \"BookValue\": \"₹ 23.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.15 %\",\n    \"ROE\": \"1.55 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Hatsun Agro Product Limited\",\n    \"Symbol\": \"HATSUN\",\n    \"ListingDate\": \"20-Jun-14\",\n    \"ISIN\": \"INE473B01035\",\n    \"MarketCap\": \"₹ 25,048 Cr.\",\n    \"CurrentPrice\": \"₹ 1,124\",\n    \"HighLow\": \"₹ 1,233 / 785\",\n    \"StockPE\": \"9,209\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.54 %\",\n    \"ROCE\": \"11.8 %\",\n    \"ROE\": \"5.15 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Havells India Limited\",\n    \"Symbol\": \"HAVELLS\",\n    \"ListingDate\": \"21-Mar-01\",\n    \"ISIN\": \"INE176B01034\",\n    \"MarketCap\": \"₹ 86,630 Cr.\",\n    \"CurrentPrice\": \"₹ 1,382\",\n    \"HighLow\": \"₹ 1,466 / 1,096\",\n    \"StockPE\": \"73.6\",\n    \"BookValue\": \"₹ 110\",\n    \"DividendYield\": \"0.55 %\",\n    \"ROCE\": \"22.3 %\",\n    \"ROE\": \"17.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Sri Havisha Hospitality and Infrastructure Limited\",\n    \"Symbol\": \"HAVISHA\",\n    \"ListingDate\": \"16-Feb-00\",\n    \"ISIN\": \"INE293B01029\",\n    \"MarketCap\": \"₹ 91.9 Cr.\",\n    \"CurrentPrice\": \"₹ 3.03\",\n    \"HighLow\": \"₹ 3.03 / 1.60\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 6.80\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-7.84 %\",\n    \"ROE\": \"-8.71 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"HBL Power Systems Limited\",\n    \"Symbol\": \"HBLPOWER\",\n    \"ListingDate\": \"04-Jan-07\",\n    \"ISIN\": \"INE292B01021\",\n    \"MarketCap\": \"₹ 12,169 Cr.\",\n    \"CurrentPrice\": \"₹ 439\",\n    \"HighLow\": \"₹ 480 / 86.1\",\n    \"StockPE\": \"68.0\",\n    \"BookValue\": \"₹ 38.2\",\n    \"DividendYield\": \"0.10 %\",\n    \"ROCE\": \"13.7 %\",\n    \"ROE\": \"10.7 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"HB Stockholdings Limited\",\n    \"Symbol\": \"HBSL\",\n    \"ListingDate\": \"23-Jul-18\",\n    \"ISIN\": \"INE550B01022\",\n    \"MarketCap\": \"₹ 51.4 Cr.\",\n    \"CurrentPrice\": \"₹ 72.0\",\n    \"HighLow\": \"₹ 95.4 / 39.8\",\n    \"StockPE\": \"3.10\",\n    \"BookValue\": \"₹ 120\",\n    \"DividendYield\": \"1.38 %\",\n    \"ROCE\": \"-3.05 %\",\n    \"ROE\": \"-2.98 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Hindustan Construction Company Limited\",\n    \"Symbol\": \"HCC\",\n    \"ListingDate\": \"01-Apr-03\",\n    \"ISIN\": \"INE549A01026\",\n    \"MarketCap\": \"₹ 4,333 Cr.\",\n    \"CurrentPrice\": \"₹ 28.6\",\n    \"HighLow\": \"₹ 33.8 / 12.5\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -4.33\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"16.9 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Healthcare Global Enterprises Limited\",\n    \"Symbol\": \"HCG\",\n    \"ListingDate\": \"30-Mar-16\",\n    \"ISIN\": \"INE075I01017\",\n    \"MarketCap\": \"₹ 5,096 Cr.\",\n    \"CurrentPrice\": \"₹ 366\",\n    \"HighLow\": \"₹ 389 / 249\",\n    \"StockPE\": \"210\",\n    \"BookValue\": \"₹ 61.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.39 %\",\n    \"ROE\": \"2.10 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"HCL Technologies Limited\",\n    \"Symbol\": \"HCLTECH\",\n    \"ListingDate\": \"06-Jan-00\",\n    \"ISIN\": \"INE860A01027\",\n    \"MarketCap\": \"₹ 3,97,810 Cr.\",\n    \"CurrentPrice\": \"₹ 1,466\",\n    \"HighLow\": \"₹ 1,510 / 1,016\",\n    \"StockPE\": \"25.7\",\n    \"BookValue\": \"₹ 242\",\n    \"DividendYield\": \"3.27 %\",\n    \"ROCE\": \"28.3 %\",\n    \"ROE\": \"23.0 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"HDFC Asset Management Company Limited\",\n    \"Symbol\": \"HDFCAMC\",\n    \"ListingDate\": \"06-Aug-18\",\n    \"ISIN\": \"INE127D01025\",\n    \"MarketCap\": \"₹ 68,315 Cr.\",\n    \"CurrentPrice\": \"₹ 3,200\",\n    \"HighLow\": \"₹ 3,290 / 1,590\",\n    \"StockPE\": \"41.2\",\n    \"BookValue\": \"₹ 282\",\n    \"DividendYield\": \"1.50 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"HDFC Bank Limited\",\n    \"Symbol\": \"HDFCBANK\",\n    \"ListingDate\": \"08-Nov-95\",\n    \"ISIN\": \"INE040A01034\",\n    \"MarketCap\": \"₹ 13,00,288 Cr.\",\n    \"CurrentPrice\": \"₹ 1,713\",\n    \"HighLow\": \"₹ 1,758 / 1,460\",\n    \"StockPE\": \"19.2\",\n    \"BookValue\": \"₹ 519\",\n    \"DividendYield\": \"1.11 %\",\n    \"ROCE\": \"6.24 %\",\n    \"ROE\": \"17.1 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"HDFC Life Insurance Company Limited\",\n    \"Symbol\": \"HDFCLIFE\",\n    \"ListingDate\": \"17-Nov-17\",\n    \"ISIN\": \"INE795G01014\",\n    \"MarketCap\": \"₹ 1,39,148 Cr.\",\n    \"CurrentPrice\": \"₹ 647\",\n    \"HighLow\": \"₹ 711 / 458\",\n    \"StockPE\": \"94.5\",\n    \"BookValue\": \"₹ 63.6\",\n    \"DividendYield\": \"0.29 %\",\n    \"ROCE\": \"9.56 %\",\n    \"ROE\": \"9.57 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Heads UP Ventures Limited\",\n    \"Symbol\": \"HEADSUP\",\n    \"ListingDate\": \"14-Dec-16\",\n    \"ISIN\": \"INE759V01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"HEC Infra Projects Limited\",\n    \"Symbol\": \"HECPROJECT\",\n    \"ListingDate\": \"30-Dec-21\",\n    \"ISIN\": \"INE558R01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"HEG Limited\",\n    \"Symbol\": \"HEG\",\n    \"ListingDate\": \"10-May-95\",\n    \"ISIN\": \"INE545A01016\",\n    \"MarketCap\": \"₹ 7,408 Cr.\",\n    \"CurrentPrice\": \"₹ 1,920\",\n    \"HighLow\": \"₹ 1,966 / 918\",\n    \"StockPE\": \"16.9\",\n    \"BookValue\": \"₹ 1,127\",\n    \"DividendYield\": \"2.22 %\",\n    \"ROCE\": \"14.7 %\",\n    \"ROE\": \"13.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"HeidelbergCement India Limited\",\n    \"Symbol\": \"HEIDELBERG\",\n    \"ListingDate\": \"15-Mar-95\",\n    \"ISIN\": \"INE578A01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Hemisphere Properties India Limited\",\n    \"Symbol\": \"HEMIPROP\",\n    \"ListingDate\": \"22-Oct-20\",\n    \"ISIN\": \"INE0AJG01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Heranba Industries Limited\",\n    \"Symbol\": \"HERANBA\",\n    \"ListingDate\": \"05-Mar-21\",\n    \"ISIN\": \"INE694N01015\",\n    \"MarketCap\": \"₹ 1,602 Cr.\",\n    \"CurrentPrice\": \"₹ 400\",\n    \"HighLow\": \"₹ 510 / 265\",\n    \"StockPE\": \"35.5\",\n    \"BookValue\": \"₹ 207\",\n    \"DividendYield\": \"0.32 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Hercules Hoists Limited\",\n    \"Symbol\": \"HERCULES\",\n    \"ListingDate\": \"19-Feb-08\",\n    \"ISIN\": \"INE688E01024\",\n    \"MarketCap\": \"₹ 1,122 Cr.\",\n    \"CurrentPrice\": \"₹ 351\",\n    \"HighLow\": \"₹ 388 / 170\",\n    \"StockPE\": \"39.3\",\n    \"BookValue\": \"₹ 253\",\n    \"DividendYield\": \"0.57 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Heritage Foods Limited\",\n    \"Symbol\": \"HERITGFOOD\",\n    \"ListingDate\": \"27-Nov-96\",\n    \"ISIN\": \"INE978A01027\",\n    \"MarketCap\": \"₹ 2,816 Cr.\",\n    \"CurrentPrice\": \"₹ 304\",\n    \"HighLow\": \"₹ 315 / 135\",\n    \"StockPE\": \"39.8\",\n    \"BookValue\": \"₹ 79.9\",\n    \"DividendYield\": \"0.84 %\",\n    \"ROCE\": \"10.6 %\",\n    \"ROE\": \"7.91 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Hero MotoCorp Limited\",\n    \"Symbol\": \"HEROMOTOCO\",\n    \"ListingDate\": \"11-Apr-03\",\n    \"ISIN\": \"INE158A01026\",\n    \"MarketCap\": \"₹ 82,973 Cr.\",\n    \"CurrentPrice\": \"₹ 4,151\",\n    \"HighLow\": \"₹ 4,200 / 2,246\",\n    \"StockPE\": \"24.8\",\n    \"BookValue\": \"₹ 884\",\n    \"DividendYield\": \"2.41 %\",\n    \"ROCE\": \"22.7 %\",\n    \"ROE\": \"16.7 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Hester Biosciences Limited\",\n    \"Symbol\": \"HESTERBIO\",\n    \"ListingDate\": \"13-Mar-15\",\n    \"ISIN\": \"INE782E01017\",\n    \"MarketCap\": \"₹ 1,242 Cr.\",\n    \"CurrentPrice\": \"₹ 1,461\",\n    \"HighLow\": \"₹ 1,949 / 1,405\",\n    \"StockPE\": \"48.5\",\n    \"BookValue\": \"₹ 331\",\n    \"DividendYield\": \"0.55 %\",\n    \"ROCE\": \"9.35 %\",\n    \"ROE\": \"9.86 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Heubach Colorants India Limited\",\n    \"Symbol\": \"HEUBACHIND\",\n    \"ListingDate\": \"14-Jun-95\",\n    \"ISIN\": \"INE492A01029\",\n    \"MarketCap\": \"₹ 1,376 Cr.\",\n    \"CurrentPrice\": \"₹ 596\",\n    \"HighLow\": \"₹ 654 / 258\",\n    \"StockPE\": \"11.7\",\n    \"BookValue\": \"₹ 182\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"36.2 %\",\n    \"ROE\": \"27.7 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Hexa Tradex Limited\",\n    \"Symbol\": \"HEXATRADEX\",\n    \"ListingDate\": \"20-Apr-12\",\n    \"ISIN\": \"INE750M01017\",\n    \"MarketCap\": \"₹ 856 Cr.\",\n    \"CurrentPrice\": \"₹ 155\",\n    \"HighLow\": \"₹ 171 / 138\",\n    \"StockPE\": \"15.6\",\n    \"BookValue\": \"₹ 566\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-0.23 %\",\n    \"ROE\": \"-1.11 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"HFCL Limited\",\n    \"Symbol\": \"HFCL\",\n    \"ListingDate\": \"09-Mar-11\",\n    \"ISIN\": \"INE548A01028\",\n    \"MarketCap\": \"₹ 11,767 Cr.\",\n    \"CurrentPrice\": \"₹ 82.4\",\n    \"HighLow\": \"₹ 87.4 / 55.8\",\n    \"StockPE\": \"38.5\",\n    \"BookValue\": \"₹ 24.9\",\n    \"DividendYield\": \"0.24 %\",\n    \"ROCE\": \"15.2 %\",\n    \"ROE\": \"10.2 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"H.G. Infra Engineering Limited\",\n    \"Symbol\": \"HGINFRA\",\n    \"ListingDate\": \"09-Mar-18\",\n    \"ISIN\": \"INE926X01010\",\n    \"MarketCap\": \"₹ 5,534 Cr.\",\n    \"CurrentPrice\": \"₹ 849\",\n    \"HighLow\": \"₹ 1,019 / 597\",\n    \"StockPE\": \"10.1\",\n    \"BookValue\": \"₹ 331\",\n    \"DividendYield\": \"0.15 %\",\n    \"ROCE\": \"25.4 %\",\n    \"ROE\": \"29.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Hinduja Global Solutions Limited\",\n    \"Symbol\": \"HGS\",\n    \"ListingDate\": \"19-Jun-07\",\n    \"ISIN\": \"INE170I01016\",\n    \"MarketCap\": \"₹ 4,619 Cr.\",\n    \"CurrentPrice\": \"₹ 993\",\n    \"HighLow\": \"₹ 1,368 / 922\",\n    \"StockPE\": \"60.2\",\n    \"BookValue\": \"₹ 1,576\",\n    \"DividendYield\": \"1.50 %\",\n    \"ROCE\": \"2.29 %\",\n    \"ROE\": \"3.00 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Hikal Limited\",\n    \"Symbol\": \"HIKAL\",\n    \"ListingDate\": \"14-Feb-01\",\n    \"ISIN\": \"INE475B01022\",\n    \"MarketCap\": \"₹ 3,786 Cr.\",\n    \"CurrentPrice\": \"₹ 307\",\n    \"HighLow\": \"₹ 428 / 250\",\n    \"StockPE\": \"46.2\",\n    \"BookValue\": \"₹ 92.9\",\n    \"DividendYield\": \"0.39 %\",\n    \"ROCE\": \"8.43 %\",\n    \"ROE\": \"7.08 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"HIL Limited\",\n    \"Symbol\": \"HIL\",\n    \"ListingDate\": \"26-Apr-95\",\n    \"ISIN\": \"INE557A01011\",\n    \"MarketCap\": \"₹ 2,127 Cr.\",\n    \"CurrentPrice\": \"₹ 2,821\",\n    \"HighLow\": \"₹ 3,284 / 2,202\",\n    \"StockPE\": \"72.0\",\n    \"BookValue\": \"₹ 1,676\",\n    \"DividendYield\": \"1.60 %\",\n    \"ROCE\": \"8.71 %\",\n    \"ROE\": \"8.13 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Hilton Metal Forging Limited\",\n    \"Symbol\": \"HILTON\",\n    \"ListingDate\": \"24-May-07\",\n    \"ISIN\": \"INE788H01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Himatsingka Seide Limited\",\n    \"Symbol\": \"HIMATSEIDE\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE049A01027\",\n    \"MarketCap\": \"₹ 1,643 Cr.\",\n    \"CurrentPrice\": \"₹ 167\",\n    \"HighLow\": \"₹ 188 / 67.6\",\n    \"StockPE\": \"19.9\",\n    \"BookValue\": \"₹ 152\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"3.77 %\",\n    \"ROE\": \"-5.70 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Hindalco Industries Limited\",\n    \"Symbol\": \"HINDALCO\",\n    \"ListingDate\": \"08-Jan-97\",\n    \"ISIN\": \"INE038A01020\",\n    \"MarketCap\": \"₹ 1,37,754 Cr.\",\n    \"CurrentPrice\": \"₹ 613\",\n    \"HighLow\": \"₹ 616 / 381\",\n    \"StockPE\": \"16.3\",\n    \"BookValue\": \"₹ 443\",\n    \"DividendYield\": \"0.49 %\",\n    \"ROCE\": \"11.3 %\",\n    \"ROE\": \"11.7 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Hindustan Composites Limited\",\n    \"Symbol\": \"HINDCOMPOS\",\n    \"ListingDate\": \"08-May-96\",\n    \"ISIN\": \"INE310C01029\",\n    \"MarketCap\": \"₹ 669 Cr.\",\n    \"CurrentPrice\": \"₹ 453\",\n    \"HighLow\": \"₹ 494 / 237\",\n    \"StockPE\": \"19.2\",\n    \"BookValue\": \"₹ 641\",\n    \"DividendYield\": \"0.45 %\",\n    \"ROCE\": \"3.53 %\",\n    \"ROE\": \"2.96 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Hindcon Chemicals Limited\",\n    \"Symbol\": \"HINDCON\",\n    \"ListingDate\": \"05-Jul-21\",\n    \"ISIN\": \"INE642Y01029\",\n    \"MarketCap\": \"₹ 297 Cr.\",\n    \"CurrentPrice\": \"₹ 58.0\",\n    \"HighLow\": \"₹ 69.7 / 15.3\",\n    \"StockPE\": \"48.3\",\n    \"BookValue\": \"₹ 9.07\",\n    \"DividendYield\": \"0.17 %\",\n    \"ROCE\": \"14.3 %\",\n    \"ROE\": \"10.6 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Hindustan Copper Limited\",\n    \"Symbol\": \"HINDCOPPER\",\n    \"ListingDate\": \"15-Sep-10\",\n    \"ISIN\": \"INE531E01026\",\n    \"MarketCap\": \"₹ 25,873 Cr.\",\n    \"CurrentPrice\": \"₹ 268\",\n    \"HighLow\": \"₹ 279 / 93.8\",\n    \"StockPE\": \"80.7\",\n    \"BookValue\": \"₹ 22.6\",\n    \"DividendYield\": \"0.34 %\",\n    \"ROCE\": \"18.0 %\",\n    \"ROE\": \"14.7 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Hindustan Motors Limited\",\n    \"Symbol\": \"HINDMOTORS\",\n    \"ListingDate\": \"21-Feb-11\",\n    \"ISIN\": \"INE253A01025\",\n    \"MarketCap\": \"₹ 344 Cr.\",\n    \"CurrentPrice\": \"₹ 16.5\",\n    \"HighLow\": \"₹ 19.4 / 12.3\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -4.47\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Hindustan Oil Exploration Company Limited\",\n    \"Symbol\": \"HINDOILEXP\",\n    \"ListingDate\": \"23-Sep-03\",\n    \"ISIN\": \"INE345A01011\",\n    \"MarketCap\": \"₹ 2,405 Cr.\",\n    \"CurrentPrice\": \"₹ 182\",\n    \"HighLow\": \"₹ 258 / 116\",\n    \"StockPE\": \"9.05\",\n    \"BookValue\": \"₹ 82.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"20.4 %\",\n    \"ROE\": \"24.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Hindustan Petroleum Corporation Limited\",\n    \"Symbol\": \"HINDPETRO\",\n    \"ListingDate\": \"17-Jun-98\",\n    \"ISIN\": \"INE094A01015\",\n    \"MarketCap\": \"₹ 56,706 Cr.\",\n    \"CurrentPrice\": \"₹ 400\",\n    \"HighLow\": \"₹ 436 / 212\",\n    \"StockPE\": \"3.46\",\n    \"BookValue\": \"₹ 318\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-8.08 %\",\n    \"ROE\": \"-18.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Hindustan Unilever Limited\",\n    \"Symbol\": \"HINDUNILVR\",\n    \"ListingDate\": \"06-Jul-95\",\n    \"ISIN\": \"INE030A01027\",\n    \"MarketCap\": \"₹ 6,24,028 Cr.\",\n    \"CurrentPrice\": \"₹ 2,656\",\n    \"HighLow\": \"₹ 2,770 / 2,393\",\n    \"StockPE\": \"60.4\",\n    \"BookValue\": \"₹ 214\",\n    \"DividendYield\": \"1.48 %\",\n    \"ROCE\": \"26.6 %\",\n    \"ROE\": \"20.5 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Hindware Home Innovation Limited\",\n    \"Symbol\": \"HINDWAREAP\",\n    \"ListingDate\": \"26-Dec-19\",\n    \"ISIN\": \"INE05AN01011\",\n    \"MarketCap\": \"₹ 3,651 Cr.\",\n    \"CurrentPrice\": \"₹ 505\",\n    \"HighLow\": \"₹ 664 / 325\",\n    \"StockPE\": \"71.7\",\n    \"BookValue\": \"₹ 81.8\",\n    \"DividendYield\": \"0.10 %\",\n    \"ROCE\": \"14.7 %\",\n    \"ROE\": \"10.3 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Hindustan Zinc Limited\",\n    \"Symbol\": \"HINDZINC\",\n    \"ListingDate\": \"21-Nov-06\",\n    \"ISIN\": \"INE267A01025\",\n    \"MarketCap\": \"₹ 1,33,879 Cr.\",\n    \"CurrentPrice\": \"₹ 317\",\n    \"HighLow\": \"₹ 383 / 290\",\n    \"StockPE\": \"15.9\",\n    \"BookValue\": \"₹ 32.3\",\n    \"DividendYield\": \"23.8 %\",\n    \"ROCE\": \"50.4 %\",\n    \"ROE\": \"44.5 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Hind Rectifiers Limited\",\n    \"Symbol\": \"HIRECT\",\n    \"ListingDate\": \"26-Dec-06\",\n    \"ISIN\": \"INE835D01023\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Hisar Metal Industries Limited\",\n    \"Symbol\": \"HISARMETAL\",\n    \"ListingDate\": \"05-Jan-17\",\n    \"ISIN\": \"INE598C01011\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Hi-Tech Pipes Limited\",\n    \"Symbol\": \"HITECH\",\n    \"ListingDate\": \"07-May-18\",\n    \"ISIN\": \"INE106T01025\",\n    \"MarketCap\": \"₹ 1,590 Cr.\",\n    \"CurrentPrice\": \"₹ 116\",\n    \"HighLow\": \"₹ 118 / 69.3\",\n    \"StockPE\": \"33.5\",\n    \"BookValue\": \"₹ 34.6\",\n    \"DividendYield\": \"0.02 %\",\n    \"ROCE\": \"14.6 %\",\n    \"ROE\": \"14.4 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Hitech Corporation Limited\",\n    \"Symbol\": \"HITECHCORP\",\n    \"ListingDate\": \"20-Dec-07\",\n    \"ISIN\": \"INE120D01012\",\n    \"MarketCap\": \"₹ 429 Cr.\",\n    \"CurrentPrice\": \"₹ 250\",\n    \"HighLow\": \"₹ 309 / 151\",\n    \"StockPE\": \"43.1\",\n    \"BookValue\": \"₹ 81.7\",\n    \"DividendYield\": \"0.39 %\",\n    \"ROCE\": \"13.5 %\",\n    \"ROE\": \"6.60 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"The Hi-Tech Gears Limited\",\n    \"Symbol\": \"HITECHGEAR\",\n    \"ListingDate\": \"21-Jan-02\",\n    \"ISIN\": \"INE127B01011\",\n    \"MarketCap\": \"₹ 850 Cr.\",\n    \"CurrentPrice\": \"₹ 453\",\n    \"HighLow\": \"₹ 519 / 226\",\n    \"StockPE\": \"24.3\",\n    \"BookValue\": \"₹ 232\",\n    \"DividendYield\": \"0.56 %\",\n    \"ROCE\": \"8.13 %\",\n    \"ROE\": \"6.55 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"HLE Glascoat Limited\",\n    \"Symbol\": \"HLEGLAS\",\n    \"ListingDate\": \"09-Feb-23\",\n    \"ISIN\": \"INE461D01028\",\n    \"MarketCap\": \"₹ 3,684 Cr.\",\n    \"CurrentPrice\": \"₹ 540\",\n    \"HighLow\": \"₹ 699 / 465\",\n    \"StockPE\": \"66.3\",\n    \"BookValue\": \"₹ 50.4\",\n    \"DividendYield\": \"0.20 %\",\n    \"ROCE\": \"23.5 %\",\n    \"ROE\": \"24.1 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"HLV LIMITED\",\n    \"Symbol\": \"HLVLTD\",\n    \"ListingDate\": \"19-Jul-95\",\n    \"ISIN\": \"INE102A01024\",\n    \"MarketCap\": \"₹ 1,748 Cr.\",\n    \"CurrentPrice\": \"₹ 26.5\",\n    \"HighLow\": \"₹ 31.1 / 8.00\",\n    \"StockPE\": \"10.2\",\n    \"BookValue\": \"₹ 7.25\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.85 %\",\n    \"ROE\": \"47.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"HMA Agro Industries Limited\",\n    \"Symbol\": \"HMAAGRO\",\n    \"ListingDate\": \"04-Jul-23\",\n    \"ISIN\": \"INE0ECP01016\",\n    \"MarketCap\": \"₹ 4,206 Cr.\",\n    \"CurrentPrice\": \"₹ 84.0\",\n    \"HighLow\": \"₹ 84.0 / 56.5\",\n    \"StockPE\": \"47.1\",\n    \"BookValue\": \"₹ 13.4\",\n    \"DividendYield\": \"3.56 %\",\n    \"ROCE\": \"24.0 %\",\n    \"ROE\": \"28.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"HMT Limited\",\n    \"Symbol\": \"HMT\",\n    \"ListingDate\": \"29-Aug-03\",\n    \"ISIN\": \"INE262A01018\",\n    \"MarketCap\": \"₹ 1,885 Cr.\",\n    \"CurrentPrice\": \"₹ 53.0\",\n    \"HighLow\": \"₹ 70.4 / 22.7\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -123\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Hindustan Media Ventures Limited\",\n    \"Symbol\": \"HMVL\",\n    \"ListingDate\": \"21-Jul-10\",\n    \"ISIN\": \"INE871K01015\",\n    \"MarketCap\": \"₹ 672 Cr.\",\n    \"CurrentPrice\": \"₹ 91.3\",\n    \"HighLow\": \"₹ 98.0 / 41.0\",\n    \"StockPE\": \"58.8\",\n    \"BookValue\": \"₹ 200\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-2.59 %\",\n    \"ROE\": \"-2.67 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Hindustan Foods Limited\",\n    \"Symbol\": \"HNDFDS\",\n    \"ListingDate\": \"06-Jun-23\",\n    \"ISIN\": \"INE254N01026\",\n    \"MarketCap\": \"₹ 6,248 Cr.\",\n    \"CurrentPrice\": \"₹ 554\",\n    \"HighLow\": \"₹ 669 / 491\",\n    \"StockPE\": \"73.2\",\n    \"BookValue\": \"₹ 37.5\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"18.2 %\",\n    \"ROE\": \"21.0 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Home First Finance Company India Limited\",\n    \"Symbol\": \"HOMEFIRST\",\n    \"ListingDate\": \"03-Feb-21\",\n    \"ISIN\": \"INE481N01025\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Honasa Consumer Limited\",\n    \"Symbol\": \"HONASA\",\n    \"ListingDate\": \"07-Nov-23\",\n    \"ISIN\": \"INE0J5401028\",\n    \"MarketCap\": \"₹ 14,405 Cr.\",\n    \"CurrentPrice\": \"₹ 448\",\n    \"HighLow\": \"₹ 487 / 256\",\n    \"StockPE\": \"728\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.78 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Honeywell Automation India Limited\",\n    \"Symbol\": \"HONAUT\",\n    \"ListingDate\": \"18-Jul-03\",\n    \"ISIN\": \"INE671A01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Honda India Power Products Limited\",\n    \"Symbol\": \"HONDAPOWER\",\n    \"ListingDate\": \"01-Apr-03\",\n    \"ISIN\": \"INE634A01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"HOV Services Limited\",\n    \"Symbol\": \"HOVS\",\n    \"ListingDate\": \"27-Sep-06\",\n    \"ISIN\": \"INE596H01014\",\n    \"MarketCap\": \"₹ 90.8 Cr.\",\n    \"CurrentPrice\": \"₹ 72.1\",\n    \"HighLow\": \"₹ 97.4 / 28.5\",\n    \"StockPE\": \"38.0\",\n    \"BookValue\": \"₹ 18.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"19.5 %\",\n    \"ROE\": \"17.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"HP Adhesives Limited\",\n    \"Symbol\": \"HPAL\",\n    \"ListingDate\": \"27-Dec-21\",\n    \"ISIN\": \"INE0GSL01024\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Hindprakash Industries Limited\",\n    \"Symbol\": \"HPIL\",\n    \"ListingDate\": \"07-Nov-22\",\n    \"ISIN\": \"INE05X901010\",\n    \"MarketCap\": \"₹ 118 Cr.\",\n    \"CurrentPrice\": \"₹ 113\",\n    \"HighLow\": \"₹ 147 / 72.4\",\n    \"StockPE\": \"45.0\",\n    \"BookValue\": \"₹ 41.3\",\n    \"DividendYield\": \"0.44 %\",\n    \"ROCE\": \"9.34 %\",\n    \"ROE\": \"6.27 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"HPL Electric & Power Limited\",\n    \"Symbol\": \"HPL\",\n    \"ListingDate\": \"04-Oct-16\",\n    \"ISIN\": \"INE495S01016\",\n    \"MarketCap\": \"₹ 1,586 Cr.\",\n    \"CurrentPrice\": \"₹ 247\",\n    \"HighLow\": \"₹ 270 / 74.1\",\n    \"StockPE\": \"44.6\",\n    \"BookValue\": \"₹ 126\",\n    \"DividendYield\": \"0.41 %\",\n    \"ROCE\": \"8.85 %\",\n    \"ROE\": \"3.87 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Himadri Speciality Chemical Limited\",\n    \"Symbol\": \"HSCL\",\n    \"ListingDate\": \"02-Mar-07\",\n    \"ISIN\": \"INE019C01026\",\n    \"MarketCap\": \"₹ 13,624 Cr.\",\n    \"CurrentPrice\": \"₹ 309\",\n    \"HighLow\": \"₹ 314 / 80.2\",\n    \"StockPE\": \"41.5\",\n    \"BookValue\": \"₹ 57.8\",\n    \"DividendYield\": \"0.08 %\",\n    \"ROCE\": \"13.7 %\",\n    \"ROE\": \"11.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"HT Media Limited\",\n    \"Symbol\": \"HTMEDIA\",\n    \"ListingDate\": \"01-Sep-05\",\n    \"ISIN\": \"INE501G01024\",\n    \"MarketCap\": \"₹ 591 Cr.\",\n    \"CurrentPrice\": \"₹ 25.4\",\n    \"HighLow\": \"₹ 28.2 / 14.1\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 74.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-4.03 %\",\n    \"ROE\": \"-12.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Hubtown Limited\",\n    \"Symbol\": \"HUBTOWN\",\n    \"ListingDate\": \"07-Feb-07\",\n    \"ISIN\": \"INE703H01016\",\n    \"MarketCap\": \"₹ 612 Cr.\",\n    \"CurrentPrice\": \"₹ 80.1\",\n    \"HighLow\": \"₹ 96.0 / 28.8\",\n    \"StockPE\": \"35.7\",\n    \"BookValue\": \"₹ 170\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.67 %\",\n    \"ROE\": \"3.51 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Housing & Urban Development Corporation Limited\",\n    \"Symbol\": \"HUDCO\",\n    \"ListingDate\": \"19-May-17\",\n    \"ISIN\": \"INE031A01017\",\n    \"MarketCap\": \"₹ 25,154 Cr.\",\n    \"CurrentPrice\": \"₹ 126\",\n    \"HighLow\": \"₹ 137 / 40.4\",\n    \"StockPE\": \"14.0\",\n    \"BookValue\": \"₹ 78.5\",\n    \"DividendYield\": \"3.07 %\",\n    \"ROCE\": \"8.81 %\",\n    \"ROE\": \"11.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Huhtamaki India Limited\",\n    \"Symbol\": \"HUHTAMAKI\",\n    \"ListingDate\": \"01-Oct-04\",\n    \"ISIN\": \"INE275B01026\",\n    \"MarketCap\": \"₹ 2,164 Cr.\",\n    \"CurrentPrice\": \"₹ 287\",\n    \"HighLow\": \"₹ 324 / 186\",\n    \"StockPE\": \"25.6\",\n    \"BookValue\": \"₹ 93.1\",\n    \"DividendYield\": \"0.69 %\",\n    \"ROCE\": \"17.6 %\",\n    \"ROE\": \"13.0 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Hybrid Financial Services Limited\",\n    \"Symbol\": \"HYBRIDFIN\",\n    \"ListingDate\": \"05-Dec-22\",\n    \"ISIN\": \"INE965B01022\",\n    \"MarketCap\": \"₹ 27.0 Cr.\",\n    \"CurrentPrice\": \"₹ 9.17\",\n    \"HighLow\": \"₹ 21.1 / 6.91\",\n    \"StockPE\": \"26.2\",\n    \"BookValue\": \"₹ 10.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.33 %\",\n    \"ROE\": \"3.45 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Indiabulls Real Estate Limited\",\n    \"Symbol\": \"IBREALEST\",\n    \"ListingDate\": \"23-Mar-07\",\n    \"ISIN\": \"INE069I01010\",\n    \"MarketCap\": \"₹ 4,747 Cr.\",\n    \"CurrentPrice\": \"₹ 87.6\",\n    \"HighLow\": \"₹ 98.8 / 45.9\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 56.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-7.17 %\",\n    \"ROE\": \"-11.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Indiabulls Housing Finance Limited\",\n    \"Symbol\": \"IBULHSGFIN\",\n    \"ListingDate\": \"23-Jul-13\",\n    \"ISIN\": \"INE148I01020\",\n    \"MarketCap\": \"₹ 10,708 Cr.\",\n    \"CurrentPrice\": \"₹ 217\",\n    \"HighLow\": \"₹ 235 / 91.8\",\n    \"StockPE\": \"9.34\",\n    \"BookValue\": \"₹ 384\",\n    \"DividendYield\": \"0.56 %\",\n    \"ROCE\": \"9.79 %\",\n    \"ROE\": \"6.62 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"ICDS Limited\",\n    \"Symbol\": \"ICDSLTD\",\n    \"ListingDate\": \"17-Nov-99\",\n    \"ISIN\": \"INE613B01010\",\n    \"MarketCap\": \"₹ 73.3 Cr.\",\n    \"CurrentPrice\": \"₹ 56.3\",\n    \"HighLow\": \"₹ 64.8 / 16.6\",\n    \"StockPE\": \"91.6\",\n    \"BookValue\": \"₹ 21.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.33 %\",\n    \"ROE\": \"1.50 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ice Make Refrigeration Limited\",\n    \"Symbol\": \"ICEMAKE\",\n    \"ListingDate\": \"12-Oct-20\",\n    \"ISIN\": \"INE520Y01019\",\n    \"MarketCap\": \"₹ 986 Cr.\",\n    \"CurrentPrice\": \"₹ 625\",\n    \"HighLow\": \"₹ 747 / 242\",\n    \"StockPE\": \"43.0\",\n    \"BookValue\": \"₹ 55.8\",\n    \"DividendYield\": \"0.29 %\",\n    \"ROCE\": \"36.9 %\",\n    \"ROE\": \"29.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"ICICI Bank Limited\",\n    \"Symbol\": \"ICICIBANK\",\n    \"ListingDate\": \"17-Sep-97\",\n    \"ISIN\": \"INE090A01021\",\n    \"MarketCap\": \"₹ 6,99,905 Cr.\",\n    \"CurrentPrice\": \"₹ 998\",\n    \"HighLow\": \"₹ 1,044 / 796\",\n    \"StockPE\": \"17.4\",\n    \"BookValue\": \"₹ 307\",\n    \"DividendYield\": \"0.80 %\",\n    \"ROCE\": \"6.32 %\",\n    \"ROE\": \"17.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"ICICI Lombard General Insurance Company Limited\",\n    \"Symbol\": \"ICICIGI\",\n    \"ListingDate\": \"27-Sep-17\",\n    \"ISIN\": \"INE765G01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"ICICI Prudential Life Insurance Company Limited\",\n    \"Symbol\": \"ICICIPRULI\",\n    \"ListingDate\": \"29-Sep-16\",\n    \"ISIN\": \"INE726G01019\",\n    \"MarketCap\": \"₹ 76,546 Cr.\",\n    \"CurrentPrice\": \"₹ 532\",\n    \"HighLow\": \"₹ 616 / 381\",\n    \"StockPE\": \"84.4\",\n    \"BookValue\": \"₹ 74.4\",\n    \"DividendYield\": \"0.11 %\",\n    \"ROCE\": \"10.0 %\",\n    \"ROE\": \"8.45 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Indo Count Industries Limited\",\n    \"Symbol\": \"ICIL\",\n    \"ListingDate\": \"12-Sep-05\",\n    \"ISIN\": \"INE483B01026\",\n    \"MarketCap\": \"₹ 6,086 Cr.\",\n    \"CurrentPrice\": \"₹ 307\",\n    \"HighLow\": \"₹ 320 / 101\",\n    \"StockPE\": \"19.0\",\n    \"BookValue\": \"₹ 98.0\",\n    \"DividendYield\": \"0.64 %\",\n    \"ROCE\": \"15.1 %\",\n    \"ROE\": \"16.3 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"ICRA Limited\",\n    \"Symbol\": \"ICRA\",\n    \"ListingDate\": \"13-Apr-07\",\n    \"ISIN\": \"INE725G01011\",\n    \"MarketCap\": \"₹ 5,398 Cr.\",\n    \"CurrentPrice\": \"₹ 5,593\",\n    \"HighLow\": \"₹ 6,249 / 4,251\",\n    \"StockPE\": \"36.2\",\n    \"BookValue\": \"₹ 930\",\n    \"DividendYield\": \"0.71 %\",\n    \"ROCE\": \"20.0 %\",\n    \"ROE\": \"15.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"IDBI Bank Limited\",\n    \"Symbol\": \"IDBI\",\n    \"ListingDate\": \"20-Sep-95\",\n    \"ISIN\": \"INE008A01015\",\n    \"MarketCap\": \"₹ 72,417 Cr.\",\n    \"CurrentPrice\": \"₹ 67.4\",\n    \"HighLow\": \"₹ 74.8 / 42.9\",\n    \"StockPE\": \"15.2\",\n    \"BookValue\": \"₹ 43.1\",\n    \"DividendYield\": \"1.49 %\",\n    \"ROCE\": \"4.26 %\",\n    \"ROE\": \"8.34 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Vodafone Idea Limited\",\n    \"Symbol\": \"IDEA\",\n    \"ListingDate\": \"09-Mar-07\",\n    \"ISIN\": \"INE669E01016\",\n    \"MarketCap\": \"₹ 69,271 Cr.\",\n    \"CurrentPrice\": \"₹ 14.2\",\n    \"HighLow\": \"₹ 15.1 / 5.70\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -18.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ideaforge Technology Limited\",\n    \"Symbol\": \"IDEAFORGE\",\n    \"ListingDate\": \"07-Jul-23\",\n    \"ISIN\": \"INE349Y01013\",\n    \"MarketCap\": \"₹ 3,530 Cr.\",\n    \"CurrentPrice\": \"₹ 823\",\n    \"HighLow\": \"₹ 1,344 / 758\",\n    \"StockPE\": \"116\",\n    \"BookValue\": \"₹ 152\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"14.7 %\",\n    \"ROE\": \"12.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"IDFC Limited\",\n    \"Symbol\": \"IDFC\",\n    \"ListingDate\": \"12-Aug-05\",\n    \"ISIN\": \"INE043D01016\",\n    \"MarketCap\": \"₹ 20,120 Cr.\",\n    \"CurrentPrice\": \"₹ 126\",\n    \"HighLow\": \"₹ 137 / 72.8\",\n    \"StockPE\": \"31.4\",\n    \"BookValue\": \"₹ 75.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-24.4 %\",\n    \"ROE\": \"-25.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"IDFC First Bank Limited\",\n    \"Symbol\": \"IDFCFIRSTB\",\n    \"ListingDate\": \"06-Nov-15\",\n    \"ISIN\": \"INE092T01019\",\n    \"MarketCap\": \"₹ 62,329 Cr.\",\n    \"CurrentPrice\": \"₹ 88.2\",\n    \"HighLow\": \"₹ 101 / 52.1\",\n    \"StockPE\": \"21.4\",\n    \"BookValue\": \"₹ 39.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"6.59 %\",\n    \"ROE\": \"10.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Indiabulls Enterprises Limited\",\n    \"Symbol\": \"IEL\",\n    \"ListingDate\": \"27-Dec-22\",\n    \"ISIN\": \"INE059901020\",\n    \"MarketCap\": \"₹ 210 Cr.\",\n    \"CurrentPrice\": \"₹ 10.6\",\n    \"HighLow\": \"₹ 27.1 / 7.43\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 13.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"3.89 %\",\n    \"ROE\": \"2.75 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Indian Energy Exchange Limited\",\n    \"Symbol\": \"IEX\",\n    \"ListingDate\": \"23-Oct-17\",\n    \"ISIN\": \"INE022Q01020\",\n    \"MarketCap\": \"₹ 15,034 Cr.\",\n    \"CurrentPrice\": \"₹ 169\",\n    \"HighLow\": \"₹ 172 / 116\",\n    \"StockPE\": \"45.8\",\n    \"BookValue\": \"₹ 9.79\",\n    \"DividendYield\": \"0.59 %\",\n    \"ROCE\": \"50.2 %\",\n    \"ROE\": \"38.6 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"IFB Agro Industries Limited\",\n    \"Symbol\": \"IFBAGRO\",\n    \"ListingDate\": \"03-Apr-96\",\n    \"ISIN\": \"INE076C01018\",\n    \"MarketCap\": \"₹ 457 Cr.\",\n    \"CurrentPrice\": \"₹ 488\",\n    \"HighLow\": \"₹ 585 / 414\",\n    \"StockPE\": \"25.2\",\n    \"BookValue\": \"₹ 588\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"12.8 %\",\n    \"ROE\": \"9.39 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"IFB Industries Limited\",\n    \"Symbol\": \"IFBIND\",\n    \"ListingDate\": \"29-Mar-95\",\n    \"ISIN\": \"INE559A01017\",\n    \"MarketCap\": \"₹ 3,818 Cr.\",\n    \"CurrentPrice\": \"₹ 942\",\n    \"HighLow\": \"₹ 1,053 / 698\",\n    \"StockPE\": \"388\",\n    \"BookValue\": \"₹ 170\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"6.43 %\",\n    \"ROE\": \"2.27 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"IFCI Limited\",\n    \"Symbol\": \"IFCI\",\n    \"ListingDate\": \"26-Apr-95\",\n    \"ISIN\": \"INE039A01010\",\n    \"MarketCap\": \"₹ 7,207 Cr.\",\n    \"CurrentPrice\": \"₹ 29.0\",\n    \"HighLow\": \"₹ 31.2 / 9.00\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 15.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.38 %\",\n    \"ROE\": \"-3.78 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"IFGL Refractories Limited\",\n    \"Symbol\": \"IFGLEXPOR\",\n    \"ListingDate\": \"14-Nov-17\",\n    \"ISIN\": \"INE133Y01011\",\n    \"MarketCap\": \"₹ 2,864 Cr.\",\n    \"CurrentPrice\": \"₹ 795\",\n    \"HighLow\": \"₹ 936 / 197\",\n    \"StockPE\": \"25.4\",\n    \"BookValue\": \"₹ 290\",\n    \"DividendYield\": \"0.89 %\",\n    \"ROCE\": \"10.1 %\",\n    \"ROE\": \"8.22 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Igarashi Motors India Limited\",\n    \"Symbol\": \"IGARASHI\",\n    \"ListingDate\": \"09-Oct-03\",\n    \"ISIN\": \"INE188B01013\",\n    \"MarketCap\": \"₹ 1,635 Cr.\",\n    \"CurrentPrice\": \"₹ 519\",\n    \"HighLow\": \"₹ 692 / 330\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.19 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Indraprastha Gas Limited\",\n    \"Symbol\": \"IGL\",\n    \"ListingDate\": \"26-Dec-03\",\n    \"ISIN\": \"INE203G01027\",\n    \"MarketCap\": \"₹ 29,092 Cr.\",\n    \"CurrentPrice\": \"₹ 416\",\n    \"HighLow\": \"₹ 516 / 376\",\n    \"StockPE\": \"16.1\",\n    \"BookValue\": \"₹ 129\",\n    \"DividendYield\": \"3.11 %\",\n    \"ROCE\": \"26.6 %\",\n    \"ROE\": \"20.5 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"IG Petrochemicals Limited\",\n    \"Symbol\": \"IGPL\",\n    \"ListingDate\": \"29-Jan-07\",\n    \"ISIN\": \"INE204A01010\",\n    \"MarketCap\": \"₹ 1,430 Cr.\",\n    \"CurrentPrice\": \"₹ 464\",\n    \"HighLow\": \"₹ 590 / 393\",\n    \"StockPE\": \"13.1\",\n    \"BookValue\": \"₹ 406\",\n    \"DividendYield\": \"2.15 %\",\n    \"ROCE\": \"21.2 %\",\n    \"ROE\": \"17.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"IIFL Finance Limited\",\n    \"Symbol\": \"IIFL\",\n    \"ListingDate\": \"17-May-05\",\n    \"ISIN\": \"INE530B01024\",\n    \"MarketCap\": \"₹ 22,832 Cr.\",\n    \"CurrentPrice\": \"₹ 599\",\n    \"HighLow\": \"₹ 704 / 408\",\n    \"StockPE\": \"13.5\",\n    \"BookValue\": \"₹ 260\",\n    \"DividendYield\": \"0.66 %\",\n    \"ROCE\": \"11.5 %\",\n    \"ROE\": \"19.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"IIFL Securities Limited\",\n    \"Symbol\": \"IIFLSEC\",\n    \"ListingDate\": \"20-Sep-19\",\n    \"ISIN\": \"INE489L01022\",\n    \"MarketCap\": \"₹ 4,375 Cr.\",\n    \"CurrentPrice\": \"₹ 142\",\n    \"HighLow\": \"₹ 152 / 48.2\",\n    \"StockPE\": \"13.1\",\n    \"BookValue\": \"₹ 50.2\",\n    \"DividendYield\": \"2.12 %\",\n    \"ROCE\": \"22.9 %\",\n    \"ROE\": \"19.6 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Industrial Investment Trust Limited\",\n    \"Symbol\": \"IITL\",\n    \"ListingDate\": \"17-Aug-10\",\n    \"ISIN\": \"INE886A01014\",\n    \"MarketCap\": \"₹ 410 Cr.\",\n    \"CurrentPrice\": \"₹ 182\",\n    \"HighLow\": \"₹ 218 / 68.0\",\n    \"StockPE\": \"17.2\",\n    \"BookValue\": \"₹ 168\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"15.6 %\",\n    \"ROE\": \"12.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"IKIO Lighting Limited\",\n    \"Symbol\": \"IKIO\",\n    \"ListingDate\": \"16-Jun-23\",\n    \"ISIN\": \"INE0LOJ01019\",\n    \"MarketCap\": \"₹ 2,498 Cr.\",\n    \"CurrentPrice\": \"₹ 323\",\n    \"HighLow\": \"₹ 477 / 315\",\n    \"StockPE\": \"49.9\",\n    \"BookValue\": \"₹ 67.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"30.6 %\",\n    \"ROE\": \"39.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"IL&FS Engineering and Construction Company Limited\",\n    \"Symbol\": \"IL&FSENGG\",\n    \"ListingDate\": \"25-Oct-07\",\n    \"ISIN\": \"INE369I01014\",\n    \"MarketCap\": \"₹ 411 Cr.\",\n    \"CurrentPrice\": \"₹ 31.3\",\n    \"HighLow\": \"₹ 31.3 / 10.1\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -236\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"IL&FS Transportation Networks Limited\",\n    \"Symbol\": \"IL&FSTRANS\",\n    \"ListingDate\": \"30-Mar-10\",\n    \"ISIN\": \"INE975G01012\",\n    \"MarketCap\": \"₹ 159 Cr.\",\n    \"CurrentPrice\": \"₹ 4.83\",\n    \"HighLow\": \"₹ 6.33 / 2.65\",\n    \"StockPE\": \"2.35\",\n    \"BookValue\": \"₹ 133\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"10.4 %\",\n    \"ROE\": \"1.58 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Imagicaaworld Entertainment Limited\",\n    \"Symbol\": \"IMAGICAA\",\n    \"ListingDate\": \"06-Apr-15\",\n    \"ISIN\": \"INE172N01012\",\n    \"MarketCap\": \"₹ 2,901 Cr.\",\n    \"CurrentPrice\": \"₹ 60.2\",\n    \"HighLow\": \"₹ 65.2 / 33.5\",\n    \"StockPE\": \"8.03\",\n    \"BookValue\": \"₹ 16.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"34.6 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Indian Metals & Ferro Alloys Limited\",\n    \"Symbol\": \"IMFA\",\n    \"ListingDate\": \"23-Jul-10\",\n    \"ISIN\": \"INE919H01018\",\n    \"MarketCap\": \"₹ 2,708 Cr.\",\n    \"CurrentPrice\": \"₹ 502\",\n    \"HighLow\": \"₹ 573 / 258\",\n    \"StockPE\": \"9.73\",\n    \"BookValue\": \"₹ 379\",\n    \"DividendYield\": \"1.99 %\",\n    \"ROCE\": \"17.8 %\",\n    \"ROE\": \"13.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"India Motor Parts and Accessories Limited\",\n    \"Symbol\": \"IMPAL\",\n    \"ListingDate\": \"07-Oct-05\",\n    \"ISIN\": \"INE547E01014\",\n    \"MarketCap\": \"₹ 1,272 Cr.\",\n    \"CurrentPrice\": \"₹ 1,019\",\n    \"HighLow\": \"₹ 1,141 / 514\",\n    \"StockPE\": \"16.5\",\n    \"BookValue\": \"₹ 1,392\",\n    \"DividendYield\": \"2.37 %\",\n    \"ROCE\": \"6.23 %\",\n    \"ROE\": \"5.02 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Impex Ferro Tech Limited\",\n    \"Symbol\": \"IMPEXFERRO\",\n    \"ListingDate\": \"03-Feb-05\",\n    \"ISIN\": \"INE691G01015\",\n    \"MarketCap\": \"₹ 30.3 Cr.\",\n    \"CurrentPrice\": \"₹ 3.45\",\n    \"HighLow\": \"₹ 4.24 / 1.95\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 8.37\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"INCREDIBLE INDUSTRIES LIMITED\",\n    \"Symbol\": \"INCREDIBLE\",\n    \"ListingDate\": \"01-Jul-16\",\n    \"ISIN\": \"INE452L01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Indbank Merchant Banking Services Limited\",\n    \"Symbol\": \"INDBANK\",\n    \"ListingDate\": \"08-Oct-08\",\n    \"ISIN\": \"INE841B01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"The Indian Hotels Company Limited\",\n    \"Symbol\": \"INDHOTEL\",\n    \"ListingDate\": \"03-Jul-96\",\n    \"ISIN\": \"INE053A01029\",\n    \"MarketCap\": \"₹ 62,135 Cr.\",\n    \"CurrentPrice\": \"₹ 437\",\n    \"HighLow\": \"₹ 451 / 280\",\n    \"StockPE\": \"56.5\",\n    \"BookValue\": \"₹ 58.3\",\n    \"DividendYield\": \"0.23 %\",\n    \"ROCE\": \"12.6 %\",\n    \"ROE\": \"12.7 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"The India Cements Limited\",\n    \"Symbol\": \"INDIACEM\",\n    \"ListingDate\": \"31-May-00\",\n    \"ISIN\": \"INE383A01012\",\n    \"MarketCap\": \"₹ 8,037 Cr.\",\n    \"CurrentPrice\": \"₹ 259\",\n    \"HighLow\": \"₹ 275 / 167\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 182\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-3.70 %\",\n    \"ROE\": \"-5.46 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"India Glycols Limited\",\n    \"Symbol\": \"INDIAGLYCO\",\n    \"ListingDate\": \"01-Jul-05\",\n    \"ISIN\": \"INE560A01015\",\n    \"MarketCap\": \"₹ 2,367 Cr.\",\n    \"CurrentPrice\": \"₹ 765\",\n    \"HighLow\": \"₹ 803 / 512\",\n    \"StockPE\": \"16.5\",\n    \"BookValue\": \"₹ 635\",\n    \"DividendYield\": \"0.98 %\",\n    \"ROCE\": \"8.39 %\",\n    \"ROE\": \"5.94 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Indiamart Intermesh Limited\",\n    \"Symbol\": \"INDIAMART\",\n    \"ListingDate\": \"04-Jul-19\",\n    \"ISIN\": \"INE933S01016\",\n    \"MarketCap\": \"₹ 16,636 Cr.\",\n    \"CurrentPrice\": \"₹ 2,717\",\n    \"HighLow\": \"₹ 3,336 / 2,121\",\n    \"StockPE\": \"51.6\",\n    \"BookValue\": \"₹ 252\",\n    \"DividendYield\": \"0.38 %\",\n    \"ROCE\": \"18.8 %\",\n    \"ROE\": \"14.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Indian Bank\",\n    \"Symbol\": \"INDIANB\",\n    \"ListingDate\": \"01-Mar-07\",\n    \"ISIN\": \"INE562A01011\",\n    \"MarketCap\": \"₹ 56,310 Cr.\",\n    \"CurrentPrice\": \"₹ 418\",\n    \"HighLow\": \"₹ 463 / 252\",\n    \"StockPE\": \"8.16\",\n    \"BookValue\": \"₹ 398\",\n    \"DividendYield\": \"2.06 %\",\n    \"ROCE\": \"4.55 %\",\n    \"ROE\": \"11.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Indian Card Clothing Company Limited\",\n    \"Symbol\": \"INDIANCARD\",\n    \"ListingDate\": \"08-Jan-97\",\n    \"ISIN\": \"INE061A01014\",\n    \"MarketCap\": \"₹ 156 Cr.\",\n    \"CurrentPrice\": \"₹ 263\",\n    \"HighLow\": \"₹ 320 / 202\",\n    \"StockPE\": \"12.1\",\n    \"BookValue\": \"₹ 414\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.22 %\",\n    \"ROE\": \"1.44 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Indian Hume Pipe Company Limited\",\n    \"Symbol\": \"INDIANHUME\",\n    \"ListingDate\": \"30-Aug-95\",\n    \"ISIN\": \"INE323C01030\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"India Shelter Finance Corporation Limited\",\n    \"Symbol\": \"INDIASHLTR\",\n    \"ListingDate\": \"20-Dec-23\",\n    \"ISIN\": \"INE922K01024\",\n    \"MarketCap\": \"₹ 6,118 Cr.\",\n    \"CurrentPrice\": \"₹ 572\",\n    \"HighLow\": \"₹ 630 / 500\",\n    \"StockPE\": \"39.4\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"11.2 %\",\n    \"ROE\": \"13.4 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"InterGlobe Aviation Limited\",\n    \"Symbol\": \"INDIGO\",\n    \"ListingDate\": \"10-Nov-15\",\n    \"ISIN\": \"INE646L01027\",\n    \"MarketCap\": \"₹ 1,13,362 Cr.\",\n    \"CurrentPrice\": \"₹ 2,937\",\n    \"HighLow\": \"₹ 3,009 / 1,810\",\n    \"StockPE\": \"20.2\",\n    \"BookValue\": \"₹ -75.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"6.91 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Indigo Paints Limited\",\n    \"Symbol\": \"INDIGOPNTS\",\n    \"ListingDate\": \"02-Feb-21\",\n    \"ISIN\": \"INE09VQ01012\",\n    \"MarketCap\": \"₹ 7,091 Cr.\",\n    \"CurrentPrice\": \"₹ 1,489\",\n    \"HighLow\": \"₹ 1,700 / 981\",\n    \"StockPE\": \"53.7\",\n    \"BookValue\": \"₹ 172\",\n    \"DividendYield\": \"0.24 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"IMP Powers Limited\",\n    \"Symbol\": \"INDLMETER\",\n    \"ListingDate\": \"10-Jan-96\",\n    \"ISIN\": \"INE065B01013\",\n    \"MarketCap\": \"₹ 4.84 Cr.\",\n    \"CurrentPrice\": \"₹ 5.60\",\n    \"HighLow\": \"₹ 7.80 / 2.90\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -295\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-65.1 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"India Nippon Electricals Limited\",\n    \"Symbol\": \"INDNIPPON\",\n    \"ListingDate\": \"07-May-97\",\n    \"ISIN\": \"INE092B01025\",\n    \"MarketCap\": \"₹ 1,218 Cr.\",\n    \"CurrentPrice\": \"₹ 538\",\n    \"HighLow\": \"₹ 575 / 325\",\n    \"StockPE\": \"22.3\",\n    \"BookValue\": \"₹ 259\",\n    \"DividendYield\": \"1.71 %\",\n    \"ROCE\": \"11.3 %\",\n    \"ROE\": \"9.05 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Indo Amines Limited\",\n    \"Symbol\": \"INDOAMIN\",\n    \"ListingDate\": \"29-Apr-22\",\n    \"ISIN\": \"INE760F01028\",\n    \"MarketCap\": \"₹ 896 Cr.\",\n    \"CurrentPrice\": \"₹ 127\",\n    \"HighLow\": \"₹ 140 / 69.0\",\n    \"StockPE\": \"17.4\",\n    \"BookValue\": \"₹ 34.9\",\n    \"DividendYield\": \"0.40 %\",\n    \"ROCE\": \"17.4 %\",\n    \"ROE\": \"19.6 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Indo Borax & Chemicals Limited\",\n    \"Symbol\": \"INDOBORAX\",\n    \"ListingDate\": \"29-Mar-22\",\n    \"ISIN\": \"INE803D01021\",\n    \"MarketCap\": \"₹ 738 Cr.\",\n    \"CurrentPrice\": \"₹ 230\",\n    \"HighLow\": \"₹ 235 / 96.4\",\n    \"StockPE\": \"16.2\",\n    \"BookValue\": \"₹ 84.8\",\n    \"DividendYield\": \"0.45 %\",\n    \"ROCE\": \"28.7 %\",\n    \"ROE\": \"21.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Indoco Remedies Limited\",\n    \"Symbol\": \"INDOCO\",\n    \"ListingDate\": \"14-Jan-05\",\n    \"ISIN\": \"INE873D01024\",\n    \"MarketCap\": \"₹ 3,655 Cr.\",\n    \"CurrentPrice\": \"₹ 397\",\n    \"HighLow\": \"₹ 424 / 306\",\n    \"StockPE\": \"32.3\",\n    \"BookValue\": \"₹ 116\",\n    \"DividendYield\": \"0.57 %\",\n    \"ROCE\": \"17.4 %\",\n    \"ROE\": \"14.8 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Indo Rama Synthetics (India) Limited\",\n    \"Symbol\": \"INDORAMA\",\n    \"ListingDate\": \"20-Jun-03\",\n    \"ISIN\": \"INE156A01020\",\n    \"MarketCap\": \"₹ 1,359 Cr.\",\n    \"CurrentPrice\": \"₹ 52.1\",\n    \"HighLow\": \"₹ 61.6 / 36.3\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 19.5\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"3.08 %\",\n    \"ROE\": \"-3.79 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"IndoStar Capital Finance Limited\",\n    \"Symbol\": \"INDOSTAR\",\n    \"ListingDate\": \"21-May-18\",\n    \"ISIN\": \"INE896L01010\",\n    \"MarketCap\": \"₹ 2,279 Cr.\",\n    \"CurrentPrice\": \"₹ 168\",\n    \"HighLow\": \"₹ 193 / 103\",\n    \"StockPE\": \"12.9\",\n    \"BookValue\": \"₹ 233\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.15 %\",\n    \"ROE\": \"7.46 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Indo Tech Transformers Limited\",\n    \"Symbol\": \"INDOTECH\",\n    \"ListingDate\": \"16-Mar-06\",\n    \"ISIN\": \"INE332H01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Indo Thai Securities Limited\",\n    \"Symbol\": \"INDOTHAI\",\n    \"ListingDate\": \"02-Nov-11\",\n    \"ISIN\": \"INE337M01013\",\n    \"MarketCap\": \"₹ 231 Cr.\",\n    \"CurrentPrice\": \"₹ 231\",\n    \"HighLow\": \"₹ 487 / 197\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 65.7\",\n    \"DividendYield\": \"0.26 %\",\n    \"ROCE\": \"-13.2 %\",\n    \"ROE\": \"-10.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Indowind Energy Limited\",\n    \"Symbol\": \"INDOWIND\",\n    \"ListingDate\": \"14-Sep-07\",\n    \"ISIN\": \"INE227G01018\",\n    \"MarketCap\": \"₹ 221 Cr.\",\n    \"CurrentPrice\": \"₹ 20.6\",\n    \"HighLow\": \"₹ 24.7 / 8.60\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 22.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.73 %\",\n    \"ROE\": \"2.47 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Indraprastha Medical Corporation Limited\",\n    \"Symbol\": \"INDRAMEDCO\",\n    \"ListingDate\": \"17-Apr-97\",\n    \"ISIN\": \"INE681B01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Ind-Swift Laboratories Limited\",\n    \"Symbol\": \"INDSWFTLAB\",\n    \"ListingDate\": \"02-Jul-97\",\n    \"ISIN\": \"INE915B01019\",\n    \"MarketCap\": \"₹ 605 Cr.\",\n    \"CurrentPrice\": \"₹ 102\",\n    \"HighLow\": \"₹ 123 / 54.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 123\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"13.3 %\",\n    \"ROE\": \"9.59 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ind-Swift Limited\",\n    \"Symbol\": \"INDSWFTLTD\",\n    \"ListingDate\": \"18-Oct-04\",\n    \"ISIN\": \"INE788B01028\",\n    \"MarketCap\": \"₹ 96.8 Cr.\",\n    \"CurrentPrice\": \"₹ 17.9\",\n    \"HighLow\": \"₹ 24.3 / 6.50\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -132\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.28 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Indian Terrain Fashions Limited\",\n    \"Symbol\": \"INDTERRAIN\",\n    \"ListingDate\": \"11-Mar-11\",\n    \"ISIN\": \"INE611L01021\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"IndusInd Bank Limited\",\n    \"Symbol\": \"INDUSINDBK\",\n    \"ListingDate\": \"28-Jan-98\",\n    \"ISIN\": \"INE095A01012\",\n    \"MarketCap\": \"₹ 1,24,017 Cr.\",\n    \"CurrentPrice\": \"₹ 1,595\",\n    \"HighLow\": \"₹ 1,619 / 990\",\n    \"StockPE\": \"14.9\",\n    \"BookValue\": \"₹ 709\",\n    \"DividendYield\": \"0.87 %\",\n    \"ROCE\": \"6.93 %\",\n    \"ROE\": \"14.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Indus Towers Limited\",\n    \"Symbol\": \"INDUSTOWER\",\n    \"ListingDate\": \"28-Dec-12\",\n    \"ISIN\": \"INE121J01017\",\n    \"MarketCap\": \"₹ 52,767 Cr.\",\n    \"CurrentPrice\": \"₹ 196\",\n    \"HighLow\": \"₹ 203 / 135\",\n    \"StockPE\": \"14.7\",\n    \"BookValue\": \"₹ 87.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"11.3 %\",\n    \"ROE\": \"9.71 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Infibeam Avenues Limited\",\n    \"Symbol\": \"INFIBEAM\",\n    \"ListingDate\": \"04-Apr-16\",\n    \"ISIN\": \"INE483S01020\",\n    \"MarketCap\": \"₹ 5,993 Cr.\",\n    \"CurrentPrice\": \"₹ 21.6\",\n    \"HighLow\": \"₹ 24.2 / 12.8\",\n    \"StockPE\": \"42.9\",\n    \"BookValue\": \"₹ 12.0\",\n    \"DividendYield\": \"0.23 %\",\n    \"ROCE\": \"5.53 %\",\n    \"ROE\": \"4.09 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"InfoBeans Technologies Limited\",\n    \"Symbol\": \"INFOBEAN\",\n    \"ListingDate\": \"15-Jul-19\",\n    \"ISIN\": \"INE344S01016\",\n    \"MarketCap\": \"₹ 1,074 Cr.\",\n    \"CurrentPrice\": \"₹ 442\",\n    \"HighLow\": \"₹ 577 / 380\",\n    \"StockPE\": \"49.4\",\n    \"BookValue\": \"₹ 115\",\n    \"DividendYield\": \"0.23 %\",\n    \"ROCE\": \"19.1 %\",\n    \"ROE\": \"14.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Infomedia Press Limited\",\n    \"Symbol\": \"INFOMEDIA\",\n    \"ListingDate\": \"12-Oct-06\",\n    \"ISIN\": \"INE669A01022\",\n    \"MarketCap\": \"₹ 28.1 Cr.\",\n    \"CurrentPrice\": \"₹ 5.60\",\n    \"HighLow\": \"₹ 7.01 / 3.90\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 2.12\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-38.5 %\",\n    \"ROE\": \"-107 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Infosys Limited\",\n    \"Symbol\": \"INFY\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE009A01021\",\n    \"MarketCap\": \"₹ 6,40,580 Cr.\",\n    \"CurrentPrice\": \"₹ 1,543\",\n    \"HighLow\": \"₹ 1,620 / 1,185\",\n    \"StockPE\": \"25.8\",\n    \"BookValue\": \"₹ 195\",\n    \"DividendYield\": \"2.18 %\",\n    \"ROCE\": \"40.5 %\",\n    \"ROE\": \"31.8 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Ingersoll Rand (India) Limited\",\n    \"Symbol\": \"INGERRAND\",\n    \"ListingDate\": \"15-Apr-99\",\n    \"ISIN\": \"INE177A01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Inox Green Energy Services Limited\",\n    \"Symbol\": \"INOXGREEN\",\n    \"ListingDate\": \"23-Nov-22\",\n    \"ISIN\": \"INE510W01014\",\n    \"MarketCap\": \"₹ 3,046 Cr.\",\n    \"CurrentPrice\": \"₹ 104\",\n    \"HighLow\": \"₹ 113 / 38.4\",\n    \"StockPE\": \"307\",\n    \"BookValue\": \"₹ 44.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"0.79 %\",\n    \"ROE\": \"-3.82 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"INOX India Limited\",\n    \"Symbol\": \"INOXINDIA\",\n    \"ListingDate\": \"21-Dec-23\",\n    \"ISIN\": \"INE616N01034\",\n    \"MarketCap\": \"₹ 8,074 Cr.\",\n    \"CurrentPrice\": \"₹ 890\",\n    \"HighLow\": \"₹ 990 / 855\",\n    \"StockPE\": \"53.3\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"37.2 %\",\n    \"ROE\": \"28.8 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Inox Wind Limited\",\n    \"Symbol\": \"INOXWIND\",\n    \"ListingDate\": \"09-Apr-15\",\n    \"ISIN\": \"INE066P01011\",\n    \"MarketCap\": \"₹ 15,595 Cr.\",\n    \"CurrentPrice\": \"₹ 478\",\n    \"HighLow\": \"₹ 489 / 88.8\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 50.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-8.37 %\",\n    \"ROE\": \"-50.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Insecticides (India) Limited\",\n    \"Symbol\": \"INSECTICID\",\n    \"ListingDate\": \"30-May-07\",\n    \"ISIN\": \"INE070I01018\",\n    \"MarketCap\": \"₹ 2,076 Cr.\",\n    \"CurrentPrice\": \"₹ 702\",\n    \"HighLow\": \"₹ 762 / 410\",\n    \"StockPE\": \"33.3\",\n    \"BookValue\": \"₹ 338\",\n    \"DividendYield\": \"0.44 %\",\n    \"ROCE\": \"9.71 %\",\n    \"ROE\": \"7.08 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Inspirisys Solutions Limited\",\n    \"Symbol\": \"INSPIRISYS\",\n    \"ListingDate\": \"30-Oct-06\",\n    \"ISIN\": \"INE020G01017\",\n    \"MarketCap\": \"₹ 349 Cr.\",\n    \"CurrentPrice\": \"₹ 88.0\",\n    \"HighLow\": \"₹ 97.6 / 38.0\",\n    \"StockPE\": \"36.2\",\n    \"BookValue\": \"₹ -2.20\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"12.0 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Intellect Design Arena Limited\",\n    \"Symbol\": \"INTELLECT\",\n    \"ListingDate\": \"18-Dec-14\",\n    \"ISIN\": \"INE306R01017\",\n    \"MarketCap\": \"₹ 11,428 Cr.\",\n    \"CurrentPrice\": \"₹ 836\",\n    \"HighLow\": \"₹ 843 / 388\",\n    \"StockPE\": \"36.1\",\n    \"BookValue\": \"₹ 164\",\n    \"DividendYield\": \"0.30 %\",\n    \"ROCE\": \"18.8 %\",\n    \"ROE\": \"13.8 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Intense Technologies Limited\",\n    \"Symbol\": \"INTENTECH\",\n    \"ListingDate\": \"23-Mar-17\",\n    \"ISIN\": \"INE781A01025\",\n    \"MarketCap\": \"₹ 236 Cr.\",\n    \"CurrentPrice\": \"₹ 101\",\n    \"HighLow\": \"₹ 129 / 53.0\",\n    \"StockPE\": \"14.5\",\n    \"BookValue\": \"₹ 51.4\",\n    \"DividendYield\": \"0.51 %\",\n    \"ROCE\": \"16.4 %\",\n    \"ROE\": \"13.3 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"International Conveyors Limited\",\n    \"Symbol\": \"INTLCONV\",\n    \"ListingDate\": \"16-Sep-21\",\n    \"ISIN\": \"INE575C01027\",\n    \"MarketCap\": \"₹ 576 Cr.\",\n    \"CurrentPrice\": \"₹ 90.9\",\n    \"HighLow\": \"₹ 105 / 40.0\",\n    \"StockPE\": \"11.2\",\n    \"BookValue\": \"₹ 39.9\",\n    \"DividendYield\": \"1.22 %\",\n    \"ROCE\": \"15.6 %\",\n    \"ROE\": \"13.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Inventure Growth & Securities Limited\",\n    \"Symbol\": \"INVENTURE\",\n    \"ListingDate\": \"04-Aug-11\",\n    \"ISIN\": \"INE878H01024\",\n    \"MarketCap\": \"₹ 219 Cr.\",\n    \"CurrentPrice\": \"₹ 2.61\",\n    \"HighLow\": \"₹ 3.15 / 1.45\",\n    \"StockPE\": \"27.6\",\n    \"BookValue\": \"₹ 2.52\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"6.13 %\",\n    \"ROE\": \"4.54 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Indian Overseas Bank\",\n    \"Symbol\": \"IOB\",\n    \"ListingDate\": \"07-Dec-00\",\n    \"ISIN\": \"INE565A01014\",\n    \"MarketCap\": \"₹ 81,640 Cr.\",\n    \"CurrentPrice\": \"₹ 43.2\",\n    \"HighLow\": \"₹ 51.1 / 20.8\",\n    \"StockPE\": \"34.9\",\n    \"BookValue\": \"₹ 13.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.54 %\",\n    \"ROE\": \"8.86 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Indian Oil Corporation Limited\",\n    \"Symbol\": \"IOC\",\n    \"ListingDate\": \"24-Jul-96\",\n    \"ISIN\": \"INE242A01010\",\n    \"MarketCap\": \"₹ 1,83,647 Cr.\",\n    \"CurrentPrice\": \"₹ 130\",\n    \"HighLow\": \"₹ 134 / 75.2\",\n    \"StockPE\": \"4.73\",\n    \"BookValue\": \"₹ 118\",\n    \"DividendYield\": \"3.86 %\",\n    \"ROCE\": \"8.09 %\",\n    \"ROE\": \"7.17 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"IOL Chemicals and Pharmaceuticals Limited\",\n    \"Symbol\": \"IOLCP\",\n    \"ListingDate\": \"08-Nov-10\",\n    \"ISIN\": \"INE485C01011\",\n    \"MarketCap\": \"₹ 2,714 Cr.\",\n    \"CurrentPrice\": \"₹ 462\",\n    \"HighLow\": \"₹ 536 / 272\",\n    \"StockPE\": \"15.8\",\n    \"BookValue\": \"₹ 271\",\n    \"DividendYield\": \"0.86 %\",\n    \"ROCE\": \"13.6 %\",\n    \"ROE\": \"9.61 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"ION Exchange (India) Limited\",\n    \"Symbol\": \"IONEXCHANG\",\n    \"ListingDate\": \"22-Feb-22\",\n    \"ISIN\": \"INE570A01022\",\n    \"MarketCap\": \"₹ 8,218 Cr.\",\n    \"CurrentPrice\": \"₹ 560\",\n    \"HighLow\": \"₹ 688 / 243\",\n    \"StockPE\": \"40.2\",\n    \"BookValue\": \"₹ 60.9\",\n    \"DividendYield\": \"0.23 %\",\n    \"ROCE\": \"33.8 %\",\n    \"ROE\": \"26.2 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"IPCA Laboratories Limited\",\n    \"Symbol\": \"IPCALAB\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE571A01038\",\n    \"MarketCap\": \"₹ 28,015 Cr.\",\n    \"CurrentPrice\": \"₹ 1,104\",\n    \"HighLow\": \"₹ 1,162 / 670\",\n    \"StockPE\": \"57.9\",\n    \"BookValue\": \"₹ 242\",\n    \"DividendYield\": \"0.36 %\",\n    \"ROCE\": \"11.2 %\",\n    \"ROE\": \"8.04 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"India Pesticides Limited\",\n    \"Symbol\": \"IPL\",\n    \"ListingDate\": \"05-Jul-21\",\n    \"ISIN\": \"INE0D6701023\",\n    \"MarketCap\": \"₹ 4,208 Cr.\",\n    \"CurrentPrice\": \"₹ 365\",\n    \"HighLow\": \"₹ 378 / 197\",\n    \"StockPE\": \"42.2\",\n    \"BookValue\": \"₹ 69.4\",\n    \"DividendYield\": \"0.20 %\",\n    \"ROCE\": \"27.4 %\",\n    \"ROE\": \"20.3 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"IRB Infrastructure Developers Limited\",\n    \"Symbol\": \"IRB\",\n    \"ListingDate\": \"25-Feb-08\",\n    \"ISIN\": \"INE821I01022\",\n    \"MarketCap\": \"₹ 25,207 Cr.\",\n    \"CurrentPrice\": \"₹ 41.7\",\n    \"HighLow\": \"₹ 43.5 / 22.5\",\n    \"StockPE\": \"50.3\",\n    \"BookValue\": \"₹ 22.5\",\n    \"DividendYield\": \"0.47 %\",\n    \"ROCE\": \"8.67 %\",\n    \"ROE\": \"5.43 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Ircon International Limited\",\n    \"Symbol\": \"IRCON\",\n    \"ListingDate\": \"28-Sep-18\",\n    \"ISIN\": \"INE962Y01021\",\n    \"MarketCap\": \"₹ 15,876 Cr.\",\n    \"CurrentPrice\": \"₹ 169\",\n    \"HighLow\": \"₹ 182 / 50.1\",\n    \"StockPE\": \"17.9\",\n    \"BookValue\": \"₹ 58.9\",\n    \"DividendYield\": \"1.76 %\",\n    \"ROCE\": \"15.7 %\",\n    \"ROE\": \"15.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Indian Railway Catering And Tourism Corporation Limited\",\n    \"Symbol\": \"IRCTC\",\n    \"ListingDate\": \"14-Oct-19\",\n    \"ISIN\": \"INE335Y01020\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Indian Renewable Energy Development Agency Limited\",\n    \"Symbol\": \"IREDA\",\n    \"ListingDate\": \"29-Nov-23\",\n    \"ISIN\": \"INE202E01016\",\n    \"MarketCap\": \"₹ 27,439 Cr.\",\n    \"CurrentPrice\": \"₹ 102\",\n    \"HighLow\": \"₹ 123 / 50.0\",\n    \"StockPE\": \"79.2\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.33 %\",\n    \"ROE\": \"12.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Indian Railway Finance Corporation Limited\",\n    \"Symbol\": \"IRFC\",\n    \"ListingDate\": \"29-Jan-21\",\n    \"ISIN\": \"INE053F01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Iris Business Services Limited\",\n    \"Symbol\": \"IRIS\",\n    \"ListingDate\": \"08-Nov-21\",\n    \"ISIN\": \"INE864K01010\",\n    \"MarketCap\": \"₹ 252 Cr.\",\n    \"CurrentPrice\": \"₹ 130\",\n    \"HighLow\": \"₹ 155 / 65.6\",\n    \"StockPE\": \"47.4\",\n    \"BookValue\": \"₹ 17.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"17.5 %\",\n    \"ROE\": \"14.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Iris Clothings Limited\",\n    \"Symbol\": \"IRISDOREME\",\n    \"ListingDate\": \"22-Feb-21\",\n    \"ISIN\": \"INE01GN01025\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"IRM Energy Limited\",\n    \"Symbol\": \"IRMENERGY\",\n    \"ListingDate\": \"26-Oct-23\",\n    \"ISIN\": \"INE07U701015\",\n    \"MarketCap\": \"₹ 2,216 Cr.\",\n    \"CurrentPrice\": \"₹ 540\",\n    \"HighLow\": \"₹ 564 / 435\",\n    \"StockPE\": \"35.2\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"17.4 %\",\n    \"ROE\": \"23.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"ICICI Securities Limited\",\n    \"Symbol\": \"ISEC\",\n    \"ListingDate\": \"04-Apr-18\",\n    \"ISIN\": \"INE763G01038\",\n    \"MarketCap\": \"₹ 23,257 Cr.\",\n    \"CurrentPrice\": \"₹ 720\",\n    \"HighLow\": \"₹ 777 / 416\",\n    \"StockPE\": \"18.8\",\n    \"BookValue\": \"₹ 101\",\n    \"DividendYield\": \"2.65 %\",\n    \"ROCE\": \"18.1 %\",\n    \"ROE\": \"42.3 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Intrasoft Technologies Limited\",\n    \"Symbol\": \"ISFT\",\n    \"ListingDate\": \"12-Apr-10\",\n    \"ISIN\": \"INE566K01011\",\n    \"MarketCap\": \"₹ 177 Cr.\",\n    \"CurrentPrice\": \"₹ 120\",\n    \"HighLow\": \"₹ 178 / 94.0\",\n    \"StockPE\": \"18.8\",\n    \"BookValue\": \"₹ 125\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"6.31 %\",\n    \"ROE\": \"4.84 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Isgec Heavy Engineering Limited\",\n    \"Symbol\": \"ISGEC\",\n    \"ListingDate\": \"05-May-21\",\n    \"ISIN\": \"INE858B01029\",\n    \"MarketCap\": \"₹ 7,186 Cr.\",\n    \"CurrentPrice\": \"₹ 977\",\n    \"HighLow\": \"₹ 997 / 418\",\n    \"StockPE\": \"27.7\",\n    \"BookValue\": \"₹ 326\",\n    \"DividendYield\": \"0.31 %\",\n    \"ROCE\": \"10.7 %\",\n    \"ROE\": \"8.83 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"ISMT Limited\",\n    \"Symbol\": \"ISMTLTD\",\n    \"ListingDate\": \"28-Aug-07\",\n    \"ISIN\": \"INE732F01019\",\n    \"MarketCap\": \"₹ 2,756 Cr.\",\n    \"CurrentPrice\": \"₹ 91.7\",\n    \"HighLow\": \"₹ 105 / 52.8\",\n    \"StockPE\": \"19.7\",\n    \"BookValue\": \"₹ 52.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"10.8 %\",\n    \"ROE\": \"6.13 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"ITC Limited\",\n    \"Symbol\": \"ITC\",\n    \"ListingDate\": \"23-Aug-95\",\n    \"ISIN\": \"INE154A01025\",\n    \"MarketCap\": \"₹ 5,78,868 Cr.\",\n    \"CurrentPrice\": \"₹ 464\",\n    \"HighLow\": \"₹ 500 / 326\",\n    \"StockPE\": \"28.8\",\n    \"BookValue\": \"₹ 55.4\",\n    \"DividendYield\": \"2.71 %\",\n    \"ROCE\": \"39.0 %\",\n    \"ROE\": \"29.1 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"India Tourism Development Corporation Limited\",\n    \"Symbol\": \"ITDC\",\n    \"ListingDate\": \"30-Dec-16\",\n    \"ISIN\": \"INE353K01014\",\n    \"MarketCap\": \"₹ 3,918 Cr.\",\n    \"CurrentPrice\": \"₹ 457\",\n    \"HighLow\": \"₹ 512 / 276\",\n    \"StockPE\": \"53.3\",\n    \"BookValue\": \"₹ 41.9\",\n    \"DividendYield\": \"0.49 %\",\n    \"ROCE\": \"28.0 %\",\n    \"ROE\": \"18.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"ITD Cementation India Limited\",\n    \"Symbol\": \"ITDCEM\",\n    \"ListingDate\": \"10-Feb-99\",\n    \"ISIN\": \"INE686A01026\",\n    \"MarketCap\": \"₹ 4,934 Cr.\",\n    \"CurrentPrice\": \"₹ 287\",\n    \"HighLow\": \"₹ 305 / 93.2\",\n    \"StockPE\": \"27.4\",\n    \"BookValue\": \"₹ 77.2\",\n    \"DividendYield\": \"0.26 %\",\n    \"ROCE\": \"18.8 %\",\n    \"ROE\": \"10.4 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"ITI Limited\",\n    \"Symbol\": \"ITI\",\n    \"ListingDate\": \"15-Sep-03\",\n    \"ISIN\": \"INE248A01017\",\n    \"MarketCap\": \"₹ 29,240 Cr.\",\n    \"CurrentPrice\": \"₹ 304\",\n    \"HighLow\": \"₹ 338 / 86.5\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 22.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-3.57 %\",\n    \"ROE\": \"-14.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"IL&FS Investment Managers Limited\",\n    \"Symbol\": \"IVC\",\n    \"ListingDate\": \"15-Sep-99\",\n    \"ISIN\": \"INE050B01023\",\n    \"MarketCap\": \"₹ 366 Cr.\",\n    \"CurrentPrice\": \"₹ 11.6\",\n    \"HighLow\": \"₹ 14.8 / 5.65\",\n    \"StockPE\": \"35.3\",\n    \"BookValue\": \"₹ 6.24\",\n    \"DividendYield\": \"6.84 %\",\n    \"ROCE\": \"9.24 %\",\n    \"ROE\": \"5.59 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"IVP Limited\",\n    \"Symbol\": \"IVP\",\n    \"ListingDate\": \"13-Sep-95\",\n    \"ISIN\": \"INE043C01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Inox Wind Energy Limited\",\n    \"Symbol\": \"IWEL\",\n    \"ListingDate\": \"11-Jun-21\",\n    \"ISIN\": \"INE0FLR01028\",\n    \"MarketCap\": \"₹ 6,313 Cr.\",\n    \"CurrentPrice\": \"₹ 5,240\",\n    \"HighLow\": \"₹ 5,375 / 887\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 1,051\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-9.11 %\",\n    \"ROE\": \"-29.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"IZMO Limited\",\n    \"Symbol\": \"IZMO\",\n    \"ListingDate\": \"05-Feb-07\",\n    \"ISIN\": \"INE848A01014\",\n    \"MarketCap\": \"₹ 340 Cr.\",\n    \"CurrentPrice\": \"₹ 253\",\n    \"HighLow\": \"₹ 279 / 69.6\",\n    \"StockPE\": \"13.6\",\n    \"BookValue\": \"₹ 211\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.06 %\",\n    \"ROE\": \"7.62 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"The Jammu & Kashmir Bank Limited\",\n    \"Symbol\": \"J&KBANK\",\n    \"ListingDate\": \"22-Jul-98\",\n    \"ISIN\": \"INE168A01041\",\n    \"MarketCap\": \"₹ 13,556 Cr.\",\n    \"CurrentPrice\": \"₹ 123\",\n    \"HighLow\": \"₹ 140 / 44.6\",\n    \"StockPE\": \"9.14\",\n    \"BookValue\": \"₹ 95.9\",\n    \"DividendYield\": \"0.40 %\",\n    \"ROCE\": \"4.92 %\",\n    \"ROE\": \"13.1 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Jagran Prakashan Limited\",\n    \"Symbol\": \"JAGRAN\",\n    \"ListingDate\": \"22-Feb-06\",\n    \"ISIN\": \"INE199G01027\",\n    \"MarketCap\": \"₹ 2,018 Cr.\",\n    \"CurrentPrice\": \"₹ 92.7\",\n    \"HighLow\": \"₹ 121 / 65.2\",\n    \"StockPE\": \"12.5\",\n    \"BookValue\": \"₹ 84.3\",\n    \"DividendYield\": \"4.31 %\",\n    \"ROCE\": \"8.23 %\",\n    \"ROE\": \"7.08 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Jagsonpal Pharmaceuticals Limited\",\n    \"Symbol\": \"JAGSNPHARM\",\n    \"ListingDate\": \"01-Mar-00\",\n    \"ISIN\": \"INE048B01027\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Jai Balaji Industries Limited\",\n    \"Symbol\": \"JAIBALAJI\",\n    \"ListingDate\": \"09-Dec-03\",\n    \"ISIN\": \"INE091G01018\",\n    \"MarketCap\": \"₹ 12,307 Cr.\",\n    \"CurrentPrice\": \"₹ 767\",\n    \"HighLow\": \"₹ 810 / 42.0\",\n    \"StockPE\": \"31.8\",\n    \"BookValue\": \"₹ 61.5\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"18.3 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Jai Corp Limited\",\n    \"Symbol\": \"JAICORPLTD\",\n    \"ListingDate\": \"26-Nov-97\",\n    \"ISIN\": \"INE070D01027\",\n    \"MarketCap\": \"₹ 6,960 Cr.\",\n    \"CurrentPrice\": \"₹ 390\",\n    \"HighLow\": \"₹ 410 / 114\",\n    \"StockPE\": \"213\",\n    \"BookValue\": \"₹ 81.0\",\n    \"DividendYield\": \"0.13 %\",\n    \"ROCE\": \"3.31 %\",\n    \"ROE\": \"-12.2 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Nandani Creation Limited\",\n    \"Symbol\": \"JAIPURKURT\",\n    \"ListingDate\": \"02-Sep-21\",\n    \"ISIN\": \"INE696V01013\",\n    \"MarketCap\": \"₹ 76.6 Cr.\",\n    \"CurrentPrice\": \"₹ 67.0\",\n    \"HighLow\": \"₹ 109 / 63.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 22.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.21 %\",\n    \"ROE\": \"0.84 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Jamna Auto Industries Limited\",\n    \"Symbol\": \"JAMNAAUTO\",\n    \"ListingDate\": \"10-Dec-10\",\n    \"ISIN\": \"INE039C01032\",\n    \"MarketCap\": \"₹ 4,479 Cr.\",\n    \"CurrentPrice\": \"₹ 112\",\n    \"HighLow\": \"₹ 127 / 94.2\",\n    \"StockPE\": \"23.7\",\n    \"BookValue\": \"₹ 21.0\",\n    \"DividendYield\": \"1.69 %\",\n    \"ROCE\": \"27.5 %\",\n    \"ROE\": \"22.9 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Jash Engineering Limited\",\n    \"Symbol\": \"JASH\",\n    \"ListingDate\": \"30-Oct-19\",\n    \"ISIN\": \"INE039O01011\",\n    \"MarketCap\": \"₹ 1,877 Cr.\",\n    \"CurrentPrice\": \"₹ 1,560\",\n    \"HighLow\": \"₹ 1,627 / 805\",\n    \"StockPE\": \"33.9\",\n    \"BookValue\": \"₹ 202\",\n    \"DividendYield\": \"0.25 %\",\n    \"ROCE\": \"22.5 %\",\n    \"ROE\": \"24.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Jayant Agro Organics Limited\",\n    \"Symbol\": \"JAYAGROGN\",\n    \"ListingDate\": \"17-Apr-96\",\n    \"ISIN\": \"INE785A01026\",\n    \"MarketCap\": \"₹ 747 Cr.\",\n    \"CurrentPrice\": \"₹ 249\",\n    \"HighLow\": \"₹ 272 / 141\",\n    \"StockPE\": \"16.7\",\n    \"BookValue\": \"₹ 173\",\n    \"DividendYield\": \"2.00 %\",\n    \"ROCE\": \"13.2 %\",\n    \"ROE\": \"10.1 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Jay Bharat Maruti Limited\",\n    \"Symbol\": \"JAYBARMARU\",\n    \"ListingDate\": \"03-Jan-96\",\n    \"ISIN\": \"INE571B01036\",\n    \"MarketCap\": \"₹ 1,134 Cr.\",\n    \"CurrentPrice\": \"₹ 105\",\n    \"HighLow\": \"₹ 138 / 50.0\",\n    \"StockPE\": \"32.1\",\n    \"BookValue\": \"₹ 47.8\",\n    \"DividendYield\": \"0.66 %\",\n    \"ROCE\": \"11.2 %\",\n    \"ROE\": \"7.67 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Jayaswal Neco Industries Limited\",\n    \"Symbol\": \"JAYNECOIND\",\n    \"ListingDate\": \"10-May-95\",\n    \"ISIN\": \"INE854B01010\",\n    \"MarketCap\": \"₹ 4,588 Cr.\",\n    \"CurrentPrice\": \"₹ 47.2\",\n    \"HighLow\": \"₹ 53.6 / 20.2\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 33.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.93 %\",\n    \"ROE\": \"-0.87 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Jayshree Tea & Industries Limited\",\n    \"Symbol\": \"JAYSREETEA\",\n    \"ListingDate\": \"15-Feb-95\",\n    \"ISIN\": \"INE364A01020\",\n    \"MarketCap\": \"₹ 311 Cr.\",\n    \"CurrentPrice\": \"₹ 108\",\n    \"HighLow\": \"₹ 117 / 74.1\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 86.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"0.18 %\",\n    \"ROE\": \"-13.2 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"JB Chemicals & Pharmaceuticals Limited\",\n    \"Symbol\": \"JBCHEPHARM\",\n    \"ListingDate\": \"29-Apr-03\",\n    \"ISIN\": \"INE572A01036\",\n    \"MarketCap\": \"₹ 24,730 Cr.\",\n    \"CurrentPrice\": \"₹ 1,595\",\n    \"HighLow\": \"₹ 1,640 / 875\",\n    \"StockPE\": \"50.8\",\n    \"BookValue\": \"₹ 175\",\n    \"DividendYield\": \"0.55 %\",\n    \"ROCE\": \"22.4 %\",\n    \"ROE\": \"17.6 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"JBM Auto Limited\",\n    \"Symbol\": \"JBMA\",\n    \"ListingDate\": \"17-Dec-04\",\n    \"ISIN\": \"INE927D01044\",\n    \"MarketCap\": \"₹ 17,263 Cr.\",\n    \"CurrentPrice\": \"₹ 1,460\",\n    \"HighLow\": \"₹ 1,608 / 482\",\n    \"StockPE\": \"126\",\n    \"BookValue\": \"₹ 90.1\",\n    \"DividendYield\": \"0.09 %\",\n    \"ROCE\": \"11.8 %\",\n    \"ROE\": \"12.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Johnson Controls - Hitachi Air Conditioning India Limited\",\n    \"Symbol\": \"JCHAC\",\n    \"ListingDate\": \"03-Jan-00\",\n    \"ISIN\": \"INE782A01015\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Jet Airways (India) Limited\",\n    \"Symbol\": \"JETAIRWAYS\",\n    \"ListingDate\": \"14-Mar-05\",\n    \"ISIN\": \"INE802G01018\",\n    \"MarketCap\": \"₹ 648 Cr.\",\n    \"CurrentPrice\": \"₹ 57.1\",\n    \"HighLow\": \"₹ 84.0 / 35.6\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -628\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"10.4 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Jet Freight Logistics Limited\",\n    \"Symbol\": \"JETFREIGHT\",\n    \"ListingDate\": \"21-Dec-21\",\n    \"ISIN\": \"INE982V01025\",\n    \"MarketCap\": \"₹ 60.4 Cr.\",\n    \"CurrentPrice\": \"₹ 13.0\",\n    \"HighLow\": \"₹ 23.8 / 9.20\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 12.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.65 %\",\n    \"ROE\": \"-0.91 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"JHS Svendgaard Laboratories Limited\",\n    \"Symbol\": \"JHS\",\n    \"ListingDate\": \"21-Oct-06\",\n    \"ISIN\": \"INE544H01014\",\n    \"MarketCap\": \"₹ 166 Cr.\",\n    \"CurrentPrice\": \"₹ 25.6\",\n    \"HighLow\": \"₹ 31.1 / 13.1\",\n    \"StockPE\": \"50.1\",\n    \"BookValue\": \"₹ 26.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-1.08 %\",\n    \"ROE\": \"0.95 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Jindal Photo Limited\",\n    \"Symbol\": \"JINDALPHOT\",\n    \"ListingDate\": \"07-Apr-05\",\n    \"ISIN\": \"INE796G01012\",\n    \"MarketCap\": \"₹ 610 Cr.\",\n    \"CurrentPrice\": \"₹ 595\",\n    \"HighLow\": \"₹ 823 / 263\",\n    \"StockPE\": \"3.52\",\n    \"BookValue\": \"₹ 2,011\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.70 %\",\n    \"ROE\": \"8.76 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Jindal Poly Films Limited\",\n    \"Symbol\": \"JINDALPOLY\",\n    \"ListingDate\": \"21-Jan-02\",\n    \"ISIN\": \"INE197D01010\",\n    \"MarketCap\": \"₹ 2,762 Cr.\",\n    \"CurrentPrice\": \"₹ 631\",\n    \"HighLow\": \"₹ 818 / 485\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 927\",\n    \"DividendYield\": \"0.67 %\",\n    \"ROCE\": \"12.5 %\",\n    \"ROE\": \"8.12 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Jindal Saw Limited\",\n    \"Symbol\": \"JINDALSAW\",\n    \"ListingDate\": \"29-Apr-03\",\n    \"ISIN\": \"INE324A01024\",\n    \"MarketCap\": \"₹ 13,212 Cr.\",\n    \"CurrentPrice\": \"₹ 413\",\n    \"HighLow\": \"₹ 515 / 102\",\n    \"StockPE\": \"12.7\",\n    \"BookValue\": \"₹ 282\",\n    \"DividendYield\": \"0.73 %\",\n    \"ROCE\": \"11.0 %\",\n    \"ROE\": \"6.09 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Jindal Steel & Power Limited\",\n    \"Symbol\": \"JINDALSTEL\",\n    \"ListingDate\": \"29-Dec-99\",\n    \"ISIN\": \"INE749A01030\",\n    \"MarketCap\": \"₹ 75,645 Cr.\",\n    \"CurrentPrice\": \"₹ 742\",\n    \"HighLow\": \"₹ 768 / 503\",\n    \"StockPE\": \"17.4\",\n    \"BookValue\": \"₹ 407\",\n    \"DividendYield\": \"0.27 %\",\n    \"ROCE\": \"14.2 %\",\n    \"ROE\": \"10.6 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Jindal Drilling And Industries Limited\",\n    \"Symbol\": \"JINDRILL\",\n    \"ListingDate\": \"22-Dec-06\",\n    \"ISIN\": \"INE742C01031\",\n    \"MarketCap\": \"₹ 2,130 Cr.\",\n    \"CurrentPrice\": \"₹ 735\",\n    \"HighLow\": \"₹ 915 / 213\",\n    \"StockPE\": \"30.8\",\n    \"BookValue\": \"₹ 465\",\n    \"DividendYield\": \"0.07 %\",\n    \"ROCE\": \"9.94 %\",\n    \"ROE\": \"7.68 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Jindal Worldwide Limited\",\n    \"Symbol\": \"JINDWORLD\",\n    \"ListingDate\": \"25-Nov-10\",\n    \"ISIN\": \"INE247D01039\",\n    \"MarketCap\": \"₹ 6,111 Cr.\",\n    \"CurrentPrice\": \"₹ 305\",\n    \"HighLow\": \"₹ 477 / 275\",\n    \"StockPE\": \"90.2\",\n    \"BookValue\": \"₹ 33.5\",\n    \"DividendYield\": \"0.07 %\",\n    \"ROCE\": \"15.7 %\",\n    \"ROE\": \"19.5 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Jio Financial Services Limited\",\n    \"Symbol\": \"JIOFIN\",\n    \"ListingDate\": \"21-Aug-23\",\n    \"ISIN\": \"INE758E01017\",\n    \"MarketCap\": \"₹ 1,48,444 Cr.\",\n    \"CurrentPrice\": \"₹ 234\",\n    \"HighLow\": \"₹ 278 / 203\",\n    \"StockPE\": \"5,905\",\n    \"BookValue\": \"₹ 182\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Jain Irrigation Systems Limited\",\n    \"Symbol\": \"JISLDVREQS\",\n    \"ListingDate\": \"30-Nov-11\",\n    \"ISIN\": \"IN9175A01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Jain Irrigation Systems Limited\",\n    \"Symbol\": \"JISLJALEQS\",\n    \"ListingDate\": \"13-Aug-01\",\n    \"ISIN\": \"INE175A01038\",\n    \"MarketCap\": \"₹ 4,271 Cr.\",\n    \"CurrentPrice\": \"₹ 63.0\",\n    \"HighLow\": \"₹ 73.4 / 26.5\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 80.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.02 %\",\n    \"ROE\": \"19.3 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"JITF Infralogistics Limited\",\n    \"Symbol\": \"JITFINFRA\",\n    \"ListingDate\": \"27-Feb-17\",\n    \"ISIN\": \"INE863T01013\",\n    \"MarketCap\": \"₹ 1,425 Cr.\",\n    \"CurrentPrice\": \"₹ 554\",\n    \"HighLow\": \"₹ 717 / 77.5\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -351\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.27 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"JK Cement Limited\",\n    \"Symbol\": \"JKCEMENT\",\n    \"ListingDate\": \"14-Mar-06\",\n    \"ISIN\": \"INE823G01014\",\n    \"MarketCap\": \"₹ 29,282 Cr.\",\n    \"CurrentPrice\": \"₹ 3,790\",\n    \"HighLow\": \"₹ 3,996 / 2,540\",\n    \"StockPE\": \"65.3\",\n    \"BookValue\": \"₹ 631\",\n    \"DividendYield\": \"0.40 %\",\n    \"ROCE\": \"10.4 %\",\n    \"ROE\": \"9.48 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"JK Lakshmi Cement Limited\",\n    \"Symbol\": \"JKLAKSHMI\",\n    \"ListingDate\": \"19-Jun-06\",\n    \"ISIN\": \"INE786A01032\",\n    \"MarketCap\": \"₹ 10,503 Cr.\",\n    \"CurrentPrice\": \"₹ 893\",\n    \"HighLow\": \"₹ 916 / 607\",\n    \"StockPE\": \"29.4\",\n    \"BookValue\": \"₹ 247\",\n    \"DividendYield\": \"0.41 %\",\n    \"ROCE\": \"14.2 %\",\n    \"ROE\": \"13.1 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"JK Paper Limited\",\n    \"Symbol\": \"JKPAPER\",\n    \"ListingDate\": \"16-Jun-05\",\n    \"ISIN\": \"INE789E01012\",\n    \"MarketCap\": \"₹ 6,940 Cr.\",\n    \"CurrentPrice\": \"₹ 410\",\n    \"HighLow\": \"₹ 427 / 306\",\n    \"StockPE\": \"5.64\",\n    \"BookValue\": \"₹ 272\",\n    \"DividendYield\": \"1.94 %\",\n    \"ROCE\": \"28.5 %\",\n    \"ROE\": \"34.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"JK Tyre & Industries Limited\",\n    \"Symbol\": \"JKTYRE\",\n    \"ListingDate\": \"19-Mar-07\",\n    \"ISIN\": \"INE573A01042\",\n    \"MarketCap\": \"₹ 9,828 Cr.\",\n    \"CurrentPrice\": \"₹ 399\",\n    \"HighLow\": \"₹ 399 / 142\",\n    \"StockPE\": \"17.2\",\n    \"BookValue\": \"₹ 153\",\n    \"DividendYield\": \"0.51 %\",\n    \"ROCE\": \"11.1 %\",\n    \"ROE\": \"9.49 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Jupiter Life Line Hospitals Limited\",\n    \"Symbol\": \"JLHL\",\n    \"ListingDate\": \"18-Sep-23\",\n    \"ISIN\": \"INE682M01012\",\n    \"MarketCap\": \"₹ 7,325 Cr.\",\n    \"CurrentPrice\": \"₹ 1,117\",\n    \"HighLow\": \"₹ 1,221 / 960\",\n    \"StockPE\": \"99.0\",\n    \"BookValue\": \"₹ 165\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"21.4 %\",\n    \"ROE\": \"22.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Jullundur Motor Agency (Delhi) Limited\",\n    \"Symbol\": \"JMA\",\n    \"ListingDate\": \"16-Mar-15\",\n    \"ISIN\": \"INE412C01023\",\n    \"MarketCap\": \"₹ 188 Cr.\",\n    \"CurrentPrice\": \"₹ 82.4\",\n    \"HighLow\": \"₹ 88.5 / 59.0\",\n    \"StockPE\": \"7.17\",\n    \"BookValue\": \"₹ 92.6\",\n    \"DividendYield\": \"2.44 %\",\n    \"ROCE\": \"18.7 %\",\n    \"ROE\": \"13.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"JM Financial Limited\",\n    \"Symbol\": \"JMFINANCIL\",\n    \"ListingDate\": \"10-Oct-06\",\n    \"ISIN\": \"INE780C01023\",\n    \"MarketCap\": \"₹ 9,378 Cr.\",\n    \"CurrentPrice\": \"₹ 98.1\",\n    \"HighLow\": \"₹ 105 / 57.4\",\n    \"StockPE\": \"16.1\",\n    \"BookValue\": \"₹ 88.1\",\n    \"DividendYield\": \"1.84 %\",\n    \"ROCE\": \"8.30 %\",\n    \"ROE\": \"7.55 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Jocil Limited\",\n    \"Symbol\": \"JOCIL\",\n    \"ListingDate\": \"08-Oct-08\",\n    \"ISIN\": \"INE839G01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Jaiprakash Associates Limited\",\n    \"Symbol\": \"JPASSOCIAT\",\n    \"ListingDate\": \"14-Jun-04\",\n    \"ISIN\": \"INE455F01025\",\n    \"MarketCap\": \"₹ 4,811 Cr.\",\n    \"CurrentPrice\": \"₹ 19.6\",\n    \"HighLow\": \"₹ 23.2 / 6.55\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -6.84\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.74 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Jindal Poly Investment and Finance Company Limited\",\n    \"Symbol\": \"JPOLYINVST\",\n    \"ListingDate\": \"11-Nov-13\",\n    \"ISIN\": \"INE147P01019\",\n    \"MarketCap\": \"₹ 654 Cr.\",\n    \"CurrentPrice\": \"₹ 623\",\n    \"HighLow\": \"₹ 788 / 384\",\n    \"StockPE\": \"2.13\",\n    \"BookValue\": \"₹ 2,334\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"21.0 %\",\n    \"ROE\": \"11.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Jaiprakash Power Ventures Limited\",\n    \"Symbol\": \"JPPOWER\",\n    \"ListingDate\": \"18-Apr-05\",\n    \"ISIN\": \"INE351F01018\",\n    \"MarketCap\": \"₹ 9,238 Cr.\",\n    \"CurrentPrice\": \"₹ 13.5\",\n    \"HighLow\": \"₹ 15.3 / 5.15\",\n    \"StockPE\": \"116\",\n    \"BookValue\": \"₹ 15.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.16 %\",\n    \"ROE\": \"0.57 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Jindal Stainless Limited\",\n    \"Symbol\": \"JSL\",\n    \"ListingDate\": \"17-Nov-03\",\n    \"ISIN\": \"INE220G01021\",\n    \"MarketCap\": \"₹ 46,923 Cr.\",\n    \"CurrentPrice\": \"₹ 570\",\n    \"HighLow\": \"₹ 578 / 224\",\n    \"StockPE\": \"17.8\",\n    \"BookValue\": \"₹ 161\",\n    \"DividendYield\": \"0.26 %\",\n    \"ROCE\": \"20.8 %\",\n    \"ROE\": \"19.1 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"JSW Energy Limited\",\n    \"Symbol\": \"JSWENERGY\",\n    \"ListingDate\": \"04-Jan-10\",\n    \"ISIN\": \"INE121E01018\",\n    \"MarketCap\": \"₹ 68,073 Cr.\",\n    \"CurrentPrice\": \"₹ 414\",\n    \"HighLow\": \"₹ 477 / 205\",\n    \"StockPE\": \"42.8\",\n    \"BookValue\": \"₹ 121\",\n    \"DividendYield\": \"0.49 %\",\n    \"ROCE\": \"7.28 %\",\n    \"ROE\": \"7.22 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"JSW Holdings Limited\",\n    \"Symbol\": \"JSWHL\",\n    \"ListingDate\": \"21-Jun-05\",\n    \"ISIN\": \"INE824G01012\",\n    \"MarketCap\": \"₹ 5,726 Cr.\",\n    \"CurrentPrice\": \"₹ 5,158\",\n    \"HighLow\": \"₹ 5,473 / 3,672\",\n    \"StockPE\": \"36.0\",\n    \"BookValue\": \"₹ 20,779\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.04 %\",\n    \"ROE\": \"1.68 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"JSW Infrastructure Limited\",\n    \"Symbol\": \"JSWINFRA\",\n    \"ListingDate\": \"03-Oct-23\",\n    \"ISIN\": \"INE880J01026\",\n    \"MarketCap\": \"₹ 44,552 Cr.\",\n    \"CurrentPrice\": \"₹ 212\",\n    \"HighLow\": \"₹ 248 / 142\",\n    \"StockPE\": \"60.1\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"16.7 %\",\n    \"ROE\": \"20.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"JSW Steel Limited\",\n    \"Symbol\": \"JSWSTEEL\",\n    \"ListingDate\": \"23-Mar-05\",\n    \"ISIN\": \"INE019A01038\",\n    \"MarketCap\": \"₹ 2,13,904 Cr.\",\n    \"CurrentPrice\": \"₹ 875\",\n    \"HighLow\": \"₹ 896 / 649\",\n    \"StockPE\": \"24.1\",\n    \"BookValue\": \"₹ 302\",\n    \"DividendYield\": \"0.39 %\",\n    \"ROCE\": \"8.33 %\",\n    \"ROE\": \"5.64 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Jtekt India Limited\",\n    \"Symbol\": \"JTEKTINDIA\",\n    \"ListingDate\": \"12-Jan-04\",\n    \"ISIN\": \"INE643A01035\",\n    \"MarketCap\": \"₹ 3,710 Cr.\",\n    \"CurrentPrice\": \"₹ 152\",\n    \"HighLow\": \"₹ 168 / 95.2\",\n    \"StockPE\": \"47.3\",\n    \"BookValue\": \"₹ 30.0\",\n    \"DividendYield\": \"0.35 %\",\n    \"ROCE\": \"15.9 %\",\n    \"ROE\": \"12.4 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"JTL INDUSTRIES LIMITED\",\n    \"Symbol\": \"JTLIND\",\n    \"ListingDate\": \"12-Jun-23\",\n    \"ISIN\": \"INE391J01024\",\n    \"MarketCap\": \"₹ 4,055 Cr.\",\n    \"CurrentPrice\": \"₹ 237\",\n    \"HighLow\": \"₹ 253 / 142\",\n    \"StockPE\": \"36.8\",\n    \"BookValue\": \"₹ 28.0\",\n    \"DividendYield\": \"0.04 %\",\n    \"ROCE\": \"34.5 %\",\n    \"ROE\": \"30.1 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Jubilant Foodworks Limited\",\n    \"Symbol\": \"JUBLFOOD\",\n    \"ListingDate\": \"08-Feb-10\",\n    \"ISIN\": \"INE797F01020\",\n    \"MarketCap\": \"₹ 37,687 Cr.\",\n    \"CurrentPrice\": \"₹ 571\",\n    \"HighLow\": \"₹ 587 / 412\",\n    \"StockPE\": \"160\",\n    \"BookValue\": \"₹ 31.6\",\n    \"DividendYield\": \"0.21 %\",\n    \"ROCE\": \"16.2 %\",\n    \"ROE\": \"18.1 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Jubilant Industries Limited\",\n    \"Symbol\": \"JUBLINDS\",\n    \"ListingDate\": \"14-Feb-11\",\n    \"ISIN\": \"INE645L01011\",\n    \"MarketCap\": \"₹ 904 Cr.\",\n    \"CurrentPrice\": \"₹ 600\",\n    \"HighLow\": \"₹ 746 / 356\",\n    \"StockPE\": \"19.5\",\n    \"BookValue\": \"₹ 155\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"27.3 %\",\n    \"ROE\": \"36.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Jubilant Ingrevia Limited\",\n    \"Symbol\": \"JUBLINGREA\",\n    \"ListingDate\": \"19-Mar-21\",\n    \"ISIN\": \"INE0BY001018\",\n    \"MarketCap\": \"₹ 8,116 Cr.\",\n    \"CurrentPrice\": \"₹ 510\",\n    \"HighLow\": \"₹ 542 / 350\",\n    \"StockPE\": \"31.3\",\n    \"BookValue\": \"₹ 170\",\n    \"DividendYield\": \"0.98 %\",\n    \"ROCE\": \"16.0 %\",\n    \"ROE\": \"12.1 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Jubilant Pharmova Limited\",\n    \"Symbol\": \"JUBLPHARMA\",\n    \"ListingDate\": \"16-Jun-03\",\n    \"ISIN\": \"INE700A01033\",\n    \"MarketCap\": \"₹ 8,510 Cr.\",\n    \"CurrentPrice\": \"₹ 534\",\n    \"HighLow\": \"₹ 551 / 269\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 340\",\n    \"DividendYield\": \"0.94 %\",\n    \"ROCE\": \"3.13 %\",\n    \"ROE\": \"-6.89 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Just Dial Limited\",\n    \"Symbol\": \"JUSTDIAL\",\n    \"ListingDate\": \"05-Jun-13\",\n    \"ISIN\": \"INE599M01018\",\n    \"MarketCap\": \"₹ 6,735 Cr.\",\n    \"CurrentPrice\": \"₹ 792\",\n    \"HighLow\": \"₹ 879 / 565\",\n    \"StockPE\": \"21.4\",\n    \"BookValue\": \"₹ 449\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.70 %\",\n    \"ROE\": \"1.30 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Jupiter Wagons Limited\",\n    \"Symbol\": \"JWL\",\n    \"ListingDate\": \"18-Oct-10\",\n    \"ISIN\": \"INE209L01016\",\n    \"MarketCap\": \"₹ 13,031 Cr.\",\n    \"CurrentPrice\": \"₹ 316\",\n    \"HighLow\": \"₹ 412 / 85.2\",\n    \"StockPE\": \"57.0\",\n    \"BookValue\": \"₹ 26.3\",\n    \"DividendYield\": \"0.16 %\",\n    \"ROCE\": \"23.9 %\",\n    \"ROE\": \"16.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Jyothy Labs Limited\",\n    \"Symbol\": \"JYOTHYLAB\",\n    \"ListingDate\": \"19-Dec-07\",\n    \"ISIN\": \"INE668F01031\",\n    \"MarketCap\": \"₹ 17,259 Cr.\",\n    \"CurrentPrice\": \"₹ 470\",\n    \"HighLow\": \"₹ 498 / 180\",\n    \"StockPE\": \"52.8\",\n    \"BookValue\": \"₹ 44.6\",\n    \"DividendYield\": \"0.65 %\",\n    \"ROCE\": \"18.1 %\",\n    \"ROE\": \"14.7 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Jyoti Structures Limited\",\n    \"Symbol\": \"JYOTISTRUC\",\n    \"ListingDate\": \"19-Jul-95\",\n    \"ISIN\": \"INE197A01024\",\n    \"MarketCap\": \"₹ 1,199 Cr.\",\n    \"CurrentPrice\": \"₹ 18.9\",\n    \"HighLow\": \"₹ 20.9 / 5.15\",\n    \"StockPE\": \"87.4\",\n    \"BookValue\": \"₹ 0.07\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-0.20 %\",\n    \"ROE\": \"-4.59 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Kabra Extrusion Technik Limited\",\n    \"Symbol\": \"KABRAEXTRU\",\n    \"ListingDate\": \"06-Sep-95\",\n    \"ISIN\": \"INE900B01029\",\n    \"MarketCap\": \"₹ 1,500 Cr.\",\n    \"CurrentPrice\": \"₹ 429\",\n    \"HighLow\": \"₹ 645 / 398\",\n    \"StockPE\": \"42.5\",\n    \"BookValue\": \"₹ 123\",\n    \"DividendYield\": \"0.82 %\",\n    \"ROCE\": \"14.9 %\",\n    \"ROE\": \"10.4 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Kajaria Ceramics Limited\",\n    \"Symbol\": \"KAJARIACER\",\n    \"ListingDate\": \"01-Jun-04\",\n    \"ISIN\": \"INE217B01036\",\n    \"MarketCap\": \"₹ 21,344 Cr.\",\n    \"CurrentPrice\": \"₹ 1,340\",\n    \"HighLow\": \"₹ 1,524 / 1,006\",\n    \"StockPE\": \"53.3\",\n    \"BookValue\": \"₹ 157\",\n    \"DividendYield\": \"0.68 %\",\n    \"ROCE\": \"19.7 %\",\n    \"ROE\": \"15.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Kakatiya Cement Sugar & Industries Limited\",\n    \"Symbol\": \"KAKATCEM\",\n    \"ListingDate\": \"13-Dec-95\",\n    \"ISIN\": \"INE437B01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Sai Silks (Kalamandir) Limited\",\n    \"Symbol\": \"KALAMANDIR\",\n    \"ListingDate\": \"27-Sep-23\",\n    \"ISIN\": \"INE438K01021\",\n    \"MarketCap\": \"₹ 4,238 Cr.\",\n    \"CurrentPrice\": \"₹ 276\",\n    \"HighLow\": \"₹ 312 / 220\",\n    \"StockPE\": \"77.9\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Kalyani Commercials Limited\",\n    \"Symbol\": \"KALYANI\",\n    \"ListingDate\": \"13-Feb-17\",\n    \"ISIN\": \"INE610E01010\",\n    \"MarketCap\": \"₹ 11.9 Cr.\",\n    \"CurrentPrice\": \"₹ 119\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"4.93\",\n    \"BookValue\": \"₹ 133\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"11.5 %\",\n    \"ROE\": \"20.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kalyani Forge Limited\",\n    \"Symbol\": \"KALYANIFRG\",\n    \"ListingDate\": \"20-Dec-07\",\n    \"ISIN\": \"INE314G01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Kalyan Jewellers India Limited\",\n    \"Symbol\": \"KALYANKJIL\",\n    \"ListingDate\": \"26-Mar-21\",\n    \"ISIN\": \"INE303R01014\",\n    \"MarketCap\": \"₹ 35,357 Cr.\",\n    \"CurrentPrice\": \"₹ 343\",\n    \"HighLow\": \"₹ 362 / 101\",\n    \"StockPE\": \"68.2\",\n    \"BookValue\": \"₹ 37.4\",\n    \"DividendYield\": \"0.14 %\",\n    \"ROCE\": \"12.7 %\",\n    \"ROE\": \"13.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kamat Hotels (I) Limited\",\n    \"Symbol\": \"KAMATHOTEL\",\n    \"ListingDate\": \"29-May-96\",\n    \"ISIN\": \"INE967C01018\",\n    \"MarketCap\": \"₹ 661 Cr.\",\n    \"CurrentPrice\": \"₹ 268\",\n    \"HighLow\": \"₹ 299 / 95.2\",\n    \"StockPE\": \"10.1\",\n    \"BookValue\": \"₹ 63.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"26.1 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kamdhenu Limited\",\n    \"Symbol\": \"KAMDHENU\",\n    \"ListingDate\": \"09-May-06\",\n    \"ISIN\": \"INE390H01012\",\n    \"MarketCap\": \"₹ 1,015 Cr.\",\n    \"CurrentPrice\": \"₹ 377\",\n    \"HighLow\": \"₹ 442 / 260\",\n    \"StockPE\": \"33.4\",\n    \"BookValue\": \"₹ 81.1\",\n    \"DividendYield\": \"0.42 %\",\n    \"ROCE\": \"16.9 %\",\n    \"ROE\": \"14.7 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kamdhenu Ventures Limited\",\n    \"Symbol\": \"KAMOPAINTS\",\n    \"ListingDate\": \"24-Jan-23\",\n    \"ISIN\": \"INE0BTI01029\",\n    \"MarketCap\": \"₹ 1,104 Cr.\",\n    \"CurrentPrice\": \"₹ 176\",\n    \"HighLow\": \"₹ 203 / 62.8\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 21.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-6.95 %\",\n    \"ROE\": \"-28.0 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Kanani Industries Limited\",\n    \"Symbol\": \"KANANIIND\",\n    \"ListingDate\": \"14-Dec-11\",\n    \"ISIN\": \"INE879E01037\",\n    \"MarketCap\": \"₹ 73.3 Cr.\",\n    \"CurrentPrice\": \"₹ 7.41\",\n    \"HighLow\": \"₹ 10.2 / 5.43\",\n    \"StockPE\": \"69.2\",\n    \"BookValue\": \"₹ 6.42\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"3.72 %\",\n    \"ROE\": \"3.56 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Kanoria Chemicals & Industries Limited\",\n    \"Symbol\": \"KANORICHEM\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE138C01024\",\n    \"MarketCap\": \"₹ 592 Cr.\",\n    \"CurrentPrice\": \"₹ 135\",\n    \"HighLow\": \"₹ 177 / 100\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 141\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.27 %\",\n    \"ROE\": \"-2.57 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Kanpur Plastipack Limited\",\n    \"Symbol\": \"KANPRPLA\",\n    \"ListingDate\": \"01-Jan-21\",\n    \"ISIN\": \"INE694E01014\",\n    \"MarketCap\": \"₹ 254 Cr.\",\n    \"CurrentPrice\": \"₹ 118\",\n    \"HighLow\": \"₹ 136 / 72.8\",\n    \"StockPE\": \"36.1\",\n    \"BookValue\": \"₹ 85.4\",\n    \"DividendYield\": \"0.42 %\",\n    \"ROCE\": \"4.63 %\",\n    \"ROE\": \"2.93 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kansai Nerolac Paints Limited\",\n    \"Symbol\": \"KANSAINER\",\n    \"ListingDate\": \"15-Sep-03\",\n    \"ISIN\": \"INE531A01024\",\n    \"MarketCap\": \"₹ 27,012 Cr.\",\n    \"CurrentPrice\": \"₹ 334\",\n    \"HighLow\": \"₹ 357 / 247\",\n    \"StockPE\": \"44.7\",\n    \"BookValue\": \"₹ 65.4\",\n    \"DividendYield\": \"0.54 %\",\n    \"ROCE\": \"14.5 %\",\n    \"ROE\": \"10.7 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Kapston Services Limited\",\n    \"Symbol\": \"KAPSTON\",\n    \"ListingDate\": \"27-May-20\",\n    \"ISIN\": \"INE542Z01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Karma Energy Limited\",\n    \"Symbol\": \"KARMAENG\",\n    \"ListingDate\": \"28-Jun-11\",\n    \"ISIN\": \"INE725L01011\",\n    \"MarketCap\": \"₹ 86.3 Cr.\",\n    \"CurrentPrice\": \"₹ 74.6\",\n    \"HighLow\": \"₹ 104 / 22.2\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 26.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.07 %\",\n    \"ROE\": \"-8.08 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Karur Vysya Bank Limited\",\n    \"Symbol\": \"KARURVYSYA\",\n    \"ListingDate\": \"26-Jul-00\",\n    \"ISIN\": \"INE036D01028\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Kaushalya Infrastructure Development Corporation Limited\",\n    \"Symbol\": \"KAUSHALYA\",\n    \"ListingDate\": \"14-Dec-07\",\n    \"ISIN\": \"INE234I01010\",\n    \"MarketCap\": \"₹ 30.2 Cr.\",\n    \"CurrentPrice\": \"₹ 8.73\",\n    \"HighLow\": \"₹ 10.6 / 3.55\",\n    \"StockPE\": \"1.79\",\n    \"BookValue\": \"₹ 16.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"22.6 %\",\n    \"ROE\": \"33.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kavveri Telecom Products Limited\",\n    \"Symbol\": \"KAVVERITEL\",\n    \"ListingDate\": \"29-Jan-08\",\n    \"ISIN\": \"INE641C01019\",\n    \"MarketCap\": \"₹ 29.6 Cr.\",\n    \"CurrentPrice\": \"₹ 14.7\",\n    \"HighLow\": \"₹ 17.0 / 4.40\",\n    \"StockPE\": \"0.93\",\n    \"BookValue\": \"₹ 28.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"25.0 %\",\n    \"ROE\": \"103 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kaya Limited\",\n    \"Symbol\": \"KAYA\",\n    \"ListingDate\": \"14-Aug-15\",\n    \"ISIN\": \"INE587G01015\",\n    \"MarketCap\": \"₹ 411 Cr.\",\n    \"CurrentPrice\": \"₹ 314\",\n    \"HighLow\": \"₹ 399 / 239\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -94.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-43.5 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kaynes Technology India Limited\",\n    \"Symbol\": \"KAYNES\",\n    \"ListingDate\": \"22-Nov-22\",\n    \"ISIN\": \"INE918Z01012\",\n    \"MarketCap\": \"₹ 16,641 Cr.\",\n    \"CurrentPrice\": \"₹ 2,604\",\n    \"HighLow\": \"₹ 3,000 / 713\",\n    \"StockPE\": \"137\",\n    \"BookValue\": \"₹ 175\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"21.5 %\",\n    \"ROE\": \"16.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"KBC Global Limited\",\n    \"Symbol\": \"KBCGLOBAL\",\n    \"ListingDate\": \"02-Apr-18\",\n    \"ISIN\": \"INE278R01034\",\n    \"MarketCap\": \"₹ 194 Cr.\",\n    \"CurrentPrice\": \"₹ 2.02\",\n    \"HighLow\": \"₹ 4.37 / 1.85\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 14.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.41 %\",\n    \"ROE\": \"-0.66 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"KCP Limited\",\n    \"Symbol\": \"KCP\",\n    \"ListingDate\": \"09-Apr-97\",\n    \"ISIN\": \"INE805C01028\",\n    \"MarketCap\": \"₹ 1,975 Cr.\",\n    \"CurrentPrice\": \"₹ 153\",\n    \"HighLow\": \"₹ 161 / 91.6\",\n    \"StockPE\": \"23.3\",\n    \"BookValue\": \"₹ 99.4\",\n    \"DividendYield\": \"0.06 %\",\n    \"ROCE\": \"6.22 %\",\n    \"ROE\": \"3.45 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"KCP Sugar and Industries Corporation Limited\",\n    \"Symbol\": \"KCPSUGIND\",\n    \"ListingDate\": \"11-Jun-97\",\n    \"ISIN\": \"INE790B01024\",\n    \"MarketCap\": \"₹ 397 Cr.\",\n    \"CurrentPrice\": \"₹ 35.0\",\n    \"HighLow\": \"₹ 43.9 / 21.0\",\n    \"StockPE\": \"4.54\",\n    \"BookValue\": \"₹ 38.0\",\n    \"DividendYield\": \"0.57 %\",\n    \"ROCE\": \"4.98 %\",\n    \"ROE\": \"2.99 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"KDDL Limited\",\n    \"Symbol\": \"KDDL\",\n    \"ListingDate\": \"23-Mar-16\",\n    \"ISIN\": \"INE291D01011\",\n    \"MarketCap\": \"₹ 3,565 Cr.\",\n    \"CurrentPrice\": \"₹ 2,843\",\n    \"HighLow\": \"₹ 3,120 / 976\",\n    \"StockPE\": \"39.5\",\n    \"BookValue\": \"₹ 402\",\n    \"DividendYield\": \"0.14 %\",\n    \"ROCE\": \"18.1 %\",\n    \"ROE\": \"15.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"KEC International Limited\",\n    \"Symbol\": \"KEC\",\n    \"ListingDate\": \"10-Mar-06\",\n    \"ISIN\": \"INE389H01022\",\n    \"MarketCap\": \"₹ 15,175 Cr.\",\n    \"CurrentPrice\": \"₹ 590\",\n    \"HighLow\": \"₹ 748 / 436\",\n    \"StockPE\": \"80.8\",\n    \"BookValue\": \"₹ 150\",\n    \"DividendYield\": \"0.50 %\",\n    \"ROCE\": \"11.8 %\",\n    \"ROE\": \"4.74 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Kirloskar Electric Company Limited\",\n    \"Symbol\": \"KECL\",\n    \"ListingDate\": \"09-Mar-10\",\n    \"ISIN\": \"INE134B01017\",\n    \"MarketCap\": \"₹ 725 Cr.\",\n    \"CurrentPrice\": \"₹ 109\",\n    \"HighLow\": \"₹ 141 / 61.9\",\n    \"StockPE\": \"33.8\",\n    \"BookValue\": \"₹ 14.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"21.1 %\",\n    \"ROE\": \"29.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"DSJ Keep Learning Limited\",\n    \"Symbol\": \"KEEPLEARN\",\n    \"ListingDate\": \"01-Mar-95\",\n    \"ISIN\": \"INE055C01020\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"KEI Industries Limited\",\n    \"Symbol\": \"KEI\",\n    \"ListingDate\": \"23-Mar-06\",\n    \"ISIN\": \"INE878B01027\",\n    \"MarketCap\": \"₹ 29,579 Cr.\",\n    \"CurrentPrice\": \"₹ 3,278\",\n    \"HighLow\": \"₹ 3,311 / 1,411\",\n    \"StockPE\": \"56.0\",\n    \"BookValue\": \"₹ 317\",\n    \"DividendYield\": \"0.09 %\",\n    \"ROCE\": \"25.8 %\",\n    \"ROE\": \"20.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Kellton Tech Solutions Limited\",\n    \"Symbol\": \"KELLTONTEC\",\n    \"ListingDate\": \"02-Mar-16\",\n    \"ISIN\": \"INE164B01022\",\n    \"MarketCap\": \"₹ 967 Cr.\",\n    \"CurrentPrice\": \"₹ 100\",\n    \"HighLow\": \"₹ 109 / 40.5\",\n    \"StockPE\": \"18.0\",\n    \"BookValue\": \"₹ 42.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"14.3 %\",\n    \"ROE\": \"16.5 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Kernex Microsystems (India) Limited\",\n    \"Symbol\": \"KERNEX\",\n    \"ListingDate\": \"20-Dec-05\",\n    \"ISIN\": \"INE202H01019\",\n    \"MarketCap\": \"₹ 934 Cr.\",\n    \"CurrentPrice\": \"₹ 571\",\n    \"HighLow\": \"₹ 707 / 215\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 49.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-23.2 %\",\n    \"ROE\": \"-30.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kesoram Industries Limited\",\n    \"Symbol\": \"KESORAMIND\",\n    \"ListingDate\": \"06-Sep-95\",\n    \"ISIN\": \"INE087A01019\",\n    \"MarketCap\": \"₹ 5,418 Cr.\",\n    \"CurrentPrice\": \"₹ 174\",\n    \"HighLow\": \"₹ 180 / 54.6\",\n    \"StockPE\": \"665\",\n    \"BookValue\": \"₹ 12.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.86 %\",\n    \"ROE\": \"-4.38 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Keynote Financial Services Limited\",\n    \"Symbol\": \"KEYFINSERV\",\n    \"ListingDate\": \"26-Jun-96\",\n    \"ISIN\": \"INE681C01015\",\n    \"MarketCap\": \"₹ 84.5 Cr.\",\n    \"CurrentPrice\": \"₹ 120\",\n    \"HighLow\": \"₹ 174 / 77.7\",\n    \"StockPE\": \"7.07\",\n    \"BookValue\": \"₹ 157\",\n    \"DividendYield\": \"0.84 %\",\n    \"ROCE\": \"0.17 %\",\n    \"ROE\": \"-1.64 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kfin Technologies Limited\",\n    \"Symbol\": \"KFINTECH\",\n    \"ListingDate\": \"29-Dec-22\",\n    \"ISIN\": \"INE138Y01010\",\n    \"MarketCap\": \"₹ 8,358 Cr.\",\n    \"CurrentPrice\": \"₹ 490\",\n    \"HighLow\": \"₹ 564 / 271\",\n    \"StockPE\": \"38.9\",\n    \"BookValue\": \"₹ 58.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"29.3 %\",\n    \"ROE\": \"25.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Khadim India Limited\",\n    \"Symbol\": \"KHADIM\",\n    \"ListingDate\": \"14-Nov-17\",\n    \"ISIN\": \"INE834I01025\",\n    \"MarketCap\": \"₹ 636 Cr.\",\n    \"CurrentPrice\": \"₹ 354\",\n    \"HighLow\": \"₹ 425 / 175\",\n    \"StockPE\": \"50.7\",\n    \"BookValue\": \"₹ 127\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"10.4 %\",\n    \"ROE\": \"7.15 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Khaitan Chemicals & Fertilizers Limited\",\n    \"Symbol\": \"KHAICHEM\",\n    \"ListingDate\": \"30-Oct-20\",\n    \"ISIN\": \"INE745B01028\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Khaitan (India) Limited\",\n    \"Symbol\": \"KHAITANLTD\",\n    \"ListingDate\": \"20-Dec-95\",\n    \"ISIN\": \"INE731C01018\",\n    \"MarketCap\": \"₹ 27.8 Cr.\",\n    \"CurrentPrice\": \"₹ 58.4\",\n    \"HighLow\": \"₹ 69.4 / 37.4\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 31.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kalyani Investment Company Limited\",\n    \"Symbol\": \"KICL\",\n    \"ListingDate\": \"14-Jan-11\",\n    \"ISIN\": \"INE029L01018\",\n    \"MarketCap\": \"₹ 1,444 Cr.\",\n    \"CurrentPrice\": \"₹ 3,303\",\n    \"HighLow\": \"₹ 3,550 / 1,650\",\n    \"StockPE\": \"24.0\",\n    \"BookValue\": \"₹ 18,086\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.38 %\",\n    \"ROE\": \"1.04 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kilitch Drugs (India) Limited\",\n    \"Symbol\": \"KILITCH\",\n    \"ListingDate\": \"29-Sep-10\",\n    \"ISIN\": \"INE729D01010\",\n    \"MarketCap\": \"₹ 584 Cr.\",\n    \"CurrentPrice\": \"₹ 363\",\n    \"HighLow\": \"₹ 390 / 121\",\n    \"StockPE\": \"47.0\",\n    \"BookValue\": \"₹ 104\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.88 %\",\n    \"ROE\": \"5.40 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Krishna Institute of Medical Sciences Limited\",\n    \"Symbol\": \"KIMS\",\n    \"ListingDate\": \"28-Jun-21\",\n    \"ISIN\": \"INE967H01017\",\n    \"MarketCap\": \"₹ 15,830 Cr.\",\n    \"CurrentPrice\": \"₹ 1,978\",\n    \"HighLow\": \"₹ 2,230 / 1,282\",\n    \"StockPE\": \"46.3\",\n    \"BookValue\": \"₹ 227\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"23.7 %\",\n    \"ROE\": \"21.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kingfa Science & Technology (India) Limited\",\n    \"Symbol\": \"KINGFA\",\n    \"ListingDate\": \"15-Nov-16\",\n    \"ISIN\": \"INE473D01015\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"KIOCL Limited\",\n    \"Symbol\": \"KIOCL\",\n    \"ListingDate\": \"29-Nov-16\",\n    \"ISIN\": \"INE880L01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Kiri Industries Limited\",\n    \"Symbol\": \"KIRIINDUS\",\n    \"ListingDate\": \"22-Apr-08\",\n    \"ISIN\": \"INE415I01015\",\n    \"MarketCap\": \"₹ 2,097 Cr.\",\n    \"CurrentPrice\": \"₹ 404\",\n    \"HighLow\": \"₹ 483 / 255\",\n    \"StockPE\": \"240\",\n    \"BookValue\": \"₹ 520\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.77 %\",\n    \"ROE\": \"4.06 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kirloskar Brothers Limited\",\n    \"Symbol\": \"KIRLOSBROS\",\n    \"ListingDate\": \"20-Apr-10\",\n    \"ISIN\": \"INE732A01036\",\n    \"MarketCap\": \"₹ 7,125 Cr.\",\n    \"CurrentPrice\": \"₹ 897\",\n    \"HighLow\": \"₹ 1,062 / 286\",\n    \"StockPE\": \"23.5\",\n    \"BookValue\": \"₹ 185\",\n    \"DividendYield\": \"0.50 %\",\n    \"ROCE\": \"21.7 %\",\n    \"ROE\": \"18.3 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Kirloskar Oil Engines Limited\",\n    \"Symbol\": \"KIRLOSENG\",\n    \"ListingDate\": \"24-Dec-10\",\n    \"ISIN\": \"INE146L01010\",\n    \"MarketCap\": \"₹ 9,668 Cr.\",\n    \"CurrentPrice\": \"₹ 667\",\n    \"HighLow\": \"₹ 679 / 288\",\n    \"StockPE\": \"26.1\",\n    \"BookValue\": \"₹ 171\",\n    \"DividendYield\": \"0.76 %\",\n    \"ROCE\": \"13.4 %\",\n    \"ROE\": \"14.7 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Kirloskar Industries Limited\",\n    \"Symbol\": \"KIRLOSIND\",\n    \"ListingDate\": \"24-Jun-10\",\n    \"ISIN\": \"INE250A01039\",\n    \"MarketCap\": \"₹ 3,469 Cr.\",\n    \"CurrentPrice\": \"₹ 3,506\",\n    \"HighLow\": \"₹ 3,758 / 1,890\",\n    \"StockPE\": \"13.3\",\n    \"BookValue\": \"₹ 4,101\",\n    \"DividendYield\": \"0.31 %\",\n    \"ROCE\": \"13.4 %\",\n    \"ROE\": \"8.23 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kirloskar Pneumatic Company Limited\",\n    \"Symbol\": \"KIRLPNU\",\n    \"ListingDate\": \"26-Apr-23\",\n    \"ISIN\": \"INE811A01020\",\n    \"MarketCap\": \"₹ 3,906 Cr.\",\n    \"CurrentPrice\": \"₹ 603\",\n    \"HighLow\": \"₹ 700 / 512\",\n    \"StockPE\": \"114\",\n    \"BookValue\": \"₹ 51.2\",\n    \"DividendYield\": \"0.92 %\",\n    \"ROCE\": \"14.9 %\",\n    \"ROE\": \"10.8 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Kitex Garments Limited\",\n    \"Symbol\": \"KITEX\",\n    \"ListingDate\": \"25-Sep-12\",\n    \"ISIN\": \"INE602G01020\",\n    \"MarketCap\": \"₹ 1,499 Cr.\",\n    \"CurrentPrice\": \"₹ 225\",\n    \"HighLow\": \"₹ 242 / 136\",\n    \"StockPE\": \"75.1\",\n    \"BookValue\": \"₹ 131\",\n    \"DividendYield\": \"0.66 %\",\n    \"ROCE\": \"8.87 %\",\n    \"ROE\": \"6.81 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Kewal Kiran Clothing Limited\",\n    \"Symbol\": \"KKCL\",\n    \"ListingDate\": \"13-Apr-06\",\n    \"ISIN\": \"INE401H01017\",\n    \"MarketCap\": \"₹ 4,728 Cr.\",\n    \"CurrentPrice\": \"₹ 767\",\n    \"HighLow\": \"₹ 827 / 364\",\n    \"StockPE\": \"33.4\",\n    \"BookValue\": \"₹ 100\",\n    \"DividendYield\": \"0.64 %\",\n    \"ROCE\": \"26.2 %\",\n    \"ROE\": \"21.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"K.M.Sugar Mills Limited\",\n    \"Symbol\": \"KMSUGAR\",\n    \"ListingDate\": \"31-May-07\",\n    \"ISIN\": \"INE157H01023\",\n    \"MarketCap\": \"₹ 293 Cr.\",\n    \"CurrentPrice\": \"₹ 31.8\",\n    \"HighLow\": \"₹ 39.4 / 22.8\",\n    \"StockPE\": \"8.10\",\n    \"BookValue\": \"₹ 31.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.84 %\",\n    \"ROE\": \"8.76 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"KNR Constructions Limited\",\n    \"Symbol\": \"KNRCON\",\n    \"ListingDate\": \"18-Feb-08\",\n    \"ISIN\": \"INE634I01029\",\n    \"MarketCap\": \"₹ 7,207 Cr.\",\n    \"CurrentPrice\": \"₹ 256\",\n    \"HighLow\": \"₹ 306 / 226\",\n    \"StockPE\": \"14.6\",\n    \"BookValue\": \"₹ 109\",\n    \"DividendYield\": \"0.10 %\",\n    \"ROCE\": \"20.8 %\",\n    \"ROE\": \"15.5 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Kohinoor Foods Limited\",\n    \"Symbol\": \"KOHINOOR\",\n    \"ListingDate\": \"20-Oct-99\",\n    \"ISIN\": \"INE080B01012\",\n    \"MarketCap\": \"₹ 171 Cr.\",\n    \"CurrentPrice\": \"₹ 46.2\",\n    \"HighLow\": \"₹ 84.0 / 28.3\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -141\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"3.30 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kokuyo Camlin Limited\",\n    \"Symbol\": \"KOKUYOCMLN\",\n    \"ListingDate\": \"28-Jul-08\",\n    \"ISIN\": \"INE760A01029\",\n    \"MarketCap\": \"₹ 1,436 Cr.\",\n    \"CurrentPrice\": \"₹ 143\",\n    \"HighLow\": \"₹ 179 / 66.6\",\n    \"StockPE\": \"94.8\",\n    \"BookValue\": \"₹ 24.8\",\n    \"DividendYield\": \"0.34 %\",\n    \"ROCE\": \"8.56 %\",\n    \"ROE\": \"6.22 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Kolte - Patil Developers Limited\",\n    \"Symbol\": \"KOLTEPATIL\",\n    \"ListingDate\": \"13-Dec-07\",\n    \"ISIN\": \"INE094I01018\",\n    \"MarketCap\": \"₹ 3,693 Cr.\",\n    \"CurrentPrice\": \"₹ 486\",\n    \"HighLow\": \"₹ 562 / 231\",\n    \"StockPE\": \"33.2\",\n    \"BookValue\": \"₹ 137\",\n    \"DividendYield\": \"0.82 %\",\n    \"ROCE\": \"13.4 %\",\n    \"ROE\": \"10.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kopran Limited\",\n    \"Symbol\": \"KOPRAN\",\n    \"ListingDate\": \"09-Jun-99\",\n    \"ISIN\": \"INE082A01010\",\n    \"MarketCap\": \"₹ 1,166 Cr.\",\n    \"CurrentPrice\": \"₹ 242\",\n    \"HighLow\": \"₹ 286 / 96.0\",\n    \"StockPE\": \"37.0\",\n    \"BookValue\": \"₹ 91.6\",\n    \"DividendYield\": \"1.24 %\",\n    \"ROCE\": \"8.30 %\",\n    \"ROE\": \"6.29 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kotak Mahindra Bank Limited\",\n    \"Symbol\": \"KOTAKBANK\",\n    \"ListingDate\": \"20-Dec-95\",\n    \"ISIN\": \"INE237A01028\",\n    \"MarketCap\": \"₹ 3,77,273 Cr.\",\n    \"CurrentPrice\": \"₹ 1,898\",\n    \"HighLow\": \"₹ 2,064 / 1,644\",\n    \"StockPE\": \"22.0\",\n    \"BookValue\": \"₹ 563\",\n    \"DividendYield\": \"0.08 %\",\n    \"ROCE\": \"6.86 %\",\n    \"ROE\": \"14.3 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Kothari Sugars And Chemicals Limited\",\n    \"Symbol\": \"KOTARISUG\",\n    \"ListingDate\": \"13-Dec-04\",\n    \"ISIN\": \"INE419A01022\",\n    \"MarketCap\": \"₹ 437 Cr.\",\n    \"CurrentPrice\": \"₹ 52.7\",\n    \"HighLow\": \"₹ 63.8 / 32.4\",\n    \"StockPE\": \"58.4\",\n    \"BookValue\": \"₹ 16.8\",\n    \"DividendYield\": \"1.91 %\",\n    \"ROCE\": \"7.65 %\",\n    \"ROE\": \"5.27 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kothari Petrochemicals Limited\",\n    \"Symbol\": \"KOTHARIPET\",\n    \"ListingDate\": \"02-Nov-96\",\n    \"ISIN\": \"INE720A01015\",\n    \"MarketCap\": \"₹ 886 Cr.\",\n    \"CurrentPrice\": \"₹ 150\",\n    \"HighLow\": \"₹ 170 / 54.4\",\n    \"StockPE\": \"93.5\",\n    \"BookValue\": \"₹ 11.6\",\n    \"DividendYield\": \"0.82 %\",\n    \"ROCE\": \"18.0 %\",\n    \"ROE\": \"14.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kothari Products Limited\",\n    \"Symbol\": \"KOTHARIPRO\",\n    \"ListingDate\": \"03-Jun-98\",\n    \"ISIN\": \"INE823A01017\",\n    \"MarketCap\": \"₹ 376 Cr.\",\n    \"CurrentPrice\": \"₹ 126\",\n    \"HighLow\": \"₹ 154 / 95.2\",\n    \"StockPE\": \"26.3\",\n    \"BookValue\": \"₹ 321\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.86 %\",\n    \"ROE\": \"0.73 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"KPI Green Energy Limited\",\n    \"Symbol\": \"KPIGREEN\",\n    \"ListingDate\": \"27-Jul-21\",\n    \"ISIN\": \"INE542W01017\",\n    \"MarketCap\": \"₹ 5,876 Cr.\",\n    \"CurrentPrice\": \"₹ 1,462\",\n    \"HighLow\": \"₹ 1,468 / 389\",\n    \"StockPE\": \"43.6\",\n    \"BookValue\": \"₹ 89.9\",\n    \"DividendYield\": \"0.11 %\",\n    \"ROCE\": \"24.7 %\",\n    \"ROE\": \"53.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kalpataru Projects International Limited\",\n    \"Symbol\": \"KPIL\",\n    \"ListingDate\": \"15-Dec-00\",\n    \"ISIN\": \"INE220B01022\",\n    \"MarketCap\": \"₹ 11,679 Cr.\",\n    \"CurrentPrice\": \"₹ 719\",\n    \"HighLow\": \"₹ 727 / 480\",\n    \"StockPE\": \"29.0\",\n    \"BookValue\": \"₹ 298\",\n    \"DividendYield\": \"0.95 %\",\n    \"ROCE\": \"14.1 %\",\n    \"ROE\": \"8.57 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"KPIT Technologies Limited\",\n    \"Symbol\": \"KPITTECH\",\n    \"ListingDate\": \"22-Apr-19\",\n    \"ISIN\": \"INE04I401011\",\n    \"MarketCap\": \"₹ 41,656 Cr.\",\n    \"CurrentPrice\": \"₹ 1,520\",\n    \"HighLow\": \"₹ 1,640 / 676\",\n    \"StockPE\": \"85.2\",\n    \"BookValue\": \"₹ 67.8\",\n    \"DividendYield\": \"0.27 %\",\n    \"ROCE\": \"30.2 %\",\n    \"ROE\": \"25.7 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"K.P.R. Mill Limited\",\n    \"Symbol\": \"KPRMILL\",\n    \"ListingDate\": \"28-Aug-07\",\n    \"ISIN\": \"INE930H01031\",\n    \"MarketCap\": \"₹ 28,024 Cr.\",\n    \"CurrentPrice\": \"₹ 820\",\n    \"HighLow\": \"₹ 928 / 506\",\n    \"StockPE\": \"35.6\",\n    \"BookValue\": \"₹ 118\",\n    \"DividendYield\": \"0.50 %\",\n    \"ROCE\": \"24.4 %\",\n    \"ROE\": \"23.4 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"KRBL Limited\",\n    \"Symbol\": \"KRBL\",\n    \"ListingDate\": \"21-Jan-02\",\n    \"ISIN\": \"INE001B01026\",\n    \"MarketCap\": \"₹ 8,849 Cr.\",\n    \"CurrentPrice\": \"₹ 376\",\n    \"HighLow\": \"₹ 471 / 320\",\n    \"StockPE\": \"13.2\",\n    \"BookValue\": \"₹ 196\",\n    \"DividendYield\": \"0.27 %\",\n    \"ROCE\": \"20.9 %\",\n    \"ROE\": \"16.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Krebs Biochemicals and Industries Limited\",\n    \"Symbol\": \"KREBSBIO\",\n    \"ListingDate\": \"03-Jan-96\",\n    \"ISIN\": \"INE268B01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Kridhan Infra Limited\",\n    \"Symbol\": \"KRIDHANINF\",\n    \"ListingDate\": \"11-Dec-15\",\n    \"ISIN\": \"INE524L01026\",\n    \"MarketCap\": \"₹ 32.6 Cr.\",\n    \"CurrentPrice\": \"₹ 3.44\",\n    \"HighLow\": \"₹ 3.90 / 1.65\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -37.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Krishana Phoschem Limited\",\n    \"Symbol\": \"KRISHANA\",\n    \"ListingDate\": \"22-Aug-19\",\n    \"ISIN\": \"INE506W01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Kriti Industries (India) Limited\",\n    \"Symbol\": \"KRITI\",\n    \"ListingDate\": \"01-Nov-21\",\n    \"ISIN\": \"INE479D01038\",\n    \"MarketCap\": \"₹ 560 Cr.\",\n    \"CurrentPrice\": \"₹ 113\",\n    \"HighLow\": \"₹ 141 / 72.6\",\n    \"StockPE\": \"18.1\",\n    \"BookValue\": \"₹ 28.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-6.07 %\",\n    \"ROE\": \"-17.5 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Kritika Wires Limited\",\n    \"Symbol\": \"KRITIKA\",\n    \"ListingDate\": \"04-May-22\",\n    \"ISIN\": \"INE00Z501029\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Kriti Nutrients Limited\",\n    \"Symbol\": \"KRITINUT\",\n    \"ListingDate\": \"07-Oct-22\",\n    \"ISIN\": \"INE798K01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Krsnaa Diagnostics Limited\",\n    \"Symbol\": \"KRSNAA\",\n    \"ListingDate\": \"16-Aug-21\",\n    \"ISIN\": \"INE08LI01020\",\n    \"MarketCap\": \"₹ 2,309 Cr.\",\n    \"CurrentPrice\": \"₹ 715\",\n    \"HighLow\": \"₹ 768 / 353\",\n    \"StockPE\": \"40.0\",\n    \"BookValue\": \"₹ 241\",\n    \"DividendYield\": \"0.40 %\",\n    \"ROCE\": \"11.7 %\",\n    \"ROE\": \"8.71 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Ksb Limited\",\n    \"Symbol\": \"KSB\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE999A01015\",\n    \"MarketCap\": \"₹ 12,038 Cr.\",\n    \"CurrentPrice\": \"₹ 3,458\",\n    \"HighLow\": \"₹ 3,550 / 1,706\",\n    \"StockPE\": \"57.4\",\n    \"BookValue\": \"₹ 343\",\n    \"DividendYield\": \"0.44 %\",\n    \"ROCE\": \"23.2 %\",\n    \"ROE\": \"16.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kaveri Seed Company Limited\",\n    \"Symbol\": \"KSCL\",\n    \"ListingDate\": \"04-Oct-07\",\n    \"ISIN\": \"INE455I01029\",\n    \"MarketCap\": \"₹ 3,438 Cr.\",\n    \"CurrentPrice\": \"₹ 615\",\n    \"HighLow\": \"₹ 692 / 466\",\n    \"StockPE\": \"11.1\",\n    \"BookValue\": \"₹ 296\",\n    \"DividendYield\": \"0.83 %\",\n    \"ROCE\": \"17.1 %\",\n    \"ROE\": \"16.3 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Kshitij Polyline Limited\",\n    \"Symbol\": \"KSHITIJPOL\",\n    \"ListingDate\": \"27-Jul-22\",\n    \"ISIN\": \"INE013801027\",\n    \"MarketCap\": \"₹ 33.9 Cr.\",\n    \"CurrentPrice\": \"₹ 6.70\",\n    \"HighLow\": \"₹ 42.6 / 4.75\",\n    \"StockPE\": \"67.9\",\n    \"BookValue\": \"₹ 11.5\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"6.09 %\",\n    \"ROE\": \"2.68 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Kalyani Steels Limited\",\n    \"Symbol\": \"KSL\",\n    \"ListingDate\": \"19-May-10\",\n    \"ISIN\": \"INE907A01026\",\n    \"MarketCap\": \"₹ 2,105 Cr.\",\n    \"CurrentPrice\": \"₹ 482\",\n    \"HighLow\": \"₹ 558 / 281\",\n    \"StockPE\": \"8.64\",\n    \"BookValue\": \"₹ 313\",\n    \"DividendYield\": \"2.07 %\",\n    \"ROCE\": \"22.7 %\",\n    \"ROE\": \"19.4 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Ksolves India Limited\",\n    \"Symbol\": \"KSOLVES\",\n    \"ListingDate\": \"23-Sep-22\",\n    \"ISIN\": \"INE0D6I01015\",\n    \"MarketCap\": \"₹ 1,393 Cr.\",\n    \"CurrentPrice\": \"₹ 1,175\",\n    \"HighLow\": \"₹ 1,448 / 401\",\n    \"StockPE\": \"47.5\",\n    \"BookValue\": \"₹ 24.2\",\n    \"DividendYield\": \"2.02 %\",\n    \"ROCE\": \"170 %\",\n    \"ROE\": \"127 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"The Karnataka Bank Limited\",\n    \"Symbol\": \"KTKBANK\",\n    \"ListingDate\": \"10-May-00\",\n    \"ISIN\": \"INE614B01018\",\n    \"MarketCap\": \"₹ 8,135 Cr.\",\n    \"CurrentPrice\": \"₹ 235\",\n    \"HighLow\": \"₹ 258 / 124\",\n    \"StockPE\": \"5.98\",\n    \"BookValue\": \"₹ 263\",\n    \"DividendYield\": \"2.09 %\",\n    \"ROCE\": \"5.86 %\",\n    \"ROE\": \"15.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Kuantum Papers Limited\",\n    \"Symbol\": \"KUANTUM\",\n    \"ListingDate\": \"23-Oct-19\",\n    \"ISIN\": \"INE529I01021\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"L&T Finance Holdings Limited\",\n    \"Symbol\": \"L&TFH\",\n    \"ListingDate\": \"12-Aug-11\",\n    \"ISIN\": \"INE498L01015\",\n    \"MarketCap\": \"₹ 40,485 Cr.\",\n    \"CurrentPrice\": \"₹ 163\",\n    \"HighLow\": \"₹ 166 / 79.0\",\n    \"StockPE\": \"22.2\",\n    \"BookValue\": \"₹ 89.4\",\n    \"DividendYield\": \"1.22 %\",\n    \"ROCE\": \"7.56 %\",\n    \"ROE\": \"6.41 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Lagnam Spintex Limited\",\n    \"Symbol\": \"LAGNAM\",\n    \"ListingDate\": \"30-Sep-21\",\n    \"ISIN\": \"INE548Z01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Lakshmi Precision Screws Limited\",\n    \"Symbol\": \"LAKPRE\",\n    \"ListingDate\": \"26-Sep-06\",\n    \"ISIN\": \"INE651C01018\",\n    \"MarketCap\": \"₹ 5.91 Cr.\",\n    \"CurrentPrice\": \"₹ 5.40\",\n    \"HighLow\": \"₹ 6.80 / 3.37\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 23.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"0.29 %\",\n    \"ROE\": \"-84.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Lorenzini Apparels Limited\",\n    \"Symbol\": \"LAL\",\n    \"ListingDate\": \"10-Apr-23\",\n    \"ISIN\": \"INE740X01015\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Dr. Lal Path Labs Ltd.\",\n    \"Symbol\": \"LALPATHLAB\",\n    \"ListingDate\": \"23-Dec-15\",\n    \"ISIN\": \"INE600L01024\",\n    \"MarketCap\": \"₹ 21,463 Cr.\",\n    \"CurrentPrice\": \"₹ 2,571\",\n    \"HighLow\": \"₹ 2,767 / 1,762\",\n    \"StockPE\": \"71.2\",\n    \"BookValue\": \"₹ 212\",\n    \"DividendYield\": \"0.47 %\",\n    \"ROCE\": \"18.2 %\",\n    \"ROE\": \"15.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Lambodhara Textiles Limited\",\n    \"Symbol\": \"LAMBODHARA\",\n    \"ListingDate\": \"04-Feb-15\",\n    \"ISIN\": \"INE112F01022\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Landmark Cars Limited\",\n    \"Symbol\": \"LANDMARK\",\n    \"ListingDate\": \"23-Dec-22\",\n    \"ISIN\": \"INE559R01029\",\n    \"MarketCap\": \"₹ 3,392 Cr.\",\n    \"CurrentPrice\": \"₹ 825\",\n    \"HighLow\": \"₹ 889 / 441\",\n    \"StockPE\": \"40.1\",\n    \"BookValue\": \"₹ 123\",\n    \"DividendYield\": \"0.28 %\",\n    \"ROCE\": \"20.1 %\",\n    \"ROE\": \"25.2 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"La Opala RG Limited\",\n    \"Symbol\": \"LAOPALA\",\n    \"ListingDate\": \"16-Mar-07\",\n    \"ISIN\": \"INE059D01020\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Lasa Supergenerics Limited\",\n    \"Symbol\": \"LASA\",\n    \"ListingDate\": \"21-Sep-17\",\n    \"ISIN\": \"INE670X01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Latent View Analytics Limited\",\n    \"Symbol\": \"LATENTVIEW\",\n    \"ListingDate\": \"23-Nov-21\",\n    \"ISIN\": \"INE0I7C01011\",\n    \"MarketCap\": \"₹ 9,337 Cr.\",\n    \"CurrentPrice\": \"₹ 453\",\n    \"HighLow\": \"₹ 504 / 310\",\n    \"StockPE\": \"60.8\",\n    \"BookValue\": \"₹ 62.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"16.7 %\",\n    \"ROE\": \"13.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Latteys Industries Limited\",\n    \"Symbol\": \"LATTEYS\",\n    \"ListingDate\": \"23-May-23\",\n    \"ISIN\": \"INE262Z01023\",\n    \"MarketCap\": \"₹ 199 Cr.\",\n    \"CurrentPrice\": \"₹ 34.6\",\n    \"HighLow\": \"₹ 51.9 / 12.2\",\n    \"StockPE\": \"150\",\n    \"BookValue\": \"₹ 3.14\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Laurus Labs Limited\",\n    \"Symbol\": \"LAURUSLABS\",\n    \"ListingDate\": \"19-Dec-16\",\n    \"ISIN\": \"INE947Q01028\",\n    \"MarketCap\": \"₹ 23,154 Cr.\",\n    \"CurrentPrice\": \"₹ 430\",\n    \"HighLow\": \"₹ 439 / 279\",\n    \"StockPE\": \"63.0\",\n    \"BookValue\": \"₹ 74.8\",\n    \"DividendYield\": \"0.47 %\",\n    \"ROCE\": \"22.8 %\",\n    \"ROE\": \"21.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Laxmi Cotspin Limited\",\n    \"Symbol\": \"LAXMICOT\",\n    \"ListingDate\": \"12-Nov-21\",\n    \"ISIN\": \"INE801V01019\",\n    \"MarketCap\": \"₹ 43.9 Cr.\",\n    \"CurrentPrice\": \"₹ 25.6\",\n    \"HighLow\": \"₹ 29.2 / 17.2\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 24.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-4.89 %\",\n    \"ROE\": \"-11.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Lakshmi Machine Works Limited\",\n    \"Symbol\": \"LAXMIMACH\",\n    \"ListingDate\": \"29-Mar-95\",\n    \"ISIN\": \"INE269B01029\",\n    \"MarketCap\": \"₹ 14,166 Cr.\",\n    \"CurrentPrice\": \"₹ 13,260\",\n    \"HighLow\": \"₹ 15,501 / 9,031\",\n    \"StockPE\": \"34.0\",\n    \"BookValue\": \"₹ 2,373\",\n    \"DividendYield\": \"0.74 %\",\n    \"ROCE\": \"22.9 %\",\n    \"ROE\": \"17.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"LCC Infotech Limited\",\n    \"Symbol\": \"LCCINFOTEC\",\n    \"ListingDate\": \"02-Mar-00\",\n    \"ISIN\": \"INE938A01021\",\n    \"MarketCap\": \"₹ 28.5 Cr.\",\n    \"CurrentPrice\": \"₹ 2.25\",\n    \"HighLow\": \"₹ 2.77 / 1.40\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 2.80\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-1.03 %\",\n    \"ROE\": \"-1.14 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Lemon Tree Hotels Limited\",\n    \"Symbol\": \"LEMONTREE\",\n    \"ListingDate\": \"09-Apr-18\",\n    \"ISIN\": \"INE970X01018\",\n    \"MarketCap\": \"₹ 9,523 Cr.\",\n    \"CurrentPrice\": \"₹ 120\",\n    \"HighLow\": \"₹ 127 / 72.0\",\n    \"StockPE\": \"73.2\",\n    \"BookValue\": \"₹ 10.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"10.1 %\",\n    \"ROE\": \"13.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Lexus Granito (India) Limited\",\n    \"Symbol\": \"LEXUS\",\n    \"ListingDate\": \"13-Mar-23\",\n    \"ISIN\": \"INE500X01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Lakshmi Finance & Industrial Corporation Limited\",\n    \"Symbol\": \"LFIC\",\n    \"ListingDate\": \"15-Apr-15\",\n    \"ISIN\": \"INE850E01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"LG Balakrishnan & Bros Limited\",\n    \"Symbol\": \"LGBBROSLTD\",\n    \"ListingDate\": \"30-Mar-10\",\n    \"ISIN\": \"INE337A01034\",\n    \"MarketCap\": \"₹ 3,981 Cr.\",\n    \"CurrentPrice\": \"₹ 1,268\",\n    \"HighLow\": \"₹ 1,366 / 607\",\n    \"StockPE\": \"16.0\",\n    \"BookValue\": \"₹ 468\",\n    \"DividendYield\": \"1.28 %\",\n    \"ROCE\": \"24.2 %\",\n    \"ROE\": \"19.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"LGB Forge Limited\",\n    \"Symbol\": \"LGBFORGE\",\n    \"ListingDate\": \"01-Aug-08\",\n    \"ISIN\": \"INE201J01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Laxmi Goldorna House Limited\",\n    \"Symbol\": \"LGHL\",\n    \"ListingDate\": \"10-Nov-23\",\n    \"ISIN\": \"INE258Y01016\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Libas Consumer Products Limited\",\n    \"Symbol\": \"LIBAS\",\n    \"ListingDate\": \"23-Jul-19\",\n    \"ISIN\": \"INE908V01012\",\n    \"MarketCap\": \"₹ 46.5 Cr.\",\n    \"CurrentPrice\": \"₹ 17.6\",\n    \"HighLow\": \"₹ 20.8 / 9.85\",\n    \"StockPE\": \"18.9\",\n    \"BookValue\": \"₹ 27.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"13.0 %\",\n    \"ROE\": \"12.7 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Liberty Shoes Limited\",\n    \"Symbol\": \"LIBERTSHOE\",\n    \"ListingDate\": \"27-Sep-95\",\n    \"ISIN\": \"INE557B01019\",\n    \"MarketCap\": \"₹ 481 Cr.\",\n    \"CurrentPrice\": \"₹ 282\",\n    \"HighLow\": \"₹ 328 / 181\",\n    \"StockPE\": \"71.4\",\n    \"BookValue\": \"₹ 95.2\",\n    \"DividendYield\": \"0.88 %\",\n    \"ROCE\": \"8.81 %\",\n    \"ROE\": \"4.23 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"LIC Housing Finance Limited\",\n    \"Symbol\": \"LICHSGFIN\",\n    \"ListingDate\": \"29-Jul-98\",\n    \"ISIN\": \"INE115A01026\",\n    \"MarketCap\": \"₹ 29,230 Cr.\",\n    \"CurrentPrice\": \"₹ 531\",\n    \"HighLow\": \"₹ 544 / 315\",\n    \"StockPE\": \"7.04\",\n    \"BookValue\": \"₹ 531\",\n    \"DividendYield\": \"1.59 %\",\n    \"ROCE\": \"7.57 %\",\n    \"ROE\": \"11.1 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Life Insurance Corporation Of India\",\n    \"Symbol\": \"LICI\",\n    \"ListingDate\": \"17-May-22\",\n    \"ISIN\": \"INE0J1Y01017\",\n    \"MarketCap\": \"₹ 5,26,050 Cr.\",\n    \"CurrentPrice\": \"₹ 832\",\n    \"HighLow\": \"₹ 843 / 530\",\n    \"StockPE\": \"13.8\",\n    \"BookValue\": \"₹ 98.1\",\n    \"DividendYield\": \"0.36 %\",\n    \"ROCE\": \"143 %\",\n    \"ROE\": \"125 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Likhitha Infrastructure Limited\",\n    \"Symbol\": \"LIKHITHA\",\n    \"ListingDate\": \"15-Oct-20\",\n    \"ISIN\": \"INE060901027\",\n    \"MarketCap\": \"₹ 1,101 Cr.\",\n    \"CurrentPrice\": \"₹ 279\",\n    \"HighLow\": \"₹ 343 / 211\",\n    \"StockPE\": \"17.2\",\n    \"BookValue\": \"₹ 70.1\",\n    \"DividendYield\": \"0.54 %\",\n    \"ROCE\": \"37.0 %\",\n    \"ROE\": \"26.9 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Linc Limited\",\n    \"Symbol\": \"LINC\",\n    \"ListingDate\": \"09-Mar-15\",\n    \"ISIN\": \"INE802B01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Lincoln Pharmaceuticals Limited\",\n    \"Symbol\": \"LINCOLN\",\n    \"ListingDate\": \"17-Dec-15\",\n    \"ISIN\": \"INE405C01035\",\n    \"MarketCap\": \"₹ 1,223 Cr.\",\n    \"CurrentPrice\": \"₹ 611\",\n    \"HighLow\": \"₹ 705 / 300\",\n    \"StockPE\": \"15.1\",\n    \"BookValue\": \"₹ 273\",\n    \"DividendYield\": \"0.24 %\",\n    \"ROCE\": \"21.7 %\",\n    \"ROE\": \"15.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Linde India Limited\",\n    \"Symbol\": \"LINDEINDIA\",\n    \"ListingDate\": \"16-Jun-99\",\n    \"ISIN\": \"INE473A01011\",\n    \"MarketCap\": \"₹ 48,282 Cr.\",\n    \"CurrentPrice\": \"₹ 5,662\",\n    \"HighLow\": \"₹ 6,886 / 3,176\",\n    \"StockPE\": \"116\",\n    \"BookValue\": \"₹ 381\",\n    \"DividendYield\": \"0.08 %\",\n    \"ROCE\": \"20.8 %\",\n    \"ROE\": \"18.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  { \"Symbol\": \"LLOYDS-RE\", \"status\": \"404\" },\n  {\n    \"Name\": \"LLOYDS ENGINEERING WORKS LIMITED\",\n    \"Symbol\": \"LLOYDSENGG\",\n    \"ListingDate\": \"18-Jul-16\",\n    \"ISIN\": \"INE093R01011\",\n    \"MarketCap\": \"₹ 4,775 Cr.\",\n    \"CurrentPrice\": \"₹ 41.8\",\n    \"HighLow\": \"₹ 57.5 / 15.2\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 2.29\",\n    \"DividendYield\": \"0.24 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Lloyds Metals And Energy Limited\",\n    \"Symbol\": \"LLOYDSME\",\n    \"ListingDate\": \"17-Jul-23\",\n    \"ISIN\": \"INE281B01032\",\n    \"MarketCap\": \"₹ 30,146 Cr.\",\n    \"CurrentPrice\": \"₹ 597\",\n    \"HighLow\": \"₹ 688 / 234\",\n    \"StockPE\": \"26.6\",\n    \"BookValue\": \"₹ 43.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"81.3 %\",\n    \"ROE\": \"89.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Macrotech Developers Limited\",\n    \"Symbol\": \"LODHA\",\n    \"ListingDate\": \"19-Apr-21\",\n    \"ISIN\": \"INE670K01029\",\n    \"MarketCap\": \"₹ 95,846 Cr.\",\n    \"CurrentPrice\": \"₹ 994\",\n    \"HighLow\": \"₹ 999 / 356\",\n    \"StockPE\": \"62.7\",\n    \"BookValue\": \"₹ 135\",\n    \"DividendYield\": \"0.10 %\",\n    \"ROCE\": \"8.76 %\",\n    \"ROE\": \"10.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Lokesh Machines Limited\",\n    \"Symbol\": \"LOKESHMACH\",\n    \"ListingDate\": \"05-May-06\",\n    \"ISIN\": \"INE397H01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Lords Chloro Alkali Limited\",\n    \"Symbol\": \"LORDSCHLO\",\n    \"ListingDate\": \"28-Aug-23\",\n    \"ISIN\": \"INE846D01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Lotus Eye Hospital and Institute Limited\",\n    \"Symbol\": \"LOTUSEYE\",\n    \"ListingDate\": \"11-Jul-08\",\n    \"ISIN\": \"INE947I01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Lovable Lingerie Limited\",\n    \"Symbol\": \"LOVABLE\",\n    \"ListingDate\": \"24-Mar-11\",\n    \"ISIN\": \"INE597L01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Loyal Textile Mills Limited\",\n    \"Symbol\": \"LOYALTEX\",\n    \"ListingDate\": \"11-Aug-22\",\n    \"ISIN\": \"INE970D01010\",\n    \"MarketCap\": \"₹ 322 Cr.\",\n    \"CurrentPrice\": \"₹ 668\",\n    \"HighLow\": \"₹ 795 / 463\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 701\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.08 %\",\n    \"ROE\": \"0.83 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Landmark Property Development Company Limited\",\n    \"Symbol\": \"LPDC\",\n    \"ListingDate\": \"12-Aug-08\",\n    \"ISIN\": \"INE197J01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Larsen & Toubro Limited\",\n    \"Symbol\": \"LT\",\n    \"ListingDate\": \"23-Jun-04\",\n    \"ISIN\": \"INE018A01030\",\n    \"MarketCap\": \"₹ 4,81,841 Cr.\",\n    \"CurrentPrice\": \"₹ 3,505\",\n    \"HighLow\": \"₹ 3,560 / 2,058\",\n    \"StockPE\": \"39.5\",\n    \"BookValue\": \"₹ 571\",\n    \"DividendYield\": \"0.68 %\",\n    \"ROCE\": \"11.6 %\",\n    \"ROE\": \"11.7 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"LT Foods Limited\",\n    \"Symbol\": \"LTFOODS\",\n    \"ListingDate\": \"18-Dec-06\",\n    \"ISIN\": \"INE818H01020\",\n    \"MarketCap\": \"₹ 7,080 Cr.\",\n    \"CurrentPrice\": \"₹ 204\",\n    \"HighLow\": \"₹ 235 / 90.0\",\n    \"StockPE\": \"13.7\",\n    \"BookValue\": \"₹ 88.0\",\n    \"DividendYield\": \"0.49 %\",\n    \"ROCE\": \"17.1 %\",\n    \"ROE\": \"16.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"LTIMindtree Limited\",\n    \"Symbol\": \"LTIM\",\n    \"ListingDate\": \"21-Jul-16\",\n    \"ISIN\": \"INE214T01019\",\n    \"MarketCap\": \"₹ 1,85,266 Cr.\",\n    \"CurrentPrice\": \"₹ 6,260\",\n    \"HighLow\": \"₹ 6,356 / 4,120\",\n    \"StockPE\": \"41.8\",\n    \"BookValue\": \"₹ 610\",\n    \"DividendYield\": \"0.96 %\",\n    \"ROCE\": \"37.7 %\",\n    \"ROE\": \"28.6 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"L&T Technology Services Limited\",\n    \"Symbol\": \"LTTS\",\n    \"ListingDate\": \"23-Sep-16\",\n    \"ISIN\": \"INE010V01017\",\n    \"MarketCap\": \"₹ 55,394 Cr.\",\n    \"CurrentPrice\": \"₹ 5,241\",\n    \"HighLow\": \"₹ 5,367 / 3,216\",\n    \"StockPE\": \"43.6\",\n    \"BookValue\": \"₹ 453\",\n    \"DividendYield\": \"0.87 %\",\n    \"ROCE\": \"32.6 %\",\n    \"ROE\": \"25.0 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Lumax Industries Limited\",\n    \"Symbol\": \"LUMAXIND\",\n    \"ListingDate\": \"06-Sep-95\",\n    \"ISIN\": \"INE162B01018\",\n    \"MarketCap\": \"₹ 2,337 Cr.\",\n    \"CurrentPrice\": \"₹ 2,500\",\n    \"HighLow\": \"₹ 2,799 / 1,630\",\n    \"StockPE\": \"22.8\",\n    \"BookValue\": \"₹ 651\",\n    \"DividendYield\": \"1.09 %\",\n    \"ROCE\": \"19.2 %\",\n    \"ROE\": \"19.7 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Lumax Auto Technologies Limited\",\n    \"Symbol\": \"LUMAXTECH\",\n    \"ListingDate\": \"16-Jan-07\",\n    \"ISIN\": \"INE872H01027\",\n    \"MarketCap\": \"₹ 2,614 Cr.\",\n    \"CurrentPrice\": \"₹ 383\",\n    \"HighLow\": \"₹ 470 / 210\",\n    \"StockPE\": \"26.9\",\n    \"BookValue\": \"₹ 103\",\n    \"DividendYield\": \"1.17 %\",\n    \"ROCE\": \"14.8 %\",\n    \"ROE\": \"15.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Lupin Limited\",\n    \"Symbol\": \"LUPIN\",\n    \"ListingDate\": \"10-Sep-01\",\n    \"ISIN\": \"INE326A01037\",\n    \"MarketCap\": \"₹ 60,358 Cr.\",\n    \"CurrentPrice\": \"₹ 1,326\",\n    \"HighLow\": \"₹ 1,346 / 628\",\n    \"StockPE\": \"45.3\",\n    \"BookValue\": \"₹ 291\",\n    \"DividendYield\": \"0.30 %\",\n    \"ROCE\": \"5.73 %\",\n    \"ROE\": \"3.33 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Lux Industries Limited\",\n    \"Symbol\": \"LUXIND\",\n    \"ListingDate\": \"30-Nov-15\",\n    \"ISIN\": \"INE150G01020\",\n    \"MarketCap\": \"₹ 3,905 Cr.\",\n    \"CurrentPrice\": \"₹ 1,299\",\n    \"HighLow\": \"₹ 1,721 / 1,111\",\n    \"StockPE\": \"40.1\",\n    \"BookValue\": \"₹ 496\",\n    \"DividendYield\": \"0.38 %\",\n    \"ROCE\": \"12.7 %\",\n    \"ROE\": \"9.97 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Laxmi Organic Industries Limited\",\n    \"Symbol\": \"LXCHEM\",\n    \"ListingDate\": \"25-Mar-21\",\n    \"ISIN\": \"INE576O01020\",\n    \"MarketCap\": \"₹ 8,056 Cr.\",\n    \"CurrentPrice\": \"₹ 293\",\n    \"HighLow\": \"₹ 321 / 220\",\n    \"StockPE\": \"80.2\",\n    \"BookValue\": \"₹ 54.9\",\n    \"DividendYield\": \"0.17 %\",\n    \"ROCE\": \"11.5 %\",\n    \"ROE\": \"9.18 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Lyka Labs Limited\",\n    \"Symbol\": \"LYKALABS\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE933A01014\",\n    \"MarketCap\": \"₹ 402 Cr.\",\n    \"CurrentPrice\": \"₹ 122\",\n    \"HighLow\": \"₹ 156 / 88.5\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 20.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.93 %\",\n    \"ROE\": \"-28.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Lypsa Gems & Jewellery Limited\",\n    \"Symbol\": \"LYPSAGEMS\",\n    \"ListingDate\": \"05-Nov-13\",\n    \"ISIN\": \"INE142K01011\",\n    \"MarketCap\": \"₹ 21.2 Cr.\",\n    \"CurrentPrice\": \"₹ 7.20\",\n    \"HighLow\": \"₹ 8.00 / 3.25\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 21.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-47.6 %\",\n    \"ROE\": \"-53.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Mahindra & Mahindra Limited\",\n    \"Symbol\": \"M&M\",\n    \"ListingDate\": \"03-Jan-96\",\n    \"ISIN\": \"INE101A01026\",\n    \"MarketCap\": \"₹ 2,16,766 Cr.\",\n    \"CurrentPrice\": \"₹ 1,743\",\n    \"HighLow\": \"₹ 1,750 / 1,123\",\n    \"StockPE\": \"20.1\",\n    \"BookValue\": \"₹ 486\",\n    \"DividendYield\": \"0.94 %\",\n    \"ROCE\": \"12.7 %\",\n    \"ROE\": \"18.1 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Mahindra & Mahindra Financial Services Limited\",\n    \"Symbol\": \"M&MFIN\",\n    \"ListingDate\": \"17-Mar-06\",\n    \"ISIN\": \"INE774D01024\",\n    \"MarketCap\": \"₹ 34,244 Cr.\",\n    \"CurrentPrice\": \"₹ 277\",\n    \"HighLow\": \"₹ 347 / 216\",\n    \"StockPE\": \"17.3\",\n    \"BookValue\": \"₹ 151\",\n    \"DividendYield\": \"2.16 %\",\n    \"ROCE\": \"8.87 %\",\n    \"ROE\": \"11.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Maan Aluminium Limited\",\n    \"Symbol\": \"MAANALU\",\n    \"ListingDate\": \"22-Oct-07\",\n    \"ISIN\": \"INE215I01027\",\n    \"MarketCap\": \"₹ 765 Cr.\",\n    \"CurrentPrice\": \"₹ 141\",\n    \"HighLow\": \"₹ 151 / 35.5\",\n    \"StockPE\": \"1,006\",\n    \"BookValue\": \"₹ 4.81\",\n    \"DividendYield\": \"0.54 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Macpower CNC Machines Limited\",\n    \"Symbol\": \"MACPOWER\",\n    \"ListingDate\": \"19-Aug-20\",\n    \"ISIN\": \"INE155Z01011\",\n    \"MarketCap\": \"₹ 610 Cr.\",\n    \"CurrentPrice\": \"₹ 610\",\n    \"HighLow\": \"₹ 677 / 207\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.25 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Madhav Marbles and Granites Limited\",\n    \"Symbol\": \"MADHAV\",\n    \"ListingDate\": \"20-Dec-07\",\n    \"ISIN\": \"INE925C01016\",\n    \"MarketCap\": \"₹ 55.1 Cr.\",\n    \"CurrentPrice\": \"₹ 61.6\",\n    \"HighLow\": \"₹ 65.2 / 35.2\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 140\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-0.02 %\",\n    \"ROE\": \"-3.01 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Madhucon Projects Limited\",\n    \"Symbol\": \"MADHUCON\",\n    \"ListingDate\": \"05-Oct-06\",\n    \"ISIN\": \"INE378D01032\",\n    \"MarketCap\": \"₹ 51.4 Cr.\",\n    \"CurrentPrice\": \"₹ 6.96\",\n    \"HighLow\": \"₹ 10.1 / 3.28\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -246\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-8.29 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Madras Fertilizers Limited\",\n    \"Symbol\": \"MADRASFERT\",\n    \"ListingDate\": \"25-Jul-97\",\n    \"ISIN\": \"INE414A01015\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Magadh Sugar & Energy Limited\",\n    \"Symbol\": \"MAGADSUGAR\",\n    \"ListingDate\": \"28-Jul-17\",\n    \"ISIN\": \"INE347W01011\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Magnum Ventures Limited\",\n    \"Symbol\": \"MAGNUM\",\n    \"ListingDate\": \"20-Sep-07\",\n    \"ISIN\": \"INE387I01016\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Bank of Maharashtra\",\n    \"Symbol\": \"MAHABANK\",\n    \"ListingDate\": \"12-Apr-04\",\n    \"ISIN\": \"INE457A01014\",\n    \"MarketCap\": \"₹ 31,831 Cr.\",\n    \"CurrentPrice\": \"₹ 45.0\",\n    \"HighLow\": \"₹ 51.9 / 22.8\",\n    \"StockPE\": \"9.33\",\n    \"BookValue\": \"₹ 23.5\",\n    \"DividendYield\": \"2.93 %\",\n    \"ROCE\": \"4.44 %\",\n    \"ROE\": \"17.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Maha Rashtra Apex Corporation Limited\",\n    \"Symbol\": \"MAHAPEXLTD\",\n    \"ListingDate\": \"21-Jan-98\",\n    \"ISIN\": \"INE843B01013\",\n    \"MarketCap\": \"₹ 217 Cr.\",\n    \"CurrentPrice\": \"₹ 153\",\n    \"HighLow\": \"₹ 184 / 84.5\",\n    \"StockPE\": \"119\",\n    \"BookValue\": \"₹ 82.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-32.7 %\",\n    \"ROE\": \"-32.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Mahamaya Steel Industries Limited\",\n    \"Symbol\": \"MAHASTEEL\",\n    \"ListingDate\": \"01-Jul-16\",\n    \"ISIN\": \"INE451L01014\",\n    \"MarketCap\": \"₹ 136 Cr.\",\n    \"CurrentPrice\": \"₹ 82.7\",\n    \"HighLow\": \"₹ 92.0 / 49.0\",\n    \"StockPE\": \"22.3\",\n    \"BookValue\": \"₹ 83.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.54 %\",\n    \"ROE\": \"3.73 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Mahindra EPC Irrigation Limited\",\n    \"Symbol\": \"MAHEPC\",\n    \"ListingDate\": \"14-Feb-20\",\n    \"ISIN\": \"INE215D01010\",\n    \"MarketCap\": \"₹ 371 Cr.\",\n    \"CurrentPrice\": \"₹ 133\",\n    \"HighLow\": \"₹ 139 / 83.8\",\n    \"StockPE\": \"426\",\n    \"BookValue\": \"₹ 58.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-7.24 %\",\n    \"ROE\": \"-7.22 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Maheshwari Logistics Limited\",\n    \"Symbol\": \"MAHESHWARI\",\n    \"ListingDate\": \"15-Apr-19\",\n    \"ISIN\": \"INE263W01010\",\n    \"MarketCap\": \"₹ 234 Cr.\",\n    \"CurrentPrice\": \"₹ 79.0\",\n    \"HighLow\": \"₹ 102 / 49.6\",\n    \"StockPE\": \"17.8\",\n    \"BookValue\": \"₹ 58.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"11.8 %\",\n    \"ROE\": \"8.33 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Mahindra Lifespace Developers Limited\",\n    \"Symbol\": \"MAHLIFE\",\n    \"ListingDate\": \"10-May-00\",\n    \"ISIN\": \"INE813A01018\",\n    \"MarketCap\": \"₹ 8,456 Cr.\",\n    \"CurrentPrice\": \"₹ 546\",\n    \"HighLow\": \"₹ 599 / 316\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 113\",\n    \"DividendYield\": \"0.43 %\",\n    \"ROCE\": \"2.09 %\",\n    \"ROE\": \"1.78 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Mahindra Logistics Limited\",\n    \"Symbol\": \"MAHLOG\",\n    \"ListingDate\": \"10-Nov-17\",\n    \"ISIN\": \"INE766P01016\",\n    \"MarketCap\": \"₹ 2,760 Cr.\",\n    \"CurrentPrice\": \"₹ 383\",\n    \"HighLow\": \"₹ 509 / 347\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 72.2\",\n    \"DividendYield\": \"0.65 %\",\n    \"ROCE\": \"7.36 %\",\n    \"ROE\": \"4.45 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Maharashtra Scooters Limited\",\n    \"Symbol\": \"MAHSCOOTER\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE288A01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Maharashtra Seamless Limited\",\n    \"Symbol\": \"MAHSEAMLES\",\n    \"ListingDate\": \"25-Aug-04\",\n    \"ISIN\": \"INE271B01025\",\n    \"MarketCap\": \"₹ 12,245 Cr.\",\n    \"CurrentPrice\": \"₹ 914\",\n    \"HighLow\": \"₹ 1,082 / 297\",\n    \"StockPE\": \"11.3\",\n    \"BookValue\": \"₹ 385\",\n    \"DividendYield\": \"0.54 %\",\n    \"ROCE\": \"19.8 %\",\n    \"ROE\": \"17.5 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Maithan Alloys Limited\",\n    \"Symbol\": \"MAITHANALL\",\n    \"ListingDate\": \"05-Jul-11\",\n    \"ISIN\": \"INE683C01011\",\n    \"MarketCap\": \"₹ 3,520 Cr.\",\n    \"CurrentPrice\": \"₹ 1,209\",\n    \"HighLow\": \"₹ 1,336 / 766\",\n    \"StockPE\": \"12.0\",\n    \"BookValue\": \"₹ 999\",\n    \"DividendYield\": \"0.50 %\",\n    \"ROCE\": \"25.6 %\",\n    \"ROE\": \"20.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Mallcom (India) Limited\",\n    \"Symbol\": \"MALLCOM\",\n    \"ListingDate\": \"02-Feb-22\",\n    \"ISIN\": \"INE389C01015\",\n    \"MarketCap\": \"₹ 681 Cr.\",\n    \"CurrentPrice\": \"₹ 1,092\",\n    \"HighLow\": \"₹ 1,250 / 658\",\n    \"StockPE\": \"17.9\",\n    \"BookValue\": \"₹ 352\",\n    \"DividendYield\": \"0.26 %\",\n    \"ROCE\": \"20.5 %\",\n    \"ROE\": \"19.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Malu Paper Mills Limited\",\n    \"Symbol\": \"MALUPAPER\",\n    \"ListingDate\": \"05-Apr-06\",\n    \"ISIN\": \"INE383H01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Manaksia Aluminium Company Limited\",\n    \"Symbol\": \"MANAKALUCO\",\n    \"ListingDate\": \"30-Mar-15\",\n    \"ISIN\": \"INE859Q01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Manaksia Coated Metals & Industries Limited\",\n    \"Symbol\": \"MANAKCOAT\",\n    \"ListingDate\": \"30-Mar-15\",\n    \"ISIN\": \"INE830Q01018\",\n    \"MarketCap\": \"₹ 185 Cr.\",\n    \"CurrentPrice\": \"₹ 28.3\",\n    \"HighLow\": \"₹ 35.5 / 13.9\",\n    \"StockPE\": \"30.3\",\n    \"BookValue\": \"₹ 18.5\",\n    \"DividendYield\": \"0.10 %\",\n    \"ROCE\": \"9.74 %\",\n    \"ROE\": \"4.99 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Manaksia Limited\",\n    \"Symbol\": \"MANAKSIA\",\n    \"ListingDate\": \"08-Jan-08\",\n    \"ISIN\": \"INE015D01022\",\n    \"MarketCap\": \"₹ 863 Cr.\",\n    \"CurrentPrice\": \"₹ 132\",\n    \"HighLow\": \"₹ 194 / 73.5\",\n    \"StockPE\": \"7.31\",\n    \"BookValue\": \"₹ 119\",\n    \"DividendYield\": \"4.57 %\",\n    \"ROCE\": \"16.0 %\",\n    \"ROE\": \"9.25 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Manaksia Steels Limited\",\n    \"Symbol\": \"MANAKSTEEL\",\n    \"ListingDate\": \"30-Mar-15\",\n    \"ISIN\": \"INE824Q01011\",\n    \"MarketCap\": \"₹ 314 Cr.\",\n    \"CurrentPrice\": \"₹ 47.8\",\n    \"HighLow\": \"₹ 54.7 / 29.0\",\n    \"StockPE\": \"11.0\",\n    \"BookValue\": \"₹ 47.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"6.37 %\",\n    \"ROE\": \"4.01 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Manali Petrochemicals Limited\",\n    \"Symbol\": \"MANALIPETC\",\n    \"ListingDate\": \"06-Dec-06\",\n    \"ISIN\": \"INE201A01024\",\n    \"MarketCap\": \"₹ 1,372 Cr.\",\n    \"CurrentPrice\": \"₹ 79.8\",\n    \"HighLow\": \"₹ 84.7 / 56.7\",\n    \"StockPE\": \"77.6\",\n    \"BookValue\": \"₹ 61.0\",\n    \"DividendYield\": \"0.94 %\",\n    \"ROCE\": \"7.54 %\",\n    \"ROE\": \"4.89 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Manappuram Finance Limited\",\n    \"Symbol\": \"MANAPPURAM\",\n    \"ListingDate\": \"01-Dec-14\",\n    \"ISIN\": \"INE522D01027\",\n    \"MarketCap\": \"₹ 14,593 Cr.\",\n    \"CurrentPrice\": \"₹ 172\",\n    \"HighLow\": \"₹ 178 / 101\",\n    \"StockPE\": \"7.83\",\n    \"BookValue\": \"₹ 125\",\n    \"DividendYield\": \"1.74 %\",\n    \"ROCE\": \"11.7 %\",\n    \"ROE\": \"16.6 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Mangalam Drugs And Organics Limited\",\n    \"Symbol\": \"MANGALAM\",\n    \"ListingDate\": \"23-May-05\",\n    \"ISIN\": \"INE584F01014\",\n    \"MarketCap\": \"₹ 155 Cr.\",\n    \"CurrentPrice\": \"₹ 97.7\",\n    \"HighLow\": \"₹ 142 / 93.8\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 83.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Mangalore Chemicals & Fertilizers Limited\",\n    \"Symbol\": \"MANGCHEFER\",\n    \"ListingDate\": \"22-Oct-07\",\n    \"ISIN\": \"INE558B01017\",\n    \"MarketCap\": \"₹ 1,461 Cr.\",\n    \"CurrentPrice\": \"₹ 123\",\n    \"HighLow\": \"₹ 127 / 72.4\",\n    \"StockPE\": \"25.1\",\n    \"BookValue\": \"₹ 36.0\",\n    \"DividendYield\": \"1.19 %\",\n    \"ROCE\": \"17.1 %\",\n    \"ROE\": \"14.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Mangalam Cement Limited\",\n    \"Symbol\": \"MANGLMCEM\",\n    \"ListingDate\": \"03-Jan-96\",\n    \"ISIN\": \"INE347A01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Man Industries (India) Limited\",\n    \"Symbol\": \"MANINDS\",\n    \"ListingDate\": \"24-Jun-05\",\n    \"ISIN\": \"INE993A01026\",\n    \"MarketCap\": \"₹ 1,686 Cr.\",\n    \"CurrentPrice\": \"₹ 280\",\n    \"HighLow\": \"₹ 291 / 77.1\",\n    \"StockPE\": \"14.8\",\n    \"BookValue\": \"₹ 195\",\n    \"DividendYield\": \"0.74 %\",\n    \"ROCE\": \"10.4 %\",\n    \"ROE\": \"6.10 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Man Infraconstruction Limited\",\n    \"Symbol\": \"MANINFRA\",\n    \"ListingDate\": \"11-Mar-10\",\n    \"ISIN\": \"INE949H01023\",\n    \"MarketCap\": \"₹ 8,017 Cr.\",\n    \"CurrentPrice\": \"₹ 216\",\n    \"HighLow\": \"₹ 216 / 66.2\",\n    \"StockPE\": \"25.5\",\n    \"BookValue\": \"₹ 32.8\",\n    \"DividendYield\": \"0.50 %\",\n    \"ROCE\": \"32.0 %\",\n    \"ROE\": \"26.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Mankind Pharma Limited\",\n    \"Symbol\": \"MANKIND\",\n    \"ListingDate\": \"09-May-23\",\n    \"ISIN\": \"INE634S01028\",\n    \"MarketCap\": \"₹ 79,357 Cr.\",\n    \"CurrentPrice\": \"₹ 1,981\",\n    \"HighLow\": \"₹ 2,041 / 1,241\",\n    \"StockPE\": \"50.9\",\n    \"BookValue\": \"₹ 210\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"22.4 %\",\n    \"ROE\": \"18.4 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Manomay Tex India Limited\",\n    \"Symbol\": \"MANOMAY\",\n    \"ListingDate\": \"18-Jan-23\",\n    \"ISIN\": \"INE784W01015\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Manorama Industries Limited\",\n    \"Symbol\": \"MANORAMA\",\n    \"ListingDate\": \"01-Jul-22\",\n    \"ISIN\": \"INE00VM01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Mangalam Organics Limited\",\n    \"Symbol\": \"MANORG\",\n    \"ListingDate\": \"02-Nov-21\",\n    \"ISIN\": \"INE370D01013\",\n    \"MarketCap\": \"₹ 327 Cr.\",\n    \"CurrentPrice\": \"₹ 382\",\n    \"HighLow\": \"₹ 542 / 307\",\n    \"StockPE\": \"164\",\n    \"BookValue\": \"₹ 323\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-4.06 %\",\n    \"ROE\": \"-9.39 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Manugraph India Limited\",\n    \"Symbol\": \"MANUGRAPH\",\n    \"ListingDate\": \"14-Sep-06\",\n    \"ISIN\": \"INE867A01022\",\n    \"MarketCap\": \"₹ 71.5 Cr.\",\n    \"CurrentPrice\": \"₹ 23.5\",\n    \"HighLow\": \"₹ 28.8 / 14.2\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 32.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-12.5 %\",\n    \"ROE\": \"-17.5 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Vedant Fashions Limited\",\n    \"Symbol\": \"MANYAVAR\",\n    \"ListingDate\": \"16-Feb-22\",\n    \"ISIN\": \"INE825V01034\",\n    \"MarketCap\": \"₹ 30,653 Cr.\",\n    \"CurrentPrice\": \"₹ 1,262\",\n    \"HighLow\": \"₹ 1,488 / 1,058\",\n    \"StockPE\": \"76.7\",\n    \"BookValue\": \"₹ 54.7\",\n    \"DividendYield\": \"0.71 %\",\n    \"ROCE\": \"39.2 %\",\n    \"ROE\": \"34.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"C.E. Info Systems Limited\",\n    \"Symbol\": \"MAPMYINDIA\",\n    \"ListingDate\": \"21-Dec-21\",\n    \"ISIN\": \"INE0BV301023\",\n    \"MarketCap\": \"₹ 10,561 Cr.\",\n    \"CurrentPrice\": \"₹ 1,954\",\n    \"HighLow\": \"₹ 2,344 / 983\",\n    \"StockPE\": \"86.1\",\n    \"BookValue\": \"₹ 113\",\n    \"DividendYield\": \"0.15 %\",\n    \"ROCE\": \"27.4 %\",\n    \"ROE\": \"21.7 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Maral Overseas Limited\",\n    \"Symbol\": \"MARALOVER\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE882A01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Marathon Nextgen Realty Limited\",\n    \"Symbol\": \"MARATHON\",\n    \"ListingDate\": \"29-Sep-16\",\n    \"ISIN\": \"INE182D01020\",\n    \"MarketCap\": \"₹ 1,973 Cr.\",\n    \"CurrentPrice\": \"₹ 420\",\n    \"HighLow\": \"₹ 490 / 191\",\n    \"StockPE\": \"11.5\",\n    \"BookValue\": \"₹ 184\",\n    \"DividendYield\": \"0.24 %\",\n    \"ROCE\": \"16.8 %\",\n    \"ROE\": \"17.7 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Marico Limited\",\n    \"Symbol\": \"MARICO\",\n    \"ListingDate\": \"01-May-96\",\n    \"ISIN\": \"INE196A01026\",\n    \"MarketCap\": \"₹ 71,207 Cr.\",\n    \"CurrentPrice\": \"₹ 550\",\n    \"HighLow\": \"₹ 595 / 463\",\n    \"StockPE\": \"50.6\",\n    \"BookValue\": \"₹ 32.6\",\n    \"DividendYield\": \"0.82 %\",\n    \"ROCE\": \"41.9 %\",\n    \"ROE\": \"35.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Marine Electricals (India) Limited\",\n    \"Symbol\": \"MARINE\",\n    \"ListingDate\": \"02-Dec-20\",\n    \"ISIN\": \"INE01JE01028\",\n    \"MarketCap\": \"₹ 1,316 Cr.\",\n    \"CurrentPrice\": \"₹ 102\",\n    \"HighLow\": \"₹ 103 / 31.0\",\n    \"StockPE\": \"68.4\",\n    \"BookValue\": \"₹ 17.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"13.9 %\",\n    \"ROE\": \"8.64 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Marshall Machines Limited\",\n    \"Symbol\": \"MARSHALL\",\n    \"ListingDate\": \"22-Nov-21\",\n    \"ISIN\": \"INE00SZ01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Maruti Suzuki India Limited\",\n    \"Symbol\": \"MARUTI\",\n    \"ListingDate\": \"09-Jul-03\",\n    \"ISIN\": \"INE585B01010\",\n    \"MarketCap\": \"₹ 3,25,415 Cr.\",\n    \"CurrentPrice\": \"₹ 10,350\",\n    \"HighLow\": \"₹ 10,933 / 8,127\",\n    \"StockPE\": \"28.7\",\n    \"BookValue\": \"₹ 2,178\",\n    \"DividendYield\": \"0.88 %\",\n    \"ROCE\": \"14.5 %\",\n    \"ROE\": \"11.5 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"MAS Financial Services Limited\",\n    \"Symbol\": \"MASFIN\",\n    \"ListingDate\": \"18-Oct-17\",\n    \"ISIN\": \"INE348L01012\",\n    \"MarketCap\": \"₹ 4,712 Cr.\",\n    \"CurrentPrice\": \"₹ 862\",\n    \"HighLow\": \"₹ 966 / 680\",\n    \"StockPE\": \"20.9\",\n    \"BookValue\": \"₹ 301\",\n    \"DividendYield\": \"0.43 %\",\n    \"ROCE\": \"11.4 %\",\n    \"ROE\": \"14.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Mask Investments Limited\",\n    \"Symbol\": \"MASKINVEST\",\n    \"ListingDate\": \"14-Oct-16\",\n    \"ISIN\": \"INE885F01015\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Mastek Limited\",\n    \"Symbol\": \"MASTEK\",\n    \"ListingDate\": \"10-May-95\",\n    \"ISIN\": \"INE759A01021\",\n    \"MarketCap\": \"₹ 8,548 Cr.\",\n    \"CurrentPrice\": \"₹ 2,787\",\n    \"HighLow\": \"₹ 2,860 / 1,475\",\n    \"StockPE\": \"31.4\",\n    \"BookValue\": \"₹ 585\",\n    \"DividendYield\": \"0.67 %\",\n    \"ROCE\": \"23.4 %\",\n    \"ROE\": \"19.9 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Matrimony.Com Limited\",\n    \"Symbol\": \"MATRIMONY\",\n    \"ListingDate\": \"21-Sep-17\",\n    \"ISIN\": \"INE866R01028\",\n    \"MarketCap\": \"₹ 1,252 Cr.\",\n    \"CurrentPrice\": \"₹ 562\",\n    \"HighLow\": \"₹ 723 / 498\",\n    \"StockPE\": \"25.2\",\n    \"BookValue\": \"₹ 121\",\n    \"DividendYield\": \"0.89 %\",\n    \"ROCE\": \"16.0 %\",\n    \"ROE\": \"15.0 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Mawana Sugars Limited\",\n    \"Symbol\": \"MAWANASUG\",\n    \"ListingDate\": \"20-Mar-09\",\n    \"ISIN\": \"INE636A01039\",\n    \"MarketCap\": \"₹ 384 Cr.\",\n    \"CurrentPrice\": \"₹ 98.2\",\n    \"HighLow\": \"₹ 121 / 77.6\",\n    \"StockPE\": \"12.5\",\n    \"BookValue\": \"₹ 88.3\",\n    \"DividendYield\": \"3.06 %\",\n    \"ROCE\": \"5.58 %\",\n    \"ROE\": \"3.56 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Max Estates Limited\",\n    \"Symbol\": \"MAXESTATES\",\n    \"ListingDate\": \"30-Oct-23\",\n    \"ISIN\": \"INE03EI01018\",\n    \"MarketCap\": \"₹ 4,717 Cr.\",\n    \"CurrentPrice\": \"₹ 321\",\n    \"HighLow\": \"₹ 340 / 243\",\n    \"StockPE\": \"268\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.88 %\",\n    \"ROE\": \"1.94 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Max Healthcare Institute Limited\",\n    \"Symbol\": \"MAXHEALTH\",\n    \"ListingDate\": \"21-Aug-20\",\n    \"ISIN\": \"INE027H01010\",\n    \"MarketCap\": \"₹ 66,541 Cr.\",\n    \"CurrentPrice\": \"₹ 685\",\n    \"HighLow\": \"₹ 732 / 412\",\n    \"StockPE\": \"67.2\",\n    \"BookValue\": \"₹ 80.8\",\n    \"DividendYield\": \"0.15 %\",\n    \"ROCE\": \"15.0 %\",\n    \"ROE\": \"16.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Max India Limited\",\n    \"Symbol\": \"MAXIND\",\n    \"ListingDate\": \"28-Aug-20\",\n    \"ISIN\": \"INE0CG601016\",\n    \"MarketCap\": \"₹ 706 Cr.\",\n    \"CurrentPrice\": \"₹ 164\",\n    \"HighLow\": \"₹ 195 / 76.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 123\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"0.53 %\",\n    \"ROE\": \"-1.81 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Mayur Uniquoters Ltd\",\n    \"Symbol\": \"MAYURUNIQ\",\n    \"ListingDate\": \"25-Sep-12\",\n    \"ISIN\": \"INE040D01038\",\n    \"MarketCap\": \"₹ 2,445 Cr.\",\n    \"CurrentPrice\": \"₹ 556\",\n    \"HighLow\": \"₹ 594 / 401\",\n    \"StockPE\": \"21.7\",\n    \"BookValue\": \"₹ 184\",\n    \"DividendYield\": \"0.36 %\",\n    \"ROCE\": \"17.4 %\",\n    \"ROE\": \"14.1 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Mazagon Dock Shipbuilders Limited\",\n    \"Symbol\": \"MAZDOCK\",\n    \"ListingDate\": \"12-Oct-20\",\n    \"ISIN\": \"INE249Z01012\",\n    \"MarketCap\": \"₹ 46,187 Cr.\",\n    \"CurrentPrice\": \"₹ 2,290\",\n    \"HighLow\": \"₹ 2,485 / 612\",\n    \"StockPE\": \"34.8\",\n    \"BookValue\": \"₹ 268\",\n    \"DividendYield\": \"0.69 %\",\n    \"ROCE\": \"32.7 %\",\n    \"ROE\": \"26.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Madhya Bharat Agro Products Limited\",\n    \"Symbol\": \"MBAPL\",\n    \"ListingDate\": \"22-Aug-19\",\n    \"ISIN\": \"INE900L01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Mcnally Bharat Engineering Company Limited\",\n    \"Symbol\": \"MBECL\",\n    \"ListingDate\": \"06-Oct-06\",\n    \"ISIN\": \"INE748A01016\",\n    \"MarketCap\": \"₹ 110 Cr.\",\n    \"CurrentPrice\": \"₹ 5.20\",\n    \"HighLow\": \"₹ 6.67 / 2.90\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -177\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-28.3 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"United Spirits Limited\",\n    \"Symbol\": \"MCDOWELL-N\",\n    \"ListingDate\": \"27-Sep-01\",\n    \"ISIN\": \"INE854D01024\",\n    \"MarketCap\": \"₹ 80,016 Cr.\",\n    \"CurrentPrice\": \"₹ 1,100\",\n    \"HighLow\": \"₹ 1,124 / 731\",\n    \"StockPE\": \"62.3\",\n    \"BookValue\": \"₹ 93.6\",\n    \"DividendYield\": \"0.37 %\",\n    \"ROCE\": \"20.0 %\",\n    \"ROE\": \"17.5 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Mcleod Russel India Limited\",\n    \"Symbol\": \"MCLEODRUSS\",\n    \"ListingDate\": \"29-Jul-05\",\n    \"ISIN\": \"INE942G01012\",\n    \"MarketCap\": \"₹ 288 Cr.\",\n    \"CurrentPrice\": \"₹ 27.6\",\n    \"HighLow\": \"₹ 31.8 / 16.3\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 54.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.34 %\",\n    \"ROE\": \"-11.1 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Multi Commodity Exchange of India Limited\",\n    \"Symbol\": \"MCX\",\n    \"ListingDate\": \"09-Mar-12\",\n    \"ISIN\": \"INE745G01035\",\n    \"MarketCap\": \"₹ 16,259 Cr.\",\n    \"CurrentPrice\": \"₹ 3,188\",\n    \"HighLow\": \"₹ 3,344 / 1,285\",\n    \"StockPE\": \"363\",\n    \"BookValue\": \"₹ 261\",\n    \"DividendYield\": \"0.59 %\",\n    \"ROCE\": \"13.2 %\",\n    \"ROE\": \"10.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Global Health Limited\",\n    \"Symbol\": \"MEDANTA\",\n    \"ListingDate\": \"16-Nov-22\",\n    \"ISIN\": \"INE474Q01031\",\n    \"MarketCap\": \"₹ 25,876 Cr.\",\n    \"CurrentPrice\": \"₹ 964\",\n    \"HighLow\": \"₹ 1,028 / 426\",\n    \"StockPE\": \"63.3\",\n    \"BookValue\": \"₹ 98.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"17.1 %\",\n    \"ROE\": \"16.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Medicamen Biotech Limited\",\n    \"Symbol\": \"MEDICAMEQ\",\n    \"ListingDate\": \"27-Oct-21\",\n    \"ISIN\": \"INE646B01010\",\n    \"MarketCap\": \"₹ 736 Cr.\",\n    \"CurrentPrice\": \"₹ 582\",\n    \"HighLow\": \"₹ 904 / 501\",\n    \"StockPE\": \"56.9\",\n    \"BookValue\": \"₹ 158\",\n    \"DividendYield\": \"0.17 %\",\n    \"ROCE\": \"10.4 %\",\n    \"ROE\": \"8.67 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Medico Remedies Limited\",\n    \"Symbol\": \"MEDICO\",\n    \"ListingDate\": \"26-May-22\",\n    \"ISIN\": \"INE630Y01024\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Medplus Health Services Limited\",\n    \"Symbol\": \"MEDPLUS\",\n    \"ListingDate\": \"23-Dec-21\",\n    \"ISIN\": \"INE804L01022\",\n    \"MarketCap\": \"₹ 8,831 Cr.\",\n    \"CurrentPrice\": \"₹ 740\",\n    \"HighLow\": \"₹ 978 / 598\",\n    \"StockPE\": \"152\",\n    \"BookValue\": \"₹ 128\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.47 %\",\n    \"ROE\": \"3.26 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Megasoft Limited\",\n    \"Symbol\": \"MEGASOFT\",\n    \"ListingDate\": \"19-Jul-07\",\n    \"ISIN\": \"INE933B01012\",\n    \"MarketCap\": \"₹ 497 Cr.\",\n    \"CurrentPrice\": \"₹ 67.3\",\n    \"HighLow\": \"₹ 67.3 / 19.9\",\n    \"StockPE\": \"104\",\n    \"BookValue\": \"₹ 26.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.72 %\",\n    \"ROE\": \"4.17 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Megastar Foods Limited\",\n    \"Symbol\": \"MEGASTAR\",\n    \"ListingDate\": \"16-Feb-22\",\n    \"ISIN\": \"INE00EM01016\",\n    \"MarketCap\": \"₹ 369 Cr.\",\n    \"CurrentPrice\": \"₹ 368\",\n    \"HighLow\": \"₹ 405 / 191\",\n    \"StockPE\": \"32.6\",\n    \"BookValue\": \"₹ 50.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"22.6 %\",\n    \"ROE\": \"24.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Melstar Information Technologies Limited\",\n    \"Symbol\": \"MELSTAR\",\n    \"ListingDate\": \"07-Mar-00\",\n    \"ISIN\": \"INE817A01019\",\n    \"MarketCap\": \"₹ 5.94 Cr.\",\n    \"CurrentPrice\": \"₹ 4.16\",\n    \"HighLow\": \"₹ 4.88 / 1.85\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 5.16\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.07 %\",\n    \"ROE\": \"-5.02 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Menon Bearings Limited\",\n    \"Symbol\": \"MENONBE\",\n    \"ListingDate\": \"09-Mar-15\",\n    \"ISIN\": \"INE071D01033\",\n    \"MarketCap\": \"₹ 761 Cr.\",\n    \"CurrentPrice\": \"₹ 136\",\n    \"HighLow\": \"₹ 166 / 90.5\",\n    \"StockPE\": \"25.3\",\n    \"BookValue\": \"₹ 23.9\",\n    \"DividendYield\": \"1.64 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"MEP Infrastructure Developers Limited\",\n    \"Symbol\": \"MEP\",\n    \"ListingDate\": \"06-May-15\",\n    \"ISIN\": \"INE776I01010\",\n    \"MarketCap\": \"₹ 281 Cr.\",\n    \"CurrentPrice\": \"₹ 15.2\",\n    \"HighLow\": \"₹ 20.7 / 9.50\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -21.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-20.9 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Metro Brands Limited\",\n    \"Symbol\": \"METROBRAND\",\n    \"ListingDate\": \"22-Dec-21\",\n    \"ISIN\": \"INE317I01021\",\n    \"MarketCap\": \"₹ 33,986 Cr.\",\n    \"CurrentPrice\": \"₹ 1,250\",\n    \"HighLow\": \"₹ 1,441 / 736\",\n    \"StockPE\": \"100.0\",\n    \"BookValue\": \"₹ 61.6\",\n    \"DividendYield\": \"0.31 %\",\n    \"ROCE\": \"24.3 %\",\n    \"ROE\": \"25.4 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Metropolis Healthcare Limited\",\n    \"Symbol\": \"METROPOLIS\",\n    \"ListingDate\": \"15-Apr-19\",\n    \"ISIN\": \"INE112L01020\",\n    \"MarketCap\": \"₹ 8,636 Cr.\",\n    \"CurrentPrice\": \"₹ 1,686\",\n    \"HighLow\": \"₹ 1,755 / 1,171\",\n    \"StockPE\": \"64.7\",\n    \"BookValue\": \"₹ 204\",\n    \"DividendYield\": \"0.48 %\",\n    \"ROCE\": \"17.4 %\",\n    \"ROE\": \"15.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Max Financial Services Limited\",\n    \"Symbol\": \"MFSL\",\n    \"ListingDate\": \"17-May-00\",\n    \"ISIN\": \"INE180A01020\",\n    \"MarketCap\": \"₹ 32,795 Cr.\",\n    \"CurrentPrice\": \"₹ 950\",\n    \"HighLow\": \"₹ 1,069 / 599\",\n    \"StockPE\": \"64.8\",\n    \"BookValue\": \"₹ 109\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"11.9 %\",\n    \"ROE\": \"10.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Mangalam Global Enterprise Limited\",\n    \"Symbol\": \"MGEL\",\n    \"ListingDate\": \"23-Dec-20\",\n    \"ISIN\": \"INE0APB01024\",\n    \"MarketCap\": \"₹ 241 Cr.\",\n    \"CurrentPrice\": \"₹ 16.7\",\n    \"HighLow\": \"₹ 37.0 / 11.5\",\n    \"StockPE\": \"14.0\",\n    \"BookValue\": \"₹ 8.63\",\n    \"DividendYield\": \"0.12 %\",\n    \"ROCE\": \"10.8 %\",\n    \"ROE\": \"13.8 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Mahanagar Gas Limited\",\n    \"Symbol\": \"MGL\",\n    \"ListingDate\": \"01-Jul-16\",\n    \"ISIN\": \"INE002S01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Mahalaxmi Rubtech Limited\",\n    \"Symbol\": \"MHLXMIRU\",\n    \"ListingDate\": \"27-Jan-22\",\n    \"ISIN\": \"INE112D01035\",\n    \"MarketCap\": \"₹ 329 Cr.\",\n    \"CurrentPrice\": \"₹ 310\",\n    \"HighLow\": \"₹ 322 / 143\",\n    \"StockPE\": \"36.8\",\n    \"BookValue\": \"₹ 86.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"10.2 %\",\n    \"ROE\": \"8.49 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Mahindra Holidays & Resorts India Limited\",\n    \"Symbol\": \"MHRIL\",\n    \"ListingDate\": \"16-Jul-09\",\n    \"ISIN\": \"INE998I01010\",\n    \"MarketCap\": \"₹ 7,606 Cr.\",\n    \"CurrentPrice\": \"₹ 377\",\n    \"HighLow\": \"₹ 470 / 245\",\n    \"StockPE\": \"115\",\n    \"BookValue\": \"₹ 20.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"10.2 %\",\n    \"ROE\": \"35.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Mishra Dhatu Nigam Limited\",\n    \"Symbol\": \"MIDHANI\",\n    \"ListingDate\": \"04-Apr-18\",\n    \"ISIN\": \"INE099Z01011\",\n    \"MarketCap\": \"₹ 7,844 Cr.\",\n    \"CurrentPrice\": \"₹ 419\",\n    \"HighLow\": \"₹ 477 / 172\",\n    \"StockPE\": \"57.0\",\n    \"BookValue\": \"₹ 70.4\",\n    \"DividendYield\": \"0.80 %\",\n    \"ROCE\": \"14.7 %\",\n    \"ROE\": \"12.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Minda Corporation Limited\",\n    \"Symbol\": \"MINDACORP\",\n    \"ListingDate\": \"16-Oct-14\",\n    \"ISIN\": \"INE842C01021\",\n    \"MarketCap\": \"₹ 9,197 Cr.\",\n    \"CurrentPrice\": \"₹ 385\",\n    \"HighLow\": \"₹ 404 / 185\",\n    \"StockPE\": \"33.0\",\n    \"BookValue\": \"₹ 78.5\",\n    \"DividendYield\": \"0.31 %\",\n    \"ROCE\": \"16.5 %\",\n    \"ROE\": \"19.6 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Mindteck (India) Limited\",\n    \"Symbol\": \"MINDTECK\",\n    \"ListingDate\": \"02-Aug-16\",\n    \"ISIN\": \"INE110B01017\",\n    \"MarketCap\": \"₹ 594 Cr.\",\n    \"CurrentPrice\": \"₹ 235\",\n    \"HighLow\": \"₹ 280 / 100\",\n    \"StockPE\": \"24.2\",\n    \"BookValue\": \"₹ 79.9\",\n    \"DividendYield\": \"0.42 %\",\n    \"ROCE\": \"14.2 %\",\n    \"ROE\": \"11.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"MIRC Electronics Limited\",\n    \"Symbol\": \"MIRCELECTR\",\n    \"ListingDate\": \"24-May-04\",\n    \"ISIN\": \"INE831A01028\",\n    \"MarketCap\": \"₹ 372 Cr.\",\n    \"CurrentPrice\": \"₹ 16.1\",\n    \"HighLow\": \"₹ 25.6 / 11.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 6.72\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-3.49 %\",\n    \"ROE\": \"-26.9 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Mirza International Limited\",\n    \"Symbol\": \"MIRZAINT\",\n    \"ListingDate\": \"28-Apr-99\",\n    \"ISIN\": \"INE771A01026\",\n    \"MarketCap\": \"₹ 642 Cr.\",\n    \"CurrentPrice\": \"₹ 46.5\",\n    \"HighLow\": \"₹ 74.0 / 28.6\",\n    \"StockPE\": \"41.9\",\n    \"BookValue\": \"₹ 39.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.57 %\",\n    \"ROE\": \"4.59 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"MITCON Consultancy & Engineering Services Limited\",\n    \"Symbol\": \"MITCON\",\n    \"ListingDate\": \"17-Mar-22\",\n    \"ISIN\": \"INE828O01033\",\n    \"MarketCap\": \"₹ 123 Cr.\",\n    \"CurrentPrice\": \"₹ 91.6\",\n    \"HighLow\": \"₹ 105 / 57.0\",\n    \"StockPE\": \"37.3\",\n    \"BookValue\": \"₹ 79.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.35 %\",\n    \"ROE\": \"4.37 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Mittal Life Style Limited\",\n    \"Symbol\": \"MITTAL\",\n    \"ListingDate\": \"29-Apr-20\",\n    \"ISIN\": \"INE997Y01027\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"M K Proteins Limited\",\n    \"Symbol\": \"MKPL\",\n    \"ListingDate\": \"13-Jun-23\",\n    \"ISIN\": \"INE964W01021\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"MM Forgings Limited\",\n    \"Symbol\": \"MMFL\",\n    \"ListingDate\": \"20-Dec-06\",\n    \"ISIN\": \"INE227C01017\",\n    \"MarketCap\": \"₹ 2,354 Cr.\",\n    \"CurrentPrice\": \"₹ 975\",\n    \"HighLow\": \"₹ 1,099 / 800\",\n    \"StockPE\": \"18.0\",\n    \"BookValue\": \"₹ 305\",\n    \"DividendYield\": \"0.61 %\",\n    \"ROCE\": \"15.4 %\",\n    \"ROE\": \"20.7 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"MMP Industries Limited\",\n    \"Symbol\": \"MMP\",\n    \"ListingDate\": \"09-Jan-20\",\n    \"ISIN\": \"INE511Y01018\",\n    \"MarketCap\": \"₹ 527 Cr.\",\n    \"CurrentPrice\": \"₹ 207\",\n    \"HighLow\": \"₹ 250 / 92.4\",\n    \"StockPE\": \"20.4\",\n    \"BookValue\": \"₹ 106\",\n    \"DividendYield\": \"0.47 %\",\n    \"ROCE\": \"10.5 %\",\n    \"ROE\": \"8.59 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"MMTC Limited\",\n    \"Symbol\": \"MMTC\",\n    \"ListingDate\": \"09-Apr-12\",\n    \"ISIN\": \"INE123F01029\",\n    \"MarketCap\": \"₹ 8,974 Cr.\",\n    \"CurrentPrice\": \"₹ 59.8\",\n    \"HighLow\": \"₹ 89.2 / 26.3\",\n    \"StockPE\": \"66.5\",\n    \"BookValue\": \"₹ 9.64\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"23.0 %\",\n    \"ROE\": \"49.2 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Modi Rubber Limited\",\n    \"Symbol\": \"MODIRUBBER\",\n    \"ListingDate\": \"07-Feb-96\",\n    \"ISIN\": \"INE832A01018\",\n    \"MarketCap\": \"₹ 206 Cr.\",\n    \"CurrentPrice\": \"₹ 82.2\",\n    \"HighLow\": \"₹ 102 / 51.1\",\n    \"StockPE\": \"11.2\",\n    \"BookValue\": \"₹ 258\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.89 %\",\n    \"ROE\": \"4.32 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"MODISON LIMITED\",\n    \"Symbol\": \"MODISONLTD\",\n    \"ListingDate\": \"03-May-21\",\n    \"ISIN\": \"INE737D01021\",\n    \"MarketCap\": \"₹ 445 Cr.\",\n    \"CurrentPrice\": \"₹ 137\",\n    \"HighLow\": \"₹ 142 / 50.0\",\n    \"StockPE\": \"21.8\",\n    \"BookValue\": \"₹ 60.1\",\n    \"DividendYield\": \"0.74 %\",\n    \"ROCE\": \"10.2 %\",\n    \"ROE\": \"7.10 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Mohit Industries Limited\",\n    \"Symbol\": \"MOHITIND\",\n    \"ListingDate\": \"14-Mar-13\",\n    \"ISIN\": \"INE954E01012\",\n    \"MarketCap\": \"₹ 24.6 Cr.\",\n    \"CurrentPrice\": \"₹ 17.4\",\n    \"HighLow\": \"₹ 23.0 / 11.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 155\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.49 %\",\n    \"ROE\": \"-0.92 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"MOIL Limited\",\n    \"Symbol\": \"MOIL\",\n    \"ListingDate\": \"15-Dec-10\",\n    \"ISIN\": \"INE490G01020\",\n    \"MarketCap\": \"₹ 6,258 Cr.\",\n    \"CurrentPrice\": \"₹ 308\",\n    \"HighLow\": \"₹ 330 / 141\",\n    \"StockPE\": \"60.2\",\n    \"BookValue\": \"₹ 114\",\n    \"DividendYield\": \"1.19 %\",\n    \"ROCE\": \"11.4 %\",\n    \"ROE\": \"8.31 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Moksh Ornaments Limited\",\n    \"Symbol\": \"MOKSH\",\n    \"ListingDate\": \"21-May-21\",\n    \"ISIN\": \"INE514Y01020\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Meghmani Organics Limited\",\n    \"Symbol\": \"MOL\",\n    \"ListingDate\": \"18-Aug-21\",\n    \"ISIN\": \"INE0CT101020\",\n    \"MarketCap\": \"₹ 1,957 Cr.\",\n    \"CurrentPrice\": \"₹ 76.9\",\n    \"HighLow\": \"₹ 113 / 71.7\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 62.3\",\n    \"DividendYield\": \"1.82 %\",\n    \"ROCE\": \"16.1 %\",\n    \"ROE\": \"14.2 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Mold-Tek Technologies Limited\",\n    \"Symbol\": \"MOLDTECH\",\n    \"ListingDate\": \"07-Jul-16\",\n    \"ISIN\": \"INE835B01035\",\n    \"MarketCap\": \"₹ 794 Cr.\",\n    \"CurrentPrice\": \"₹ 280\",\n    \"HighLow\": \"₹ 399 / 120\",\n    \"StockPE\": \"23.6\",\n    \"BookValue\": \"₹ 38.6\",\n    \"DividendYield\": \"1.23 %\",\n    \"ROCE\": \"41.7 %\",\n    \"ROE\": \"33.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Mold-Tek Packaging Limited\",\n    \"Symbol\": \"MOLDTKPAC\",\n    \"ListingDate\": \"23-Feb-15\",\n    \"ISIN\": \"INE893J01029\",\n    \"MarketCap\": \"₹ 3,002 Cr.\",\n    \"CurrentPrice\": \"₹ 905\",\n    \"HighLow\": \"₹ 1,123 / 844\",\n    \"StockPE\": \"47.2\",\n    \"BookValue\": \"₹ 140\",\n    \"DividendYield\": \"0.66 %\",\n    \"ROCE\": \"23.1 %\",\n    \"ROE\": \"18.7 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Monarch Networth Capital Limited\",\n    \"Symbol\": \"MONARCH\",\n    \"ListingDate\": \"06-Jan-22\",\n    \"ISIN\": \"INE903D01011\",\n    \"MarketCap\": \"₹ 1,477 Cr.\",\n    \"CurrentPrice\": \"₹ 436\",\n    \"HighLow\": \"₹ 533 / 186\",\n    \"StockPE\": \"20.3\",\n    \"BookValue\": \"₹ 82.4\",\n    \"DividendYield\": \"0.23 %\",\n    \"ROCE\": \"31.2 %\",\n    \"ROE\": \"22.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Monte Carlo Fashions Limited\",\n    \"Symbol\": \"MONTECARLO\",\n    \"ListingDate\": \"19-Dec-14\",\n    \"ISIN\": \"INE950M01013\",\n    \"MarketCap\": \"₹ 1,465 Cr.\",\n    \"CurrentPrice\": \"₹ 707\",\n    \"HighLow\": \"₹ 918 / 530\",\n    \"StockPE\": \"13.6\",\n    \"BookValue\": \"₹ 355\",\n    \"DividendYield\": \"2.84 %\",\n    \"ROCE\": \"20.4 %\",\n    \"ROE\": \"18.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Morarjee Textiles Limited\",\n    \"Symbol\": \"MORARJEE\",\n    \"ListingDate\": \"14-Sep-12\",\n    \"ISIN\": \"INE161G01027\",\n    \"MarketCap\": \"₹ 84.6 Cr.\",\n    \"CurrentPrice\": \"₹ 23.3\",\n    \"HighLow\": \"₹ 27.0 / 16.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -94.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-21.8 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 7.00\"\n  },\n  {\n    \"Name\": \"Morepen Laboratories Limited\",\n    \"Symbol\": \"MOREPENLAB\",\n    \"ListingDate\": \"24-Nov-99\",\n    \"ISIN\": \"INE083A01026\",\n    \"MarketCap\": \"₹ 2,492 Cr.\",\n    \"CurrentPrice\": \"₹ 48.8\",\n    \"HighLow\": \"₹ 53.0 / 24.0\",\n    \"StockPE\": \"46.9\",\n    \"BookValue\": \"₹ 15.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.57 %\",\n    \"ROE\": \"5.93 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Samvardhana Motherson International Limited\",\n    \"Symbol\": \"MOTHERSON\",\n    \"ListingDate\": \"14-Aug-96\",\n    \"ISIN\": \"INE775A01035\",\n    \"MarketCap\": \"₹ 68,543 Cr.\",\n    \"CurrentPrice\": \"₹ 101\",\n    \"HighLow\": \"₹ 104 / 61.8\",\n    \"StockPE\": \"45.2\",\n    \"BookValue\": \"₹ 33.3\",\n    \"DividendYield\": \"0.66 %\",\n    \"ROCE\": \"8.76 %\",\n    \"ROE\": \"7.16 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Motilal Oswal Financial Services Limited\",\n    \"Symbol\": \"MOTILALOFS\",\n    \"ListingDate\": \"11-Sep-07\",\n    \"ISIN\": \"INE338I01027\",\n    \"MarketCap\": \"₹ 18,339 Cr.\",\n    \"CurrentPrice\": \"₹ 1,235\",\n    \"HighLow\": \"₹ 1,476 / 551\",\n    \"StockPE\": \"12.7\",\n    \"BookValue\": \"₹ 504\",\n    \"DividendYield\": \"0.81 %\",\n    \"ROCE\": \"12.9 %\",\n    \"ROE\": \"15.6 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Motisons Jewellers Limited\",\n    \"Symbol\": \"MOTISONS\",\n    \"ListingDate\": \"26-Dec-23\",\n    \"ISIN\": \"INE0FRK01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"The Motor & General Finance Limited\",\n    \"Symbol\": \"MOTOGENFIN\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE861B01023\",\n    \"MarketCap\": \"₹ 140 Cr.\",\n    \"CurrentPrice\": \"₹ 36.2\",\n    \"HighLow\": \"₹ 51.8 / 24.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 19.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-3.07 %\",\n    \"ROE\": \"-3.76 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"MphasiS Limited\",\n    \"Symbol\": \"MPHASIS\",\n    \"ListingDate\": \"04-Jun-04\",\n    \"ISIN\": \"INE356A01018\",\n    \"MarketCap\": \"₹ 51,846 Cr.\",\n    \"CurrentPrice\": \"₹ 2,747\",\n    \"HighLow\": \"₹ 2,784 / 1,660\",\n    \"StockPE\": \"32.3\",\n    \"BookValue\": \"₹ 419\",\n    \"DividendYield\": \"1.83 %\",\n    \"ROCE\": \"28.9 %\",\n    \"ROE\": \"21.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"MPS Limited\",\n    \"Symbol\": \"MPSLTD\",\n    \"ListingDate\": \"21-Jan-02\",\n    \"ISIN\": \"INE943D01017\",\n    \"MarketCap\": \"₹ 2,914 Cr.\",\n    \"CurrentPrice\": \"₹ 1,703\",\n    \"HighLow\": \"₹ 1,885 / 809\",\n    \"StockPE\": \"23.9\",\n    \"BookValue\": \"₹ 264\",\n    \"DividendYield\": \"1.76 %\",\n    \"ROCE\": \"36.4 %\",\n    \"ROE\": \"27.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"MRF Limited\",\n    \"Symbol\": \"MRF\",\n    \"ListingDate\": \"18-Sep-96\",\n    \"ISIN\": \"INE883A01011\",\n    \"MarketCap\": \"₹ 54,081 Cr.\",\n    \"CurrentPrice\": \"₹ 1,27,550\",\n    \"HighLow\": \"₹ 1,27,845 / 81,380\",\n    \"StockPE\": \"32.0\",\n    \"BookValue\": \"₹ 37,328\",\n    \"DividendYield\": \"0.14 %\",\n    \"ROCE\": \"7.43 %\",\n    \"ROE\": \"4.87 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"MRO-TEK Realty Limited\",\n    \"Symbol\": \"MRO-TEK\",\n    \"ListingDate\": \"01-Nov-00\",\n    \"ISIN\": \"INE398B01018\",\n    \"MarketCap\": \"₹ 106 Cr.\",\n    \"CurrentPrice\": \"₹ 56.5\",\n    \"HighLow\": \"₹ 84.0 / 50.6\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 33.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.76 %\",\n    \"ROE\": \"-5.57 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Mangalore Refinery and Petrochemicals Limited\",\n    \"Symbol\": \"MRPL\",\n    \"ListingDate\": \"07-Jan-05\",\n    \"ISIN\": \"INE103A01014\",\n    \"MarketCap\": \"₹ 23,415 Cr.\",\n    \"CurrentPrice\": \"₹ 134\",\n    \"HighLow\": \"₹ 136 / 49.2\",\n    \"StockPE\": \"6.17\",\n    \"BookValue\": \"₹ 68.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"20.1 %\",\n    \"ROE\": \"31.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"MSP Steel & Power Limited\",\n    \"Symbol\": \"MSPL\",\n    \"ListingDate\": \"18-Jul-05\",\n    \"ISIN\": \"INE752G01015\",\n    \"MarketCap\": \"₹ 952 Cr.\",\n    \"CurrentPrice\": \"₹ 24.7\",\n    \"HighLow\": \"₹ 25.7 / 7.45\",\n    \"StockPE\": \"51.2\",\n    \"BookValue\": \"₹ 14.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.40 %\",\n    \"ROE\": \"-9.04 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Mstc Limited\",\n    \"Symbol\": \"MSTCLTD\",\n    \"ListingDate\": \"29-Mar-19\",\n    \"ISIN\": \"INE255X01014\",\n    \"MarketCap\": \"₹ 4,660 Cr.\",\n    \"CurrentPrice\": \"₹ 662\",\n    \"HighLow\": \"₹ 683 / 239\",\n    \"StockPE\": \"20.3\",\n    \"BookValue\": \"₹ 127\",\n    \"DividendYield\": \"2.24 %\",\n    \"ROCE\": \"37.9 %\",\n    \"ROE\": \"33.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Motherson Sumi Wiring India Limited\",\n    \"Symbol\": \"MSUMI\",\n    \"ListingDate\": \"28-Mar-22\",\n    \"ISIN\": \"INE0FS801015\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Mtar Technologies Limited\",\n    \"Symbol\": \"MTARTECH\",\n    \"ListingDate\": \"15-Mar-21\",\n    \"ISIN\": \"INE864I01014\",\n    \"MarketCap\": \"₹ 6,692 Cr.\",\n    \"CurrentPrice\": \"₹ 2,176\",\n    \"HighLow\": \"₹ 2,920 / 1,472\",\n    \"StockPE\": \"64.8\",\n    \"BookValue\": \"₹ 215\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"22.5 %\",\n    \"ROE\": \"18.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"MT Educare Limited\",\n    \"Symbol\": \"MTEDUCARE\",\n    \"ListingDate\": \"12-Apr-12\",\n    \"ISIN\": \"INE472M01018\",\n    \"MarketCap\": \"₹ 29.0 Cr.\",\n    \"CurrentPrice\": \"₹ 4.01\",\n    \"HighLow\": \"₹ 7.65 / 3.00\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 6.53\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-16.4 %\",\n    \"ROE\": \"-43.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Mahanagar Telephone Nigam Limited\",\n    \"Symbol\": \"MTNL\",\n    \"ListingDate\": \"17-Feb-99\",\n    \"ISIN\": \"INE153A01019\",\n    \"MarketCap\": \"₹ 2,036 Cr.\",\n    \"CurrentPrice\": \"₹ 32.3\",\n    \"HighLow\": \"₹ 35.8 / 16.6\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -353\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-7.04 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Mufin Green Finance Limited\",\n    \"Symbol\": \"MUFIN\",\n    \"ListingDate\": \"06-Nov-23\",\n    \"ISIN\": \"INE08KJ01020\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Credo Brands Marketing Limited\",\n    \"Symbol\": \"MUFTI\",\n    \"ListingDate\": \"27-Dec-23\",\n    \"ISIN\": \"INE220Q01020\",\n    \"MarketCap\": \"₹ 1,900 Cr.\",\n    \"CurrentPrice\": \"₹ 296\",\n    \"HighLow\": \"₹ 325 / 262\",\n    \"StockPE\": \"24.4\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"28.3 %\",\n    \"ROE\": \"30.1 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Mukand Limited\",\n    \"Symbol\": \"MUKANDLTD\",\n    \"ListingDate\": \"23-Feb-04\",\n    \"ISIN\": \"INE304A01026\",\n    \"MarketCap\": \"₹ 2,779 Cr.\",\n    \"CurrentPrice\": \"₹ 192\",\n    \"HighLow\": \"₹ 209 / 115\",\n    \"StockPE\": \"14.0\",\n    \"BookValue\": \"₹ 60.8\",\n    \"DividendYield\": \"1.01 %\",\n    \"ROCE\": \"-8.29 %\",\n    \"ROE\": \"-50.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Mukta Arts Limited\",\n    \"Symbol\": \"MUKTAARTS\",\n    \"ListingDate\": \"12-Sep-00\",\n    \"ISIN\": \"INE374B01019\",\n    \"MarketCap\": \"₹ 178 Cr.\",\n    \"CurrentPrice\": \"₹ 79.0\",\n    \"HighLow\": \"₹ 90.4 / 41.6\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -9.28\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-3.43 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Munjal Auto Industries Limited\",\n    \"Symbol\": \"MUNJALAU\",\n    \"ListingDate\": \"19-Jul-06\",\n    \"ISIN\": \"INE672B01032\",\n    \"MarketCap\": \"₹ 872 Cr.\",\n    \"CurrentPrice\": \"₹ 87.2\",\n    \"HighLow\": \"₹ 92.0 / 35.6\",\n    \"StockPE\": \"34.5\",\n    \"BookValue\": \"₹ 38.8\",\n    \"DividendYield\": \"2.30 %\",\n    \"ROCE\": \"8.71 %\",\n    \"ROE\": \"5.96 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Munjal Showa Limited\",\n    \"Symbol\": \"MUNJALSHOW\",\n    \"ListingDate\": \"12-May-03\",\n    \"ISIN\": \"INE577A01027\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Murudeshwar Ceramics Limited\",\n    \"Symbol\": \"MURUDCERA\",\n    \"ListingDate\": \"28-May-04\",\n    \"ISIN\": \"INE692B01014\",\n    \"MarketCap\": \"₹ 306 Cr.\",\n    \"CurrentPrice\": \"₹ 53.0\",\n    \"HighLow\": \"₹ 71.9 / 27.0\",\n    \"StockPE\": \"47.2\",\n    \"BookValue\": \"₹ 60.6\",\n    \"DividendYield\": \"0.96 %\",\n    \"ROCE\": \"4.65 %\",\n    \"ROE\": \"1.92 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Muthoot Capital Services Limited\",\n    \"Symbol\": \"MUTHOOTCAP\",\n    \"ListingDate\": \"24-Aug-15\",\n    \"ISIN\": \"INE296G01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Muthoot Finance Limited\",\n    \"Symbol\": \"MUTHOOTFIN\",\n    \"ListingDate\": \"06-May-11\",\n    \"ISIN\": \"INE414G01012\",\n    \"MarketCap\": \"₹ 59,221 Cr.\",\n    \"CurrentPrice\": \"₹ 1,475\",\n    \"HighLow\": \"₹ 1,508 / 911\",\n    \"StockPE\": \"14.9\",\n    \"BookValue\": \"₹ 570\",\n    \"DividendYield\": \"1.48 %\",\n    \"ROCE\": \"12.1 %\",\n    \"ROE\": \"17.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Muthoot Microfin Limited\",\n    \"Symbol\": \"MUTHOOTMF\",\n    \"ListingDate\": \"26-Dec-23\",\n    \"ISIN\": \"INE046W01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Manoj Vaibhav Gems N Jewellers Limited\",\n    \"Symbol\": \"MVGJL\",\n    \"ListingDate\": \"03-Oct-23\",\n    \"ISIN\": \"INE0KNT01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"NACL Industries Limited\",\n    \"Symbol\": \"NACLIND\",\n    \"ListingDate\": \"07-Apr-17\",\n    \"ISIN\": \"INE295D01020\",\n    \"MarketCap\": \"₹ 1,481 Cr.\",\n    \"CurrentPrice\": \"₹ 74.4\",\n    \"HighLow\": \"₹ 111 / 71.6\",\n    \"StockPE\": \"92.1\",\n    \"BookValue\": \"₹ 26.9\",\n    \"DividendYield\": \"0.94 %\",\n    \"ROCE\": \"15.2 %\",\n    \"ROE\": \"18.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Nagarjuna Fertilizers and Chemicals Limited\",\n    \"Symbol\": \"NAGAFERT\",\n    \"ListingDate\": \"15-Jun-16\",\n    \"ISIN\": \"INE454M01024\",\n    \"MarketCap\": \"₹ 795 Cr.\",\n    \"CurrentPrice\": \"₹ 13.3\",\n    \"HighLow\": \"₹ 13.7 / 7.81\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -50.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-56.6 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Nagreeka Capital & Infrastructure Limited\",\n    \"Symbol\": \"NAGREEKCAP\",\n    \"ListingDate\": \"18-Sep-07\",\n    \"ISIN\": \"INE245I01016\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Nagreeka Exports Limited\",\n    \"Symbol\": \"NAGREEKEXP\",\n    \"ListingDate\": \"18-Jun-07\",\n    \"ISIN\": \"INE123B01028\",\n    \"MarketCap\": \"₹ 80.7 Cr.\",\n    \"CurrentPrice\": \"₹ 64.6\",\n    \"HighLow\": \"₹ 80.0 / 28.3\",\n    \"StockPE\": \"11.4\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Nahar Capital and Financial Services Limited\",\n    \"Symbol\": \"NAHARCAP\",\n    \"ListingDate\": \"11-Mar-08\",\n    \"ISIN\": \"INE049I01012\",\n    \"MarketCap\": \"₹ 499 Cr.\",\n    \"CurrentPrice\": \"₹ 298\",\n    \"HighLow\": \"₹ 359 / 240\",\n    \"StockPE\": \"21.1\",\n    \"BookValue\": \"₹ 925\",\n    \"DividendYield\": \"0.50 %\",\n    \"ROCE\": \"6.05 %\",\n    \"ROE\": \"6.91 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Nahar Industrial Enterprises Limited\",\n    \"Symbol\": \"NAHARINDUS\",\n    \"ListingDate\": \"15-Dec-05\",\n    \"ISIN\": \"INE289A01011\",\n    \"MarketCap\": \"₹ 552 Cr.\",\n    \"CurrentPrice\": \"₹ 128\",\n    \"HighLow\": \"₹ 156 / 84.0\",\n    \"StockPE\": \"43.7\",\n    \"BookValue\": \"₹ 219\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.99 %\",\n    \"ROE\": \"6.39 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Nahar Poly Films Limited\",\n    \"Symbol\": \"NAHARPOLY\",\n    \"ListingDate\": \"23-Mar-07\",\n    \"ISIN\": \"INE308A01027\",\n    \"MarketCap\": \"₹ 553 Cr.\",\n    \"CurrentPrice\": \"₹ 225\",\n    \"HighLow\": \"₹ 293 / 198\",\n    \"StockPE\": \"35.9\",\n    \"BookValue\": \"₹ 326\",\n    \"DividendYield\": \"0.66 %\",\n    \"ROCE\": \"5.33 %\",\n    \"ROE\": \"5.08 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Nahar Spinning Mills Limited\",\n    \"Symbol\": \"NAHARSPING\",\n    \"ListingDate\": \"23-Mar-07\",\n    \"ISIN\": \"INE290A01027\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Nippon Life India Asset Management Limited\",\n    \"Symbol\": \"NAM-INDIA\",\n    \"ListingDate\": \"06-Nov-17\",\n    \"ISIN\": \"INE298J01013\",\n    \"MarketCap\": \"₹ 27,705 Cr.\",\n    \"CurrentPrice\": \"₹ 442\",\n    \"HighLow\": \"₹ 489 / 197\",\n    \"StockPE\": \"31.4\",\n    \"BookValue\": \"₹ 57.1\",\n    \"DividendYield\": \"2.63 %\",\n    \"ROCE\": \"26.6 %\",\n    \"ROE\": \"20.7 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Narmada Agrobase Limited\",\n    \"Symbol\": \"NARMADA\",\n    \"ListingDate\": \"27-Oct-22\",\n    \"ISIN\": \"INE117Z01011\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Natco Pharma Limited\",\n    \"Symbol\": \"NATCOPHARM\",\n    \"ListingDate\": \"27-Dec-95\",\n    \"ISIN\": \"INE987B01026\",\n    \"MarketCap\": \"₹ 14,470 Cr.\",\n    \"CurrentPrice\": \"₹ 808\",\n    \"HighLow\": \"₹ 928 / 502\",\n    \"StockPE\": \"12.9\",\n    \"BookValue\": \"₹ 296\",\n    \"DividendYield\": \"1.02 %\",\n    \"ROCE\": \"17.7 %\",\n    \"ROE\": \"15.3 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Nath Bio-Genes (India) Limited\",\n    \"Symbol\": \"NATHBIOGEN\",\n    \"ListingDate\": \"28-Jan-14\",\n    \"ISIN\": \"INE448G01010\",\n    \"MarketCap\": \"₹ 395 Cr.\",\n    \"CurrentPrice\": \"₹ 208\",\n    \"HighLow\": \"₹ 245 / 128\",\n    \"StockPE\": \"10.3\",\n    \"BookValue\": \"₹ 318\",\n    \"DividendYield\": \"0.97 %\",\n    \"ROCE\": \"7.06 %\",\n    \"ROE\": \"6.28 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"National Aluminium Company Limited\",\n    \"Symbol\": \"NATIONALUM\",\n    \"ListingDate\": \"28-Apr-99\",\n    \"ISIN\": \"INE139A01034\",\n    \"MarketCap\": \"₹ 23,305 Cr.\",\n    \"CurrentPrice\": \"₹ 127\",\n    \"HighLow\": \"₹ 133 / 75.6\",\n    \"StockPE\": \"18.3\",\n    \"BookValue\": \"₹ 73.3\",\n    \"DividendYield\": \"3.62 %\",\n    \"ROCE\": \"14.4 %\",\n    \"ROE\": \"11.2 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Info Edge (India) Limited\",\n    \"Symbol\": \"NAUKRI\",\n    \"ListingDate\": \"21-Nov-06\",\n    \"ISIN\": \"INE663F01024\",\n    \"MarketCap\": \"₹ 66,646 Cr.\",\n    \"CurrentPrice\": \"₹ 5,151\",\n    \"HighLow\": \"₹ 5,319 / 3,308\",\n    \"StockPE\": \"135\",\n    \"BookValue\": \"₹ 1,526\",\n    \"DividendYield\": \"0.37 %\",\n    \"ROCE\": \"2.76 %\",\n    \"ROE\": \"-1.64 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"NAVA LIMITED\",\n    \"Symbol\": \"NAVA\",\n    \"ListingDate\": \"03-Apr-96\",\n    \"ISIN\": \"INE725A01022\",\n    \"MarketCap\": \"₹ 6,365 Cr.\",\n    \"CurrentPrice\": \"₹ 439\",\n    \"HighLow\": \"₹ 486 / 213\",\n    \"StockPE\": \"7.05\",\n    \"BookValue\": \"₹ 440\",\n    \"DividendYield\": \"1.38 %\",\n    \"ROCE\": \"16.8 %\",\n    \"ROE\": \"16.6 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Navin Fluorine International Limited\",\n    \"Symbol\": \"NAVINFLUOR\",\n    \"ListingDate\": \"01-Jun-07\",\n    \"ISIN\": \"INE048G01026\",\n    \"MarketCap\": \"₹ 19,204 Cr.\",\n    \"CurrentPrice\": \"₹ 3,874\",\n    \"HighLow\": \"₹ 4,950 / 3,357\",\n    \"StockPE\": \"52.6\",\n    \"BookValue\": \"₹ 457\",\n    \"DividendYield\": \"0.18 %\",\n    \"ROCE\": \"20.4 %\",\n    \"ROE\": \"18.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Navkar Corporation Limited\",\n    \"Symbol\": \"NAVKARCORP\",\n    \"ListingDate\": \"09-Sep-15\",\n    \"ISIN\": \"INE278M01019\",\n    \"MarketCap\": \"₹ 1,552 Cr.\",\n    \"CurrentPrice\": \"₹ 103\",\n    \"HighLow\": \"₹ 108 / 44.4\",\n    \"StockPE\": \"17.2\",\n    \"BookValue\": \"₹ 99.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"6.93 %\",\n    \"ROE\": \"6.18 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Navneet Education Limited\",\n    \"Symbol\": \"NAVNETEDUL\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE060A01024\",\n    \"MarketCap\": \"₹ 3,416 Cr.\",\n    \"CurrentPrice\": \"₹ 151\",\n    \"HighLow\": \"₹ 176 / 88.1\",\n    \"StockPE\": \"28.0\",\n    \"BookValue\": \"₹ 56.3\",\n    \"DividendYield\": \"1.72 %\",\n    \"ROCE\": \"19.4 %\",\n    \"ROE\": \"15.0 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Nazara Technologies Limited\",\n    \"Symbol\": \"NAZARA\",\n    \"ListingDate\": \"30-Mar-21\",\n    \"ISIN\": \"INE418L01021\",\n    \"MarketCap\": \"₹ 5,693 Cr.\",\n    \"CurrentPrice\": \"₹ 860\",\n    \"HighLow\": \"₹ 929 / 482\",\n    \"StockPE\": \"100\",\n    \"BookValue\": \"₹ 178\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.17 %\",\n    \"ROE\": \"3.56 %\",\n    \"FaceValue\": \"₹ 4.00\"\n  },\n  {\n    \"Name\": \"NBCC (India) Limited\",\n    \"Symbol\": \"NBCC\",\n    \"ListingDate\": \"12-Apr-12\",\n    \"ISIN\": \"INE095N01031\",\n    \"MarketCap\": \"₹ 14,719 Cr.\",\n    \"CurrentPrice\": \"₹ 81.8\",\n    \"HighLow\": \"₹ 85.9 / 31.0\",\n    \"StockPE\": \"35.6\",\n    \"BookValue\": \"₹ 11.1\",\n    \"DividendYield\": \"0.66 %\",\n    \"ROCE\": \"27.0 %\",\n    \"ROE\": \"20.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"N. B. I. Industrial Finance Company Limited\",\n    \"Symbol\": \"NBIFIN\",\n    \"ListingDate\": \"23-Nov-16\",\n    \"ISIN\": \"INE365I01020\",\n    \"MarketCap\": \"₹ 456 Cr.\",\n    \"CurrentPrice\": \"₹ 1,857\",\n    \"HighLow\": \"₹ 1,999 / 1,400\",\n    \"StockPE\": \"112\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.02 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"NCC Limited\",\n    \"Symbol\": \"NCC\",\n    \"ListingDate\": \"14-Oct-03\",\n    \"ISIN\": \"INE868B01028\",\n    \"MarketCap\": \"₹ 10,460 Cr.\",\n    \"CurrentPrice\": \"₹ 167\",\n    \"HighLow\": \"₹ 183 / 82.8\",\n    \"StockPE\": \"17.2\",\n    \"BookValue\": \"₹ 100\",\n    \"DividendYield\": \"1.32 %\",\n    \"ROCE\": \"18.7 %\",\n    \"ROE\": \"9.99 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"NCL Industries Limited\",\n    \"Symbol\": \"NCLIND\",\n    \"ListingDate\": \"03-Apr-07\",\n    \"ISIN\": \"INE732C01016\",\n    \"MarketCap\": \"₹ 1,018 Cr.\",\n    \"CurrentPrice\": \"₹ 225\",\n    \"HighLow\": \"₹ 247 / 155\",\n    \"StockPE\": \"13.7\",\n    \"BookValue\": \"₹ 179\",\n    \"DividendYield\": \"1.35 %\",\n    \"ROCE\": \"11.0 %\",\n    \"ROE\": \"5.83 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Naga Dhunseri Group Limited\",\n    \"Symbol\": \"NDGL\",\n    \"ListingDate\": \"29-Aug-16\",\n    \"ISIN\": \"INE756C01015\",\n    \"MarketCap\": \"₹ 246 Cr.\",\n    \"CurrentPrice\": \"₹ 2,461\",\n    \"HighLow\": \"₹ 2,835 / 1,203\",\n    \"StockPE\": \"5.72\",\n    \"BookValue\": \"₹ 7,987\",\n    \"DividendYield\": \"0.10 %\",\n    \"ROCE\": \"10.6 %\",\n    \"ROE\": \"10.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Nandan Denim Limited\",\n    \"Symbol\": \"NDL\",\n    \"ListingDate\": \"23-Mar-12\",\n    \"ISIN\": \"INE875G01030\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"NDL Ventures Limited\",\n    \"Symbol\": \"NDLVENTURE\",\n    \"ListingDate\": \"24-Apr-07\",\n    \"ISIN\": \"INE353A01023\",\n    \"MarketCap\": \"₹ 490 Cr.\",\n    \"CurrentPrice\": \"₹ 145\",\n    \"HighLow\": \"₹ 164 / 105\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 73.5\",\n    \"DividendYield\": \"1.37 %\",\n    \"ROCE\": \"1.84 %\",\n    \"ROE\": \"-3.39 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ndr Auto Components Limited\",\n    \"Symbol\": \"NDRAUTO\",\n    \"ListingDate\": \"30-Jul-20\",\n    \"ISIN\": \"INE07OG01012\",\n    \"MarketCap\": \"₹ 1,017 Cr.\",\n    \"CurrentPrice\": \"₹ 855\",\n    \"HighLow\": \"₹ 875 / 259\",\n    \"StockPE\": \"29.7\",\n    \"BookValue\": \"₹ 196\",\n    \"DividendYield\": \"0.29 %\",\n    \"ROCE\": \"16.6 %\",\n    \"ROE\": \"14.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"New Delhi Television Limited\",\n    \"Symbol\": \"NDTV\",\n    \"ListingDate\": \"19-May-04\",\n    \"ISIN\": \"INE155G01029\",\n    \"MarketCap\": \"₹ 1,714 Cr.\",\n    \"CurrentPrice\": \"₹ 266\",\n    \"HighLow\": \"₹ 359 / 167\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 42.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"18.6 %\",\n    \"ROE\": \"15.7 %\",\n    \"FaceValue\": \"₹ 4.00\"\n  },\n  {\n    \"Name\": \"North Eastern Carrying Corporation Limited\",\n    \"Symbol\": \"NECCLTD\",\n    \"ListingDate\": \"02-Mar-16\",\n    \"ISIN\": \"INE553C01016\",\n    \"MarketCap\": \"₹ 273 Cr.\",\n    \"CurrentPrice\": \"₹ 28.8\",\n    \"HighLow\": \"₹ 37.4 / 13.1\",\n    \"StockPE\": \"61.5\",\n    \"BookValue\": \"₹ 8.52\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"11.2 %\",\n    \"ROE\": \"7.32 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Nectar Lifesciences Limited\",\n    \"Symbol\": \"NECLIFE\",\n    \"ListingDate\": \"18-Jul-05\",\n    \"ISIN\": \"INE023H01027\",\n    \"MarketCap\": \"₹ 727 Cr.\",\n    \"CurrentPrice\": \"₹ 32.4\",\n    \"HighLow\": \"₹ 35.4 / 14.4\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 47.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-0.18 %\",\n    \"ROE\": \"-6.01 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Nelcast Limited\",\n    \"Symbol\": \"NELCAST\",\n    \"ListingDate\": \"27-Jun-07\",\n    \"ISIN\": \"INE189I01024\",\n    \"MarketCap\": \"₹ 1,406 Cr.\",\n    \"CurrentPrice\": \"₹ 162\",\n    \"HighLow\": \"₹ 194 / 85.5\",\n    \"StockPE\": \"41.8\",\n    \"BookValue\": \"₹ 56.1\",\n    \"DividendYield\": \"0.24 %\",\n    \"ROCE\": \"9.59 %\",\n    \"ROE\": \"6.60 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"NELCO Limited\",\n    \"Symbol\": \"NELCO\",\n    \"ListingDate\": \"28-May-03\",\n    \"ISIN\": \"INE045B01015\",\n    \"MarketCap\": \"₹ 1,809 Cr.\",\n    \"CurrentPrice\": \"₹ 793\",\n    \"HighLow\": \"₹ 894 / 486\",\n    \"StockPE\": \"81.9\",\n    \"BookValue\": \"₹ 48.6\",\n    \"DividendYield\": \"0.25 %\",\n    \"ROCE\": \"21.6 %\",\n    \"ROE\": \"20.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Nesco Limited\",\n    \"Symbol\": \"NESCO\",\n    \"ListingDate\": \"08-Apr-08\",\n    \"ISIN\": \"INE317F01035\",\n    \"MarketCap\": \"₹ 6,268 Cr.\",\n    \"CurrentPrice\": \"₹ 890\",\n    \"HighLow\": \"₹ 924 / 505\",\n    \"StockPE\": \"19.7\",\n    \"BookValue\": \"₹ 298\",\n    \"DividendYield\": \"0.50 %\",\n    \"ROCE\": \"21.8 %\",\n    \"ROE\": \"16.7 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Nestle India Limited\",\n    \"Symbol\": \"NESTLEIND\",\n    \"ListingDate\": \"01-Aug-23\",\n    \"ISIN\": \"INE239A01016\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Netweb Technologies India Limited\",\n    \"Symbol\": \"NETWEB\",\n    \"ListingDate\": \"27-Jul-23\",\n    \"ISIN\": \"INE0NT901020\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Network18 Media & Investments Limited\",\n    \"Symbol\": \"NETWORK18\",\n    \"ListingDate\": \"02-Feb-07\",\n    \"ISIN\": \"INE870H01013\",\n    \"MarketCap\": \"₹ 9,108 Cr.\",\n    \"CurrentPrice\": \"₹ 87.0\",\n    \"HighLow\": \"₹ 100 / 45.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 125\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.20 %\",\n    \"ROE\": \"-2.21 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Neuland Laboratories Limited\",\n    \"Symbol\": \"NEULANDLAB\",\n    \"ListingDate\": \"13-Oct-08\",\n    \"ISIN\": \"INE794A01010\",\n    \"MarketCap\": \"₹ 6,815 Cr.\",\n    \"CurrentPrice\": \"₹ 5,312\",\n    \"HighLow\": \"₹ 5,605 / 1,318\",\n    \"StockPE\": \"25.6\",\n    \"BookValue\": \"₹ 883\",\n    \"DividendYield\": \"0.19 %\",\n    \"ROCE\": \"20.8 %\",\n    \"ROE\": \"17.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Newgen Software Technologies Limited\",\n    \"Symbol\": \"NEWGEN\",\n    \"ListingDate\": \"29-Jan-18\",\n    \"ISIN\": \"INE619B01017\",\n    \"MarketCap\": \"₹ 10,686 Cr.\",\n    \"CurrentPrice\": \"₹ 1,525\",\n    \"HighLow\": \"₹ 1,558 / 354\",\n    \"StockPE\": \"52.2\",\n    \"BookValue\": \"₹ 148\",\n    \"DividendYield\": \"0.16 %\",\n    \"ROCE\": \"23.7 %\",\n    \"ROE\": \"19.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Next Mediaworks Limited\",\n    \"Symbol\": \"NEXTMEDIA\",\n    \"ListingDate\": \"04-Apr-01\",\n    \"ISIN\": \"INE747B01016\",\n    \"MarketCap\": \"₹ 41.7 Cr.\",\n    \"CurrentPrice\": \"₹ 6.23\",\n    \"HighLow\": \"₹ 8.86 / 3.80\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -11.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-8.90 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"National Fertilizers Limited\",\n    \"Symbol\": \"NFL\",\n    \"ListingDate\": \"28-Dec-06\",\n    \"ISIN\": \"INE870D01012\",\n    \"MarketCap\": \"₹ 4,502 Cr.\",\n    \"CurrentPrice\": \"₹ 91.8\",\n    \"HighLow\": \"₹ 94.2 / 55.0\",\n    \"StockPE\": \"41.1\",\n    \"BookValue\": \"₹ 44.8\",\n    \"DividendYield\": \"2.96 %\",\n    \"ROCE\": \"15.6 %\",\n    \"ROE\": \"19.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Nakoda Group of Industries Limited\",\n    \"Symbol\": \"NGIL\",\n    \"ListingDate\": \"20-Aug-21\",\n    \"ISIN\": \"INE236Y01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"NGL Fine-Chem Limited\",\n    \"Symbol\": \"NGLFINE\",\n    \"ListingDate\": \"08-Jul-22\",\n    \"ISIN\": \"INE887E01022\",\n    \"MarketCap\": \"₹ 1,333 Cr.\",\n    \"CurrentPrice\": \"₹ 2,157\",\n    \"HighLow\": \"₹ 2,440 / 1,161\",\n    \"StockPE\": \"38.3\",\n    \"BookValue\": \"₹ 391\",\n    \"DividendYield\": \"0.08 %\",\n    \"ROCE\": \"12.0 %\",\n    \"ROE\": \"9.63 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Narayana Hrudayalaya Ltd.\",\n    \"Symbol\": \"NH\",\n    \"ListingDate\": \"06-Jan-16\",\n    \"ISIN\": \"INE410P01011\",\n    \"MarketCap\": \"₹ 24,497 Cr.\",\n    \"CurrentPrice\": \"₹ 1,199\",\n    \"HighLow\": \"₹ 1,314 / 705\",\n    \"StockPE\": \"33.2\",\n    \"BookValue\": \"₹ 122\",\n    \"DividendYield\": \"0.21 %\",\n    \"ROCE\": \"31.6 %\",\n    \"ROE\": \"33.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"NHPC Limited\",\n    \"Symbol\": \"NHPC\",\n    \"ListingDate\": \"01-Sep-09\",\n    \"ISIN\": \"INE848E01016\",\n    \"MarketCap\": \"₹ 64,911 Cr.\",\n    \"CurrentPrice\": \"₹ 64.6\",\n    \"HighLow\": \"₹ 67.0 / 37.8\",\n    \"StockPE\": \"16.6\",\n    \"BookValue\": \"₹ 38.9\",\n    \"DividendYield\": \"2.86 %\",\n    \"ROCE\": \"8.49 %\",\n    \"ROE\": \"10.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"The New India Assurance Company Limited\",\n    \"Symbol\": \"NIACL\",\n    \"ListingDate\": \"13-Nov-17\",\n    \"ISIN\": \"INE470Y01017\",\n    \"MarketCap\": \"₹ 34,995 Cr.\",\n    \"CurrentPrice\": \"₹ 212\",\n    \"HighLow\": \"₹ 262 / 94.2\",\n    \"StockPE\": \"37.1\",\n    \"BookValue\": \"₹ 165\",\n    \"DividendYield\": \"0.90 %\",\n    \"ROCE\": \"4.87 %\",\n    \"ROE\": \"4.07 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"NRB Industrial Bearings Limited\",\n    \"Symbol\": \"NIBL\",\n    \"ListingDate\": \"09-Apr-13\",\n    \"ISIN\": \"INE047O01014\",\n    \"MarketCap\": \"₹ 103 Cr.\",\n    \"CurrentPrice\": \"₹ 42.5\",\n    \"HighLow\": \"₹ 51.0 / 15.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -10.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-3.38 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"NIIT Limited\",\n    \"Symbol\": \"NIITLTD\",\n    \"ListingDate\": \"16-Aug-04\",\n    \"ISIN\": \"INE161A01038\",\n    \"MarketCap\": \"₹ 1,549 Cr.\",\n    \"CurrentPrice\": \"₹ 115\",\n    \"HighLow\": \"₹ 155 / 73.2\",\n    \"StockPE\": \"84.9\",\n    \"BookValue\": \"₹ 74.9\",\n    \"DividendYield\": \"0.44 %\",\n    \"ROCE\": \"-0.51 %\",\n    \"ROE\": \"-0.23 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"NIIT Learning Systems Limited\",\n    \"Symbol\": \"NIITMTS\",\n    \"ListingDate\": \"08-Aug-23\",\n    \"ISIN\": \"INE342G01023\",\n    \"MarketCap\": \"₹ 5,923 Cr.\",\n    \"CurrentPrice\": \"₹ 439\",\n    \"HighLow\": \"₹ 514 / 342\",\n    \"StockPE\": \"28.3\",\n    \"BookValue\": \"₹ 65.7\",\n    \"DividendYield\": \"0.58 %\",\n    \"ROCE\": \"36.5 %\",\n    \"ROE\": \"31.8 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Nila Infrastructures Limited\",\n    \"Symbol\": \"NILAINFRA\",\n    \"ListingDate\": \"21-May-15\",\n    \"ISIN\": \"INE937C01029\",\n    \"MarketCap\": \"₹ 357 Cr.\",\n    \"CurrentPrice\": \"₹ 9.06\",\n    \"HighLow\": \"₹ 9.67 / 4.23\",\n    \"StockPE\": \"134\",\n    \"BookValue\": \"₹ 3.44\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"6.05 %\",\n    \"ROE\": \"-0.27 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Nila Spaces Limited\",\n    \"Symbol\": \"NILASPACES\",\n    \"ListingDate\": \"28-Dec-18\",\n    \"ISIN\": \"INE00S901012\",\n    \"MarketCap\": \"₹ 181 Cr.\",\n    \"CurrentPrice\": \"₹ 4.60\",\n    \"HighLow\": \"₹ 5.77 / 2.40\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 2.89\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-4.98 %\",\n    \"ROE\": \"-3.65 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Nilkamal Limited\",\n    \"Symbol\": \"NILKAMAL\",\n    \"ListingDate\": \"01-Nov-95\",\n    \"ISIN\": \"INE310A01015\",\n    \"MarketCap\": \"₹ 3,332 Cr.\",\n    \"CurrentPrice\": \"₹ 2,233\",\n    \"HighLow\": \"₹ 2,805 / 1,672\",\n    \"StockPE\": \"24.0\",\n    \"BookValue\": \"₹ 900\",\n    \"DividendYield\": \"0.90 %\",\n    \"ROCE\": \"13.3 %\",\n    \"ROE\": \"10.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"NINtec Systems Limited\",\n    \"Symbol\": \"NINSYS\",\n    \"ListingDate\": \"21-Feb-23\",\n    \"ISIN\": \"INE395U01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Indo-National Limited\",\n    \"Symbol\": \"NIPPOBATRY\",\n    \"ListingDate\": \"06-Oct-99\",\n    \"ISIN\": \"INE567A01028\",\n    \"MarketCap\": \"₹ 582 Cr.\",\n    \"CurrentPrice\": \"₹ 775\",\n    \"HighLow\": \"₹ 858 / 284\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 307\",\n    \"DividendYield\": \"0.64 %\",\n    \"ROCE\": \"0.73 %\",\n    \"ROE\": \"-2.49 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Niraj Cement Structurals Limited\",\n    \"Symbol\": \"NIRAJ\",\n    \"ListingDate\": \"01-Oct-20\",\n    \"ISIN\": \"INE368I01016\",\n    \"MarketCap\": \"₹ 176 Cr.\",\n    \"CurrentPrice\": \"₹ 43.8\",\n    \"HighLow\": \"₹ 48.7 / 24.0\",\n    \"StockPE\": \"16.7\",\n    \"BookValue\": \"₹ 43.5\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"6.00 %\",\n    \"ROE\": \"4.02 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Niraj Ispat Industries Limited\",\n    \"Symbol\": \"NIRAJISPAT\",\n    \"ListingDate\": \"27-Oct-16\",\n    \"ISIN\": \"INE326T01011\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Nitco Limited\",\n    \"Symbol\": \"NITCO\",\n    \"ListingDate\": \"21-Mar-06\",\n    \"ISIN\": \"INE858F01012\",\n    \"MarketCap\": \"₹ 229 Cr.\",\n    \"CurrentPrice\": \"₹ 31.8\",\n    \"HighLow\": \"₹ 34.4 / 16.4\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -57.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-11.2 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Nitin Spinners Limited\",\n    \"Symbol\": \"NITINSPIN\",\n    \"ListingDate\": \"02-Feb-06\",\n    \"ISIN\": \"INE229H01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Nitiraj Engineers Limited\",\n    \"Symbol\": \"NITIRAJ\",\n    \"ListingDate\": \"22-Apr-21\",\n    \"ISIN\": \"INE439T01012\",\n    \"MarketCap\": \"₹ 123 Cr.\",\n    \"CurrentPrice\": \"₹ 120\",\n    \"HighLow\": \"₹ 148 / 66.2\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 65.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"0.38 %\",\n    \"ROE\": \"-0.35 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"NK Industries Limited\",\n    \"Symbol\": \"NKIND\",\n    \"ListingDate\": \"07-Jul-95\",\n    \"ISIN\": \"INE542C01019\",\n    \"MarketCap\": \"₹ 33.8 Cr.\",\n    \"CurrentPrice\": \"₹ 56.3\",\n    \"HighLow\": \"₹ 94.4 / 0.00\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -573\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"NLC India Limited\",\n    \"Symbol\": \"NLCINDIA\",\n    \"ListingDate\": \"23-Aug-00\",\n    \"ISIN\": \"INE589A01014\",\n    \"MarketCap\": \"₹ 34,708 Cr.\",\n    \"CurrentPrice\": \"₹ 250\",\n    \"HighLow\": \"₹ 267 / 69.7\",\n    \"StockPE\": \"17.9\",\n    \"BookValue\": \"₹ 119\",\n    \"DividendYield\": \"1.38 %\",\n    \"ROCE\": \"13.5 %\",\n    \"ROE\": \"15.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"NMDC Limited\",\n    \"Symbol\": \"NMDC\",\n    \"ListingDate\": \"03-Mar-08\",\n    \"ISIN\": \"INE584A01023\",\n    \"MarketCap\": \"₹ 60,077 Cr.\",\n    \"CurrentPrice\": \"₹ 205\",\n    \"HighLow\": \"₹ 209 / 104\",\n    \"StockPE\": \"12.0\",\n    \"BookValue\": \"₹ 83.6\",\n    \"DividendYield\": \"3.25 %\",\n    \"ROCE\": \"30.2 %\",\n    \"ROE\": \"23.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"NOCIL Limited\",\n    \"Symbol\": \"NOCIL\",\n    \"ListingDate\": \"17-Jan-96\",\n    \"ISIN\": \"INE163A01018\",\n    \"MarketCap\": \"₹ 4,544 Cr.\",\n    \"CurrentPrice\": \"₹ 273\",\n    \"HighLow\": \"₹ 281 / 199\",\n    \"StockPE\": \"41.9\",\n    \"BookValue\": \"₹ 99.0\",\n    \"DividendYield\": \"1.09 %\",\n    \"ROCE\": \"13.4 %\",\n    \"ROE\": \"9.89 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Noida Toll Bridge Company Limited\",\n    \"Symbol\": \"NOIDATOLL\",\n    \"ListingDate\": \"06-Dec-02\",\n    \"ISIN\": \"INE781B01015\",\n    \"MarketCap\": \"₹ 183 Cr.\",\n    \"CurrentPrice\": \"₹ 9.85\",\n    \"HighLow\": \"₹ 15.6 / 5.71\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 11.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-11.0 %\",\n    \"ROE\": \"-13.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Norben Tea & Exports Limited\",\n    \"Symbol\": \"NORBTEAEXP\",\n    \"ListingDate\": \"26-Jun-96\",\n    \"ISIN\": \"INE369C01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"N R Agarwal Industries Limited\",\n    \"Symbol\": \"NRAIL\",\n    \"ListingDate\": \"05-Apr-17\",\n    \"ISIN\": \"INE740D01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"NRB Bearing Limited\",\n    \"Symbol\": \"NRBBEARING\",\n    \"ListingDate\": \"08-Mar-00\",\n    \"ISIN\": \"INE349A01021\",\n    \"MarketCap\": \"₹ 3,322 Cr.\",\n    \"CurrentPrice\": \"₹ 343\",\n    \"HighLow\": \"₹ 343 / 125\",\n    \"StockPE\": \"30.4\",\n    \"BookValue\": \"₹ 69.2\",\n    \"DividendYield\": \"1.50 %\",\n    \"ROCE\": \"16.6 %\",\n    \"ROE\": \"16.1 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Nupur Recyclers Limited\",\n    \"Symbol\": \"NRL\",\n    \"ListingDate\": \"12-Jan-23\",\n    \"ISIN\": \"INE0JM501013\",\n    \"MarketCap\": \"₹ 412 Cr.\",\n    \"CurrentPrice\": \"₹ 90.0\",\n    \"HighLow\": \"₹ 159 / 86.0\",\n    \"StockPE\": \"42.7\",\n    \"BookValue\": \"₹ 17.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Nalwa Sons Investments Limited\",\n    \"Symbol\": \"NSIL\",\n    \"ListingDate\": \"17-Nov-03\",\n    \"ISIN\": \"INE023A01030\",\n    \"MarketCap\": \"₹ 1,690 Cr.\",\n    \"CurrentPrice\": \"₹ 3,288\",\n    \"HighLow\": \"₹ 3,450 / 1,999\",\n    \"StockPE\": \"35.4\",\n    \"BookValue\": \"₹ 20,600\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.57 %\",\n    \"ROE\": \"1.14 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"NMDC Steel Limited\",\n    \"Symbol\": \"NSLNISP\",\n    \"ListingDate\": \"20-Feb-23\",\n    \"ISIN\": \"INE0NNS01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"NTPC Limited\",\n    \"Symbol\": \"NTPC\",\n    \"ListingDate\": \"05-Nov-04\",\n    \"ISIN\": \"INE733E01010\",\n    \"MarketCap\": \"₹ 3,01,178 Cr.\",\n    \"CurrentPrice\": \"₹ 311\",\n    \"HighLow\": \"₹ 317 / 163\",\n    \"StockPE\": \"15.8\",\n    \"BookValue\": \"₹ 158\",\n    \"DividendYield\": \"2.32 %\",\n    \"ROCE\": \"9.83 %\",\n    \"ROE\": \"12.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Nucleus Software Exports Limited\",\n    \"Symbol\": \"NUCLEUS\",\n    \"ListingDate\": \"19-Dec-02\",\n    \"ISIN\": \"INE096B01018\",\n    \"MarketCap\": \"₹ 3,936 Cr.\",\n    \"CurrentPrice\": \"₹ 1,470\",\n    \"HighLow\": \"₹ 1,778 / 376\",\n    \"StockPE\": \"19.3\",\n    \"BookValue\": \"₹ 257\",\n    \"DividendYield\": \"0.68 %\",\n    \"ROCE\": \"27.1 %\",\n    \"ROE\": \"20.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Nureca Limited\",\n    \"Symbol\": \"NURECA\",\n    \"ListingDate\": \"25-Feb-21\",\n    \"ISIN\": \"INE0DSF01015\",\n    \"MarketCap\": \"₹ 431 Cr.\",\n    \"CurrentPrice\": \"₹ 431\",\n    \"HighLow\": \"₹ 512 / 294\",\n    \"StockPE\": \"454\",\n    \"BookValue\": \"₹ 197\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-6.27 %\",\n    \"ROE\": \"-5.37 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Nuvama Wealth Management Limited\",\n    \"Symbol\": \"NUVAMA\",\n    \"ListingDate\": \"26-Sep-23\",\n    \"ISIN\": \"INE531F01015\",\n    \"MarketCap\": \"₹ 12,616 Cr.\",\n    \"CurrentPrice\": \"₹ 3,582\",\n    \"HighLow\": \"₹ 3,770 / 2,100\",\n    \"StockPE\": \"41.4\",\n    \"BookValue\": \"₹ 713\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"12.2 %\",\n    \"ROE\": \"14.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Nuvoco Vistas Corporation Limited\",\n    \"Symbol\": \"NUVOCO\",\n    \"ListingDate\": \"23-Aug-21\",\n    \"ISIN\": \"INE118D01016\",\n    \"MarketCap\": \"₹ 13,879 Cr.\",\n    \"CurrentPrice\": \"₹ 389\",\n    \"HighLow\": \"₹ 399 / 288\",\n    \"StockPE\": \"25.4\",\n    \"BookValue\": \"₹ 248\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.93 %\",\n    \"ROE\": \"4.73 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"FSN E-Commerce Ventures Limited\",\n    \"Symbol\": \"NYKAA\",\n    \"ListingDate\": \"10-Nov-21\",\n    \"ISIN\": \"INE388Y01029\",\n    \"MarketCap\": \"₹ 49,862 Cr.\",\n    \"CurrentPrice\": \"₹ 175\",\n    \"HighLow\": \"₹ 183 / 114\",\n    \"StockPE\": \"2,543\",\n    \"BookValue\": \"₹ 4.88\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.52 %\",\n    \"ROE\": \"1.42 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Oriental Aromatics Limited\",\n    \"Symbol\": \"OAL\",\n    \"ListingDate\": \"11-Jul-19\",\n    \"ISIN\": \"INE959C01023\",\n    \"MarketCap\": \"₹ 1,358 Cr.\",\n    \"CurrentPrice\": \"₹ 404\",\n    \"HighLow\": \"₹ 503 / 295\",\n    \"StockPE\": \"999\",\n    \"BookValue\": \"₹ 184\",\n    \"DividendYield\": \"0.13 %\",\n    \"ROCE\": \"5.06 %\",\n    \"ROE\": \"3.21 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Orissa Bengal Carrier Limited\",\n    \"Symbol\": \"OBCL\",\n    \"ListingDate\": \"07-Apr-22\",\n    \"ISIN\": \"INE426Z01016\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Oberoi Realty Limited\",\n    \"Symbol\": \"OBEROIRLTY\",\n    \"ListingDate\": \"20-Oct-10\",\n    \"ISIN\": \"INE093I01010\",\n    \"MarketCap\": \"₹ 52,593 Cr.\",\n    \"CurrentPrice\": \"₹ 1,446\",\n    \"HighLow\": \"₹ 1,519 / 790\",\n    \"StockPE\": \"26.8\",\n    \"BookValue\": \"₹ 353\",\n    \"DividendYield\": \"0.27 %\",\n    \"ROCE\": \"16.0 %\",\n    \"ROE\": \"16.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Oriental Carbon & Chemicals Limited\",\n    \"Symbol\": \"OCCL\",\n    \"ListingDate\": \"27-Jan-16\",\n    \"ISIN\": \"INE321D01016\",\n    \"MarketCap\": \"₹ 821 Cr.\",\n    \"CurrentPrice\": \"₹ 822\",\n    \"HighLow\": \"₹ 910 / 650\",\n    \"StockPE\": \"16.6\",\n    \"BookValue\": \"₹ 622\",\n    \"DividendYield\": \"1.69 %\",\n    \"ROCE\": \"10.8 %\",\n    \"ROE\": \"8.46 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Oracle Financial Services Software Limited\",\n    \"Symbol\": \"OFSS\",\n    \"ListingDate\": \"28-Jun-02\",\n    \"ISIN\": \"INE881D01027\",\n    \"MarketCap\": \"₹ 36,439 Cr.\",\n    \"CurrentPrice\": \"₹ 4,206\",\n    \"HighLow\": \"₹ 4,529 / 2,984\",\n    \"StockPE\": \"19.8\",\n    \"BookValue\": \"₹ 750\",\n    \"DividendYield\": \"5.35 %\",\n    \"ROCE\": \"35.1 %\",\n    \"ROE\": \"24.8 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Oil India Limited\",\n    \"Symbol\": \"OIL\",\n    \"ListingDate\": \"30-Sep-09\",\n    \"ISIN\": \"INE274J01014\",\n    \"MarketCap\": \"₹ 40,768 Cr.\",\n    \"CurrentPrice\": \"₹ 376\",\n    \"HighLow\": \"₹ 406 / 205\",\n    \"StockPE\": \"5.90\",\n    \"BookValue\": \"₹ 370\",\n    \"DividendYield\": \"5.31 %\",\n    \"ROCE\": \"25.4 %\",\n    \"ROE\": \"25.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Oil Country Tubular Limited\",\n    \"Symbol\": \"OILCOUNTUB\",\n    \"ListingDate\": \"30-Aug-95\",\n    \"ISIN\": \"INE591A01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Olectra Greentech Limited\",\n    \"Symbol\": \"OLECTRA\",\n    \"ListingDate\": \"20-Mar-02\",\n    \"ISIN\": \"INE260D01016\",\n    \"MarketCap\": \"₹ 11,062 Cr.\",\n    \"CurrentPrice\": \"₹ 1,348\",\n    \"HighLow\": \"₹ 1,465 / 374\",\n    \"StockPE\": \"143\",\n    \"BookValue\": \"₹ 106\",\n    \"DividendYield\": \"0.03 %\",\n    \"ROCE\": \"13.3 %\",\n    \"ROE\": \"8.11 %\",\n    \"FaceValue\": \"₹ 4.00\"\n  },\n  {\n    \"Name\": \"Omax Autos Limited\",\n    \"Symbol\": \"OMAXAUTO\",\n    \"ListingDate\": \"20-Feb-03\",\n    \"ISIN\": \"INE090B01011\",\n    \"MarketCap\": \"₹ 139 Cr.\",\n    \"CurrentPrice\": \"₹ 65.0\",\n    \"HighLow\": \"₹ 71.5 / 37.6\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 94.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"3.26 %\",\n    \"ROE\": \"-2.97 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Omaxe Limited\",\n    \"Symbol\": \"OMAXE\",\n    \"ListingDate\": \"09-Aug-07\",\n    \"ISIN\": \"INE800H01010\",\n    \"MarketCap\": \"₹ 1,399 Cr.\",\n    \"CurrentPrice\": \"₹ 76.5\",\n    \"HighLow\": \"₹ 94.9 / 42.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 38.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-15.7 %\",\n    \"ROE\": \"-32.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"OM INFRA LIMITED\",\n    \"Symbol\": \"OMINFRAL\",\n    \"ListingDate\": \"17-Jun-11\",\n    \"ISIN\": \"INE239D01028\",\n    \"MarketCap\": \"₹ 1,463 Cr.\",\n    \"CurrentPrice\": \"₹ 152\",\n    \"HighLow\": \"₹ 159 / 29.7\",\n    \"StockPE\": \"26.9\",\n    \"BookValue\": \"₹ 74.1\",\n    \"DividendYield\": \"0.33 %\",\n    \"ROCE\": \"5.23 %\",\n    \"ROE\": \"0.94 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Omkar Speciality Chemicals Limited\",\n    \"Symbol\": \"OMKARCHEM\",\n    \"ListingDate\": \"10-Feb-11\",\n    \"ISIN\": \"INE474L01016\",\n    \"MarketCap\": \"₹ 17.1 Cr.\",\n    \"CurrentPrice\": \"₹ 8.30\",\n    \"HighLow\": \"₹ 17.3 / 6.80\",\n    \"StockPE\": \"0.45\",\n    \"BookValue\": \"₹ 106\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"18.0 %\",\n    \"ROE\": \"17.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Onelife Capital Advisors Limited\",\n    \"Symbol\": \"ONELIFECAP\",\n    \"ListingDate\": \"17-Oct-11\",\n    \"ISIN\": \"INE912L01015\",\n    \"MarketCap\": \"₹ 22.7 Cr.\",\n    \"CurrentPrice\": \"₹ 17.0\",\n    \"HighLow\": \"₹ 23.9 / 10.8\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 60.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-1.01 %\",\n    \"ROE\": \"-2.98 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"One Point One Solutions Limited\",\n    \"Symbol\": \"ONEPOINT\",\n    \"ListingDate\": \"09-May-19\",\n    \"ISIN\": \"INE840Y01029\",\n    \"MarketCap\": \"₹ 982 Cr.\",\n    \"CurrentPrice\": \"₹ 50.2\",\n    \"HighLow\": \"₹ 56.8 / 14.9\",\n    \"StockPE\": \"70.9\",\n    \"BookValue\": \"₹ 3.89\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"16.9 %\",\n    \"ROE\": \"17.3 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Oil & Natural Gas Corporation Limited\",\n    \"Symbol\": \"ONGC\",\n    \"ListingDate\": \"19-Jul-95\",\n    \"ISIN\": \"INE213A01029\",\n    \"MarketCap\": \"₹ 2,57,393 Cr.\",\n    \"CurrentPrice\": \"₹ 205\",\n    \"HighLow\": \"₹ 212 / 140\",\n    \"StockPE\": \"5.48\",\n    \"BookValue\": \"₹ 246\",\n    \"DividendYield\": \"5.49 %\",\n    \"ROCE\": \"13.9 %\",\n    \"ROE\": \"14.1 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"OnMobile Global Limited\",\n    \"Symbol\": \"ONMOBILE\",\n    \"ListingDate\": \"19-Feb-08\",\n    \"ISIN\": \"INE809I01019\",\n    \"MarketCap\": \"₹ 1,164 Cr.\",\n    \"CurrentPrice\": \"₹ 110\",\n    \"HighLow\": \"₹ 128 / 55.6\",\n    \"StockPE\": \"45.8\",\n    \"BookValue\": \"₹ 61.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.94 %\",\n    \"ROE\": \"1.20 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Onward Technologies Limited\",\n    \"Symbol\": \"ONWARDTEC\",\n    \"ListingDate\": \"07-Mar-01\",\n    \"ISIN\": \"INE229A01017\",\n    \"MarketCap\": \"₹ 1,408 Cr.\",\n    \"CurrentPrice\": \"₹ 626\",\n    \"HighLow\": \"₹ 740 / 268\",\n    \"StockPE\": \"46.7\",\n    \"BookValue\": \"₹ 84.8\",\n    \"DividendYield\": \"0.48 %\",\n    \"ROCE\": \"10.4 %\",\n    \"ROE\": \"6.67 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Optiemus Infracom Limited\",\n    \"Symbol\": \"OPTIEMUS\",\n    \"ListingDate\": \"08-Aug-17\",\n    \"ISIN\": \"INE350C01017\",\n    \"MarketCap\": \"₹ 2,678 Cr.\",\n    \"CurrentPrice\": \"₹ 312\",\n    \"HighLow\": \"₹ 381 / 160\",\n    \"StockPE\": \"60.1\",\n    \"BookValue\": \"₹ 44.9\",\n    \"DividendYield\": \"0.49 %\",\n    \"ROCE\": \"13.5 %\",\n    \"ROE\": \"11.7 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Orbit Exports Limited\",\n    \"Symbol\": \"ORBTEXP\",\n    \"ListingDate\": \"05-Nov-13\",\n    \"ISIN\": \"INE231G01010\",\n    \"MarketCap\": \"₹ 482 Cr.\",\n    \"CurrentPrice\": \"₹ 178\",\n    \"HighLow\": \"₹ 230 / 114\",\n    \"StockPE\": \"13.6\",\n    \"BookValue\": \"₹ 89.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"19.5 %\",\n    \"ROE\": \"16.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Orchid Pharma Limited\",\n    \"Symbol\": \"ORCHPHARMA\",\n    \"ListingDate\": \"02-Nov-20\",\n    \"ISIN\": \"INE191A01027\",\n    \"MarketCap\": \"₹ 3,678 Cr.\",\n    \"CurrentPrice\": \"₹ 725\",\n    \"HighLow\": \"₹ 750 / 330\",\n    \"StockPE\": \"57.9\",\n    \"BookValue\": \"₹ 218\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.97 %\",\n    \"ROE\": \"0.95 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Oricon Enterprises Limited\",\n    \"Symbol\": \"ORICONENT\",\n    \"ListingDate\": \"24-Jul-15\",\n    \"ISIN\": \"INE730A01022\",\n    \"MarketCap\": \"₹ 525 Cr.\",\n    \"CurrentPrice\": \"₹ 33.4\",\n    \"HighLow\": \"₹ 36.0 / 15.2\",\n    \"StockPE\": \"67.4\",\n    \"BookValue\": \"₹ 72.0\",\n    \"DividendYield\": \"1.49 %\",\n    \"ROCE\": \"1.95 %\",\n    \"ROE\": \"1.17 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Oriental Trimex Limited\",\n    \"Symbol\": \"ORIENTALTL\",\n    \"ListingDate\": \"07-Mar-07\",\n    \"ISIN\": \"INE998H01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Orient Bell Limited\",\n    \"Symbol\": \"ORIENTBELL\",\n    \"ListingDate\": \"14-Feb-07\",\n    \"ISIN\": \"INE607D01018\",\n    \"MarketCap\": \"₹ 592 Cr.\",\n    \"CurrentPrice\": \"₹ 408\",\n    \"HighLow\": \"₹ 649 / 391\",\n    \"StockPE\": \"66.8\",\n    \"BookValue\": \"₹ 214\",\n    \"DividendYield\": \"0.25 %\",\n    \"ROCE\": \"10.4 %\",\n    \"ROE\": \"7.53 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Orient Cement Limited\",\n    \"Symbol\": \"ORIENTCEM\",\n    \"ListingDate\": \"12-Jul-13\",\n    \"ISIN\": \"INE876N01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"ORIENT CERATECH LIMITED\",\n    \"Symbol\": \"ORIENTCER\",\n    \"ListingDate\": \"15-Dec-05\",\n    \"ISIN\": \"INE569C01020\",\n    \"MarketCap\": \"₹ 613 Cr.\",\n    \"CurrentPrice\": \"₹ 51.2\",\n    \"HighLow\": \"₹ 64.0 / 21.8\",\n    \"StockPE\": \"36.8\",\n    \"BookValue\": \"₹ 22.7\",\n    \"DividendYield\": \"0.49 %\",\n    \"ROCE\": \"7.86 %\",\n    \"ROE\": \"5.60 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Orient Electric Limited\",\n    \"Symbol\": \"ORIENTELEC\",\n    \"ListingDate\": \"14-May-18\",\n    \"ISIN\": \"INE142Z01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Oriental Hotels Limited\",\n    \"Symbol\": \"ORIENTHOT\",\n    \"ListingDate\": \"27-Aug-98\",\n    \"ISIN\": \"INE750A01020\",\n    \"MarketCap\": \"₹ 2,197 Cr.\",\n    \"CurrentPrice\": \"₹ 123\",\n    \"HighLow\": \"₹ 135 / 66.4\",\n    \"StockPE\": \"45.7\",\n    \"BookValue\": \"₹ 30.8\",\n    \"DividendYield\": \"0.40 %\",\n    \"ROCE\": \"13.5 %\",\n    \"ROE\": \"10.9 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Orient Press Limited\",\n    \"Symbol\": \"ORIENTLTD\",\n    \"ListingDate\": \"03-Mar-10\",\n    \"ISIN\": \"INE609C01024\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Orient Paper & Industries Limited\",\n    \"Symbol\": \"ORIENTPPR\",\n    \"ListingDate\": \"29-Mar-95\",\n    \"ISIN\": \"INE592A01026\",\n    \"MarketCap\": \"₹ 915 Cr.\",\n    \"CurrentPrice\": \"₹ 43.1\",\n    \"HighLow\": \"₹ 59.8 / 34.4\",\n    \"StockPE\": \"5.76\",\n    \"BookValue\": \"₹ 38.8\",\n    \"DividendYield\": \"2.34 %\",\n    \"ROCE\": \"22.2 %\",\n    \"ROE\": \"22.1 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"The Orissa Minerals Development Company Limited\",\n    \"Symbol\": \"ORISSAMINE\",\n    \"ListingDate\": \"29-Sep-10\",\n    \"ISIN\": \"INE725E01024\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Ortin Laboratories Limited\",\n    \"Symbol\": \"ORTINLAB\",\n    \"ListingDate\": \"30-Mar-21\",\n    \"ISIN\": \"INE749B01020\",\n    \"MarketCap\": \"₹ 18.6 Cr.\",\n    \"CurrentPrice\": \"₹ 22.9\",\n    \"HighLow\": \"₹ 30.4 / 16.2\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Osia Hyper Retail Limited\",\n    \"Symbol\": \"OSIAHYPER\",\n    \"ListingDate\": \"01-Dec-22\",\n    \"ISIN\": \"INE06IR01021\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Oswal Agro Mills Limited\",\n    \"Symbol\": \"OSWALAGRO\",\n    \"ListingDate\": \"29-Mar-95\",\n    \"ISIN\": \"INE142A01012\",\n    \"MarketCap\": \"₹ 456 Cr.\",\n    \"CurrentPrice\": \"₹ 34.0\",\n    \"HighLow\": \"₹ 42.2 / 23.5\",\n    \"StockPE\": \"57.2\",\n    \"BookValue\": \"₹ 62.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.97 %\",\n    \"ROE\": \"2.91 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Oswal Greentech Limited\",\n    \"Symbol\": \"OSWALGREEN\",\n    \"ListingDate\": \"28-Aug-96\",\n    \"ISIN\": \"INE143A01010\",\n    \"MarketCap\": \"₹ 682 Cr.\",\n    \"CurrentPrice\": \"₹ 26.5\",\n    \"HighLow\": \"₹ 30.2 / 16.8\",\n    \"StockPE\": \"16.2\",\n    \"BookValue\": \"₹ 88.3\",\n    \"DividendYield\": \"5.65 %\",\n    \"ROCE\": \"3.11 %\",\n    \"ROE\": \"1.87 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"ShreeOswal Seeds And Chemicals Limited\",\n    \"Symbol\": \"OSWALSEEDS\",\n    \"ListingDate\": \"28-Feb-23\",\n    \"ISIN\": \"INE00IK01029\",\n    \"MarketCap\": \"₹ 434 Cr.\",\n    \"CurrentPrice\": \"₹ 57.0\",\n    \"HighLow\": \"₹ 85.1 / 43.1\",\n    \"StockPE\": \"119\",\n    \"BookValue\": \"₹ 6.17\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"14.0 %\",\n    \"ROE\": \"13.8 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Page Industries Limited\",\n    \"Symbol\": \"PAGEIND\",\n    \"ListingDate\": \"16-Mar-07\",\n    \"ISIN\": \"INE761H01022\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Paisalo Digital Limited\",\n    \"Symbol\": \"PAISALO\",\n    \"ListingDate\": \"17-Oct-11\",\n    \"ISIN\": \"INE420C01059\",\n    \"MarketCap\": \"₹ 4,116 Cr.\",\n    \"CurrentPrice\": \"₹ 91.7\",\n    \"HighLow\": \"₹ 104 / 42.0\",\n    \"StockPE\": \"30.0\",\n    \"BookValue\": \"₹ 27.8\",\n    \"DividendYield\": \"0.11 %\",\n    \"ROCE\": \"11.4 %\",\n    \"ROE\": \"8.92 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"PAKKA LIMITED\",\n    \"Symbol\": \"PAKKA\",\n    \"ListingDate\": \"11-Jul-23\",\n    \"ISIN\": \"INE551D01018\",\n    \"MarketCap\": \"₹ 862 Cr.\",\n    \"CurrentPrice\": \"₹ 220\",\n    \"HighLow\": \"₹ 316 / 88.0\",\n    \"StockPE\": \"16.8\",\n    \"BookValue\": \"₹ 61.7\",\n    \"DividendYield\": \"1.07 %\",\n    \"ROCE\": \"27.2 %\",\n    \"ROE\": \"25.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Palash Securities Limited\",\n    \"Symbol\": \"PALASHSECU\",\n    \"ListingDate\": \"28-Jul-17\",\n    \"ISIN\": \"INE471W01019\",\n    \"MarketCap\": \"₹ 119 Cr.\",\n    \"CurrentPrice\": \"₹ 118\",\n    \"HighLow\": \"₹ 166 / 86.2\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 492\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-2.33 %\",\n    \"ROE\": \"-3.34 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Palred Technologies Limited\",\n    \"Symbol\": \"PALREDTEC\",\n    \"ListingDate\": \"09-May-16\",\n    \"ISIN\": \"INE218G01033\",\n    \"MarketCap\": \"₹ 235 Cr.\",\n    \"CurrentPrice\": \"₹ 192\",\n    \"HighLow\": \"₹ 197 / 112\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 48.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.41 %\",\n    \"ROE\": \"-0.08 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Panacea Biotec Limited\",\n    \"Symbol\": \"PANACEABIO\",\n    \"ListingDate\": \"17-Apr-96\",\n    \"ISIN\": \"INE922B01023\",\n    \"MarketCap\": \"₹ 1,039 Cr.\",\n    \"CurrentPrice\": \"₹ 170\",\n    \"HighLow\": \"₹ 182 / 107\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 138\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-10.3 %\",\n    \"ROE\": \"-10.9 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Panache Digilife Limited\",\n    \"Symbol\": \"PANACHE\",\n    \"ListingDate\": \"06-Jan-20\",\n    \"ISIN\": \"INE895W01019\",\n    \"MarketCap\": \"₹ 94.8 Cr.\",\n    \"CurrentPrice\": \"₹ 79.0\",\n    \"HighLow\": \"₹ 103 / 56.8\",\n    \"StockPE\": \"107\",\n    \"BookValue\": \"₹ 29.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.63 %\",\n    \"ROE\": \"4.23 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Panama Petrochem Limited\",\n    \"Symbol\": \"PANAMAPET\",\n    \"ListingDate\": \"30-Sep-11\",\n    \"ISIN\": \"INE305C01029\",\n    \"MarketCap\": \"₹ 2,024 Cr.\",\n    \"CurrentPrice\": \"₹ 335\",\n    \"HighLow\": \"₹ 369 / 268\",\n    \"StockPE\": \"10.5\",\n    \"BookValue\": \"₹ 168\",\n    \"DividendYield\": \"2.38 %\",\n    \"ROCE\": \"34.9 %\",\n    \"ROE\": \"27.1 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Pansari Developers Limited\",\n    \"Symbol\": \"PANSARI\",\n    \"ListingDate\": \"18-Oct-21\",\n    \"ISIN\": \"INE697V01011\",\n    \"MarketCap\": \"₹ 154 Cr.\",\n    \"CurrentPrice\": \"₹ 88.0\",\n    \"HighLow\": \"₹ 152 / 63.5\",\n    \"StockPE\": \"56.0\",\n    \"BookValue\": \"₹ 70.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.81 %\",\n    \"ROE\": \"1.60 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Par Drugs And Chemicals Limited\",\n    \"Symbol\": \"PAR\",\n    \"ListingDate\": \"16-Sep-21\",\n    \"ISIN\": \"INE04LG01015\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Paramount Communications Limited\",\n    \"Symbol\": \"PARACABLES\",\n    \"ListingDate\": \"03-Jan-07\",\n    \"ISIN\": \"INE074B01023\",\n    \"MarketCap\": \"₹ 2,158 Cr.\",\n    \"CurrentPrice\": \"₹ 88.1\",\n    \"HighLow\": \"₹ 96.4 / 27.9\",\n    \"StockPE\": \"34.8\",\n    \"BookValue\": \"₹ 16.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"13.8 %\",\n    \"ROE\": \"21.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Paradeep Phosphates Limited\",\n    \"Symbol\": \"PARADEEP\",\n    \"ListingDate\": \"27-May-22\",\n    \"ISIN\": \"INE088F01024\",\n    \"MarketCap\": \"₹ 5,545 Cr.\",\n    \"CurrentPrice\": \"₹ 68.1\",\n    \"HighLow\": \"₹ 75.4 / 48.3\",\n    \"StockPE\": \"34.6\",\n    \"BookValue\": \"₹ 42.2\",\n    \"DividendYield\": \"0.75 %\",\n    \"ROCE\": \"11.0 %\",\n    \"ROE\": \"11.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Parag Milk Foods Limited\",\n    \"Symbol\": \"PARAGMILK\",\n    \"ListingDate\": \"19-May-16\",\n    \"ISIN\": \"INE883N01014\",\n    \"MarketCap\": \"₹ 2,767 Cr.\",\n    \"CurrentPrice\": \"₹ 236\",\n    \"HighLow\": \"₹ 263 / 68.0\",\n    \"StockPE\": \"35.4\",\n    \"BookValue\": \"₹ 72.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.72 %\",\n    \"ROE\": \"7.88 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Paras Defence and Space Technologies Limited\",\n    \"Symbol\": \"PARAS\",\n    \"ListingDate\": \"01-Oct-21\",\n    \"ISIN\": \"INE045601015\",\n    \"MarketCap\": \"₹ 2,813 Cr.\",\n    \"CurrentPrice\": \"₹ 721\",\n    \"HighLow\": \"₹ 848 / 446\",\n    \"StockPE\": \"81.6\",\n    \"BookValue\": \"₹ 110\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"13.0 %\",\n    \"ROE\": \"9.10 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Paras Petrofils Limited\",\n    \"Symbol\": \"PARASPETRO\",\n    \"ListingDate\": \"14-Feb-96\",\n    \"ISIN\": \"INE162C01024\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Parsvnath Developers Limited\",\n    \"Symbol\": \"PARSVNATH\",\n    \"ListingDate\": \"30-Nov-06\",\n    \"ISIN\": \"INE561H01026\",\n    \"MarketCap\": \"₹ 471 Cr.\",\n    \"CurrentPrice\": \"₹ 10.8\",\n    \"HighLow\": \"₹ 13.6 / 6.00\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -31.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-4.78 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Pasupati Acrylon Limited\",\n    \"Symbol\": \"PASUPTAC\",\n    \"ListingDate\": \"12-Oct-21\",\n    \"ISIN\": \"INE818B01023\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Patanjali Foods Limited\",\n    \"Symbol\": \"PATANJALI\",\n    \"ListingDate\": \"24-Jan-20\",\n    \"ISIN\": \"INE619A01035\",\n    \"MarketCap\": \"₹ 56,797 Cr.\",\n    \"CurrentPrice\": \"₹ 1,569\",\n    \"HighLow\": \"₹ 1,665 / 852\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -140\",\n    \"DividendYield\": \"0.40 %\",\n    \"ROCE\": \"1.58 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Patel Engineering Limited\",\n    \"Symbol\": \"PATELENG\",\n    \"ListingDate\": \"24-Feb-05\",\n    \"ISIN\": \"INE244B01030\",\n    \"MarketCap\": \"₹ 4,702 Cr.\",\n    \"CurrentPrice\": \"₹ 60.8\",\n    \"HighLow\": \"₹ 69.7 / 13.1\",\n    \"StockPE\": \"24.2\",\n    \"BookValue\": \"₹ 38.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"13.7 %\",\n    \"ROE\": \"6.93 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Patel Integrated Logistics Limited\",\n    \"Symbol\": \"PATINTLOG\",\n    \"ListingDate\": \"11-Jan-08\",\n    \"ISIN\": \"INE529D01014\",\n    \"MarketCap\": \"₹ 124 Cr.\",\n    \"CurrentPrice\": \"₹ 19.2\",\n    \"HighLow\": \"₹ 25.2 / 10.5\",\n    \"StockPE\": \"15.2\",\n    \"BookValue\": \"₹ 19.3\",\n    \"DividendYield\": \"0.50 %\",\n    \"ROCE\": \"9.59 %\",\n    \"ROE\": \"6.72 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Pavna Industries Limited\",\n    \"Symbol\": \"PAVNAIND\",\n    \"ListingDate\": \"01-Jun-23\",\n    \"ISIN\": \"INE07S101020\",\n    \"MarketCap\": \"₹ 503 Cr.\",\n    \"CurrentPrice\": \"₹ 413\",\n    \"HighLow\": \"₹ 486 / 215\",\n    \"StockPE\": \"35.9\",\n    \"BookValue\": \"₹ 55.7\",\n    \"DividendYield\": \"0.24 %\",\n    \"ROCE\": \"11.2 %\",\n    \"ROE\": \"13.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"One 97 Communications Limited\",\n    \"Symbol\": \"PAYTM\",\n    \"ListingDate\": \"18-Nov-21\",\n    \"ISIN\": \"INE982J01020\",\n    \"MarketCap\": \"₹ 40,448 Cr.\",\n    \"CurrentPrice\": \"₹ 637\",\n    \"HighLow\": \"₹ 998 / 503\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 206\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-12.5 %\",\n    \"ROE\": \"-13.1 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"PCBL LIMITED\",\n    \"Symbol\": \"PCBL\",\n    \"ListingDate\": \"29-Mar-95\",\n    \"ISIN\": \"INE602A01031\",\n    \"MarketCap\": \"₹ 9,537 Cr.\",\n    \"CurrentPrice\": \"₹ 253\",\n    \"HighLow\": \"₹ 284 / 108\",\n    \"StockPE\": \"22.1\",\n    \"BookValue\": \"₹ 82.6\",\n    \"DividendYield\": \"2.15 %\",\n    \"ROCE\": \"16.9 %\",\n    \"ROE\": \"15.7 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"PC Jeweller Limited\",\n    \"Symbol\": \"PCJEWELLER\",\n    \"ListingDate\": \"27-Dec-12\",\n    \"ISIN\": \"INE785M01013\",\n    \"MarketCap\": \"₹ 2,119 Cr.\",\n    \"CurrentPrice\": \"₹ 45.5\",\n    \"HighLow\": \"₹ 86.9 / 21.3\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 69.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.33 %\",\n    \"ROE\": \"-5.36 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Pudumjee Paper Products Limited\",\n    \"Symbol\": \"PDMJEPAPER\",\n    \"ListingDate\": \"30-Mar-16\",\n    \"ISIN\": \"INE865T01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"PDS Limited\",\n    \"Symbol\": \"PDSL\",\n    \"ListingDate\": \"21-Oct-14\",\n    \"ISIN\": \"INE111Q01021\",\n    \"MarketCap\": \"₹ 7,086 Cr.\",\n    \"CurrentPrice\": \"₹ 537\",\n    \"HighLow\": \"₹ 666 / 300\",\n    \"StockPE\": \"32.5\",\n    \"BookValue\": \"₹ 83.1\",\n    \"DividendYield\": \"0.94 %\",\n    \"ROCE\": \"23.4 %\",\n    \"ROE\": \"24.7 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Pearl Polymers Limited\",\n    \"Symbol\": \"PEARLPOLY\",\n    \"ListingDate\": \"11-Oct-95\",\n    \"ISIN\": \"INE844A01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Piramal Enterprises Limited\",\n    \"Symbol\": \"PEL\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE140A01024\",\n    \"MarketCap\": \"₹ 22,187 Cr.\",\n    \"CurrentPrice\": \"₹ 930\",\n    \"HighLow\": \"₹ 1,140 / 630\",\n    \"StockPE\": \"5.69\",\n    \"BookValue\": \"₹ 1,203\",\n    \"DividendYield\": \"3.33 %\",\n    \"ROCE\": \"2.21 %\",\n    \"ROE\": \"5.72 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Pennar Industries Limited\",\n    \"Symbol\": \"PENIND\",\n    \"ListingDate\": \"25-Nov-10\",\n    \"ISIN\": \"INE932A01024\",\n    \"MarketCap\": \"₹ 1,675 Cr.\",\n    \"CurrentPrice\": \"₹ 124\",\n    \"HighLow\": \"₹ 132 / 52.5\",\n    \"StockPE\": \"18.9\",\n    \"BookValue\": \"₹ 61.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"13.3 %\",\n    \"ROE\": \"9.97 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Peninsula Land Limited\",\n    \"Symbol\": \"PENINLAND\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE138A01028\",\n    \"MarketCap\": \"₹ 1,450 Cr.\",\n    \"CurrentPrice\": \"₹ 49.4\",\n    \"HighLow\": \"₹ 56.3 / 11.0\",\n    \"StockPE\": \"20.4\",\n    \"BookValue\": \"₹ 3.04\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"26.1 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Persistent Systems Limited\",\n    \"Symbol\": \"PERSISTENT\",\n    \"ListingDate\": \"06-Apr-10\",\n    \"ISIN\": \"INE262H01013\",\n    \"MarketCap\": \"₹ 56,771 Cr.\",\n    \"CurrentPrice\": \"₹ 7,380\",\n    \"HighLow\": \"₹ 7,560 / 3,840\",\n    \"StockPE\": \"56.6\",\n    \"BookValue\": \"₹ 574\",\n    \"DividendYield\": \"0.54 %\",\n    \"ROCE\": \"30.3 %\",\n    \"ROE\": \"25.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Petronet LNG Limited\",\n    \"Symbol\": \"PETRONET\",\n    \"ListingDate\": \"26-Mar-04\",\n    \"ISIN\": \"INE347G01014\",\n    \"MarketCap\": \"₹ 33,338 Cr.\",\n    \"CurrentPrice\": \"₹ 222\",\n    \"HighLow\": \"₹ 254 / 192\",\n    \"StockPE\": \"9.56\",\n    \"BookValue\": \"₹ 110\",\n    \"DividendYield\": \"3.17 %\",\n    \"ROCE\": \"26.6 %\",\n    \"ROE\": \"23.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Power Finance Corporation Limited\",\n    \"Symbol\": \"PFC\",\n    \"ListingDate\": \"23-Feb-07\",\n    \"ISIN\": \"INE134E01011\",\n    \"MarketCap\": \"₹ 1,26,113 Cr.\",\n    \"CurrentPrice\": \"₹ 382\",\n    \"HighLow\": \"₹ 429 / 106\",\n    \"StockPE\": \"7.04\",\n    \"BookValue\": \"₹ 283\",\n    \"DividendYield\": \"2.75 %\",\n    \"ROCE\": \"9.08 %\",\n    \"ROE\": \"20.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Pfizer Limited\",\n    \"Symbol\": \"PFIZER\",\n    \"ListingDate\": \"28-Apr-99\",\n    \"ISIN\": \"INE182A01018\",\n    \"MarketCap\": \"₹ 19,569 Cr.\",\n    \"CurrentPrice\": \"₹ 4,278\",\n    \"HighLow\": \"₹ 4,492 / 3,407\",\n    \"StockPE\": \"128\",\n    \"BookValue\": \"₹ 302\",\n    \"DividendYield\": \"0.82 %\",\n    \"ROCE\": \"27.2 %\",\n    \"ROE\": \"19.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Prime Focus Limited\",\n    \"Symbol\": \"PFOCUS\",\n    \"ListingDate\": \"20-Jun-06\",\n    \"ISIN\": \"INE367G01038\",\n    \"MarketCap\": \"₹ 3,222 Cr.\",\n    \"CurrentPrice\": \"₹ 108\",\n    \"HighLow\": \"₹ 131 / 64.8\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 16.5\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"15.5 %\",\n    \"ROE\": \"252 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"PTC India Financial Services Limited\",\n    \"Symbol\": \"PFS\",\n    \"ListingDate\": \"30-Mar-11\",\n    \"ISIN\": \"INE560K01014\",\n    \"MarketCap\": \"₹ 2,704 Cr.\",\n    \"CurrentPrice\": \"₹ 42.1\",\n    \"HighLow\": \"₹ 47.9 / 12.2\",\n    \"StockPE\": \"16.0\",\n    \"BookValue\": \"₹ 38.5\",\n    \"DividendYield\": \"2.41 %\",\n    \"ROCE\": \"7.84 %\",\n    \"ROE\": \"7.47 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"PG Electroplast Limited\",\n    \"Symbol\": \"PGEL\",\n    \"ListingDate\": \"26-Sep-11\",\n    \"ISIN\": \"INE457L01011\",\n    \"MarketCap\": \"₹ 6,174 Cr.\",\n    \"CurrentPrice\": \"₹ 2,372\",\n    \"HighLow\": \"₹ 2,570 / 1,002\",\n    \"StockPE\": \"61.7\",\n    \"BookValue\": \"₹ 361\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"17.3 %\",\n    \"ROE\": \"22.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Procter & Gamble Hygiene and Health Care Limited\",\n    \"Symbol\": \"PGHH\",\n    \"ListingDate\": \"07-Jul-04\",\n    \"ISIN\": \"INE179A01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Procter & Gamble Health Limited\",\n    \"Symbol\": \"PGHL\",\n    \"ListingDate\": \"24-Apr-96\",\n    \"ISIN\": \"INE199A01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Pearl Global Industries Limited\",\n    \"Symbol\": \"PGIL\",\n    \"ListingDate\": \"15-Feb-07\",\n    \"ISIN\": \"INE940H01014\",\n    \"MarketCap\": \"₹ 2,840 Cr.\",\n    \"CurrentPrice\": \"₹ 1,304\",\n    \"HighLow\": \"₹ 1,471 / 334\",\n    \"StockPE\": \"18.1\",\n    \"BookValue\": \"₹ 339\",\n    \"DividendYield\": \"1.36 %\",\n    \"ROCE\": \"19.2 %\",\n    \"ROE\": \"21.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"The Phoenix Mills Limited\",\n    \"Symbol\": \"PHOENIXLTD\",\n    \"ListingDate\": \"23-Apr-07\",\n    \"ISIN\": \"INE211B01039\",\n    \"MarketCap\": \"₹ 40,021 Cr.\",\n    \"CurrentPrice\": \"₹ 2,240\",\n    \"HighLow\": \"₹ 2,438 / 1,186\",\n    \"StockPE\": \"45.1\",\n    \"BookValue\": \"₹ 494\",\n    \"DividendYield\": \"0.22 %\",\n    \"ROCE\": \"9.94 %\",\n    \"ROE\": \"11.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Pidilite Industries Limited\",\n    \"Symbol\": \"PIDILITIND\",\n    \"ListingDate\": \"29-Mar-95\",\n    \"ISIN\": \"INE318A01026\",\n    \"MarketCap\": \"₹ 1,39,868 Cr.\",\n    \"CurrentPrice\": \"₹ 2,750\",\n    \"HighLow\": \"₹ 2,750 / 2,250\",\n    \"StockPE\": \"92.9\",\n    \"BookValue\": \"₹ 148\",\n    \"DividendYield\": \"0.40 %\",\n    \"ROCE\": \"23.8 %\",\n    \"ROE\": \"18.7 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Power & Instrumentation (Gujarat) Limited\",\n    \"Symbol\": \"PIGL\",\n    \"ListingDate\": \"17-May-23\",\n    \"ISIN\": \"INE557Z01018\",\n    \"MarketCap\": \"₹ 64.1 Cr.\",\n    \"CurrentPrice\": \"₹ 50.8\",\n    \"HighLow\": \"₹ 93.4 / 36.2\",\n    \"StockPE\": \"15.0\",\n    \"BookValue\": \"₹ 37.5\",\n    \"DividendYield\": \"0.40 %\",\n    \"ROCE\": \"11.8 %\",\n    \"ROE\": \"9.14 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"PI Industries Limited\",\n    \"Symbol\": \"PIIND\",\n    \"ListingDate\": \"15-Jun-11\",\n    \"ISIN\": \"INE603J01030\",\n    \"MarketCap\": \"₹ 53,158 Cr.\",\n    \"CurrentPrice\": \"₹ 3,504\",\n    \"HighLow\": \"₹ 4,011 / 2,869\",\n    \"StockPE\": \"35.5\",\n    \"BookValue\": \"₹ 526\",\n    \"DividendYield\": \"0.29 %\",\n    \"ROCE\": \"21.7 %\",\n    \"ROE\": \"18.5 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Pilani Investment and Industries Corporation Limited\",\n    \"Symbol\": \"PILANIINVS\",\n    \"ListingDate\": \"08-Dec-15\",\n    \"ISIN\": \"INE417C01014\",\n    \"MarketCap\": \"₹ 3,519 Cr.\",\n    \"CurrentPrice\": \"₹ 3,178\",\n    \"HighLow\": \"₹ 3,330 / 1,602\",\n    \"StockPE\": \"18.5\",\n    \"BookValue\": \"₹ 11,411\",\n    \"DividendYield\": \"0.47 %\",\n    \"ROCE\": \"2.26 %\",\n    \"ROE\": \"2.21 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"PIL ITALICA LIFESTYLE LIMITED\",\n    \"Symbol\": \"PILITA\",\n    \"ListingDate\": \"07-Oct-13\",\n    \"ISIN\": \"INE600A01035\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Pioneer Embroideries Limited\",\n    \"Symbol\": \"PIONEEREMB\",\n    \"ListingDate\": \"16-May-06\",\n    \"ISIN\": \"INE156C01018\",\n    \"MarketCap\": \"₹ 132 Cr.\",\n    \"CurrentPrice\": \"₹ 49.0\",\n    \"HighLow\": \"₹ 64.8 / 26.3\",\n    \"StockPE\": \"62.1\",\n    \"BookValue\": \"₹ 50.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.76 %\",\n    \"ROE\": \"0.88 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Pitti Engineering Limited\",\n    \"Symbol\": \"PITTIENG\",\n    \"ListingDate\": \"02-Feb-07\",\n    \"ISIN\": \"INE450D01021\",\n    \"MarketCap\": \"₹ 2,269 Cr.\",\n    \"CurrentPrice\": \"₹ 708\",\n    \"HighLow\": \"₹ 749 / 256\",\n    \"StockPE\": \"30.9\",\n    \"BookValue\": \"₹ 113\",\n    \"DividendYield\": \"0.38 %\",\n    \"ROCE\": \"18.2 %\",\n    \"ROE\": \"19.0 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Pix Transmissions Limited\",\n    \"Symbol\": \"PIXTRANS\",\n    \"ListingDate\": \"28-Apr-22\",\n    \"ISIN\": \"INE751B01018\",\n    \"MarketCap\": \"₹ 1,819 Cr.\",\n    \"CurrentPrice\": \"₹ 1,334\",\n    \"HighLow\": \"₹ 1,569 / 702\",\n    \"StockPE\": \"26.9\",\n    \"BookValue\": \"₹ 326\",\n    \"DividendYield\": \"0.43 %\",\n    \"ROCE\": \"19.5 %\",\n    \"ROE\": \"16.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"The Peria Karamalai Tea & Produce Company Limited\",\n    \"Symbol\": \"PKTEA\",\n    \"ListingDate\": \"19-Aug-15\",\n    \"ISIN\": \"INE431F01018\",\n    \"MarketCap\": \"₹ 93.5 Cr.\",\n    \"CurrentPrice\": \"₹ 302\",\n    \"HighLow\": \"₹ 334 / 221\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 591\",\n    \"DividendYield\": \"0.16 %\",\n    \"ROCE\": \"-0.58 %\",\n    \"ROE\": \"-1.88 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Plastiblends India Limited\",\n    \"Symbol\": \"PLASTIBLEN\",\n    \"ListingDate\": \"28-Dec-06\",\n    \"ISIN\": \"INE083C01022\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Plaza Wires Limited\",\n    \"Symbol\": \"PLAZACABLE\",\n    \"ListingDate\": \"12-Oct-23\",\n    \"ISIN\": \"INE0INJ01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Punjab National Bank\",\n    \"Symbol\": \"PNB\",\n    \"ListingDate\": \"24-Apr-02\",\n    \"ISIN\": \"INE160A01022\",\n    \"MarketCap\": \"₹ 1,04,473 Cr.\",\n    \"CurrentPrice\": \"₹ 94.9\",\n    \"HighLow\": \"₹ 97.7 / 44.4\",\n    \"StockPE\": \"17.7\",\n    \"BookValue\": \"₹ 93.4\",\n    \"DividendYield\": \"0.68 %\",\n    \"ROCE\": \"4.10 %\",\n    \"ROE\": \"3.34 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"PNB Gilts Limited\",\n    \"Symbol\": \"PNBGILTS\",\n    \"ListingDate\": \"18-Sep-00\",\n    \"ISIN\": \"INE859A01011\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"PNB Housing Finance Limited\",\n    \"Symbol\": \"PNBHOUSING\",\n    \"ListingDate\": \"07-Nov-16\",\n    \"ISIN\": \"INE572E01012\",\n    \"MarketCap\": \"₹ 20,214 Cr.\",\n    \"CurrentPrice\": \"₹ 778\",\n    \"HighLow\": \"₹ 833 / 383\",\n    \"StockPE\": \"15.8\",\n    \"BookValue\": \"₹ 547\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.25 %\",\n    \"ROE\": \"10.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Pritish Nandy Communications Limited\",\n    \"Symbol\": \"PNC\",\n    \"ListingDate\": \"11-Dec-00\",\n    \"ISIN\": \"INE392B01011\",\n    \"MarketCap\": \"₹ 69.7 Cr.\",\n    \"CurrentPrice\": \"₹ 48.2\",\n    \"HighLow\": \"₹ 57.9 / 29.2\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 50.5\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-5.00 %\",\n    \"ROE\": \"-5.28 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"PNC Infratech Limited\",\n    \"Symbol\": \"PNCINFRA\",\n    \"ListingDate\": \"26-May-15\",\n    \"ISIN\": \"INE195J01029\",\n    \"MarketCap\": \"₹ 9,058 Cr.\",\n    \"CurrentPrice\": \"₹ 353\",\n    \"HighLow\": \"₹ 388 / 261\",\n    \"StockPE\": \"14.7\",\n    \"BookValue\": \"₹ 180\",\n    \"DividendYield\": \"0.14 %\",\n    \"ROCE\": \"14.8 %\",\n    \"ROE\": \"16.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Pondy Oxides & Chemicals Limited\",\n    \"Symbol\": \"POCL\",\n    \"ListingDate\": \"06-Mar-23\",\n    \"ISIN\": \"INE063E01046\",\n    \"MarketCap\": \"₹ 588 Cr.\",\n    \"CurrentPrice\": \"₹ 506\",\n    \"HighLow\": \"₹ 550 / 262\",\n    \"StockPE\": \"16.3\",\n    \"BookValue\": \"₹ 231\",\n    \"DividendYield\": \"0.99 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Poddar Housing and Development Limited\",\n    \"Symbol\": \"PODDARHOUS\",\n    \"ListingDate\": \"10-Apr-17\",\n    \"ISIN\": \"INE888B01018\",\n    \"MarketCap\": \"₹ 84.6 Cr.\",\n    \"CurrentPrice\": \"₹ 134\",\n    \"HighLow\": \"₹ 229 / 80.9\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 139\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-3.95 %\",\n    \"ROE\": \"-34.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Poddar Pigments Limited\",\n    \"Symbol\": \"PODDARMENT\",\n    \"ListingDate\": \"22-Nov-16\",\n    \"ISIN\": \"INE371C01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Pokarna Limited\",\n    \"Symbol\": \"POKARNA\",\n    \"ListingDate\": \"07-Jul-16\",\n    \"ISIN\": \"INE637C01025\",\n    \"MarketCap\": \"₹ 1,526 Cr.\",\n    \"CurrentPrice\": \"₹ 492\",\n    \"HighLow\": \"₹ 600 / 234\",\n    \"StockPE\": \"23.9\",\n    \"BookValue\": \"₹ 179\",\n    \"DividendYield\": \"0.12 %\",\n    \"ROCE\": \"14.6 %\",\n    \"ROE\": \"13.8 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"PB Fintech Limited\",\n    \"Symbol\": \"POLICYBZR\",\n    \"ListingDate\": \"15-Nov-21\",\n    \"ISIN\": \"INE417T01026\",\n    \"MarketCap\": \"₹ 36,233 Cr.\",\n    \"CurrentPrice\": \"₹ 803\",\n    \"HighLow\": \"₹ 891 / 391\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 125\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-8.27 %\",\n    \"ROE\": \"-8.95 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Polycab India Limited\",\n    \"Symbol\": \"POLYCAB\",\n    \"ListingDate\": \"16-Apr-19\",\n    \"ISIN\": \"INE455K01017\",\n    \"MarketCap\": \"₹ 82,785 Cr.\",\n    \"CurrentPrice\": \"₹ 5,513\",\n    \"HighLow\": \"₹ 5,733 / 2,546\",\n    \"StockPE\": \"51.4\",\n    \"BookValue\": \"₹ 480\",\n    \"DividendYield\": \"0.37 %\",\n    \"ROCE\": \"27.0 %\",\n    \"ROE\": \"20.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Poly Medicure Limited\",\n    \"Symbol\": \"POLYMED\",\n    \"ListingDate\": \"07-Dec-11\",\n    \"ISIN\": \"INE205C01021\",\n    \"MarketCap\": \"₹ 14,258 Cr.\",\n    \"CurrentPrice\": \"₹ 1,486\",\n    \"HighLow\": \"₹ 1,677 / 820\",\n    \"StockPE\": \"61.0\",\n    \"BookValue\": \"₹ 139\",\n    \"DividendYield\": \"0.21 %\",\n    \"ROCE\": \"18.3 %\",\n    \"ROE\": \"14.8 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Polyplex Corporation Limited\",\n    \"Symbol\": \"POLYPLEX\",\n    \"ListingDate\": \"11-Apr-03\",\n    \"ISIN\": \"INE633B01018\",\n    \"MarketCap\": \"₹ 3,308 Cr.\",\n    \"CurrentPrice\": \"₹ 1,054\",\n    \"HighLow\": \"₹ 1,697 / 991\",\n    \"StockPE\": \"46.5\",\n    \"BookValue\": \"₹ 1,105\",\n    \"DividendYield\": \"2.21 %\",\n    \"ROCE\": \"11.6 %\",\n    \"ROE\": \"10.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ponni Sugars (Erode) Limited\",\n    \"Symbol\": \"PONNIERODE\",\n    \"ListingDate\": \"16-Apr-02\",\n    \"ISIN\": \"INE838E01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Poonawalla Fincorp Limited\",\n    \"Symbol\": \"POONAWALLA\",\n    \"ListingDate\": \"27-Apr-04\",\n    \"ISIN\": \"INE511C01022\",\n    \"MarketCap\": \"₹ 33,663 Cr.\",\n    \"CurrentPrice\": \"₹ 438\",\n    \"HighLow\": \"₹ 452 / 274\",\n    \"StockPE\": \"39.2\",\n    \"BookValue\": \"₹ 102\",\n    \"DividendYield\": \"0.45 %\",\n    \"ROCE\": \"8.53 %\",\n    \"ROE\": \"10.5 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Power Grid Corporation of India Limited\",\n    \"Symbol\": \"POWERGRID\",\n    \"ListingDate\": \"05-Oct-07\",\n    \"ISIN\": \"INE752E01010\",\n    \"MarketCap\": \"₹ 2,19,541 Cr.\",\n    \"CurrentPrice\": \"₹ 236\",\n    \"HighLow\": \"₹ 240 / 153\",\n    \"StockPE\": \"14.3\",\n    \"BookValue\": \"₹ 93.4\",\n    \"DividendYield\": \"4.74 %\",\n    \"ROCE\": \"13.1 %\",\n    \"ROE\": \"19.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Hitachi Energy India Limited\",\n    \"Symbol\": \"POWERINDIA\",\n    \"ListingDate\": \"30-Mar-20\",\n    \"ISIN\": \"INE07Y701011\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Power Mech Projects Limited\",\n    \"Symbol\": \"POWERMECH\",\n    \"ListingDate\": \"26-Aug-15\",\n    \"ISIN\": \"INE211R01019\",\n    \"MarketCap\": \"₹ 6,670 Cr.\",\n    \"CurrentPrice\": \"₹ 4,219\",\n    \"HighLow\": \"₹ 5,069 / 1,571\",\n    \"StockPE\": \"29.3\",\n    \"BookValue\": \"₹ 918\",\n    \"DividendYield\": \"0.05 %\",\n    \"ROCE\": \"22.2 %\",\n    \"ROE\": \"17.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"PPAP Automotive Limited\",\n    \"Symbol\": \"PPAP\",\n    \"ListingDate\": \"11-Jan-08\",\n    \"ISIN\": \"INE095I01015\",\n    \"MarketCap\": \"₹ 342 Cr.\",\n    \"CurrentPrice\": \"₹ 244\",\n    \"HighLow\": \"₹ 295 / 148\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 209\",\n    \"DividendYield\": \"0.61 %\",\n    \"ROCE\": \"1.58 %\",\n    \"ROE\": \"-2.02 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Prakash Pipes Limited\",\n    \"Symbol\": \"PPL\",\n    \"ListingDate\": \"14-Jun-19\",\n    \"ISIN\": \"INE050001010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Piramal Pharma Limited\",\n    \"Symbol\": \"PPLPHARMA\",\n    \"ListingDate\": \"19-Oct-22\",\n    \"ISIN\": \"INE0DK501011\",\n    \"MarketCap\": \"₹ 18,257 Cr.\",\n    \"CurrentPrice\": \"₹ 138\",\n    \"HighLow\": \"₹ 142 / 61.6\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 58.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.98 %\",\n    \"ROE\": \"-2.76 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Prajay Engineers Syndicate Limited\",\n    \"Symbol\": \"PRAENG\",\n    \"ListingDate\": \"02-Jan-07\",\n    \"ISIN\": \"INE505C01016\",\n    \"MarketCap\": \"₹ 142 Cr.\",\n    \"CurrentPrice\": \"₹ 20.3\",\n    \"HighLow\": \"₹ 21.9 / 9.80\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 79.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-0.70 %\",\n    \"ROE\": \"-1.63 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Praj Industries Limited\",\n    \"Symbol\": \"PRAJIND\",\n    \"ListingDate\": \"11-Oct-95\",\n    \"ISIN\": \"INE074A01025\",\n    \"MarketCap\": \"₹ 10,277 Cr.\",\n    \"CurrentPrice\": \"₹ 559\",\n    \"HighLow\": \"₹ 650 / 299\",\n    \"StockPE\": \"37.8\",\n    \"BookValue\": \"₹ 60.6\",\n    \"DividendYield\": \"0.82 %\",\n    \"ROCE\": \"31.0 %\",\n    \"ROE\": \"23.7 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Prakash Industries Limited\",\n    \"Symbol\": \"PRAKASH\",\n    \"ListingDate\": \"10-May-95\",\n    \"ISIN\": \"INE603A01013\",\n    \"MarketCap\": \"₹ 3,009 Cr.\",\n    \"CurrentPrice\": \"₹ 168\",\n    \"HighLow\": \"₹ 203 / 48.8\",\n    \"StockPE\": \"7.80\",\n    \"BookValue\": \"₹ 174\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Prakash Steelage Limited\",\n    \"Symbol\": \"PRAKASHSTL\",\n    \"ListingDate\": \"25-Aug-10\",\n    \"ISIN\": \"INE696K01024\",\n    \"MarketCap\": \"₹ 173 Cr.\",\n    \"CurrentPrice\": \"₹ 9.88\",\n    \"HighLow\": \"₹ 10.8 / 3.20\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 6.31\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-10.6 %\",\n    \"ROE\": \"-45.1 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Praxis Home Retail Limited\",\n    \"Symbol\": \"PRAXIS\",\n    \"ListingDate\": \"31-Jan-18\",\n    \"ISIN\": \"INE546Y01022\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Precision Camshafts Limited\",\n    \"Symbol\": \"PRECAM\",\n    \"ListingDate\": \"08-Feb-16\",\n    \"ISIN\": \"INE484I01029\",\n    \"MarketCap\": \"₹ 2,317 Cr.\",\n    \"CurrentPrice\": \"₹ 244\",\n    \"HighLow\": \"₹ 319 / 88.0\",\n    \"StockPE\": \"55.9\",\n    \"BookValue\": \"₹ 75.8\",\n    \"DividendYield\": \"0.42 %\",\n    \"ROCE\": \"8.30 %\",\n    \"ROE\": \"6.55 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Precot Limited\",\n    \"Symbol\": \"PRECOT\",\n    \"ListingDate\": \"19-Aug-05\",\n    \"ISIN\": \"INE283A01014\",\n    \"MarketCap\": \"₹ 335 Cr.\",\n    \"CurrentPrice\": \"₹ 279\",\n    \"HighLow\": \"₹ 295 / 128\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 334\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"0.13 %\",\n    \"ROE\": \"-6.69 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Precision Wires India Limited\",\n    \"Symbol\": \"PRECWIRE\",\n    \"ListingDate\": \"06-Sep-95\",\n    \"ISIN\": \"INE372C01037\",\n    \"MarketCap\": \"₹ 2,151 Cr.\",\n    \"CurrentPrice\": \"₹ 120\",\n    \"HighLow\": \"₹ 141 / 59.4\",\n    \"StockPE\": \"127\",\n    \"BookValue\": \"₹ 11.2\",\n    \"DividendYield\": \"0.72 %\",\n    \"ROCE\": \"16.9 %\",\n    \"ROE\": \"8.88 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Premier Explosives Limited\",\n    \"Symbol\": \"PREMEXPLN\",\n    \"ListingDate\": \"17-Jun-16\",\n    \"ISIN\": \"INE863B01011\",\n    \"MarketCap\": \"₹ 1,693 Cr.\",\n    \"CurrentPrice\": \"₹ 1,575\",\n    \"HighLow\": \"₹ 1,688 / 350\",\n    \"StockPE\": \"73.8\",\n    \"BookValue\": \"₹ 198\",\n    \"DividendYield\": \"0.11 %\",\n    \"ROCE\": \"6.82 %\",\n    \"ROE\": \"3.76 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Premier Limited\",\n    \"Symbol\": \"PREMIER\",\n    \"ListingDate\": \"03-Apr-96\",\n    \"ISIN\": \"INE342A01018\",\n    \"MarketCap\": \"₹ 9.57 Cr.\",\n    \"CurrentPrice\": \"₹ 3.15\",\n    \"HighLow\": \"₹ 4.41 / 1.80\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -107\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Premier Polyfilm Limited\",\n    \"Symbol\": \"PREMIERPOL\",\n    \"ListingDate\": \"13-Dec-95\",\n    \"ISIN\": \"INE309M01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Prestige Estates Projects Limited\",\n    \"Symbol\": \"PRESTIGE\",\n    \"ListingDate\": \"27-Oct-10\",\n    \"ISIN\": \"INE811K01011\",\n    \"MarketCap\": \"₹ 46,402 Cr.\",\n    \"CurrentPrice\": \"₹ 1,158\",\n    \"HighLow\": \"₹ 1,232 / 391\",\n    \"StockPE\": \"27.2\",\n    \"BookValue\": \"₹ 275\",\n    \"DividendYield\": \"0.13 %\",\n    \"ROCE\": \"10.3 %\",\n    \"ROE\": \"7.56 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Pricol Limited\",\n    \"Symbol\": \"PRICOLLTD\",\n    \"ListingDate\": \"10-Feb-17\",\n    \"ISIN\": \"INE726V01018\",\n    \"MarketCap\": \"₹ 4,612 Cr.\",\n    \"CurrentPrice\": \"₹ 378\",\n    \"HighLow\": \"₹ 393 / 174\",\n    \"StockPE\": \"37.9\",\n    \"BookValue\": \"₹ 63.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"20.1 %\",\n    \"ROE\": \"18.3 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Prime Securities Limited\",\n    \"Symbol\": \"PRIMESECU\",\n    \"ListingDate\": \"17-Jun-05\",\n    \"ISIN\": \"INE032B01021\",\n    \"MarketCap\": \"₹ 567 Cr.\",\n    \"CurrentPrice\": \"₹ 172\",\n    \"HighLow\": \"₹ 197 / 92.3\",\n    \"StockPE\": \"34.8\",\n    \"BookValue\": \"₹ 41.3\",\n    \"DividendYield\": \"0.30 %\",\n    \"ROCE\": \"11.6 %\",\n    \"ROE\": \"8.35 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Prince Pipes And Fittings Limited\",\n    \"Symbol\": \"PRINCEPIPE\",\n    \"ListingDate\": \"30-Dec-19\",\n    \"ISIN\": \"INE689W01016\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Priti International Limited\",\n    \"Symbol\": \"PRITI\",\n    \"ListingDate\": \"02-Mar-22\",\n    \"ISIN\": \"INE974Z01015\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Pritika Auto Industries Limited\",\n    \"Symbol\": \"PRITIKAUTO\",\n    \"ListingDate\": \"10-Aug-21\",\n    \"ISIN\": \"INE583R01029\",\n    \"MarketCap\": \"₹ 300 Cr.\",\n    \"CurrentPrice\": \"₹ 32.8\",\n    \"HighLow\": \"₹ 39.6 / 13.1\",\n    \"StockPE\": \"24.6\",\n    \"BookValue\": \"₹ 19.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"12.8 %\",\n    \"ROE\": \"10.1 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Privi Speciality Chemicals Limited\",\n    \"Symbol\": \"PRIVISCL\",\n    \"ListingDate\": \"08-May-15\",\n    \"ISIN\": \"INE959A01019\",\n    \"MarketCap\": \"₹ 4,570 Cr.\",\n    \"CurrentPrice\": \"₹ 1,170\",\n    \"HighLow\": \"₹ 1,366 / 871\",\n    \"StockPE\": \"171\",\n    \"BookValue\": \"₹ 221\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.52 %\",\n    \"ROE\": \"2.64 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Prozone Realty Limited\",\n    \"Symbol\": \"PROZONER\",\n    \"ListingDate\": \"12-Sep-12\",\n    \"ISIN\": \"INE195N01013\",\n    \"MarketCap\": \"₹ 521 Cr.\",\n    \"CurrentPrice\": \"₹ 34.2\",\n    \"HighLow\": \"₹ 41.5 / 20.5\",\n    \"StockPE\": \"23.7\",\n    \"BookValue\": \"₹ 34.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"6.99 %\",\n    \"ROE\": \"4.98 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Prism Johnson Limited\",\n    \"Symbol\": \"PRSMJOHNSN\",\n    \"ListingDate\": \"20-Aug-03\",\n    \"ISIN\": \"INE010A01011\",\n    \"MarketCap\": \"₹ 9,199 Cr.\",\n    \"CurrentPrice\": \"₹ 183\",\n    \"HighLow\": \"₹ 192 / 98.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 28.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"0.86 %\",\n    \"ROE\": \"-7.70 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Prudent Corporate Advisory Services Limited\",\n    \"Symbol\": \"PRUDENT\",\n    \"ListingDate\": \"20-May-22\",\n    \"ISIN\": \"INE00F201020\",\n    \"MarketCap\": \"₹ 5,118 Cr.\",\n    \"CurrentPrice\": \"₹ 1,236\",\n    \"HighLow\": \"₹ 1,378 / 703\",\n    \"StockPE\": \"39.9\",\n    \"BookValue\": \"₹ 97.1\",\n    \"DividendYield\": \"0.12 %\",\n    \"ROCE\": \"51.4 %\",\n    \"ROE\": \"39.7 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Prudential Sugar Corporation Limited\",\n    \"Symbol\": \"PRUDMOULI\",\n    \"ListingDate\": \"10-May-95\",\n    \"ISIN\": \"INE024D01016\",\n    \"MarketCap\": \"₹ 130 Cr.\",\n    \"CurrentPrice\": \"₹ 36.4\",\n    \"HighLow\": \"₹ 36.4 / 28.0\",\n    \"StockPE\": \"26.1\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.32 %\",\n    \"ROE\": \"5.05 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Punjab & Sind Bank\",\n    \"Symbol\": \"PSB\",\n    \"ListingDate\": \"30-Dec-10\",\n    \"ISIN\": \"INE608A01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"PSP Projects Limited\",\n    \"Symbol\": \"PSPPROJECT\",\n    \"ListingDate\": \"29-May-17\",\n    \"ISIN\": \"INE488V01015\",\n    \"MarketCap\": \"₹ 2,744 Cr.\",\n    \"CurrentPrice\": \"₹ 762\",\n    \"HighLow\": \"₹ 846 / 652\",\n    \"StockPE\": \"17.4\",\n    \"BookValue\": \"₹ 241\",\n    \"DividendYield\": \"0.33 %\",\n    \"ROCE\": \"24.7 %\",\n    \"ROE\": \"17.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"PTC India Limited\",\n    \"Symbol\": \"PTC\",\n    \"ListingDate\": \"07-Apr-04\",\n    \"ISIN\": \"INE877F01012\",\n    \"MarketCap\": \"₹ 5,670 Cr.\",\n    \"CurrentPrice\": \"₹ 192\",\n    \"HighLow\": \"₹ 204 / 78.8\",\n    \"StockPE\": \"10.9\",\n    \"BookValue\": \"₹ 172\",\n    \"DividendYield\": \"4.08 %\",\n    \"ROCE\": \"9.21 %\",\n    \"ROE\": \"9.03 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"PTC Industries Limited\",\n    \"Symbol\": \"PTCIL\",\n    \"ListingDate\": \"09-Jun-23\",\n    \"ISIN\": \"INE596F01018\",\n    \"MarketCap\": \"₹ 8,191 Cr.\",\n    \"CurrentPrice\": \"₹ 6,034\",\n    \"HighLow\": \"₹ 6,790 / 2,234\",\n    \"StockPE\": \"236\",\n    \"BookValue\": \"₹ 277\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"12.2 %\",\n    \"ROE\": \"11.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"PTL Enterprises Limited\",\n    \"Symbol\": \"PTL\",\n    \"ListingDate\": \"29-Jan-07\",\n    \"ISIN\": \"INE034D01049\",\n    \"MarketCap\": \"₹ 549 Cr.\",\n    \"CurrentPrice\": \"₹ 41.5\",\n    \"HighLow\": \"₹ 48.0 / 29.5\",\n    \"StockPE\": \"12.1\",\n    \"BookValue\": \"₹ 58.8\",\n    \"DividendYield\": \"4.22 %\",\n    \"ROCE\": \"14.1 %\",\n    \"ROE\": \"9.74 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Punjab Chemicals & Crop Protection Limited\",\n    \"Symbol\": \"PUNJABCHEM\",\n    \"ListingDate\": \"08-Mar-07\",\n    \"ISIN\": \"INE277B01014\",\n    \"MarketCap\": \"₹ 1,622 Cr.\",\n    \"CurrentPrice\": \"₹ 1,323\",\n    \"HighLow\": \"₹ 1,364 / 722\",\n    \"StockPE\": \"25.6\",\n    \"BookValue\": \"₹ 258\",\n    \"DividendYield\": \"0.23 %\",\n    \"ROCE\": \"30.9 %\",\n    \"ROE\": \"24.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Puravankara Limited\",\n    \"Symbol\": \"PURVA\",\n    \"ListingDate\": \"30-Aug-07\",\n    \"ISIN\": \"INE323I01011\",\n    \"MarketCap\": \"₹ 4,411 Cr.\",\n    \"CurrentPrice\": \"₹ 186\",\n    \"HighLow\": \"₹ 204 / 58.2\",\n    \"StockPE\": \"219\",\n    \"BookValue\": \"₹ 82.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.30 %\",\n    \"ROE\": \"2.92 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"PVP Ventures Limited\",\n    \"Symbol\": \"PVP\",\n    \"ListingDate\": \"03-Apr-96\",\n    \"ISIN\": \"INE362A01016\",\n    \"MarketCap\": \"₹ 383 Cr.\",\n    \"CurrentPrice\": \"₹ 14.7\",\n    \"HighLow\": \"₹ 17.5 / 5.90\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 5.67\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"61.2 %\",\n    \"ROE\": \"127 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"PVR INOX Limited\",\n    \"Symbol\": \"PVRINOX\",\n    \"ListingDate\": \"04-Jan-06\",\n    \"ISIN\": \"INE191H01014\",\n    \"MarketCap\": \"₹ 16,277 Cr.\",\n    \"CurrentPrice\": \"₹ 1,659\",\n    \"HighLow\": \"₹ 1,880 / 1,336\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 758\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"3.28 %\",\n    \"ROE\": \"-7.76 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Pyramid Technoplast Limited\",\n    \"Symbol\": \"PYRAMID\",\n    \"ListingDate\": \"29-Aug-23\",\n    \"ISIN\": \"INE0MIS01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Quess Corp Limited\",\n    \"Symbol\": \"QUESS\",\n    \"ListingDate\": \"12-Jul-16\",\n    \"ISIN\": \"INE615P01015\",\n    \"MarketCap\": \"₹ 7,793 Cr.\",\n    \"CurrentPrice\": \"₹ 525\",\n    \"HighLow\": \"₹ 532 / 337\",\n    \"StockPE\": \"40.1\",\n    \"BookValue\": \"₹ 182\",\n    \"DividendYield\": \"1.55 %\",\n    \"ROCE\": \"9.39 %\",\n    \"ROE\": \"7.37 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Quick Heal Technologies Limited\",\n    \"Symbol\": \"QUICKHEAL\",\n    \"ListingDate\": \"18-Feb-16\",\n    \"ISIN\": \"INE306L01010\",\n    \"MarketCap\": \"₹ 1,902 Cr.\",\n    \"CurrentPrice\": \"₹ 357\",\n    \"HighLow\": \"₹ 398 / 125\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 74.6\",\n    \"DividendYield\": \"0.69 %\",\n    \"ROCE\": \"0.17 %\",\n    \"ROE\": \"0.16 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Race Eco Chain Limited\",\n    \"Symbol\": \"RACE\",\n    \"ListingDate\": \"09-May-23\",\n    \"ISIN\": \"INE084Q01012\",\n    \"MarketCap\": \"₹ 616 Cr.\",\n    \"CurrentPrice\": \"₹ 375\",\n    \"HighLow\": \"₹ 409 / 170\",\n    \"StockPE\": \"474\",\n    \"BookValue\": \"₹ 13.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Radaan Mediaworks India Limited\",\n    \"Symbol\": \"RADAAN\",\n    \"ListingDate\": \"27-Feb-03\",\n    \"ISIN\": \"INE874F01027\",\n    \"MarketCap\": \"₹ 10.3 Cr.\",\n    \"CurrentPrice\": \"₹ 1.90\",\n    \"HighLow\": \"₹ 2.20 / 1.16\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -2.66\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"3.47 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Radhika Jeweltech Limited\",\n    \"Symbol\": \"RADHIKAJWE\",\n    \"ListingDate\": \"18-Jul-22\",\n    \"ISIN\": \"INE583V01021\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Radiant Cash Management Services Limited\",\n    \"Symbol\": \"RADIANTCMS\",\n    \"ListingDate\": \"04-Jan-23\",\n    \"ISIN\": \"INE855R01021\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Radico Khaitan Limited\",\n    \"Symbol\": \"RADICO\",\n    \"ListingDate\": \"18-Jun-03\",\n    \"ISIN\": \"INE944F01028\",\n    \"MarketCap\": \"₹ 22,383 Cr.\",\n    \"CurrentPrice\": \"₹ 1,674\",\n    \"HighLow\": \"₹ 1,885 / 994\",\n    \"StockPE\": \"94.5\",\n    \"BookValue\": \"₹ 172\",\n    \"DividendYield\": \"0.18 %\",\n    \"ROCE\": \"11.4 %\",\n    \"ROE\": \"10.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Music Broadcast Limited\",\n    \"Symbol\": \"RADIOCITY\",\n    \"ListingDate\": \"17-Mar-17\",\n    \"ISIN\": \"INE919I01024\",\n    \"MarketCap\": \"₹ 583 Cr.\",\n    \"CurrentPrice\": \"₹ 16.9\",\n    \"HighLow\": \"₹ 27.8 / 9.55\",\n    \"StockPE\": \"12.4\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"21.7 %\",\n    \"ROE\": \"139 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Railtel Corporation Of India Limited\",\n    \"Symbol\": \"RAILTEL\",\n    \"ListingDate\": \"26-Feb-21\",\n    \"ISIN\": \"INE0DD101019\",\n    \"MarketCap\": \"₹ 9,917 Cr.\",\n    \"CurrentPrice\": \"₹ 309\",\n    \"HighLow\": \"₹ 321 / 96.2\",\n    \"StockPE\": \"52.8\",\n    \"BookValue\": \"₹ 53.7\",\n    \"DividendYield\": \"0.80 %\",\n    \"ROCE\": \"16.2 %\",\n    \"ROE\": \"12.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Rain Industries Limited\",\n    \"Symbol\": \"RAIN\",\n    \"ListingDate\": \"03-Mar-08\",\n    \"ISIN\": \"INE855B01025\",\n    \"MarketCap\": \"₹ 5,158 Cr.\",\n    \"CurrentPrice\": \"₹ 153\",\n    \"HighLow\": \"₹ 185 / 140\",\n    \"StockPE\": \"17.5\",\n    \"BookValue\": \"₹ 253\",\n    \"DividendYield\": \"0.67 %\",\n    \"ROCE\": \"17.1 %\",\n    \"ROE\": \"19.8 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Rainbow Childrens Medicare Limited\",\n    \"Symbol\": \"RAINBOW\",\n    \"ListingDate\": \"10-May-22\",\n    \"ISIN\": \"INE961O01016\",\n    \"MarketCap\": \"₹ 11,976 Cr.\",\n    \"CurrentPrice\": \"₹ 1,180\",\n    \"HighLow\": \"₹ 1,216 / 682\",\n    \"StockPE\": \"55.6\",\n    \"BookValue\": \"₹ 112\",\n    \"DividendYield\": \"0.25 %\",\n    \"ROCE\": \"24.1 %\",\n    \"ROE\": \"25.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Rajesh Exports Limited\",\n    \"Symbol\": \"RAJESHEXPO\",\n    \"ListingDate\": \"09-Feb-00\",\n    \"ISIN\": \"INE343B01030\",\n    \"MarketCap\": \"₹ 10,792 Cr.\",\n    \"CurrentPrice\": \"₹ 366\",\n    \"HighLow\": \"₹ 1,030 / 334\",\n    \"StockPE\": \"9.45\",\n    \"BookValue\": \"₹ 516\",\n    \"DividendYield\": \"0.27 %\",\n    \"ROCE\": \"10.9 %\",\n    \"ROE\": \"10.5 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Rajnandini Metal Limited\",\n    \"Symbol\": \"RAJMET\",\n    \"ListingDate\": \"16-Feb-21\",\n    \"ISIN\": \"INE00KV01022\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Rajratan Global Wire Limited\",\n    \"Symbol\": \"RAJRATAN\",\n    \"ListingDate\": \"22-May-20\",\n    \"ISIN\": \"INE451D01029\",\n    \"MarketCap\": \"₹ 3,902 Cr.\",\n    \"CurrentPrice\": \"₹ 768\",\n    \"HighLow\": \"₹ 920 / 697\",\n    \"StockPE\": \"52.6\",\n    \"BookValue\": \"₹ 89.0\",\n    \"DividendYield\": \"0.26 %\",\n    \"ROCE\": \"27.0 %\",\n    \"ROE\": \"25.7 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Raj Rayon Industries Limited\",\n    \"Symbol\": \"RAJRILTD\",\n    \"ListingDate\": \"16-Mar-22\",\n    \"ISIN\": \"INE533D01032\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Rajshree Sugars & Chemicals Limited\",\n    \"Symbol\": \"RAJSREESUG\",\n    \"ListingDate\": \"29-Mar-95\",\n    \"ISIN\": \"INE562B01019\",\n    \"MarketCap\": \"₹ 186 Cr.\",\n    \"CurrentPrice\": \"₹ 56.0\",\n    \"HighLow\": \"₹ 62.4 / 32.6\",\n    \"StockPE\": \"7.04\",\n    \"BookValue\": \"₹ 46.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"11.0 %\",\n    \"ROE\": \"22.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Raj Television Network Limited\",\n    \"Symbol\": \"RAJTV\",\n    \"ListingDate\": \"16-Mar-07\",\n    \"ISIN\": \"INE952H01027\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Rallis India Limited\",\n    \"Symbol\": \"RALLIS\",\n    \"ListingDate\": \"01-Apr-99\",\n    \"ISIN\": \"INE613A01020\",\n    \"MarketCap\": \"₹ 4,881 Cr.\",\n    \"CurrentPrice\": \"₹ 251\",\n    \"HighLow\": \"₹ 264 / 186\",\n    \"StockPE\": \"30.9\",\n    \"BookValue\": \"₹ 87.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"12.8 %\",\n    \"ROE\": \"9.61 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Shree Rama Newsprint Limited\",\n    \"Symbol\": \"RAMANEWS\",\n    \"ListingDate\": \"20-Sep-06\",\n    \"ISIN\": \"INE278B01020\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Rama Phosphates Limited\",\n    \"Symbol\": \"RAMAPHO\",\n    \"ListingDate\": \"05-Aug-22\",\n    \"ISIN\": \"INE809A01024\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Rama Steel Tubes Limited\",\n    \"Symbol\": \"RAMASTEEL\",\n    \"ListingDate\": \"19-Aug-15\",\n    \"ISIN\": \"INE230R01035\",\n    \"MarketCap\": \"₹ 1,798 Cr.\",\n    \"CurrentPrice\": \"₹ 36.4\",\n    \"HighLow\": \"₹ 46.1 / 26.1\",\n    \"StockPE\": \"56.2\",\n    \"BookValue\": \"₹ 6.25\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"15.8 %\",\n    \"ROE\": \"15.2 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"The Ramco Cements Limited\",\n    \"Symbol\": \"RAMCOCEM\",\n    \"ListingDate\": \"09-Apr-97\",\n    \"ISIN\": \"INE331A01037\",\n    \"MarketCap\": \"₹ 24,125 Cr.\",\n    \"CurrentPrice\": \"₹ 1,021\",\n    \"HighLow\": \"₹ 1,058 / 636\",\n    \"StockPE\": \"69.3\",\n    \"BookValue\": \"₹ 298\",\n    \"DividendYield\": \"0.20 %\",\n    \"ROCE\": \"6.48 %\",\n    \"ROE\": \"4.65 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Ramco Industries Limited\",\n    \"Symbol\": \"RAMCOIND\",\n    \"ListingDate\": \"06-Nov-96\",\n    \"ISIN\": \"INE614A01028\",\n    \"MarketCap\": \"₹ 1,869 Cr.\",\n    \"CurrentPrice\": \"₹ 215\",\n    \"HighLow\": \"₹ 240 / 117\",\n    \"StockPE\": \"20.0\",\n    \"BookValue\": \"₹ 459\",\n    \"DividendYield\": \"0.46 %\",\n    \"ROCE\": \"3.42 %\",\n    \"ROE\": \"3.15 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Ramco Systems Limited\",\n    \"Symbol\": \"RAMCOSYS\",\n    \"ListingDate\": \"12-Apr-00\",\n    \"ISIN\": \"INE246B01019\",\n    \"MarketCap\": \"₹ 1,036 Cr.\",\n    \"CurrentPrice\": \"₹ 293\",\n    \"HighLow\": \"₹ 337 / 188\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 101\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-32.6 %\",\n    \"ROE\": \"-37.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ramky Infrastructure Limited\",\n    \"Symbol\": \"RAMKY\",\n    \"ListingDate\": \"08-Oct-10\",\n    \"ISIN\": \"INE874I01013\",\n    \"MarketCap\": \"₹ 5,352 Cr.\",\n    \"CurrentPrice\": \"₹ 773\",\n    \"HighLow\": \"₹ 824 / 252\",\n    \"StockPE\": \"22.5\",\n    \"BookValue\": \"₹ 234\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"15.8 %\",\n    \"ROE\": \"8.79 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ram Ratna Wires Limited\",\n    \"Symbol\": \"RAMRAT\",\n    \"ListingDate\": \"29-Jul-22\",\n    \"ISIN\": \"INE207E01023\",\n    \"MarketCap\": \"₹ 1,305 Cr.\",\n    \"CurrentPrice\": \"₹ 297\",\n    \"HighLow\": \"₹ 346 / 148\",\n    \"StockPE\": \"26.0\",\n    \"BookValue\": \"₹ 87.2\",\n    \"DividendYield\": \"0.85 %\",\n    \"ROCE\": \"17.0 %\",\n    \"ROE\": \"15.2 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Rana Sugars Limited\",\n    \"Symbol\": \"RANASUG\",\n    \"ListingDate\": \"24-Feb-05\",\n    \"ISIN\": \"INE625B01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Rane Engine Valve Limited\",\n    \"Symbol\": \"RANEENGINE\",\n    \"ListingDate\": \"24-Jun-08\",\n    \"ISIN\": \"INE222J01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Rane Holdings Limited\",\n    \"Symbol\": \"RANEHOLDIN\",\n    \"ListingDate\": \"24-Sep-97\",\n    \"ISIN\": \"INE384A01010\",\n    \"MarketCap\": \"₹ 1,871 Cr.\",\n    \"CurrentPrice\": \"₹ 1,310\",\n    \"HighLow\": \"₹ 1,360 / 792\",\n    \"StockPE\": \"13.9\",\n    \"BookValue\": \"₹ 592\",\n    \"DividendYield\": \"1.29 %\",\n    \"ROCE\": \"11.1 %\",\n    \"ROE\": \"8.79 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Rategain Travel Technologies Limited\",\n    \"Symbol\": \"RATEGAIN\",\n    \"ListingDate\": \"17-Dec-21\",\n    \"ISIN\": \"INE0CLI01024\",\n    \"MarketCap\": \"₹ 8,729 Cr.\",\n    \"CurrentPrice\": \"₹ 741\",\n    \"HighLow\": \"₹ 773 / 282\",\n    \"StockPE\": \"85.6\",\n    \"BookValue\": \"₹ 71.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"10.2 %\",\n    \"ROE\": \"10.2 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Ratnamani Metals & Tubes Limited\",\n    \"Symbol\": \"RATNAMANI\",\n    \"ListingDate\": \"09-May-06\",\n    \"ISIN\": \"INE703B01027\",\n    \"MarketCap\": \"₹ 23,537 Cr.\",\n    \"CurrentPrice\": \"₹ 3,358\",\n    \"HighLow\": \"₹ 3,939 / 1,886\",\n    \"StockPE\": \"37.8\",\n    \"BookValue\": \"₹ 402\",\n    \"DividendYield\": \"0.34 %\",\n    \"ROCE\": \"27.3 %\",\n    \"ROE\": \"21.0 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Ratnaveer Precision Engineering Limited\",\n    \"Symbol\": \"RATNAVEER\",\n    \"ListingDate\": \"11-Sep-23\",\n    \"ISIN\": \"INE05CZ01011\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Raymond Limited\",\n    \"Symbol\": \"RAYMOND\",\n    \"ListingDate\": \"18-Oct-95\",\n    \"ISIN\": \"INE301A01014\",\n    \"MarketCap\": \"₹ 11,601 Cr.\",\n    \"CurrentPrice\": \"₹ 1,743\",\n    \"HighLow\": \"₹ 2,240 / 1,093\",\n    \"StockPE\": \"7.10\",\n    \"BookValue\": \"₹ 630\",\n    \"DividendYield\": \"0.18 %\",\n    \"ROCE\": \"21.4 %\",\n    \"ROE\": \"22.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Restaurant Brands Asia Limited\",\n    \"Symbol\": \"RBA\",\n    \"ListingDate\": \"14-Dec-20\",\n    \"ISIN\": \"INE07T201019\",\n    \"MarketCap\": \"₹ 5,464 Cr.\",\n    \"CurrentPrice\": \"₹ 110\",\n    \"HighLow\": \"₹ 138 / 83.7\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 14.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-6.87 %\",\n    \"ROE\": \"-23.7 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Rane Brake Lining Limited\",\n    \"Symbol\": \"RBL\",\n    \"ListingDate\": \"20-Jun-08\",\n    \"ISIN\": \"INE244J01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"RBL Bank Limited\",\n    \"Symbol\": \"RBLBANK\",\n    \"ListingDate\": \"31-Aug-16\",\n    \"ISIN\": \"INE976G01028\",\n    \"MarketCap\": \"₹ 16,602 Cr.\",\n    \"CurrentPrice\": \"₹ 276\",\n    \"HighLow\": \"₹ 294 / 132\",\n    \"StockPE\": \"14.2\",\n    \"BookValue\": \"₹ 226\",\n    \"DividendYield\": \"0.55 %\",\n    \"ROCE\": \"5.50 %\",\n    \"ROE\": \"7.06 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"RBZ Jewellers Limited\",\n    \"Symbol\": \"RBZJEWEL\",\n    \"ListingDate\": \"27-Dec-23\",\n    \"ISIN\": \"INE0PEQ01016\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Rashtriya Chemicals and Fertilizers Limited\",\n    \"Symbol\": \"RCF\",\n    \"ListingDate\": \"07-Jan-98\",\n    \"ISIN\": \"INE027A01015\",\n    \"MarketCap\": \"₹ 8,857 Cr.\",\n    \"CurrentPrice\": \"₹ 161\",\n    \"HighLow\": \"₹ 164 / 89.5\",\n    \"StockPE\": \"20.6\",\n    \"BookValue\": \"₹ 85.3\",\n    \"DividendYield\": \"3.25 %\",\n    \"ROCE\": \"21.2 %\",\n    \"ROE\": \"21.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"REC Limited\",\n    \"Symbol\": \"RECLTD\",\n    \"ListingDate\": \"12-Mar-08\",\n    \"ISIN\": \"INE020B01018\",\n    \"MarketCap\": \"₹ 1,07,462 Cr.\",\n    \"CurrentPrice\": \"₹ 408\",\n    \"HighLow\": \"₹ 455 / 110\",\n    \"StockPE\": \"8.46\",\n    \"BookValue\": \"₹ 241\",\n    \"DividendYield\": \"3.10 %\",\n    \"ROCE\": \"9.14 %\",\n    \"ROE\": \"20.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Redington Limited\",\n    \"Symbol\": \"REDINGTON\",\n    \"ListingDate\": \"15-Feb-07\",\n    \"ISIN\": \"INE891D01026\",\n    \"MarketCap\": \"₹ 13,899 Cr.\",\n    \"CurrentPrice\": \"₹ 178\",\n    \"HighLow\": \"₹ 196 / 136\",\n    \"StockPE\": \"11.2\",\n    \"BookValue\": \"₹ 88.2\",\n    \"DividendYield\": \"4.06 %\",\n    \"ROCE\": \"24.9 %\",\n    \"ROE\": \"21.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Redtape Limited\",\n    \"Symbol\": \"REDTAPE\",\n    \"ListingDate\": \"11-Aug-23\",\n    \"ISIN\": \"INE0LXT01019\",\n    \"MarketCap\": \"₹ 6,455 Cr.\",\n    \"CurrentPrice\": \"₹ 467\",\n    \"HighLow\": \"₹ 575 / 411\",\n    \"StockPE\": \"45.4\",\n    \"BookValue\": \"₹ 40.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"44.8 %\",\n    \"ROE\": \"35.0 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Refex Industries Limited\",\n    \"Symbol\": \"REFEX\",\n    \"ListingDate\": \"03-Dec-09\",\n    \"ISIN\": \"INE056I01017\",\n    \"MarketCap\": \"₹ 1,334 Cr.\",\n    \"CurrentPrice\": \"₹ 603\",\n    \"HighLow\": \"₹ 924 / 220\",\n    \"StockPE\": \"11.5\",\n    \"BookValue\": \"₹ 159\",\n    \"DividendYield\": \"0.34 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Regency Ceramics Limited\",\n    \"Symbol\": \"REGENCERAM\",\n    \"ListingDate\": \"05-Jun-96\",\n    \"ISIN\": \"INE277C01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Relaxo Footwears Limited\",\n    \"Symbol\": \"RELAXO\",\n    \"ListingDate\": \"17-Jun-11\",\n    \"ISIN\": \"INE131B01039\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Reliance Chemotex Industries Limited\",\n    \"Symbol\": \"RELCHEMQ\",\n    \"ListingDate\": \"25-May-22\",\n    \"ISIN\": \"INE750D01016\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Reliance Industries Limited\",\n    \"Symbol\": \"RELIANCE\",\n    \"ListingDate\": \"29-Nov-95\",\n    \"ISIN\": \"INE002A01018\",\n    \"MarketCap\": \"₹ 17,56,946 Cr.\",\n    \"CurrentPrice\": \"₹ 2,597\",\n    \"HighLow\": \"₹ 2,632 / 2,000\",\n    \"StockPE\": \"25.7\",\n    \"BookValue\": \"₹ 1,110\",\n    \"DividendYield\": \"0.35 %\",\n    \"ROCE\": \"9.14 %\",\n    \"ROE\": \"8.94 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Religare Enterprises Limited\",\n    \"Symbol\": \"RELIGARE\",\n    \"ListingDate\": \"21-Nov-07\",\n    \"ISIN\": \"INE621H01010\",\n    \"MarketCap\": \"₹ 7,066 Cr.\",\n    \"CurrentPrice\": \"₹ 214\",\n    \"HighLow\": \"₹ 281 / 130\",\n    \"StockPE\": \"27.7\",\n    \"BookValue\": \"₹ 68.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"15.5 %\",\n    \"ROE\": \"-5.39 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Reliance Infrastructure Limited\",\n    \"Symbol\": \"RELINFRA\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE036A01016\",\n    \"MarketCap\": \"₹ 7,693 Cr.\",\n    \"CurrentPrice\": \"₹ 194\",\n    \"HighLow\": \"₹ 232 / 115\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 242\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.95 %\",\n    \"ROE\": \"-0.67 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Remsons Industries Limited\",\n    \"Symbol\": \"REMSONSIND\",\n    \"ListingDate\": \"31-Jan-96\",\n    \"ISIN\": \"INE474C01015\",\n    \"MarketCap\": \"₹ 383 Cr.\",\n    \"CurrentPrice\": \"₹ 670\",\n    \"HighLow\": \"₹ 716 / 182\",\n    \"StockPE\": \"40.8\",\n    \"BookValue\": \"₹ 81.0\",\n    \"DividendYield\": \"0.23 %\",\n    \"ROCE\": \"15.5 %\",\n    \"ROE\": \"22.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Shree Renuka Sugars Limited\",\n    \"Symbol\": \"RENUKA\",\n    \"ListingDate\": \"31-Oct-05\",\n    \"ISIN\": \"INE087H01022\",\n    \"MarketCap\": \"₹ 10,168 Cr.\",\n    \"CurrentPrice\": \"₹ 47.8\",\n    \"HighLow\": \"₹ 59.2 / 39.4\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -5.59\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.41 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Repco Home Finance Limited\",\n    \"Symbol\": \"REPCOHOME\",\n    \"ListingDate\": \"01-Apr-13\",\n    \"ISIN\": \"INE612J01015\",\n    \"MarketCap\": \"₹ 2,472 Cr.\",\n    \"CurrentPrice\": \"₹ 395\",\n    \"HighLow\": \"₹ 458 / 168\",\n    \"StockPE\": \"6.76\",\n    \"BookValue\": \"₹ 442\",\n    \"DividendYield\": \"0.69 %\",\n    \"ROCE\": \"9.00 %\",\n    \"ROE\": \"13.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Rudrabhishek Enterprises Limited\",\n    \"Symbol\": \"REPL\",\n    \"ListingDate\": \"14-Dec-20\",\n    \"ISIN\": \"INE364Z01019\",\n    \"MarketCap\": \"₹ 358 Cr.\",\n    \"CurrentPrice\": \"₹ 207\",\n    \"HighLow\": \"₹ 236 / 132\",\n    \"StockPE\": \"27.4\",\n    \"BookValue\": \"₹ 67.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"16.2 %\",\n    \"ROE\": \"12.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Repro India Limited\",\n    \"Symbol\": \"REPRO\",\n    \"ListingDate\": \"22-Dec-05\",\n    \"ISIN\": \"INE461B01014\",\n    \"MarketCap\": \"₹ 1,259 Cr.\",\n    \"CurrentPrice\": \"₹ 880\",\n    \"HighLow\": \"₹ 980 / 337\",\n    \"StockPE\": \"95.9\",\n    \"BookValue\": \"₹ 266\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.43 %\",\n    \"ROE\": \"3.24 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Responsive Industries Limited\",\n    \"Symbol\": \"RESPONIND\",\n    \"ListingDate\": \"29-Oct-10\",\n    \"ISIN\": \"INE688D01026\",\n    \"MarketCap\": \"₹ 8,376 Cr.\",\n    \"CurrentPrice\": \"₹ 314\",\n    \"HighLow\": \"₹ 365 / 105\",\n    \"StockPE\": \"77.5\",\n    \"BookValue\": \"₹ 40.2\",\n    \"DividendYield\": \"0.03 %\",\n    \"ROCE\": \"4.51 %\",\n    \"ROE\": \"2.46 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Renaissance Global Limited\",\n    \"Symbol\": \"RGL\",\n    \"ListingDate\": \"12-Dec-07\",\n    \"ISIN\": \"INE722H01024\",\n    \"MarketCap\": \"₹ 999 Cr.\",\n    \"CurrentPrice\": \"₹ 104\",\n    \"HighLow\": \"₹ 132 / 80.0\",\n    \"StockPE\": \"13.9\",\n    \"BookValue\": \"₹ 112\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.02 %\",\n    \"ROE\": \"9.06 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Reliance Home Finance Limited\",\n    \"Symbol\": \"RHFL\",\n    \"ListingDate\": \"22-Sep-17\",\n    \"ISIN\": \"INE217K01011\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"RHI MAGNESITA INDIA LIMITED\",\n    \"Symbol\": \"RHIM\",\n    \"ListingDate\": \"12-Mar-12\",\n    \"ISIN\": \"INE743M01012\",\n    \"MarketCap\": \"₹ 16,625 Cr.\",\n    \"CurrentPrice\": \"₹ 805\",\n    \"HighLow\": \"₹ 893 / 576\",\n    \"StockPE\": \"107\",\n    \"BookValue\": \"₹ 197\",\n    \"DividendYield\": \"0.31 %\",\n    \"ROCE\": \"10.8 %\",\n    \"ROE\": \"14.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Robust Hotels Limited\",\n    \"Symbol\": \"RHL\",\n    \"ListingDate\": \"25-Apr-23\",\n    \"ISIN\": \"INE508K01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Rico Auto Industries Limited\",\n    \"Symbol\": \"RICOAUTO\",\n    \"ListingDate\": \"12-May-03\",\n    \"ISIN\": \"INE209B01025\",\n    \"MarketCap\": \"₹ 1,185 Cr.\",\n    \"CurrentPrice\": \"₹ 87.6\",\n    \"HighLow\": \"₹ 112 / 63.0\",\n    \"StockPE\": \"24.3\",\n    \"BookValue\": \"₹ 51.4\",\n    \"DividendYield\": \"0.87 %\",\n    \"ROCE\": \"9.50 %\",\n    \"ROE\": \"7.36 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Reliance Industrial Infrastructure Limited\",\n    \"Symbol\": \"RIIL\",\n    \"ListingDate\": \"29-Nov-95\",\n    \"ISIN\": \"INE046A01015\",\n    \"MarketCap\": \"₹ 2,036 Cr.\",\n    \"CurrentPrice\": \"₹ 1,348\",\n    \"HighLow\": \"₹ 1,408 / 723\",\n    \"StockPE\": \"102\",\n    \"BookValue\": \"₹ 291\",\n    \"DividendYield\": \"0.26 %\",\n    \"ROCE\": \"2.73 %\",\n    \"ROE\": \"2.54 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Rishabh Instruments Limited\",\n    \"Symbol\": \"RISHABH\",\n    \"ListingDate\": \"11-Sep-23\",\n    \"ISIN\": \"INE0N2P01017\",\n    \"MarketCap\": \"₹ 2,249 Cr.\",\n    \"CurrentPrice\": \"₹ 590\",\n    \"HighLow\": \"₹ 611 / 432\",\n    \"StockPE\": \"48.2\",\n    \"BookValue\": \"₹ 136\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"13.7 %\",\n    \"ROE\": \"12.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ritco Logistics Limited\",\n    \"Symbol\": \"RITCO\",\n    \"ListingDate\": \"12-Apr-22\",\n    \"ISIN\": \"INE01EG01016\",\n    \"MarketCap\": \"₹ 664 Cr.\",\n    \"CurrentPrice\": \"₹ 271\",\n    \"HighLow\": \"₹ 305 / 125\",\n    \"StockPE\": \"24.0\",\n    \"BookValue\": \"₹ 67.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"RITES Limited\",\n    \"Symbol\": \"RITES\",\n    \"ListingDate\": \"02-Jul-18\",\n    \"ISIN\": \"INE320J01015\",\n    \"MarketCap\": \"₹ 12,267 Cr.\",\n    \"CurrentPrice\": \"₹ 510\",\n    \"HighLow\": \"₹ 584 / 311\",\n    \"StockPE\": \"25.4\",\n    \"BookValue\": \"₹ 107\",\n    \"DividendYield\": \"3.97 %\",\n    \"ROCE\": \"29.7 %\",\n    \"ROE\": \"21.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ravi Kumar Distilleries Limited\",\n    \"Symbol\": \"RKDL\",\n    \"ListingDate\": \"27-Dec-10\",\n    \"ISIN\": \"INE722J01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"RKEC Projects Limited\",\n    \"Symbol\": \"RKEC\",\n    \"ListingDate\": \"18-Dec-20\",\n    \"ISIN\": \"INE786W01010\",\n    \"MarketCap\": \"₹ 175 Cr.\",\n    \"CurrentPrice\": \"₹ 73.0\",\n    \"HighLow\": \"₹ 90.8 / 43.6\",\n    \"StockPE\": \"12.0\",\n    \"BookValue\": \"₹ 63.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"18.9 %\",\n    \"ROE\": \"12.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ramkrishna Forgings Limited\",\n    \"Symbol\": \"RKFORGE\",\n    \"ListingDate\": \"05-May-04\",\n    \"ISIN\": \"INE399G01023\",\n    \"MarketCap\": \"₹ 13,180 Cr.\",\n    \"CurrentPrice\": \"₹ 729\",\n    \"HighLow\": \"₹ 815 / 243\",\n    \"StockPE\": \"45.4\",\n    \"BookValue\": \"₹ 93.9\",\n    \"DividendYield\": \"0.28 %\",\n    \"ROCE\": \"18.5 %\",\n    \"ROE\": \"20.6 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Rane (Madras) Limited\",\n    \"Symbol\": \"RML\",\n    \"ListingDate\": \"30-Aug-05\",\n    \"ISIN\": \"INE050H01012\",\n    \"MarketCap\": \"₹ 1,309 Cr.\",\n    \"CurrentPrice\": \"₹ 805\",\n    \"HighLow\": \"₹ 990 / 386\",\n    \"StockPE\": \"8.90\",\n    \"BookValue\": \"₹ 157\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"12.2 %\",\n    \"ROE\": \"14.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Royal Orchid Hotels Limited\",\n    \"Symbol\": \"ROHLTD\",\n    \"ListingDate\": \"06-Feb-06\",\n    \"ISIN\": \"INE283H01019\",\n    \"MarketCap\": \"₹ 869 Cr.\",\n    \"CurrentPrice\": \"₹ 317\",\n    \"HighLow\": \"₹ 385 / 219\",\n    \"StockPE\": \"19.9\",\n    \"BookValue\": \"₹ 66.9\",\n    \"DividendYield\": \"0.62 %\",\n    \"ROCE\": \"24.5 %\",\n    \"ROE\": \"31.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Rolex Rings Limited\",\n    \"Symbol\": \"ROLEXRINGS\",\n    \"ListingDate\": \"09-Aug-21\",\n    \"ISIN\": \"INE645S01016\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Rollatainers Limited\",\n    \"Symbol\": \"ROLLT\",\n    \"ListingDate\": \"22-Nov-16\",\n    \"ISIN\": \"INE927A01040\",\n    \"MarketCap\": \"₹ 33.5 Cr.\",\n    \"CurrentPrice\": \"₹ 1.34\",\n    \"HighLow\": \"₹ 1.80 / 0.85\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 0.23\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-0.98 %\",\n    \"ROE\": \"-16.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Raj Oil Mills Limited\",\n    \"Symbol\": \"ROML\",\n    \"ListingDate\": \"06-Oct-20\",\n    \"ISIN\": \"INE294G01026\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Rossari Biotech Limited\",\n    \"Symbol\": \"ROSSARI\",\n    \"ListingDate\": \"23-Jul-20\",\n    \"ISIN\": \"INE02A801020\",\n    \"MarketCap\": \"₹ 4,438 Cr.\",\n    \"CurrentPrice\": \"₹ 803\",\n    \"HighLow\": \"₹ 904 / 536\",\n    \"StockPE\": \"38.0\",\n    \"BookValue\": \"₹ 177\",\n    \"DividendYield\": \"0.06 %\",\n    \"ROCE\": \"18.4 %\",\n    \"ROE\": \"12.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Rossell India Limited\",\n    \"Symbol\": \"ROSSELLIND\",\n    \"ListingDate\": \"25-Sep-12\",\n    \"ISIN\": \"INE847C01020\",\n    \"MarketCap\": \"₹ 1,762 Cr.\",\n    \"CurrentPrice\": \"₹ 467\",\n    \"HighLow\": \"₹ 550 / 221\",\n    \"StockPE\": \"153\",\n    \"BookValue\": \"₹ 82.4\",\n    \"DividendYield\": \"0.09 %\",\n    \"ROCE\": \"10.1 %\",\n    \"ROE\": \"10.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Roto Pumps Limited\",\n    \"Symbol\": \"ROTO\",\n    \"ListingDate\": \"21-Apr-22\",\n    \"ISIN\": \"INE535D01029\",\n    \"MarketCap\": \"₹ 1,335 Cr.\",\n    \"CurrentPrice\": \"₹ 425\",\n    \"HighLow\": \"₹ 449 / 223\",\n    \"StockPE\": \"33.0\",\n    \"BookValue\": \"₹ 56.2\",\n    \"DividendYield\": \"0.73 %\",\n    \"ROCE\": \"25.8 %\",\n    \"ROE\": \"22.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"ROUTE MOBILE LIMITED\",\n    \"Symbol\": \"ROUTE\",\n    \"ListingDate\": \"21-Sep-20\",\n    \"ISIN\": \"INE450U01017\",\n    \"MarketCap\": \"₹ 9,925 Cr.\",\n    \"CurrentPrice\": \"₹ 1,585\",\n    \"HighLow\": \"₹ 1,760 / 1,131\",\n    \"StockPE\": \"27.2\",\n    \"BookValue\": \"₹ 320\",\n    \"DividendYield\": \"0.69 %\",\n    \"ROCE\": \"22.0 %\",\n    \"ROE\": \"18.7 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"RPG Life Sciences Limited\",\n    \"Symbol\": \"RPGLIFE\",\n    \"ListingDate\": \"10-Jun-08\",\n    \"ISIN\": \"INE105J01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Reliance Power Limited\",\n    \"Symbol\": \"RPOWER\",\n    \"ListingDate\": \"11-Feb-08\",\n    \"ISIN\": \"INE614G01033\",\n    \"MarketCap\": \"₹ 8,613 Cr.\",\n    \"CurrentPrice\": \"₹ 22.6\",\n    \"HighLow\": \"₹ 25.2 / 9.05\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 34.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"3.42 %\",\n    \"ROE\": \"-11.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"R.P.P. Infra Projects Limited\",\n    \"Symbol\": \"RPPINFRA\",\n    \"ListingDate\": \"06-Dec-10\",\n    \"ISIN\": \"INE324L01013\",\n    \"MarketCap\": \"₹ 441 Cr.\",\n    \"CurrentPrice\": \"₹ 116\",\n    \"HighLow\": \"₹ 116 / 38.2\",\n    \"StockPE\": \"8.64\",\n    \"BookValue\": \"₹ 109\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"12.8 %\",\n    \"ROE\": \"7.63 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Rajshree Polypack Limited\",\n    \"Symbol\": \"RPPL\",\n    \"ListingDate\": \"26-Nov-21\",\n    \"ISIN\": \"INE760W01015\",\n    \"MarketCap\": \"₹ 240 Cr.\",\n    \"CurrentPrice\": \"₹ 210\",\n    \"HighLow\": \"₹ 253 / 139\",\n    \"StockPE\": \"31.7\",\n    \"BookValue\": \"₹ 117\",\n    \"DividendYield\": \"0.24 %\",\n    \"ROCE\": \"11.1 %\",\n    \"ROE\": \"8.68 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"RPSG VENTURES LIMITED\",\n    \"Symbol\": \"RPSGVENT\",\n    \"ListingDate\": \"25-Jan-19\",\n    \"ISIN\": \"INE425Y01011\",\n    \"MarketCap\": \"₹ 2,200 Cr.\",\n    \"CurrentPrice\": \"₹ 746\",\n    \"HighLow\": \"₹ 824 / 359\",\n    \"StockPE\": \"302\",\n    \"BookValue\": \"₹ 861\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.32 %\",\n    \"ROE\": \"-2.29 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"R R Kabel Limited\",\n    \"Symbol\": \"RRKABEL\",\n    \"ListingDate\": \"20-Sep-23\",\n    \"ISIN\": \"INE777K01022\",\n    \"MarketCap\": \"₹ 17,854 Cr.\",\n    \"CurrentPrice\": \"₹ 1,583\",\n    \"HighLow\": \"₹ 1,822 / 1,137\",\n    \"StockPE\": \"95.4\",\n    \"BookValue\": \"₹ 152\",\n    \"DividendYield\": \"0.19 %\",\n    \"ROCE\": \"15.6 %\",\n    \"ROE\": \"14.0 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"R. S. Software (India) Limited\",\n    \"Symbol\": \"RSSOFTWARE\",\n    \"ListingDate\": \"19-May-99\",\n    \"ISIN\": \"INE165B01029\",\n    \"MarketCap\": \"₹ 151 Cr.\",\n    \"CurrentPrice\": \"₹ 58.7\",\n    \"HighLow\": \"₹ 67.0 / 21.1\",\n    \"StockPE\": \"41.0\",\n    \"BookValue\": \"₹ 13.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-24.4 %\",\n    \"ROE\": \"-24.8 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"RSWM Limited\",\n    \"Symbol\": \"RSWM\",\n    \"ListingDate\": \"15-Feb-95\",\n    \"ISIN\": \"INE611A01016\",\n    \"MarketCap\": \"₹ 1,021 Cr.\",\n    \"CurrentPrice\": \"₹ 217\",\n    \"HighLow\": \"₹ 225 / 144\",\n    \"StockPE\": \"117\",\n    \"BookValue\": \"₹ 274\",\n    \"DividendYield\": \"2.34 %\",\n    \"ROCE\": \"8.16 %\",\n    \"ROE\": \"8.30 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"R Systems International Limited\",\n    \"Symbol\": \"RSYSTEMS\",\n    \"ListingDate\": \"26-Apr-06\",\n    \"ISIN\": \"INE411H01032\",\n    \"MarketCap\": \"₹ 6,499 Cr.\",\n    \"CurrentPrice\": \"₹ 549\",\n    \"HighLow\": \"₹ 599 / 237\",\n    \"StockPE\": \"47.9\",\n    \"BookValue\": \"₹ 50.3\",\n    \"DividendYield\": \"1.22 %\",\n    \"ROCE\": \"30.6 %\",\n    \"ROE\": \"27.7 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"RattanIndia Enterprises Limited\",\n    \"Symbol\": \"RTNINDIA\",\n    \"ListingDate\": \"30-Jul-12\",\n    \"ISIN\": \"INE834M01019\",\n    \"MarketCap\": \"₹ 10,410 Cr.\",\n    \"CurrentPrice\": \"₹ 75.3\",\n    \"HighLow\": \"₹ 86.0 / 32.0\",\n    \"StockPE\": \"53.1\",\n    \"BookValue\": \"₹ 5.28\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"3.12 %\",\n    \"ROE\": \"-7.39 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"RattanIndia Power Limited\",\n    \"Symbol\": \"RTNPOWER\",\n    \"ListingDate\": \"30-Oct-09\",\n    \"ISIN\": \"INE399K01017\",\n    \"MarketCap\": \"₹ 4,742 Cr.\",\n    \"CurrentPrice\": \"₹ 8.83\",\n    \"HighLow\": \"₹ 11.1 / 2.80\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -10.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.62 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"The Ruby Mills Limited\",\n    \"Symbol\": \"RUBYMILLS\",\n    \"ListingDate\": \"29-Mar-95\",\n    \"ISIN\": \"INE301D01026\",\n    \"MarketCap\": \"₹ 765 Cr.\",\n    \"CurrentPrice\": \"₹ 229\",\n    \"HighLow\": \"₹ 272 / 137\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.55 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Ruchira Papers Limited\",\n    \"Symbol\": \"RUCHIRA\",\n    \"ListingDate\": \"20-Dec-06\",\n    \"ISIN\": \"INE803H01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Rupa & Company Limited\",\n    \"Symbol\": \"RUPA\",\n    \"ListingDate\": \"07-Dec-11\",\n    \"ISIN\": \"INE895B01021\",\n    \"MarketCap\": \"₹ 2,141 Cr.\",\n    \"CurrentPrice\": \"₹ 269\",\n    \"HighLow\": \"₹ 309 / 197\",\n    \"StockPE\": \"43.6\",\n    \"BookValue\": \"₹ 115\",\n    \"DividendYield\": \"1.11 %\",\n    \"ROCE\": \"7.56 %\",\n    \"ROE\": \"5.92 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Rushil Decor Limited\",\n    \"Symbol\": \"RUSHIL\",\n    \"ListingDate\": \"07-Jul-11\",\n    \"ISIN\": \"INE573K01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Keystone Realtors Limited\",\n    \"Symbol\": \"RUSTOMJEE\",\n    \"ListingDate\": \"24-Nov-22\",\n    \"ISIN\": \"INE263M01029\",\n    \"MarketCap\": \"₹ 7,042 Cr.\",\n    \"CurrentPrice\": \"₹ 618\",\n    \"HighLow\": \"₹ 661 / 416\",\n    \"StockPE\": \"54.1\",\n    \"BookValue\": \"₹ 152\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.48 %\",\n    \"ROE\": \"6.11 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ravinder Heights Limited\",\n    \"Symbol\": \"RVHL\",\n    \"ListingDate\": \"18-Dec-20\",\n    \"ISIN\": \"INE09E501017\",\n    \"MarketCap\": \"₹ 324 Cr.\",\n    \"CurrentPrice\": \"₹ 52.8\",\n    \"HighLow\": \"₹ 58.4 / 17.0\",\n    \"StockPE\": \"44.0\",\n    \"BookValue\": \"₹ 40.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.70 %\",\n    \"ROE\": \"2.29 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Rail Vikas Nigam Limited\",\n    \"Symbol\": \"RVNL\",\n    \"ListingDate\": \"11-Apr-19\",\n    \"ISIN\": \"INE415G01027\",\n    \"MarketCap\": \"₹ 37,218 Cr.\",\n    \"CurrentPrice\": \"₹ 178\",\n    \"HighLow\": \"₹ 199 / 56.0\",\n    \"StockPE\": \"25.1\",\n    \"BookValue\": \"₹ 37.9\",\n    \"DividendYield\": \"1.17 %\",\n    \"ROCE\": \"17.8 %\",\n    \"ROE\": \"20.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"S&S Power Switchgears Limited\",\n    \"Symbol\": \"S&SPOWER\",\n    \"ListingDate\": \"27-Sep-95\",\n    \"ISIN\": \"INE902B01017\",\n    \"MarketCap\": \"₹ 109 Cr.\",\n    \"CurrentPrice\": \"₹ 176\",\n    \"HighLow\": \"₹ 190 / 21.1\",\n    \"StockPE\": \"42.4\",\n    \"BookValue\": \"₹ -12.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.12 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sab Events & Governance Now Media Limited\",\n    \"Symbol\": \"SABEVENTS\",\n    \"ListingDate\": \"15-Sep-16\",\n    \"ISIN\": \"INE860T01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Sri Adhikari Brothers Television Network Limited\",\n    \"Symbol\": \"SABTN\",\n    \"ListingDate\": \"16-Nov-07\",\n    \"ISIN\": \"INE416A01036\",\n    \"MarketCap\": \"₹ 11.3 Cr.\",\n    \"CurrentPrice\": \"₹ 3.24\",\n    \"HighLow\": \"₹ 3.24 / 1.25\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -31.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sadbhav Engineering Limited\",\n    \"Symbol\": \"SADBHAV\",\n    \"ListingDate\": \"01-Mar-06\",\n    \"ISIN\": \"INE226H01026\",\n    \"MarketCap\": \"₹ 343 Cr.\",\n    \"CurrentPrice\": \"₹ 20.0\",\n    \"HighLow\": \"₹ 24.5 / 8.50\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 7.34\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.85 %\",\n    \"ROE\": \"-60.2 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Sadbhav Infrastructure Project Limited\",\n    \"Symbol\": \"SADBHIN\",\n    \"ListingDate\": \"16-Sep-15\",\n    \"ISIN\": \"INE764L01010\",\n    \"MarketCap\": \"₹ 167 Cr.\",\n    \"CurrentPrice\": \"₹ 4.73\",\n    \"HighLow\": \"₹ 6.29 / 2.85\",\n    \"StockPE\": \"1.09\",\n    \"BookValue\": \"₹ -10.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"12.3 %\",\n    \"ROE\": \"172 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sadhana Nitrochem Limited\",\n    \"Symbol\": \"SADHNANIQ\",\n    \"ListingDate\": \"05-May-23\",\n    \"ISIN\": \"INE888C01040\",\n    \"MarketCap\": \"₹ 2,163 Cr.\",\n    \"CurrentPrice\": \"₹ 87.6\",\n    \"HighLow\": \"₹ 121 / 66.0\",\n    \"StockPE\": \"421\",\n    \"BookValue\": \"₹ 9.26\",\n    \"DividendYield\": \"0.17 %\",\n    \"ROCE\": \"5.00 %\",\n    \"ROE\": \"1.76 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Safari Industries (India) Limited\",\n    \"Symbol\": \"SAFARI\",\n    \"ListingDate\": \"12-Sep-19\",\n    \"ISIN\": \"INE429E01023\",\n    \"MarketCap\": \"₹ 9,119 Cr.\",\n    \"CurrentPrice\": \"₹ 1,917\",\n    \"HighLow\": \"₹ 2,315 / 826\",\n    \"StockPE\": \"56.2\",\n    \"BookValue\": \"₹ 108\",\n    \"DividendYield\": \"0.09 %\",\n    \"ROCE\": \"37.5 %\",\n    \"ROE\": \"34.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Sagardeep Alloys Limited\",\n    \"Symbol\": \"SAGARDEEP\",\n    \"ListingDate\": \"25-Jan-19\",\n    \"ISIN\": \"INE976T01013\",\n    \"MarketCap\": \"₹ 46.6 Cr.\",\n    \"CurrentPrice\": \"₹ 27.3\",\n    \"HighLow\": \"₹ 30.3 / 17.8\",\n    \"StockPE\": \"106\",\n    \"BookValue\": \"₹ 16.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.66 %\",\n    \"ROE\": \"3.42 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sagar Cements Limited\",\n    \"Symbol\": \"SAGCEM\",\n    \"ListingDate\": \"29-Jan-07\",\n    \"ISIN\": \"INE229C01021\",\n    \"MarketCap\": \"₹ 3,334 Cr.\",\n    \"CurrentPrice\": \"₹ 255\",\n    \"HighLow\": \"₹ 289 / 180\",\n    \"StockPE\": \"205\",\n    \"BookValue\": \"₹ 121\",\n    \"DividendYield\": \"0.27 %\",\n    \"ROCE\": \"6.70 %\",\n    \"ROE\": \"1.27 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Sah Polymers Limited\",\n    \"Symbol\": \"SAH\",\n    \"ListingDate\": \"12-Jan-23\",\n    \"ISIN\": \"INE035801013\",\n    \"MarketCap\": \"₹ 328 Cr.\",\n    \"CurrentPrice\": \"₹ 127\",\n    \"HighLow\": \"₹ 133 / 59.0\",\n    \"StockPE\": \"162\",\n    \"BookValue\": \"₹ 33.7\",\n    \"DividendYield\": \"0.39 %\",\n    \"ROCE\": \"9.00 %\",\n    \"ROE\": \"6.29 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sahyadri Industries Limited\",\n    \"Symbol\": \"SAHYADRI\",\n    \"ListingDate\": \"06-Apr-23\",\n    \"ISIN\": \"INE280H01015\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Steel Authority of India Limited\",\n    \"Symbol\": \"SAIL\",\n    \"ListingDate\": \"06-Jul-95\",\n    \"ISIN\": \"INE114A01011\",\n    \"MarketCap\": \"₹ 50,372 Cr.\",\n    \"CurrentPrice\": \"₹ 122\",\n    \"HighLow\": \"₹ 124 / 77.6\",\n    \"StockPE\": \"15.1\",\n    \"BookValue\": \"₹ 136\",\n    \"DividendYield\": \"1.23 %\",\n    \"ROCE\": \"5.89 %\",\n    \"ROE\": \"3.57 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sakar Healthcare Limited\",\n    \"Symbol\": \"SAKAR\",\n    \"ListingDate\": \"11-Apr-19\",\n    \"ISIN\": \"INE732S01012\",\n    \"MarketCap\": \"₹ 852 Cr.\",\n    \"CurrentPrice\": \"₹ 399\",\n    \"HighLow\": \"₹ 428 / 191\",\n    \"StockPE\": \"59.1\",\n    \"BookValue\": \"₹ 111\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.97 %\",\n    \"ROE\": \"8.55 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sakthi Sugars Limited\",\n    \"Symbol\": \"SAKHTISUG\",\n    \"ListingDate\": \"06-Sep-95\",\n    \"ISIN\": \"INE623A01011\",\n    \"MarketCap\": \"₹ 343 Cr.\",\n    \"CurrentPrice\": \"₹ 28.9\",\n    \"HighLow\": \"₹ 36.5 / 18.1\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 21.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-7.03 %\",\n    \"ROE\": \"-59.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Saksoft Limited\",\n    \"Symbol\": \"SAKSOFT\",\n    \"ListingDate\": \"09-May-05\",\n    \"ISIN\": \"INE667G01023\",\n    \"MarketCap\": \"₹ 3,392 Cr.\",\n    \"CurrentPrice\": \"₹ 320\",\n    \"HighLow\": \"₹ 402 / 121\",\n    \"StockPE\": \"35.6\",\n    \"BookValue\": \"₹ 42.9\",\n    \"DividendYield\": \"0.21 %\",\n    \"ROCE\": \"28.4 %\",\n    \"ROE\": \"22.7 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Sakuma Exports Limited\",\n    \"Symbol\": \"SAKUMA\",\n    \"ListingDate\": \"08-Mar-06\",\n    \"ISIN\": \"INE190H01024\",\n    \"MarketCap\": \"₹ 408 Cr.\",\n    \"CurrentPrice\": \"₹ 17.4\",\n    \"HighLow\": \"₹ 22.2 / 9.25\",\n    \"StockPE\": \"16.5\",\n    \"BookValue\": \"₹ 19.2\",\n    \"DividendYield\": \"0.29 %\",\n    \"ROCE\": \"9.08 %\",\n    \"ROE\": \"6.39 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Salasar Techno Engineering Limited\",\n    \"Symbol\": \"SALASAR\",\n    \"ListingDate\": \"25-Jul-17\",\n    \"ISIN\": \"INE170V01027\",\n    \"MarketCap\": \"₹ 2,069 Cr.\",\n    \"CurrentPrice\": \"₹ 65.6\",\n    \"HighLow\": \"₹ 69.7 / 36.0\",\n    \"StockPE\": \"46.0\",\n    \"BookValue\": \"₹ 13.2\",\n    \"DividendYield\": \"0.15 %\",\n    \"ROCE\": \"14.3 %\",\n    \"ROE\": \"11.9 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Salona Cotspin Limited\",\n    \"Symbol\": \"SALONA\",\n    \"ListingDate\": \"16-Jun-16\",\n    \"ISIN\": \"INE498E01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"S.A.L. Steel Limited\",\n    \"Symbol\": \"SALSTEEL\",\n    \"ListingDate\": \"24-Nov-04\",\n    \"ISIN\": \"INE658G01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Salzer Electronics Limited\",\n    \"Symbol\": \"SALZERELEC\",\n    \"ListingDate\": \"02-Dec-15\",\n    \"ISIN\": \"INE457F01013\",\n    \"MarketCap\": \"₹ 703 Cr.\",\n    \"CurrentPrice\": \"₹ 405\",\n    \"HighLow\": \"₹ 439 / 236\",\n    \"StockPE\": \"17.7\",\n    \"BookValue\": \"₹ 259\",\n    \"DividendYield\": \"0.55 %\",\n    \"ROCE\": \"12.5 %\",\n    \"ROE\": \"10.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sambhaav Media Limited\",\n    \"Symbol\": \"SAMBHAAV\",\n    \"ListingDate\": \"05-Jun-96\",\n    \"ISIN\": \"INE699B01027\",\n    \"MarketCap\": \"₹ 73.6 Cr.\",\n    \"CurrentPrice\": \"₹ 3.85\",\n    \"HighLow\": \"₹ 4.95 / 2.22\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 4.22\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.05 %\",\n    \"ROE\": \"-3.38 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Samhi Hotels Limited\",\n    \"Symbol\": \"SAMHI\",\n    \"ListingDate\": \"22-Sep-23\",\n    \"ISIN\": \"INE08U801020\",\n    \"MarketCap\": \"₹ 3,709 Cr.\",\n    \"CurrentPrice\": \"₹ 170\",\n    \"HighLow\": \"₹ 186 / 127\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 49.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.33 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Sampann Utpadan India Limited\",\n    \"Symbol\": \"SAMPANN\",\n    \"ListingDate\": \"27-Jul-12\",\n    \"ISIN\": \"INE735M01018\",\n    \"MarketCap\": \"₹ 103 Cr.\",\n    \"CurrentPrice\": \"₹ 25.5\",\n    \"HighLow\": \"₹ 25.5 / 11.3\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 1.31\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-1.23 %\",\n    \"ROE\": \"-24.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sanco Industries Limited\",\n    \"Symbol\": \"SANCO\",\n    \"ListingDate\": \"22-Nov-16\",\n    \"ISIN\": \"INE782L01012\",\n    \"MarketCap\": \"₹ 8.37 Cr.\",\n    \"CurrentPrice\": \"₹ 6.40\",\n    \"HighLow\": \"₹ 10.4 / 5.20\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 12.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-27.8 %\",\n    \"ROE\": \"-91.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"The Sandesh Limited\",\n    \"Symbol\": \"SANDESH\",\n    \"ListingDate\": \"26-Nov-02\",\n    \"ISIN\": \"INE583B01015\",\n    \"MarketCap\": \"₹ 849 Cr.\",\n    \"CurrentPrice\": \"₹ 1,121\",\n    \"HighLow\": \"₹ 1,322 / 782\",\n    \"StockPE\": \"8.23\",\n    \"BookValue\": \"₹ 1,467\",\n    \"DividendYield\": \"0.44 %\",\n    \"ROCE\": \"12.8 %\",\n    \"ROE\": \"9.67 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sandhar Technologies Limited\",\n    \"Symbol\": \"SANDHAR\",\n    \"ListingDate\": \"02-Apr-18\",\n    \"ISIN\": \"INE278H01035\",\n    \"MarketCap\": \"₹ 2,973 Cr.\",\n    \"CurrentPrice\": \"₹ 494\",\n    \"HighLow\": \"₹ 532 / 186\",\n    \"StockPE\": \"32.1\",\n    \"BookValue\": \"₹ 159\",\n    \"DividendYield\": \"0.49 %\",\n    \"ROCE\": \"8.70 %\",\n    \"ROE\": \"8.01 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sandur Manganese & Iron Ores Limited\",\n    \"Symbol\": \"SANDUMA\",\n    \"ListingDate\": \"07-Sep-23\",\n    \"ISIN\": \"INE149K01016\",\n    \"MarketCap\": \"₹ 7,906 Cr.\",\n    \"CurrentPrice\": \"₹ 2,927\",\n    \"HighLow\": \"₹ 2,961 / 791\",\n    \"StockPE\": \"28.0\",\n    \"BookValue\": \"₹ 735\",\n    \"DividendYield\": \"0.17 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sangam (India) Limited\",\n    \"Symbol\": \"SANGAMIND\",\n    \"ListingDate\": \"17-Jul-96\",\n    \"ISIN\": \"INE495C01010\",\n    \"MarketCap\": \"₹ 2,147 Cr.\",\n    \"CurrentPrice\": \"₹ 427\",\n    \"HighLow\": \"₹ 455 / 185\",\n    \"StockPE\": \"23.4\",\n    \"BookValue\": \"₹ 215\",\n    \"DividendYield\": \"0.46 %\",\n    \"ROCE\": \"15.5 %\",\n    \"ROE\": \"18.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sanghi Industries Limited\",\n    \"Symbol\": \"SANGHIIND\",\n    \"ListingDate\": \"10-May-95\",\n    \"ISIN\": \"INE999B01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Sanghvi Movers Limited\",\n    \"Symbol\": \"SANGHVIMOV\",\n    \"ListingDate\": \"24-Jan-07\",\n    \"ISIN\": \"INE989A01024\",\n    \"MarketCap\": \"₹ 3,529 Cr.\",\n    \"CurrentPrice\": \"₹ 815\",\n    \"HighLow\": \"₹ 888 / 305\",\n    \"StockPE\": \"23.9\",\n    \"BookValue\": \"₹ 209\",\n    \"DividendYield\": \"0.49 %\",\n    \"ROCE\": \"15.2 %\",\n    \"ROE\": \"12.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Sanginita Chemicals Limited\",\n    \"Symbol\": \"SANGINITA\",\n    \"ListingDate\": \"15-Jul-19\",\n    \"ISIN\": \"INE753W01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Sanofi India Limited\",\n    \"Symbol\": \"SANOFI\",\n    \"ListingDate\": \"19-May-03\",\n    \"ISIN\": \"INE058A01010\",\n    \"MarketCap\": \"₹ 18,520 Cr.\",\n    \"CurrentPrice\": \"₹ 8,042\",\n    \"HighLow\": \"₹ 8,280 / 5,202\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 314\",\n    \"DividendYield\": \"2.41 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sansera Engineering Limited\",\n    \"Symbol\": \"SANSERA\",\n    \"ListingDate\": \"24-Sep-21\",\n    \"ISIN\": \"INE953O01021\",\n    \"MarketCap\": \"₹ 5,409 Cr.\",\n    \"CurrentPrice\": \"₹ 1,010\",\n    \"HighLow\": \"₹ 1,048 / 697\",\n    \"StockPE\": \"34.3\",\n    \"BookValue\": \"₹ 234\",\n    \"DividendYield\": \"0.25 %\",\n    \"ROCE\": \"14.2 %\",\n    \"ROE\": \"13.3 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Sapphire Foods India Limited\",\n    \"Symbol\": \"SAPPHIRE\",\n    \"ListingDate\": \"18-Nov-21\",\n    \"ISIN\": \"INE806T01012\",\n    \"MarketCap\": \"₹ 9,044 Cr.\",\n    \"CurrentPrice\": \"₹ 1,420\",\n    \"HighLow\": \"₹ 1,568 / 1,102\",\n    \"StockPE\": \"43.5\",\n    \"BookValue\": \"₹ 206\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.81 %\",\n    \"ROE\": \"20.7 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sarda Energy & Minerals Limited\",\n    \"Symbol\": \"SARDAEN\",\n    \"ListingDate\": \"03-Dec-09\",\n    \"ISIN\": \"INE385C01021\",\n    \"MarketCap\": \"₹ 8,792 Cr.\",\n    \"CurrentPrice\": \"₹ 250\",\n    \"HighLow\": \"₹ 265 / 96.7\",\n    \"StockPE\": \"15.8\",\n    \"BookValue\": \"₹ 104\",\n    \"DividendYield\": \"0.30 %\",\n    \"ROCE\": \"19.3 %\",\n    \"ROE\": \"18.7 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Saregama India Limited\",\n    \"Symbol\": \"SAREGAMA\",\n    \"ListingDate\": \"30-Jul-97\",\n    \"ISIN\": \"INE979A01025\",\n    \"MarketCap\": \"₹ 7,209 Cr.\",\n    \"CurrentPrice\": \"₹ 374\",\n    \"HighLow\": \"₹ 466 / 288\",\n    \"StockPE\": \"38.5\",\n    \"BookValue\": \"₹ 74.3\",\n    \"DividendYield\": \"0.81 %\",\n    \"ROCE\": \"17.6 %\",\n    \"ROE\": \"12.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Sarla Performance Fibers Limited\",\n    \"Symbol\": \"SARLAPOLY\",\n    \"ListingDate\": \"19-Jan-07\",\n    \"ISIN\": \"INE453D01025\",\n    \"MarketCap\": \"₹ 459 Cr.\",\n    \"CurrentPrice\": \"₹ 54.9\",\n    \"HighLow\": \"₹ 60.0 / 32.4\",\n    \"StockPE\": \"30.6\",\n    \"BookValue\": \"₹ 48.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.23 %\",\n    \"ROE\": \"5.45 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Sarveshwar Foods Limited\",\n    \"Symbol\": \"SARVESHWAR\",\n    \"ListingDate\": \"08-Dec-22\",\n    \"ISIN\": \"INE324X01026\",\n    \"MarketCap\": \"₹ 510 Cr.\",\n    \"CurrentPrice\": \"₹ 5.21\",\n    \"HighLow\": \"₹ 5.63 / 2.08\",\n    \"StockPE\": \"45.3\",\n    \"BookValue\": \"₹ 2.49\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.12 %\",\n    \"ROE\": \"4.69 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Sasken Technologies Limited\",\n    \"Symbol\": \"SASKEN\",\n    \"ListingDate\": \"09-Sep-05\",\n    \"ISIN\": \"INE231F01020\",\n    \"MarketCap\": \"₹ 2,177 Cr.\",\n    \"CurrentPrice\": \"₹ 1,447\",\n    \"HighLow\": \"₹ 1,472 / 770\",\n    \"StockPE\": \"23.6\",\n    \"BookValue\": \"₹ 499\",\n    \"DividendYield\": \"1.72 %\",\n    \"ROCE\": \"17.1 %\",\n    \"ROE\": \"13.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sastasundar Ventures Limited\",\n    \"Symbol\": \"SASTASUNDR\",\n    \"ListingDate\": \"05-Oct-10\",\n    \"ISIN\": \"INE019J01013\",\n    \"MarketCap\": \"₹ 1,310 Cr.\",\n    \"CurrentPrice\": \"₹ 412\",\n    \"HighLow\": \"₹ 507 / 190\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 235\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-10.9 %\",\n    \"ROE\": \"-8.57 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Satia Industries Limited\",\n    \"Symbol\": \"SATIA\",\n    \"ListingDate\": \"17-Jul-19\",\n    \"ISIN\": \"INE170E01023\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Satin Creditcare Network Limited\",\n    \"Symbol\": \"SATIN\",\n    \"ListingDate\": \"26-Aug-15\",\n    \"ISIN\": \"INE836B01017\",\n    \"MarketCap\": \"₹ 2,657 Cr.\",\n    \"CurrentPrice\": \"₹ 241\",\n    \"HighLow\": \"₹ 277 / 114\",\n    \"StockPE\": \"7.54\",\n    \"BookValue\": \"₹ 191\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.41 %\",\n    \"ROE\": \"0.30 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sat Industries Limited\",\n    \"Symbol\": \"SATINDLTD\",\n    \"ListingDate\": \"21-Nov-22\",\n    \"ISIN\": \"INE065D01027\",\n    \"MarketCap\": \"₹ 1,290 Cr.\",\n    \"CurrentPrice\": \"₹ 114\",\n    \"HighLow\": \"₹ 146 / 54.9\",\n    \"StockPE\": \"4.99\",\n    \"BookValue\": \"₹ 55.9\",\n    \"DividendYield\": \"0.17 %\",\n    \"ROCE\": \"17.3 %\",\n    \"ROE\": \"17.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"SBC Exports Limited\",\n    \"Symbol\": \"SBC\",\n    \"ListingDate\": \"23-Nov-21\",\n    \"ISIN\": \"INE04AK01028\",\n    \"MarketCap\": \"₹ 640 Cr.\",\n    \"CurrentPrice\": \"₹ 30.2\",\n    \"HighLow\": \"₹ 35.0 / 14.0\",\n    \"StockPE\": \"52.9\",\n    \"BookValue\": \"₹ 2.02\",\n    \"DividendYield\": \"0.16 %\",\n    \"ROCE\": \"23.8 %\",\n    \"ROE\": \"22.4 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Shivalik Bimetal Controls Limited\",\n    \"Symbol\": \"SBCL\",\n    \"ListingDate\": \"24-Jun-21\",\n    \"ISIN\": \"INE386D01027\",\n    \"MarketCap\": \"₹ 3,134 Cr.\",\n    \"CurrentPrice\": \"₹ 544\",\n    \"HighLow\": \"₹ 750 / 360\",\n    \"StockPE\": \"39.3\",\n    \"BookValue\": \"₹ 52.6\",\n    \"DividendYield\": \"0.22 %\",\n    \"ROCE\": \"38.1 %\",\n    \"ROE\": \"34.6 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"SBFC Finance Limited\",\n    \"Symbol\": \"SBFC\",\n    \"ListingDate\": \"16-Aug-23\",\n    \"ISIN\": \"INE423Y01016\",\n    \"MarketCap\": \"₹ 9,531 Cr.\",\n    \"CurrentPrice\": \"₹ 89.2\",\n    \"HighLow\": \"₹ 97.8 / 80.2\",\n    \"StockPE\": \"63.4\",\n    \"BookValue\": \"₹ 24.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.91 %\",\n    \"ROE\": \"9.97 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Suratwwala Business Group Limited\",\n    \"Symbol\": \"SBGLP\",\n    \"ListingDate\": \"10-Feb-23\",\n    \"ISIN\": \"INE05ST01010\",\n    \"MarketCap\": \"₹ 1,022 Cr.\",\n    \"CurrentPrice\": \"₹ 589\",\n    \"HighLow\": \"₹ 600 / 165\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 20.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"76.0 %\",\n    \"ROE\": \"4,180 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"SBI Cards and Payment Services Limited\",\n    \"Symbol\": \"SBICARD\",\n    \"ListingDate\": \"16-Mar-20\",\n    \"ISIN\": \"INE018E01016\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"State Bank of India\",\n    \"Symbol\": \"SBIN\",\n    \"ListingDate\": \"01-Mar-95\",\n    \"ISIN\": \"INE062A01020\",\n    \"MarketCap\": \"₹ 5,73,049 Cr.\",\n    \"CurrentPrice\": \"₹ 642\",\n    \"HighLow\": \"₹ 660 / 499\",\n    \"StockPE\": \"8.46\",\n    \"BookValue\": \"₹ 402\",\n    \"DividendYield\": \"1.73 %\",\n    \"ROCE\": \"5.20 %\",\n    \"ROE\": \"16.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Schaeffler India Limited\",\n    \"Symbol\": \"SCHAEFFLER\",\n    \"ListingDate\": \"29-Nov-00\",\n    \"ISIN\": \"INE513A01022\",\n    \"MarketCap\": \"₹ 49,482 Cr.\",\n    \"CurrentPrice\": \"₹ 3,166\",\n    \"HighLow\": \"₹ 3,726 / 2,555\",\n    \"StockPE\": \"57.0\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.76 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Schneider Electric Infrastructure Limited\",\n    \"Symbol\": \"SCHNEIDER\",\n    \"ListingDate\": \"20-Mar-12\",\n    \"ISIN\": \"INE839M01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Shipping Corporation Of India Limited\",\n    \"Symbol\": \"SCI\",\n    \"ListingDate\": \"13-Aug-97\",\n    \"ISIN\": \"INE109A01011\",\n    \"MarketCap\": \"₹ 7,637 Cr.\",\n    \"CurrentPrice\": \"₹ 164\",\n    \"HighLow\": \"₹ 175 / 79.2\",\n    \"StockPE\": \"8.64\",\n    \"BookValue\": \"₹ 153\",\n    \"DividendYield\": \"0.27 %\",\n    \"ROCE\": \"10.5 %\",\n    \"ROE\": \"13.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sheetal Cool Products Limited\",\n    \"Symbol\": \"SCPL\",\n    \"ListingDate\": \"22-Nov-22\",\n    \"ISIN\": \"INE501Y01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Som Distilleries & Breweries Limited\",\n    \"Symbol\": \"SDBL\",\n    \"ListingDate\": \"18-Mar-14\",\n    \"ISIN\": \"INE480C01020\",\n    \"MarketCap\": \"₹ 2,214 Cr.\",\n    \"CurrentPrice\": \"₹ 286\",\n    \"HighLow\": \"₹ 390 / 109\",\n    \"StockPE\": \"29.6\",\n    \"BookValue\": \"₹ 66.5\",\n    \"DividendYield\": \"0.09 %\",\n    \"ROCE\": \"15.6 %\",\n    \"ROE\": \"18.1 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Seamec Limited\",\n    \"Symbol\": \"SEAMECLTD\",\n    \"ListingDate\": \"28-Jun-95\",\n    \"ISIN\": \"INE497B01018\",\n    \"MarketCap\": \"₹ 2,646 Cr.\",\n    \"CurrentPrice\": \"₹ 1,041\",\n    \"HighLow\": \"₹ 1,076 / 562\",\n    \"StockPE\": \"540\",\n    \"BookValue\": \"₹ 315\",\n    \"DividendYield\": \"0.11 %\",\n    \"ROCE\": \"3.35 %\",\n    \"ROE\": \"3.72 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"SecUR Credentials Limited\",\n    \"Symbol\": \"SECURCRED\",\n    \"ListingDate\": \"17-Oct-22\",\n    \"ISIN\": \"INE195Y01010\",\n    \"MarketCap\": \"₹ 81.5 Cr.\",\n    \"CurrentPrice\": \"₹ 19.8\",\n    \"HighLow\": \"₹ 36.4 / 15.6\",\n    \"StockPE\": \"9.89\",\n    \"BookValue\": \"₹ 10.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.40 %\",\n    \"ROE\": \"4.80 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"SECUREKLOUD TECHNOLOGIES LIMITED\",\n    \"Symbol\": \"SECURKLOUD\",\n    \"ListingDate\": \"29-Jan-14\",\n    \"ISIN\": \"INE650K01021\",\n    \"MarketCap\": \"₹ 149 Cr.\",\n    \"CurrentPrice\": \"₹ 44.6\",\n    \"HighLow\": \"₹ 65.6 / 30.1\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 3.29\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-44.6 %\",\n    \"ROE\": \"-147 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Sejal Glass Limited\",\n    \"Symbol\": \"SEJALLTD\",\n    \"ListingDate\": \"13-Dec-21\",\n    \"ISIN\": \"INE955I01044\",\n    \"MarketCap\": \"₹ 246 Cr.\",\n    \"CurrentPrice\": \"₹ 244\",\n    \"HighLow\": \"₹ 308 / 210\",\n    \"StockPE\": \"25.9\",\n    \"BookValue\": \"₹ 27.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.87 %\",\n    \"ROE\": \"87.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Selan Exploration Technology Limited\",\n    \"Symbol\": \"SELAN\",\n    \"ListingDate\": \"26-Sep-06\",\n    \"ISIN\": \"INE818A01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"SEL Manufacturing Company Limited\",\n    \"Symbol\": \"SELMC\",\n    \"ListingDate\": \"26-Oct-21\",\n    \"ISIN\": \"INE105I01020\",\n    \"MarketCap\": \"₹ 264 Cr.\",\n    \"CurrentPrice\": \"₹ 79.6\",\n    \"HighLow\": \"₹ 590 / 72.5\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 4.91\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-14.2 %\",\n    \"ROE\": \"-102 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"SEMAC CONSULTANTS LIMITED\",\n    \"Symbol\": \"SEMAC\",\n    \"ListingDate\": \"11-Aug-05\",\n    \"ISIN\": \"INE617A01013\",\n    \"MarketCap\": \"₹ 721 Cr.\",\n    \"CurrentPrice\": \"₹ 2,349\",\n    \"HighLow\": \"₹ 2,439 / 1,007\",\n    \"StockPE\": \"133\",\n    \"BookValue\": \"₹ 358\",\n    \"DividendYield\": \"0.21 %\",\n    \"ROCE\": \"24.6 %\",\n    \"ROE\": \"16.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Senco Gold Limited\",\n    \"Symbol\": \"SENCO\",\n    \"ListingDate\": \"14-Jul-23\",\n    \"ISIN\": \"INE602W01019\",\n    \"MarketCap\": \"₹ 5,475 Cr.\",\n    \"CurrentPrice\": \"₹ 705\",\n    \"HighLow\": \"₹ 823 / 358\",\n    \"StockPE\": \"34.5\",\n    \"BookValue\": \"₹ 159\",\n    \"DividendYield\": \"0.14 %\",\n    \"ROCE\": \"15.4 %\",\n    \"ROE\": \"19.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"SEPC Limited\",\n    \"Symbol\": \"SEPC\",\n    \"ListingDate\": \"20-Feb-08\",\n    \"ISIN\": \"INE964H01014\",\n    \"MarketCap\": \"₹ 2,866 Cr.\",\n    \"CurrentPrice\": \"₹ 20.3\",\n    \"HighLow\": \"₹ 26.0 / 7.38\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 8.14\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-2.62 %\",\n    \"ROE\": \"-12.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sequent Scientific Limited\",\n    \"Symbol\": \"SEQUENT\",\n    \"ListingDate\": \"10-Mar-16\",\n    \"ISIN\": \"INE807F01027\",\n    \"MarketCap\": \"₹ 2,850 Cr.\",\n    \"CurrentPrice\": \"₹ 114\",\n    \"HighLow\": \"₹ 129 / 61.8\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 25.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-3.43 %\",\n    \"ROE\": \"-8.98 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Servotech Power Systems Limited\",\n    \"Symbol\": \"SERVOTECH\",\n    \"ListingDate\": \"02-Sep-21\",\n    \"ISIN\": \"INE782X01033\",\n    \"MarketCap\": \"₹ 1,584 Cr.\",\n    \"CurrentPrice\": \"₹ 74.5\",\n    \"HighLow\": \"₹ 100 / 15.2\",\n    \"StockPE\": \"92.6\",\n    \"BookValue\": \"₹ 4.20\",\n    \"DividendYield\": \"0.05 %\",\n    \"ROCE\": \"18.3 %\",\n    \"ROE\": \"17.4 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Seshasayee Paper and Boards Limited\",\n    \"Symbol\": \"SESHAPAPER\",\n    \"ListingDate\": \"29-Mar-95\",\n    \"ISIN\": \"INE630A01024\",\n    \"MarketCap\": \"₹ 2,216 Cr.\",\n    \"CurrentPrice\": \"₹ 351\",\n    \"HighLow\": \"₹ 422 / 220\",\n    \"StockPE\": \"5.96\",\n    \"BookValue\": \"₹ 281\",\n    \"DividendYield\": \"1.71 %\",\n    \"ROCE\": \"36.5 %\",\n    \"ROE\": \"27.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Setco Automotive Limited\",\n    \"Symbol\": \"SETCO\",\n    \"ListingDate\": \"01-Jul-16\",\n    \"ISIN\": \"INE878E01021\",\n    \"MarketCap\": \"₹ 93.6 Cr.\",\n    \"CurrentPrice\": \"₹ 7.00\",\n    \"HighLow\": \"₹ 12.0 / 4.70\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -38.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.31 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Seya Industries Limited\",\n    \"Symbol\": \"SEYAIND\",\n    \"ListingDate\": \"11-Jul-19\",\n    \"ISIN\": \"INE573R01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Sheela Foam Limited\",\n    \"Symbol\": \"SFL\",\n    \"ListingDate\": \"09-Dec-16\",\n    \"ISIN\": \"INE916U01025\",\n    \"MarketCap\": \"₹ 13,537 Cr.\",\n    \"CurrentPrice\": \"₹ 1,245\",\n    \"HighLow\": \"₹ 1,370 / 906\",\n    \"StockPE\": \"67.4\",\n    \"BookValue\": \"₹ 263\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"13.6 %\",\n    \"ROE\": \"12.5 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Synergy Green Industries Limited\",\n    \"Symbol\": \"SGIL\",\n    \"ListingDate\": \"28-Jul-21\",\n    \"ISIN\": \"INE00QT01015\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"STL Global Limited\",\n    \"Symbol\": \"SGL\",\n    \"ListingDate\": \"10-Apr-06\",\n    \"ISIN\": \"INE353H01010\",\n    \"MarketCap\": \"₹ 43.4 Cr.\",\n    \"CurrentPrice\": \"₹ 15.8\",\n    \"HighLow\": \"₹ 22.7 / 11.0\",\n    \"StockPE\": \"4.11\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Shah Metacorp Limited\",\n    \"Symbol\": \"SHAH\",\n    \"ListingDate\": \"27-Oct-10\",\n    \"ISIN\": \"INE482J01021\",\n    \"MarketCap\": \"₹ 180 Cr.\",\n    \"CurrentPrice\": \"₹ 4.30\",\n    \"HighLow\": \"₹ 5.50 / 2.31\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 1.00\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"0.06 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Shaily Engineering Plastics Limited\",\n    \"Symbol\": \"SHAILY\",\n    \"ListingDate\": \"04-Apr-22\",\n    \"ISIN\": \"INE151G01028\",\n    \"MarketCap\": \"₹ 1,532 Cr.\",\n    \"CurrentPrice\": \"₹ 334\",\n    \"HighLow\": \"₹ 386 / 174\",\n    \"StockPE\": \"39.2\",\n    \"BookValue\": \"₹ 92.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"11.4 %\",\n    \"ROE\": \"9.15 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Shakti Pumps (India) Limited\",\n    \"Symbol\": \"SHAKTIPUMP\",\n    \"ListingDate\": \"29-Jan-15\",\n    \"ISIN\": \"INE908D01010\",\n    \"MarketCap\": \"₹ 1,916 Cr.\",\n    \"CurrentPrice\": \"₹ 1,043\",\n    \"HighLow\": \"₹ 1,225 / 388\",\n    \"StockPE\": \"94.1\",\n    \"BookValue\": \"₹ 229\",\n    \"DividendYield\": \"0.20 %\",\n    \"ROCE\": \"10.4 %\",\n    \"ROE\": \"5.95 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Shalby Limited\",\n    \"Symbol\": \"SHALBY\",\n    \"ListingDate\": \"15-Dec-17\",\n    \"ISIN\": \"INE597J01018\",\n    \"MarketCap\": \"₹ 3,289 Cr.\",\n    \"CurrentPrice\": \"₹ 304\",\n    \"HighLow\": \"₹ 330 / 114\",\n    \"StockPE\": \"42.4\",\n    \"BookValue\": \"₹ 89.2\",\n    \"DividendYield\": \"0.40 %\",\n    \"ROCE\": \"10.6 %\",\n    \"ROE\": \"7.37 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Shankara Building Products Limited\",\n    \"Symbol\": \"SHANKARA\",\n    \"ListingDate\": \"05-Apr-17\",\n    \"ISIN\": \"INE274V01019\",\n    \"MarketCap\": \"₹ 1,637 Cr.\",\n    \"CurrentPrice\": \"₹ 716\",\n    \"HighLow\": \"₹ 929 / 574\",\n    \"StockPE\": \"23.1\",\n    \"BookValue\": \"₹ 295\",\n    \"DividendYield\": \"0.35 %\",\n    \"ROCE\": \"15.6 %\",\n    \"ROE\": \"10.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Shanti Overseas (India) Limited\",\n    \"Symbol\": \"SHANTI\",\n    \"ListingDate\": \"16-Sep-21\",\n    \"ISIN\": \"INE933X01016\",\n    \"MarketCap\": \"₹ 20.0 Cr.\",\n    \"CurrentPrice\": \"₹ 18.0\",\n    \"HighLow\": \"₹ 23.5 / 13.6\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 13.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-30.5 %\",\n    \"ROE\": \"-21.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Shanthi Gears Limited\",\n    \"Symbol\": \"SHANTIGEAR\",\n    \"ListingDate\": \"17-Jan-96\",\n    \"ISIN\": \"INE631A01022\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Sharda Cropchem Limited\",\n    \"Symbol\": \"SHARDACROP\",\n    \"ListingDate\": \"23-Sep-14\",\n    \"ISIN\": \"INE221J01015\",\n    \"MarketCap\": \"₹ 4,067 Cr.\",\n    \"CurrentPrice\": \"₹ 451\",\n    \"HighLow\": \"₹ 580 / 388\",\n    \"StockPE\": \"21.3\",\n    \"BookValue\": \"₹ 232\",\n    \"DividendYield\": \"1.35 %\",\n    \"ROCE\": \"20.8 %\",\n    \"ROE\": \"15.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sharda Motor Industries Limited\",\n    \"Symbol\": \"SHARDAMOTR\",\n    \"ListingDate\": \"03-Sep-15\",\n    \"ISIN\": \"INE597I01028\",\n    \"MarketCap\": \"₹ 3,893 Cr.\",\n    \"CurrentPrice\": \"₹ 1,310\",\n    \"HighLow\": \"₹ 1,380 / 550\",\n    \"StockPE\": \"16.0\",\n    \"BookValue\": \"₹ 283\",\n    \"DividendYield\": \"1.30 %\",\n    \"ROCE\": \"39.7 %\",\n    \"ROE\": \"30.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Share India Securities Limited\",\n    \"Symbol\": \"SHAREINDIA\",\n    \"ListingDate\": \"21-Sep-20\",\n    \"ISIN\": \"INE932X01018\",\n    \"MarketCap\": \"₹ 6,026 Cr.\",\n    \"CurrentPrice\": \"₹ 1,840\",\n    \"HighLow\": \"₹ 1,880 / 986\",\n    \"StockPE\": \"15.4\",\n    \"BookValue\": \"₹ 373\",\n    \"DividendYield\": \"0.46 %\",\n    \"ROCE\": \"52.4 %\",\n    \"ROE\": \"45.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Shemaroo Entertainment Limited\",\n    \"Symbol\": \"SHEMAROO\",\n    \"ListingDate\": \"01-Oct-14\",\n    \"ISIN\": \"INE363M01019\",\n    \"MarketCap\": \"₹ 440 Cr.\",\n    \"CurrentPrice\": \"₹ 162\",\n    \"HighLow\": \"₹ 189 / 101\",\n    \"StockPE\": \"47.0\",\n    \"BookValue\": \"₹ 219\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.25 %\",\n    \"ROE\": \"1.61 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Shilpa Medicare Limited\",\n    \"Symbol\": \"SHILPAMED\",\n    \"ListingDate\": \"03-Dec-09\",\n    \"ISIN\": \"INE790G01031\",\n    \"MarketCap\": \"₹ 2,906 Cr.\",\n    \"CurrentPrice\": \"₹ 335\",\n    \"HighLow\": \"₹ 397 / 222\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 205\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"0.81 %\",\n    \"ROE\": \"-1.71 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Shivalik Rasayan Limited\",\n    \"Symbol\": \"SHIVALIK\",\n    \"ListingDate\": \"09-Dec-21\",\n    \"ISIN\": \"INE788J01021\",\n    \"MarketCap\": \"₹ 1,136 Cr.\",\n    \"CurrentPrice\": \"₹ 730\",\n    \"HighLow\": \"₹ 893 / 604\",\n    \"StockPE\": \"80.5\",\n    \"BookValue\": \"₹ 238\",\n    \"DividendYield\": \"0.07 %\",\n    \"ROCE\": \"8.30 %\",\n    \"ROE\": \"6.56 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Shivam Autotech Limited\",\n    \"Symbol\": \"SHIVAMAUTO\",\n    \"ListingDate\": \"21-Nov-06\",\n    \"ISIN\": \"INE637H01024\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Shiva Texyarn Limited\",\n    \"Symbol\": \"SHIVATEX\",\n    \"ListingDate\": \"26-Dec-17\",\n    \"ISIN\": \"INE705C01020\",\n    \"MarketCap\": \"₹ 185 Cr.\",\n    \"CurrentPrice\": \"₹ 143\",\n    \"HighLow\": \"₹ 170 / 107\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 97.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"S H Kelkar and Company Limited\",\n    \"Symbol\": \"SHK\",\n    \"ListingDate\": \"16-Nov-15\",\n    \"ISIN\": \"INE500L01026\",\n    \"MarketCap\": \"₹ 2,031 Cr.\",\n    \"CurrentPrice\": \"₹ 147\",\n    \"HighLow\": \"₹ 173 / 81.6\",\n    \"StockPE\": \"27.2\",\n    \"BookValue\": \"₹ 82.5\",\n    \"DividendYield\": \"1.35 %\",\n    \"ROCE\": \"8.04 %\",\n    \"ROE\": \"6.66 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Shoppers Stop Limited\",\n    \"Symbol\": \"SHOPERSTOP\",\n    \"ListingDate\": \"23-May-05\",\n    \"ISIN\": \"INE498B01024\",\n    \"MarketCap\": \"₹ 7,574 Cr.\",\n    \"CurrentPrice\": \"₹ 689\",\n    \"HighLow\": \"₹ 890 / 574\",\n    \"StockPE\": \"77.0\",\n    \"BookValue\": \"₹ 21.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"15.3 %\",\n    \"ROE\": \"80.7 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Shradha Infraprojects Limited\",\n    \"Symbol\": \"SHRADHA\",\n    \"ListingDate\": \"22-Oct-20\",\n    \"ISIN\": \"INE715Y01023\",\n    \"MarketCap\": \"₹ 140 Cr.\",\n    \"CurrentPrice\": \"₹ 69.0\",\n    \"HighLow\": \"₹ 81.8 / 31.1\",\n    \"StockPE\": \"7.17\",\n    \"BookValue\": \"₹ 29.3\",\n    \"DividendYield\": \"1.83 %\",\n    \"ROCE\": \"6.17 %\",\n    \"ROE\": \"15.8 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Shree Digvijay Cement Co.Ltd\",\n    \"Symbol\": \"SHREDIGCEM\",\n    \"ListingDate\": \"28-Jan-20\",\n    \"ISIN\": \"INE232A01011\",\n    \"MarketCap\": \"₹ 1,384 Cr.\",\n    \"CurrentPrice\": \"₹ 94.3\",\n    \"HighLow\": \"₹ 101 / 57.3\",\n    \"StockPE\": \"23.4\",\n    \"BookValue\": \"₹ 21.5\",\n    \"DividendYield\": \"4.23 %\",\n    \"ROCE\": \"22.8 %\",\n    \"ROE\": \"18.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"SHREE CEMENT LIMITED\",\n    \"Symbol\": \"SHREECEM\",\n    \"ListingDate\": \"26-Apr-95\",\n    \"ISIN\": \"INE070A01015\",\n    \"MarketCap\": \"₹ 1,03,289 Cr.\",\n    \"CurrentPrice\": \"₹ 28,627\",\n    \"HighLow\": \"₹ 29,250 / 21,410\",\n    \"StockPE\": \"56.6\",\n    \"BookValue\": \"₹ 5,403\",\n    \"DividendYield\": \"0.35 %\",\n    \"ROCE\": \"8.51 %\",\n    \"ROE\": \"6.98 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Shree Pushkar Chemicals & Fertilisers Limited\",\n    \"Symbol\": \"SHREEPUSHK\",\n    \"ListingDate\": \"10-Sep-15\",\n    \"ISIN\": \"INE712K01011\",\n    \"MarketCap\": \"₹ 721 Cr.\",\n    \"CurrentPrice\": \"₹ 228\",\n    \"HighLow\": \"₹ 242 / 140\",\n    \"StockPE\": \"21.1\",\n    \"BookValue\": \"₹ 144\",\n    \"DividendYield\": \"0.65 %\",\n    \"ROCE\": \"11.6 %\",\n    \"ROE\": \"8.91 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Shree Rama Multi-Tech Limited\",\n    \"Symbol\": \"SHREERAMA\",\n    \"ListingDate\": \"13-Mar-00\",\n    \"ISIN\": \"INE879A01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Shrenik Limited\",\n    \"Symbol\": \"SHRENIK\",\n    \"ListingDate\": \"02-Aug-19\",\n    \"ISIN\": \"INE632X01030\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Shreyans Industries Limited\",\n    \"Symbol\": \"SHREYANIND\",\n    \"ListingDate\": \"06-Nov-96\",\n    \"ISIN\": \"INE231C01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Shreyas Shipping & Logistics Limited\",\n    \"Symbol\": \"SHREYAS\",\n    \"ListingDate\": \"01-Mar-95\",\n    \"ISIN\": \"INE757B01015\",\n    \"MarketCap\": \"₹ 620 Cr.\",\n    \"CurrentPrice\": \"₹ 282\",\n    \"HighLow\": \"₹ 506 / 212\",\n    \"StockPE\": \"21.0\",\n    \"BookValue\": \"₹ 357\",\n    \"DividendYield\": \"0.52 %\",\n    \"ROCE\": \"18.8 %\",\n    \"ROE\": \"25.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Shriram Pistons & Rings Limited\",\n    \"Symbol\": \"SHRIPISTON\",\n    \"ListingDate\": \"02-Jun-16\",\n    \"ISIN\": \"INE526E01018\",\n    \"MarketCap\": \"₹ 6,269 Cr.\",\n    \"CurrentPrice\": \"₹ 1,423\",\n    \"HighLow\": \"₹ 1,566 / 491\",\n    \"StockPE\": \"16.5\",\n    \"BookValue\": \"₹ 394\",\n    \"DividendYield\": \"0.36 %\",\n    \"ROCE\": \"24.7 %\",\n    \"ROE\": \"20.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Shriram Finance Limited\",\n    \"Symbol\": \"SHRIRAMFIN\",\n    \"ListingDate\": \"11-Dec-96\",\n    \"ISIN\": \"INE721A01013\",\n    \"MarketCap\": \"₹ 77,207 Cr.\",\n    \"CurrentPrice\": \"₹ 2,056\",\n    \"HighLow\": \"₹ 2,130 / 1,190\",\n    \"StockPE\": \"11.7\",\n    \"BookValue\": \"₹ 1,234\",\n    \"DividendYield\": \"1.70 %\",\n    \"ROCE\": \"12.1 %\",\n    \"ROE\": \"17.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Shyam Century Ferrous Limited\",\n    \"Symbol\": \"SHYAMCENT\",\n    \"ListingDate\": \"28-Jul-15\",\n    \"ISIN\": \"INE979R01011\",\n    \"MarketCap\": \"₹ 439 Cr.\",\n    \"CurrentPrice\": \"₹ 20.7\",\n    \"HighLow\": \"₹ 23.0 / 15.3\",\n    \"StockPE\": \"29.9\",\n    \"BookValue\": \"₹ 7.09\",\n    \"DividendYield\": \"1.46 %\",\n    \"ROCE\": \"0.18 %\",\n    \"ROE\": \"1.14 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Shyam Metalics and Energy Limited\",\n    \"Symbol\": \"SHYAMMETL\",\n    \"ListingDate\": \"24-Jun-21\",\n    \"ISIN\": \"INE810G01011\",\n    \"MarketCap\": \"₹ 15,807 Cr.\",\n    \"CurrentPrice\": \"₹ 620\",\n    \"HighLow\": \"₹ 640 / 253\",\n    \"StockPE\": \"15.7\",\n    \"BookValue\": \"₹ 320\",\n    \"DividendYield\": \"0.29 %\",\n    \"ROCE\": \"15.0 %\",\n    \"ROE\": \"13.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sical Logistics Limited\",\n    \"Symbol\": \"SICALLOG\",\n    \"ListingDate\": \"12-Oct-23\",\n    \"ISIN\": \"INE075B01020\",\n    \"MarketCap\": \"₹ 1,631 Cr.\",\n    \"CurrentPrice\": \"₹ 250\",\n    \"HighLow\": \"₹ 294 / 97.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 4.81\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-4.05 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Siemens Limited\",\n    \"Symbol\": \"SIEMENS\",\n    \"ListingDate\": \"06-Sep-95\",\n    \"ISIN\": \"INE003A01024\",\n    \"MarketCap\": \"₹ 1,42,412 Cr.\",\n    \"CurrentPrice\": \"₹ 3,999\",\n    \"HighLow\": \"₹ 4,245 / 2,810\",\n    \"StockPE\": \"72.6\",\n    \"BookValue\": \"₹ 367\",\n    \"DividendYield\": \"0.25 %\",\n    \"ROCE\": \"21.4 %\",\n    \"ROE\": \"15.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Sigachi Industries Limited\",\n    \"Symbol\": \"SIGACHI\",\n    \"ListingDate\": \"15-Nov-21\",\n    \"ISIN\": \"INE0D0K01022\",\n    \"MarketCap\": \"₹ 1,575 Cr.\",\n    \"CurrentPrice\": \"₹ 51.2\",\n    \"HighLow\": \"₹ 57.7 / 22.0\",\n    \"StockPE\": \"36.6\",\n    \"BookValue\": \"₹ 12.5\",\n    \"DividendYield\": \"0.19 %\",\n    \"ROCE\": \"19.6 %\",\n    \"ROE\": \"17.6 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Signet Industries Limited\",\n    \"Symbol\": \"SIGIND\",\n    \"ListingDate\": \"29-Aug-18\",\n    \"ISIN\": \"INE529F01035\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Sigma Solve Limited\",\n    \"Symbol\": \"SIGMA\",\n    \"ListingDate\": \"09-Jun-23\",\n    \"ISIN\": \"INE0A0S01010\",\n    \"MarketCap\": \"₹ 479 Cr.\",\n    \"CurrentPrice\": \"₹ 466\",\n    \"HighLow\": \"₹ 579 / 172\",\n    \"StockPE\": \"35.8\",\n    \"BookValue\": \"₹ 41.1\",\n    \"DividendYield\": \"0.11 %\",\n    \"ROCE\": \"52.0 %\",\n    \"ROE\": \"34.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Signatureglobal (India) Limited\",\n    \"Symbol\": \"SIGNATURE\",\n    \"ListingDate\": \"27-Sep-23\",\n    \"ISIN\": \"INE903U01023\",\n    \"MarketCap\": \"₹ 12,211 Cr.\",\n    \"CurrentPrice\": \"₹ 869\",\n    \"HighLow\": \"₹ 880 / 444\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 41.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.15 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Sikko Industries Limited\",\n    \"Symbol\": \"SIKKO\",\n    \"ListingDate\": \"22-Oct-21\",\n    \"ISIN\": \"INE112X01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Standard Industries Limited\",\n    \"Symbol\": \"SIL\",\n    \"ListingDate\": \"27-Jan-04\",\n    \"ISIN\": \"INE173A01025\",\n    \"MarketCap\": \"₹ 155 Cr.\",\n    \"CurrentPrice\": \"₹ 24.1\",\n    \"HighLow\": \"₹ 38.0 / 21.0\",\n    \"StockPE\": \"16.1\",\n    \"BookValue\": \"₹ 20.7\",\n    \"DividendYield\": \"4.37 %\",\n    \"ROCE\": \"13.2 %\",\n    \"ROE\": \"10.1 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"SIL Investments Limited\",\n    \"Symbol\": \"SILINV\",\n    \"ListingDate\": \"22-May-96\",\n    \"ISIN\": \"INE923A01015\",\n    \"MarketCap\": \"₹ 466 Cr.\",\n    \"CurrentPrice\": \"₹ 440\",\n    \"HighLow\": \"₹ 515 / 245\",\n    \"StockPE\": \"15.9\",\n    \"BookValue\": \"₹ 1,849\",\n    \"DividendYield\": \"0.56 %\",\n    \"ROCE\": \"1.94 %\",\n    \"ROE\": \"1.39 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Silly Monks Entertainment Limited\",\n    \"Symbol\": \"SILLYMONKS\",\n    \"ListingDate\": \"08-Jul-20\",\n    \"ISIN\": \"INE203Y01012\",\n    \"MarketCap\": \"₹ 17.2 Cr.\",\n    \"CurrentPrice\": \"₹ 16.8\",\n    \"HighLow\": \"₹ 31.6 / 14.1\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 6.98\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-57.2 %\",\n    \"ROE\": \"-48.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Silver Touch Technologies Limited\",\n    \"Symbol\": \"SILVERTUC\",\n    \"ListingDate\": \"12-May-22\",\n    \"ISIN\": \"INE625X01018\",\n    \"MarketCap\": \"₹ 871 Cr.\",\n    \"CurrentPrice\": \"₹ 687\",\n    \"HighLow\": \"₹ 725 / 310\",\n    \"StockPE\": \"76.8\",\n    \"BookValue\": \"₹ 79.0\",\n    \"DividendYield\": \"0.07 %\",\n    \"ROCE\": \"15.5 %\",\n    \"ROE\": \"10.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Simbhaoli Sugars Limited\",\n    \"Symbol\": \"SIMBHALS\",\n    \"ListingDate\": \"14-Mar-16\",\n    \"ISIN\": \"INE748T01016\",\n    \"MarketCap\": \"₹ 123 Cr.\",\n    \"CurrentPrice\": \"₹ 29.7\",\n    \"HighLow\": \"₹ 36.6 / 17.8\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -41.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-0.48 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Simplex Infrastructures Limited\",\n    \"Symbol\": \"SIMPLEXINF\",\n    \"ListingDate\": \"09-Mar-04\",\n    \"ISIN\": \"INE059B01024\",\n    \"MarketCap\": \"₹ 454 Cr.\",\n    \"CurrentPrice\": \"₹ 79.5\",\n    \"HighLow\": \"₹ 86.5 / 29.8\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 25.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-0.67 %\",\n    \"ROE\": \"-100 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Sindhu Trade Links Limited\",\n    \"Symbol\": \"SINDHUTRAD\",\n    \"ListingDate\": \"20-Jun-23\",\n    \"ISIN\": \"INE325D01025\",\n    \"MarketCap\": \"₹ 4,237 Cr.\",\n    \"CurrentPrice\": \"₹ 27.5\",\n    \"HighLow\": \"₹ 35.6 / 16.5\",\n    \"StockPE\": \"41.7\",\n    \"BookValue\": \"₹ 8.76\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.74 %\",\n    \"ROE\": \"0.02 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Sintercom India Limited\",\n    \"Symbol\": \"SINTERCOM\",\n    \"ListingDate\": \"07-Oct-20\",\n    \"ISIN\": \"INE129Z01016\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Sirca Paints India Limited\",\n    \"Symbol\": \"SIRCA\",\n    \"ListingDate\": \"22-Jul-19\",\n    \"ISIN\": \"INE792Z01011\",\n    \"MarketCap\": \"₹ 2,236 Cr.\",\n    \"CurrentPrice\": \"₹ 408\",\n    \"HighLow\": \"₹ 434 / 288\",\n    \"StockPE\": \"46.2\",\n    \"BookValue\": \"₹ 52.1\",\n    \"DividendYield\": \"0.36 %\",\n    \"ROCE\": \"25.3 %\",\n    \"ROE\": \"18.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"SIS LIMITED\",\n    \"Symbol\": \"SIS\",\n    \"ListingDate\": \"10-Aug-17\",\n    \"ISIN\": \"INE285J01028\",\n    \"MarketCap\": \"₹ 6,615 Cr.\",\n    \"CurrentPrice\": \"₹ 454\",\n    \"HighLow\": \"₹ 502 / 318\",\n    \"StockPE\": \"18.3\",\n    \"BookValue\": \"₹ 170\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"10.6 %\",\n    \"ROE\": \"15.6 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Siyaram Silk Mills Limited\",\n    \"Symbol\": \"SIYSIL\",\n    \"ListingDate\": \"29-Jan-07\",\n    \"ISIN\": \"INE076B01028\",\n    \"MarketCap\": \"₹ 2,514 Cr.\",\n    \"CurrentPrice\": \"₹ 536\",\n    \"HighLow\": \"₹ 635 / 399\",\n    \"StockPE\": \"11.9\",\n    \"BookValue\": \"₹ 254\",\n    \"DividendYield\": \"2.07 %\",\n    \"ROCE\": \"27.9 %\",\n    \"ROE\": \"23.7 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"S.J.S. Enterprises Limited\",\n    \"Symbol\": \"SJS\",\n    \"ListingDate\": \"15-Nov-21\",\n    \"ISIN\": \"INE284S01014\",\n    \"MarketCap\": \"₹ 1,915 Cr.\",\n    \"CurrentPrice\": \"₹ 617\",\n    \"HighLow\": \"₹ 745 / 378\",\n    \"StockPE\": \"28.0\",\n    \"BookValue\": \"₹ 160\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"22.1 %\",\n    \"ROE\": \"17.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"SKF India Limited\",\n    \"Symbol\": \"SKFINDIA\",\n    \"ListingDate\": \"27-Jan-99\",\n    \"ISIN\": \"INE640A01023\",\n    \"MarketCap\": \"₹ 22,989 Cr.\",\n    \"CurrentPrice\": \"₹ 4,650\",\n    \"HighLow\": \"₹ 5,535 / 3,960\",\n    \"StockPE\": \"47.5\",\n    \"BookValue\": \"₹ 483\",\n    \"DividendYield\": \"0.87 %\",\n    \"ROCE\": \"34.5 %\",\n    \"ROE\": \"24.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Skipper Limited\",\n    \"Symbol\": \"SKIPPER\",\n    \"ListingDate\": \"27-May-15\",\n    \"ISIN\": \"INE439E01022\",\n    \"MarketCap\": \"₹ 2,352 Cr.\",\n    \"CurrentPrice\": \"₹ 229\",\n    \"HighLow\": \"₹ 279 / 87.2\",\n    \"StockPE\": \"34.0\",\n    \"BookValue\": \"₹ 78.2\",\n    \"DividendYield\": \"0.04 %\",\n    \"ROCE\": \"12.0 %\",\n    \"ROE\": \"4.72 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"SKM Egg Products Export (India) Limited\",\n    \"Symbol\": \"SKMEGGPROD\",\n    \"ListingDate\": \"14-Mar-97\",\n    \"ISIN\": \"INE411D01015\",\n    \"MarketCap\": \"₹ 995 Cr.\",\n    \"CurrentPrice\": \"₹ 378\",\n    \"HighLow\": \"₹ 560 / 122\",\n    \"StockPE\": \"8.27\",\n    \"BookValue\": \"₹ 95.6\",\n    \"DividendYield\": \"0.66 %\",\n    \"ROCE\": \"46.4 %\",\n    \"ROE\": \"48.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sky Gold Limited\",\n    \"Symbol\": \"SKYGOLD\",\n    \"ListingDate\": \"06-Jan-23\",\n    \"ISIN\": \"INE01IU01018\",\n    \"MarketCap\": \"₹ 1,102 Cr.\",\n    \"CurrentPrice\": \"₹ 1,026\",\n    \"HighLow\": \"₹ 1,300 / 206\",\n    \"StockPE\": \"36.3\",\n    \"BookValue\": \"₹ 106\",\n    \"DividendYield\": \"0.20 %\",\n    \"ROCE\": \"17.5 %\",\n    \"ROE\": \"21.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Smartlink Holdings Limited\",\n    \"Symbol\": \"SMARTLINK\",\n    \"ListingDate\": \"11-Apr-01\",\n    \"ISIN\": \"INE178C01020\",\n    \"MarketCap\": \"₹ 184 Cr.\",\n    \"CurrentPrice\": \"₹ 185\",\n    \"HighLow\": \"₹ 205 / 127\",\n    \"StockPE\": \"102\",\n    \"BookValue\": \"₹ 183\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.57 %\",\n    \"ROE\": \"0.91 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"SMC Global Securities Limited\",\n    \"Symbol\": \"SMCGLOBAL\",\n    \"ListingDate\": \"24-Feb-21\",\n    \"ISIN\": \"INE103C01036\",\n    \"MarketCap\": \"₹ 1,068 Cr.\",\n    \"CurrentPrice\": \"₹ 102\",\n    \"HighLow\": \"₹ 114 / 61.0\",\n    \"StockPE\": \"8.67\",\n    \"BookValue\": \"₹ 94.6\",\n    \"DividendYield\": \"2.36 %\",\n    \"ROCE\": \"15.2 %\",\n    \"ROE\": \"12.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"SML Isuzu Limited\",\n    \"Symbol\": \"SMLISUZU\",\n    \"ListingDate\": \"29-Aug-03\",\n    \"ISIN\": \"INE294B01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Sarthak Metals Limited\",\n    \"Symbol\": \"SMLT\",\n    \"ListingDate\": \"25-Nov-21\",\n    \"ISIN\": \"INE017W01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"SMS Lifesciences India Limited\",\n    \"Symbol\": \"SMSLIFE\",\n    \"ListingDate\": \"17-Aug-17\",\n    \"ISIN\": \"INE320X01016\",\n    \"MarketCap\": \"₹ 161 Cr.\",\n    \"CurrentPrice\": \"₹ 534\",\n    \"HighLow\": \"₹ 691 / 464\",\n    \"StockPE\": \"65.3\",\n    \"BookValue\": \"₹ 553\",\n    \"DividendYield\": \"0.28 %\",\n    \"ROCE\": \"7.92 %\",\n    \"ROE\": \"6.12 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"SMS Pharmaceuticals Limited\",\n    \"Symbol\": \"SMSPHARMA\",\n    \"ListingDate\": \"28-Feb-07\",\n    \"ISIN\": \"INE812G01025\",\n    \"MarketCap\": \"₹ 1,009 Cr.\",\n    \"CurrentPrice\": \"₹ 119\",\n    \"HighLow\": \"₹ 140 / 54.5\",\n    \"StockPE\": \"32.5\",\n    \"BookValue\": \"₹ 56.6\",\n    \"DividendYield\": \"0.25 %\",\n    \"ROCE\": \"3.78 %\",\n    \"ROE\": \"-1.51 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Snowman Logistics Limited\",\n    \"Symbol\": \"SNOWMAN\",\n    \"ListingDate\": \"12-Sep-14\",\n    \"ISIN\": \"INE734N01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Sobha Limited\",\n    \"Symbol\": \"SOBHA\",\n    \"ListingDate\": \"20-Dec-06\",\n    \"ISIN\": \"INE671H01015\",\n    \"MarketCap\": \"₹ 9,454 Cr.\",\n    \"CurrentPrice\": \"₹ 997\",\n    \"HighLow\": \"₹ 1,089 / 412\",\n    \"StockPE\": \"88.0\",\n    \"BookValue\": \"₹ 263\",\n    \"DividendYield\": \"0.29 %\",\n    \"ROCE\": \"8.32 %\",\n    \"ROE\": \"4.24 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Softtech Engineers Limited\",\n    \"Symbol\": \"SOFTTECH\",\n    \"ListingDate\": \"25-Feb-22\",\n    \"ISIN\": \"INE728Z01015\",\n    \"MarketCap\": \"₹ 236 Cr.\",\n    \"CurrentPrice\": \"₹ 233\",\n    \"HighLow\": \"₹ 288 / 122\",\n    \"StockPE\": \"78.5\",\n    \"BookValue\": \"₹ 122\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.85 %\",\n    \"ROE\": \"3.91 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Solara Active Pharma Sciences Limited\",\n    \"Symbol\": \"SOLARA\",\n    \"ListingDate\": \"27-Jun-18\",\n    \"ISIN\": \"INE624Z01016\",\n    \"MarketCap\": \"₹ 1,322 Cr.\",\n    \"CurrentPrice\": \"₹ 367\",\n    \"HighLow\": \"₹ 450 / 286\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 407\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.80 %\",\n    \"ROE\": \"-1.44 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Solar Industries India Limited\",\n    \"Symbol\": \"SOLARINDS\",\n    \"ListingDate\": \"03-Apr-06\",\n    \"ISIN\": \"INE343H01029\",\n    \"MarketCap\": \"₹ 60,622 Cr.\",\n    \"CurrentPrice\": \"₹ 6,699\",\n    \"HighLow\": \"₹ 8,499 / 3,453\",\n    \"StockPE\": \"75.0\",\n    \"BookValue\": \"₹ 316\",\n    \"DividendYield\": \"0.12 %\",\n    \"ROCE\": \"34.7 %\",\n    \"ROE\": \"33.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Somany Ceramics Limited\",\n    \"Symbol\": \"SOMANYCERA\",\n    \"ListingDate\": \"22-Nov-95\",\n    \"ISIN\": \"INE355A01028\",\n    \"MarketCap\": \"₹ 3,045 Cr.\",\n    \"CurrentPrice\": \"₹ 717\",\n    \"HighLow\": \"₹ 819 / 466\",\n    \"StockPE\": \"37.4\",\n    \"BookValue\": \"₹ 193\",\n    \"DividendYield\": \"0.42 %\",\n    \"ROCE\": \"9.37 %\",\n    \"ROE\": \"8.57 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Soma Textiles & Industries Limited\",\n    \"Symbol\": \"SOMATEX\",\n    \"ListingDate\": \"14-Aug-96\",\n    \"ISIN\": \"INE314C01013\",\n    \"MarketCap\": \"₹ 73.8 Cr.\",\n    \"CurrentPrice\": \"₹ 22.4\",\n    \"HighLow\": \"₹ 50.2 / 8.52\",\n    \"StockPE\": \"16.9\",\n    \"BookValue\": \"₹ 23.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"11.0 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Somi Conveyor Beltings Limited\",\n    \"Symbol\": \"SOMICONVEY\",\n    \"ListingDate\": \"18-Jul-16\",\n    \"ISIN\": \"INE323J01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Sona BLW Precision Forgings Limited\",\n    \"Symbol\": \"SONACOMS\",\n    \"ListingDate\": \"24-Jun-21\",\n    \"ISIN\": \"INE073K01018\",\n    \"MarketCap\": \"₹ 37,468 Cr.\",\n    \"CurrentPrice\": \"₹ 639\",\n    \"HighLow\": \"₹ 649 / 401\",\n    \"StockPE\": \"79.4\",\n    \"BookValue\": \"₹ 41.6\",\n    \"DividendYield\": \"0.43 %\",\n    \"ROCE\": \"22.0 %\",\n    \"ROE\": \"18.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sonata Software Limited\",\n    \"Symbol\": \"SONATSOFTW\",\n    \"ListingDate\": \"28-Jul-99\",\n    \"ISIN\": \"INE269A01021\",\n    \"MarketCap\": \"₹ 20,788 Cr.\",\n    \"CurrentPrice\": \"₹ 741\",\n    \"HighLow\": \"₹ 804 / 277\",\n    \"StockPE\": \"43.7\",\n    \"BookValue\": \"₹ 51.4\",\n    \"DividendYield\": \"1.06 %\",\n    \"ROCE\": \"39.1 %\",\n    \"ROE\": \"37.7 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Savita Oil Technologies Limited\",\n    \"Symbol\": \"SOTL\",\n    \"ListingDate\": \"28-Jun-95\",\n    \"ISIN\": \"INE035D01020\",\n    \"MarketCap\": \"₹ 2,443 Cr.\",\n    \"CurrentPrice\": \"₹ 354\",\n    \"HighLow\": \"₹ 389 / 232\",\n    \"StockPE\": \"14.6\",\n    \"BookValue\": \"₹ 221\",\n    \"DividendYield\": \"1.11 %\",\n    \"ROCE\": \"24.2 %\",\n    \"ROE\": \"16.1 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"The South Indian Bank Limited\",\n    \"Symbol\": \"SOUTHBANK\",\n    \"ListingDate\": \"08-Dec-98\",\n    \"ISIN\": \"INE683A01023\",\n    \"MarketCap\": \"₹ 5,569 Cr.\",\n    \"CurrentPrice\": \"₹ 26.6\",\n    \"HighLow\": \"₹ 28.5 / 13.8\",\n    \"StockPE\": \"6.12\",\n    \"BookValue\": \"₹ 31.9\",\n    \"DividendYield\": \"1.10 %\",\n    \"ROCE\": \"5.24 %\",\n    \"ROE\": \"12.4 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"South West Pinnacle Exploration Limited\",\n    \"Symbol\": \"SOUTHWEST\",\n    \"ListingDate\": \"18-Apr-19\",\n    \"ISIN\": \"INE980Y01015\",\n    \"MarketCap\": \"₹ 470 Cr.\",\n    \"CurrentPrice\": \"₹ 168\",\n    \"HighLow\": \"₹ 192 / 92.0\",\n    \"StockPE\": \"75.2\",\n    \"BookValue\": \"₹ 41.1\",\n    \"DividendYield\": \"0.30 %\",\n    \"ROCE\": \"10.6 %\",\n    \"ROE\": \"8.20 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"S. P. Apparels Limited\",\n    \"Symbol\": \"SPAL\",\n    \"ListingDate\": \"12-Aug-16\",\n    \"ISIN\": \"INE212I01016\",\n    \"MarketCap\": \"₹ 1,552 Cr.\",\n    \"CurrentPrice\": \"₹ 619\",\n    \"HighLow\": \"₹ 685 / 271\",\n    \"StockPE\": \"20.0\",\n    \"BookValue\": \"₹ 287\",\n    \"DividendYield\": \"0.49 %\",\n    \"ROCE\": \"14.6 %\",\n    \"ROE\": \"12.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Spandana Sphoorty Financial Limited\",\n    \"Symbol\": \"SPANDANA\",\n    \"ListingDate\": \"19-Aug-19\",\n    \"ISIN\": \"INE572J01011\",\n    \"MarketCap\": \"₹ 7,977 Cr.\",\n    \"CurrentPrice\": \"₹ 1,121\",\n    \"HighLow\": \"₹ 1,122 / 470\",\n    \"StockPE\": \"18.9\",\n    \"BookValue\": \"₹ 473\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.98 %\",\n    \"ROE\": \"0.40 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sun Pharma Advanced Research Company Limited\",\n    \"Symbol\": \"SPARC\",\n    \"ListingDate\": \"18-Jul-07\",\n    \"ISIN\": \"INE232I01014\",\n    \"MarketCap\": \"₹ 8,889 Cr.\",\n    \"CurrentPrice\": \"₹ 274\",\n    \"HighLow\": \"₹ 289 / 160\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 10.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Spacenet Enterprises India Limited\",\n    \"Symbol\": \"SPCENET\",\n    \"ListingDate\": \"10-Jan-17\",\n    \"ISIN\": \"INE970N01027\",\n    \"MarketCap\": \"₹ 1,602 Cr.\",\n    \"CurrentPrice\": \"₹ 30.0\",\n    \"HighLow\": \"₹ 33.2 / 14.2\",\n    \"StockPE\": \"230\",\n    \"BookValue\": \"₹ 1.09\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"7.25 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Speciality Restaurants Limited\",\n    \"Symbol\": \"SPECIALITY\",\n    \"ListingDate\": \"30-May-12\",\n    \"ISIN\": \"INE247M01014\",\n    \"MarketCap\": \"₹ 913 Cr.\",\n    \"CurrentPrice\": \"₹ 190\",\n    \"HighLow\": \"₹ 283 / 168\",\n    \"StockPE\": \"11.0\",\n    \"BookValue\": \"₹ 59.6\",\n    \"DividendYield\": \"1.31 %\",\n    \"ROCE\": \"17.6 %\",\n    \"ROE\": \"38.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Spencer's Retail Limited\",\n    \"Symbol\": \"SPENCERS\",\n    \"ListingDate\": \"25-Jan-19\",\n    \"ISIN\": \"INE020801028\",\n    \"MarketCap\": \"₹ 969 Cr.\",\n    \"CurrentPrice\": \"₹ 108\",\n    \"HighLow\": \"₹ 125 / 51.4\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -31.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-8.23 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Spentex Industries Limited\",\n    \"Symbol\": \"SPENTEX\",\n    \"ListingDate\": \"20-Dec-06\",\n    \"ISIN\": \"INE376C01020\",\n    \"MarketCap\": \"₹ 20.7 Cr.\",\n    \"CurrentPrice\": \"₹ 2.31\",\n    \"HighLow\": \"₹ 3.55 / 0.80\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -109\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Southern Petrochemicals Industries Corporation  Limited\",\n    \"Symbol\": \"SPIC\",\n    \"ListingDate\": \"10-Jan-96\",\n    \"ISIN\": \"INE147A01011\",\n    \"MarketCap\": \"₹ 1,580 Cr.\",\n    \"CurrentPrice\": \"₹ 77.6\",\n    \"HighLow\": \"₹ 92.0 / 52.0\",\n    \"StockPE\": \"7.24\",\n    \"BookValue\": \"₹ 52.4\",\n    \"DividendYield\": \"1.95 %\",\n    \"ROCE\": \"29.6 %\",\n    \"ROE\": \"35.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"SPL Industries Limited\",\n    \"Symbol\": \"SPLIL\",\n    \"ListingDate\": \"26-Jul-05\",\n    \"ISIN\": \"INE978G01016\",\n    \"MarketCap\": \"₹ 203 Cr.\",\n    \"CurrentPrice\": \"₹ 70.0\",\n    \"HighLow\": \"₹ 81.7 / 53.3\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 14.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-35.5 %\",\n    \"ROE\": \"-91.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Supreme Petrochem Limited\",\n    \"Symbol\": \"SPLPETRO\",\n    \"ListingDate\": \"24-May-22\",\n    \"ISIN\": \"INE663A01033\",\n    \"MarketCap\": \"₹ 10,546 Cr.\",\n    \"CurrentPrice\": \"₹ 561\",\n    \"HighLow\": \"₹ 618 / 345\",\n    \"StockPE\": \"175\",\n    \"BookValue\": \"₹ 12.2\",\n    \"DividendYield\": \"1.58 %\",\n    \"ROCE\": \"29.7 %\",\n    \"ROE\": \"27.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"SPML Infra Limited\",\n    \"Symbol\": \"SPMLINFRA\",\n    \"ListingDate\": \"14-Feb-96\",\n    \"ISIN\": \"INE937A01023\",\n    \"MarketCap\": \"₹ 461 Cr.\",\n    \"CurrentPrice\": \"₹ 94.1\",\n    \"HighLow\": \"₹ 101 / 16.8\",\n    \"StockPE\": \"49.2\",\n    \"BookValue\": \"₹ 69.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.51 %\",\n    \"ROE\": \"0.11 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Shekhawati Poly-Yarn Limited\",\n    \"Symbol\": \"SPYL\",\n    \"ListingDate\": \"12-Jan-11\",\n    \"ISIN\": \"INE268L01020\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Sreeleathers Limited\",\n    \"Symbol\": \"SREEL\",\n    \"ListingDate\": \"01-Jan-14\",\n    \"ISIN\": \"INE099F01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"SRF Limited\",\n    \"Symbol\": \"SRF\",\n    \"ListingDate\": \"18-Aug-03\",\n    \"ISIN\": \"INE647A01010\",\n    \"MarketCap\": \"₹ 73,999 Cr.\",\n    \"CurrentPrice\": \"₹ 2,496\",\n    \"HighLow\": \"₹ 2,637 / 2,040\",\n    \"StockPE\": \"42.7\",\n    \"BookValue\": \"₹ 366\",\n    \"DividendYield\": \"0.29 %\",\n    \"ROCE\": \"22.4 %\",\n    \"ROE\": \"22.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"SRG Housing Finance Limited\",\n    \"Symbol\": \"SRGHFL\",\n    \"ListingDate\": \"21-Aug-23\",\n    \"ISIN\": \"INE559N01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Sree Rayalaseema Hi-Strength Hypo Limited\",\n    \"Symbol\": \"SRHHYPOLTD\",\n    \"ListingDate\": \"08-May-07\",\n    \"ISIN\": \"INE917H01012\",\n    \"MarketCap\": \"₹ 960 Cr.\",\n    \"CurrentPrice\": \"₹ 559\",\n    \"HighLow\": \"₹ 815 / 375\",\n    \"StockPE\": \"7.01\",\n    \"BookValue\": \"₹ 479\",\n    \"DividendYield\": \"0.70 %\",\n    \"ROCE\": \"26.4 %\",\n    \"ROE\": \"21.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Shree Ram Proteins Limited\",\n    \"Symbol\": \"SRPL\",\n    \"ListingDate\": \"23-Sep-20\",\n    \"ISIN\": \"INE008Z01020\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Steel Strips Wheels Limited\",\n    \"Symbol\": \"SSWL\",\n    \"ListingDate\": \"06-Jun-05\",\n    \"ISIN\": \"INE802C01033\",\n    \"MarketCap\": \"₹ 4,073 Cr.\",\n    \"CurrentPrice\": \"₹ 260\",\n    \"HighLow\": \"₹ 299 / 126\",\n    \"StockPE\": \"21.3\",\n    \"BookValue\": \"₹ 78.1\",\n    \"DividendYield\": \"0.40 %\",\n    \"ROCE\": \"21.4 %\",\n    \"ROE\": \"18.6 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Strides Pharma Science Limited\",\n    \"Symbol\": \"STAR\",\n    \"ListingDate\": \"02-Feb-00\",\n    \"ISIN\": \"INE939A01011\",\n    \"MarketCap\": \"₹ 5,881 Cr.\",\n    \"CurrentPrice\": \"₹ 640\",\n    \"HighLow\": \"₹ 665 / 268\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 227\",\n    \"DividendYield\": \"0.23 %\",\n    \"ROCE\": \"-0.23 %\",\n    \"ROE\": \"-8.36 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Star Cement Limited\",\n    \"Symbol\": \"STARCEMENT\",\n    \"ListingDate\": \"16-Jun-17\",\n    \"ISIN\": \"INE460H01021\",\n    \"MarketCap\": \"₹ 7,146 Cr.\",\n    \"CurrentPrice\": \"₹ 177\",\n    \"HighLow\": \"₹ 183 / 101\",\n    \"StockPE\": \"25.2\",\n    \"BookValue\": \"₹ 63.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"16.8 %\",\n    \"ROE\": \"10.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Star Health and Allied Insurance Company Limited\",\n    \"Symbol\": \"STARHEALTH\",\n    \"ListingDate\": \"10-Dec-21\",\n    \"ISIN\": \"INE575P01011\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Star Paper Mills Limited\",\n    \"Symbol\": \"STARPAPER\",\n    \"ListingDate\": \"13-Sep-95\",\n    \"ISIN\": \"INE733A01018\",\n    \"MarketCap\": \"₹ 363 Cr.\",\n    \"CurrentPrice\": \"₹ 233\",\n    \"HighLow\": \"₹ 245 / 142\",\n    \"StockPE\": \"24.2\",\n    \"BookValue\": \"₹ 74.0\",\n    \"DividendYield\": \"1.52 %\",\n    \"ROCE\": \"19.9 %\",\n    \"ROE\": \"13.7 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Starteck Finance Limited\",\n    \"Symbol\": \"STARTECK\",\n    \"ListingDate\": \"04-May-22\",\n    \"ISIN\": \"INE992I01013\",\n    \"MarketCap\": \"₹ 345 Cr.\",\n    \"CurrentPrice\": \"₹ 348\",\n    \"HighLow\": \"₹ 420 / 101\",\n    \"StockPE\": \"22.4\",\n    \"BookValue\": \"₹ 190\",\n    \"DividendYield\": \"0.07 %\",\n    \"ROCE\": \"7.13 %\",\n    \"ROE\": \"6.57 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"The State Trading Corporation of India Limited\",\n    \"Symbol\": \"STCINDIA\",\n    \"ListingDate\": \"01-Apr-03\",\n    \"ISIN\": \"INE655A01013\",\n    \"MarketCap\": \"₹ 834 Cr.\",\n    \"CurrentPrice\": \"₹ 139\",\n    \"HighLow\": \"₹ 178 / 62.0\",\n    \"StockPE\": \"23.8\",\n    \"BookValue\": \"₹ -780\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Steelcast Limited\",\n    \"Symbol\": \"STEELCAS\",\n    \"ListingDate\": \"23-Nov-21\",\n    \"ISIN\": \"INE124E01020\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Steel City Securities Limited\",\n    \"Symbol\": \"STEELCITY\",\n    \"ListingDate\": \"27-Jun-19\",\n    \"ISIN\": \"INE395H01011\",\n    \"MarketCap\": \"₹ 112 Cr.\",\n    \"CurrentPrice\": \"₹ 74.4\",\n    \"HighLow\": \"₹ 79.9 / 57.4\",\n    \"StockPE\": \"10.9\",\n    \"BookValue\": \"₹ 75.9\",\n    \"DividendYield\": \"4.04 %\",\n    \"ROCE\": \"14.3 %\",\n    \"ROE\": \"10.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"STEEL EXCHANGE INDIA LIMITED\",\n    \"Symbol\": \"STEELXIND\",\n    \"ListingDate\": \"20-Jul-17\",\n    \"ISIN\": \"INE503B01021\",\n    \"MarketCap\": \"₹ 1,228 Cr.\",\n    \"CurrentPrice\": \"₹ 10.4\",\n    \"HighLow\": \"₹ 17.2 / 7.80\",\n    \"StockPE\": \"317\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Stel Holdings Limited\",\n    \"Symbol\": \"STEL\",\n    \"ListingDate\": \"09-Feb-11\",\n    \"ISIN\": \"INE577L01016\",\n    \"MarketCap\": \"₹ 591 Cr.\",\n    \"CurrentPrice\": \"₹ 320\",\n    \"HighLow\": \"₹ 347 / 130\",\n    \"StockPE\": \"45.3\",\n    \"BookValue\": \"₹ 616\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.11 %\",\n    \"ROE\": \"1.58 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sterling Tools Limited\",\n    \"Symbol\": \"STERTOOLS\",\n    \"ListingDate\": \"02-Feb-06\",\n    \"ISIN\": \"INE334A01023\",\n    \"MarketCap\": \"₹ 1,288 Cr.\",\n    \"CurrentPrice\": \"₹ 358\",\n    \"HighLow\": \"₹ 457 / 252\",\n    \"StockPE\": \"26.3\",\n    \"BookValue\": \"₹ 116\",\n    \"DividendYield\": \"0.54 %\",\n    \"ROCE\": \"13.3 %\",\n    \"ROE\": \"11.8 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Sterlite Technologies Limited\",\n    \"Symbol\": \"STLTECH\",\n    \"ListingDate\": \"08-Dec-00\",\n    \"ISIN\": \"INE089C01029\",\n    \"MarketCap\": \"₹ 5,718 Cr.\",\n    \"CurrentPrice\": \"₹ 143\",\n    \"HighLow\": \"₹ 193 / 128\",\n    \"StockPE\": \"25.7\",\n    \"BookValue\": \"₹ 53.5\",\n    \"DividendYield\": \"0.70 %\",\n    \"ROCE\": \"11.0 %\",\n    \"ROE\": \"6.32 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Stove Kraft Limited\",\n    \"Symbol\": \"STOVEKRAFT\",\n    \"ListingDate\": \"05-Feb-21\",\n    \"ISIN\": \"INE00IN01015\",\n    \"MarketCap\": \"₹ 1,494 Cr.\",\n    \"CurrentPrice\": \"₹ 452\",\n    \"HighLow\": \"₹ 579 / 353\",\n    \"StockPE\": \"18.3\",\n    \"BookValue\": \"₹ 92.5\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"31.8 %\",\n    \"ROE\": \"67.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Stylam Industries Limited\",\n    \"Symbol\": \"STYLAMIND\",\n    \"ListingDate\": \"02-Aug-21\",\n    \"ISIN\": \"INE239C01020\",\n    \"MarketCap\": \"₹ 2,932 Cr.\",\n    \"CurrentPrice\": \"₹ 1,730\",\n    \"HighLow\": \"₹ 1,980 / 942\",\n    \"StockPE\": \"26.6\",\n    \"BookValue\": \"₹ 278\",\n    \"DividendYield\": \"0.14 %\",\n    \"ROCE\": \"31.9 %\",\n    \"ROE\": \"26.4 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Styrenix Performance Materials Limited\",\n    \"Symbol\": \"STYRENIX\",\n    \"ListingDate\": \"29-Mar-95\",\n    \"ISIN\": \"INE189B01011\",\n    \"MarketCap\": \"₹ 2,544 Cr.\",\n    \"CurrentPrice\": \"₹ 1,447\",\n    \"HighLow\": \"₹ 1,565 / 692\",\n    \"StockPE\": \"135\",\n    \"BookValue\": \"₹ 277\",\n    \"DividendYield\": \"7.19 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Subex Limited\",\n    \"Symbol\": \"SUBEXLTD\",\n    \"ListingDate\": \"05-Nov-20\",\n    \"ISIN\": \"INE754A01055\",\n    \"MarketCap\": \"₹ 1,941 Cr.\",\n    \"CurrentPrice\": \"₹ 34.4\",\n    \"HighLow\": \"₹ 39.2 / 25.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 8.76\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-9.35 %\",\n    \"ROE\": \"-9.56 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Subros Limited\",\n    \"Symbol\": \"SUBROS\",\n    \"ListingDate\": \"13-Jul-05\",\n    \"ISIN\": \"INE287B01021\",\n    \"MarketCap\": \"₹ 3,627 Cr.\",\n    \"CurrentPrice\": \"₹ 556\",\n    \"HighLow\": \"₹ 578 / 271\",\n    \"StockPE\": \"54.2\",\n    \"BookValue\": \"₹ 138\",\n    \"DividendYield\": \"0.18 %\",\n    \"ROCE\": \"8.82 %\",\n    \"ROE\": \"5.60 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Sudarshan Chemical Industries Limited\",\n    \"Symbol\": \"SUDARSCHEM\",\n    \"ListingDate\": \"25-May-95\",\n    \"ISIN\": \"INE659A01023\",\n    \"MarketCap\": \"₹ 3,831 Cr.\",\n    \"CurrentPrice\": \"₹ 553\",\n    \"HighLow\": \"₹ 567 / 341\",\n    \"StockPE\": \"52.1\",\n    \"BookValue\": \"₹ 159\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"6.27 %\",\n    \"ROE\": \"5.40 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Sukhjit Starch & Chemicals Limited\",\n    \"Symbol\": \"SUKHJITS\",\n    \"ListingDate\": \"07-Nov-22\",\n    \"ISIN\": \"INE450E01011\",\n    \"MarketCap\": \"₹ 775 Cr.\",\n    \"CurrentPrice\": \"₹ 496\",\n    \"HighLow\": \"₹ 540 / 360\",\n    \"StockPE\": \"15.4\",\n    \"BookValue\": \"₹ 312\",\n    \"DividendYield\": \"1.62 %\",\n    \"ROCE\": \"15.2 %\",\n    \"ROE\": \"14.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sula Vineyards Limited\",\n    \"Symbol\": \"SULA\",\n    \"ListingDate\": \"22-Dec-22\",\n    \"ISIN\": \"INE142Q01026\",\n    \"MarketCap\": \"₹ 4,172 Cr.\",\n    \"CurrentPrice\": \"₹ 494\",\n    \"HighLow\": \"₹ 535 / 316\",\n    \"StockPE\": \"46.2\",\n    \"BookValue\": \"₹ 62.3\",\n    \"DividendYield\": \"1.03 %\",\n    \"ROCE\": \"19.8 %\",\n    \"ROE\": \"18.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Sumitomo Chemical India Limited\",\n    \"Symbol\": \"SUMICHEM\",\n    \"ListingDate\": \"27-Jan-20\",\n    \"ISIN\": \"INE258G01013\",\n    \"MarketCap\": \"₹ 20,171 Cr.\",\n    \"CurrentPrice\": \"₹ 404\",\n    \"HighLow\": \"₹ 499 / 371\",\n    \"StockPE\": \"54.9\",\n    \"BookValue\": \"₹ 50.6\",\n    \"DividendYield\": \"0.30 %\",\n    \"ROCE\": \"29.1 %\",\n    \"ROE\": \"22.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sumit Woods Limited\",\n    \"Symbol\": \"SUMIT\",\n    \"ListingDate\": \"30-Jul-19\",\n    \"ISIN\": \"INE748Z01013\",\n    \"MarketCap\": \"₹ 158 Cr.\",\n    \"CurrentPrice\": \"₹ 51.7\",\n    \"HighLow\": \"₹ 59.8 / 26.8\",\n    \"StockPE\": \"23.2\",\n    \"BookValue\": \"₹ 22.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"12.0 %\",\n    \"ROE\": \"11.7 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Summit Securities Limited\",\n    \"Symbol\": \"SUMMITSEC\",\n    \"ListingDate\": \"28-Jan-11\",\n    \"ISIN\": \"INE519C01017\",\n    \"MarketCap\": \"₹ 1,404 Cr.\",\n    \"CurrentPrice\": \"₹ 1,288\",\n    \"HighLow\": \"₹ 1,508 / 518\",\n    \"StockPE\": \"25.1\",\n    \"BookValue\": \"₹ 7,163\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"0.98 %\",\n    \"ROE\": \"0.77 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  { \"Symbol\": \"SUNCLAY\", \"status\": \"404\" },\n  {\n    \"Name\": \"Sundaram Multi Pap Limited\",\n    \"Symbol\": \"SUNDARAM\",\n    \"ListingDate\": \"02-Jun-10\",\n    \"ISIN\": \"INE108E01023\",\n    \"MarketCap\": \"₹ 140 Cr.\",\n    \"CurrentPrice\": \"₹ 2.95\",\n    \"HighLow\": \"₹ 3.70 / 1.95\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 3.67\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"5.15 %\",\n    \"ROE\": \"-3.08 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Sundaram Finance Limited\",\n    \"Symbol\": \"SUNDARMFIN\",\n    \"ListingDate\": \"07-Jan-98\",\n    \"ISIN\": \"INE660A01013\",\n    \"MarketCap\": \"₹ 38,666 Cr.\",\n    \"CurrentPrice\": \"₹ 3,480\",\n    \"HighLow\": \"₹ 3,800 / 2,190\",\n    \"StockPE\": \"25.7\",\n    \"BookValue\": \"₹ 952\",\n    \"DividendYield\": \"0.76 %\",\n    \"ROCE\": \"8.00 %\",\n    \"ROE\": \"14.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sundaram Finance Holdings Limited\",\n    \"Symbol\": \"SUNDARMHLD\",\n    \"ListingDate\": \"26-Mar-18\",\n    \"ISIN\": \"INE202Z01029\",\n    \"MarketCap\": \"₹ 3,297 Cr.\",\n    \"CurrentPrice\": \"₹ 148\",\n    \"HighLow\": \"₹ 174 / 74.0\",\n    \"StockPE\": \"10.2\",\n    \"BookValue\": \"₹ 179\",\n    \"DividendYield\": \"2.04 %\",\n    \"ROCE\": \"1.43 %\",\n    \"ROE\": \"7.23 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Sundaram Brake Linings Limited\",\n    \"Symbol\": \"SUNDRMBRAK\",\n    \"ListingDate\": \"17-Jul-96\",\n    \"ISIN\": \"INE073D01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Sundram Fasteners Limited\",\n    \"Symbol\": \"SUNDRMFAST\",\n    \"ListingDate\": \"07-Jun-00\",\n    \"ISIN\": \"INE387A01021\",\n    \"MarketCap\": \"₹ 25,846 Cr.\",\n    \"CurrentPrice\": \"₹ 1,230\",\n    \"HighLow\": \"₹ 1,341 / 935\",\n    \"StockPE\": \"51.4\",\n    \"BookValue\": \"₹ 153\",\n    \"DividendYield\": \"0.54 %\",\n    \"ROCE\": \"19.3 %\",\n    \"ROE\": \"17.4 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Sunflag Iron And Steel Company Limited\",\n    \"Symbol\": \"SUNFLAG\",\n    \"ListingDate\": \"29-Sep-05\",\n    \"ISIN\": \"INE947A01014\",\n    \"MarketCap\": \"₹ 3,770 Cr.\",\n    \"CurrentPrice\": \"₹ 209\",\n    \"HighLow\": \"₹ 249 / 111\",\n    \"StockPE\": \"23.0\",\n    \"BookValue\": \"₹ 263\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"11.9 %\",\n    \"ROE\": \"8.78 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sun Pharmaceutical Industries Limited\",\n    \"Symbol\": \"SUNPHARMA\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE044A01036\",\n    \"MarketCap\": \"₹ 3,01,776 Cr.\",\n    \"CurrentPrice\": \"₹ 1,258\",\n    \"HighLow\": \"₹ 1,284 / 922\",\n    \"StockPE\": \"33.7\",\n    \"BookValue\": \"₹ 249\",\n    \"DividendYield\": \"0.91 %\",\n    \"ROCE\": \"16.4 %\",\n    \"ROE\": \"16.6 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Sunteck Realty Limited\",\n    \"Symbol\": \"SUNTECK\",\n    \"ListingDate\": \"13-Nov-09\",\n    \"ISIN\": \"INE805D01034\",\n    \"MarketCap\": \"₹ 6,461 Cr.\",\n    \"CurrentPrice\": \"₹ 441\",\n    \"HighLow\": \"₹ 512 / 271\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 188\",\n    \"DividendYield\": \"0.33 %\",\n    \"ROCE\": \"2.56 %\",\n    \"ROE\": \"0.05 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Sun TV Network Limited\",\n    \"Symbol\": \"SUNTV\",\n    \"ListingDate\": \"24-Apr-06\",\n    \"ISIN\": \"INE424H01027\",\n    \"MarketCap\": \"₹ 27,935 Cr.\",\n    \"CurrentPrice\": \"₹ 709\",\n    \"HighLow\": \"₹ 732 / 394\",\n    \"StockPE\": \"15.0\",\n    \"BookValue\": \"₹ 256\",\n    \"DividendYield\": \"2.11 %\",\n    \"ROCE\": \"25.5 %\",\n    \"ROE\": \"19.2 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Superhouse Limited\",\n    \"Symbol\": \"SUPERHOUSE\",\n    \"ListingDate\": \"26-Sep-14\",\n    \"ISIN\": \"INE712B01010\",\n    \"MarketCap\": \"₹ 278 Cr.\",\n    \"CurrentPrice\": \"₹ 252\",\n    \"HighLow\": \"₹ 287 / 185\",\n    \"StockPE\": \"12.3\",\n    \"BookValue\": \"₹ 404\",\n    \"DividendYield\": \"0.40 %\",\n    \"ROCE\": \"8.20 %\",\n    \"ROE\": \"6.07 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Super Spinning Mills Limited\",\n    \"Symbol\": \"SUPERSPIN\",\n    \"ListingDate\": \"08-Jul-04\",\n    \"ISIN\": \"INE662A01027\",\n    \"MarketCap\": \"₹ 45.6 Cr.\",\n    \"CurrentPrice\": \"₹ 8.28\",\n    \"HighLow\": \"₹ 11.7 / 5.30\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 9.20\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-1.79 %\",\n    \"ROE\": \"-43.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Suprajit Engineering Limited\",\n    \"Symbol\": \"SUPRAJIT\",\n    \"ListingDate\": \"18-Feb-05\",\n    \"ISIN\": \"INE399C01030\",\n    \"MarketCap\": \"₹ 5,600 Cr.\",\n    \"CurrentPrice\": \"₹ 405\",\n    \"HighLow\": \"₹ 447 / 315\",\n    \"StockPE\": \"38.1\",\n    \"BookValue\": \"₹ 91.9\",\n    \"DividendYield\": \"0.57 %\",\n    \"ROCE\": \"15.3 %\",\n    \"ROE\": \"13.2 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Supreme Engineering Limited\",\n    \"Symbol\": \"SUPREMEENG\",\n    \"ListingDate\": \"04-Dec-20\",\n    \"ISIN\": \"INE319Z01021\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Supreme Industries Limited\",\n    \"Symbol\": \"SUPREMEIND\",\n    \"ListingDate\": \"19-Jul-95\",\n    \"ISIN\": \"INE195A01028\",\n    \"MarketCap\": \"₹ 56,898 Cr.\",\n    \"CurrentPrice\": \"₹ 4,479\",\n    \"HighLow\": \"₹ 4,888 / 2,335\",\n    \"StockPE\": \"55.3\",\n    \"BookValue\": \"₹ 363\",\n    \"DividendYield\": \"0.58 %\",\n    \"ROCE\": \"26.8 %\",\n    \"ROE\": \"21.0 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Supreme Infrastructure India Limited\",\n    \"Symbol\": \"SUPREMEINF\",\n    \"ListingDate\": \"18-Oct-07\",\n    \"ISIN\": \"INE550H01011\",\n    \"MarketCap\": \"₹ 133 Cr.\",\n    \"CurrentPrice\": \"₹ 51.9\",\n    \"HighLow\": \"₹ 51.9 / 19.6\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -1,993\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Supriya Lifescience Limited\",\n    \"Symbol\": \"SUPRIYA\",\n    \"ListingDate\": \"28-Dec-21\",\n    \"ISIN\": \"INE07RO01027\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Suraj Estate Developers Limited\",\n    \"Symbol\": \"SURAJEST\",\n    \"ListingDate\": \"26-Dec-23\",\n    \"ISIN\": \"INE843S01025\",\n    \"MarketCap\": \"₹ 1,482 Cr.\",\n    \"CurrentPrice\": \"₹ 334\",\n    \"HighLow\": \"₹ 354 / 324\",\n    \"StockPE\": \"46.2\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"22.2 %\",\n    \"ROE\": \"58.0 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Surana Solar Limited\",\n    \"Symbol\": \"SURANASOL\",\n    \"ListingDate\": \"07-Jan-11\",\n    \"ISIN\": \"INE272L01022\",\n    \"MarketCap\": \"₹ 164 Cr.\",\n    \"CurrentPrice\": \"₹ 33.3\",\n    \"HighLow\": \"₹ 40.0 / 14.7\",\n    \"StockPE\": \"46.7\",\n    \"BookValue\": \"₹ 8.58\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Surana Telecom and Power Limited\",\n    \"Symbol\": \"SURANAT&P\",\n    \"ListingDate\": \"22-May-02\",\n    \"ISIN\": \"INE130B01031\",\n    \"MarketCap\": \"₹ 207 Cr.\",\n    \"CurrentPrice\": \"₹ 15.3\",\n    \"HighLow\": \"₹ 17.6 / 7.60\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 9.37\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-0.15 %\",\n    \"ROE\": \"-1.15 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Suryalakshmi Cotton Mills Limited\",\n    \"Symbol\": \"SURYALAXMI\",\n    \"ListingDate\": \"15-Jun-05\",\n    \"ISIN\": \"INE713B01026\",\n    \"MarketCap\": \"₹ 142 Cr.\",\n    \"CurrentPrice\": \"₹ 75.3\",\n    \"HighLow\": \"₹ 89.5 / 43.4\",\n    \"StockPE\": \"4.69\",\n    \"BookValue\": \"₹ 142\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"13.8 %\",\n    \"ROE\": \"15.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Surya Roshni Limited\",\n    \"Symbol\": \"SURYAROSNI\",\n    \"ListingDate\": \"10-May-95\",\n    \"ISIN\": \"INE335A01020\",\n    \"MarketCap\": \"₹ 8,272 Cr.\",\n    \"CurrentPrice\": \"₹ 760\",\n    \"HighLow\": \"₹ 762 / 242\",\n    \"StockPE\": \"21.8\",\n    \"BookValue\": \"₹ 182\",\n    \"DividendYield\": \"0.77 %\",\n    \"ROCE\": \"22.8 %\",\n    \"ROE\": \"19.7 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Suryoday Small Finance Bank Limited\",\n    \"Symbol\": \"SURYODAY\",\n    \"ListingDate\": \"26-Mar-21\",\n    \"ISIN\": \"INE428Q01011\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Sutlej Textiles and Industries Limited\",\n    \"Symbol\": \"SUTLEJTEX\",\n    \"ListingDate\": \"14-Dec-06\",\n    \"ISIN\": \"INE645H01027\",\n    \"MarketCap\": \"₹ 950 Cr.\",\n    \"CurrentPrice\": \"₹ 58.0\",\n    \"HighLow\": \"₹ 70.0 / 38.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 61.9\",\n    \"DividendYield\": \"1.71 %\",\n    \"ROCE\": \"7.54 %\",\n    \"ROE\": \"5.03 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Suumaya Industries Limited\",\n    \"Symbol\": \"SUULD\",\n    \"ListingDate\": \"19-Oct-20\",\n    \"ISIN\": \"INE591Q01016\",\n    \"MarketCap\": \"₹ 50.2 Cr.\",\n    \"CurrentPrice\": \"₹ 8.00\",\n    \"HighLow\": \"₹ 38.5 / 6.60\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 111\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-31.7 %\",\n    \"ROE\": \"-47.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Suven Life Sciences Limited\",\n    \"Symbol\": \"SUVEN\",\n    \"ListingDate\": \"23-Oct-03\",\n    \"ISIN\": \"INE495B01038\",\n    \"MarketCap\": \"₹ 1,768 Cr.\",\n    \"CurrentPrice\": \"₹ 81.0\",\n    \"HighLow\": \"₹ 88.9 / 45.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 15.5\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-52.7 %\",\n    \"ROE\": \"-53.5 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Suven Pharmaceuticals Limited\",\n    \"Symbol\": \"SUVENPHAR\",\n    \"ListingDate\": \"09-Mar-20\",\n    \"ISIN\": \"INE03QK01018\",\n    \"MarketCap\": \"₹ 17,868 Cr.\",\n    \"CurrentPrice\": \"₹ 702\",\n    \"HighLow\": \"₹ 721 / 375\",\n    \"StockPE\": \"41.4\",\n    \"BookValue\": \"₹ 76.0\",\n    \"DividendYield\": \"0.14 %\",\n    \"ROCE\": \"32.5 %\",\n    \"ROE\": \"24.5 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Suvidhaa Infoserve Limited\",\n    \"Symbol\": \"SUVIDHAA\",\n    \"ListingDate\": \"31-Mar-21\",\n    \"ISIN\": \"INE018401013\",\n    \"MarketCap\": \"₹ 219 Cr.\",\n    \"CurrentPrice\": \"₹ 10.6\",\n    \"HighLow\": \"₹ 10.6 / 3.20\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 3.03\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-1.89 %\",\n    \"ROE\": \"-2.46 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Suzlon Energy Limited\",\n    \"Symbol\": \"SUZLON\",\n    \"ListingDate\": \"19-Oct-05\",\n    \"ISIN\": \"INE040H01021\",\n    \"MarketCap\": \"₹ 51,334 Cr.\",\n    \"CurrentPrice\": \"₹ 38.1\",\n    \"HighLow\": \"₹ 44.0 / 6.95\",\n    \"StockPE\": \"139\",\n    \"BookValue\": \"₹ 2.53\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"20.8 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Shree Vasu Logistics Limited\",\n    \"Symbol\": \"SVLL\",\n    \"ListingDate\": \"21-Apr-23\",\n    \"ISIN\": \"INE00CE01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"SVP GLOBAL TEXTILES LIMITED\",\n    \"Symbol\": \"SVPGLOB\",\n    \"ListingDate\": \"14-Jul-21\",\n    \"ISIN\": \"INE308E01029\",\n    \"MarketCap\": \"₹ 125 Cr.\",\n    \"CurrentPrice\": \"₹ 9.90\",\n    \"HighLow\": \"₹ 43.6 / 7.44\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 12.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-1.58 %\",\n    \"ROE\": \"-62.3 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Swan Energy Limited\",\n    \"Symbol\": \"SWANENERGY\",\n    \"ListingDate\": \"29-May-12\",\n    \"ISIN\": \"INE665A01038\",\n    \"MarketCap\": \"₹ 13,569 Cr.\",\n    \"CurrentPrice\": \"₹ 514\",\n    \"HighLow\": \"₹ 522 / 193\",\n    \"StockPE\": \"92.7\",\n    \"BookValue\": \"₹ 95.8\",\n    \"DividendYield\": \"0.02 %\",\n    \"ROCE\": \"2.19 %\",\n    \"ROE\": \"-3.53 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Swaraj Engines Limited\",\n    \"Symbol\": \"SWARAJENG\",\n    \"ListingDate\": \"06-Dec-95\",\n    \"ISIN\": \"INE277A01016\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Swelect Energy Systems Limited\",\n    \"Symbol\": \"SWELECTES\",\n    \"ListingDate\": \"09-May-06\",\n    \"ISIN\": \"INE409B01013\",\n    \"MarketCap\": \"₹ 796 Cr.\",\n    \"CurrentPrice\": \"₹ 525\",\n    \"HighLow\": \"₹ 688 / 263\",\n    \"StockPE\": \"35.3\",\n    \"BookValue\": \"₹ 534\",\n    \"DividendYield\": \"0.23 %\",\n    \"ROCE\": \"4.41 %\",\n    \"ROE\": \"0.21 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Sterling and Wilson Renewable Energy Limited\",\n    \"Symbol\": \"SWSOLAR\",\n    \"ListingDate\": \"20-Aug-19\",\n    \"ISIN\": \"INE00M201021\",\n    \"MarketCap\": \"₹ 10,025 Cr.\",\n    \"CurrentPrice\": \"₹ 430\",\n    \"HighLow\": \"₹ 459 / 253\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -21.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-65.4 %\",\n    \"ROE\": \"-338 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Symphony Limited\",\n    \"Symbol\": \"SYMPHONY\",\n    \"ListingDate\": \"15-Jun-11\",\n    \"ISIN\": \"INE225D01027\",\n    \"MarketCap\": \"₹ 6,042 Cr.\",\n    \"CurrentPrice\": \"₹ 876\",\n    \"HighLow\": \"₹ 1,219 / 825\",\n    \"StockPE\": \"52.3\",\n    \"BookValue\": \"₹ 98.8\",\n    \"DividendYield\": \"0.57 %\",\n    \"ROCE\": \"14.8 %\",\n    \"ROE\": \"13.5 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Syncom Formulations (India) Limited\",\n    \"Symbol\": \"SYNCOMF\",\n    \"ListingDate\": \"18-Nov-22\",\n    \"ISIN\": \"INE312C01025\",\n    \"MarketCap\": \"₹ 1,424 Cr.\",\n    \"CurrentPrice\": \"₹ 15.2\",\n    \"HighLow\": \"₹ 16.9 / 4.55\",\n    \"StockPE\": \"60.6\",\n    \"BookValue\": \"₹ 2.87\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.70 %\",\n    \"ROE\": \"8.42 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Syngene International Limited\",\n    \"Symbol\": \"SYNGENE\",\n    \"ListingDate\": \"11-Aug-15\",\n    \"ISIN\": \"INE398R01022\",\n    \"MarketCap\": \"₹ 28,332 Cr.\",\n    \"CurrentPrice\": \"₹ 705\",\n    \"HighLow\": \"₹ 860 / 545\",\n    \"StockPE\": \"56.2\",\n    \"BookValue\": \"₹ 96.8\",\n    \"DividendYield\": \"0.07 %\",\n    \"ROCE\": \"14.5 %\",\n    \"ROE\": \"13.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Syrma SGS Technology Limited\",\n    \"Symbol\": \"SYRMA\",\n    \"ListingDate\": \"26-Aug-22\",\n    \"ISIN\": \"INE0DYJ01015\",\n    \"MarketCap\": \"₹ 11,904 Cr.\",\n    \"CurrentPrice\": \"₹ 670\",\n    \"HighLow\": \"₹ 705 / 248\",\n    \"StockPE\": \"89.5\",\n    \"BookValue\": \"₹ 88.7\",\n    \"DividendYield\": \"0.23 %\",\n    \"ROCE\": \"14.9 %\",\n    \"ROE\": \"11.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Tainwala Chemical and Plastic (I) Limited\",\n    \"Symbol\": \"TAINWALCHM\",\n    \"ListingDate\": \"27-Jul-95\",\n    \"ISIN\": \"INE123C01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Taj GVK Hotels & Resorts Limited\",\n    \"Symbol\": \"TAJGVK\",\n    \"ListingDate\": \"20-Dec-00\",\n    \"ISIN\": \"INE586B01026\",\n    \"MarketCap\": \"₹ 1,444 Cr.\",\n    \"CurrentPrice\": \"₹ 230\",\n    \"HighLow\": \"₹ 289 / 172\",\n    \"StockPE\": \"20.2\",\n    \"BookValue\": \"₹ 77.5\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"22.5 %\",\n    \"ROE\": \"22.5 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Take Solutions Limited\",\n    \"Symbol\": \"TAKE\",\n    \"ListingDate\": \"27-Aug-07\",\n    \"ISIN\": \"INE142I01023\",\n    \"MarketCap\": \"₹ 342 Cr.\",\n    \"CurrentPrice\": \"₹ 23.1\",\n    \"HighLow\": \"₹ 26.2 / 12.7\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 6.89\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-14.0 %\",\n    \"ROE\": \"-62.5 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Talbros Automotive Components Limited\",\n    \"Symbol\": \"TALBROAUTO\",\n    \"ListingDate\": \"29-Sep-06\",\n    \"ISIN\": \"INE187D01029\",\n    \"MarketCap\": \"₹ 1,833 Cr.\",\n    \"CurrentPrice\": \"₹ 297\",\n    \"HighLow\": \"₹ 348 / 76.0\",\n    \"StockPE\": \"26.9\",\n    \"BookValue\": \"₹ 73.0\",\n    \"DividendYield\": \"0.21 %\",\n    \"ROCE\": \"19.2 %\",\n    \"ROE\": \"16.5 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Tanla Platforms Limited\",\n    \"Symbol\": \"TANLA\",\n    \"ListingDate\": \"05-Jan-07\",\n    \"ISIN\": \"INE483C01032\",\n    \"MarketCap\": \"₹ 14,713 Cr.\",\n    \"CurrentPrice\": \"₹ 1,094\",\n    \"HighLow\": \"₹ 1,318 / 493\",\n    \"StockPE\": \"28.6\",\n    \"BookValue\": \"₹ 130\",\n    \"DividendYield\": \"0.91 %\",\n    \"ROCE\": \"37.9 %\",\n    \"ROE\": \"31.2 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Tarapur Transformers Limited\",\n    \"Symbol\": \"TARAPUR\",\n    \"ListingDate\": \"18-May-10\",\n    \"ISIN\": \"INE747K01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"TARC Limited\",\n    \"Symbol\": \"TARC\",\n    \"ListingDate\": \"18-Dec-20\",\n    \"ISIN\": \"INE0EK901012\",\n    \"MarketCap\": \"₹ 4,052 Cr.\",\n    \"CurrentPrice\": \"₹ 137\",\n    \"HighLow\": \"₹ 145 / 33.4\",\n    \"StockPE\": \"368\",\n    \"BookValue\": \"₹ 46.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"6.03 %\",\n    \"ROE\": \"1.52 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Tarmat Limited\",\n    \"Symbol\": \"TARMAT\",\n    \"ListingDate\": \"09-Jul-07\",\n    \"ISIN\": \"INE924H01018\",\n    \"MarketCap\": \"₹ 200 Cr.\",\n    \"CurrentPrice\": \"₹ 93.8\",\n    \"HighLow\": \"₹ 101 / 48.2\",\n    \"StockPE\": \"57.4\",\n    \"BookValue\": \"₹ 61.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.00 %\",\n    \"ROE\": \"4.57 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Tarsons Products Limited\",\n    \"Symbol\": \"TARSONS\",\n    \"ListingDate\": \"26-Nov-21\",\n    \"ISIN\": \"INE144Z01023\",\n    \"MarketCap\": \"₹ 2,852 Cr.\",\n    \"CurrentPrice\": \"₹ 536\",\n    \"HighLow\": \"₹ 723 / 444\",\n    \"StockPE\": \"28.3\",\n    \"BookValue\": \"₹ 92.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"35.3 %\",\n    \"ROE\": \"27.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Tasty Bite Eatables Limited\",\n    \"Symbol\": \"TASTYBITE\",\n    \"ListingDate\": \"23-Mar-17\",\n    \"ISIN\": \"INE488B01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Tata Chemicals Limited\",\n    \"Symbol\": \"TATACHEM\",\n    \"ListingDate\": \"01-Apr-99\",\n    \"ISIN\": \"INE092A01019\",\n    \"MarketCap\": \"₹ 28,355 Cr.\",\n    \"CurrentPrice\": \"₹ 1,113\",\n    \"HighLow\": \"₹ 1,123 / 912\",\n    \"StockPE\": \"14.4\",\n    \"BookValue\": \"₹ 840\",\n    \"DividendYield\": \"1.54 %\",\n    \"ROCE\": \"11.6 %\",\n    \"ROE\": \"12.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Tata Coffee Limited\",\n    \"Symbol\": \"TATACOFFEE\",\n    \"ListingDate\": \"16-Feb-00\",\n    \"ISIN\": \"INE493A01027\",\n    \"MarketCap\": \"₹ 5,993 Cr.\",\n    \"CurrentPrice\": \"₹ 321\",\n    \"HighLow\": \"₹ 322 / 199\",\n    \"StockPE\": \"33.4\",\n    \"BookValue\": \"₹ 99.3\",\n    \"DividendYield\": \"0.93 %\",\n    \"ROCE\": \"9.78 %\",\n    \"ROE\": \"10.1 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Tata Communications Limited\",\n    \"Symbol\": \"TATACOMM\",\n    \"ListingDate\": \"12-Apr-95\",\n    \"ISIN\": \"INE151A01013\",\n    \"MarketCap\": \"₹ 50,766 Cr.\",\n    \"CurrentPrice\": \"₹ 1,781\",\n    \"HighLow\": \"₹ 1,957 / 1,157\",\n    \"StockPE\": \"38.5\",\n    \"BookValue\": \"₹ 51.0\",\n    \"DividendYield\": \"1.18 %\",\n    \"ROCE\": \"23.9 %\",\n    \"ROE\": \"142 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"TATA CONSUMER PRODUCTS LIMITED\",\n    \"Symbol\": \"TATACONSUM\",\n    \"ListingDate\": \"18-Nov-98\",\n    \"ISIN\": \"INE192A01025\",\n    \"MarketCap\": \"₹ 1,00,329 Cr.\",\n    \"CurrentPrice\": \"₹ 1,080\",\n    \"HighLow\": \"₹ 1,081 / 685\",\n    \"StockPE\": \"81.3\",\n    \"BookValue\": \"₹ 174\",\n    \"DividendYield\": \"0.77 %\",\n    \"ROCE\": \"9.32 %\",\n    \"ROE\": \"6.86 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Tata Elxsi Limited\",\n    \"Symbol\": \"TATAELXSI\",\n    \"ListingDate\": \"17-Sep-03\",\n    \"ISIN\": \"INE670A01012\",\n    \"MarketCap\": \"₹ 54,430 Cr.\",\n    \"CurrentPrice\": \"₹ 8,740\",\n    \"HighLow\": \"₹ 9,200 / 5,883\",\n    \"StockPE\": \"533\",\n    \"BookValue\": \"₹ 45.5\",\n    \"DividendYield\": \"0.69 %\",\n    \"ROCE\": \"60.0 %\",\n    \"ROE\": \"39.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Tata Investment Corporation Limited\",\n    \"Symbol\": \"TATAINVEST\",\n    \"ListingDate\": \"24-Jun-98\",\n    \"ISIN\": \"INE672A01018\",\n    \"MarketCap\": \"₹ 21,739 Cr.\",\n    \"CurrentPrice\": \"₹ 4,297\",\n    \"HighLow\": \"₹ 4,737 / 1,730\",\n    \"StockPE\": \"66.9\",\n    \"BookValue\": \"₹ 4,691\",\n    \"DividendYield\": \"1.11 %\",\n    \"ROCE\": \"1.42 %\",\n    \"ROE\": \"1.28 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Tata Metaliks Limited\",\n    \"Symbol\": \"TATAMETALI\",\n    \"ListingDate\": \"27-May-03\",\n    \"ISIN\": \"INE056C01010\",\n    \"MarketCap\": \"₹ 3,405 Cr.\",\n    \"CurrentPrice\": \"₹ 1,078\",\n    \"HighLow\": \"₹ 1,085 / 721\",\n    \"StockPE\": \"28.2\",\n    \"BookValue\": \"₹ 59.0\",\n    \"DividendYield\": \"0.46 %\",\n    \"ROCE\": \"43.3 %\",\n    \"ROE\": \"306 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Tata Motors Limited\",\n    \"Symbol\": \"TATAMOTORS\",\n    \"ListingDate\": \"22-Jul-98\",\n    \"ISIN\": \"INE155A01022\",\n    \"MarketCap\": \"₹ 2,90,150 Cr.\",\n    \"CurrentPrice\": \"₹ 792\",\n    \"HighLow\": \"₹ 802 / 381\",\n    \"StockPE\": \"18.1\",\n    \"BookValue\": \"₹ 161\",\n    \"DividendYield\": \"0.27 %\",\n    \"ROCE\": \"5.95 %\",\n    \"ROE\": \"5.62 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Tata Motors Limited\",\n    \"Symbol\": \"TATAMTRDVR\",\n    \"ListingDate\": \"05-Nov-08\",\n    \"ISIN\": \"IN9155A01020\",\n    \"MarketCap\": \"₹ 26,760 Cr.\",\n    \"CurrentPrice\": \"₹ 526\",\n    \"HighLow\": \"₹ 537 / 202\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 1,086\",\n    \"DividendYield\": \"0.42 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"-3.68 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Tata Power Company Limited\",\n    \"Symbol\": \"TATAPOWER\",\n    \"ListingDate\": \"03-Apr-96\",\n    \"ISIN\": \"INE245A01021\",\n    \"MarketCap\": \"₹ 1,06,309 Cr.\",\n    \"CurrentPrice\": \"₹ 333\",\n    \"HighLow\": \"₹ 347 / 182\",\n    \"StockPE\": \"31.2\",\n    \"BookValue\": \"₹ 94.3\",\n    \"DividendYield\": \"0.61 %\",\n    \"ROCE\": \"11.7 %\",\n    \"ROE\": \"12.6 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Tata Steel Limited\",\n    \"Symbol\": \"TATASTEEL\",\n    \"ListingDate\": \"18-Nov-98\",\n    \"ISIN\": \"INE081A01020\",\n    \"MarketCap\": \"₹ 1,71,671 Cr.\",\n    \"CurrentPrice\": \"₹ 140\",\n    \"HighLow\": \"₹ 140 / 102\",\n    \"StockPE\": \"2,827\",\n    \"BookValue\": \"₹ 73.0\",\n    \"DividendYield\": \"2.56 %\",\n    \"ROCE\": \"12.6 %\",\n    \"ROE\": \"7.28 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Tata Technologies Limited\",\n    \"Symbol\": \"TATATECH\",\n    \"ListingDate\": \"30-Nov-23\",\n    \"ISIN\": \"INE142M01025\",\n    \"MarketCap\": \"₹ 48,110 Cr.\",\n    \"CurrentPrice\": \"₹ 1,186\",\n    \"HighLow\": \"₹ 1,400 / 1,151\",\n    \"StockPE\": \"77.1\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"28.1 %\",\n    \"ROE\": \"23.7 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Tatva Chintan Pharma Chem Limited\",\n    \"Symbol\": \"TATVA\",\n    \"ListingDate\": \"29-Jul-21\",\n    \"ISIN\": \"INE0GK401011\",\n    \"MarketCap\": \"₹ 3,740 Cr.\",\n    \"CurrentPrice\": \"₹ 1,599\",\n    \"HighLow\": \"₹ 2,194 / 1,400\",\n    \"StockPE\": \"75.6\",\n    \"BookValue\": \"₹ 311\",\n    \"DividendYield\": \"0.13 %\",\n    \"ROCE\": \"8.91 %\",\n    \"ROE\": \"9.89 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Tribhovandas Bhimji Zaveri Limited\",\n    \"Symbol\": \"TBZ\",\n    \"ListingDate\": \"09-May-12\",\n    \"ISIN\": \"INE760L01018\",\n    \"MarketCap\": \"₹ 856 Cr.\",\n    \"CurrentPrice\": \"₹ 128\",\n    \"HighLow\": \"₹ 145 / 58.2\",\n    \"StockPE\": \"16.2\",\n    \"BookValue\": \"₹ 85.1\",\n    \"DividendYield\": \"1.37 %\",\n    \"ROCE\": \"9.30 %\",\n    \"ROE\": \"7.39 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Transport Corporation of India Limited\",\n    \"Symbol\": \"TCI\",\n    \"ListingDate\": \"21-Jan-02\",\n    \"ISIN\": \"INE688A01022\",\n    \"MarketCap\": \"₹ 6,345 Cr.\",\n    \"CurrentPrice\": \"₹ 817\",\n    \"HighLow\": \"₹ 920 / 591\",\n    \"StockPE\": \"18.7\",\n    \"BookValue\": \"₹ 240\",\n    \"DividendYield\": \"0.85 %\",\n    \"ROCE\": \"22.4 %\",\n    \"ROE\": \"20.5 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"TCI Express Limited\",\n    \"Symbol\": \"TCIEXP\",\n    \"ListingDate\": \"15-Dec-16\",\n    \"ISIN\": \"INE586V01016\",\n    \"MarketCap\": \"₹ 5,242 Cr.\",\n    \"CurrentPrice\": \"₹ 1,367\",\n    \"HighLow\": \"₹ 1,900 / 1,294\",\n    \"StockPE\": \"37.7\",\n    \"BookValue\": \"₹ 172\",\n    \"DividendYield\": \"0.59 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Tantia Constructions Limited\",\n    \"Symbol\": \"TCLCONS\",\n    \"ListingDate\": \"16-Oct-23\",\n    \"ISIN\": \"INE388G01026\",\n    \"MarketCap\": \"₹ 50.0 Cr.\",\n    \"CurrentPrice\": \"₹ 26.6\",\n    \"HighLow\": \"₹ 39.0 / 8.40\",\n    \"StockPE\": \"9.83\",\n    \"BookValue\": \"₹ 132\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-0.05 %\",\n    \"ROE\": \"-0.94 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"TCNS Clothing Co. Limited\",\n    \"Symbol\": \"TCNSBRANDS\",\n    \"ListingDate\": \"30-Jul-18\",\n    \"ISIN\": \"INE778U01029\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"TCPL Packaging Limited\",\n    \"Symbol\": \"TCPLPACK\",\n    \"ListingDate\": \"17-Oct-17\",\n    \"ISIN\": \"INE822C01015\",\n    \"MarketCap\": \"₹ 2,039 Cr.\",\n    \"CurrentPrice\": \"₹ 2,240\",\n    \"HighLow\": \"₹ 2,405 / 1,240\",\n    \"StockPE\": \"20.1\",\n    \"BookValue\": \"₹ 523\",\n    \"DividendYield\": \"0.88 %\",\n    \"ROCE\": \"20.7 %\",\n    \"ROE\": \"24.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Tata Consultancy Services Limited\",\n    \"Symbol\": \"TCS\",\n    \"ListingDate\": \"25-Aug-04\",\n    \"ISIN\": \"INE467B01029\",\n    \"MarketCap\": \"₹ 13,91,848 Cr.\",\n    \"CurrentPrice\": \"₹ 3,804\",\n    \"HighLow\": \"₹ 3,929 / 3,070\",\n    \"StockPE\": \"31.2\",\n    \"BookValue\": \"₹ 275\",\n    \"DividendYield\": \"1.26 %\",\n    \"ROCE\": \"58.7 %\",\n    \"ROE\": \"46.9 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"TD Power Systems Limited\",\n    \"Symbol\": \"TDPOWERSYS\",\n    \"ListingDate\": \"08-Sep-11\",\n    \"ISIN\": \"INE419M01027\",\n    \"MarketCap\": \"₹ 4,074 Cr.\",\n    \"CurrentPrice\": \"₹ 261\",\n    \"HighLow\": \"₹ 308 / 118\",\n    \"StockPE\": \"35.8\",\n    \"BookValue\": \"₹ 42.0\",\n    \"DividendYield\": \"0.18 %\",\n    \"ROCE\": \"22.1 %\",\n    \"ROE\": \"16.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Teamlease Services Limited\",\n    \"Symbol\": \"TEAMLEASE\",\n    \"ListingDate\": \"12-Feb-16\",\n    \"ISIN\": \"INE985S01024\",\n    \"MarketCap\": \"₹ 5,313 Cr.\",\n    \"CurrentPrice\": \"₹ 3,168\",\n    \"HighLow\": \"₹ 3,247 / 2,007\",\n    \"StockPE\": \"49.2\",\n    \"BookValue\": \"₹ 442\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"13.9 %\",\n    \"ROE\": \"14.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Techindia Nirman Limited\",\n    \"Symbol\": \"TECHIN\",\n    \"ListingDate\": \"08-Sep-11\",\n    \"ISIN\": \"INE778A01021\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Tech Mahindra Limited\",\n    \"Symbol\": \"TECHM\",\n    \"ListingDate\": \"28-Aug-06\",\n    \"ISIN\": \"INE669C01036\",\n    \"MarketCap\": \"₹ 1,24,886 Cr.\",\n    \"CurrentPrice\": \"₹ 1,279\",\n    \"HighLow\": \"₹ 1,333 / 981\",\n    \"StockPE\": \"34.7\",\n    \"BookValue\": \"₹ 271\",\n    \"DividendYield\": \"2.54 %\",\n    \"ROCE\": \"22.1 %\",\n    \"ROE\": \"17.6 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Techno Electric & Engineering Company Limited\",\n    \"Symbol\": \"TECHNOE\",\n    \"ListingDate\": \"04-Dec-18\",\n    \"ISIN\": \"INE285K01026\",\n    \"MarketCap\": \"₹ 8,573 Cr.\",\n    \"CurrentPrice\": \"₹ 797\",\n    \"HighLow\": \"₹ 844 / 306\",\n    \"StockPE\": \"62.0\",\n    \"BookValue\": \"₹ 185\",\n    \"DividendYield\": \"0.77 %\",\n    \"ROCE\": \"8.18 %\",\n    \"ROE\": \"9.91 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"TECIL Chemicals and Hydro Power Limited\",\n    \"Symbol\": \"TECILCHEM\",\n    \"ListingDate\": \"06-Dec-95\",\n    \"ISIN\": \"INE014B01011\",\n    \"MarketCap\": \"₹ 40.1 Cr.\",\n    \"CurrentPrice\": \"₹ 21.1\",\n    \"HighLow\": \"₹ 39.2 / 16.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Tega Industries Limited\",\n    \"Symbol\": \"TEGA\",\n    \"ListingDate\": \"13-Dec-21\",\n    \"ISIN\": \"INE011K01018\",\n    \"MarketCap\": \"₹ 7,733 Cr.\",\n    \"CurrentPrice\": \"₹ 1,164\",\n    \"HighLow\": \"₹ 1,227 / 550\",\n    \"StockPE\": \"39.8\",\n    \"BookValue\": \"₹ 163\",\n    \"DividendYield\": \"0.17 %\",\n    \"ROCE\": \"21.4 %\",\n    \"ROE\": \"20.7 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Tejas Networks Limited\",\n    \"Symbol\": \"TEJASNET\",\n    \"ListingDate\": \"27-Jun-17\",\n    \"ISIN\": \"INE010J01012\",\n    \"MarketCap\": \"₹ 14,736 Cr.\",\n    \"CurrentPrice\": \"₹ 866\",\n    \"HighLow\": \"₹ 940 / 510\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 177\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-1.20 %\",\n    \"ROE\": \"-1.62 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Tembo Global Industries Limited\",\n    \"Symbol\": \"TEMBO\",\n    \"ListingDate\": \"23-Apr-21\",\n    \"ISIN\": \"INE869Y01010\",\n    \"MarketCap\": \"₹ 300 Cr.\",\n    \"CurrentPrice\": \"₹ 270\",\n    \"HighLow\": \"₹ 305 / 124\",\n    \"StockPE\": \"28.8\",\n    \"BookValue\": \"₹ 42.0\",\n    \"DividendYield\": \"0.55 %\",\n    \"ROCE\": \"15.2 %\",\n    \"ROE\": \"17.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Tera Software Limited\",\n    \"Symbol\": \"TERASOFT\",\n    \"ListingDate\": \"29-Dec-16\",\n    \"ISIN\": \"INE482B01010\",\n    \"MarketCap\": \"₹ 79.0 Cr.\",\n    \"CurrentPrice\": \"₹ 63.1\",\n    \"HighLow\": \"₹ 72.4 / 28.5\",\n    \"StockPE\": \"22.8\",\n    \"BookValue\": \"₹ 87.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Texmaco Infrastructure & Holdings Limited\",\n    \"Symbol\": \"TEXINFRA\",\n    \"ListingDate\": \"09-Sep-04\",\n    \"ISIN\": \"INE435C01024\",\n    \"MarketCap\": \"₹ 1,344 Cr.\",\n    \"CurrentPrice\": \"₹ 106\",\n    \"HighLow\": \"₹ 119 / 47.1\",\n    \"StockPE\": \"529\",\n    \"BookValue\": \"₹ 94.9\",\n    \"DividendYield\": \"0.14 %\",\n    \"ROCE\": \"0.71 %\",\n    \"ROE\": \"0.47 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Texmo Pipes and Products Limited\",\n    \"Symbol\": \"TEXMOPIPES\",\n    \"ListingDate\": \"10-Mar-10\",\n    \"ISIN\": \"INE141K01013\",\n    \"MarketCap\": \"₹ 213 Cr.\",\n    \"CurrentPrice\": \"₹ 73.0\",\n    \"HighLow\": \"₹ 89.4 / 41.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 67.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-16.9 %\",\n    \"ROE\": \"-28.2 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Texmaco Rail & Engineering Limited\",\n    \"Symbol\": \"TEXRAIL\",\n    \"ListingDate\": \"03-Mar-11\",\n    \"ISIN\": \"INE621L01012\",\n    \"MarketCap\": \"₹ 6,574 Cr.\",\n    \"CurrentPrice\": \"₹ 172\",\n    \"HighLow\": \"₹ 189 / 40.5\",\n    \"StockPE\": \"96.2\",\n    \"BookValue\": \"₹ 44.3\",\n    \"DividendYield\": \"0.09 %\",\n    \"ROCE\": \"6.18 %\",\n    \"ROE\": \"1.89 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Tourism Finance Corporation of India Limited\",\n    \"Symbol\": \"TFCILTD\",\n    \"ListingDate\": \"26-Jul-00\",\n    \"ISIN\": \"INE305A01015\",\n    \"MarketCap\": \"₹ 1,151 Cr.\",\n    \"CurrentPrice\": \"₹ 127\",\n    \"HighLow\": \"₹ 143 / 66.8\",\n    \"StockPE\": \"13.5\",\n    \"BookValue\": \"₹ 108\",\n    \"DividendYield\": \"1.89 %\",\n    \"ROCE\": \"10.4 %\",\n    \"ROE\": \"9.87 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Transwarranty Finance Limited\",\n    \"Symbol\": \"TFL\",\n    \"ListingDate\": \"26-Feb-07\",\n    \"ISIN\": \"INE804H01012\",\n    \"MarketCap\": \"₹ 59.5 Cr.\",\n    \"CurrentPrice\": \"₹ 12.2\",\n    \"HighLow\": \"₹ 15.5 / 7.55\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 5.83\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-5.49 %\",\n    \"ROE\": \"-41.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"TGB Banquets And Hotels Limited\",\n    \"Symbol\": \"TGBHOTELS\",\n    \"ListingDate\": \"17-May-07\",\n    \"ISIN\": \"INE797H01018\",\n    \"MarketCap\": \"₹ 44.5 Cr.\",\n    \"CurrentPrice\": \"₹ 15.2\",\n    \"HighLow\": \"₹ 20.5 / 7.70\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 34.5\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.46 %\",\n    \"ROE\": \"0.86 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Thangamayil Jewellery Limited\",\n    \"Symbol\": \"THANGAMAYL\",\n    \"ListingDate\": \"19-Feb-10\",\n    \"ISIN\": \"INE085J01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"The Investment Trust Of India Limited\",\n    \"Symbol\": \"THEINVEST\",\n    \"ListingDate\": \"02-Aug-17\",\n    \"ISIN\": \"INE924D01017\",\n    \"MarketCap\": \"₹ 619 Cr.\",\n    \"CurrentPrice\": \"₹ 119\",\n    \"HighLow\": \"₹ 125 / 63.4\",\n    \"StockPE\": \"27.6\",\n    \"BookValue\": \"₹ 124\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.54 %\",\n    \"ROE\": \"1.86 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Thejo Engineering Limited\",\n    \"Symbol\": \"THEJO\",\n    \"ListingDate\": \"10-Oct-23\",\n    \"ISIN\": \"INE121N01019\",\n    \"MarketCap\": \"₹ 1,980 Cr.\",\n    \"CurrentPrice\": \"₹ 1,844\",\n    \"HighLow\": \"₹ 2,294 / 1,080\",\n    \"StockPE\": \"50.2\",\n    \"BookValue\": \"₹ 205\",\n    \"DividendYield\": \"0.11 %\",\n    \"ROCE\": \"20.8 %\",\n    \"ROE\": \"18.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Themis Medicare Limited\",\n    \"Symbol\": \"THEMISMED\",\n    \"ListingDate\": \"02-Apr-07\",\n    \"ISIN\": \"INE083B01024\",\n    \"MarketCap\": \"₹ 1,971 Cr.\",\n    \"CurrentPrice\": \"₹ 214\",\n    \"HighLow\": \"₹ 226 / 109\",\n    \"StockPE\": \"38.5\",\n    \"BookValue\": \"₹ 39.6\",\n    \"DividendYield\": \"0.24 %\",\n    \"ROCE\": \"19.7 %\",\n    \"ROE\": \"17.3 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Thermax Limited\",\n    \"Symbol\": \"THERMAX\",\n    \"ListingDate\": \"30-Aug-95\",\n    \"ISIN\": \"INE152A01029\",\n    \"MarketCap\": \"₹ 37,125 Cr.\",\n    \"CurrentPrice\": \"₹ 3,116\",\n    \"HighLow\": \"₹ 3,230 / 1,871\",\n    \"StockPE\": \"69.9\",\n    \"BookValue\": \"₹ 335\",\n    \"DividendYield\": \"0.32 %\",\n    \"ROCE\": \"15.1 %\",\n    \"ROE\": \"12.3 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Thomas Cook  (India)  Limited\",\n    \"Symbol\": \"THOMASCOOK\",\n    \"ListingDate\": \"07-Jun-00\",\n    \"ISIN\": \"INE332A01027\",\n    \"MarketCap\": \"₹ 6,438 Cr.\",\n    \"CurrentPrice\": \"₹ 137\",\n    \"HighLow\": \"₹ 168 / 52.1\",\n    \"StockPE\": \"49.7\",\n    \"BookValue\": \"₹ 38.8\",\n    \"DividendYield\": \"0.28 %\",\n    \"ROCE\": \"5.23 %\",\n    \"ROE\": \"0.39 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Thomas Scott (India) Limited\",\n    \"Symbol\": \"THOMASCOTT\",\n    \"ListingDate\": \"30-Jan-12\",\n    \"ISIN\": \"INE480M01011\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Thyrocare Technologies Limited\",\n    \"Symbol\": \"THYROCARE\",\n    \"ListingDate\": \"09-May-16\",\n    \"ISIN\": \"INE594H01019\",\n    \"MarketCap\": \"₹ 3,410 Cr.\",\n    \"CurrentPrice\": \"₹ 644\",\n    \"HighLow\": \"₹ 690 / 415\",\n    \"StockPE\": \"52.6\",\n    \"BookValue\": \"₹ 91.9\",\n    \"DividendYield\": \"2.80 %\",\n    \"ROCE\": \"15.8 %\",\n    \"ROE\": \"11.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Tilaknagar Industries Limited\",\n    \"Symbol\": \"TI\",\n    \"ListingDate\": \"16-Jul-10\",\n    \"ISIN\": \"INE133E01013\",\n    \"MarketCap\": \"₹ 4,646 Cr.\",\n    \"CurrentPrice\": \"₹ 242\",\n    \"HighLow\": \"₹ 291 / 95.5\",\n    \"StockPE\": \"40.5\",\n    \"BookValue\": \"₹ 29.7\",\n    \"DividendYield\": \"0.10 %\",\n    \"ROCE\": \"15.5 %\",\n    \"ROE\": \"23.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Tide Water Oil Company (India) Limited\",\n    \"Symbol\": \"TIDEWATER\",\n    \"ListingDate\": \"16-Jan-07\",\n    \"ISIN\": \"INE484C01030\",\n    \"MarketCap\": \"₹ 2,473 Cr.\",\n    \"CurrentPrice\": \"₹ 1,419\",\n    \"HighLow\": \"₹ 1,467 / 805\",\n    \"StockPE\": \"19.5\",\n    \"BookValue\": \"₹ 461\",\n    \"DividendYield\": \"2.96 %\",\n    \"ROCE\": \"19.8 %\",\n    \"ROE\": \"15.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Technocraft Industries (India) Limited\",\n    \"Symbol\": \"TIIL\",\n    \"ListingDate\": \"12-Feb-07\",\n    \"ISIN\": \"INE545H01011\",\n    \"MarketCap\": \"₹ 5,828 Cr.\",\n    \"CurrentPrice\": \"₹ 2,538\",\n    \"HighLow\": \"₹ 2,750 / 876\",\n    \"StockPE\": \"20.5\",\n    \"BookValue\": \"₹ 682\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"19.6 %\",\n    \"ROE\": \"19.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Tube Investments of India Limited\",\n    \"Symbol\": \"TIINDIA\",\n    \"ListingDate\": \"02-Nov-17\",\n    \"ISIN\": \"INE974X01010\",\n    \"MarketCap\": \"₹ 68,265 Cr.\",\n    \"CurrentPrice\": \"₹ 3,530\",\n    \"HighLow\": \"₹ 4,050 / 2,375\",\n    \"StockPE\": \"74.7\",\n    \"BookValue\": \"₹ 229\",\n    \"DividendYield\": \"0.10 %\",\n    \"ROCE\": \"31.6 %\",\n    \"ROE\": \"27.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Tijaria Polypipes Limited\",\n    \"Symbol\": \"TIJARIA\",\n    \"ListingDate\": \"14-Oct-11\",\n    \"ISIN\": \"INE440L01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"TIL Limited\",\n    \"Symbol\": \"TIL\",\n    \"ListingDate\": \"27-Sep-95\",\n    \"ISIN\": \"INE806C01018\",\n    \"MarketCap\": \"₹ 343 Cr.\",\n    \"CurrentPrice\": \"₹ 342\",\n    \"HighLow\": \"₹ 441 / 103\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -311\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-35.1 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Times Guaranty Limited\",\n    \"Symbol\": \"TIMESGTY\",\n    \"ListingDate\": \"11-Jun-02\",\n    \"ISIN\": \"INE289C01025\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Time Technoplast Limited\",\n    \"Symbol\": \"TIMETECHNO\",\n    \"ListingDate\": \"13-Jun-07\",\n    \"ISIN\": \"INE508G01029\",\n    \"MarketCap\": \"₹ 3,980 Cr.\",\n    \"CurrentPrice\": \"₹ 175\",\n    \"HighLow\": \"₹ 194 / 69.4\",\n    \"StockPE\": \"15.8\",\n    \"BookValue\": \"₹ 105\",\n    \"DividendYield\": \"0.72 %\",\n    \"ROCE\": \"13.1 %\",\n    \"ROE\": \"10.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Timken India Limited\",\n    \"Symbol\": \"TIMKEN\",\n    \"ListingDate\": \"06-Feb-07\",\n    \"ISIN\": \"INE325A01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"The Tinplate Company of India Limited\",\n    \"Symbol\": \"TINPLATE\",\n    \"ListingDate\": \"27-Jan-06\",\n    \"ISIN\": \"INE422C01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Tips Films Limited\",\n    \"Symbol\": \"TIPSFILMS\",\n    \"ListingDate\": \"06-Oct-22\",\n    \"ISIN\": \"INE0LQS01015\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"TIPS Industries Limited\",\n    \"Symbol\": \"TIPSINDLTD\",\n    \"ListingDate\": \"10-Nov-00\",\n    \"ISIN\": \"INE716B01029\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Thirumalai Chemicals Limited\",\n    \"Symbol\": \"TIRUMALCHM\",\n    \"ListingDate\": \"14-May-03\",\n    \"ISIN\": \"INE338A01024\",\n    \"MarketCap\": \"₹ 2,253 Cr.\",\n    \"CurrentPrice\": \"₹ 220\",\n    \"HighLow\": \"₹ 245 / 168\",\n    \"StockPE\": \"20,478\",\n    \"BookValue\": \"₹ 118\",\n    \"DividendYield\": \"0.69 %\",\n    \"ROCE\": \"10.9 %\",\n    \"ROE\": \"7.88 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Tirupati Forge Limited\",\n    \"Symbol\": \"TIRUPATIFL\",\n    \"ListingDate\": \"04-Aug-20\",\n    \"ISIN\": \"INE319Y01024\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"TITAGARH RAIL SYSTEMS LIMITED\",\n    \"Symbol\": \"TITAGARH\",\n    \"ListingDate\": \"21-Apr-08\",\n    \"ISIN\": \"INE615H01020\",\n    \"MarketCap\": \"₹ 13,707 Cr.\",\n    \"CurrentPrice\": \"₹ 1,018\",\n    \"HighLow\": \"₹ 1,091 / 193\",\n    \"StockPE\": \"64.6\",\n    \"BookValue\": \"₹ 109\",\n    \"DividendYield\": \"0.05 %\",\n    \"ROCE\": \"17.6 %\",\n    \"ROE\": \"13.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Titan Company Limited\",\n    \"Symbol\": \"TITAN\",\n    \"ListingDate\": \"24-Sep-04\",\n    \"ISIN\": \"INE280A01028\",\n    \"MarketCap\": \"₹ 3,27,069 Cr.\",\n    \"CurrentPrice\": \"₹ 3,684\",\n    \"HighLow\": \"₹ 3,737 / 2,269\",\n    \"StockPE\": \"99.0\",\n    \"BookValue\": \"₹ 140\",\n    \"DividendYield\": \"0.27 %\",\n    \"ROCE\": \"25.1 %\",\n    \"ROE\": \"30.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Tamilnad Mercantile Bank Limited\",\n    \"Symbol\": \"TMB\",\n    \"ListingDate\": \"15-Sep-22\",\n    \"ISIN\": \"INE668A01016\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Tamilnadu PetroProducts Limited\",\n    \"Symbol\": \"TNPETRO\",\n    \"ListingDate\": \"27-Oct-99\",\n    \"ISIN\": \"INE148A01019\",\n    \"MarketCap\": \"₹ 911 Cr.\",\n    \"CurrentPrice\": \"₹ 101\",\n    \"HighLow\": \"₹ 108 / 68.4\",\n    \"StockPE\": \"12.9\",\n    \"BookValue\": \"₹ 93.6\",\n    \"DividendYield\": \"1.47 %\",\n    \"ROCE\": \"15.1 %\",\n    \"ROE\": \"11.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Tamil Nadu Newsprint & Papers Limited\",\n    \"Symbol\": \"TNPL\",\n    \"ListingDate\": \"14-Feb-96\",\n    \"ISIN\": \"INE107A01015\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Tamilnadu Telecommunication Limited\",\n    \"Symbol\": \"TNTELE\",\n    \"ListingDate\": \"04-Feb-03\",\n    \"ISIN\": \"INE141D01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Tokyo Plast International Limited\",\n    \"Symbol\": \"TOKYOPLAST\",\n    \"ListingDate\": \"11-Oct-95\",\n    \"ISIN\": \"INE932C01012\",\n    \"MarketCap\": \"₹ 112 Cr.\",\n    \"CurrentPrice\": \"₹ 118\",\n    \"HighLow\": \"₹ 139 / 84.3\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 61.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.45 %\",\n    \"ROE\": \"-0.28 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Torrent Pharmaceuticals Limited\",\n    \"Symbol\": \"TORNTPHARM\",\n    \"ListingDate\": \"25-Nov-02\",\n    \"ISIN\": \"INE685A01028\",\n    \"MarketCap\": \"₹ 77,265 Cr.\",\n    \"CurrentPrice\": \"₹ 2,283\",\n    \"HighLow\": \"₹ 2,303 / 1,446\",\n    \"StockPE\": \"57.5\",\n    \"BookValue\": \"₹ 198\",\n    \"DividendYield\": \"0.97 %\",\n    \"ROCE\": \"19.8 %\",\n    \"ROE\": \"20.0 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Torrent Power Limited\",\n    \"Symbol\": \"TORNTPOWER\",\n    \"ListingDate\": \"28-Nov-06\",\n    \"ISIN\": \"INE813H01021\",\n    \"MarketCap\": \"₹ 44,462 Cr.\",\n    \"CurrentPrice\": \"₹ 925\",\n    \"HighLow\": \"₹ 1,047 / 431\",\n    \"StockPE\": \"20.4\",\n    \"BookValue\": \"₹ 247\",\n    \"DividendYield\": \"1.40 %\",\n    \"ROCE\": \"18.3 %\",\n    \"ROE\": \"19.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Total Transport Systems Limited\",\n    \"Symbol\": \"TOTAL\",\n    \"ListingDate\": \"28-Aug-20\",\n    \"ISIN\": \"INE336X01012\",\n    \"MarketCap\": \"₹ 202 Cr.\",\n    \"CurrentPrice\": \"₹ 125\",\n    \"HighLow\": \"₹ 187 / 110\",\n    \"StockPE\": \"202\",\n    \"BookValue\": \"₹ 48.6\",\n    \"DividendYield\": \"0.59 %\",\n    \"ROCE\": \"14.7 %\",\n    \"ROE\": \"7.91 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Touchwood Entertainment Limited\",\n    \"Symbol\": \"TOUCHWOOD\",\n    \"ListingDate\": \"21-Jan-20\",\n    \"ISIN\": \"INE486Y01013\",\n    \"MarketCap\": \"₹ 180 Cr.\",\n    \"CurrentPrice\": \"₹ 162\",\n    \"HighLow\": \"₹ 227 / 100\",\n    \"StockPE\": \"79.2\",\n    \"BookValue\": \"₹ 29.6\",\n    \"DividendYield\": \"0.22 %\",\n    \"ROCE\": \"17.8 %\",\n    \"ROE\": \"12.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Teamo Productions HQ Limited\",\n    \"Symbol\": \"TPHQ\",\n    \"ListingDate\": \"30-Jan-09\",\n    \"ISIN\": \"INE065J01024\",\n    \"MarketCap\": \"₹ 93.9 Cr.\",\n    \"CurrentPrice\": \"₹ 1.09\",\n    \"HighLow\": \"₹ 3.83 / 0.49\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 0.34\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-0.76 %\",\n    \"ROE\": \"-0.94 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"TPL Plastech Limited\",\n    \"Symbol\": \"TPLPLASTEH\",\n    \"ListingDate\": \"20-May-15\",\n    \"ISIN\": \"INE413G01022\",\n    \"MarketCap\": \"₹ 414 Cr.\",\n    \"CurrentPrice\": \"₹ 53.0\",\n    \"HighLow\": \"₹ 60.0 / 26.9\",\n    \"StockPE\": \"51.7\",\n    \"BookValue\": \"₹ 11.8\",\n    \"DividendYield\": \"1.16 %\",\n    \"ROCE\": \"14.0 %\",\n    \"ROE\": \"8.98 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Tracxn Technologies Limited\",\n    \"Symbol\": \"TRACXN\",\n    \"ListingDate\": \"20-Oct-22\",\n    \"ISIN\": \"INE0HMF01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Tree House Education & Accessories Limited\",\n    \"Symbol\": \"TREEHOUSE\",\n    \"ListingDate\": \"26-Aug-11\",\n    \"ISIN\": \"INE040M01013\",\n    \"MarketCap\": \"₹ 88.8 Cr.\",\n    \"CurrentPrice\": \"₹ 21.0\",\n    \"HighLow\": \"₹ 25.0 / 10.4\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 49.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-15.2 %\",\n    \"ROE\": \"-15.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"TREJHARA SOLUTIONS LIMITED\",\n    \"Symbol\": \"TREJHARA\",\n    \"ListingDate\": \"28-Dec-18\",\n    \"ISIN\": \"INE00CA01015\",\n    \"MarketCap\": \"₹ 212 Cr.\",\n    \"CurrentPrice\": \"₹ 179\",\n    \"HighLow\": \"₹ 223 / 47.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 156\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-20.3 %\",\n    \"ROE\": \"-22.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Transindia Real Estate Limited\",\n    \"Symbol\": \"TREL\",\n    \"ListingDate\": \"10-Aug-23\",\n    \"ISIN\": \"INE0O3901029\",\n    \"MarketCap\": \"₹ 1,122 Cr.\",\n    \"CurrentPrice\": \"₹ 45.7\",\n    \"HighLow\": \"₹ 51.4 / 27.4\",\n    \"StockPE\": \"32.2\",\n    \"BookValue\": \"₹ 42.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"10.9 %\",\n    \"ROE\": \"7.18 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Trent Limited\",\n    \"Symbol\": \"TRENT\",\n    \"ListingDate\": \"07-Jun-04\",\n    \"ISIN\": \"INE849A01020\",\n    \"MarketCap\": \"₹ 1,08,084 Cr.\",\n    \"CurrentPrice\": \"₹ 3,040\",\n    \"HighLow\": \"₹ 3,087 / 1,155\",\n    \"StockPE\": \"181\",\n    \"BookValue\": \"₹ 82.0\",\n    \"DividendYield\": \"0.07 %\",\n    \"ROCE\": \"11.5 %\",\n    \"ROE\": \"11.9 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"TRF Limited\",\n    \"Symbol\": \"TRF\",\n    \"ListingDate\": \"26-Mar-10\",\n    \"ISIN\": \"INE391D01019\",\n    \"MarketCap\": \"₹ 282 Cr.\",\n    \"CurrentPrice\": \"₹ 256\",\n    \"HighLow\": \"₹ 293 / 153\",\n    \"StockPE\": \"6.16\",\n    \"BookValue\": \"₹ 44.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"188 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Trident Limited\",\n    \"Symbol\": \"TRIDENT\",\n    \"ListingDate\": \"21-Feb-01\",\n    \"ISIN\": \"INE064C01022\",\n    \"MarketCap\": \"₹ 18,468 Cr.\",\n    \"CurrentPrice\": \"₹ 36.2\",\n    \"HighLow\": \"₹ 43.8 / 25.0\",\n    \"StockPE\": \"40.4\",\n    \"BookValue\": \"₹ 8.14\",\n    \"DividendYield\": \"1.00 %\",\n    \"ROCE\": \"11.9 %\",\n    \"ROE\": \"11.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Trigyn Technologies Limited\",\n    \"Symbol\": \"TRIGYN\",\n    \"ListingDate\": \"09-Apr-98\",\n    \"ISIN\": \"INE948A01012\",\n    \"MarketCap\": \"₹ 418 Cr.\",\n    \"CurrentPrice\": \"₹ 136\",\n    \"HighLow\": \"₹ 148 / 84.8\",\n    \"StockPE\": \"10.2\",\n    \"BookValue\": \"₹ 231\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"9.28 %\",\n    \"ROE\": \"5.38 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Transformers And Rectifiers (India) Limited\",\n    \"Symbol\": \"TRIL\",\n    \"ListingDate\": \"28-Dec-07\",\n    \"ISIN\": \"INE763I01026\",\n    \"MarketCap\": \"₹ 3,409 Cr.\",\n    \"CurrentPrice\": \"₹ 239\",\n    \"HighLow\": \"₹ 247 / 52.2\",\n    \"StockPE\": \"279\",\n    \"BookValue\": \"₹ 28.8\",\n    \"DividendYield\": \"0.07 %\",\n    \"ROCE\": \"14.8 %\",\n    \"ROE\": \"10.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Triveni Turbine Limited\",\n    \"Symbol\": \"TRITURBINE\",\n    \"ListingDate\": \"28-Oct-11\",\n    \"ISIN\": \"INE152M01016\",\n    \"MarketCap\": \"₹ 13,551 Cr.\",\n    \"CurrentPrice\": \"₹ 426\",\n    \"HighLow\": \"₹ 457 / 241\",\n    \"StockPE\": \"58.2\",\n    \"BookValue\": \"₹ 27.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"28.7 %\",\n    \"ROE\": \"21.5 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Triveni Engineering & Industries Limited\",\n    \"Symbol\": \"TRIVENI\",\n    \"ListingDate\": \"13-Dec-05\",\n    \"ISIN\": \"INE256C01024\",\n    \"MarketCap\": \"₹ 7,619 Cr.\",\n    \"CurrentPrice\": \"₹ 348\",\n    \"HighLow\": \"₹ 417 / 250\",\n    \"StockPE\": \"17.5\",\n    \"BookValue\": \"₹ 123\",\n    \"DividendYield\": \"0.91 %\",\n    \"ROCE\": \"17.5 %\",\n    \"ROE\": \"23.3 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"TruCap Finance Limited\",\n    \"Symbol\": \"TRU\",\n    \"ListingDate\": \"20-Jun-23\",\n    \"ISIN\": \"INE615R01029\",\n    \"MarketCap\": \"₹ 868 Cr.\",\n    \"CurrentPrice\": \"₹ 74.2\",\n    \"HighLow\": \"₹ 79.0 / 37.2\",\n    \"StockPE\": \"296\",\n    \"BookValue\": \"₹ 19.3\",\n    \"DividendYield\": \"0.01 %\",\n    \"ROCE\": \"9.65 %\",\n    \"ROE\": \"0.34 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"TTK Healthcare Limited\",\n    \"Symbol\": \"TTKHLTCARE\",\n    \"ListingDate\": \"02-Dec-15\",\n    \"ISIN\": \"INE910C01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"TTK Prestige Limited\",\n    \"Symbol\": \"TTKPRESTIG\",\n    \"ListingDate\": \"22-Dec-99\",\n    \"ISIN\": \"INE690A01028\",\n    \"MarketCap\": \"₹ 10,352 Cr.\",\n    \"CurrentPrice\": \"₹ 747\",\n    \"HighLow\": \"₹ 833 / 652\",\n    \"StockPE\": \"46.7\",\n    \"BookValue\": \"₹ 141\",\n    \"DividendYield\": \"0.81 %\",\n    \"ROCE\": \"18.1 %\",\n    \"ROE\": \"13.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"T T Limited\",\n    \"Symbol\": \"TTL\",\n    \"ListingDate\": \"22-Feb-07\",\n    \"ISIN\": \"INE592B01016\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Tata Teleservices (Maharashtra) Limited\",\n    \"Symbol\": \"TTML\",\n    \"ListingDate\": \"20-Oct-00\",\n    \"ISIN\": \"INE517B01013\",\n    \"MarketCap\": \"₹ 17,935 Cr.\",\n    \"CurrentPrice\": \"₹ 91.7\",\n    \"HighLow\": \"₹ 109 / 49.6\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -2.87\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-12.7 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"TV18 Broadcast Limited\",\n    \"Symbol\": \"TV18BRDCST\",\n    \"ListingDate\": \"08-Feb-07\",\n    \"ISIN\": \"INE886H01027\",\n    \"MarketCap\": \"₹ 8,712 Cr.\",\n    \"CurrentPrice\": \"₹ 50.8\",\n    \"HighLow\": \"₹ 56.9 / 27.4\",\n    \"StockPE\": \"120\",\n    \"BookValue\": \"₹ 100\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.75 %\",\n    \"ROE\": \"2.46 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"TVS Electronics Limited\",\n    \"Symbol\": \"TVSELECT\",\n    \"ListingDate\": \"26-Dec-03\",\n    \"ISIN\": \"INE236G01019\",\n    \"MarketCap\": \"₹ 669 Cr.\",\n    \"CurrentPrice\": \"₹ 359\",\n    \"HighLow\": \"₹ 448 / 280\",\n    \"StockPE\": \"75.8\",\n    \"BookValue\": \"₹ 46.7\",\n    \"DividendYield\": \"0.55 %\",\n    \"ROCE\": \"18.6 %\",\n    \"ROE\": \"10.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"TVS Holdings Limited\",\n    \"Symbol\": \"TVSHLTD\",\n    \"ListingDate\": \"23-Oct-12\",\n    \"ISIN\": \"INE105A01035\",\n    \"MarketCap\": \"₹ 15,169 Cr.\",\n    \"CurrentPrice\": \"₹ 7,497\",\n    \"HighLow\": \"₹ 8,912 / 2,825\",\n    \"StockPE\": \"22.0\",\n    \"BookValue\": \"₹ 1,190\",\n    \"DividendYield\": \"0.82 %\",\n    \"ROCE\": \"11.9 %\",\n    \"ROE\": \"14.8 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"TVS Motor Company Limited\",\n    \"Symbol\": \"TVSMOTOR\",\n    \"ListingDate\": \"02-Aug-00\",\n    \"ISIN\": \"INE494B01023\",\n    \"MarketCap\": \"₹ 95,471 Cr.\",\n    \"CurrentPrice\": \"₹ 2,010\",\n    \"HighLow\": \"₹ 2,058 / 968\",\n    \"StockPE\": \"65.5\",\n    \"BookValue\": \"₹ 133\",\n    \"DividendYield\": \"0.25 %\",\n    \"ROCE\": \"13.2 %\",\n    \"ROE\": \"25.6 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"TVS Supply Chain Solutions Limited\",\n    \"Symbol\": \"TVSSCS\",\n    \"ListingDate\": \"23-Aug-23\",\n    \"ISIN\": \"INE395N01027\",\n    \"MarketCap\": \"₹ 8,778 Cr.\",\n    \"CurrentPrice\": \"₹ 200\",\n    \"HighLow\": \"₹ 258 / 194\",\n    \"StockPE\": \"238\",\n    \"BookValue\": \"₹ 40.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"6.43 %\",\n    \"ROE\": \"5.13 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"TVS Srichakra Limited\",\n    \"Symbol\": \"TVSSRICHAK\",\n    \"ListingDate\": \"13-Feb-07\",\n    \"ISIN\": \"INE421C01016\",\n    \"MarketCap\": \"₹ 3,501 Cr.\",\n    \"CurrentPrice\": \"₹ 4,570\",\n    \"HighLow\": \"₹ 5,097 / 2,454\",\n    \"StockPE\": \"34.0\",\n    \"BookValue\": \"₹ 1,403\",\n    \"DividendYield\": \"0.69 %\",\n    \"ROCE\": \"9.23 %\",\n    \"ROE\": \"8.16 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"TV Today Network Limited\",\n    \"Symbol\": \"TVTODAY\",\n    \"ListingDate\": \"16-Jan-04\",\n    \"ISIN\": \"INE038F01029\",\n    \"MarketCap\": \"₹ 1,283 Cr.\",\n    \"CurrentPrice\": \"₹ 215\",\n    \"HighLow\": \"₹ 315 / 170\",\n    \"StockPE\": \"23.6\",\n    \"BookValue\": \"₹ 138\",\n    \"DividendYield\": \"1.39 %\",\n    \"ROCE\": \"13.0 %\",\n    \"ROE\": \"9.54 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"TV Vision Limited\",\n    \"Symbol\": \"TVVISION\",\n    \"ListingDate\": \"15-Sep-16\",\n    \"ISIN\": \"INE871L01013\",\n    \"MarketCap\": \"₹ 15.0 Cr.\",\n    \"CurrentPrice\": \"₹ 3.88\",\n    \"HighLow\": \"₹ 4.91 / 2.00\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -28.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"United Breweries Limited\",\n    \"Symbol\": \"UBL\",\n    \"ListingDate\": \"28-Jul-08\",\n    \"ISIN\": \"INE686F01025\",\n    \"MarketCap\": \"₹ 46,786 Cr.\",\n    \"CurrentPrice\": \"₹ 1,770\",\n    \"HighLow\": \"₹ 1,780 / 1,342\",\n    \"StockPE\": \"164\",\n    \"BookValue\": \"₹ 152\",\n    \"DividendYield\": \"0.43 %\",\n    \"ROCE\": \"11.4 %\",\n    \"ROE\": \"8.27 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"UCAL LIMITED\",\n    \"Symbol\": \"UCAL\",\n    \"ListingDate\": \"13-Sep-95\",\n    \"ISIN\": \"INE139B01016\",\n    \"MarketCap\": \"₹ 319 Cr.\",\n    \"CurrentPrice\": \"₹ 144\",\n    \"HighLow\": \"₹ 164 / 105\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 175\",\n    \"DividendYield\": \"1.39 %\",\n    \"ROCE\": \"4.55 %\",\n    \"ROE\": \"0.27 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"UCO Bank\",\n    \"Symbol\": \"UCOBANK\",\n    \"ListingDate\": \"09-Oct-03\",\n    \"ISIN\": \"INE691A01018\",\n    \"MarketCap\": \"₹ 47,465 Cr.\",\n    \"CurrentPrice\": \"₹ 39.7\",\n    \"HighLow\": \"₹ 48.5 / 22.2\",\n    \"StockPE\": \"25.8\",\n    \"BookValue\": \"₹ 21.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.74 %\",\n    \"ROE\": \"7.59 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Updater Services Limited\",\n    \"Symbol\": \"UDS\",\n    \"ListingDate\": \"04-Oct-23\",\n    \"ISIN\": \"INE851I01011\",\n    \"MarketCap\": \"₹ 2,232 Cr.\",\n    \"CurrentPrice\": \"₹ 335\",\n    \"HighLow\": \"₹ 373 / 235\",\n    \"StockPE\": \"50.0\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"16.8 %\",\n    \"ROE\": \"12.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"UFLEX Limited\",\n    \"Symbol\": \"UFLEX\",\n    \"ListingDate\": \"23-Aug-95\",\n    \"ISIN\": \"INE516A01017\",\n    \"MarketCap\": \"₹ 3,500 Cr.\",\n    \"CurrentPrice\": \"₹ 485\",\n    \"HighLow\": \"₹ 578 / 325\",\n    \"StockPE\": \"771\",\n    \"BookValue\": \"₹ 999\",\n    \"DividendYield\": \"0.61 %\",\n    \"ROCE\": \"10.4 %\",\n    \"ROE\": \"8.26 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"UFO Moviez India Limited\",\n    \"Symbol\": \"UFO\",\n    \"ListingDate\": \"14-May-15\",\n    \"ISIN\": \"INE527H01019\",\n    \"MarketCap\": \"₹ 434 Cr.\",\n    \"CurrentPrice\": \"₹ 113\",\n    \"HighLow\": \"₹ 130 / 57.2\",\n    \"StockPE\": \"83.9\",\n    \"BookValue\": \"₹ 71.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-0.97 %\",\n    \"ROE\": \"-4.95 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"The Ugar Sugar Works Limited\",\n    \"Symbol\": \"UGARSUGAR\",\n    \"ListingDate\": \"23-Aug-10\",\n    \"ISIN\": \"INE071E01023\",\n    \"MarketCap\": \"₹ 924 Cr.\",\n    \"CurrentPrice\": \"₹ 82.1\",\n    \"HighLow\": \"₹ 136 / 77.2\",\n    \"StockPE\": \"13.5\",\n    \"BookValue\": \"₹ 15.4\",\n    \"DividendYield\": \"0.62 %\",\n    \"ROCE\": \"27.3 %\",\n    \"ROE\": \"60.2 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Ugro Capital Limited\",\n    \"Symbol\": \"UGROCAP\",\n    \"ListingDate\": \"11-Aug-21\",\n    \"ISIN\": \"INE583D01011\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Ujjivan Financial Services Limited\",\n    \"Symbol\": \"UJJIVAN\",\n    \"ListingDate\": \"10-May-16\",\n    \"ISIN\": \"INE334L01012\",\n    \"MarketCap\": \"₹ 6,928 Cr.\",\n    \"CurrentPrice\": \"₹ 569\",\n    \"HighLow\": \"₹ 615 / 233\",\n    \"StockPE\": \"8.32\",\n    \"BookValue\": \"₹ 299\",\n    \"DividendYield\": \"0.87 %\",\n    \"ROCE\": \"10.3 %\",\n    \"ROE\": \"32.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Ujjivan Small Finance Bank Limited\",\n    \"Symbol\": \"UJJIVANSFB\",\n    \"ListingDate\": \"12-Dec-19\",\n    \"ISIN\": \"INE551W01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"UltraTech Cement Limited\",\n    \"Symbol\": \"ULTRACEMCO\",\n    \"ListingDate\": \"24-Aug-04\",\n    \"ISIN\": \"INE481G01011\",\n    \"MarketCap\": \"₹ 3,00,010 Cr.\",\n    \"CurrentPrice\": \"₹ 10,392\",\n    \"HighLow\": \"₹ 10,550 / 6,604\",\n    \"StockPE\": \"52.7\",\n    \"BookValue\": \"₹ 1,945\",\n    \"DividendYield\": \"0.36 %\",\n    \"ROCE\": \"12.9 %\",\n    \"ROE\": \"9.63 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Uma Exports Limited\",\n    \"Symbol\": \"UMAEXPORTS\",\n    \"ListingDate\": \"07-Apr-22\",\n    \"ISIN\": \"INE0GIU01018\",\n    \"MarketCap\": \"₹ 181 Cr.\",\n    \"CurrentPrice\": \"₹ 53.6\",\n    \"HighLow\": \"₹ 75.5 / 35.3\",\n    \"StockPE\": \"10.7\",\n    \"BookValue\": \"₹ 53.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"20.8 %\",\n    \"ROE\": \"20.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Umang Dairies Limited\",\n    \"Symbol\": \"UMANGDAIRY\",\n    \"ListingDate\": \"02-Dec-15\",\n    \"ISIN\": \"INE864B01027\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Usha Martin Education & Solutions Limited\",\n    \"Symbol\": \"UMESLTD\",\n    \"ListingDate\": \"12-Jul-10\",\n    \"ISIN\": \"INE240C01028\",\n    \"MarketCap\": \"₹ 16.2 Cr.\",\n    \"CurrentPrice\": \"₹ 6.15\",\n    \"HighLow\": \"₹ 8.02 / 2.81\",\n    \"StockPE\": \"116\",\n    \"BookValue\": \"₹ 5.38\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.49 %\",\n    \"ROE\": \"0.50 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Unichem Laboratories Limited\",\n    \"Symbol\": \"UNICHEMLAB\",\n    \"ListingDate\": \"07-Feb-01\",\n    \"ISIN\": \"INE351A01035\",\n    \"MarketCap\": \"₹ 2,873 Cr.\",\n    \"CurrentPrice\": \"₹ 408\",\n    \"HighLow\": \"₹ 455 / 265\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 342\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-4.58 %\",\n    \"ROE\": \"-7.05 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"United Drilling Tools Limited\",\n    \"Symbol\": \"UNIDT\",\n    \"ListingDate\": \"25-Sep-20\",\n    \"ISIN\": \"INE961D01019\",\n    \"MarketCap\": \"₹ 546 Cr.\",\n    \"CurrentPrice\": \"₹ 269\",\n    \"HighLow\": \"₹ 308 / 168\",\n    \"StockPE\": \"58.3\",\n    \"BookValue\": \"₹ 122\",\n    \"DividendYield\": \"0.66 %\",\n    \"ROCE\": \"6.13 %\",\n    \"ROE\": \"4.22 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Uniphos Enterprises Limited\",\n    \"Symbol\": \"UNIENTER\",\n    \"ListingDate\": \"23-Jan-04\",\n    \"ISIN\": \"INE037A01022\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Uniinfo Telecom Services Limited\",\n    \"Symbol\": \"UNIINFO\",\n    \"ListingDate\": \"12-Jan-22\",\n    \"ISIN\": \"INE481Z01011\",\n    \"MarketCap\": \"₹ 29.0 Cr.\",\n    \"CurrentPrice\": \"₹ 27.2\",\n    \"HighLow\": \"₹ 41.3 / 15.1\",\n    \"StockPE\": \"16.6\",\n    \"BookValue\": \"₹ 31.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"3.09 %\",\n    \"ROE\": \"1.91 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Union Bank of India\",\n    \"Symbol\": \"UNIONBANK\",\n    \"ListingDate\": \"24-Sep-02\",\n    \"ISIN\": \"INE692A01016\",\n    \"MarketCap\": \"₹ 87,467 Cr.\",\n    \"CurrentPrice\": \"₹ 118\",\n    \"HighLow\": \"₹ 129 / 60.3\",\n    \"StockPE\": \"7.37\",\n    \"BookValue\": \"₹ 115\",\n    \"DividendYield\": \"2.50 %\",\n    \"ROCE\": \"5.02 %\",\n    \"ROE\": \"11.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Uniparts India Limited\",\n    \"Symbol\": \"UNIPARTS\",\n    \"ListingDate\": \"12-Dec-22\",\n    \"ISIN\": \"INE244O01017\",\n    \"MarketCap\": \"₹ 2,591 Cr.\",\n    \"CurrentPrice\": \"₹ 574\",\n    \"HighLow\": \"₹ 723 / 501\",\n    \"StockPE\": \"15.1\",\n    \"BookValue\": \"₹ 194\",\n    \"DividendYield\": \"2.49 %\",\n    \"ROCE\": \"31.7 %\",\n    \"ROE\": \"27.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Unitech Limited\",\n    \"Symbol\": \"UNITECH\",\n    \"ListingDate\": \"08-Sep-99\",\n    \"ISIN\": \"INE694A01020\",\n    \"MarketCap\": \"₹ 1,787 Cr.\",\n    \"CurrentPrice\": \"₹ 6.83\",\n    \"HighLow\": \"₹ 10.2 / 1.10\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -7.96\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"0.71 %\",\n    \"ROE\": \"-486 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"United Polyfab Gujarat Limited\",\n    \"Symbol\": \"UNITEDPOLY\",\n    \"ListingDate\": \"31-Dec-21\",\n    \"ISIN\": \"INE368U01011\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"The United Nilgiri Tea Estates Company Limited\",\n    \"Symbol\": \"UNITEDTEA\",\n    \"ListingDate\": \"28-Jan-15\",\n    \"ISIN\": \"INE458F01011\",\n    \"MarketCap\": \"₹ 162 Cr.\",\n    \"CurrentPrice\": \"₹ 324\",\n    \"HighLow\": \"₹ 370 / 256\",\n    \"StockPE\": \"13.8\",\n    \"BookValue\": \"₹ 233\",\n    \"DividendYield\": \"0.83 %\",\n    \"ROCE\": \"14.0 %\",\n    \"ROE\": \"10.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Univa Foods Limited\",\n    \"Symbol\": \"UNIVAFOODS\",\n    \"ListingDate\": \"03-Apr-96\",\n    \"ISIN\": \"INE275F01019\",\n    \"MarketCap\": \"₹ 6.45 Cr.\",\n    \"CurrentPrice\": \"₹ 4.50\",\n    \"HighLow\": \"₹ 6.97 / 3.75\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 6.63\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"0.21 %\",\n    \"ROE\": \"-0.12 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Univastu India Limited\",\n    \"Symbol\": \"UNIVASTU\",\n    \"ListingDate\": \"22-Jun-20\",\n    \"ISIN\": \"INE562X01013\",\n    \"MarketCap\": \"₹ 117 Cr.\",\n    \"CurrentPrice\": \"₹ 103\",\n    \"HighLow\": \"₹ 147 / 76.5\",\n    \"StockPE\": \"17.9\",\n    \"BookValue\": \"₹ 41.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"19.3 %\",\n    \"ROE\": \"15.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Universal Cables Limited\",\n    \"Symbol\": \"UNIVCABLES\",\n    \"ListingDate\": \"17-May-95\",\n    \"ISIN\": \"INE279A01012\",\n    \"MarketCap\": \"₹ 1,781 Cr.\",\n    \"CurrentPrice\": \"₹ 513\",\n    \"HighLow\": \"₹ 555 / 287\",\n    \"StockPE\": \"17.6\",\n    \"BookValue\": \"₹ 481\",\n    \"DividendYield\": \"0.59 %\",\n    \"ROCE\": \"12.0 %\",\n    \"ROE\": \"8.46 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Universus Photo Imagings Limited\",\n    \"Symbol\": \"UNIVPHOTO\",\n    \"ListingDate\": \"14-Feb-20\",\n    \"ISIN\": \"INE03V001013\",\n    \"MarketCap\": \"₹ 475 Cr.\",\n    \"CurrentPrice\": \"₹ 434\",\n    \"HighLow\": \"₹ 567 / 330\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 884\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-6.85 %\",\n    \"ROE\": \"-7.32 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"UNO Minda Limited\",\n    \"Symbol\": \"UNOMINDA\",\n    \"ListingDate\": \"02-Feb-07\",\n    \"ISIN\": \"INE405E01023\",\n    \"MarketCap\": \"₹ 39,036 Cr.\",\n    \"CurrentPrice\": \"₹ 681\",\n    \"HighLow\": \"₹ 695 / 433\",\n    \"StockPE\": \"52.6\",\n    \"BookValue\": \"₹ 77.6\",\n    \"DividendYield\": \"0.22 %\",\n    \"ROCE\": \"18.1 %\",\n    \"ROE\": \"17.1 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"UPL Limited\",\n    \"Symbol\": \"UPL\",\n    \"ListingDate\": \"23-Jan-04\",\n    \"ISIN\": \"INE628A01036\",\n    \"MarketCap\": \"₹ 44,248 Cr.\",\n    \"CurrentPrice\": \"₹ 590\",\n    \"HighLow\": \"₹ 780 / 528\",\n    \"StockPE\": \"25.9\",\n    \"BookValue\": \"₹ 385\",\n    \"DividendYield\": \"1.71 %\",\n    \"ROCE\": \"14.3 %\",\n    \"ROE\": \"13.4 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Uravi T and Wedge Lamps Limited\",\n    \"Symbol\": \"URAVI\",\n    \"ListingDate\": \"05-Jul-23\",\n    \"ISIN\": \"INE568Z01015\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Urja Global Limited\",\n    \"Symbol\": \"URJA\",\n    \"ListingDate\": \"28-Mar-17\",\n    \"ISIN\": \"INE550C01020\",\n    \"MarketCap\": \"₹ 771 Cr.\",\n    \"CurrentPrice\": \"₹ 14.7\",\n    \"HighLow\": \"₹ 16.8 / 6.00\",\n    \"StockPE\": \"360\",\n    \"BookValue\": \"₹ 3.30\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.55 %\",\n    \"ROE\": \"0.89 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Usha Martin Limited\",\n    \"Symbol\": \"USHAMART\",\n    \"ListingDate\": \"11-Oct-00\",\n    \"ISIN\": \"INE228A01035\",\n    \"MarketCap\": \"₹ 9,023 Cr.\",\n    \"CurrentPrice\": \"₹ 296\",\n    \"HighLow\": \"₹ 374 / 164\",\n    \"StockPE\": \"22.6\",\n    \"BookValue\": \"₹ 70.6\",\n    \"DividendYield\": \"0.83 %\",\n    \"ROCE\": \"21.2 %\",\n    \"ROE\": \"18.8 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Udayshivakumar Infra Limited\",\n    \"Symbol\": \"USK\",\n    \"ListingDate\": \"03-Apr-23\",\n    \"ISIN\": \"INE0N0Y01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"UTI Asset Management Company Limited\",\n    \"Symbol\": \"UTIAMC\",\n    \"ListingDate\": \"12-Oct-20\",\n    \"ISIN\": \"INE094J01016\",\n    \"MarketCap\": \"₹ 11,004 Cr.\",\n    \"CurrentPrice\": \"₹ 865\",\n    \"HighLow\": \"₹ 918 / 608\",\n    \"StockPE\": \"19.5\",\n    \"BookValue\": \"₹ 313\",\n    \"DividendYield\": \"2.54 %\",\n    \"ROCE\": \"15.9 %\",\n    \"ROE\": \"11.7 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Utkarsh Small Finance Bank Limited\",\n    \"Symbol\": \"UTKARSHBNK\",\n    \"ListingDate\": \"21-Jul-23\",\n    \"ISIN\": \"INE735W01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Uttam Sugar Mills Limited\",\n    \"Symbol\": \"UTTAMSUGAR\",\n    \"ListingDate\": \"10-Apr-06\",\n    \"ISIN\": \"INE786F01031\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"V2 Retail Limited\",\n    \"Symbol\": \"V2RETAIL\",\n    \"ListingDate\": \"04-Jul-07\",\n    \"ISIN\": \"INE945H01013\",\n    \"MarketCap\": \"₹ 1,036 Cr.\",\n    \"CurrentPrice\": \"₹ 299\",\n    \"HighLow\": \"₹ 322 / 67.0\",\n    \"StockPE\": \"482\",\n    \"BookValue\": \"₹ 71.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"3.77 %\",\n    \"ROE\": \"-5.10 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Vadilal Industries Limited\",\n    \"Symbol\": \"VADILALIND\",\n    \"ListingDate\": \"15-Jun-11\",\n    \"ISIN\": \"INE694D01016\",\n    \"MarketCap\": \"₹ 1,780 Cr.\",\n    \"CurrentPrice\": \"₹ 2,475\",\n    \"HighLow\": \"₹ 3,298 / 1,799\",\n    \"StockPE\": \"13.8\",\n    \"BookValue\": \"₹ 704\",\n    \"DividendYield\": \"0.06 %\",\n    \"ROCE\": \"25.6 %\",\n    \"ROE\": \"28.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Vaibhav Global Limited\",\n    \"Symbol\": \"VAIBHAVGBL\",\n    \"ListingDate\": \"05-Apr-04\",\n    \"ISIN\": \"INE884A01027\",\n    \"MarketCap\": \"₹ 6,592 Cr.\",\n    \"CurrentPrice\": \"₹ 398\",\n    \"HighLow\": \"₹ 470 / 269\",\n    \"StockPE\": \"54.6\",\n    \"BookValue\": \"₹ 73.9\",\n    \"DividendYield\": \"1.48 %\",\n    \"ROCE\": \"11.1 %\",\n    \"ROE\": \"9.02 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Vaishali Pharma Limited\",\n    \"Symbol\": \"VAISHALI\",\n    \"ListingDate\": \"15-Jan-20\",\n    \"ISIN\": \"INE972X01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Vakrangee Limited\",\n    \"Symbol\": \"VAKRANGEE\",\n    \"ListingDate\": \"03-Apr-06\",\n    \"ISIN\": \"INE051B01021\",\n    \"MarketCap\": \"₹ 2,007 Cr.\",\n    \"CurrentPrice\": \"₹ 18.9\",\n    \"HighLow\": \"₹ 25.8 / 13.3\",\n    \"StockPE\": \"1,246\",\n    \"BookValue\": \"₹ 1.13\",\n    \"DividendYield\": \"0.27 %\",\n    \"ROCE\": \"2.65 %\",\n    \"ROE\": \"0.87 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Valiant Laboratories Limited\",\n    \"Symbol\": \"VALIANTLAB\",\n    \"ListingDate\": \"06-Oct-23\",\n    \"ISIN\": \"INE0JWS01017\",\n    \"MarketCap\": \"₹ 751 Cr.\",\n    \"CurrentPrice\": \"₹ 173\",\n    \"HighLow\": \"₹ 207 / 161\",\n    \"StockPE\": \"25.9\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Valiant Organics Limited\",\n    \"Symbol\": \"VALIANTORG\",\n    \"ListingDate\": \"23-Jul-21\",\n    \"ISIN\": \"INE565V01010\",\n    \"MarketCap\": \"₹ 1,409 Cr.\",\n    \"CurrentPrice\": \"₹ 511\",\n    \"HighLow\": \"₹ 635 / 355\",\n    \"StockPE\": \"22.8\",\n    \"BookValue\": \"₹ 260\",\n    \"DividendYield\": \"0.20 %\",\n    \"ROCE\": \"14.1 %\",\n    \"ROE\": \"13.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Vardhman Acrylics Limited\",\n    \"Symbol\": \"VARDHACRLC\",\n    \"ListingDate\": \"30-Sep-03\",\n    \"ISIN\": \"INE116G01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Vardhman Polytex Limited\",\n    \"Symbol\": \"VARDMNPOLY\",\n    \"ListingDate\": \"12-May-03\",\n    \"ISIN\": \"INE835A01011\",\n    \"MarketCap\": \"₹ 154 Cr.\",\n    \"CurrentPrice\": \"₹ 56.5\",\n    \"HighLow\": \"₹ 74.0 / 17.9\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -163\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"28.4 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Varroc Engineering Limited\",\n    \"Symbol\": \"VARROC\",\n    \"ListingDate\": \"06-Jul-18\",\n    \"ISIN\": \"INE665L01035\",\n    \"MarketCap\": \"₹ 8,474 Cr.\",\n    \"CurrentPrice\": \"₹ 555\",\n    \"HighLow\": \"₹ 589 / 239\",\n    \"StockPE\": \"50.9\",\n    \"BookValue\": \"₹ 67.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.13 %\",\n    \"ROE\": \"-55.9 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Vascon Engineers Limited\",\n    \"Symbol\": \"VASCONEQ\",\n    \"ListingDate\": \"15-Feb-10\",\n    \"ISIN\": \"INE893I01013\",\n    \"MarketCap\": \"₹ 1,523 Cr.\",\n    \"CurrentPrice\": \"₹ 70.1\",\n    \"HighLow\": \"₹ 84.5 / 23.8\",\n    \"StockPE\": \"15.5\",\n    \"BookValue\": \"₹ 43.2\",\n    \"DividendYield\": \"0.36 %\",\n    \"ROCE\": \"11.3 %\",\n    \"ROE\": \"11.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Vaswani Industries Limited\",\n    \"Symbol\": \"VASWANI\",\n    \"ListingDate\": \"20-Sep-11\",\n    \"ISIN\": \"INE590L01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Varun Beverages Limited\",\n    \"Symbol\": \"VBL\",\n    \"ListingDate\": \"08-Nov-16\",\n    \"ISIN\": \"INE200M01021\",\n    \"MarketCap\": \"₹ 1,60,667 Cr.\",\n    \"CurrentPrice\": \"₹ 1,237\",\n    \"HighLow\": \"₹ 1,380 / 550\",\n    \"StockPE\": \"80.4\",\n    \"BookValue\": \"₹ 50.0\",\n    \"DividendYield\": \"0.10 %\",\n    \"ROCE\": \"27.4 %\",\n    \"ROE\": \"33.5 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Vaxtex Cotfab Limited\",\n    \"Symbol\": \"VCL\",\n    \"ListingDate\": \"19-Apr-22\",\n    \"ISIN\": \"INE098201036\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Vedanta Limited\",\n    \"Symbol\": \"VEDL\",\n    \"ListingDate\": \"13-May-98\",\n    \"ISIN\": \"INE205A01025\",\n    \"MarketCap\": \"₹ 94,956 Cr.\",\n    \"CurrentPrice\": \"₹ 255\",\n    \"HighLow\": \"₹ 341 / 208\",\n    \"StockPE\": \"19.2\",\n    \"BookValue\": \"₹ 85.0\",\n    \"DividendYield\": \"39.7 %\",\n    \"ROCE\": \"21.2 %\",\n    \"ROE\": \"20.4 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Venky's (India) Limited\",\n    \"Symbol\": \"VENKEYS\",\n    \"ListingDate\": \"28-Jul-03\",\n    \"ISIN\": \"INE398A01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Venus Pipes & Tubes Limited\",\n    \"Symbol\": \"VENUSPIPES\",\n    \"ListingDate\": \"24-May-22\",\n    \"ISIN\": \"INE0JA001018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Venus Remedies Limited\",\n    \"Symbol\": \"VENUSREM\",\n    \"ListingDate\": \"20-Dec-06\",\n    \"ISIN\": \"INE411B01019\",\n    \"MarketCap\": \"₹ 545 Cr.\",\n    \"CurrentPrice\": \"₹ 408\",\n    \"HighLow\": \"₹ 430 / 145\",\n    \"StockPE\": \"21.4\",\n    \"BookValue\": \"₹ 352\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.75 %\",\n    \"ROE\": \"5.90 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Veranda Learning Solutions Limited\",\n    \"Symbol\": \"VERANDA\",\n    \"ListingDate\": \"11-Apr-22\",\n    \"ISIN\": \"INE0IQ001011\",\n    \"MarketCap\": \"₹ 2,016 Cr.\",\n    \"CurrentPrice\": \"₹ 292\",\n    \"HighLow\": \"₹ 337 / 155\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 62.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-25.2 %\",\n    \"ROE\": \"-60.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Vertoz Advertising Limited\",\n    \"Symbol\": \"VERTOZ\",\n    \"ListingDate\": \"14-May-20\",\n    \"ISIN\": \"INE188Y01015\",\n    \"MarketCap\": \"₹ 637 Cr.\",\n    \"CurrentPrice\": \"₹ 463\",\n    \"HighLow\": \"₹ 509 / 185\",\n    \"StockPE\": \"43.2\",\n    \"BookValue\": \"₹ 91.1\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"19.0 %\",\n    \"ROE\": \"14.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Vesuvius India Limited\",\n    \"Symbol\": \"VESUVIUS\",\n    \"ListingDate\": \"04-Oct-02\",\n    \"ISIN\": \"INE386A01015\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Veto Switchgears And Cables Limited\",\n    \"Symbol\": \"VETO\",\n    \"ListingDate\": \"29-Apr-15\",\n    \"ISIN\": \"INE918N01018\",\n    \"MarketCap\": \"₹ 222 Cr.\",\n    \"CurrentPrice\": \"₹ 116\",\n    \"HighLow\": \"₹ 147 / 71.4\",\n    \"StockPE\": \"12.7\",\n    \"BookValue\": \"₹ 128\",\n    \"DividendYield\": \"0.86 %\",\n    \"ROCE\": \"13.1 %\",\n    \"ROE\": \"9.09 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"V-Guard Industries Limited\",\n    \"Symbol\": \"VGUARD\",\n    \"ListingDate\": \"13-Mar-08\",\n    \"ISIN\": \"INE951I01027\",\n    \"MarketCap\": \"₹ 12,698 Cr.\",\n    \"CurrentPrice\": \"₹ 293\",\n    \"HighLow\": \"₹ 335 / 229\",\n    \"StockPE\": \"59.0\",\n    \"BookValue\": \"₹ 38.8\",\n    \"DividendYield\": \"0.46 %\",\n    \"ROCE\": \"15.2 %\",\n    \"ROE\": \"12.6 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Vardhman Holdings Limited\",\n    \"Symbol\": \"VHL\",\n    \"ListingDate\": \"30-Jun-05\",\n    \"ISIN\": \"INE701A01023\",\n    \"MarketCap\": \"₹ 1,018 Cr.\",\n    \"CurrentPrice\": \"₹ 3,190\",\n    \"HighLow\": \"₹ 3,450 / 2,411\",\n    \"StockPE\": \"5.69\",\n    \"BookValue\": \"₹ 10,060\",\n    \"DividendYield\": \"0.16 %\",\n    \"ROCE\": \"7.66 %\",\n    \"ROE\": \"7.77 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Vidhi Specialty Food Ingredients Limited\",\n    \"Symbol\": \"VIDHIING\",\n    \"ListingDate\": \"02-Mar-16\",\n    \"ISIN\": \"INE632C01026\",\n    \"MarketCap\": \"₹ 2,053 Cr.\",\n    \"CurrentPrice\": \"₹ 411\",\n    \"HighLow\": \"₹ 465 / 317\",\n    \"StockPE\": \"60.7\",\n    \"BookValue\": \"₹ 53.3\",\n    \"DividendYield\": \"0.19 %\",\n    \"ROCE\": \"17.6 %\",\n    \"ROE\": \"16.1 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Vijaya Diagnostic Centre Limited\",\n    \"Symbol\": \"VIJAYA\",\n    \"ListingDate\": \"14-Sep-21\",\n    \"ISIN\": \"INE043W01024\",\n    \"MarketCap\": \"₹ 6,764 Cr.\",\n    \"CurrentPrice\": \"₹ 661\",\n    \"HighLow\": \"₹ 686 / 349\",\n    \"StockPE\": \"65.5\",\n    \"BookValue\": \"₹ 58.4\",\n    \"DividendYield\": \"0.15 %\",\n    \"ROCE\": \"18.4 %\",\n    \"ROE\": \"16.6 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Viji Finance Limited\",\n    \"Symbol\": \"VIJIFIN\",\n    \"ListingDate\": \"11-Jul-16\",\n    \"ISIN\": \"INE159N01027\",\n    \"MarketCap\": \"₹ 15.9 Cr.\",\n    \"CurrentPrice\": \"₹ 1.93\",\n    \"HighLow\": \"₹ 3.55 / 1.41\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 1.47\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.27 %\",\n    \"ROE\": \"3.64 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Vikas EcoTech Limited\",\n    \"Symbol\": \"VIKASECO\",\n    \"ListingDate\": \"12-Dec-11\",\n    \"ISIN\": \"INE806A01020\",\n    \"MarketCap\": \"₹ 498 Cr.\",\n    \"CurrentPrice\": \"₹ 3.68\",\n    \"HighLow\": \"₹ 5.09 / 2.35\",\n    \"StockPE\": \"151\",\n    \"BookValue\": \"₹ 0.49\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"13.9 %\",\n    \"ROE\": \"9.06 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Vikas Lifecare Limited\",\n    \"Symbol\": \"VIKASLIFE\",\n    \"ListingDate\": \"08-May-19\",\n    \"ISIN\": \"INE161L01027\",\n    \"MarketCap\": \"₹ 713 Cr.\",\n    \"CurrentPrice\": \"₹ 4.96\",\n    \"HighLow\": \"₹ 7.05 / 2.66\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 2.45\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-6.65 %\",\n    \"ROE\": \"-5.93 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Vimta Labs Limited\",\n    \"Symbol\": \"VIMTALABS\",\n    \"ListingDate\": \"15-Dec-05\",\n    \"ISIN\": \"INE579C01029\",\n    \"MarketCap\": \"₹ 901 Cr.\",\n    \"CurrentPrice\": \"₹ 407\",\n    \"HighLow\": \"₹ 623 / 289\",\n    \"StockPE\": \"21.8\",\n    \"BookValue\": \"₹ 134\",\n    \"DividendYield\": \"0.49 %\",\n    \"ROCE\": \"24.6 %\",\n    \"ROE\": \"18.6 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Vinati Organics Limited\",\n    \"Symbol\": \"VINATIORGA\",\n    \"ListingDate\": \"28-Jul-09\",\n    \"ISIN\": \"INE410B01037\",\n    \"MarketCap\": \"₹ 17,843 Cr.\",\n    \"CurrentPrice\": \"₹ 1,736\",\n    \"HighLow\": \"₹ 2,069 / 1,689\",\n    \"StockPE\": \"43.6\",\n    \"BookValue\": \"₹ 225\",\n    \"DividendYield\": \"0.40 %\",\n    \"ROCE\": \"30.4 %\",\n    \"ROE\": \"22.6 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Vindhya Telelinks Limited\",\n    \"Symbol\": \"VINDHYATEL\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE707A01012\",\n    \"MarketCap\": \"₹ 2,606 Cr.\",\n    \"CurrentPrice\": \"₹ 2,199\",\n    \"HighLow\": \"₹ 2,720 / 1,506\",\n    \"StockPE\": \"11.1\",\n    \"BookValue\": \"₹ 3,176\",\n    \"DividendYield\": \"0.68 %\",\n    \"ROCE\": \"8.11 %\",\n    \"ROE\": \"5.58 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Vineet Laboratories Limited\",\n    \"Symbol\": \"VINEETLAB\",\n    \"ListingDate\": \"15-Jun-21\",\n    \"ISIN\": \"INE505Y01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Vinny Overseas Limited\",\n    \"Symbol\": \"VINNY\",\n    \"ListingDate\": \"28-Nov-22\",\n    \"ISIN\": \"INE01KI01027\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Vinyl Chemicals (India) Limited\",\n    \"Symbol\": \"VINYLINDIA\",\n    \"ListingDate\": \"21-Jul-08\",\n    \"ISIN\": \"INE250B01029\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"VIP Clothing Limited\",\n    \"Symbol\": \"VIPCLOTHNG\",\n    \"ListingDate\": \"06-Aug-07\",\n    \"ISIN\": \"INE450G01024\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"VIP Industries Limited\",\n    \"Symbol\": \"VIPIND\",\n    \"ListingDate\": \"02-Mar-05\",\n    \"ISIN\": \"INE054A01027\",\n    \"MarketCap\": \"₹ 8,492 Cr.\",\n    \"CurrentPrice\": \"₹ 598\",\n    \"HighLow\": \"₹ 731 / 549\",\n    \"StockPE\": \"62.6\",\n    \"BookValue\": \"₹ 50.4\",\n    \"DividendYield\": \"0.75 %\",\n    \"ROCE\": \"27.8 %\",\n    \"ROE\": \"29.0 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Vipul Limited\",\n    \"Symbol\": \"VIPULLTD\",\n    \"ListingDate\": \"23-Apr-15\",\n    \"ISIN\": \"INE946H01037\",\n    \"MarketCap\": \"₹ 207 Cr.\",\n    \"CurrentPrice\": \"₹ 17.2\",\n    \"HighLow\": \"₹ 20.5 / 10.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 6.85\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"3.82 %\",\n    \"ROE\": \"-17.1 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Virinchi Limited\",\n    \"Symbol\": \"VIRINCHI\",\n    \"ListingDate\": \"03-May-23\",\n    \"ISIN\": \"INE539B01017\",\n    \"MarketCap\": \"₹ 297 Cr.\",\n    \"CurrentPrice\": \"₹ 32.5\",\n    \"HighLow\": \"₹ 53.7 / 28.2\",\n    \"StockPE\": \"12.4\",\n    \"BookValue\": \"₹ 47.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"8.01 %\",\n    \"ROE\": \"3.31 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Visaka Industries Limited\",\n    \"Symbol\": \"VISAKAIND\",\n    \"ListingDate\": \"28-Aug-96\",\n    \"ISIN\": \"INE392A01021\",\n    \"MarketCap\": \"₹ 751 Cr.\",\n    \"CurrentPrice\": \"₹ 86.9\",\n    \"HighLow\": \"₹ 100 / 64.4\",\n    \"StockPE\": \"44.8\",\n    \"BookValue\": \"₹ 88.0\",\n    \"DividendYield\": \"2.29 %\",\n    \"ROCE\": \"9.81 %\",\n    \"ROE\": \"7.62 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Visesh Infotecnics Limited\",\n    \"Symbol\": \"VISESHINFO\",\n    \"ListingDate\": \"14-Jan-00\",\n    \"ISIN\": \"INE861A01058\",\n    \"MarketCap\": \"₹ 177 Cr.\",\n    \"CurrentPrice\": \"₹ 0.47\",\n    \"HighLow\": \"₹ 0.66 / 0.35\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 1.15\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-1.08 %\",\n    \"ROE\": \"-1.01 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Vishal Fabrics Limited\",\n    \"Symbol\": \"VISHAL\",\n    \"ListingDate\": \"19-Aug-19\",\n    \"ISIN\": \"INE755Q01025\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Vishnu Chemicals Limited\",\n    \"Symbol\": \"VISHNU\",\n    \"ListingDate\": \"05-Mar-15\",\n    \"ISIN\": \"INE270I01022\",\n    \"MarketCap\": \"₹ 2,333 Cr.\",\n    \"CurrentPrice\": \"₹ 356\",\n    \"HighLow\": \"₹ 386 / 245\",\n    \"StockPE\": \"19.4\",\n    \"BookValue\": \"₹ 100.0\",\n    \"DividendYield\": \"0.11 %\",\n    \"ROCE\": \"30.1 %\",\n    \"ROE\": \"38.7 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Vishwaraj Sugar Industries Limited\",\n    \"Symbol\": \"VISHWARAJ\",\n    \"ListingDate\": \"15-Oct-19\",\n    \"ISIN\": \"INE430N01022\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Visagar Polytex Limited\",\n    \"Symbol\": \"VIVIDHA\",\n    \"ListingDate\": \"21-May-13\",\n    \"ISIN\": \"INE370E01029\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"VL E-Governance & IT Solutions Limited\",\n    \"Symbol\": \"VLEGOV\",\n    \"ListingDate\": \"14-Aug-23\",\n    \"ISIN\": \"INE03HW01020\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"VLS Finance Limited\",\n    \"Symbol\": \"VLSFINANCE\",\n    \"ListingDate\": \"25-May-95\",\n    \"ISIN\": \"INE709A01018\",\n    \"MarketCap\": \"₹ 704 Cr.\",\n    \"CurrentPrice\": \"₹ 202\",\n    \"HighLow\": \"₹ 233 / 135\",\n    \"StockPE\": \"3.55\",\n    \"BookValue\": \"₹ 830\",\n    \"DividendYield\": \"0.72 %\",\n    \"ROCE\": \"2.13 %\",\n    \"ROE\": \"2.05 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"V-Mart Retail Limited\",\n    \"Symbol\": \"VMART\",\n    \"ListingDate\": \"20-Feb-13\",\n    \"ISIN\": \"INE665J01013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Voltamp Transformers Limited\",\n    \"Symbol\": \"VOLTAMP\",\n    \"ListingDate\": \"20-Sep-06\",\n    \"ISIN\": \"INE540H01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Voltas Limited\",\n    \"Symbol\": \"VOLTAS\",\n    \"ListingDate\": \"12-Apr-95\",\n    \"ISIN\": \"INE226A01021\",\n    \"MarketCap\": \"₹ 32,430 Cr.\",\n    \"CurrentPrice\": \"₹ 980\",\n    \"HighLow\": \"₹ 993 / 737\",\n    \"StockPE\": \"106\",\n    \"BookValue\": \"₹ 173\",\n    \"DividendYield\": \"0.45 %\",\n    \"ROCE\": \"9.67 %\",\n    \"ROE\": \"4.42 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Vishnu Prakash R Punglia Limited\",\n    \"Symbol\": \"VPRPL\",\n    \"ListingDate\": \"05-Sep-23\",\n    \"ISIN\": \"INE0AE001013\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"VRL Logistics Limited\",\n    \"Symbol\": \"VRLLOG\",\n    \"ListingDate\": \"30-Apr-15\",\n    \"ISIN\": \"INE366I01010\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Vardhman Special Steels Limited\",\n    \"Symbol\": \"VSSL\",\n    \"ListingDate\": \"17-May-12\",\n    \"ISIN\": \"INE050M01012\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"VST Industries Limited\",\n    \"Symbol\": \"VSTIND\",\n    \"ListingDate\": \"05-Sep-03\",\n    \"ISIN\": \"INE710A01016\",\n    \"MarketCap\": \"₹ 5,251 Cr.\",\n    \"CurrentPrice\": \"₹ 3,401\",\n    \"HighLow\": \"₹ 3,862 / 2,910\",\n    \"StockPE\": \"85.5\",\n    \"BookValue\": \"₹ 162\",\n    \"DividendYield\": \"4.40 %\",\n    \"ROCE\": \"34.4 %\",\n    \"ROE\": \"24.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"V.S.T Tillers Tractors Limited\",\n    \"Symbol\": \"VSTTILLERS\",\n    \"ListingDate\": \"20-Jun-11\",\n    \"ISIN\": \"INE764D01017\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Vardhman Textiles Limited\",\n    \"Symbol\": \"VTL\",\n    \"ListingDate\": \"14-Jan-03\",\n    \"ISIN\": \"INE825A01020\",\n    \"MarketCap\": \"₹ 10,993 Cr.\",\n    \"CurrentPrice\": \"₹ 380\",\n    \"HighLow\": \"₹ 434 / 270\",\n    \"StockPE\": \"20.7\",\n    \"BookValue\": \"₹ 306\",\n    \"DividendYield\": \"0.93 %\",\n    \"ROCE\": \"11.5 %\",\n    \"ROE\": \"9.74 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"VA Tech Wabag Limited\",\n    \"Symbol\": \"WABAG\",\n    \"ListingDate\": \"13-Oct-10\",\n    \"ISIN\": \"INE956G01038\",\n    \"MarketCap\": \"₹ 3,928 Cr.\",\n    \"CurrentPrice\": \"₹ 632\",\n    \"HighLow\": \"₹ 668 / 302\",\n    \"StockPE\": \"13.1\",\n    \"BookValue\": \"₹ 270\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"19.5 %\",\n    \"ROE\": \"3.11 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Walchandnagar Industries Limited\",\n    \"Symbol\": \"WALCHANNAG\",\n    \"ListingDate\": \"18-Sep-96\",\n    \"ISIN\": \"INE711A01022\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Wanbury Limited\",\n    \"Symbol\": \"WANBURY\",\n    \"ListingDate\": \"29-Jan-07\",\n    \"ISIN\": \"INE107F01022\",\n    \"MarketCap\": \"₹ 417 Cr.\",\n    \"CurrentPrice\": \"₹ 127\",\n    \"HighLow\": \"₹ 137 / 33.0\",\n    \"StockPE\": \"40.2\",\n    \"BookValue\": \"₹ -6.80\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"16.9 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Wealth First Portfolio Managers Limited\",\n    \"Symbol\": \"WEALTH\",\n    \"ListingDate\": \"20-Jan-21\",\n    \"ISIN\": \"INE658T01017\",\n    \"MarketCap\": \"₹ 438 Cr.\",\n    \"CurrentPrice\": \"₹ 411\",\n    \"HighLow\": \"₹ 465 / 262\",\n    \"StockPE\": \"18.2\",\n    \"BookValue\": \"₹ 87.5\",\n    \"DividendYield\": \"0.73 %\",\n    \"ROCE\": \"26.0 %\",\n    \"ROE\": \"19.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Websol Energy System Limited\",\n    \"Symbol\": \"WEBELSOLAR\",\n    \"ListingDate\": \"15-May-07\",\n    \"ISIN\": \"INE855C01015\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Weizmann Limited\",\n    \"Symbol\": \"WEIZMANIND\",\n    \"ListingDate\": \"10-May-95\",\n    \"ISIN\": \"INE080A01014\",\n    \"MarketCap\": \"₹ 187 Cr.\",\n    \"CurrentPrice\": \"₹ 118\",\n    \"HighLow\": \"₹ 155 / 75.0\",\n    \"StockPE\": \"25.4\",\n    \"BookValue\": \"₹ 43.2\",\n    \"DividendYield\": \"0.42 %\",\n    \"ROCE\": \"12.3 %\",\n    \"ROE\": \"6.61 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Wonder Electricals Limited\",\n    \"Symbol\": \"WEL\",\n    \"ListingDate\": \"17-Jan-22\",\n    \"ISIN\": \"INE02WG01016\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Welspun Corp Limited\",\n    \"Symbol\": \"WELCORP\",\n    \"ListingDate\": \"24-May-05\",\n    \"ISIN\": \"INE191B01025\",\n    \"MarketCap\": \"₹ 13,947 Cr.\",\n    \"CurrentPrice\": \"₹ 533\",\n    \"HighLow\": \"₹ 569 / 178\",\n    \"StockPE\": \"17.2\",\n    \"BookValue\": \"₹ 193\",\n    \"DividendYield\": \"0.92 %\",\n    \"ROCE\": \"6.42 %\",\n    \"ROE\": \"3.21 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Welspun Enterprises Limited\",\n    \"Symbol\": \"WELENT\",\n    \"ListingDate\": \"04-Nov-04\",\n    \"ISIN\": \"INE625G01013\",\n    \"MarketCap\": \"₹ 4,516 Cr.\",\n    \"CurrentPrice\": \"₹ 326\",\n    \"HighLow\": \"₹ 350 / 117\",\n    \"StockPE\": \"14.1\",\n    \"BookValue\": \"₹ 158\",\n    \"DividendYield\": \"0.31 %\",\n    \"ROCE\": \"9.99 %\",\n    \"ROE\": \"13.1 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Welspun Investments and Commercials Limited\",\n    \"Symbol\": \"WELINV\",\n    \"ListingDate\": \"20-Sep-10\",\n    \"ISIN\": \"INE389K01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Welspun Living Limited\",\n    \"Symbol\": \"WELSPUNLIV\",\n    \"ListingDate\": \"04-Dec-03\",\n    \"ISIN\": \"INE192B01031\",\n    \"MarketCap\": \"₹ 13,897 Cr.\",\n    \"CurrentPrice\": \"₹ 143\",\n    \"HighLow\": \"₹ 170 / 62.0\",\n    \"StockPE\": \"26.4\",\n    \"BookValue\": \"₹ 43.2\",\n    \"DividendYield\": \"0.07 %\",\n    \"ROCE\": \"6.01 %\",\n    \"ROE\": \"4.77 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Wendt (India) Limited\",\n    \"Symbol\": \"WENDT\",\n    \"ListingDate\": \"07-Aug-06\",\n    \"ISIN\": \"INE274C01019\",\n    \"MarketCap\": \"₹ 3,020 Cr.\",\n    \"CurrentPrice\": \"₹ 15,098\",\n    \"HighLow\": \"₹ 15,880 / 7,290\",\n    \"StockPE\": \"74.0\",\n    \"BookValue\": \"₹ 977\",\n    \"DividendYield\": \"0.55 %\",\n    \"ROCE\": \"28.8 %\",\n    \"ROE\": \"21.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"WESTLIFE FOODWORLD LIMITED\",\n    \"Symbol\": \"WESTLIFE\",\n    \"ListingDate\": \"05-Jun-23\",\n    \"ISIN\": \"INE274F01020\",\n    \"MarketCap\": \"₹ 12,756 Cr.\",\n    \"CurrentPrice\": \"₹ 818\",\n    \"HighLow\": \"₹ 1,025 / 639\",\n    \"StockPE\": \"118\",\n    \"BookValue\": \"₹ 36.1\",\n    \"DividendYield\": \"0.41 %\",\n    \"ROCE\": \"14.8 %\",\n    \"ROE\": \"21.7 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"WE WIN LIMITED\",\n    \"Symbol\": \"WEWIN\",\n    \"ListingDate\": \"15-Jun-22\",\n    \"ISIN\": \"INE082W01014\",\n    \"MarketCap\": \"₹ 90.4 Cr.\",\n    \"CurrentPrice\": \"₹ 89.0\",\n    \"HighLow\": \"₹ 110 / 34.5\",\n    \"StockPE\": \"46.9\",\n    \"BookValue\": \"₹ 24.3\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"14.0 %\",\n    \"ROE\": \"10.7 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Wheels India Limited\",\n    \"Symbol\": \"WHEELS\",\n    \"ListingDate\": \"07-Apr-00\",\n    \"ISIN\": \"INE715A01015\",\n    \"MarketCap\": \"₹ 1,667 Cr.\",\n    \"CurrentPrice\": \"₹ 693\",\n    \"HighLow\": \"₹ 855 / 432\",\n    \"StockPE\": \"36.7\",\n    \"BookValue\": \"₹ 328\",\n    \"DividendYield\": \"0.99 %\",\n    \"ROCE\": \"10.8 %\",\n    \"ROE\": \"7.22 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Whirlpool of India Limited\",\n    \"Symbol\": \"WHIRLPOOL\",\n    \"ListingDate\": \"06-Apr-10\",\n    \"ISIN\": \"INE716A01013\",\n    \"MarketCap\": \"₹ 17,276 Cr.\",\n    \"CurrentPrice\": \"₹ 1,362\",\n    \"HighLow\": \"₹ 1,733 / 1,217\",\n    \"StockPE\": \"86.9\",\n    \"BookValue\": \"₹ 282\",\n    \"DividendYield\": \"0.37 %\",\n    \"ROCE\": \"8.43 %\",\n    \"ROE\": \"6.37 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Williamson Magor & Company Limited\",\n    \"Symbol\": \"WILLAMAGOR\",\n    \"ListingDate\": \"08-Feb-95\",\n    \"ISIN\": \"INE210A01017\",\n    \"MarketCap\": \"₹ 39.5 Cr.\",\n    \"CurrentPrice\": \"₹ 36.0\",\n    \"HighLow\": \"₹ 49.4 / 17.2\",\n    \"StockPE\": \"5.93\",\n    \"BookValue\": \"₹ -84.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-6.51 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Windlas Biotech Limited\",\n    \"Symbol\": \"WINDLAS\",\n    \"ListingDate\": \"16-Aug-21\",\n    \"ISIN\": \"INE0H5O01029\",\n    \"MarketCap\": \"₹ 896 Cr.\",\n    \"CurrentPrice\": \"₹ 431\",\n    \"HighLow\": \"₹ 467 / 221\",\n    \"StockPE\": \"19.1\",\n    \"BookValue\": \"₹ 200\",\n    \"DividendYield\": \"0.93 %\",\n    \"ROCE\": \"14.1 %\",\n    \"ROE\": \"10.5 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Windsor Machines Limited\",\n    \"Symbol\": \"WINDMACHIN\",\n    \"ListingDate\": \"17-Aug-11\",\n    \"ISIN\": \"INE052A01021\",\n    \"MarketCap\": \"₹ 552 Cr.\",\n    \"CurrentPrice\": \"₹ 85.0\",\n    \"HighLow\": \"₹ 105 / 34.6\",\n    \"StockPE\": \"79.1\",\n    \"BookValue\": \"₹ 42.1\",\n    \"DividendYield\": \"1.18 %\",\n    \"ROCE\": \"6.77 %\",\n    \"ROE\": \"1.65 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Winsome Yarns Limited\",\n    \"Symbol\": \"WINSOME\",\n    \"ListingDate\": \"25-Aug-11\",\n    \"ISIN\": \"INE784B01035\",\n    \"MarketCap\": \"₹ 24.0 Cr.\",\n    \"CurrentPrice\": \"₹ 3.40\",\n    \"HighLow\": \"₹ 9.00 / 3.25\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -57.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-16.3 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"The Western India Plywoods Limited\",\n    \"Symbol\": \"WIPL\",\n    \"ListingDate\": \"17-Apr-17\",\n    \"ISIN\": \"INE215F01023\",\n    \"MarketCap\": \"₹ 137 Cr.\",\n    \"CurrentPrice\": \"₹ 161\",\n    \"HighLow\": \"₹ 172 / 73.3\",\n    \"StockPE\": \"40.6\",\n    \"BookValue\": \"₹ 49.1\",\n    \"DividendYield\": \"0.63 %\",\n    \"ROCE\": \"11.4 %\",\n    \"ROE\": \"8.78 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Wipro Limited\",\n    \"Symbol\": \"WIPRO\",\n    \"ListingDate\": \"08-Nov-95\",\n    \"ISIN\": \"INE075A01022\",\n    \"MarketCap\": \"₹ 2,46,558 Cr.\",\n    \"CurrentPrice\": \"₹ 472\",\n    \"HighLow\": \"₹ 478 / 352\",\n    \"StockPE\": \"21.2\",\n    \"BookValue\": \"₹ 133\",\n    \"DividendYield\": \"0.21 %\",\n    \"ROCE\": \"17.7 %\",\n    \"ROE\": \"15.9 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Wockhardt Limited\",\n    \"Symbol\": \"WOCKPHARMA\",\n    \"ListingDate\": \"23-Feb-00\",\n    \"ISIN\": \"INE049B01025\",\n    \"MarketCap\": \"₹ 6,168 Cr.\",\n    \"CurrentPrice\": \"₹ 428\",\n    \"HighLow\": \"₹ 429 / 145\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 217\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-0.46 %\",\n    \"ROE\": \"-8.31 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Wonderla Holidays Limited\",\n    \"Symbol\": \"WONDERLA\",\n    \"ListingDate\": \"09-May-14\",\n    \"ISIN\": \"INE066O01014\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Worth Peripherals Limited\",\n    \"Symbol\": \"WORTH\",\n    \"ListingDate\": \"04-Aug-20\",\n    \"ISIN\": \"INE196Y01018\",\n    \"MarketCap\": \"₹ 173 Cr.\",\n    \"CurrentPrice\": \"₹ 110\",\n    \"HighLow\": \"₹ 125 / 84.2\",\n    \"StockPE\": \"11.3\",\n    \"BookValue\": \"₹ 94.8\",\n    \"DividendYield\": \"0.91 %\",\n    \"ROCE\": \"19.0 %\",\n    \"ROE\": \"13.5 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"W S Industries (I) Limited\",\n    \"Symbol\": \"WSI\",\n    \"ListingDate\": \"01-Aug-07\",\n    \"ISIN\": \"INE100D01014\",\n    \"MarketCap\": \"₹ 534 Cr.\",\n    \"CurrentPrice\": \"₹ 114\",\n    \"HighLow\": \"₹ 141 / 15.8\",\n    \"StockPE\": \"31.7\",\n    \"BookValue\": \"₹ 20.6\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"1.22 %\",\n    \"ROE\": \"63.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"West Coast Paper Mills Limited\",\n    \"Symbol\": \"WSTCSTPAPR\",\n    \"ListingDate\": \"17-Jan-01\",\n    \"ISIN\": \"INE976A01021\",\n    \"MarketCap\": \"₹ 4,821 Cr.\",\n    \"CurrentPrice\": \"₹ 730\",\n    \"HighLow\": \"₹ 780 / 465\",\n    \"StockPE\": \"4.89\",\n    \"BookValue\": \"₹ 448\",\n    \"DividendYield\": \"1.37 %\",\n    \"ROCE\": \"52.9 %\",\n    \"ROE\": \"44.8 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Xchanging Solutions Limited\",\n    \"Symbol\": \"XCHANGING\",\n    \"ListingDate\": \"09-Mar-05\",\n    \"ISIN\": \"INE692G01013\",\n    \"MarketCap\": \"₹ 1,214 Cr.\",\n    \"CurrentPrice\": \"₹ 109\",\n    \"HighLow\": \"₹ 126 / 51.6\",\n    \"StockPE\": \"53.2\",\n    \"BookValue\": \"₹ 46.0\",\n    \"DividendYield\": \"13.8 %\",\n    \"ROCE\": \"9.23 %\",\n    \"ROE\": \"6.96 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Xelpmoc Design And Tech Limited\",\n    \"Symbol\": \"XELPMOC\",\n    \"ListingDate\": \"04-Feb-19\",\n    \"ISIN\": \"INE01P501012\",\n    \"MarketCap\": \"₹ 166 Cr.\",\n    \"CurrentPrice\": \"₹ 113\",\n    \"HighLow\": \"₹ 168 / 71.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 47.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-20.9 %\",\n    \"ROE\": \"-21.3 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Xpro India Limited\",\n    \"Symbol\": \"XPROINDIA\",\n    \"ListingDate\": \"27-Apr-04\",\n    \"ISIN\": \"INE445C01015\",\n    \"MarketCap\": \"₹ 2,150 Cr.\",\n    \"CurrentPrice\": \"₹ 1,040\",\n    \"HighLow\": \"₹ 1,228 / 520\",\n    \"StockPE\": \"68.2\",\n    \"BookValue\": \"₹ 166\",\n    \"DividendYield\": \"0.19 %\",\n    \"ROCE\": \"28.4 %\",\n    \"ROE\": \"26.6 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Yaari Digital Integrated Services Limited\",\n    \"Symbol\": \"YAARI\",\n    \"ListingDate\": \"18-Aug-11\",\n    \"ISIN\": \"INE126M01010\",\n    \"MarketCap\": \"₹ 107 Cr.\",\n    \"CurrentPrice\": \"₹ 10.6\",\n    \"HighLow\": \"₹ 21.2 / 9.35\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -22.0\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"174 %\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Yasho Industries Limited\",\n    \"Symbol\": \"YASHO\",\n    \"ListingDate\": \"21-Aug-23\",\n    \"ISIN\": \"INE616Z01012\",\n    \"MarketCap\": \"₹ 1,858 Cr.\",\n    \"CurrentPrice\": \"₹ 1,630\",\n    \"HighLow\": \"₹ 1,905 / 1,172\",\n    \"StockPE\": \"35.3\",\n    \"BookValue\": \"₹ 231\",\n    \"DividendYield\": \"0.03 %\",\n    \"ROCE\": \"23.2 %\",\n    \"ROE\": \"33.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Yatharth Hospital & Trauma Care Services Limited\",\n    \"Symbol\": \"YATHARTH\",\n    \"ListingDate\": \"07-Aug-23\",\n    \"ISIN\": \"INE0JO301016\",\n    \"MarketCap\": \"₹ 3,245 Cr.\",\n    \"CurrentPrice\": \"₹ 378\",\n    \"HighLow\": \"₹ 442 / 304\",\n    \"StockPE\": \"49.3\",\n    \"BookValue\": \"₹ 93.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"26.6 %\",\n    \"ROE\": \"43.9 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Yatra Online Limited\",\n    \"Symbol\": \"YATRA\",\n    \"ListingDate\": \"28-Sep-23\",\n    \"ISIN\": \"INE0JR601024\",\n    \"MarketCap\": \"₹ 2,291 Cr.\",\n    \"CurrentPrice\": \"₹ 146\",\n    \"HighLow\": \"₹ 158 / 124\",\n    \"StockPE\": \"307\",\n    \"BookValue\": \"₹ 47.2\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"13.8 %\",\n    \"ROE\": \"5.52 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Yes Bank Limited\",\n    \"Symbol\": \"YESBANK\",\n    \"ListingDate\": \"12-Jul-05\",\n    \"ISIN\": \"INE528G01035\",\n    \"MarketCap\": \"₹ 60,572 Cr.\",\n    \"CurrentPrice\": \"₹ 21.1\",\n    \"HighLow\": \"₹ 23.0 / 14.1\",\n    \"StockPE\": \"72.4\",\n    \"BookValue\": \"₹ 13.8\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"4.94 %\",\n    \"ROE\": \"1.99 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Yuken India Limited\",\n    \"Symbol\": \"YUKEN\",\n    \"ListingDate\": \"02-Sep-21\",\n    \"ISIN\": \"INE384C01016\",\n    \"MarketCap\": \"₹ 911 Cr.\",\n    \"CurrentPrice\": \"₹ 701\",\n    \"HighLow\": \"₹ 824 / 446\",\n    \"StockPE\": \"123\",\n    \"BookValue\": \"₹ 206\",\n    \"DividendYield\": \"0.11 %\",\n    \"ROCE\": \"7.50 %\",\n    \"ROE\": \"4.15 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Zaggle Prepaid Ocean Services Limited\",\n    \"Symbol\": \"ZAGGLE\",\n    \"ListingDate\": \"22-Sep-23\",\n    \"ISIN\": \"INE07K301024\",\n    \"MarketCap\": \"₹ 2,626 Cr.\",\n    \"CurrentPrice\": \"₹ 215\",\n    \"HighLow\": \"₹ 266 / 155\",\n    \"StockPE\": \"115\",\n    \"BookValue\": \"₹ 43.5\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Zee Entertainment Enterprises Limited\",\n    \"Symbol\": \"ZEEL\",\n    \"ListingDate\": \"09-Sep-98\",\n    \"ISIN\": \"INE256A01028\",\n    \"MarketCap\": \"₹ 26,121 Cr.\",\n    \"CurrentPrice\": \"₹ 272\",\n    \"HighLow\": \"₹ 300 / 170\",\n    \"StockPE\": \"107\",\n    \"BookValue\": \"₹ 112\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"7.94 %\",\n    \"ROE\": \"0.35 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Zee Learn Limited\",\n    \"Symbol\": \"ZEELEARN\",\n    \"ListingDate\": \"20-Dec-10\",\n    \"ISIN\": \"INE565L01011\",\n    \"MarketCap\": \"₹ 215 Cr.\",\n    \"CurrentPrice\": \"₹ 6.58\",\n    \"HighLow\": \"₹ 7.99 / 2.67\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 0.36\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"2.37 %\",\n    \"ROE\": \"-18.7 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Zee Media Corporation Limited\",\n    \"Symbol\": \"ZEEMEDIA\",\n    \"ListingDate\": \"10-Jan-07\",\n    \"ISIN\": \"INE966H01019\",\n    \"MarketCap\": \"₹ 946 Cr.\",\n    \"CurrentPrice\": \"₹ 15.1\",\n    \"HighLow\": \"₹ 18.3 / 7.35\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 5.29\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-1.91 %\",\n    \"ROE\": \"-10.6 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Zenith Exports Limited\",\n    \"Symbol\": \"ZENITHEXPO\",\n    \"ListingDate\": \"10-Jul-96\",\n    \"ISIN\": \"INE058B01018\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Zenith Steel Pipes & Industries Limited\",\n    \"Symbol\": \"ZENITHSTL\",\n    \"ListingDate\": \"30-Apr-07\",\n    \"ISIN\": \"INE318D01020\",\n    \"MarketCap\": \"₹ 112 Cr.\",\n    \"CurrentPrice\": \"₹ 7.88\",\n    \"HighLow\": \"₹ 7.95 / 3.20\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ -18.7\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Zensar Technologies Limited\",\n    \"Symbol\": \"ZENSARTECH\",\n    \"ListingDate\": \"09-Jul-03\",\n    \"ISIN\": \"INE520A01027\",\n    \"MarketCap\": \"₹ 13,843 Cr.\",\n    \"CurrentPrice\": \"₹ 611\",\n    \"HighLow\": \"₹ 644 / 205\",\n    \"StockPE\": \"26.4\",\n    \"BookValue\": \"₹ 144\",\n    \"DividendYield\": \"0.82 %\",\n    \"ROCE\": \"14.5 %\",\n    \"ROE\": \"11.2 %\",\n    \"FaceValue\": \"₹ 2.00\"\n  },\n  {\n    \"Name\": \"Zen Technologies Limited\",\n    \"Symbol\": \"ZENTEC\",\n    \"ListingDate\": \"30-Mar-15\",\n    \"ISIN\": \"INE251B01027\",\n    \"MarketCap\": \"₹ 6,698 Cr.\",\n    \"CurrentPrice\": \"₹ 797\",\n    \"HighLow\": \"₹ 913 / 184\",\n    \"StockPE\": \"75.1\",\n    \"BookValue\": \"₹ 45.2\",\n    \"DividendYield\": \"0.02 %\",\n    \"ROCE\": \"23.2 %\",\n    \"ROE\": \"14.0 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"ZF Commercial Vehicle Control Systems India Limited\",\n    \"Symbol\": \"ZFCVINDIA\",\n    \"ListingDate\": \"01-Oct-08\",\n    \"ISIN\": \"INE342J01019\",\n    \"MarketCap\": \"₹ 29,938 Cr.\",\n    \"CurrentPrice\": \"₹ 15,790\",\n    \"HighLow\": \"₹ 16,965 / 8,755\",\n    \"StockPE\": \"76.4\",\n    \"BookValue\": \"₹ 1,366\",\n    \"DividendYield\": \"0.08 %\",\n    \"ROCE\": \"18.9 %\",\n    \"ROE\": \"13.9 %\",\n    \"FaceValue\": \"₹ 5.00\"\n  },\n  {\n    \"Name\": \"Zim Laboratories Limited\",\n    \"Symbol\": \"ZIMLAB\",\n    \"ListingDate\": \"25-Nov-22\",\n    \"ISIN\": \"INE518E01015\",\n    \"MarketCap\": \"₹ 565 Cr.\",\n    \"CurrentPrice\": \"₹ 116\",\n    \"HighLow\": \"₹ 153 / 67.4\",\n    \"StockPE\": \"31.0\",\n    \"BookValue\": \"₹ 46.4\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"16.6 %\",\n    \"ROE\": \"13.0 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Zodiac Energy Limited\",\n    \"Symbol\": \"ZODIAC\",\n    \"ListingDate\": \"14-Dec-21\",\n    \"ISIN\": \"INE761Y01019\",\n    \"MarketCap\": \"₹ Cr.\",\n    \"CurrentPrice\": \"₹\",\n    \"HighLow\": \"₹ /\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹\",\n    \"DividendYield\": \"%\",\n    \"ROCE\": \"%\",\n    \"ROE\": \"%\",\n    \"FaceValue\": \"₹\"\n  },\n  {\n    \"Name\": \"Zodiac Clothing Company Limited\",\n    \"Symbol\": \"ZODIACLOTH\",\n    \"ListingDate\": \"27-Sep-95\",\n    \"ISIN\": \"INE206B01013\",\n    \"MarketCap\": \"₹ 328 Cr.\",\n    \"CurrentPrice\": \"₹ 126\",\n    \"HighLow\": \"₹ 151 / 79.0\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 101\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-4.27 %\",\n    \"ROE\": \"-8.34 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Zomato Limited\",\n    \"Symbol\": \"ZOMATO\",\n    \"ListingDate\": \"23-Jul-21\",\n    \"ISIN\": \"INE758T01015\",\n    \"MarketCap\": \"₹ 1,07,972 Cr.\",\n    \"CurrentPrice\": \"₹ 124\",\n    \"HighLow\": \"₹ 132 / 44.4\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 22.9\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"-5.79 %\",\n    \"ROE\": \"-5.91 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Zota Health Care LImited\",\n    \"Symbol\": \"ZOTA\",\n    \"ListingDate\": \"19-Aug-19\",\n    \"ISIN\": \"INE358U01012\",\n    \"MarketCap\": \"₹ 1,233 Cr.\",\n    \"CurrentPrice\": \"₹ 477\",\n    \"HighLow\": \"₹ 533 / 270\",\n    \"StockPE\": \"\",\n    \"BookValue\": \"₹ 39.5\",\n    \"DividendYield\": \"0.21 %\",\n    \"ROCE\": \"-2.32 %\",\n    \"ROE\": \"-7.42 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Zuari Agro Chemicals Limited\",\n    \"Symbol\": \"ZUARI\",\n    \"ListingDate\": \"27-Nov-12\",\n    \"ISIN\": \"INE840M01016\",\n    \"MarketCap\": \"₹ 785 Cr.\",\n    \"CurrentPrice\": \"₹ 187\",\n    \"HighLow\": \"₹ 198 / 116\",\n    \"StockPE\": \"2.13\",\n    \"BookValue\": \"₹ 379\",\n    \"DividendYield\": \"0.00 %\",\n    \"ROCE\": \"10.2 %\",\n    \"ROE\": \"12.8 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"ZUARI INDUSTRIES LIMITED\",\n    \"Symbol\": \"ZUARIIND\",\n    \"ListingDate\": \"12-Apr-95\",\n    \"ISIN\": \"INE217A01012\",\n    \"MarketCap\": \"₹ 590 Cr.\",\n    \"CurrentPrice\": \"₹ 198\",\n    \"HighLow\": \"₹ 218 / 104\",\n    \"StockPE\": \"36.0\",\n    \"BookValue\": \"₹ 861\",\n    \"DividendYield\": \"0.50 %\",\n    \"ROCE\": \"10.7 %\",\n    \"ROE\": \"11.4 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  },\n  {\n    \"Name\": \"Zydus Lifesciences Limited\",\n    \"Symbol\": \"ZYDUSLIFE\",\n    \"ListingDate\": \"18-Apr-00\",\n    \"ISIN\": \"INE010B01027\",\n    \"MarketCap\": \"₹ 69,361 Cr.\",\n    \"CurrentPrice\": \"₹ 685\",\n    \"HighLow\": \"₹ 697 / 413\",\n    \"StockPE\": \"22.2\",\n    \"BookValue\": \"₹ 185\",\n    \"DividendYield\": \"0.86 %\",\n    \"ROCE\": \"15.0 %\",\n    \"ROE\": \"13.7 %\",\n    \"FaceValue\": \"₹ 1.00\"\n  },\n  {\n    \"Name\": \"Zydus Wellness Limited\",\n    \"Symbol\": \"ZYDUSWELL\",\n    \"ListingDate\": \"13-Nov-09\",\n    \"ISIN\": \"INE768C01010\",\n    \"MarketCap\": \"₹ 10,628 Cr.\",\n    \"CurrentPrice\": \"₹ 1,670\",\n    \"HighLow\": \"₹ 1,694 / 1,364\",\n    \"StockPE\": \"35.2\",\n    \"BookValue\": \"₹ 818\",\n    \"DividendYield\": \"0.30 %\",\n    \"ROCE\": \"5.93 %\",\n    \"ROE\": \"6.40 %\",\n    \"FaceValue\": \"₹ 10.0\"\n  }\n]\n"
  },
  {
    "path": "src/json/quotes.json",
    "content": "[\n  {\n    \"author\": \"Charles Dickens\",\n    \"content\": \"Subdue your appetites, my dears, and you've conquered human nature.\",\n    \"tags\": [],\n    \"authorSlug\": \"charles-dickens\",\n    \"length\": 67,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 1\n  },\n  {\n    \"author\": \"Charles Dickens\",\n    \"content\": \"No one is useless in this world who lightens the burdens of another.\",\n    \"tags\": [\"Generosity\"],\n    \"authorSlug\": \"charles-dickens\",\n    \"length\": 68,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 2\n  },\n  {\n    \"author\": \"Thomas Edison\",\n    \"content\": \"Opportunity is missed by most people because it is dressed in overalls and looks like work.\",\n    \"tags\": [\"Opportunity\", \"Work\"],\n    \"authorSlug\": \"thomas-edison\",\n    \"length\": 91,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 3\n  },\n  {\n    \"author\": \"Thomas Edison\",\n    \"content\": \"Hell, there are no rules here-- we're trying to accomplish something.\",\n    \"tags\": [],\n    \"authorSlug\": \"thomas-edison\",\n    \"length\": 69,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 4\n  },\n  {\n    \"author\": \"Thomas Edison\",\n    \"content\": \"If we all did the things we are capable of doing, we would literally astound ourselves.\",\n    \"tags\": [\"Inspirational\", \"Motivational\"],\n    \"authorSlug\": \"thomas-edison\",\n    \"length\": 87,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 5\n  },\n  {\n    \"author\": \"Thomas Edison\",\n    \"content\": \"Genius is one per cent inspiration, ninety-nine per cent perspiration.\",\n    \"tags\": [\"Work\", \"Genius\", \"Inspirational\", \"Motivational\"],\n    \"authorSlug\": \"thomas-edison\",\n    \"length\": 70,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 6\n  },\n  {\n    \"author\": \"Charles Dickens\",\n    \"content\": \"Train up a fig tree in the way it should go, and when you are old sit under the shade of it.\",\n    \"tags\": [\"Age\", \"Wisdom\"],\n    \"authorSlug\": \"charles-dickens\",\n    \"length\": 92,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 7\n  },\n  {\n    \"author\": \"Charles Dickens\",\n    \"content\": \"I do not know the American gentleman, god forgive me for putting two such words together.\",\n    \"tags\": [\"Humorous\"],\n    \"authorSlug\": \"charles-dickens\",\n    \"length\": 89,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 8\n  },\n  {\n    \"author\": \"Thomas Edison\",\n    \"content\": \"To invent, you need a good imagination and a pile of junk.\",\n    \"tags\": [\"Imagination\", \"Creativity\", \"Science\", \"Technology\"],\n    \"authorSlug\": \"thomas-edison\",\n    \"length\": 58,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 9\n  },\n  {\n    \"author\": \"Thomas Edison\",\n    \"content\": \"If I find 10,000 ways something won't work, I haven't failed. I am not discouraged, because every wrong attempt discarded is another step forward.\",\n    \"tags\": [\"Perseverance\", \"Success\", \"Inspirational\", \"Motivational\"],\n    \"authorSlug\": \"thomas-edison\",\n    \"length\": 146,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 10\n  },\n  {\n    \"author\": \"Thomas Edison\",\n    \"content\": \"I never did a day's work in my life.  It was all fun.\",\n    \"tags\": [\"Humorous\"],\n    \"authorSlug\": \"thomas-edison\",\n    \"length\": 53,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 11\n  },\n  {\n    \"author\": \"Thomas Edison\",\n    \"content\": \"Results! Why, man, I have gotten a lot of results. I know several thousand things that won't work.\",\n    \"tags\": [\"Success\", \"Failure\", \"Perseverance\"],\n    \"authorSlug\": \"thomas-edison\",\n    \"length\": 98,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 12\n  },\n  {\n    \"author\": \"Charles Dickens\",\n    \"content\": \"Minds, like bodies, will often fall into a pimpled, ill-conditioned state from mere excess of comfort.\",\n    \"tags\": [\"Weakness\"],\n    \"authorSlug\": \"charles-dickens\",\n    \"length\": 102,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 13\n  },\n  {\n    \"author\": \"Thomas Edison\",\n    \"content\": \"The doctor of the future will give no medicine, but will interest her or his patients in the care of the human frame, in a proper diet, and in the cause and prevention of disease.\",\n    \"tags\": [\"Health\", \"Wellness\"],\n    \"authorSlug\": \"thomas-edison\",\n    \"length\": 179,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 14\n  },\n  {\n    \"author\": \"Thomas Edison\",\n    \"content\": \"We don't know a millionth of one percent about anything.\",\n    \"tags\": [\"Knowledge\"],\n    \"authorSlug\": \"thomas-edison\",\n    \"length\": 56,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 15\n  },\n  {\n    \"author\": \"Thomas Edison\",\n    \"content\": \"Everything comes to him who hustles while he waits.\",\n    \"tags\": [\"Success\", \"Motivational\"],\n    \"authorSlug\": \"thomas-edison\",\n    \"length\": 51,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 16\n  },\n  {\n    \"author\": \"Charles Dickens\",\n    \"content\": \"Reflect on your present blessings, of which every man has many; not on your past misfortunes, of which all men have some.\",\n    \"tags\": [\"Gratitude\"],\n    \"authorSlug\": \"charles-dickens\",\n    \"length\": 121,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 17\n  },\n  {\n    \"author\": \"Thomas Edison\",\n    \"content\": \"I never did anything worth doing by accident, nor did any of my inventions come by accident\",\n    \"tags\": [\"Success\", \"Science\"],\n    \"authorSlug\": \"thomas-edison\",\n    \"length\": 91,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 18\n  },\n  {\n    \"author\": \"Charles Dickens\",\n    \"content\": \"We need never be ashamed of our tears.\",\n    \"tags\": [\"Sadness\"],\n    \"authorSlug\": \"charles-dickens\",\n    \"length\": 38,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 19\n  },\n  {\n    \"author\": \"Thomas Edison\",\n    \"content\": \"As a cure for worrying, work is better than whisky.\",\n    \"tags\": [\"Humorous\"],\n    \"authorSlug\": \"thomas-edison\",\n    \"length\": 51,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 20\n  },\n  {\n    \"author\": \"Thomas Edison\",\n    \"content\": \"There is no expedient to which a man will not go to avoid the labor of thinking.\",\n    \"tags\": [\"Work\"],\n    \"authorSlug\": \"thomas-edison\",\n    \"length\": 80,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 21\n  },\n  {\n    \"author\": \"Thomas Edison\",\n    \"content\": \"Faith, as well intentioned as it may be, must be built on facts, not fiction--faith in fiction is a damnable false hope.\",\n    \"tags\": [\"Religion\"],\n    \"authorSlug\": \"thomas-edison\",\n    \"length\": 120,\n    \"dateAdded\": \"2023-04-14\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 22\n  },\n  {\n    \"author\": \"Albert Einstein\",\n    \"content\": \"Gravitation cannot be held responsible for people falling in love. How on earth can you explain in terms of chemistry and physics so important a biological phenomenon as first love? Put your hand on a stove for a minute and it seems like an hour. Sit with that special girl for an hour and it seems like a minute. That's relativity.\",\n    \"tags\": [\"Love\", \"Science\"],\n    \"authorSlug\": \"albert-einstein\",\n    \"length\": 332,\n    \"dateAdded\": \"2023-04-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 23\n  },\n  {\n    \"author\": \"Albert Einstein\",\n    \"content\": \"Perfection of means and confusion of ends seems to characterize our age.\",\n    \"tags\": [\"Humorous\"],\n    \"authorSlug\": \"albert-einstein\",\n    \"length\": 72,\n    \"dateAdded\": \"2023-04-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 24\n  },\n  {\n    \"author\": \"Albert Einstein\",\n    \"content\": \"I know not with what weapons World War III will be fought, but World War IV will be fought with sticks and stones.\",\n    \"tags\": [\"History\", \"War\"],\n    \"authorSlug\": \"albert-einstein\",\n    \"length\": 114,\n    \"dateAdded\": \"2023-04-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 25\n  },\n  {\n    \"author\": \"Albert Einstein\",\n    \"content\": \"Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.\",\n    \"tags\": [\"Stupidity\"],\n    \"authorSlug\": \"albert-einstein\",\n    \"length\": 98,\n    \"dateAdded\": \"2023-04-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 26\n  },\n  {\n    \"author\": \"Albert Einstein\",\n    \"content\": \"If I had only known, I would have been a locksmith.\",\n    \"tags\": [\"Humorous\"],\n    \"authorSlug\": \"albert-einstein\",\n    \"length\": 51,\n    \"dateAdded\": \"2023-04-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 27\n  },\n  {\n    \"author\": \"Albert Einstein\",\n    \"content\": \"It is the supreme art of the teacher to awaken joy in creative expression and knowledge.\",\n    \"tags\": [\"Knowledge\", \"Education\"],\n    \"authorSlug\": \"albert-einstein\",\n    \"length\": 88,\n    \"dateAdded\": \"2023-04-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 28\n  },\n  {\n    \"author\": \"Albert Einstein\",\n    \"content\": \"Do not worry about your difficulties in Mathematics. I can assure you mine are still greater.\",\n    \"tags\": [\"Mathematics\", \"Education\", \"Science\"],\n    \"authorSlug\": \"albert-einstein\",\n    \"length\": 93,\n    \"dateAdded\": \"2023-04-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 29\n  },\n  {\n    \"author\": \"Albert Einstein\",\n    \"content\": \"It is a miracle that curiosity survives formal education.\",\n    \"tags\": [\"Education\"],\n    \"authorSlug\": \"albert-einstein\",\n    \"length\": 57,\n    \"dateAdded\": \"2023-04-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 30\n  },\n  {\n    \"author\": \"Albert Einstein\",\n    \"content\": \"Laws alone can not secure freedom of expression; in order that every man present his views without penalty there must be spirit of tolerance in the entire population.\",\n    \"tags\": [\"Freedom\", \"Tolerance\"],\n    \"authorSlug\": \"albert-einstein\",\n    \"length\": 166,\n    \"dateAdded\": \"2023-04-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 31\n  },\n  {\n    \"author\": \"Albert Einstein\",\n    \"content\": \"Few people are capable of expressing with equanimity opinions which differ from the prejudices of their social environment. Most people are even incapable of forming such opinions.\",\n    \"tags\": [\"Society\"],\n    \"authorSlug\": \"albert-einstein\",\n    \"length\": 180,\n    \"dateAdded\": \"2023-04-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 32\n  },\n  {\n    \"author\": \"Albert Einstein\",\n    \"content\": \"I never think of the future - it comes soon enough.\",\n    \"tags\": [\"Future\"],\n    \"authorSlug\": \"albert-einstein\",\n    \"length\": 51,\n    \"dateAdded\": \"2023-04-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 33\n  },\n  {\n    \"author\": \"Albert Einstein\",\n    \"content\": \"Before God we are all equally wise - and equally foolish.\",\n    \"tags\": [\"Religion\"],\n    \"authorSlug\": \"albert-einstein\",\n    \"length\": 57,\n    \"dateAdded\": \"2023-04-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 34\n  },\n  {\n    \"author\": \"Albert Einstein\",\n    \"content\": \"Ethical axioms are found and tested not very differently from the axioms of science. Truth is what stands the test of experience.\",\n    \"tags\": [\"Education\", \"Science\", \"Ethics\"],\n    \"authorSlug\": \"albert-einstein\",\n    \"length\": 129,\n    \"dateAdded\": \"2023-04-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 35\n  },\n  {\n    \"author\": \"Albert Einstein\",\n    \"content\": \"If you are out to describe the truth, leave elegance to the tailor.\",\n    \"tags\": [\"Truth\"],\n    \"authorSlug\": \"albert-einstein\",\n    \"length\": 67,\n    \"dateAdded\": \"2023-04-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 36\n  },\n  {\n    \"author\": \"Albert Einstein\",\n    \"content\": \"Imagination is more important than knowledge...\",\n    \"tags\": [\"Imagination\", \"Knowledge\"],\n    \"authorSlug\": \"albert-einstein\",\n    \"length\": 47,\n    \"dateAdded\": \"2023-04-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 37\n  },\n  {\n    \"author\": \"Albert Einstein\",\n    \"content\": \"Every day I remind myself that my inner and outer life are based on the labors of other men, living and dead, and that I must exert myself in order to give in the same measure as I have received and am still receiving.\",\n    \"tags\": [\"History\", \"Science\"],\n    \"authorSlug\": \"albert-einstein\",\n    \"length\": 218,\n    \"dateAdded\": \"2023-04-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 38\n  },\n  {\n    \"author\": \"Albert Einstein\",\n    \"content\": \"My religion consists of a humble admiration of the illimitable superior spirit who reveals himself in the slight details we are able to perceive with our frail and feeble mind.\",\n    \"tags\": [\"Religion\"],\n    \"authorSlug\": \"albert-einstein\",\n    \"length\": 176,\n    \"dateAdded\": \"2023-04-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 39\n  },\n  {\n    \"author\": \"Albert Einstein\",\n    \"content\": \"The ideals which have lighted my way, and time after time have given me new courage to face life cheerfully, have been Kindness, Beauty, and Truth. The trite subjects of human efforts, possessions, outward success, luxury have always seemed to me contemptible.\",\n    \"tags\": [\"Success\"],\n    \"authorSlug\": \"albert-einstein\",\n    \"length\": 260,\n    \"dateAdded\": \"2023-04-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 40\n  },\n  {\n    \"author\": \"Albert Einstein\",\n    \"content\": \"I never teach my pupils. I only attempt to provide the conditions in which they can learn.\",\n    \"tags\": [\"Education\", \"Science\"],\n    \"authorSlug\": \"albert-einstein\",\n    \"length\": 90,\n    \"dateAdded\": \"2023-04-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 41\n  },\n  {\n    \"author\": \"Albert Einstein\",\n    \"content\": \"Reading, after a certain age, diverts the mind too much from its creative pursuits. Any man who reads too much and uses his own brain too little falls into lazy habits of thinking.\",\n    \"tags\": [\"Education\"],\n    \"authorSlug\": \"albert-einstein\",\n    \"length\": 180,\n    \"dateAdded\": \"2023-04-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 42\n  },\n  {\n    \"author\": \"Warren Buffett\",\n    \"content\": \"I don't look to jump over 7-foot bars; I look around for 1-foot bars that I can step over.\",\n    \"tags\": [],\n    \"authorSlug\": \"warren-buffett\",\n    \"length\": 90,\n    \"dateAdded\": \"2023-04-03\",\n    \"dateModified\": \"2023-04-03\",\n    \"id\": 43\n  },\n  {\n    \"author\": \"Warren Buffett\",\n    \"content\": \"If you have a harem of 40 women, you never get to know any of them very well.\",\n    \"tags\": [],\n    \"authorSlug\": \"warren-buffett\",\n    \"length\": 77,\n    \"dateAdded\": \"2023-04-03\",\n    \"dateModified\": \"2023-04-03\",\n    \"id\": 44\n  },\n  {\n    \"author\": \"Aesop\",\n    \"content\": \"Beware lest you lose the substance by grasping at the shadow.\",\n    \"tags\": [\"Wisdom\", \"Philosophy\"],\n    \"authorSlug\": \"aesop\",\n    \"length\": 61,\n    \"dateAdded\": \"2023-04-03\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 45\n  },\n  {\n    \"author\": \"Aesop\",\n    \"content\": \"The smaller the mind the greater the conceit.\",\n    \"tags\": [],\n    \"authorSlug\": \"aesop\",\n    \"length\": 45,\n    \"dateAdded\": \"2023-04-03\",\n    \"dateModified\": \"2023-04-03\",\n    \"id\": 46\n  },\n  {\n    \"author\": \"Aesop\",\n    \"content\": \"Be content with your lot; one cannot be first in everything.\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"aesop\",\n    \"length\": 60,\n    \"dateAdded\": \"2023-04-03\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 47\n  },\n  {\n    \"author\": \"Warren Buffett\",\n    \"content\": \"Price is what you pay. Value is what you get.\",\n    \"tags\": [],\n    \"authorSlug\": \"warren-buffett\",\n    \"length\": 45,\n    \"dateAdded\": \"2023-04-03\",\n    \"dateModified\": \"2023-04-03\",\n    \"id\": 48\n  },\n  {\n    \"author\": \"Aesop\",\n    \"content\": \"Persuasion is often more effectual than force.\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"aesop\",\n    \"length\": 46,\n    \"dateAdded\": \"2023-04-03\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 49\n  },\n  {\n    \"author\": \"Aesop\",\n    \"content\": \"Injuries may be forgiven, but not forgotten.\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"aesop\",\n    \"length\": 44,\n    \"dateAdded\": \"2023-04-03\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 50\n  },\n  {\n    \"author\": \"Warren Buffett\",\n    \"content\": \"The only time to buy these is on a day with no 'y' in it.\",\n    \"tags\": [],\n    \"authorSlug\": \"warren-buffett\",\n    \"length\": 57,\n    \"dateAdded\": \"2023-04-03\",\n    \"dateModified\": \"2023-04-03\",\n    \"id\": 51\n  },\n  {\n    \"author\": \"Warren Buffett\",\n    \"content\": \"Most people get interested in stocks when everyone else is. The time to get interested is when no one else is. You can't buy what is popular and do well.\",\n    \"tags\": [],\n    \"authorSlug\": \"warren-buffett\",\n    \"length\": 153,\n    \"dateAdded\": \"2023-04-03\",\n    \"dateModified\": \"2023-04-03\",\n    \"id\": 52\n  },\n  {\n    \"author\": \"Warren Buffett\",\n    \"content\": \"I won't close down a business of subnormal profitability merely to add a fraction of a point to our corporate returns. I also feel it inappropriate for even an exceptionally profitable company to fund an operation once it appears to have unending losses in prospect. Adam Smith would disagree with my first proposition and Karl Marx would disagree with my second; the middle ground is the only position that leaves me comfortable.\",\n    \"tags\": [],\n    \"authorSlug\": \"warren-buffett\",\n    \"length\": 430,\n    \"dateAdded\": \"2023-04-03\",\n    \"dateModified\": \"2023-04-03\",\n    \"id\": 53\n  },\n  {\n    \"author\": \"Warren Buffett\",\n    \"content\": \"In the business world, the rearview mirror is always clearer than the windshield.\",\n    \"tags\": [],\n    \"authorSlug\": \"warren-buffett\",\n    \"length\": 81,\n    \"dateAdded\": \"2023-04-03\",\n    \"dateModified\": \"2023-04-03\",\n    \"id\": 54\n  },\n  {\n    \"author\": \"Warren Buffett\",\n    \"content\": \"It's only when the tide goes out that you discover who's been swimming naked.\",\n    \"tags\": [],\n    \"authorSlug\": \"warren-buffett\",\n    \"length\": 77,\n    \"dateAdded\": \"2023-04-03\",\n    \"dateModified\": \"2023-04-03\",\n    \"id\": 55\n  },\n  {\n    \"author\": \"Aesop\",\n    \"content\": \"It is easy to be brave from a safe distance.\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"aesop\",\n    \"length\": 44,\n    \"dateAdded\": \"2023-04-03\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 56\n  },\n  {\n    \"author\": \"Aesop\",\n    \"content\": \"It is with our passions, as it is with fire and water, they are good servants but bad masters.\",\n    \"tags\": [\"Wisdom\", \"Love\"],\n    \"authorSlug\": \"aesop\",\n    \"length\": 94,\n    \"dateAdded\": \"2023-04-03\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 57\n  },\n  {\n    \"author\": \"Aesop\",\n    \"content\": \"Better be wise by the misfortunes of others than by your own.\",\n    \"tags\": [\"Wisdom\", \"Philosophy\"],\n    \"authorSlug\": \"aesop\",\n    \"length\": 61,\n    \"dateAdded\": \"2023-04-03\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 58\n  },\n  {\n    \"author\": \"Warren Buffett\",\n    \"content\": \"I violated the Noah rule: Predicting rain doesn't count; building arks does.\",\n    \"tags\": [],\n    \"authorSlug\": \"warren-buffett\",\n    \"length\": 76,\n    \"dateAdded\": \"2023-04-03\",\n    \"dateModified\": \"2023-04-03\",\n    \"id\": 59\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Should a person do good, let him do it again and again. Let him find pleasure therein, for blissful is the accumulation of good.\",\n    \"tags\": [\"Wisdom\", \"Character\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 128,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 60\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"'As I am, so are these. As are these, so am I.' Drawing the parallel to yourself, neither kill nor get others to kill.\",\n    \"tags\": [\"Wisdom\", \"Virtue\", \"Honor\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 118,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 61\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Purity and impurity depend on oneself; no one can purify another.\",\n    \"tags\": [\"Wisdom\", \"Self\", \"Self Help\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 65,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 62\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Ceasing to do evil, Cultivating the good, Purifying the heart: This is the teaching of the Buddhas.\",\n    \"tags\": [\"Wisdom\", \"Virtue\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 99,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 63\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"It's a good thing to be satisfied with what one has.\",\n    \"tags\": [\"Wisdom\", \"Self Help\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 52,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 64\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"If a man going down into a river, swollen and swiftly flowing, is carried away by the current — how can he help others across? – The Buddha\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 139,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 65\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"You yourself must strive. The Buddhas only point the way.\",\n    \"tags\": [\"Wisdom\", \"Motivational\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 57,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 66\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"As a water bead on a lotus leaf, as water on a red lily, does not adhere, so the sage does not adhere to the seen, the heard, or the sensed.\",\n    \"tags\": [\"Wisdom\", \"Philosophy\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 140,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 67\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"One is not called noble who harms living beings. By not harming living beings one is called noble.\",\n    \"tags\": [\"Wisdom\", \"Virtue\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 98,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 68\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"All tremble at violence; all fear death. Putting oneself in the place of another, one should not kill nor cause another to kill.\",\n    \"tags\": [\"Wisdom\", \"Virtue\", \"Honor\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 128,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 69\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"May all beings have happy minds.\",\n    \"tags\": [\"Wisdom\", \"Happiness\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 32,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 70\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Speak only endearing speech, speech that is welcomed. Speech, when it brings no evil to others, is a pleasant thing.\",\n    \"tags\": [\"Wisdom\", \"Virtue\", \"Honor\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 116,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 71\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Just as a solid rock is not shaken by the storm, even so the wise are not affected by praise or blame.\",\n    \"tags\": [\"Wisdom\", \"Character\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 102,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 72\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"There is no fear for one whose mind is not filled with desires.\",\n    \"tags\": [\"Wisdom\", \"Philosophy\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 63,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 73\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Know from the rivers in clefts and in crevices: those in small channels flow noisily, the great flow silent. Whatever's not full makes noise. Whatever is full is quiet.\",\n    \"tags\": [\"Wisdom\", \"Character\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 168,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 74\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"When watching after yourself, you watch after others. When watching after others, you watch after yourself.\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 107,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 75\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"If with a pure mind a person speaks or acts, happiness follows them like a never-departing shadow.\",\n    \"tags\": [\"Wisdom\", \"Happiness\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 98,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 76\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"They blame those who remain silent, they blame those who speak much, they blame those who speak in moderation. There is none in the world who is not blamed.\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 156,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 77\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"All experiences are preceded by mind, having mind as their master, created by mind.\",\n    \"tags\": [\"Wisdom\", \"Self\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 83,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 78\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Better than a thousand useless words is one useful word, upon hearing which one attains peace.\",\n    \"tags\": [\"Wisdom\", \"Character\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 94,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 79\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Those who cling to perceptions and views wander the world offending people.\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 75,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 80\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Whoever doesn't flare up at someone who's angry wins a battle hard to win.\",\n    \"tags\": [\"Wisdom\", \"Character\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 74,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 81\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"The root of suffering is attachment.\",\n    \"tags\": [\"Wisdom\", \"Happiness\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 36,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 82\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Should someone do good, let them do it again and again. They should develop this habit, for the accumulation of goodness brings joy.\",\n    \"tags\": [\"Wisdom\", \"Motivational\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 132,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 83\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Better it is to live one day seeing the rise and fall of things than to live a hundred years without ever seeing the rise and fall of things.\",\n    \"tags\": [\"Wisdom\", \"Philosophy\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 141,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 84\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Radiate boundless love towards the entire world — above, below, and across — unhindered, without ill will, without enmity.\",\n    \"tags\": [\"Wisdom\", \"Love\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 122,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 85\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Radiate boundless love towards the entire world…\",\n    \"tags\": [\"Wisdom\", \"Love\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 48,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 86\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Should a seeker not find a companion who is better or equal, let them resolutely pursue a solitary course.\",\n    \"tags\": [\"Wisdom\", \"Philosophy\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 106,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 87\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Whatever has the nature of arising has the nature of ceasing.\",\n    \"tags\": [\"Wisdom\", \"Philosophy\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 61,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 88\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Meditate … do not delay, lest you later regret it.\",\n    \"tags\": [\"Wisdom\", \"Motivational\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 50,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 89\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Should you find a wise critic to point out your faults, follow him as you would a guide to hidden treasure.\",\n    \"tags\": [\"Wisdom\", \"Wisdom\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 107,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 90\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"I do not dispute with the world; rather it is the world that disputes with me.\",\n    \"tags\": [\"Wisdom\", \"Philosophy\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 78,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 91\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Whatever is not yours: let go of it. Your letting go of it will be for your long-term happiness & benefit.\",\n    \"tags\": [\"Wisdom\", \"Happiness\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 106,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 92\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"A noble one produces an abundance of merit by having a compassionate mind towards all living beings.\",\n    \"tags\": [\"Wisdom\", \"Love\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 100,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 93\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"It is in the nature of things that joy arises in a person free from remorse.\",\n    \"tags\": [\"Wisdom\", \"Happiness\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 76,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 94\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Some do not understand that we must die, But those who do realize this settle their quarrels.\",\n    \"tags\": [\"Wisdom\", \"Life\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 93,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 95\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Irrigators channel waters; fletchers straighten arrows; carpenters bend wood; the wise master themselves.\",\n    \"tags\": [\"Wisdom\", \"Self Help\", \"Character\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 105,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 96\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Just as a mother would protect her only child with her life, even so let one cultivate a boundless love towards all beings.\",\n    \"tags\": [\"Wisdom\", \"Love\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 123,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 97\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"As an elephant in the battlefield withstands arrows shot from bows all around, even so shall I endure abuse.\",\n    \"tags\": [\"Wisdom\", \"Character\", \"Courage\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 108,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 98\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"The calmed say that what is well-spoken is best; second, that one should say what is right, not unrighteous; third, what's pleasing, not displeasing; fourth, what is true, not false.\",\n    \"tags\": [\"Wisdom\", \"Truth\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 182,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 99\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Delight in heedfulness! Guard well your thoughts!\",\n    \"tags\": [\"Wisdom\", \"Virtue\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 49,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 100\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"A disciplined mind brings happiness.\",\n    \"tags\": [\"Wisdom\", \"Happiness\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 36,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 101\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Ardently do today what must be done. Who knows? Tomorrow, death comes.\",\n    \"tags\": [\"Wisdom\", \"Motivational\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 70,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 102\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"He who can curb his wrath as soon as it arises, as a timely antidote will check snake's venom that so quickly spreads, — such a monk gives up the here and the beyond, just as a serpent sheds its worn-out skin.\",\n    \"tags\": [\"Wisdom\", \"Self Help\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 209,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 103\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"The world is afflicted by death and decay. But the wise do not grieve, having realized the nature of the world.\",\n    \"tags\": [\"Wisdom\", \"Philosophy\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 111,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 104\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"One should train in deeds of merit—generosity, a balanced life, developing a loving mind—that yield long-lasting happiness.\",\n    \"tags\": [\"Wisdom\", \"Happiness\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 123,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 105\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Conquer anger with non-anger. Conquer badness with goodness. Conquer meanness with generosity. Conquer dishonesty with truth.\",\n    \"tags\": [\"Wisdom\", \"Virtue\", \"Love\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 125,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 106\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Let none find fault with others; let none see the omissions and commissions of others. But let one see one's own acts, done and undone.\",\n    \"tags\": [\"Wisdom\", \"Honor\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 135,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 107\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"'All conditioned things are impermanent' — when one sees this with wisdom, one turns away from suffering.\",\n    \"tags\": [\"Wisdom\", \"Philosophy\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 105,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 108\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"A mind unruffled by the vagaries of fortune, from sorrow freed, from defilements cleansed, from fear liberated — this is the greatest blessing.\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 143,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 109\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"A wise person should be urgently moved on occasions that make for urgency.\",\n    \"tags\": [\"Wisdom\", \"Motivational\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 74,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 110\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"The thing that is disliked by me is also disliked by others. Since I dislike this thing, how can I inflict it on someone else?\",\n    \"tags\": [\"Wisdom\", \"Philosophy\", \"Virtue\", \"Honor\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 126,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 111\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Hatred is never appeased by hatred in this world. By non-hatred alone is hatred appeased. This is a law eternal.\",\n    \"tags\": [\"Wisdom\", \"Love\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 112,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 112\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"'As I am, so are they; as they are, so am I.' Comparing others with oneself, do not kill nor cause others to kill.\",\n    \"tags\": [\"Wisdom\", \"Virtue\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 114,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 113\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"We will develop and cultivate the liberation of mind by lovingkindness, make it our vehicle, make it our basis, stabilize it, exercise ourselves in it, and fully perfect it.\",\n    \"tags\": [\"Wisdom\", \"Love\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 173,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 114\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Resolutely train yourself to attain peace.\",\n    \"tags\": [\"Wisdom\", \"Self Help\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 42,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 115\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"To support mother and father, to cherish partner and children, and to be engaged in peaceful occupation — this is the greatest blessing.\",\n    \"tags\": [\"Wisdom\", \"Family\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 136,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 116\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Both formerly and now, it is only suffering that I describe, and the cessation of suffering.\",\n    \"tags\": [\"Wisdom\", \"Happiness\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 92,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 117\n  },\n  {\n    \"author\": \"The Buddha\",\n    \"content\": \"Give, even if you only have a little.\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"the-buddha\",\n    \"length\": 37,\n    \"dateAdded\": \"2023-03-30\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 118\n  },\n  {\n    \"author\": \"Sandy Koufax\",\n    \"content\": \"Pitching is the art of instilling fear.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"sandy-koufax\",\n    \"length\": 39,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 119\n  },\n  {\n    \"author\": \"Yogi Berra\",\n    \"content\": \"Half the lies they tell about me aren't true.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"yogi-berra\",\n    \"length\": 45,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 120\n  },\n  {\n    \"author\": \"Erma Bombeck\",\n    \"content\": \"If a man watches three football games in a row, he should be declared legally dead.\",\n    \"tags\": [\"Sports\", \"Humorous\"],\n    \"authorSlug\": \"erma-bombeck\",\n    \"length\": 83,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 121\n  },\n  {\n    \"author\": \"Michael Phelps\",\n    \"content\": \"You can't put a limit on anything. The more you dream, the farther you get.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"michael-phelps\",\n    \"length\": 75,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 122\n  },\n  {\n    \"author\": \"Earl Monroe\",\n    \"content\": \"Just be patient. Let the game come to you. Don't rush. Be quick, but don't hurry.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"earl-monroe\",\n    \"length\": 81,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 123\n  },\n  {\n    \"author\": \"Bobby Unser\",\n    \"content\": \"Success is where preparation and opportunity meet.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"bobby-unser\",\n    \"length\": 50,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 124\n  },\n  {\n    \"author\": \"Benjamin Disraeli\",\n    \"content\": \"Never complain and never explain.\",\n    \"tags\": [\"Motivational\"],\n    \"authorSlug\": \"benjamin-disraeli\",\n    \"length\": 33,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 125\n  },\n  {\n    \"author\": \"Mike Singletary (basketball)\",\n    \"content\": \"Do you know what my favorite part of the game is? The opportunity to play.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"mike-singletary-basketball\",\n    \"length\": 74,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 126\n  },\n  {\n    \"author\": \"Eric Liddell\",\n    \"content\": \"God made me fast. And when I run, I feel His pleasure.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"eric-liddell\",\n    \"length\": 54,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 127\n  },\n  {\n    \"author\": \"Don Marquis\",\n    \"content\": \"Ideas pull the trigger, but instinct loads the gun.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"don-marquis\",\n    \"length\": 51,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 128\n  },\n  {\n    \"author\": \"Jim Bouton\",\n    \"content\": \"You spend a good piece of your life gripping a baseball and in the end it turns out that it was the other way around all the time.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"jim-bouton\",\n    \"length\": 130,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 129\n  },\n  {\n    \"author\": \"Babe Ruth\",\n    \"content\": \"The way a team plays as a whole determines its success. You may have the greatest bunch of individual stars in the world, but if they don't play together, the club won't be worth a dime.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"babe-ruth\",\n    \"length\": 186,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 130\n  },\n  {\n    \"author\": \"Casey Stengel\",\n    \"content\": \"Finding good players is easy. Getting them to play as a team is another story.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"casey-stengel\",\n    \"length\": 78,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 131\n  },\n  {\n    \"author\": \"Billie Jean King\",\n    \"content\": \"Champions keep playing until they get it right.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"billie-jean-king\",\n    \"length\": 47,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 132\n  },\n  {\n    \"author\": \"Elon Musk\",\n    \"content\": \"If you're trying to create a company, it's like baking a cake. You have to have all the ingredients in the right proportion.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"elon-musk\",\n    \"length\": 124,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 133\n  },\n  {\n    \"author\": \"P. G. Wodehouse\",\n    \"content\": \"To find a man's true character, play golf with him.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"p-g-wodehouse\",\n    \"length\": 51,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 134\n  },\n  {\n    \"author\": \"Ken Venturi\",\n    \"content\": \"I don't believe you have to be better than everybody else. I believe you have to be better than you ever thought you could be.\",\n    \"tags\": [\"Motivational\"],\n    \"authorSlug\": \"ken-venturi\",\n    \"length\": 126,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 135\n  },\n  {\n    \"author\": \"Shaquille O'Neal\",\n    \"content\": \"I'm tired of hearing about money, money, money, money, money. I just want to play the game, drink Pepsi, and wear Reebok.\",\n    \"tags\": [\"Sports\", \"Humorous\"],\n    \"authorSlug\": \"shaquille-o-neal\",\n    \"length\": 121,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 136\n  },\n  {\n    \"author\": \"Ralph Marston\",\n    \"content\": \"What you do today can improve all your tomorrows.\",\n    \"tags\": [\"Motivational\"],\n    \"authorSlug\": \"ralph-marston\",\n    \"length\": 49,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 137\n  },\n  {\n    \"author\": \"Howard H. Aiken\",\n    \"content\": \"Don't worry about people stealing your ideas. If your ideas are any good, you'll have to ram them down people's throats.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"howard-h-aiken\",\n    \"length\": 120,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 138\n  },\n  {\n    \"author\": \"Woodrow Wilson\",\n    \"content\": \"Golf is a game in which one endeavors to control a ball with implements ill adapted for the purpose.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"woodrow-wilson\",\n    \"length\": 100,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 139\n  },\n  {\n    \"author\": \"Mia Hamm\",\n    \"content\": \"I am building a fire, and everyday I train, I add more fuel. At just the right moment, I light the match.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"mia-hamm\",\n    \"length\": 105,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 140\n  },\n  {\n    \"author\": \"Jeff Bezos\",\n    \"content\": \"A brand for a company is like a reputation for a person. You earn reputation by trying to do hard things well.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"jeff-bezos\",\n    \"length\": 110,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 141\n  },\n  {\n    \"author\": \"Ted Williams\",\n    \"content\": \"Baseball is the only field of endeavor where a man can succeed three times out of ten and be considered a good performer.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"ted-williams\",\n    \"length\": 121,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 142\n  },\n  {\n    \"author\": \"Harriet Beecher Stowe\",\n    \"content\": \"Never give up, for that is just the place and time that the tide will turn.\",\n    \"tags\": [\"Motivational\"],\n    \"authorSlug\": \"harriet-beecher-stowe\",\n    \"length\": 75,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 143\n  },\n  {\n    \"author\": \"Johann Wolfgang von Goethe\",\n    \"content\": \"Knowing is not enough; we must apply. Willing is not enough; we must do.\",\n    \"tags\": [\"Motivational\"],\n    \"authorSlug\": \"johann-wolfgang-von-goethe\",\n    \"length\": 72,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 144\n  },\n  {\n    \"author\": \"Jack Welch\",\n    \"content\": \"An organization's ability to learn, and translate that learning into action rapidly, is the ultimate competitive advantage.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"jack-welch\",\n    \"length\": 123,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 145\n  },\n  {\n    \"author\": \"Warren Bennis\",\n    \"content\": \"Trust is the lubrication that makes it possible for organizations to work.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"warren-bennis\",\n    \"length\": 74,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 146\n  },\n  {\n    \"author\": \"Laurence J. Peter\",\n    \"content\": \"An economist is an expert who will know tomorrow why the things he predicted yesterday didn't happen today.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"laurence-j-peter\",\n    \"length\": 107,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 147\n  },\n  {\n    \"author\": \"Colin Powell\",\n    \"content\": \"There are no secrets to success. It is the result of preparation, hard work, and learning from failure.\",\n    \"tags\": [\"Success\"],\n    \"authorSlug\": \"colin-powell\",\n    \"length\": 103,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 148\n  },\n  {\n    \"author\": \"Robert Kiyosaki\",\n    \"content\": \"When times are bad is when the real entrepreneurs emerge.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"robert-kiyosaki\",\n    \"length\": 57,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 149\n  },\n  {\n    \"author\": \"W. Clement Stone\",\n    \"content\": \"Aim for the moon. If you miss, you may hit a star.\",\n    \"tags\": [\"Motivational\"],\n    \"authorSlug\": \"w-clement-stone\",\n    \"length\": 50,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 150\n  },\n  {\n    \"author\": \"Michael Phelps\",\n    \"content\": \"You can't put a limit on anything. The more you dream, the farther you get.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"michael-phelps\",\n    \"length\": 75,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 151\n  },\n  {\n    \"author\": \"Confucius\",\n    \"content\": \"The superior man understands what is right; the inferior man understands what will sell.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"confucius\",\n    \"length\": 88,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 152\n  },\n  {\n    \"author\": \"Howard H. Aiken\",\n    \"content\": \"Don't worry about people stealing your ideas. If your ideas are any good, you'll have to ram them down people's throats.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"howard-h-aiken\",\n    \"length\": 120,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 153\n  },\n  {\n    \"author\": \"Ted Williams\",\n    \"content\": \"Baseball is the only field of endeavor where a man can succeed three times out of ten and be considered a good performer.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"ted-williams\",\n    \"length\": 121,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 154\n  },\n  {\n    \"author\": \"William James\",\n    \"content\": \"Most people never run far enough on their first wind to find out they've got a second.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"william-james\",\n    \"length\": 86,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 155\n  },\n  {\n    \"author\": \"John F. Kennedy\",\n    \"content\": \"Things do not happen. Things are made to happen.\",\n    \"tags\": [\"Motivational\"],\n    \"authorSlug\": \"john-f-kennedy\",\n    \"length\": 48,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 156\n  },\n  {\n    \"author\": \"John Madden\",\n    \"content\": \"The fewer rules a coach has, the fewer rules there are for players to break.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"john-madden\",\n    \"length\": 76,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 157\n  },\n  {\n    \"author\": \"Kyle Chandler\",\n    \"content\": \"Opportunity does not knock, it presents itself when you beat down the door.\",\n    \"tags\": [\"Motivational\"],\n    \"authorSlug\": \"kyle-chandler\",\n    \"length\": 75,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 158\n  },\n  {\n    \"author\": \"Mark Twain\",\n    \"content\": \"Whenever you find yourself on the side of the majority, it is time to pause and reflect.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"mark-twain\",\n    \"length\": 88,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 159\n  },\n  {\n    \"author\": \"Yogi Berra\",\n    \"content\": \"Half the lies they tell about me aren't true.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"yogi-berra\",\n    \"length\": 45,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 160\n  },\n  {\n    \"author\": \"Eric Liddell\",\n    \"content\": \"God made me fast. And when I run, I feel His pleasure.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"eric-liddell\",\n    \"length\": 54,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 161\n  },\n  {\n    \"author\": \"Erma Bombeck\",\n    \"content\": \"If a man watches three football games in a row, he should be declared legally dead.\",\n    \"tags\": [\"Sports\", \"Humorous\"],\n    \"authorSlug\": \"erma-bombeck\",\n    \"length\": 83,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 162\n  },\n  {\n    \"author\": \"John Kenneth Galbraith\",\n    \"content\": \"Meetings are indispensable when you don't want to do anything.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"john-kenneth-galbraith\",\n    \"length\": 62,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 163\n  },\n  {\n    \"author\": \"Hank Aaron\",\n    \"content\": \"My motto was always to keep swinging. Whether I was in a slump or feeling badly or having trouble off the field, the only thing to do was keep swinging.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"hank-aaron\",\n    \"length\": 152,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 164\n  },\n  {\n    \"author\": \"Jeff Bezos\",\n    \"content\": \"A brand for a company is like a reputation for a person. You earn reputation by trying to do hard things well.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"jeff-bezos\",\n    \"length\": 110,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 165\n  },\n  {\n    \"author\": \"Earl Monroe\",\n    \"content\": \"Just be patient. Let the game come to you. Don't rush. Be quick, but don't hurry.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"earl-monroe\",\n    \"length\": 81,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 166\n  },\n  {\n    \"author\": \"Benjamin Disraeli\",\n    \"content\": \"Never complain and never explain.\",\n    \"tags\": [\"Motivational\"],\n    \"authorSlug\": \"benjamin-disraeli\",\n    \"length\": 33,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 167\n  },\n  {\n    \"author\": \"Mike Singletary (basketball)\",\n    \"content\": \"Do you know what my favorite part of the game is? The opportunity to play.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"mike-singletary-basketball\",\n    \"length\": 74,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 168\n  },\n  {\n    \"author\": \"Edward Gibbon\",\n    \"content\": \"Our work is the presentation of our capabilities.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"edward-gibbon\",\n    \"length\": 49,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 169\n  },\n  {\n    \"author\": \"André Malraux\",\n    \"content\": \"To command is to serve, nothing more and nothing less.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"andre-malraux\",\n    \"length\": 54,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 170\n  },\n  {\n    \"author\": \"Warren Bennis\",\n    \"content\": \"Trust is the lubrication that makes it possible for organizations to work.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"warren-bennis\",\n    \"length\": 74,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 171\n  },\n  {\n    \"author\": \"Robert Griffin III\",\n    \"content\": \"Football is football and talent is talent. But the mindset of your team makes all the difference.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"robert-griffin-iii\",\n    \"length\": 97,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 172\n  },\n  {\n    \"author\": \"Heywood Broun\",\n    \"content\": \"Sports do not build character. They reveal it.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"heywood-broun\",\n    \"length\": 46,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 173\n  },\n  {\n    \"author\": \"W. Clement Stone\",\n    \"content\": \"Aim for the moon. If you miss, you may hit a star.\",\n    \"tags\": [\"Motivational\"],\n    \"authorSlug\": \"w-clement-stone\",\n    \"length\": 50,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 174\n  },\n  {\n    \"author\": \"Colin Powell\",\n    \"content\": \"There are no secrets to success. It is the result of preparation, hard work, and learning from failure.\",\n    \"tags\": [\"Success\"],\n    \"authorSlug\": \"colin-powell\",\n    \"length\": 103,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 175\n  },\n  {\n    \"author\": \"Ralph Marston\",\n    \"content\": \"What you do today can improve all your tomorrows.\",\n    \"tags\": [\"Motivational\"],\n    \"authorSlug\": \"ralph-marston\",\n    \"length\": 49,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 176\n  },\n  {\n    \"author\": \"William Blake\",\n    \"content\": \"No bird soars too high if he soars with his own wings.\",\n    \"tags\": [\"Motivational\"],\n    \"authorSlug\": \"william-blake\",\n    \"length\": 54,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 177\n  },\n  {\n    \"author\": \"Sam Walton\",\n    \"content\": \"There is only one boss. The customer. And he can fire everybody in the company from the chairman on down, simply by spending his money somewhere else.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"sam-walton\",\n    \"length\": 150,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 178\n  },\n  {\n    \"author\": \"Bob Knight\",\n    \"content\": \"You don't play against opponents, you play against the game of basketball.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"bob-knight\",\n    \"length\": 74,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 179\n  },\n  {\n    \"author\": \"Tom Brokaw\",\n    \"content\": \"It's easy to make a buck. It's a lot tougher to make a difference.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"tom-brokaw\",\n    \"length\": 66,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 180\n  },\n  {\n    \"author\": \"Reggie Jackson (basketball, born 1990)\",\n    \"content\": \"Fans don't boo nobodies.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"reggie-jackson-basketball-born-1990\",\n    \"length\": 24,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 181\n  },\n  {\n    \"author\": \"Elon Musk\",\n    \"content\": \"When something is important enough, you do it even if the odds are not in your favor.\",\n    \"tags\": [\"Motivational\"],\n    \"authorSlug\": \"elon-musk\",\n    \"length\": 85,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 182\n  },\n  {\n    \"author\": \"Thomas Jefferson\",\n    \"content\": \"I hope we shall crush in its birth the aristocracy of our monied corporations which dare already to challenge our government to a trial by strength, and bid defiance to the laws of our country.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"thomas-jefferson\",\n    \"length\": 193,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 183\n  },\n  {\n    \"author\": \"Billie Jean King\",\n    \"content\": \"Champions keep playing until they get it right.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"billie-jean-king\",\n    \"length\": 47,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 184\n  },\n  {\n    \"author\": \"Ayn Rand\",\n    \"content\": \"A creative man is motivated by the desire to achieve, not by the desire to beat others.\",\n    \"tags\": [\"Motivational\"],\n    \"authorSlug\": \"ayn-rand\",\n    \"length\": 87,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 185\n  },\n  {\n    \"author\": \"Niccolò Machiavelli\",\n    \"content\": \"No enterprise is more likely to succeed than one concealed from the enemy until it is ripe for execution.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"niccolo-machiavelli\",\n    \"length\": 105,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 186\n  },\n  {\n    \"author\": \"Ambrose Bierce\",\n    \"content\": \"The gambling known as business looks with austere disfavor upon the business known as gambling.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"ambrose-bierce\",\n    \"length\": 95,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 187\n  },\n  {\n    \"author\": \"Henry David Thoreau\",\n    \"content\": \"Many men go fishing all of their lives without knowing that it is not fish they are after.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"henry-david-thoreau\",\n    \"length\": 90,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 188\n  },\n  {\n    \"author\": \"Bob Feller\",\n    \"content\": \"Every day is a new opportunity. You can build on yesterday's success or put its failures behind and start over again. That's the way life is, with a new game every day, and that's the way baseball is.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"bob-feller\",\n    \"length\": 200,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 189\n  },\n  {\n    \"author\": \"Vince Lombardi\",\n    \"content\": \"Winners never quit and quitters never win.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"vince-lombardi\",\n    \"length\": 42,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 190\n  },\n  {\n    \"author\": \"Wayne Gretzky\",\n    \"content\": \"A good hockey player plays where the puck is. A great hockey player plays where the puck is going to be.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"wayne-gretzky\",\n    \"length\": 104,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 191\n  },\n  {\n    \"author\": \"Babe Ruth\",\n    \"content\": \"The way a team plays as a whole determines its success. You may have the greatest bunch of individual stars in the world, but if they don't play together, the club won't be worth a dime.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"babe-ruth\",\n    \"length\": 186,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 192\n  },\n  {\n    \"author\": \"Babe Ruth\",\n    \"content\": \"You just can't beat the person who never gives up.\",\n    \"tags\": [\"Motivational\"],\n    \"authorSlug\": \"babe-ruth\",\n    \"length\": 50,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 193\n  },\n  {\n    \"author\": \"Rogers Hornsby\",\n    \"content\": \"People ask me what I do in winter when there's no baseball. I'll tell you what I do. I stare out the window and wait for spring.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"rogers-hornsby\",\n    \"length\": 128,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 194\n  },\n  {\n    \"author\": \"Peter Drucker\",\n    \"content\": \"The entrepreneur always searches for change, responds to it, and exploits it as an opportunity.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"peter-drucker\",\n    \"length\": 95,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 195\n  },\n  {\n    \"author\": \"Dan Gable\",\n    \"content\": \"Gold medals aren't really made of gold. They're made of sweat, determination, and a hard-to-find alloy called guts.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"dan-gable\",\n    \"length\": 115,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 196\n  },\n  {\n    \"author\": \"Laurence J. Peter\",\n    \"content\": \"An economist is an expert who will know tomorrow why the things he predicted yesterday didn't happen today.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"laurence-j-peter\",\n    \"length\": 107,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 197\n  },\n  {\n    \"author\": \"Johann Wolfgang von Goethe\",\n    \"content\": \"Knowing is not enough; we must apply. Willing is not enough; we must do.\",\n    \"tags\": [\"Motivational\"],\n    \"authorSlug\": \"johann-wolfgang-von-goethe\",\n    \"length\": 72,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 198\n  },\n  {\n    \"author\": \"Casey Stengel\",\n    \"content\": \"Finding good players is easy. Getting them to play as a team is another story.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"casey-stengel\",\n    \"length\": 78,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 199\n  },\n  {\n    \"author\": \"Michael Jordan\",\n    \"content\": \"I've missed more than 9000 shots in my career. I've lost almost 300 games. 26 times, I've been trusted to take the game winning shot and missed. I've failed over and over and over again in my life. And that is why I succeed.\",\n    \"tags\": [\"Sports\", \"Competition\", \"Famous Quotes\"],\n    \"authorSlug\": \"michael-jordan\",\n    \"length\": 224,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 200\n  },\n  {\n    \"author\": \"Arnold Palmer\",\n    \"content\": \"What other people may find in poetry or art museums, I find in the flight of a good drive.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"arnold-palmer\",\n    \"length\": 90,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 201\n  },\n  {\n    \"author\": \"Theodore Isaac Rubin\",\n    \"content\": \"Happiness does not come from doing easy work but from the afterglow of satisfaction that comes after the achievement of a difficult task that demanded our best.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"theodore-isaac-rubin\",\n    \"length\": 160,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 202\n  },\n  {\n    \"author\": \"Muhammad Ali\",\n    \"content\": \"It's just a job. Grass grows, birds fly, waves pound the sand. I beat people up.\",\n    \"tags\": [\"Sports\"],\n    \"authorSlug\": \"muhammad-ali\",\n    \"length\": 80,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 203\n  },\n  {\n    \"author\": \"George Orwell\",\n    \"content\": \"Serious sport has nothing to do with fair play. It is bound up with hatred, jealousy, boastfulness, disregard of all rules and sadistic pleasure in witnessing violence. In other words, it is war minus the shooting.\",\n    \"tags\": [\"Sports\"],\n    \"authorSlug\": \"george-orwell\",\n    \"length\": 214,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 204\n  },\n  {\n    \"author\": \"Seneca the Younger\",\n    \"content\": \"If one does not know to which port one is sailing, no wind is favorable.\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"seneca-the-younger\",\n    \"length\": 72,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 205\n  },\n  {\n    \"author\": \"Mia Hamm\",\n    \"content\": \"I am building a fire, and everyday I train, I add more fuel. At just the right moment, I light the match.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"mia-hamm\",\n    \"length\": 105,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 206\n  },\n  {\n    \"author\": \"Shaquille O'Neal\",\n    \"content\": \"I'm tired of hearing about money, money, money, money, money. I just want to play the game, drink Pepsi, and wear Reebok.\",\n    \"tags\": [\"Sports\", \"Humorous\"],\n    \"authorSlug\": \"shaquille-o-neal\",\n    \"length\": 121,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 207\n  },\n  {\n    \"author\": \"Mary Kay Ash\",\n    \"content\": \"Everyone has an invisible sign hanging from their neck saying, 'Make me feel important.' Never forget this message when working with people.\",\n    \"tags\": [\"Business\"],\n    \"authorSlug\": \"mary-kay-ash\",\n    \"length\": 140,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 208\n  },\n  {\n    \"author\": \"Jim Bouton\",\n    \"content\": \"You spend a good piece of your life gripping a baseball and in the end it turns out that it was the other way around all the time.\",\n    \"tags\": [\"Sports\", \"Competition\"],\n    \"authorSlug\": \"jim-bouton\",\n    \"length\": 130,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 209\n  },\n  {\n    \"author\": \"Ken Venturi\",\n    \"content\": \"I don't believe you have to be better than everybody else. I believe you have to be better than you ever thought you could be.\",\n    \"tags\": [\"Motivational\"],\n    \"authorSlug\": \"ken-venturi\",\n    \"length\": 126,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 210\n  },\n  {\n    \"author\": \"Harriet Beecher Stowe\",\n    \"content\": \"Never give up, for that is just the place and time that the tide will turn.\",\n    \"tags\": [\"Motivational\"],\n    \"authorSlug\": \"harriet-beecher-stowe\",\n    \"length\": 75,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 211\n  },\n  {\n    \"author\": \"Nikos Kazantzakis\",\n    \"content\": \"In order to succeed, we must first believe that we can.\",\n    \"tags\": [\"Motivational\"],\n    \"authorSlug\": \"nikos-kazantzakis\",\n    \"length\": 55,\n    \"dateAdded\": \"2022-07-06\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 212\n  },\n  {\n    \"author\": \"Abraham Lincoln\",\n    \"content\": \"Government of the people, by the people, for the people, shall not perish from the Earth.\",\n    \"tags\": [\"History\", \"Politics\", \"Famous Quotes\"],\n    \"authorSlug\": \"abraham-lincoln\",\n    \"length\": 89,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 213\n  },\n  {\n    \"author\": \"Abraham Lincoln\",\n    \"content\": \"The philosophy of the school room in one generation will be the philosophy of government in the next.\",\n    \"tags\": [\"History\", \"Politics\"],\n    \"authorSlug\": \"abraham-lincoln\",\n    \"length\": 101,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 214\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"The best argument against democracy is a five-minute conversation with the average voter.\",\n    \"tags\": [\"Humorous\", \"Politics\"],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 89,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 215\n  },\n  {\n    \"author\": \"Abraham Lincoln\",\n    \"content\": \"How many legs does a dog have if you call his tail a leg? Four. Saying that a tail is a leg doesn't make it a leg.\",\n    \"tags\": [\"Truth\"],\n    \"authorSlug\": \"abraham-lincoln\",\n    \"length\": 114,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 216\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"History is written by the victors.\",\n    \"tags\": [\"History\"],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 34,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 217\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"If you're going through hell, keep going.\",\n    \"tags\": [\"Inspirational\"],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 41,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 218\n  },\n  {\n    \"author\": \"Abraham Lincoln\",\n    \"content\": \"No man has a good enough memory to be a successful liar.\",\n    \"tags\": [\"Truth\"],\n    \"authorSlug\": \"abraham-lincoln\",\n    \"length\": 56,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 219\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"All the great things are simple, and many can be expressed in a single word: freedom, justice, honor, duty, mercy, hope.\",\n    \"tags\": [\"Social Justice\", \"Freedom\", \"History\"],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 120,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 220\n  },\n  {\n    \"author\": \"Abraham Lincoln\",\n    \"content\": \"It has been my experience that folks who have no vices have very few virtues.\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"abraham-lincoln\",\n    \"length\": 77,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 221\n  },\n  {\n    \"author\": \"Abraham Lincoln\",\n    \"content\": \"I have always found that mercy bears richer fruits than strict justice.\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"abraham-lincoln\",\n    \"length\": 71,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 222\n  },\n  {\n    \"author\": \"Alan Watts\",\n    \"content\": \"You and I are all as much continuous with the physical universe as a wave is continuous with the ocean.\",\n    \"tags\": [\"Philosophy\"],\n    \"authorSlug\": \"alan-watts\",\n    \"length\": 103,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 223\n  },\n  {\n    \"author\": \"Alan Watts\",\n    \"content\": \"You are that vast thing that you see far, far off with great telescopes.\",\n    \"tags\": [\"Philosophy\", \"Spirituality\", \"Self\"],\n    \"authorSlug\": \"alan-watts\",\n    \"length\": 72,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 224\n  },\n  {\n    \"author\": \"Abraham Lincoln\",\n    \"content\": \"I am a firm believer in the people. If given the truth, they can be depended upon to meet any national crisis. The great point is to bring them the real facts.\",\n    \"tags\": [\"Politics\", \"History\"],\n    \"authorSlug\": \"abraham-lincoln\",\n    \"length\": 159,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 225\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"To improve is to change; to be perfect is to change often.\",\n    \"tags\": [\"Inspirational\", \"Success\"],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 58,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 226\n  },\n  {\n    \"author\": \"Abraham Lincoln\",\n    \"content\": \"If I were two-faced, would I be wearing this one?\",\n    \"tags\": [\"Humorous\"],\n    \"authorSlug\": \"abraham-lincoln\",\n    \"length\": 49,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 227\n  },\n  {\n    \"author\": \"Abraham Lincoln\",\n    \"content\": \"I will prepare and some day my chance will come.\",\n    \"tags\": [\"Success\"],\n    \"authorSlug\": \"abraham-lincoln\",\n    \"length\": 48,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 228\n  },\n  {\n    \"author\": \"Alan Watts\",\n    \"content\": \"How is it possible that a being with such sensitive jewels as the eyes, such enchanted musical instruments as the ears, and such fabulous arabesque of nerves as the brain can experience itself anything less than a god.\",\n    \"tags\": [\"Philosophy\"],\n    \"authorSlug\": \"alan-watts\",\n    \"length\": 218,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 229\n  },\n  {\n    \"author\": \"Abraham Lincoln\",\n    \"content\": \"When I do good I feel good, when I do bad I feel bad, and that's my religion.\",\n    \"tags\": [\"Wisdom\", \"Character\"],\n    \"authorSlug\": \"abraham-lincoln\",\n    \"length\": 77,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 230\n  },\n  {\n    \"author\": \"Alan Watts\",\n    \"content\": \"But I'll tell you what hermits realize. If you go off into a far, far forest and get very quiet, you'll come to understand that you're connected with everything.\",\n    \"tags\": [\"Nature\"],\n    \"authorSlug\": \"alan-watts\",\n    \"length\": 161,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 231\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"Nothing in life is so exhilarating as to be shot at without result.\",\n    \"tags\": [\"War\"],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 67,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 232\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"An appeaser is one who feeds a crocodile, hoping it will eat him last.\",\n    \"tags\": [\"Humorous\"],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 70,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 233\n  },\n  {\n    \"author\": \"Alan Watts\",\n    \"content\": \"And the attitude of faith is the very opposite of clinging to belief, of holding on.\",\n    \"tags\": [\"Faith\"],\n    \"authorSlug\": \"alan-watts\",\n    \"length\": 84,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 234\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"Attitude is a little thing that makes a big difference.\",\n    \"tags\": [],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 55,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2022-03-12\",\n    \"id\": 235\n  },\n  {\n    \"author\": \"Alan Watts\",\n    \"content\": \"The only way to make sense out of change is to plunge into it, move with it, and join the dance.\",\n    \"tags\": [\"Change\", \"Life\"],\n    \"authorSlug\": \"alan-watts\",\n    \"length\": 96,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 236\n  },\n  {\n    \"author\": \"Abraham Lincoln\",\n    \"content\": \"The ballot is stronger than the bullet.\",\n    \"tags\": [\"Politics\", \"Famous Quotes\"],\n    \"authorSlug\": \"abraham-lincoln\",\n    \"length\": 39,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 237\n  },\n  {\n    \"author\": \"Alan Watts\",\n    \"content\": \"I have realized that the past and future are real illusions, that they exist in the present, which is what there is and all there is.\",\n    \"tags\": [\"Time\", \"Life\"],\n    \"authorSlug\": \"alan-watts\",\n    \"length\": 133,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 238\n  },\n  {\n    \"author\": \"Alan Watts\",\n    \"content\": \"Never pretend to a love which you do not actually feel, for love is not ours to command.\",\n    \"tags\": [\"Love\"],\n    \"authorSlug\": \"alan-watts\",\n    \"length\": 88,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 239\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"The inherent vice of capitalism is the unequal sharing of blessings; the inherent virtue of socialism is the equal sharing of miseries.\",\n    \"tags\": [\"Politics\", \"Conservative\"],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 135,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 240\n  },\n  {\n    \"author\": \"Alan Watts\",\n    \"content\": \"I owe my solitude to other people.\",\n    \"tags\": [\"Humorous\"],\n    \"authorSlug\": \"alan-watts\",\n    \"length\": 34,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 241\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"The farther backward you can look, the farther forward you can see.\",\n    \"tags\": [\"History\"],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 67,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 242\n  },\n  {\n    \"author\": \"Alan Watts\",\n    \"content\": \"Unless one is able to live fully in the present, the future is a hoax.\",\n    \"tags\": [\"Life\", \"Future\"],\n    \"authorSlug\": \"alan-watts\",\n    \"length\": 70,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 243\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"If we open a quarrel between past and present, we shall find that we have lost the future.\",\n    \"tags\": [\"History\"],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 90,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 244\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"We are masters of the unsaid words, but slaves of those we let slip out.\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 72,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 245\n  },\n  {\n    \"author\": \"Alan Watts\",\n    \"content\": \"No work or love will flourish out of guilt, fear, or hollowness of heart, just as no valid plans for the future can be made by those who have no capacity for living now.\",\n    \"tags\": [\"Future\", \"Life\"],\n    \"authorSlug\": \"alan-watts\",\n    \"length\": 169,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 246\n  },\n  {\n    \"author\": \"Abraham Lincoln\",\n    \"content\": \"All that I am, or hope to be, I owe to my angel mother.\",\n    \"tags\": [\"Family\"],\n    \"authorSlug\": \"abraham-lincoln\",\n    \"length\": 55,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 247\n  },\n  {\n    \"author\": \"Alan Watts\",\n    \"content\": \"But at any rate, the point is that God is what nobody admits to being, and everybody really is.\",\n    \"tags\": [\"Philosophy\", \"Self\"],\n    \"authorSlug\": \"alan-watts\",\n    \"length\": 95,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 248\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"I am an optimist. It does not seem too much use being anything else.\",\n    \"tags\": [],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 68,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2022-03-12\",\n    \"id\": 249\n  },\n  {\n    \"author\": \"Abraham Lincoln\",\n    \"content\": \"Always bear in mind that your own resolution to succeed is more important than any other.\",\n    \"tags\": [\"Success\"],\n    \"authorSlug\": \"abraham-lincoln\",\n    \"length\": 89,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 250\n  },\n  {\n    \"author\": \"Alan Watts\",\n    \"content\": \"The ego is nothing other than the focus of conscious attention.\",\n    \"tags\": [],\n    \"authorSlug\": \"alan-watts\",\n    \"length\": 63,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2022-03-12\",\n    \"id\": 251\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"In wartime, truth is so precious that she should always be attended by a bodyguard of lies.\",\n    \"tags\": [\"War\", \"History\"],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 91,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 252\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"Now this is not the end. It is not even the beginning of the end. But it is, perhaps, the end of the beginning.\",\n    \"tags\": [],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 111,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2022-03-12\",\n    \"id\": 253\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"Russia is a riddle wrapped in a mystery inside an enigma.\",\n    \"tags\": [\"History\", \"Politics\"],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 57,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 254\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"Courage is rightly esteemed the first of human qualities... because it is the quality which guarantees all others.\",\n    \"tags\": [\"Courage\"],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 114,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 255\n  },\n  {\n    \"author\": \"Abraham Lincoln\",\n    \"content\": \"You can fool all the people some of the time, and some of the people all the time, but you cannot fool all the people all the time.\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"abraham-lincoln\",\n    \"length\": 131,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 256\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"A lie gets halfway around the world before the truth has a chance to get its pants on.\",\n    \"tags\": [\"History\", \"Politics\", \"Wisdom\"],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 86,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 257\n  },\n  {\n    \"author\": \"Abraham Lincoln\",\n    \"content\": \"Sir, my concern is not whether God is on our side; my greatest concern is to be on God's side, for God is always right.\",\n    \"tags\": [\"Spirituality\", \"History\"],\n    \"authorSlug\": \"abraham-lincoln\",\n    \"length\": 119,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 258\n  },\n  {\n    \"author\": \"Abraham Lincoln\",\n    \"content\": \"I am not bound to win, but I am bound to be true. I am not bound to succeed, but I am bound to live by the light that I have. I must stand with anybody that stands right, and stand with him while he is right, and part with him when he goes wrong.\",\n    \"tags\": [\"Inspirational\", \"History\", \"Truth\"],\n    \"authorSlug\": \"abraham-lincoln\",\n    \"length\": 246,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 259\n  },\n  {\n    \"author\": \"Abraham Lincoln\",\n    \"content\": \"You cannot escape the responsibility of tomorrow by evading it today.\",\n    \"tags\": [\"History\"],\n    \"authorSlug\": \"abraham-lincoln\",\n    \"length\": 69,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 260\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"I am fond of pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals.\",\n    \"tags\": [\"Humorous\", \"Famous Quotes\"],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 85,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 261\n  },\n  {\n    \"author\": \"Alan Watts\",\n    \"content\": \"So then, the relationship of self to other is the complete realization that loving yourself is impossible without loving everything defined as other than yourself.\",\n    \"tags\": [\"Self\", \"Love\"],\n    \"authorSlug\": \"alan-watts\",\n    \"length\": 163,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 262\n  },\n  {\n    \"author\": \"Alan Watts\",\n    \"content\": \"You don't look out there for God, something in the sky, you look in you.\",\n    \"tags\": [\"Spirituality\", \"Religion\"],\n    \"authorSlug\": \"alan-watts\",\n    \"length\": 72,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 263\n  },\n  {\n    \"author\": \"Alan Watts\",\n    \"content\": \"Things are as they are. Looking out into it the universe at night, we make no comparisons between right and wrong stars, nor between well and badly arranged constellations.\",\n    \"tags\": [\"Philosophy\", \"Self\"],\n    \"authorSlug\": \"alan-watts\",\n    \"length\": 172,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 264\n  },\n  {\n    \"author\": \"Alan Watts\",\n    \"content\": \"Trying to define yourself is like trying to bite your own teeth.\",\n    \"tags\": [\"Humorous\"],\n    \"authorSlug\": \"alan-watts\",\n    \"length\": 64,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 265\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"You can always count on Americans to do the right thing - after they've tried everything else.\",\n    \"tags\": [\"Humorous\", \"Politics\"],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 94,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 266\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"Success consists of going from failure to failure without loss of enthusiasm.\",\n    \"tags\": [\"Success\"],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 77,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 267\n  },\n  {\n    \"author\": \"Abraham Lincoln\",\n    \"content\": \"We the people are the rightful masters of both Congress and the courts, not to overthrow the Constitution but to overthrow the men who pervert the Constitution.\",\n    \"tags\": [\"Politics\"],\n    \"authorSlug\": \"abraham-lincoln\",\n    \"length\": 160,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 268\n  },\n  {\n    \"author\": \"Alan Watts\",\n    \"content\": \"But the attitude of faith is to let go, and become open to truth, whatever it might turn out to be.\",\n    \"tags\": [\"Faith\"],\n    \"authorSlug\": \"alan-watts\",\n    \"length\": 99,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 269\n  },\n  {\n    \"author\": \"Alan Watts\",\n    \"content\": \"We cannot be more sensitive to pleasure without being more sensitive to pain.\",\n    \"tags\": [\"Life\", \"Pain\"],\n    \"authorSlug\": \"alan-watts\",\n    \"length\": 77,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 270\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"It is no use saying, 'We are doing our best.' You have got to succeed in doing what is necessary.\",\n    \"tags\": [\"Inspirational\", \"Success\"],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 97,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 271\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"The truth is incontrovertible. Malice may attack it, ignorance may deride it, but in the end, there it is.\",\n    \"tags\": [\"Truth\", \"History\"],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 106,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 272\n  },\n  {\n    \"author\": \"Alan Watts\",\n    \"content\": \"To have faith is to trust yourself to the water. When you swim you don't grab hold of the water, because if you do you will sink and drown. Instead you relax, and float.\",\n    \"tags\": [\"Faith\"],\n    \"authorSlug\": \"alan-watts\",\n    \"length\": 169,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 273\n  },\n  {\n    \"author\": \"Alan Watts\",\n    \"content\": \"Technology is destructive only in the hands of people who do not realize that they are one and the same process as the universe.\",\n    \"tags\": [\"Technology\"],\n    \"authorSlug\": \"alan-watts\",\n    \"length\": 128,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 274\n  },\n  {\n    \"author\": \"Abraham Lincoln\",\n    \"content\": \"Most folks are as happy as they make up their minds to be.\",\n    \"tags\": [\"Happiness\"],\n    \"authorSlug\": \"abraham-lincoln\",\n    \"length\": 58,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 275\n  },\n  {\n    \"author\": \"Winston Churchill\",\n    \"content\": \"I am always ready to learn although I do not always like being taught.\",\n    \"tags\": [\"Humorous\"],\n    \"authorSlug\": \"winston-churchill\",\n    \"length\": 70,\n    \"dateAdded\": \"2022-03-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 276\n  },\n  {\n    \"author\": \"Henry Ford\",\n    \"content\": \"Whether you think you can or you think you can't, you are right.\",\n    \"tags\": [\"Famous Quotes\", \"Inspirational\"],\n    \"authorSlug\": \"henry-ford\",\n    \"length\": 64,\n    \"dateAdded\": \"2021-06-18\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 277\n  },\n  {\n    \"author\": \"Eric Hoffer\",\n    \"content\": \"In times of change, learners inherit the earth, while the learned find themselves beautifully equipped to deal with a world that no longer exists.\",\n    \"tags\": [\"Famous Quotes\", \"Inspirational\"],\n    \"authorSlug\": \"eric-hoffer\",\n    \"length\": 146,\n    \"dateAdded\": \"2021-06-18\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 278\n  },\n  {\n    \"author\": \"Amy Poehler\",\n    \"content\": \"There's power in looking silly and not caring that you do.\",\n    \"tags\": [\"Famous Quotes\", \"Inspirational\"],\n    \"authorSlug\": \"amy-poehler\",\n    \"length\": 58,\n    \"dateAdded\": \"2021-06-18\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 279\n  },\n  {\n    \"author\": \"Helmut Schmidt\",\n    \"content\": \"The biggest room in the world is room for improvement.\",\n    \"tags\": [\"Famous Quotes\", \"Inspirational\"],\n    \"authorSlug\": \"helmut-schmidt\",\n    \"length\": 54,\n    \"dateAdded\": \"2021-06-18\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 280\n  },\n  {\n    \"author\": \"Larry Page\",\n    \"content\": \"If you're changing the world, you're working on important things. You're excited to get up in the morning.\",\n    \"tags\": [\"Famous Quotes\", \"Inspirational\"],\n    \"authorSlug\": \"larry-page\",\n    \"length\": 106,\n    \"dateAdded\": \"2021-06-18\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 281\n  },\n  {\n    \"author\": \"Neil Gaiman\",\n    \"content\": \"The one thing that you have that nobody else has is you. Your voice, your mind, your story, your vision. So write and draw and build and play and dance and live as only you can.\",\n    \"tags\": [\"Famous Quotes\", \"Inspirational\"],\n    \"authorSlug\": \"neil-gaiman\",\n    \"length\": 177,\n    \"dateAdded\": \"2021-06-18\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 282\n  },\n  {\n    \"content\": \"Wisdom, compassion, and courage are the three universally recognized moral qualities of men.\",\n    \"author\": \"Confucius\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"confucius\",\n    \"length\": 92,\n    \"dateAdded\": \"2021-05-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 283\n  },\n  {\n    \"content\": \"With age comes wisdom and a high sex drive. And the wisdom to enjoy it.\",\n    \"author\": \"Amber Valletta\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"amber-valletta\",\n    \"length\": 71,\n    \"dateAdded\": \"2021-05-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 284\n  },\n  {\n    \"content\": \"You can't blame gravity for falling in love.\",\n    \"author\": \"Albert Einstein\",\n    \"tags\": [\"Famous Quotes\", \"Humorous\"],\n    \"authorSlug\": \"albert-einstein\",\n    \"length\": 44,\n    \"dateAdded\": \"2021-05-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 285\n  },\n  {\n    \"content\": \"The things that one most wants to do are the things that are probably most worth doing.\",\n    \"author\": \"Winifred Holtby\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"winifred-holtby\",\n    \"length\": 87,\n    \"dateAdded\": \"2021-05-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 286\n  },\n  {\n    \"content\": \"Make it your habit not to be critical about small things.\",\n    \"author\": \"Edward Everett Hale\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"edward-everett-hale\",\n    \"length\": 57,\n    \"dateAdded\": \"2021-05-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 287\n  },\n  {\n    \"content\": \"Friendship, like credit, is highest when it is not used.\",\n    \"author\": \"Elbert Hubbard\",\n    \"tags\": [\"Friendship\"],\n    \"authorSlug\": \"elbert-hubbard\",\n    \"length\": 56,\n    \"dateAdded\": \"2021-05-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 288\n  },\n  {\n    \"content\": \"The least of things with a meaning is worth more in life than the greatest of things without it.\",\n    \"author\": \"Carl Jung\",\n    \"tags\": [\"Life\"],\n    \"authorSlug\": \"carl-jung\",\n    \"length\": 96,\n    \"dateAdded\": \"2021-05-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 289\n  },\n  {\n    \"content\": \"Some people thrive on huge, dramatic change. Some people prefer the slow and steady route. Do what's right for you.\",\n    \"author\": \"Julie Morgenstern\",\n    \"tags\": [\"Wisdom\", \"Success\"],\n    \"authorSlug\": \"julie-morgenstern\",\n    \"length\": 115,\n    \"dateAdded\": \"2021-05-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 290\n  },\n  {\n    \"content\": \"When a thing is done, it's done. Don't look back. Look forward to your next objective.\",\n    \"author\": \"George Marshall\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"george-marshall\",\n    \"length\": 86,\n    \"dateAdded\": \"2021-05-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 291\n  },\n  {\n    \"content\": \"There is some self-interest behind every friendship. There is no friendship without self-interests. This is a bitter truth.\",\n    \"author\": \"Chanakya\",\n    \"tags\": [\"Friendship\"],\n    \"authorSlug\": \"chanakya\",\n    \"length\": 123,\n    \"dateAdded\": \"2021-05-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 292\n  },\n  {\n    \"content\": \"Don't talk about what you have done or what you are going to do.\",\n    \"author\": \"Thomas Jefferson\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"thomas-jefferson\",\n    \"length\": 64,\n    \"dateAdded\": \"2021-05-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 293\n  },\n  {\n    \"content\": \"You can stand tall without standing on someone. You can be a victor without having victims.\",\n    \"author\": \"Harriet Woods\",\n    \"tags\": [\"Wisdom\", \"Character\"],\n    \"authorSlug\": \"harriet-woods\",\n    \"length\": 91,\n    \"dateAdded\": \"2021-05-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 294\n  },\n  {\n    \"content\": \"Success is not the key to happiness. Happiness is the key to success. If you love what you are doing, you will be successful.\",\n    \"author\": \"Albert Schweitzer\",\n    \"tags\": [\"Famous Quotes\", \"Success\", \"Happiness\"],\n    \"authorSlug\": \"albert-schweitzer\",\n    \"length\": 125,\n    \"dateAdded\": \"2021-05-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 295\n  },\n  {\n    \"content\": \"Silence is the sleep that nourishes wisdom.\",\n    \"author\": \"Francis Bacon\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"francis-bacon\",\n    \"length\": 43,\n    \"dateAdded\": \"2021-05-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 296\n  },\n  {\n    \"content\": \"Friendship increases in visiting friends, but in visiting them seldom.\",\n    \"author\": \"Francis Bacon\",\n    \"tags\": [\"Friendship\"],\n    \"authorSlug\": \"francis-bacon\",\n    \"length\": 70,\n    \"dateAdded\": \"2021-05-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 297\n  },\n  {\n    \"content\": \"He who controls others may be powerful, but he who has mastered himself is mightier still.\",\n    \"author\": \"Laozi\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"laozi\",\n    \"length\": 90,\n    \"dateAdded\": \"2021-05-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 298\n  },\n  {\n    \"content\": \"To be wronged is nothing unless you continue to remember it.\",\n    \"author\": \"Confucius\",\n    \"tags\": [\"Wisdom\"],\n    \"authorSlug\": \"confucius\",\n    \"length\": 60,\n    \"dateAdded\": \"2021-05-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 299\n  },\n  {\n    \"content\": \"Friends are those rare people who ask how we are and then wait to hear the answer.\",\n    \"author\": \"Ed Cunningham\",\n    \"tags\": [\"Friendship\"],\n    \"authorSlug\": \"ed-cunningham\",\n    \"length\": 82,\n    \"dateAdded\": \"2021-05-12\",\n    \"dateModified\": \"2023-04-14\",\n    \"id\": 300\n  }\n]\n"
  },
  {
    "path": "src/json/randomjoke.json",
    "content": "[\n  {\n    \"categories\": [],\n    \"id\": 1,\n    \"content\": \"Chuck Norris invented the bolt-action rifle, liquor, sexual intercourse, and football-- in that order.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 2,\n    \"content\": \"The Chuck Norris facts game is played out... And we should all stop contributing to this stupid shit! Unless your a dickless gamer that dwells on this Chuck Norris nonsense\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 3,\n    \"content\": \"Chuck Norris can make love to 500 women a day, while destroying all of the cock block ninjas that get in his way.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 4,\n    \"content\": \"Horses have long faces because they keep challenging Chuck Norris to \\\"whos got the biggest dick\\\" contests.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 5,\n    \"content\": \"Every-so-often Chuck Norris will cut a hole into a cement block and proceed to fuck it because he really enjoys \\\"rough sex\\\".\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 6,\n    \"content\": \"Chuck Norris has to asexually reproduce due to the fact no woman would survive in bed with him.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 7,\n    \"content\": \"Other than having experienced an actual sexual encounter with Chuck Norris, the only thing that can possibly match & satisfy women is a mail order device aptly called an Anal Intruder which exhibits a Roto Rooter twirling action.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 8,\n    \"content\": \"Chuck Norris answers the question of his metrosexuality by simply reaching his hand down the front of your pants and popping your balls like grapes.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 9,\n    \"content\": \"Once, after chugging a gallon of Captain Morgan Rum, Chuck Norris french kissed a transexual frog. Nine month later, Chaz Bono was born.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 10,\n    \"content\": \"Chuck Norris is all for same-sex marriage, as long as both chicks are hot.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 11,\n    \"content\": \"Chuck Norris shaves his balls with a chainsaw\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 12,\n    \"content\": \"Chuck Norris once gave his grandma a ball of steal wool and she knitted him a bmx..\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 13,\n    \"content\": \"Chuck Norris doesnt call the wrong number you answer the wrong phone\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 14,\n    \"content\": \"Chuck Norris doesnt take showers to be clean, he lays in boiling water until all germs are killed.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 15,\n    \"content\": \"Chuck Norris' drumset is all cowbell.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 16,\n    \"content\": \"Chuck Norris is actually an albino silverback gorrilla\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 17,\n    \"content\": \"Chuck Norris blows up ballons with his nose\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 18,\n    \"content\": \"Chuck Norris stopped at a stop sign, it turned green. Someone once asked Chuck Norris for advice, he's know dead. Chuck Norris saw a man tell his gf \\\"you take my breathe away\\\" he kicked him in the chest and said \\\"wrong\\\" Even Chuck Norris shadows is scared of him. Someone thought prank calling Chuck Norris from across the world would keep him save, he kicked him through the phone. When Chuck Norris dies he doesn't go to heaven or hell, he goes to Olympus\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 19,\n    \"content\": \"If Chuck Norris was the host of Chopped from food network, the one that's been chopped will be literally chopped. Luck is what you need. XD\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 20,\n    \"content\": \"Chuck Norris loves all that shit Andrew Zimmern eats on bizzare foods.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 21,\n    \"content\": \"Many rednecks and rual farmers enjoy Mountain Oysters as a special delicacy within their traditional menus. Chuck Norris, however, prefers to personally harvest and diet upon Mountain Gorilla Oysters.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 22,\n    \"content\": \"'Hakuna Matata' is actually Swahili for 'all hail Chuck Norris'.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 23,\n    \"content\": \"Chuck Norris' gaydar is so finely tuned he can tell if you have EVER stared at another man's ass and will brutally kill you accordingly.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 24,\n    \"content\": \"Most people have 23 pairs of chromosomes. Chuck Norris has 72... and they're all poisonous.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 25,\n    \"content\": \"When Chuck Norris kills you, the government fully covers all funeral expenses, as ordered by the UN. It is the only truly good thing they have ever done.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 26,\n    \"content\": \"# Chuck Norris's show is called Walker: Texas Ranger, because Chuck Norris doesn't run.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 27,\n    \"content\": \"Chuck Norris does not play the lottery. It doesn't have nearly enough balls.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 28,\n    \"content\": \"The term \\\"Cleveland Steamer\\\" got its name from Chuck Norris, when he took a dump while visiting the Rock and Roll Hall of fame and buried northern Ohio under a glacier of fecal matter.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 29,\n    \"content\": \"Chuck Norris is not Politically Correct. He is just Correct. Always.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 30,\n    \"content\": \"Pick a number between 1 and 10. No matter what it is, you are wrong, and Chuck Norris is now on his way to brutally murder you.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 31,\n    \"content\": \"Chuck Norris never liked the Phillippines. Especially Tacloban.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 32,\n    \"content\": \"Peter Piper picked a peck of pickled peppers. Chuck Norris shot him and screwed his mother against a wall for three hours.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 33,\n    \"content\": \"Chuck Norris roundhouse kicks don't really kill people. They wipe out their entire existence from the space-time continuum.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 34,\n    \"content\": \"Those aren't credits that roll after Walker Texas Ranger. It is actually a list of fatalities that occurred during the making of the episode.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 35,\n    \"content\": \"Chuck Norris is a very generous man -- every day, he allows billions of people to continue to live.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 36,\n    \"content\": \"TNT was originally developed by Chuck Norris to cure indigestion.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 37,\n    \"content\": \"Chuck Norris can hit you so hard that he can actually alter your DNA. Decades from now your descendants will occasionally clutch their heads and yell \\\"What The Hell was That?\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 38,\n    \"content\": \"What was going through the minds of all of Chuck Norris' victims before they died? His shoe.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 39,\n    \"content\": \"You don't really see a light at the end of the tunnel you see Chuck Norris roundhouse kick your face.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 40,\n    \"content\": \"According to Einstein's theory of relativity, Chuck Norris can actually roundhouse kick you yesterday.\"\n  },\n  {\n    \"categories\": [\"movie\"],\n    \"id\": 41,\n    \"content\": \"In the movie \\\"The Matrix\\\", Chuck Norris is the Matrix. If you pay close attention in the green \\\"falling code\\\" scenes, you can make out the faint texture of his beard.\"\n  },\n  {\n    \"categories\": [\"music\"],\n    \"id\": 42,\n    \"content\": \"\\\"Let the Bodies Hit the Floor\\\" was originally written as Chuck Norris' theme song.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 43,\n    \"content\": \"Paper beats rock, rock beats scissors, and scissors beats paper, but Chuck Norris beats all 3 at the same time.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 44,\n    \"content\": \"Along with his black belt, Chuck Norris often chooses to wear brown shoes. No one has DARED call him on it. Ever.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 45,\n    \"content\": \"Someone once videotaped Chuck Norris getting pissed off. It was called Walker: Texas Chain Saw Masacre.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 46,\n    \"content\": \"Chuck Norris is the only man to ever defeat a brick wall in a game of tennis.\"\n  },\n  {\n    \"categories\": [\"dev\"],\n    \"id\": 47,\n    \"content\": \"Chuck Norris is currently suing myspace for taking the name of what he calls everything around you.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 48,\n    \"content\": \"Chuck Norris once scored 8000 in a bowling game by using his own balls.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 49,\n    \"content\": \"Chuck Norris once got an A+ for eating his essay and calling his 7th Grade teacher a pussy.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 50,\n    \"content\": \"Pluto is actually an orbiting group of British soldiers from the American Revolution who entered space after the Chuck gave them a roundhouse kick to the face.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 51,\n    \"content\": \"The phrase 'balls to the wall' was originally conceived to describe Chuck Norris entering any building smaller than an aircraft hangar.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 52,\n    \"content\": \"One time, Chuck Norris accidentally stubbed his toe. It destroyed the entire state of Ohio.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 53,\n    \"content\": \"The Holy Trinity is actually Chuck Norris' mammoth wang and gonads.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 54,\n    \"content\": \"A handicapped parking sign does not signify that this spot is for handicapped people. It is actually in fact a warning, that the spot belongs to Chuck Norris and that you will be handicapped if you park there.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 55,\n    \"content\": \"Chuck Norris never actually gets hit by punches and kicks, he actually is performing a fighting style where he smashes the limbs of his foes with his face.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 56,\n    \"content\": \"At some point, you go past \\\"dangerous\\\" into \\\"insane\\\". Beyond that on the spectrum, you have \\\"homicidal\\\", \\\"a national threat\\\" and finally a category that experts have simply named, \\\"Chuck Norris\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 57,\n    \"content\": \"The last digit of pi is Chuck Norris. He is the end of all things.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 58,\n    \"content\": \"Scientifically speaking, it is impossible to charge Chuck Norris with \\\"obstruction of justice.\\\" This is because even Chuck Norris cannot be in two places at the same time.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 59,\n    \"content\": \"Chuck Norris once challenged Lance Armstrong in a \\\"Who has more testicles?\\\" contest. Chuck Norris won by 5.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 60,\n    \"content\": \"Chuck Norris has never been in a fight, ever. Do you call one roundhouse kick to the face a fight?\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 61,\n    \"content\": \"Chuck Norris invented his own type of karate. It's called Chuck-Will-Kill.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 62,\n    \"content\": \"Chuck Norris can ski on lava and roast marshmallows on snow.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 63,\n    \"content\": \"Once you go Norris, you are physically unable to go back.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 64,\n    \"content\": \"Chuck Norris runs on batteries. Specifically, Die Hards.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 65,\n    \"content\": \"Chuck Norris once ate four 30lb bowling balls without chewing.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 66,\n    \"content\": \"Chuck Norris is ten feet tall, weighs two-tons, breathes fire, and could eat a hammer and take a shotgun blast standing.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 67,\n    \"content\": \"Tom Clancy has to pay royalties to Chuck Norris because \\\"The Sum of All Fears\\\" is the name of Chuck Norris' autobiography.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 68,\n    \"content\": \"Chuck Norris was the orginal sculptor of Mount Rushmore. He completed the entire project using only a bottle opener and a drywall trowel.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 69,\n    \"content\": \"Not everyone that Chuck Norris is mad at gets killed. Some get away. They are called astronauts.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 70,\n    \"content\": \"Chuck Norris once cut a man into two equal diametrically opposing sections by giving him a wedgie.\"\n  },\n  {\n    \"categories\": [\"dev\"],\n    \"id\": 71,\n    \"content\": \"All arrays Chuck Norris declares are of infinite size, because Chuck Norris knows no bounds.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 72,\n    \"content\": \"Chuck Norris' house has no doors, only walls that he walks through.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 73,\n    \"content\": \"When Chuck Norris farts out loud, no one dares laugh. They all go home and die due to fart poisoning, Chuck Norris Fart Poisoning.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 74,\n    \"content\": \"The phrase 'break a leg' was originally coined by Chuck Norris's co-stars in Walker, Texas Ranger as a good luck charm, indicating that a broken leg might be the worst extent of their injuries. This never proved to be the case.\"\n  },\n  {\n    \"categories\": [\"dev\"],\n    \"id\": 75,\n    \"content\": \"Chuck Norris is the ultimate mutex, all threads fear him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 76,\n    \"content\": \"Chuck Norris can't finish a \\\"color by numbers\\\" because his markers are filled with the blood of his victims. Unfortunately, all blood is dark red.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 77,\n    \"content\": \"It is better to give than to receive. This is especially true of a Chuck Norris roundhouse kick.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 78,\n    \"content\": \"Thousands of years ago Chuck Norris came across a bear. It was so terrified that it fled north into the arctic. It was also so terrified that all of its decendents now have white hair.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 79,\n    \"content\": \"Ninjas want to grow up to be just like Chuck Norris. But usually they grow up just to be killed by Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 80,\n    \"content\": \"Captain Planet once told Chuck Norris that he had control over all the elements - earth, water, wind and fire. Chuck Norris then drowned him in fire and blew him six feet under, thereby utilizing all four elements to move the good captain asunder. (It should be noted here that Chuck Norris, for the first time ever, deviated from using his signature roundhouse kick.)\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 81,\n    \"content\": \"Chuck Norris can hammer an nail into the wall with a roundhouse kick\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 82,\n    \"content\": \"CNN was originally created as the \\\"Chuck Norris Network\\\" to update Americans with on-the-spot ass kicking in real-time.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 83,\n    \"content\": \"Chuck Norris can kick through all 6 degrees of separation, hitting anyone, anywhere, in the face, at any time.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 84,\n    \"content\": \"Chuck Norris built a time machine and went back in time to stop the JFK assassination. As Oswald shot, Chuck met all three bullets with his beard, deflecting them. JFK's head exploded out of sheer amazement.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 85,\n    \"content\": \"Chuck Norris doesn't actually write books, the words assemble themselves out of fear.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 86,\n    \"content\": \"This year's Chuck Norris Super Sunday Super Bowl party was catered by Chick-fil-A and all other party items delivered by Hobby Lobby\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 87,\n    \"content\": \"It is scientifically impossible for Chuck Norris to have had a mortal father. The most popular theory is that he went back in time and fathered himself.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 88,\n    \"content\": \"Chuck Norris is the only man who has, literally, beaten the odds. With his fists.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 89,\n    \"content\": \"Chuck Norris doesn't stub his toes. He accidentally destroys chairs, bedframes, and sidewalks.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 90,\n    \"content\": \"How much wood would a woodchuck chuck if a woodchuck could Chuck Norris? All of it.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 91,\n    \"content\": \"Chuck Norris is the father of all WMDs.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 92,\n    \"content\": \"Chuck Norris is the only person in the world that can actually email a roundhouse kick.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 93,\n    \"content\": \"We live in an expanding universe. All of it is trying to get away from Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 94,\n    \"content\": \"This little piggy went to the market,this little piggy stayed home,this little piggy went we we we all the way home because Chuck Norris delivered a fatal roundhouse kick to the other piggy.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 95,\n    \"content\": \"Chuck Norris' erections always last for over 4 hours. Only his wife needs to call a doctor for erections that last that long.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 96,\n    \"content\": \"Faster than a speeding bullet... More powerful than a locomotive... Able to leap tall buildings in a single bound... These are some of Chuck Norris's warm-up exercises.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 97,\n    \"content\": \"There is no theory of evolution, just a list of creatures Chuck Norris allows to live.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 98,\n    \"content\": \"All roads lead to Chuck Norris. And by the transitive property, a roundhouse kick to the face.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 99,\n    \"content\": \"\\\"Sweating bullets\\\" is literally what happens when Chuck Norris gets too hot.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 100,\n    \"content\": \"Chuck Norris has a sign in his front yard that reads, \\\"Beware of Chuck Norris.\\\" This is not a joke. He actually has one.\"\n  },\n  {\n    \"categories\": [\"history\"],\n    \"id\": 101,\n    \"content\": \"The Great Wall of China was originally created to keep Chuck Norris out. It failed miserably.\"\n  },\n  {\n    \"categories\": [\"dev\"],\n    \"id\": 102,\n    \"content\": \"MySpace actually isn't your space, it's Chuck's (he just lets you use it).\"\n  },\n  {\n    \"categories\": [\"dev\"],\n    \"id\": 103,\n    \"content\": \"Chuck Norris can install iTunes without installing Quicktime.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 104,\n    \"content\": \"Chuck Norris Plays paintball with Al Qaeda.\"\n  },\n  {\n    \"categories\": [\"dev\"],\n    \"id\": 105,\n    \"content\": \"Chuck Norris originally appeared in the \\\"Street Fighter II\\\" video game, but was removed by Beta Testers because every button caused him to do a roundhouse kick. When asked about this glitch, Norris replied \\\"That's no glitch.\\\"\"\n  },\n  {\n    \"categories\": [\"dev\"],\n    \"id\": 106,\n    \"content\": \"Chuck Norris does not need to type-cast. The Chuck-Norris Compiler (CNC) sees through things. All way down. Always.\"\n  },\n  {\n    \"categories\": [\"dev\"],\n    \"id\": 107,\n    \"content\": \"Chuck Norris doesn't need garbage collection because he doesn't call .Dispose(), he calls .DropKick().\"\n  },\n  {\n    \"categories\": [\"dev\"],\n    \"id\": 108,\n    \"content\": \"All browsers support the hex definitions #chuck and #norris for the colors black and blue.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 109,\n    \"content\": \"Chuck Norris plays paintball with live ammunition in Afghanistan.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 110,\n    \"content\": \"Allstate is in good hands with Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 111,\n    \"content\": \"Chuck Norris gargles ball bearings.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 112,\n    \"content\": \"CHUCK NORRIS WILL KILL YOU ALL!\"\n  },\n  {\n    \"categories\": [\"celebrity\"],\n    \"id\": 113,\n    \"content\": \"Wilt Chamberlain claims to have slept with more than 20,000 women in his lifetime. Chuck Norris calls this \\\"a slow Tuesday.\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 114,\n    \"content\": \"Chuck Norris decided he needed to have a pet. He looked at dogs and cats then ended up getting a pet alligator named Fluffy.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 115,\n    \"content\": \"All good things must come to an end...... When Chuck Norris says stop.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 116,\n    \"content\": \"They say that the size and value of a man's car is inversely proportional to the size of his manhood. That must be why Chuck Norris usually gets around on a pair of rollerskates. And a wheelbarrow.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 117,\n    \"content\": \"Chuck Norris once had a heckler call him \\\"Chuckie\\\". Chuck kicked him so hard he was arrested for speeding 2 blocks away.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 118,\n    \"content\": \"Chuck Norris can sing with his feet and walk on his eyeballs.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 119,\n    \"content\": \"Chuck Norris was an only child...eventually.\"\n  },\n  {\n    \"categories\": [\"movie\"],\n    \"id\": 120,\n    \"content\": \"\\\"Brokeback Mountain\\\" is not just a movie. It's also what Chuck Norris calls the pile of dead ninjas in his front yard.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 121,\n    \"content\": \"As a teen, Chuck Norris had sex with every nun in a convent tucked away in the hills of Tuscany. Nine months later the nuns gave birth to the 1972 Miami Dolphins, the only undefeated and untied team in professional football history.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 122,\n    \"content\": \"Chuck Norris can power-shit a large ball bearing through your skull from half a mile away.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 123,\n    \"content\": \"Whenever Chuck Norris sees a world touched by war, thousands of soldiers dying and mortars exploding, guns guns and more guns are firing....He really just wants to nuke the crap outta it.\"\n  },\n  {\n    \"categories\": [\"celebrity\"],\n    \"id\": 124,\n    \"content\": \"Bill Gates thinks he's Chuck Norris. Chuck Norris actually laughed. Once.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 125,\n    \"content\": \"Chuck Norris injects hot coffee directly into his eyeballs.\"\n  },\n  {\n    \"categories\": [\"food\"],\n    \"id\": 126,\n    \"content\": \"In honor of Chuck Norris, all McDonald's in Texas have an even larger size than the super-size. When ordering, just ask to be Chucksized.\"\n  },\n  {\n    \"categories\": [\"religion\"],\n    \"id\": 127,\n    \"content\": \"The Bible was originally titled \\\"Chuck Norris and Friends\\\"\"\n  },\n  {\n    \"categories\": [\"food\"],\n    \"id\": 128,\n    \"content\": \"Chuck Norris once sued Burger King after they refused to put razor wire in his Whopper Jr, insisting that that actually is \\\"his\\\" way.\"\n  },\n  {\n    \"categories\": [\"food\"],\n    \"id\": 129,\n    \"content\": \"When in a bar, you can order a drink called a \\\"Chuck Norris\\\". It is also known as a \\\"Bloody Mary\\\", if your name happens to be Mary.\"\n  },\n  {\n    \"categories\": [\"sport\"],\n    \"id\": 130,\n    \"content\": \"Chuck Norris has the greatest Poker-Face of all time. He won the 1983 World Series of Poker, despite holding only a Joker, a Get out of Jail Free Monopoloy card, a 2 of clubs, 7 of spades and a green #4 card from the game UNO.\"\n  },\n  {\n    \"categories\": [\"food\"],\n    \"id\": 131,\n    \"content\": \"Chuck Norris can drink an entire gallon of milk in thirty-seven seconds.\"\n  },\n  {\n    \"categories\": [\"movie\"],\n    \"id\": 132,\n    \"content\": \"Teenage Mutant Ninja Turtles is based on a true story: Chuck Norris once swallowed a turtle whole, and when he crapped it out, the turtle was six feet tall and had learned karate.\"\n  },\n  {\n    \"categories\": [\"movie\"],\n    \"id\": 133,\n    \"content\": \"The opening scene of the movie \\\"Saving Private Ryan\\\" is loosely based on games of dodgeball Chuck Norris played in second grade.\"\n  },\n  {\n    \"categories\": [\"sport\"],\n    \"id\": 134,\n    \"content\": \"Chuck Norris used to play baseball. When Babe Ruth was hailed as the better player, Chuck Norris killed him with a baseball bat to the throat. Lou Gehrig got off easy.\"\n  },\n  {\n    \"categories\": [\"food\"],\n    \"id\": 135,\n    \"content\": \"Most tough men eat nails for breakfast. Chuck Norris does all of his grocery shopping at Home Depot.\"\n  },\n  {\n    \"categories\": [\"movie\"],\n    \"id\": 136,\n    \"content\": \"MacGyver can build an airplane out of gum and paper clips, but Chuck Norris can roundhouse-kick his head through a wall and take it.\"\n  },\n  {\n    \"categories\": [\"sport\"],\n    \"id\": 137,\n    \"content\": \"There are no steroids in baseball. Just players Chuck Norris has breathed on.\"\n  },\n  {\n    \"categories\": [\"sport\"],\n    \"id\": 138,\n    \"content\": \"Chuck Norris plays racquetball with a waffle iron and a bowling ball.\"\n  },\n  {\n    \"categories\": [\"money\"],\n    \"id\": 139,\n    \"content\": \"When Chuck Norris calls 1-900 numbers, he doesn't get charged. He holds up the phone and money falls out.\"\n  },\n  {\n    \"categories\": [\"science\"],\n    \"id\": 140,\n    \"content\": \"Science Fact: Roundhouse kicks are comprised primarily of an element called Chucktanium.\"\n  },\n  {\n    \"categories\": [\"science\"],\n    \"id\": 141,\n    \"content\": \"It is believed dinosaurs are extinct due to a giant meteor. That's true if you want to call Chuck Norris a giant meteor.\"\n  },\n  {\n    \"categories\": [\"celebrity\"],\n    \"id\": 142,\n    \"content\": \"In a tagteam match, Chuck Norris was teamed with Hulk Hogan against King Kong Bundy and Andre The Giant. He pinned all 3 at the same time.\"\n  },\n  {\n    \"categories\": [\"career\"],\n    \"id\": 143,\n    \"content\": \"Chuck Norris is actually the front man for Apple. He let's Steve Jobs run the show when he's on a mission. Chuck Norris is always on a mission.\"\n  },\n  {\n    \"categories\": [\"science\"],\n    \"id\": 144,\n    \"content\": \"When Chuck Norris falls in water, Chuck Norris doesn't get wet. Water gets Chuck Norris.\"\n  },\n  {\n    \"categories\": [\"science\"],\n    \"id\": 145,\n    \"content\": \"When J. Robert Oppenheimer said \\\"I am become death, the destroyer Of worlds\\\", He was not referring to the atomic bomb. He was referring to the Chuck Norris halloween costume he was wearing.\"\n  },\n  {\n    \"categories\": [\"history\"],\n    \"id\": 146,\n    \"content\": \"Chuck Norris originally wrote the first dictionary. The definition for each word is as follows - A swift roundhouse kick to the face.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 147,\n    \"content\": \"Magicians always have an extra trick up their sleeve. Chuck Norris has an extra pair of balls up his.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 148,\n    \"content\": \"Chuck Norris discovered a new species of butterfy. The aptly named Chucknorrriscus Mortalitas (striking butterfly of death). It goes high into the air and takes a dramatic dive to crash into a human skull, literally splitting it open, giving the human only a few seconds to live after that. Then, it feeds on the human brain.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 149,\n    \"content\": \"Chuck Norris once competed in the Iditarod Sled Dog Race pulling his team of 12 dogs, the sled, 4 SUVs, and a tank batallion. He finished 115 hours before the runner-up.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 150,\n    \"content\": \"Neil Armstrong finally wore out Chuck Norris' patience.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 151,\n    \"content\": \"Lance Armstrong finally admitted to his steroid use simply because Chuck Norris warned him that he would bite the other one off.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 152,\n    \"content\": \"When Chuck Norris was a bartender he invented a drink called the \\\"Colon Slammer\\\". It was made with Vodka and Prune juice.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 153,\n    \"content\": \"Little known fact: Chuck Norris was a massive Doors fan, and for a while used to insist on being called Chuck Norrison. Then he heard that the singer moved to France, then scared him to death in the bathtub.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 154,\n    \"content\": \"All ten of Chuck Norris' fingers are middle fingers.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 155,\n    \"content\": \"It is scientifically impossible for Chuck Norris to have had a mortal father. He went back in time and fathered himself.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 156,\n    \"content\": \"Chuck Norris was at the zoo and accidentally fell into the lion pen. A fierce male lion charged up to Chuck, then politely showed him to the exit gate.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 157,\n    \"content\": \"Chuck Norris lettered in 14 sports in high school. He would have had won letters in 15 if ass-kicking had been an officially recognized sport.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 158,\n    \"content\": \"Chuck Norris can call himself on his own cell phone and not get a busy signal.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 159,\n    \"content\": \"When the power went out at a Dallas TX shopping mall, Chuck Norris single-handedly rescued 14 blondes that were trapped on the escalators.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 160,\n    \"content\": \"Chuck Norris' balls make a pumpkin look like a bronze bb.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 161,\n    \"content\": \"Only Chuck Norris is allowed to take a dump off the Golden Gate Bridge. Onlookers boating in the bay celebrate the event by getting shit faced before the party drinking begins.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 162,\n    \"content\": \"Chuck Norris once launched a massive reverse roundhouse kick at a man's face, missed and struck a conrete wall. The man died anyway from the percussion shock.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 163,\n    \"content\": \"Chuck Norris once thought that he a hemorrhoid on his asshole. When it fell off, he discovered is was actually a huge tick that died from blood poisoning.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 164,\n    \"content\": \"Teenage Mutant Ninja Turtles is based on a true story: Chuck Norris once ate a whole turtle and when he crapped it out it was six feet tall and had learned karate.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 165,\n    \"content\": \"Before Chuck Norris was born, the martial arts weapons with two wooden rods attached to a chain were originally called Nunwaldos. Nobody knows what happened to Waldo but they are still looking for him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 166,\n    \"content\": \"Chuck Norris was at a drugstore recently and mistaken for an employee. A lady asked \\\"do you have cotton balls\\\"? Chuck replied \\\"no ma'am, mine are solid meat\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 167,\n    \"content\": \"Michael Jordan is the Chuck Norris of basketball.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 168,\n    \"content\": \"Chuck Norris can tgjiethgrvljhjdhntsrndkhjdkhkfghbjrdsnhwedjkwbnjdfss HAAAAAAAAAAAAAAAAAACK! STOP! PLEASE! I BEG UH He died. I knew what he was going to say. It's super secret. if anyone knows, they die. Oh, and he was using this software called \\\"Dragon\\\": it's a speech-to-text device. - Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 169,\n    \"content\": \"When Chuck Norris goes to an ATM, the machine empties itself of all cash to Chuck Norris out of sheer terror.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 170,\n    \"content\": \"If you ever say 'have a nice day' to Chuck Norris, he will of course reply 'don't mind if I do' then immediately stab you in the throat with his car keys and enthusiastically bone your girlfriend as you die.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 171,\n    \"content\": \"Chuck Norris buys all of his horses, long horn steers, feed and water at 7-11 convenience stores.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 172,\n    \"content\": \"Chuck Norris calls creditors..they always pay\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 173,\n    \"content\": \"I made an error for 5720. The world will not end, to probably everyone's relief. Here is the corrected version: Chuck Norris can tgjiethgrvljhjdhntsrndkhjdkhkfghbjrdsnhwedjkwbnjdfss HAAAAAAAAAAAAAAAAAACK! STOP! PLEASE! I BEG UH He died. I knew what he was going to say. It's super secret. If anyone knows, they die. Oh, and he was using this software called \\\"Dragon\\\": it's a speech-to-text device. - Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 174,\n    \"content\": \"Chuck Norris can be totally understood by Russian people, by simply speaking plain english and adding a '-ski' at the end of every sentance.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 175,\n    \"content\": \"Chuck Norris can crash your dorm party get all the women's attention and shit on the floor before he leaves, why? Because he's Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 176,\n    \"content\": \"Chuck Norris is the alpha and the omega. And all those other fruity letters.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 177,\n    \"content\": \"Chuck Norris went up Niagara Falls in a barrel.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 178,\n    \"content\": \"Chuck Norris actually smiles two or three times a year, proving that his facial muscles can withstand stresses which would pulp a regular human skull.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 179,\n    \"content\": \"If released, the four-hour Chuck Norris/Kim Kardashian sex-tape will literally break the internet.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 180,\n    \"content\": \"There are lesser apes and greater apes. Chuck Norris is the greatest apes of them all.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 181,\n    \"content\": \"Only Expendables 2 earned its title as an All Star Movie, and that was merely by the introduction of Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 182,\n    \"content\": \"How do you get to Carnagie Hall? Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 183,\n    \"content\": \"God created Chuck Norris because Chuck Norris allowed him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 184,\n    \"content\": \"Chuck Norris visited Americas Toughest Prison for a vacation. After 30 seconds of fighting, all the inmates asked to be transferred to Death Row.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 185,\n    \"content\": \"In the movie Alien 5 the Asswhoopin', movie goers were astonished to see a small Chuck Norris burst out of an alien and proceed to kick the crap out of him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 186,\n    \"content\": \"On February 15, 2013, Chuck Norris hit a home run out of Rangers Ballpark that made it to Chelyabinsk, Russia before exploding. New personal best.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 187,\n    \"content\": \"When Chuck Norris plays pokemon red, his starter pokemon choices are: Darkrai, Arceus, and Missingno. He, of course, takes them all and is ALREADY a pokemon champion.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 188,\n    \"content\": \"Chuck Norris falls in a pit with hundreds of Rattlesnakes. The next day he emerges with Rattleskin boots,belt,hat,jacket and noticeable weight gain.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 189,\n    \"content\": \"If God knows all, sees all, and hears all, then God must be Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 190,\n    \"content\": \"Chuck Norris once developed a severe case of upset stomach after eating an entire live rhino. He had to pull the pin and swallow a live hand grenade just to be able to burp.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 191,\n    \"content\": \"Chuck Norris made a pair of toy X-Ray vision glasses really work.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 192,\n    \"content\": \"Facebook was originally Chuck Norris's personal webpage of pictures of the people he has roundhouse kicked in face.It filled up with so many people it leaked onto the internet.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 193,\n    \"content\": \"Bruce Lee didn't actually kill Chuck Norris, Chuck Norris was just bored of fighting so he took a nap\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 194,\n    \"content\": \"Chuck Norris has been there, done that, and got the t-shirt, cap, the mug and spoon set, and the woman who handed all that shit to him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 195,\n    \"content\": \"Chuck Norris is edgier than all the ghettos of Detroit.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 196,\n    \"content\": \"Chuck Norris was the first actor cast to play John McClane, the movies were originally called \\\"Kills Easily\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 197,\n    \"content\": \"All is Chuck Norris and Chuck Norris is All.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 198,\n    \"content\": \"An average guy going up against Chuck Norris would be like Woody Allen going into the ring with Mike Tyson.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 199,\n    \"content\": \"Chuck Norris once started a forest fire by clanging the wrecking balls down his pants together.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 200,\n    \"content\": \"The so-called imaginary numbers used to be real numbers, till Chuck Norris roundhouse kicked them to oblivion. This incident is also responsible for most of the mysteries of the Universe.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 201,\n    \"content\": \"Chuck Norris' balls are so big, that if Kayne West was in the same room with him their gravitational pull would attract Kayne West's tongue. Kayne West is such a girl, that if his tongue were to come into contact with Chuck Norris' balls, he would instinctively begin licking them like a $2 ho.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 202,\n    \"content\": \"Chuck Norris can run so fast, he can actually shoot an apple off of his own head\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 203,\n    \"content\": \"Chuck Norris completed his bucket list when he was 14. He officially retired that year.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 204,\n    \"content\": \"Once Chuck Norris installed an internet in his windmill.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 205,\n    \"content\": \"Chuck Norris is allowed to put Baby in the corner.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 206,\n    \"content\": \"Chuck Norris recently created a new genre of music, by fusing country music with East Coast gansta rap and Swedish death metal while incorporating elements of Tibetian throat-singing. He calls it Norrisound.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 207,\n    \"content\": \"There is a light at the end of every tunnel, just pray it's not the frieght train called Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 208,\n    \"content\": \"Hot news from the Vatican...white smoke appears. Chuck Norris has been elected Pope! All ye of faith, welcome Pope Charles deNoir-iz Kikyorectumis.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 209,\n    \"content\": \"Chuck Norris is so modest that his ranch isn't called \\\"Chuck Norris's ranch.\\\" It is simply called \\\"Texas\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 210,\n    \"content\": \"Chuck Norris won the NBA Slam Dunk competition by just holding the ball.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 211,\n    \"content\": \"Chuck Norris once roundhouse kicked a guy called Phil. Afterwards Phil became known as Empty.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 212,\n    \"content\": \"Chuck Norris will not be in The Expendables 3 simply because Stallone never wants to feel that terrified again.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 213,\n    \"content\": \"Lindsay Lohan was actually on her way to having a great acting career before Chuck Norris sodomized her.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 214,\n    \"content\": \"Chuck Norris can speak English, Spanish, French, Japanese, Russian, Italian, and Elvish- all at the same time.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 215,\n    \"content\": \"Ironically, Chuck Norris once drowned an elephant in a 5,000 gallon vat of peanut oil.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 216,\n    \"content\": \"Chuck Norris once got a 500 in bowling. Without a ball. Or pins. Or oxygen.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 217,\n    \"content\": \"If \\\"Evil Dead\\\" had starred Chuck Norris as originally planned, it would have shattered box office records and be hailed as a masterpiece of modern cinema.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 218,\n    \"content\": \"Chuck Norris stood up next to a mountain, and chopped it down with the edge of his hand. He then picked up all the pieces and made a little island. The only surviving witness was Jimi Hendrix.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 219,\n    \"content\": \"Chuck Norris can make you disappear with just a blink of an eye, literally.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 220,\n    \"content\": \"Bikers call themselves \\\"hang arounds\\\" when they're with Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 221,\n    \"content\": \"Chuck Norris once demonstrated CPR, and actually brought the dummy to life.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 222,\n    \"content\": \"Chuck Norris has only vomited once. It was a giant ball of 100% pussy hair.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 223,\n    \"content\": \"Chuck Norris is actually every member of Slipknot. That's how fast he can change costumes.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 224,\n    \"content\": \"The Sherman tank was originaly called the Norris tank until Chuck Norris decided it wasn't tough enough to be associated with him. The Army, for fear of Chuck Norris, renamed the tank and promised to develop a weapon more fitting of his name. To date, no weapon created has been badass enough to be named after Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 225,\n    \"content\": \"Chuck Norris can spit calligraphy.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 226,\n    \"content\": \"Tim Tebow can throw a football over 50 yards. Chuck Norris can throw Time Tebow even further.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 227,\n    \"content\": \"The Van Halen song \\\"Runnin' With The Devil\\\" was originally called \\\"Running Screaming From Chuck Norris\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 228,\n    \"content\": \"All Chuck Norris facts should be told in a respectful whisper, whilst laying one's palms and forehead on the floor.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 229,\n    \"content\": \"the Speaking Clock calls up Chuck Norris to make sure IT is correct\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 230,\n    \"content\": \"Chuck Norris doesn't give you a 'pearl necklace', he simply kills you in a really gross way.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 231,\n    \"content\": \"If you've ever wondered where the wind comes from, it's Chuck Norris breathing. The next time it's really windy outside, Chuck Norris is jogging.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 232,\n    \"content\": \"While bass fishing near a hiway bridge in his boat, Chuck Norris observed a funeral procession drive by. Out of respect, he stood-up, removed his hat placing it over his heart and thought to himself, \\\"this is the least I can do...after all I was married to her for over 40 years\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 233,\n    \"content\": \"Chuck Norris can bake a turkey, a ham and 3 pumpkin pies, all at once inside an easy-bake oven\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 234,\n    \"content\": \"As a 3rd grader at school, Chuck Norris played schoolyard dodgeball with all the other boys using 80 pound cannonballs.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 235,\n    \"content\": \"Chuck Norris happened to bump into a tower with his erection during a visit to Pisa, Italy. This tower is now called the leaning tower of Pisa.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 236,\n    \"content\": \"Chuck Norris can kick you in the nuts so hard, they will fly through your body up into your head and knock out your eyeballs, effectively replacing them.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 237,\n    \"content\": \"Chuck Norris wins NASCAR races with all right turns.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 238,\n    \"content\": \"Archaeologists in Egypt have recently discovered what may be the world's oldest Chuck Norris fact written on the inside of a sarcophagus - translated from the ancient language, it reads 'Big Chuck is holding a gun to my head and telling me to write this/Big Chuck is the lord of time travel/All hail Big Chuck'.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 239,\n    \"content\": \"They had to build a second afterlife for all of the people Chuck Norris killed.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 240,\n    \"content\": \"In The Bible, it says that Jonah was swallowed by the whale and the whale was swallowed by Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 241,\n    \"content\": \"Want to have the scariest Halloween costume ever...dress up as Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 242,\n    \"content\": \"Chuck Norris invented Kotex MaxiPads. Originally they were used in hospital ER's to stop profuse bleeding from any part of his victim's body.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 243,\n    \"content\": \"The Internet Movie Database reports that Chuck Norris has appeared in 38 films to date. This of course doesn't count the literally thousands of porno and snuff movies Chuck Norris has starred in and/or directed.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 244,\n    \"content\": \"Chuck Norris usually prefers to travel on the OUTSIDE of taxis, trains and commercial aircraft.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 245,\n    \"content\": \"Chuck Norris is basically a giant throbbing pair of testicles with a cowboy hat and beard.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 246,\n    \"content\": \"Chuck Norris'new show is called \\\"12\\\" because he doesn't need \\\"24\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 247,\n    \"content\": \"Chuck Norris doesn't call the wrong number. You answer the wrong phone\"\n  },\n  {\n    \"categories\": [\"religion\"],\n    \"id\": 248,\n    \"content\": \"Chuck Norris was originally offered the role as Frodo in Lord of the Rings. He declined because, \\\"Only a pussy would need three movies to destroy a piece of jewelery.\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 249,\n    \"content\": \"Chuck Norris drank up all his alcohol. Then he puked out guns. Hell yeah i said guns. He used them to kill people.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 250,\n    \"content\": \"The duck billed platypus is the result of a duck being roundhouse kicked in the head far to close to a beaver by Chuck Norris. The fact yay they have a pouch is a testament to the genetically altering properties of a Chuck Norris Roundhouse kick to the head.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 251,\n    \"content\": \"Chuck Norris entered the NFL Hall of Fame on the first ballot.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 252,\n    \"content\": \"Chuck Norris does not need to use spell check. If he happens to misspell a word, Merriam-Webster dictionary actually changes it's own published spelling.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 253,\n    \"content\": \"Allstate won't quote a rate for mayhem like Chuck Norris!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 254,\n    \"content\": \"The straight and narrow path actually belongs to Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 255,\n    \"content\": \"Chuck Norris can deny the \\\"License Agreement\\\" and still be able to install the software\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 256,\n    \"content\": \"A child once got a Chuck Norris action figure for his b-day and he made the mistake of calling it a doll... he hasn't come out of the coma yet\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 257,\n    \"content\": \"Nelson Mandela was not released from Robben Island prison in 1990. Chuck Norris broke him out of prison, roundhouse kicked ALL the prison gaurds, and safely escorted him to the coast of Capetown. Its good to have a friend like Chuck!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 258,\n    \"content\": \"Whoever said \\\"You can't win them all\\\" obviously never met Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 259,\n    \"content\": \"The current stock market crash began when Chuck Norris faxed a Roundhouse kick to Wall Street\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 260,\n    \"content\": \"'Old Glory' is also what Chuck Norris calls his package.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 261,\n    \"content\": \"Chuck Norris actually died a million years ago. Death just doesn't have the balls to tell him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 262,\n    \"content\": \"Chuck Norris ritually craps out quotes that all of us would be lucky to utter on our deathbeds\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 263,\n    \"content\": \"Chuck Norris once found the mammary glands on his pet alligator. He milks her every morning and uses it to foam his morning lattes.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 264,\n    \"content\": \"there is no theory of evolution, just a list of species Chuck Norris allows to live\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 265,\n    \"content\": \"Chuck Norris isn't really a Texas Ranger, although mentioning such blasphamy in a bar setting will undoubtably start a riot. I highly recomend trying it out if you have balls 1/8th the size of Chuck's.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 266,\n    \"content\": \"It is considered a great accomplishment to go down Niagara Falls in a wooden barrel. Chuck Norris can go up Niagara Falls in a cardboard box.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 267,\n    \"content\": \"As the old saying goes, You can't make an omelette without Chuck Norris cracking a few human skulls. Because basically he does that all the time.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 268,\n    \"content\": \"Chuck Norris is all about that roundhouse kick, bout that roundhouse kick. No punches.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 269,\n    \"content\": \"Chuck Norris can easily read your mind, by simply shooting you in the face and examining the wall behind you.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 270,\n    \"content\": \"All professional sports teams pay Chuck Norris Not to play--saves money on body bags and funeral arrangements.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 271,\n    \"content\": \"If Chuck Norris decides he wants to take a shit on your chest, you just have to quickly come to terms with the fact that you're about to get shit-chested. All you can do is try to craft a thank you speech that touches him enough to not move on to other bodily expulsions.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 272,\n    \"content\": \"Chuck Norris contacted Smallpox. It made him sniffle and it evolved into Ebola. So he blew his nose while on vacation in Liberia.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 273,\n    \"content\": \"The upcoming debut album by the Chuck Norris Experience is expected to become the highest-selling album of all time.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 274,\n    \"content\": \"There was once a 51st state, known as New Idaho. It has not been heard of since it snubbed Chuck Norris as governor and was roundhouse kicked into a parallel dimension, along with Chuck's virginity and the last sonofabitch that overcooked his panda bear steaks. Chuck Norris eats his panda raw\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 275,\n    \"content\": \"People talk about what a bad ass Chuck Norris is and I just don't get it . I think it's all made up. To me he is just a regular just a minute someone at the the door...\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 276,\n    \"content\": \"Chuck Norris once shot down a Russian MIG in an aerial dogfight. Chuck was flying in a hot air ballon.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 277,\n    \"content\": \"Chuck Norris has six assholes. And even he will need them all to shit enough corn & peanuts infused feces on the U.S. House of Representatives.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 278,\n    \"content\": \"Chuck Norris has the worlds biggest balls, will Weston has the worlds second largest balls\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 279,\n    \"content\": \"Chuck lives forever - You really want to know what happened to the dinosaurs? One of them made fun of Chuck Norris's 'stache.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 280,\n    \"content\": \"Chuck Norris's wife had a baby,he did all the breast feeding!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 281,\n    \"content\": \"Chuck Norris was originally going to be in Cowboys VS Aliens, but the movie would have been over in about 3 minutes and 7 seconds.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 282,\n    \"content\": \"Chuck Norris thinks Marcelles Wallace looks like a bitch.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 283,\n    \"content\": \"Chuck Norris starred in all the 6 Star Wars&#65279; films... as the Force.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 284,\n    \"content\": \"If Chuck Norris only had one leg, it would be called Hopper: Texas Ranger.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 285,\n    \"content\": \"Once Chuck Norris actually tried on one of his roundhouse kicks. This was also the start of World war 1 and the aftershock of the beginning of World war 2\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 286,\n    \"content\": \"CHUCK NORRIS CAN CUT THE PERFECT SLICE OF CAKE WITHOUT MESSING A SINGLE CRUMB, USING ONLY A BASEBALL BAT.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 287,\n    \"content\": \"Chuck Norris was selling a line of drinks called (Chuck Norris in a can) in a wide variety of flavors, but do to the fact that the drinks had a roundhouse kick of flavor, it had the same effect as a roundhouse kick.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 288,\n    \"content\": \"Chuck Norris scrathes his balls with barb wire.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 289,\n    \"content\": \"After Chuck Norris roundhouse kicked Theresa Caputo, the Long Island Medium in the face for being a fake, she really was able to communicate with the dearly departed...posthumously.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 290,\n    \"content\": \"Chuck Norris can destroy a falling piano with a dime.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 291,\n    \"content\": \"All libraries file Chuck Norris' novels in Non-Fiction\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 292,\n    \"content\": \"Santa actually gives everyone presents. It's just that Chuck Norris pounds some of them into coal.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 293,\n    \"content\": \"The dinosaurs are extinct because when Chuck Norris was a growing boy, he ate them for lunch. All of them. In one sitting. Scientists have recently discovered prehistoric ash in the crater in mexico, revealing that this was not created by a meteor, but was in fact Chuck Norris's fire pit for this meal.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 294,\n    \"content\": \"Colnel Sander's 11 secret herbs and spices are actually Chuck Norris' sweat, pubes, toejam, backwash, clingons, sleep, fingernail clippings, urine, bile, heel callous and semen.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 295,\n    \"content\": \"Chuck Norris doesn't play billiards, as he pots all the balls on his first shot. You won't see this, you would have already been killed by the rebounding cueball.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 296,\n    \"content\": \"The Kool-Aid Pitcher Man once burst through Chuck Norris' livingroom wall and said, \\\"Oh Nooooo!\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 297,\n    \"content\": \"Chuck Norris once made a waterfall run backwards by sheer intimidation.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 298,\n    \"content\": \"Police searching Philip Seymour Hoffman's apartment found a cowboy hat, bowie knife, a full Walker: Texas Ranger DVD box set and a huge Chuck Norris-shaped hole in the wall. They didn't find this even slightly suspicious.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 299,\n    \"content\": \"Chuck Norris doesn't have normal white blood cells like you and I. His have a small black ring around them. This signifies that they are black belts in every form of martial arts and they roundhouse kick the shit out of viruses. That's why Chuck Norris never gets ill.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 300,\n    \"content\": \"It is impossible to beat Chuck Norris in rock, paper, scissors since his roundhouse kick beats all. Yes, even the bomb.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 301,\n    \"content\": \"Chuck Norris forced the Beatles to change the lyrics to many of their songs, including \\\"All You Need Is Chuck\\\", \\\"Hey Jude (Chuck Norris Fathered You)\\\" \\\"I Am Chuck's Walrus\\\" and \\\"Everybody's Got Something To Hide Except Chuck Norris\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 302,\n    \"content\": \"Chuck Norris can literally undress a woman with his eyes.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 303,\n    \"content\": \"Chuck Norris requires a recking ball to bowl\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 304,\n    \"content\": \"The last guy to play frisbee with Chuck Norris was actually Bob Dole.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 305,\n    \"content\": \"The sperm whale is actually the 2nd diving champion. The 1st diving champion is Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 306,\n    \"content\": \"It is a well known fact that too many uninformed people, now deceased, took Chuck Norris for granted. It is equally true that all living, well informed individuals take Chuck Norris for granite.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 307,\n    \"content\": \"Chuck Norris is allergic to mercy. Enough said.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 308,\n    \"content\": \"Nowadays, it's said that the world will end when Chuck Norris eats a yellow apple tree and McDonald's large-sized French fries at the same time. Why? When Chuck Norris farted after eating ONE yellow apple and ONE French fry at the same time, the resulting explosion created Death Valley.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 309,\n    \"content\": \"Chuck Norris once farted and lit it on fire as a joke. We now call it the sun.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 310,\n    \"content\": \"The Grim Reaper is actually Chuck Norris's son.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 311,\n    \"content\": \"The Chuck Norris commandments: Thou shall not misuse your lord Chuck Norris name. (Chuck 1:3)\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 312,\n    \"content\": \"Chuck Norris starred in a sequel to the movie \\\"300\\\" It's called \\\"1\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 313,\n    \"content\": \"if someone challenges Chuck Norris, life ends on earth\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 314,\n    \"content\": \"Once, while tooling around in his Delorean, Chuck Norris accidentally went 4.5 billion years into the past. Before returning to the present, he hocked a wad of phlegm out the window. And that is how all life on earth began.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 315,\n    \"content\": \"We're taught Jesus died for the redemption of our sins: past, present and future. If Chuck Norris sins, we're totally screwed. We'll need a bus full of Jesuses, for something as minor as when Chuck Norris says \\\"God dammit\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 316,\n    \"content\": \"Love is a battlefield. Chuck Norris is Field Marshall.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 317,\n    \"content\": \"Chuck Norris once roundhouse kicked a horse in the face, its descendants are now called the giraffe\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 318,\n    \"content\": \"Chuck Norris pee'd his name in the snow at Aspen. He was standing in Dallas.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 319,\n    \"content\": \"When he was a kid, Chuck Norris invented an imaginary friend, whom he called 'God'. Everyone got in on the act, and religion was born.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 320,\n    \"content\": \"Chuck Norris once defeated a alligator, a bear, and a cougar by tying them together with a anaconda\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 321,\n    \"content\": \"Sadly, Chuck Norris' famous last words were: \\\"Watch this\\\". \\\"Watch\\\" meaning, \\\"please kindly pay attention and observe\\\". \\\"This\\\" meaning, \\\"my snakeskin boot striking your skull thereby splattering your brains upon the ceiling, wall, hallway and finely fashioned Berber carpet\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 322,\n    \"content\": \"All the religions of the world believe that reading Chuck Norris facts aloud daily increases your chances of surviving till the next day.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 323,\n    \"content\": \"Some people swallow live goldfish on a dare. Chuck Norris prefers live piranha.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 324,\n    \"content\": \"Chuck Norris dosen't call 911.. 911 calls Chuck Norris..\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 325,\n    \"content\": \"\\\"He protects woman, and kills enemies. We should all be like Chuck Norris\\\" - Israli Officer\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 326,\n    \"content\": \"It is said that a watch pot nevers boils, but in Chuck Norris case a watch pot boils in an instance out of fear and retallation from Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 327,\n    \"content\": \"The GM.DLS file contains the Roland SoundCanvas Sound Set which is protected under the following copyright: Roland GS Sound Set/Microsoft (P) 1996 Roland Corporation U.S. The Roland SoundCanvas Sound Set is licensed under Microsoft's End User License Agreement for use with Microsoft operating system products only. All other uses require a separate written license from Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 328,\n    \"content\": \"When Chuck Norris turned nine he finally kicked his parents the fuck out of his house.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 329,\n    \"content\": \"The DeathStar wasn't a destroying machine, it was one of Chuck Norris' balls.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 330,\n    \"content\": \"Chuck Norris usually finishes typing before the words start getting displayed on the screen\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 331,\n    \"content\": \"Chuck Norris farts helium, which is tapped by the US Meteorological department to send balloon up into ionosphere. True fact.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 332,\n    \"content\": \"The reason why Chuck Norris can get away with all of his thousands of murders is because he his 'preventing future crimes'.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 333,\n    \"content\": \"Microsoft has made available a new outeractive smartphone app for bullied jr high school dorks and college geeks. It's called the Chuck Norris app. Push the app icon and a Chuck Norris fist explodes from the smartphone and lands squarely upon the soon to be bloody nose of the nearest bully.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 334,\n    \"content\": \"Most people have 23 chromosomes, Chuck Norris has 72 and they're all poisonous\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 335,\n    \"content\": \"Dragon Ball Z was based upon all of Chuck Norris's moves\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 336,\n    \"content\": \"If Chuck Norris ever starred in Jaws, the movie would be called: \\\"Dentures\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 337,\n    \"content\": \"Chuck Norris is the only person on Earth who can literally be beside himself. You don't want to be around when they do that.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 338,\n    \"content\": \"Whitney Houston was recently found dead in a Hotel room with drugs all around her body. She overdosed once she found out Chuck Norris was actually her father.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 339,\n    \"content\": \"Chuck Norris recently got Sylvester Stallone in a headlock and told him 'motherfucker if I ever hear you fucking swear I will motherfucking kill your entire motherfucking family, bitch'.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 340,\n    \"content\": \"If you're going to prison, simply tattoo 'PROPERTY OF CHUCK NORRIS' on your lower back, and you can drop the soap all you want.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 341,\n    \"content\": \"This is Chuck Norris. Chuck Norris kills cyclops by punching them between the eyes. Chuck Norris kills all the bad guys without reloading. Chuck Norris is the greatest at being the greatest at everything. NO NOT attempt to be like Chuck.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 342,\n    \"content\": \"The DEA raided a hotel room to capture a man sniffing cocaine, upon knowing that it was CHUCK NORRIS they all hancuff and arrested themselves!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 343,\n    \"content\": \"The force actually has three sides. The light side the Darkside and the Chuck Norris side\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 344,\n    \"content\": \"To prevent air pollution and save energy, Chuck Norris swallows smoldering coal and then eat raw fish to cook it inside his stomach.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 345,\n    \"content\": \"If a tree falls in the woods, not only did Chuck Norris hear it, he probably kicked that motherfucker over too.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 346,\n    \"content\": \"CHUCK NORRIS IS ACTUALLY B******* O FROM LONDON\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 347,\n    \"content\": \"Kiri-sute gomen (&#26028;&#25448;&#24481;&#20813; or &#20999;&#25448;&#24481;&#20813;, literally, \\\"authorization to cut and leave\\\" (the body of the victim)) is an old Japanese expression dating back to the feudal era right to strike (right of samurai to kill commoners for perceived affronts). Samurai had the right to strike with sword at anyone of a lower class who compromised their honour. Chuck Norris is the only person on earth who is still allowed to do this.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 348,\n    \"content\": \"Chuck Norris is so passionate, all of his crimes of passion are misdemenor fines that all of his victims/chosen ones will gladly pay for him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 349,\n    \"content\": \"The rotation of the Earth was actually started by a Chuck Norris roundhouse kick.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 350,\n    \"content\": \"Chuck Norris demands a 29th day of February every 4 years. We call this leap year. It's true name is leapspinkick year.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 351,\n    \"content\": \"Chuck Norris can parallel park a freight train\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 352,\n    \"content\": \"It was actually Chuck Norris who gave Halle Berry the vanilla fever.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 353,\n    \"content\": \"Time heals all wounds. Except, of course, if you've just been wounded by Chuck Norris. Then you're fucked.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 354,\n    \"content\": \"E=MC2 actually means EVERYTHING = Mr. CHUCK NORRIS CHUCK NORRIS!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 355,\n    \"content\": \"Contrary to popular belief, Chuck Norris does actually sleep - with his eyes wide open, rarely blinking.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 356,\n    \"content\": \"Allstate may protect you from mayhem, but it is useless against Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 357,\n    \"content\": \"Chuck Norris has submitted internet forms without posting all required information because he is a machine - not a mere man.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 358,\n    \"content\": \"Chuck Norris did not call the wrong number.You answered the wrong phone.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 359,\n    \"content\": \"Chuck Norris doesn't have a shadow anymore because he roundkicks a wall if it appears\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 360,\n    \"content\": \"You are always told to turn off your cell phone during a flight, in case Chuck Norris calls you and whispers the secret incantation to make you spontaneously combust.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 361,\n    \"content\": \"In stead of threatening to call child support whenever my dad wants to beat me, I threaten to call Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 362,\n    \"content\": \"On Storage Wars, Chuck Norris is allowed go in all the storage lockers and open all the boxes he wants. Who's going to stop him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 363,\n    \"content\": \"Chuck Norris can kill you with a cotton ball.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 364,\n    \"content\": \"Chuck Norris is the only man to swim the entire length of the Amazon. He swam all 4048 miles in 7 days.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 365,\n    \"content\": \"Chuck Norris was ask to join the cast of The Exspendables, but once Stallone offered Chuck the part.... he did a roundhouse kick, and said with a grin.. Sly you know as well as anyone.. Chuck Norris is not expendable.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 366,\n    \"content\": \"Chuck Norris can't use Twitter, because he is doing everything, everywhere, all the time. It would break the Internet.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 367,\n    \"content\": \"The Bill Of Rights was written by Chuck Norris on a used napkin and was originally called The Chuck Of Wrongs.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 368,\n    \"content\": \"Chuck Norris played golf. He tee'd off. The ball landed in the cup, bounced out, landed in the 2nd cup, then the 3rd... finally stopping in the 18th.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 369,\n    \"content\": \"The U.S. Coast Guard has approved recordings of Chuck Norris farts for use on all maritime vessels as the preferred fog horn signal.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 370,\n    \"content\": \"no one really knows why Sergio Busquets kicked the ball over the bars against Chelsea until now he was threatened by Chuck Norris in the crowd telling him you score this son and you will never be at peace because you will be living in fear thinking when you will feel the wrath of my roundhouse kick\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 371,\n    \"content\": \"A man once took Chuck Norris to court for alleged assult. After the shortest jury deliberation in history, the man was found guilty of first-degree Talking Shit About Mr. Norris and sentenced to death by instant roundhouse kick.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 372,\n    \"content\": \"Chuck Norris was originally cast as Lord Eddard \\\"Ned\\\" Stark in Game of Thrones, but Boromir was cast instead because the film crew couldn't find a sword that can chop off Chuck Norris' head.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 373,\n    \"content\": \"Chuck Norris' neighbor asked if he could help fix his taps. Chuck fixed his taps, all right - then tapped his wife.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 374,\n    \"content\": \"Faster than a speeding bullet ... more powerful than a locomotive ... able to leap tall buildings in a single bound... yes, these are some of Chuck Norris's warm-up exercises.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 375,\n    \"content\": \"Chuck Norris was originally set to play Dr. Manhattan in Watchmen, but the producers realized that the vision of a butt-naked fifty-foot tall, blue-glowing Chuck would result in erotically-charged rioting in cinemas the world over.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 376,\n    \"content\": \"The original idea for the game Left4DEAD, was to have the four survivors run around fighting the horde of undead left by Chuck Norris, eventually Defeating him and killing his horde of minions, however, halfway through production, the creators saw the error of their ways when no matter how hard they tried, they could not get the in game Chuck to die, cause no one can kill the Norris!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 377,\n    \"content\": \"If you blame Chuck Norris, your actually blaming yourself.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 378,\n    \"content\": \"Chuck Norris invented crunk. That's actually how you say his name in Chuckenese.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 379,\n    \"content\": \"Chuck Norris doesn't need glasses. He just gets new eyeballs.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 380,\n    \"content\": \"After Michael Jackson's death, investigators turned a blind eye to the huge Chuck Norris-shaped hole in the bedroom wall.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 381,\n    \"content\": \"Chuck Norris can literally break his foot off in your ass.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 382,\n    \"content\": \"Before the boogeyman goes to sleep, he checks his closet to make sure Chuck Norris folded all the clothes correctly.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 383,\n    \"content\": \"Yes, Chuck Norris' genitals are naturally huge & not, as rumored, infected with Elephantiasis.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 384,\n    \"content\": \"Chuck Norris is who taught Bear Ghrylls all his survival skills.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 385,\n    \"content\": \"If Money is the root of all Evil... Evil is th root of CHUCK NORRIS!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 386,\n    \"content\": \"CHUCK NORRIS SPEAKS IN ALL CAPS!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 387,\n    \"content\": \"Chuck Norris once had a dandruff problem, we call the product cocaine\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 388,\n    \"content\": \"In celebration of this, the 8000th Chuck Norris fact, Lord Norris decided to give a shit about internet nerds for the first time in his life. It wasn't really worth it, he reportedly said, and immediately went back to murdering people and having constant orgies and being generally badass and awesome.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 389,\n    \"content\": \"Chuck Norris holds one of his balls in each pant leg\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 390,\n    \"content\": \"Chuck Norris can hit Mach 3 in his hot-air balloon.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 391,\n    \"content\": \"Brokeback Mountain is not just a film. It's also what Chuck Norris calls the pile of dead ninjas is his backyard.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 392,\n    \"content\": \"Chuck Norris can knock that chip off your shoulder. Usually your shoulder gets knocked off too.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 393,\n    \"content\": \"Chuck Norris doesn't need a baseball bat to Beat on the Brat.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 394,\n    \"content\": \"The key to eradicating all disease lies in the immune system of Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 395,\n    \"content\": \"Chuck Norris is currently involved in a lawsuit against the writers of the 'Hokey Pokey' claiming that, in reality, Chuck Norris is what it is all about.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 396,\n    \"content\": \"Chuck Norris called himself Walker because he doesn't need to run to catch all the bandits.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 397,\n    \"content\": \"Chuck Norris once round-house kicked a man in a call centre. Over the phone.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 398,\n    \"content\": \"In museums, Chuck Norris is allowed to touch the artifacts.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 399,\n    \"content\": \"Chuck Norris invented the soccer ball by dehydrating a zebra.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 400,\n    \"content\": \"Once, due to an engine stall of his F-22 Raptor during a Dessert Storm sorte', Chuck Norris had to ejaculate over the Red Sea.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 401,\n    \"content\": \"Chuck Norris is the answer to all your problems.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 402,\n    \"content\": \"A Chuck Norris stare can literally burn holes through you.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 403,\n    \"content\": \"Chuck Norris' parallel parking skills are unparalleled.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 404,\n    \"content\": \"When Chuck Norris strangles an alligator, he gets Gatorade.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 405,\n    \"content\": \"Chuck Norris has a meat thresher insallled in his living room as a ceiling fan.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 406,\n    \"content\": \"When Chuck Norris was a kid they used to call him \\\"Chucky the devil's doll\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 407,\n    \"content\": \"Chuck Norris could literally mop the floor with your face. He could also vaccum his car out with your digestive tract. And disinfect his toilet with your soul.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 408,\n    \"content\": \"When Chuck Norris typed \\\"LMAO\\\" on the internet, he actually did it.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 409,\n    \"content\": \"There is great debate over whether The Book Of Chuck (written by Chuck Norris in 1989) should be included in the Bible. It mostly contains stories of Norris' sexual conquests and his overall Godliness, but the occasional philosophy contained within easily renders the rest of the books obsolete.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 410,\n    \"content\": \"Chuck Norris practices his roundhouse kicks: a. Anywhere he wants B. Chuck Norris doesn't need to practice C. On your face D. All of the above Hint: The answer is 'd'\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 411,\n    \"content\": \"Chuck Norris can finish a fat Cuban cigar in a single massive drag. He will then crunch up and swallow the roach, and stare at you while slowly exhaling through his nostrils.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 412,\n    \"content\": \"When Chuck Norris strikes, it is literally like lightning. Count in seconds after a flash before you hear the thunder. that's how far away he is.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 413,\n    \"content\": \"When Alexander Bell invented the telephone, he had 3 missed calls from Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 414,\n    \"content\": \"Osama bin Laden actually shot HIMSELF in the head. The first SEAL in said \\\"hit the floor!\\\". bin Laden thought he said \\\"hi, I'm Chuck Norris!\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 415,\n    \"content\": \"Chuck Norris installed Skynet on his iPod.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 416,\n    \"content\": \"Chuck Norris was once asked in an interview what he thought about all the Chuck Norris jokes going around. He simply said \\\"They aren't jokes\\\" and went back to drinking his mug of nails.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 417,\n    \"content\": \"On his way to St. Ives, Chuck Norris killed a man with seven wives. He then fucked all seven wives and stomped a SHITLOAD of cats and kittens to death.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 418,\n    \"content\": \"When Chuck Norris was born his Dr did the customary slap on the ass. Chuck didnt appreciate this so he punched the Dr in the balls.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 419,\n    \"content\": \"The Chuck Norris family once had a weiner roast in what was formally called the Mojave Forrest.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 420,\n    \"content\": \"Paul McCartney eats a vegan diet all the time -- except when he eats in the presence of Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 421,\n    \"content\": \"Chuck Norris was featured on wheel of fortune all people did for the past 30 minutes was stare at a wheel not stopping\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 422,\n    \"content\": \"On rare occasion, Chuck Norris will allow a woman to give him a hickey. But then, only on his hemorrhoids.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 423,\n    \"content\": \"Chuck Norris once took a test called the S.T.A.N.D. he got pissed before he got to the tenth question and roundhoused it.... it is now known as the S.A.T.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 424,\n    \"content\": \"The surest cure for constipation is to hang a picture of Chuck Norris in the lavatory, for Chuck Norris scares the crap out of all living things.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 425,\n    \"content\": \"Chuck Norris could bend Uri Geller with his mind. But he would prefer to brutally roundhouse kick him in the face if he ever comes back to America.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 426,\n    \"content\": \"After his wedding, Chuck Norris sent \\\"You're Welcome\\\" cards to all of his guests.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 427,\n    \"content\": \"It has been rumored that the previous North Korean Premier, Kim Jong-il actually died shortly after calling Chuck Norris an \\\"Amelican Plick\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 428,\n    \"content\": \"Chuck Norris receives billion-dollar royalty cheques from the World Bank monthly for his cameo role in 'Dodgeball'.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 429,\n    \"content\": \"How many Chuck Norris' does it take to change a lightball? Nobody has ever asked him that and I suggest you keep quiet as well.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 430,\n    \"content\": \"Chuck Norris was attacked by a vicious pit bull and it ended up with a trip to the hospital. The Vet at the Animall Hospital said there was a 20% chance the pit bull would pull through.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 431,\n    \"content\": \"How many push-ups can Chuck Norris do? All of them.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 432,\n    \"content\": \"When Chuck Norris found out what the lyrics to his favourite song, 'Take A Walk On The Wild Side', were really about, he hunted down Lou Reed and broke four of his ribs.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 433,\n    \"content\": \"When Chuck Norris tells you a joke, your sides will literally split. That's why he stands back a bit when he tells it, so nothing splashes onto his boots.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 434,\n    \"content\": \"It takes a team of groundskeepers three days to shave the entire surface area of Chuck Norris' balls.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 435,\n    \"content\": \"Chuck Norris was asked to be on the show, 'Swamp People' but he was soon fired off the show after thousands of alligators were killed during only 1 episode.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 436,\n    \"content\": \"The world used to be round o that when people go to the bottom of the Earth they fall off but then Chuck Norris stepped on a globe and its all flat and so it the world THANK YOU,CHUCK!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 437,\n    \"content\": \"The only reason Chuck Norris hasn't brutally beaten George Lucas to death is because he still wars the beard.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 438,\n    \"content\": \"Most people call in bomb threats. Chuck Norris calls in himself threats. And gets away with it.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 439,\n    \"content\": \"If there was a game about Chuck Norris you'd be scared to play it because every time you'd open it up it would roundhouse kick you in the balls.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 440,\n    \"content\": \"Chuck Norris can head-butt a cannonball back into the cannon it was fired from. Without blinking.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 441,\n    \"content\": \"If you were asked to guess how many jellybeans were in a gallon jar as compared to how many of Chuck Norris' testicles would fill a gallon jar and guessed over one, you would be wrong.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 442,\n    \"content\": \"Chuck Norris usually opts for the 2pt conversion, but asks that the ball be spotted on the 50 yard line.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 443,\n    \"content\": \"Chuck Norris plays bingo with a paint ball gun.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 444,\n    \"content\": \"Chuck Norris occasionally wears trunks with a rainbow across the crotch. Why? Because he wants you to picture how badly he could kill you if you said something about it.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 445,\n    \"content\": \"Chuck Norris owns 42 different birth certificates from all over the world.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 446,\n    \"content\": \"Chuck Norris farted once... and then there was the great Rift Valley\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 447,\n    \"content\": \"Chuck Norris could drop kick you thru the telephone on an international long distance call, reverse the charges and you would accept them.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 448,\n    \"content\": \"Chuck Norris was featured in an episode of Deadliest Warrior, winning all 1000 simulated battles. His opponent was the USS Nimitz.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 449,\n    \"content\": \"When Chuck Norris has an erection lasting more than 4 hours he doesn't call your doctor, he calls your mother.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 450,\n    \"content\": \"Chuck Norris recently guested on Hardcore Pawn, where he sold some pocket lint for 8.5 million dollars. Then he brutally roundhose kicked the owner for not actually having any porn.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 451,\n    \"content\": \"Chuck Norris was deep in the Amazon Jungle when 3 head hunters came sneaking up behind him. When they realized it was Chuck Norris, all 3 threw down their spears and ran screaming into the jungle.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 452,\n    \"content\": \"All medieval countries translated Chuck Norris' name the same: Bubonic.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 453,\n    \"content\": \"Chuck Norris always gives you one phone call. Heh.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 454,\n    \"content\": \"If Chuck Norris had played the lead in Monster's Ball as originally intended, it would have been called Monsterous Balls. And would have been a porno.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 455,\n    \"content\": \"Chuck Norris' beard is actually made out of liquid metal. He can instantly stab you with it.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 456,\n    \"content\": \"All science students maybe aware about the fact that picochuck is the unit of manliness in the International System of Units (SI). An average man measures about 0.00073 pc. Chuck Norris measures 39,372 petachucks.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 457,\n    \"content\": \"Chuck Norris was recently given 5 gallons of Propofol. He blinked twice.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 458,\n    \"content\": \"When Chuck Norris goes for a physical, the doctor is too afraid to get close enough for an examination, so he only examines him from afar, grading him on his overall physical appearance, which of course, is always perfect.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 459,\n    \"content\": \"Originally, the movie Alien vs Predator was called Alien and Predator vs Chuck Norris. It was canceled because no one wanted to see a movie that is 30 seconds long.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 460,\n    \"content\": \"Chuck Norris REALLY went back to the future.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 461,\n    \"content\": \"Brahma bulls are envious of the size of all three of Chuck Norris' testicles.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 462,\n    \"content\": \"No matter how religious you are, you won't be allowed into heaven if the last thing you said before your brutal death was 'I'm not afraid of Chuck Norris'.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 463,\n    \"content\": \"Chuck Norris won the $142,000,000 Texas state PowerBall Lottery with a ticket stub from a Texas Rangers baseball game.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 464,\n    \"content\": \"Chuck Norris knows all the numbers in &#8719;\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 465,\n    \"content\": \"Chuck Norris does not do drugs. In order to get a buzz he climbs radio station transmition towers during thunderstorms and drinks Redbull & Captain Morgan Rum from a pair of 55 gallon steel drums.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 466,\n    \"content\": \"Contrary to popular belief, the Titanic didn't hit an iceberg. The ship was off course and accidentally ran into Chuck Norris while he was doing the backstroke across the Atlantic.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 467,\n    \"content\": \"Super Villans would terrorize the world but Chuck Norris kills them all. Consequentially Super Heroes are unemployed.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 468,\n    \"content\": \"Chuck Norris. Thats all im gonna say.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 469,\n    \"content\": \"Chuck Norris' nut sack is so flexible that he can literally put one nut on a golf tee and practice his drives.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 470,\n    \"content\": \"A crocodile attacked Chuck Norris while he swam in a Florida river. The same croc was seen at a local veterinarians office the next day attempting to get a set of teeth to replace his, as they were all missing.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 471,\n    \"content\": \"Contrary to popular belief, Redfoo isn't having a Midlife Crisis. Chuck Norris just made him mentally retarded because he hates LMFAO.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 472,\n    \"content\": \"it was once thought that Chuck Norris never lies, until he said that Chuck Norris facts arent actually true\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 473,\n    \"content\": \"For Thanksgiving, Chuck Norris roasts his turkey by opening up a small portal to hell.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 474,\n    \"content\": \"In ancient Greece, Chuck Norris killed a man, screwed his wife, then set-up Oedipus to take the fall for it. Later, Oedipus fell in love with the widow and married her.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 475,\n    \"content\": \"The only reason Usain Bolt is officially the fastest man is because no one has bothered to clock people who run from Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 476,\n    \"content\": \"If you look closely at the bottom of the XX Beer commercials, you can read the fine print that states they're actually featuring the SECOND Most Interesting Man in the World after Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 477,\n    \"content\": \"Chuck Norris banned the sale of masks in his likeness, not because of the thousands of heart attacks they cause daily, but because he didn't want random assholes scoring all the pussy clearly meant for him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 478,\n    \"content\": \"Chuck Norris built The Great Wall of China. He is going to paint it next week.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 479,\n    \"content\": \"Particle physicists have finally developed a new atom smasher. It is called Chuck Norris's fist.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 480,\n    \"content\": \"Chuck Norris is actually a sensitive, caring lover... because he knows that if he doesn't kill you immediately after, you will be in constant agony knowing you will NEVER have it better.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 481,\n    \"content\": \"Chuck Norris was asked his opinion of the Democratic and Republican presidential candidates. Chuck said all of them are about as useless as zombie puke.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 482,\n    \"content\": \"Chuck Norris once punched a man in the face so hard that the man's eyeballs protruded from his asshole. This malady was diagnosed by emergency room personnel as a new medical condition known as 'Optical Rectumitis'.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 483,\n    \"content\": \"Chuck Norris played Doom in the Nightmare level, without being hit. All of them.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 484,\n    \"content\": \"21 December 2012 was to be the day the Mayans predicted somebody would tell Chuck Norris that he's not so cool after all.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 485,\n    \"content\": \"It was once called Bad Friday. Then Chuck Norris promised to stay at home for one Friday every year.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 486,\n    \"content\": \"Clearly, Chuck Norris has more bad-assedness in his beard than all of the other Expendables combined and squared.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 487,\n    \"content\": \"Scientists in Washington have recently conceded that, if there were a nuclear war, all that would remain are cockroaches and Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 488,\n    \"content\": \"Fifty Shades Of Grey was originally about Chuck Norris' back hair.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 489,\n    \"content\": \"Chuck Norris put humpty dumpty back together again, only to roundhouse kick him in the face. Later Chuck dined on scrambled eggs with all the king's horses and all the king's men. The king himself could not attend for unspecified reasons. Coincidentally, the autopsoy revealed the cause of death to be a roundhouse kick to the face. There is only one King.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 490,\n    \"content\": \"Sometimes it's hard to see Chuck Norris for all the steam rising from his 'nads.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 491,\n    \"content\": \"Chuck Norris roundhouse-kicked the man who shot Liberty Vallance.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 492,\n    \"content\": \"Chuck Norris makes Saudia Arabia sell him gasoline for 3 cents per gallon. Then at the end of each month they rebate him at the rate of $100 per gallon purchased.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 493,\n    \"content\": \"MUGEN's several depictions of Chuck Norris are actually based on strands of Chuck Norris's beard.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 494,\n    \"content\": \"Chuck Norris created the All-Spark.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 495,\n    \"content\": \"Norris 25:17. \\\"The path of the righteous man (me) is beset on all sides by the inequities of the dumbasses and the tyranny of suited girlymen. Blessed is he who, in the name of charity and good will, sends boxes of cigars and crates of beer to me. For I am truly the Mack Daddy and the killer of lost children. And I will roundhouse kick thee with great vengeance and furious anger those who attempt to look at me sideways. And you will know I am the Lord, Chuck Norris, when I lay my vengeance upon you.\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 496,\n    \"content\": \"If you ever find yourself watching a Total Gym infomercial, take comfort in the fact that Chuck Norris will not kill you at that exact moment. However, if you change the channel, all bets are off. The best thing to do is to order twelve of them immediately.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 497,\n    \"content\": \"The universe is always expanding- all of it is trying to get away from Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 498,\n    \"content\": \"Elmo was originally blue and had a deep voice. Then Chuck Norris roundhouse kicked him 4 times. The last kick changed his voice.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 499,\n    \"content\": \"Chuck Norris has never struck out in Baseball. He simply stares at the ball, and it gets out of his way.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 500,\n    \"content\": \"The single most successful anti-smoking measure was a commercial in the 1980's. In the commercial, there is a man smoking a cigarette. A voice then exclaims \\\"Smoking will kill you.\\\" Nothing happens, until Chuck Norris blasts through the wall and kills the man with a single round house kick.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 501,\n    \"content\": \"Chuck Norris once had a staring contest with Rambo, that is why Sylvester Stallone looks mildly retarded\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 502,\n    \"content\": \"The bible was originally tittled \\\"Chuck Norris and Freinds.\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 503,\n    \"content\": \"Chuck Norris can conect parallel lines\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 504,\n    \"content\": \"Chuck Norris once ate a rubix cube and shit th all spark. Chuck norris once had sex with a mermaid and that's how micheal phelps was born.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 505,\n    \"content\": \"A Handicap Parking Sign does not signify that this spot is for handicapped people. It is actually in fact a warning that the spot belongs to Chuck Norris and that you are soon to be handicapped if you dare to park there.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 506,\n    \"content\": \"Chuck Norris thinks ping-pong is a sissy game. That's why he invented Oklahoma-pong which is alot like ping-pong except it's played with a cannonball & a manhole cover.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 507,\n    \"content\": \"A black hole singularity is actually the end result of a Chuck Norris roundhouse kick.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 508,\n    \"content\": \"Chuck Norris has a fire crotch. Really, there is fire down there. His deadly Roundhouse is a result of him trying to put out the blaze.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 509,\n    \"content\": \"Chuck Norris has no hair on his balls This is because hair cannot grow out of steel\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 510,\n    \"content\": \"When Chuck Norris was born his mother didn't have a enough breast milk so a herd of milking cows were brought in each day. 8 weeks later he was able to dine on Texas BBQ with all the fixins.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 511,\n    \"content\": \"Chuck Norris was originally cast for the main character in the hit series 24. The directors had to cut him because he killed all of the worlds terrorist in 12 minutes and&#65279; 37 seconds.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 512,\n    \"content\": \"When singing 99 bottles of beer on the wall, Chuck Norris takes one down and doesn't pass it around.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 513,\n    \"content\": \"Whenever you say to yourself, 'at least it can't get any worse than this', that's usually the exact moment when Chuck Norris penetrates your mother.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 514,\n    \"content\": \"Chuck Norris calls up Billy Ray Cyrus at least once a week to laugh at him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 515,\n    \"content\": \"In fine print on the last page of the Guinness Book of World Records it notes that all world records are held by Chuck Norris, and those listed in the book are simply the closest anyone else has ever gotten.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 516,\n    \"content\": \"It was going to be called 'Expendables 2: The One With Chuck Norris', but he decided to give all the other movies a break.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 517,\n    \"content\": \"When Chuck Norris has heartburn he eats a dozen Bhut Jolokia peppers then he drinks a gallon of napalm, then he eats a lit cigarette\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 518,\n    \"content\": \"Chuck Norris ran out of fucks to give ages ago. And he didn't have all that many to begin with.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 519,\n    \"content\": \"Chuck Norris was once challenged to a game of chess by a chess master! A couple of hours into the game, the chess master moved his queen to b7, putting Chuck Norris into check mate! However, Chuck Norris moved his fist into the chess master's face and moved his foot into the chess master's ass, thereby winning the game of chess forever!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 520,\n    \"content\": \"The automobile air bag was originally a failed invention to try and soften a blow from a Chuck Norris roundhouse kick.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 521,\n    \"content\": \"Chuck Norris can do a cannonball off the diving board without making a splash.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 522,\n    \"content\": \"It is against Islamic law to depict Mohammed. But no one has ever called Chuck Norris on ripping Mohammed's balls off. They're in the Smithsonian.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 523,\n    \"content\": \"How come so many Godzilla movies were made? Because they never hired Chuck Norris to kill him off once and for all.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 524,\n    \"content\": \"Chuck Norris' Texas Ranger softball team won unexpectedly 150 to 0 in the bottom first inning when in foul territory he ran down and caught a Golden Snitch.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 525,\n    \"content\": \"If you stand in front of a candlelit mirror at midnight and chant the name of Chuck Norris three times, his fist will smash through the wall and your face before you even complete the first syllable.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 526,\n    \"content\": \"Chuck Norris' favorite video is the tape from the movie \\\"the ring\\\" Ironically, if you watch the movie \\\"sidekicks\\\", and dont like it, Chuck Norris will roundhouse kick you and when they find your corpse, your face will look the same as the people who died from watching the tape in \\\"the ring\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 527,\n    \"content\": \"Superman is able to leap tall buidings in a single bound. Chuck Norris is able to tell them to get the hell out of his way.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 528,\n    \"content\": \"If you find yourself between a rock and a hard place, you are probably between Chuck Norris' foot and a brick wall.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 529,\n    \"content\": \"Chuck Norris doesn't take the front door. He takes the front wall as his entrance.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 530,\n    \"content\": \"Chuck Norris' moustache & beard is actually a cleverly disguised manicured extension of his nasal hair just simply because it is impossible for him to grow hair on his steel jaw.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 531,\n    \"content\": \"Chuck Norris surgically removed his his own hemorrhoids with his toenails, tanned them and made a beautiful travel bag out of them.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 532,\n    \"content\": \"The number pi isn't really infinite.Chuck Norris just hasn't told it to stop yet.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 533,\n    \"content\": \"Once Chuck Norris Kicked a football , Now We are calling it as Moon.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 534,\n    \"content\": \"Chuck Norris used Thor's hammer to tack a picture up on his living room wall.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 535,\n    \"content\": \"Led Zeppelin originally wanted to call their songs \\\"Whole Lotta Chuck\\\" and \\\"Stairway To Chuck Norris' Basement\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 536,\n    \"content\": \"Once upon a time, there was a warrior. He was destined to save the earth from all evils. That man was not Chuck Norris, because Chuck ate that man. Don't piss him off.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 537,\n    \"content\": \"Chuck Norris once visited the Virgin Islands. They are now just called The Islands.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 538,\n    \"content\": \"Chuck Norris actually has German blood. He keeps it in the fridge next to the mayonnaise.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 539,\n    \"content\": \"Chuck Norris is only man who has held all weight class championship belts in UFC at the same time\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 540,\n    \"content\": \"He used to be called The Headed Horseman before Chuck Norris met him.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 541,\n    \"content\": \"Chuck Norris was asked if he'd ever been to the Klondike. Chuck said he really didn't have any interest in lesbian Eskimo's.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 542,\n    \"content\": \"if Chuck Norris was a Spartan in the movie 300, the movie would be called 1.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 543,\n    \"content\": \"Every night when Chuck Norris goes to sleep, his beard detatches itself, picks up a small knife and sprints towards the city in hopes to match his killcount.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 544,\n    \"content\": \"Gangsters spend all their lives living in Chuck Norris' Paradise\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 545,\n    \"content\": \"All men are created equal. Except, of course, for Chuck Norris, who is more equal than anybody else.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 546,\n    \"content\": \"Some people can make animal shapes out of balloons. Chuck Norris can do the same with human organs.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 547,\n    \"content\": \"Chuck Norris keeps Marsellus Wallace's soul in his wallet.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 548,\n    \"content\": \"Chuck Norris once kicked a football into outer space and martians came down to return it.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 549,\n    \"content\": \"Chuck Norris has impregnated 73 women. Over the internet. They all died before the end of their first trimester from internal bleeding caused by roundhouse kicks. All babies survived.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 550,\n    \"content\": \"In 1960 10 boys in an an Oklahoma Jr High school were arrested for huffing glue & spray paint. One, a young Chuck Norris, was later realeased after police determined he was actually only huffing tear gas canisters.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 551,\n    \"content\": \"It was called Goodminton until Chuck Norris started playing.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 552,\n    \"content\": \"Born 12 feet tall, Chuck Norris shrinks himself 20% every 1,000 years to \\\"keep killing interesting\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 553,\n    \"content\": \"Fear of spiders is Arachnophobia Fear of tight spaces is Claustrophobia Fear of love is Philophobia Fear of gravity is Barophobia Fear of time is Chronophobia Fear of ideas is Ideophobia Fear of speed is Tachophobia Fear of Chuck Norris is called Chuckophobia HAHA just kidding. Fear of Chuck Norris is called logic.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 554,\n    \"content\": \"When Freddy Krueger falls asleep , Chuck Norris appears to kick his ass!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 555,\n    \"content\": \"Chuck Norris doesn't pass feces. He literally scares the shit out of himself.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 556,\n    \"content\": \"Chuck Norris dosent have any hair on his balls because hair dosent grow on steel!!!!!!!!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 557,\n    \"content\": \"Someone once videotaped Chuck Norris getting pissed off. It was called Walker: Texas Chain Saw Massacre\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 558,\n    \"content\": \"There will no longer be Mixed Martial Arts; Chuck Norris sorted them all out.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 559,\n    \"content\": \"Chuck Norris was actually the one who made the world, he was just modest and let god take the credit.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 560,\n    \"content\": \"People believe we evolved from monkeys. Actually, we evolved backwards from Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 561,\n    \"content\": \"Chuck Norris' Christmas tree is actually a 20 foot Tesla coil. It is also necessary to power his electric beard trimmer.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 562,\n    \"content\": \"Once a cow challenged Chuck Norris that he could not eat grass. Chuck Norris grazed 1/5 of the African continent in a day, which resulted in the formation of the Sahara desert. Then he proceeded to roundhouse kick and eat the cow at the same time. Moral of the story: Do not challenge Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 563,\n    \"content\": \"Richard Simmons is an example of someone acknowledging the existence of Chuck Norris. Before they met, Richard was originally known as Fabio.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 564,\n    \"content\": \"Gary Neville can kick a football 200meters, to out do Garry Chuck Norris kicked phill Neville 300 meters\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 565,\n    \"content\": \"When Chuck Norris wants chicken, he really means children.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 566,\n    \"content\": \"Whenever you lie, Chuck Norris pulls the wings off a fairy, then shoves it in his mouth and sucks out all the moisture.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 567,\n    \"content\": \"The sun really shines on Chuck Norris. We just happen to live close enough to him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 568,\n    \"content\": \"Chuck Norris is more self-aware than a zen monk levitating in a hall of mirrors.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 569,\n    \"content\": \"Chuck Norris recently ate 4 bean burritos at a Southern CA Taco Bell. 30 minutes later, 2 miles of San Fernando Valley sewer line blew up.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 570,\n    \"content\": \"The most powerful malware that no anti-virus can quarantine is called Chuck Norris' roundhouse...\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 571,\n    \"content\": \"Chuck Norris can parallel park a tank.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 572,\n    \"content\": \"When Chuck Norris calls you your options are \\\"Answer\\\" or \\\"Answer\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 573,\n    \"content\": \"Chuck Norris is not allowed to play in the NBA because only he can complete a 3 point slam dunk.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 574,\n    \"content\": \"Chuck Norris coughs up more daily hairballs than a dozen house cats strictly due to the volume of his daily muff-diving requests.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 575,\n    \"content\": \"Chuck Norris can literally charm pants off ladies. This of course is useful for his ninesomes.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 576,\n    \"content\": \"Chuck Norris is allergic to allergies.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 577,\n    \"content\": \"Chuck Norris calls a spade a spear.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 578,\n    \"content\": \"We all know that any mortal punching Chuck Norris' chin is just pressing the big red \\\"Please Notice and Flatten Me Now\\\" button hidden under his beard.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 579,\n    \"content\": \"The Chuck Norris-approved Chucknopoly is the world's only board game that is potentially fatal.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 580,\n    \"content\": \"Chuck Norris once went to the Virgin Islands. Now they are just called The Islands\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 581,\n    \"content\": \"Chuck Norris honestly does read Playboy for the articles, as all the models are too plain and flat-chested.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 582,\n    \"content\": \"If Chuck Norris had starred in 'American Sniper' as originally planned, you wouldn't have heard shit about it from any pussy-ass liberal.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 583,\n    \"content\": \"Chuck Norris' best man at his first wedding was Chuck Norris from 5 years in the future. All nine bridesmaids were Norris' future ex-wives.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 584,\n    \"content\": \"If you ever piss Chuck Norris off while he is standing in the light of a full moon, he will naturally turn into a werechuck and fuck you right the hell on up.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 585,\n    \"content\": \"When nature calls Chuck Norris hangs up\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 586,\n    \"content\": \"It's actually incorrect to say that Chuck Norris does not give a fuck. He had no fucks in the first place. One cannot give fucks that one does not have.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 587,\n    \"content\": \"The National Weather Service was going to name a hurricane after Chuck Norris but television stations would not allow them to call it \\\"Hurricane Fuck'em Up Chuck\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 588,\n    \"content\": \"Orange Bird is both the smallest and largest bird in Angry Birds Theme 18-2. Chuck Norris has both the smallest and largest 8=D.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 589,\n    \"content\": \"Manual doors open automatically for Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 590,\n    \"content\": \"How much wood could a wood chuck chuck if the wood chuck was Chuck Norris? All of it.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 591,\n    \"content\": \"Chuck Norris invented ice cream for all the women he hasn't gotten to yet. One day, only gay fat guys will eat ice cream. And that right soon.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 592,\n    \"content\": \"You can totally tell that the chick who won Eurovision was fathered by Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 593,\n    \"content\": \"Want to end illegal immigration from all corners of the world? Four words: Chuck Norris, INS Commissioner.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 594,\n    \"content\": \"Chuck Norris one rode a trike. When he got off of it, it was a motorcycle ,measuring to be 16 feet tall and 72 feet long, with mounted grenade launchers and bazookas. He still keeps it in his garage.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 595,\n    \"content\": \"Chuck Norris is actually slightly vulnerable to attack only in the first few seconds after impregnating a fresh virgin. So there you go, all Norris-haters - you have at least two minutes a day to try it if you dare.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 596,\n    \"content\": \"Chuck Norris roundhouse kicked all the American out of Johnny Depp.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 597,\n    \"content\": \"Chuck Norris is allowed to play Stairway To Heaven.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 598,\n    \"content\": \"The pie scene in american pie was originally a dare made to Chuck Norris, except the pie was actually a volcano crater.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 599,\n    \"content\": \"If Chuck Norris says that turkey, cranberries & yams actually taste real good, then they do!!! And out of fear, that's the only reason we we eat that crap. We are truely Thankful that Chuck Norris only demands this once a year.\"\n  },\n  {\n    \"categories\": [\"religion\"],\n    \"id\": 600,\n    \"content\": \"The Pope calls Chuck Norris \\\"Father.\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 601,\n    \"content\": \"If paper beats rock, rock beats scissors, and scissors beats paper, what beats all 3 at the same time? Answer: Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 602,\n    \"content\": \"Chuck Norris once challanged Lance Armstrong to a testicle contest.... Chuck Norris won by 3!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 603,\n    \"content\": \"Chuck Norris never had a bustle in his hedgerow, and if he ever does, he won't be alarmed. In fact, he is the only person on earth who knows what the fuck that actually means.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 604,\n    \"content\": \"How much wood could a woodchuck chuck if a woodchuck could Chuck Norris? Fucking ALL of it.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 605,\n    \"content\": \"Chuck Norris is personally responsible for global warming, but it seems no one can convince him to go on a diet who actually lived to tell us if he would consider lightening his daily intake of barbecued rattlesnakes and beans.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 606,\n    \"content\": \"Why did Chuck Norris hasn't appeared on any mortal kombat games. Simple, the name says it all. \\\"mortal\\\". Also there won't be any fatality tha will work on him, he will just roundhouse kick anyone either he wins or loose.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 607,\n    \"content\": \"Chuck Norris roundhouse kicked all the masculinity out of Justin Bieber, which all landed inside P!nk.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 608,\n    \"content\": \"There were originally 11 commandments. Unfortunately Moses did not catch the last. 'Thou shalt not fuck with Chuck Norris.'\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 609,\n    \"content\": \"Chuck Norris can hermetically seal a can of whoop ass and disguise it as a trick or treat gift for his annoying neighborhood kids.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 610,\n    \"content\": \"Chuck Norris did not play high school or college football, thus sparing hundreds from injury.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 611,\n    \"content\": \"Chuck Norris once actually made it rain cats and dogs just so he could solve a mouse problem.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 612,\n    \"content\": \"Chuck Norris shot the sheriff, killed Kenny, and killed Mr. Boddy in the hall with a roundhouse kick.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 613,\n    \"content\": \"About Chuck Norris Joke 4895... 1 CNRK is actually just tougher than 100000000000000000000000000000 angry lions.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 614,\n    \"content\": \"Chuck Norris went to court once, and he lost. He roundhouse kicked the judge in the head so hard that all of justice became blind.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 615,\n    \"content\": \"Chuck Norris can fight better than all fighting video games. How? He instantly wins.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 616,\n    \"content\": \"Chuck Norris gave Santa Claus a present on December 25, 2012. The present turned out to be a small box that contained 100% exact, invincible, and miniature clones of everything that ever existed and will exist. Well, the clone of Chuck Norris wasn't accurate, as its roundhouse kick could not kill anything stronger than an African elephant due to how small it was, but that was the only exception.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 617,\n    \"content\": \"Chuck Norris went out for a casual bike ride when he was visiting Paris and accidentally won the Tour de France.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 618,\n    \"content\": \"Chuck Norris' idea of a lucious banana slpit consists of a 5 ft cedar log slpit in half lined with 3 five gallon buckets of pure crushed horseradish on top and covered with rusty thumbtacks, crude oil, stagnant swamp mud and topped off with chilled yak whipcream and red maraschino habanero peppers.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 619,\n    \"content\": \"Big Foot claims he has a couple pictures of Chuck Norris... All his friends think he's full of crap.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 620,\n    \"content\": \"It should go without saying, but it still bears repeating: don't knock on Chuck Norris' door on Halloween.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 621,\n    \"content\": \"They don't have a Chuck Norris wax statue at Madame Tussauds till now cos everytime they make one, it comes alive and destroys all other statues.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 622,\n    \"content\": \"John F. Kennedy in his famous speech actually meant this... \\\"It's not what the Goverment can do for you, it's what you can do for CHUCK NORRIS!\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 623,\n    \"content\": \"A panel of 5 judges survived after allowing a young Chuck Norris to win his 5th grade spelling bee by correctly spelling the word \\\"Encyclopedia\\\" as b,o,o,k.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 624,\n    \"content\": \"Chuck Norris's football team won the NBA champinship against the tennis player Roger Federer\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 625,\n    \"content\": \"Time heals all wounds...Chuck Norris inflicts them!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 626,\n    \"content\": \"When Chuck Norris goes to the museum, the exhibits aren't allowed to touch Chuck.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 627,\n    \"content\": \"Chuck e cheese was actually gonna be called: Chuck Norris cheese. it was then changed for being too violent. Every animatronic for Chuck Norris cheese was violent because they do roundhouse kicks.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 628,\n    \"content\": \"Some people balance eggs on end every Spring and Fall Equinox, but Chuck Norris balances skulls.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 629,\n    \"content\": \"Chuck Norris proved Mythbusters was all a myth.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 630,\n    \"content\": \"Chuck Norris once accidentally broke steel by touching it.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 631,\n    \"content\": \"When Chuck Norris goes clubbing, the authorities turn a blind eye on all the people he clubs to death.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 632,\n    \"content\": \"Every night when Chuck Norris goes to sleep, his beard detaches itself, picks up a small knife and sprints towards the city in hopes to match his kill count.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 633,\n    \"content\": \"Chuck Norris once kicked a foot ball so hard it went into orbit and took out the command ship of an alien armada that where plotting to take over the earth ... they soon changed there minds\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 634,\n    \"content\": \"The Green Bay Packers challenged Chuck Norris to a football game. Final score: Norris 274, Packers (-96).\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 635,\n    \"content\": \"All is fair in love and war................ Except when Chuck Norris breaks out the grenades\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 636,\n    \"content\": \"Chuck Norris was only played in scenes of the movie Expendables 2 because all of the action scenes compiled would only last 17 seconds.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 637,\n    \"content\": \"Chuck Norris can't wait to find out what it's actually like to wait.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 638,\n    \"content\": \"Chuck Norris swallows sword-swallowers.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 639,\n    \"content\": \"A guy was furious at Chuck Norris. He fought with Chuck Norris with all of his rage. Chuck Norris happily fed on his rage until the guy became a hippie. Then Chuck Norris obliterated him, because Chuck Norris doesn't like hippies.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 640,\n    \"content\": \"If Fox had cast Chuck Norris as Jack Bauer, the show would have been called \\\"3\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 641,\n    \"content\": \"If a car's gas tank was filled with urine from Chuck Norris, it would get 1,000,000 miles to the gallon and go to 0 to Mach 3 in 4.4 seconds.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 642,\n    \"content\": \"Life is like a box of chocolates. They are all for Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 643,\n    \"content\": \"Chuck Norris is the only person who can purchase firearms while drunk and totally naked.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 644,\n    \"content\": \"Chuck Norris is ALL that AND a bag of chips!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 645,\n    \"content\": \"Gravity falls under the influence of the laws of Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 646,\n    \"content\": \"Ever wonder how bacon was created? Chuck Norris karate chopped a pig so many times so all that was left were thin strips of meat. He then cooked them with his fire breathing ability and so bacon was invented. His beard suggested the name.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 647,\n    \"content\": \"Chuck Norris is the problem to all the answers to your problems!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 648,\n    \"content\": \"Gregg Valentino is known to have the biggest biceps on the planet. That's because he once accidentally dropped a weight on Chuck Norris foot while training in the gym with Chuck. That action Caused Chuck's reflex's to hammer-kick Valentino in each bicep. Now even Arnold is amazed at Valentino's giant swollen biceps.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 649,\n    \"content\": \"Sauron's ring was actually Chuck Norris', and if he'd known he'd of kicked Frodo's arse.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 650,\n    \"content\": \"Chuck Norris can actually shoot a breeze\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 651,\n    \"content\": \"Chuck Norris can plug that spilling oil pipe in the gulf of mexico. Call him on 1-200-HANG-UP\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 652,\n    \"content\": \"Chuck Norris is callin' you pinhead!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 653,\n    \"content\": \"Chuck Norris single-handily won a game of football by completing a 97 yard touchdown pass to himself. It was the only offensive play of the game.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 654,\n    \"content\": \"Chuck Norris is the best in the West. He also has the North, East and South totally covered.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 655,\n    \"content\": \"Once a player found Chuck Norris on super smash bros for 3DS. He was instantly beaten from Chuck Norris when the Challenger round started. Developers of super smash bros said that the Chuck Norris guy was a easter egg. It was removed for being too powerful after 2 days.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 656,\n    \"content\": \"Chuck Norris commanded Russell Wilson to pass the ball instead of handing it off to Marshawn Lynch. Thats the reason why the Patriots won.........Seahawks should've won.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 657,\n    \"content\": \"If Chuck Norris played baseball, the Texas Rangers would have won the World Series in 2011. And 2010. And every Series dating back to 1972, their first year in Texas.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 658,\n    \"content\": \"Chuck Norris. The mere whisper of his terrifying name can make a hardened marine cry out in the night, impregnate a virgin and shatter all the glass within a five-mile radius.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 659,\n    \"content\": \"I played Madden football 18 times with Chuck Norris back in 2007 and we had the Patriots. Chuck opted to simulate the Super Bowl and the Giants beat us 17-14, coincidence? You be the judge....\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 660,\n    \"content\": \"two teams of Chuck Norris's playing 'red rover' is what actually birthed the universe.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 661,\n    \"content\": \"Chuck Norris loves all of his dogs, cats and horses .... with onions and gravy paired with a yak cheese, condor foie gras schmear on melba toast and a gallon jug of muscatel.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 662,\n    \"content\": \"Chuck Norris lives in the guest house at his Texas palatial estate. Only his main house mansion is spacious enough to store all of his guns, ammo and ninja death stars.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 663,\n    \"content\": \"Chuck Norris is so awesome, he caused blindness to the whole bat species just by his sheer awesomeness. Infact, if you listen intently all the bats shriek \\\"Chuck Norris! Chuck Norris! Chuck Norris!\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 664,\n    \"content\": \"Chuck Norris owns property in the Uncanny Valley\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 665,\n    \"content\": \"McDonald's got the idea of putting \\\"Billions Served\\\" on their signs after their founder visited Chuck Norris' house and saw his \\\"Billions of Heads Severed\\\" plaque on the wall.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 666,\n    \"content\": \"Chuck Norris can literally hand you your ass in a handbag. And then pull it out and kick it up between your ears.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 667,\n    \"content\": \"Chuck Norris actually ghost wrote all of Ernest Hemingway's novels and taught him the virtues of Key West fishing, rum drinking at Sloppy Joe's & whores.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 668,\n    \"content\": \"All people with hemorrhoids have been the recipient of a Chuck Norris roundhose kick to the mouth that was delivered so severely that it caused their tounge, tonsils and adenoids to protrude from their asshole.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 669,\n    \"content\": \"Sudden Death is: a. a crappy movie starring an even crappier Jean Claude Van Damme b. the way playoff overtimes are decided in the NHL c. what happens to you when you piss off Chuck Norris d. all of the above\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 670,\n    \"content\": \"When Chuck Norris walks into a bar, he automatically owns all the women inside and instantly has an infinite tab.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 671,\n    \"content\": \"No one truly knows who's Chuck Norris' real father. No one is biologically strong enough for this. He must've conceived himself.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 672,\n    \"content\": \"Mark McGwire, Barry Bonds, and Sammy Sosa didn't really take steriods, they just got batting tips from Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 673,\n    \"content\": \"Chuck Norris gets 5% cash back on all hand written checks.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 674,\n    \"content\": \"On June 7th 1994, Chuck Norris entered the same restaurant supermodel Cindy Crawford was eating at. Instinctively, Cindy swept everything off the table, threw herself on it in a fit of lust, and begged Chuck to ravish her. After Chuck finished his beer, he obliged her. When Chuck's magnificent lead sperm cannoned into Cindy's womb it went straight to one of her ovaries and roared, \\\"Which one of you servile wenches thinks you can handle getting split open by the Chuck!?\\\" All of the eggs cowered in the corner. The same thing happened at the other ovary. \\\"I didn't fucking think so!\\\" shouted the lead sperm which then lead the rest of the troops back into Chuck's balls. Chuck pulled out; roundhouse kicked Cindy in the face and told her, \\\"Don't ever waste my time again.\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 675,\n    \"content\": \"The Chuck Norris Facts sites are actually pages taken from Chuck Norris daily diary\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 676,\n    \"content\": \"Chuck Norris once farted on someone and was a very gross one that the man got sick with a disease. This disease is now what we call: Ebola.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 677,\n    \"content\": \"Steven Segal onece challenged Chuck Norris to a fight, Chuck Norris roundhouse kicked him in the face. this is why Steven Segal talks funny\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 678,\n    \"content\": \"Chuck Norris once got a 500 game in bowling. Without a ball. Or pins. Or oxygen. And nobody has ever worked up the courage to ask him how.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 679,\n    \"content\": \"Chuck Norris can hit a golf ball twice with one swing.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 680,\n    \"content\": \"Chuck Norris completed all missions on his \\\"Call of Duty 4: Modern Warefare\\\" game when set, on Prestige Level 55 \\\"Deathmatch\\\" setting & while standing on his head, blindfolded, hancuffed and wearing earplugs. And with his Guitar Hero controller.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 681,\n    \"content\": \"A rogue squirrel once challenged Chuck Norris to a nut hunt around the park. Before beginning, Chuck simply dropped his pants, instantly killing the squirrel and 3 small children. Chuck knows you can't find bigger, better nuts than that.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 682,\n    \"content\": \"Chuck Norrisis the only person who can totally understand Snoop Dogg's 'nizzle fizzle' shit.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 683,\n    \"content\": \"Chuck Norris is allowed to have pudding without eating his meat.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 684,\n    \"content\": \"Chuck Norris is the only thing that matters to Metallica.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 685,\n    \"content\": \"Chuck Norris casually goes where no man has ever gone before.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 686,\n    \"content\": \"Chuck Norris voted once, and automatically had a degree from the Electoral College.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 687,\n    \"content\": \"Every morning, Chuck Norris wakes up, gets out of bed, yawns, and scratches his balls with an electric egg beater.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 688,\n    \"content\": \"I assure you, the great day of the kicking will occur. By this I mean that actor Chuck Norris will literally pull up in your yard in his Hummer, walk to your front door, wait for you to open it, then kick you in the face before straightening his jacket and calmly driving away. The day is coming.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 689,\n    \"content\": \"Chuck Norris is allowed to say \\\"ni\\\" to The Knights Who Say Ni.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 690,\n    \"content\": \"Chuck Norris says that crying is actually allergic reactions to feelings.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 691,\n    \"content\": \"Contrary to popular belief, the groundhog does not fear seeing its shadow. It actually fears seeing Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 692,\n    \"content\": \"Chuck Norris once wrote a book. Its called the Bible.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 693,\n    \"content\": \"When Chuck Norris' balls dropped, the Earth itself wobbled on its axis.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 694,\n    \"content\": \"Meteors are actually people blazing down to Earth after having been roundhouse kicked by Chuck Norris into space for telling bad jokes about him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 695,\n    \"content\": \"When Chuck Norris was 3 he got a tricycle. When he was 4 he was bored with it and installed Harley V-Twin engine.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 696,\n    \"content\": \"The U.S. Government has come up with a new form of capitol punishment called 'Lethal Ejection'. It's where Chuck Norris throws the death row inmate through the side door of a Boeing 737 at 35,000 feet.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 697,\n    \"content\": \"Chuck Norris once look down at all the destruction and chaos he had caused and he thought it ..... GOOD\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 698,\n    \"content\": \"The Looney Tunes were originally called just The Tunes... until Chuck Norris made them Looney!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 699,\n    \"content\": \"Antarctica was made by sand everywhere.Then Chuck Norris used a flamethrower to turn it into ice. Finally it got so cold that it started snowing. And its also how winter was made.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 700,\n    \"content\": \"Chuck Norris learned English from a book written in Spain that was a copy of a Brazilian book that was written by a Guatemalan that was born in Turkey who copied it from a Greek that was born in Egypt that copied a book written by Homer [not Homer Simpson, that's silly] which was written in 2748677984738485 BCEsdgf,hjrwrwkdhjrkdgjchcsxdcshfkhjcgjrswI HATE IT WHEN HE DOES THAThcfjdghgklchjfujrhddcdhfbgksjdyjbkdgjfskudhOKOK IT WAS ORIGINALLY WRITTEN BY A DINOSAUR AND HOMER COPIED THAT thank you.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 701,\n    \"content\": \"Chuck Norris occasionally suffers from insomnia. When this happens, Chuck simply knocks himself out.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 702,\n    \"content\": \"Chuck Norris is the one that establishes all 'No man's lands'\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 703,\n    \"content\": \"Wayne Gretzky is so great because Chuck Norris was a good friend of his. He just wouldn't admit it publically, b/c Chuck Norris felt that it's about time that anyone else but him got the attention. The media is that fucking annoying.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 704,\n    \"content\": \"During the Vietnam War, Chuck Norris allowed himself to be captured. For torture, they made him eat his own entrails. He asked for seconds.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 705,\n    \"content\": \"If you look up Chuck Norris in the dictionary, you will get Round house Kicked in the face, or the balls, depending on how you are holding the dictionary.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 706,\n    \"content\": \"Chuck Norris can slam dunk a bowling ball from the half court line of a tennis court.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 707,\n    \"content\": \"Chuck Norris was challenged to a fight by the high school bully, so Chuck proceeded to kick the crap out of him. Chuck was in the fifth grade at the time.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 708,\n    \"content\": \"Chuck Norris has never been called for jury duty. They know that Chuck literally would be Judge, jury and executioner if they did.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 709,\n    \"content\": \"Chuck Norris was once called to a trial as a witness. After intense questioning Chuck gave the Judge twenty years hard labour for wasting his time.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 710,\n    \"content\": \"Last Halloween, Chuck Norris entered one of his testicles in the giant pumpkin contest and won.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 711,\n    \"content\": \"Every Thanksgiving, millions of people are thankful that Chuck Norris has allowed them to continue to live.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 712,\n    \"content\": \"America's next top model is really a competition of who gets to have Chuck Norris's child.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 713,\n    \"content\": \"Chuck Norris will not allow his image to be associated with losers! That's why he changed the title of his syndicated TV series from 'Walker, Texas Ranger' to 'Walker, St Louis Cardinal'.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 714,\n    \"content\": \"The signs outside of Chuck Norris' properties all say \\\"TRESPASSERS WILL BE NORRISED\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 715,\n    \"content\": \"Chuck Norris once visited the Virgin Islands, now they're just called the islands.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 716,\n    \"content\": \"Big Brother in Orwell's 1984 was really Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 717,\n    \"content\": \"You've heard of Mount Everest. It's actually a pile of dead people in Chuck Norris' back yard.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 718,\n    \"content\": \"The fall of Berlin wall was caused by Chuck Norris fart.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 719,\n    \"content\": \"Chuck Norris can suck a golf ball through a garden hose. Then he kills the first smartass who makes a joke about it.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 720,\n    \"content\": \"If Chuck Norris really likes you, he can make a single roundhouse kick last five hours.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 721,\n    \"content\": \"The U.S. Military once tried to capture the power of a round house kick from Chuck Norris into a bomb. It was called the Manhattan Project and it didn't even come close.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 722,\n    \"content\": \"Chuck Norris invented impaling when his kindergarten teacher tried to make him stop fingerpaiting while he happened to be using red fingerpaint. Coincidentally , his fondness for blood can also be traced back to the same day.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 723,\n    \"content\": \"The four corners of the Earth are all in Chuck Norris' back yard\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 724,\n    \"content\": \"Chuck Norris keeps a loaded .357 Magnum down the front of his underpants at all times, and he don't give a fuck.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 725,\n    \"content\": \"My dad cries whenever i threaten him with calling Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 726,\n    \"content\": \"The only reason George Lucas sold the rights to Star Wars was because he finally understood that Chuck Norris didn't want to star in any future sequels.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 727,\n    \"content\": \"Chuck Norris can't actually walk on water but he never got over knee deep while walking across the Atlantic ocean.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 728,\n    \"content\": \"The last time Chuck Norris went ice fishing, he caught an igloo and a small glacier.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 729,\n    \"content\": \"Chuck Norris can slice your head off with a baseball bat.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 730,\n    \"content\": \"There is no theory of evolution. Just a list of creatures Chuck Norris has allowed to live.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 731,\n    \"content\": \"Chuck Norris makes Weebles fall down.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 732,\n    \"content\": \"IF Chuck Norris EVENTUALLY dies, he will get ALL the virgins in the world.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 733,\n    \"content\": \"Chuck Norris can snipe you with a spitball\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 734,\n    \"content\": \"Chuck Norris cum is bottled and sold as a strong alcoholic beverage in Greece. The greeks call this drink \\\"ouzo\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 735,\n    \"content\": \"Chuck Norris personally trained his pet canary for a daily early morning free flight excercise in the great outdoors. It usually returns for breakfast carrying a dead peregrine falcon in it's beak.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 736,\n    \"content\": \"Chuck Norris' mother wears bowling ball earrings.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 737,\n    \"content\": \"Chuck Norris has a hemorrhoid the size of a bowling ball. He's been so busy kicking ass that hasn't even noticed it yet.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 738,\n    \"content\": \"When Chuck Norris calls 911 it's to ask if everything is ok.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 739,\n    \"content\": \"the nuclear bomb was made when a small town barber in the fifty first state tried to cut Chuck Norris's beard. that is why there is only fifty states.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 740,\n    \"content\": \"Chuck Norris accidentally took down the internet by closing his browser.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 741,\n    \"content\": \"The Grim Reaper looked at Chuck Norris and was pantsed and round house kicked in the balls, at the same time a new born child was named: Chuck Alfred Norris Tomas, and died instantly.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 742,\n    \"content\": \"When Chuck Norris was young, his friends played dodge ball. Chuck always enjoyed a good game of dodge crowbars.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 743,\n    \"content\": \"Chuck Norris was the only kid at the beach who could actually catch the seagulls.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 744,\n    \"content\": \"Chuck Norris drinks a gallon of oil every day to lubricate his nerves of steel.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 745,\n    \"content\": \"Chuck Norris can literally kick a person's ass into next week. Their head will travel five days farther.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 746,\n    \"content\": \"Chuck Norris can climb waterfalls..\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 747,\n    \"content\": \"Chuck Norris' dinner guests often throw up in their mouths, to savor his fine cooking all over again.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 748,\n    \"content\": \"Steven Seagal once invited Chuck Norris over to his house and challenged him to a game billiards. Chuck Norris easily won by simply racking his balls for him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 749,\n    \"content\": \"A semi-tanker truck once accidently spilled 30,000 gallons of petroleum jelly on I-35 in Texas. A schoolbus load of unsuspecting cheerleaders then got rear-ended by Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 750,\n    \"content\": \"Chuck Norris eventually found God, terrified and in phoetal position. NO ONE hides from Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 751,\n    \"content\": \"Chuck Norris can perform a three-point turn. With a tractor trailer. In an alley.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 752,\n    \"content\": \"Chuck Norris has eyes in the back of his head. Yeah,literally - in the back of his head.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 753,\n    \"content\": \"Some people install alarm systems. Others install Chuck Norris door mats. No one has the balls to walk on Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 754,\n    \"content\": \"When Chuck Norris gets really mad, he raises the roof. LITERALLY.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 755,\n    \"content\": \"Chuck Norris is a master of the ancient art of Feng Shui. He will without warning walk into your house, destroy all your furniture, choke you to death, then bill your family.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 756,\n    \"content\": \"In the semen that made it to Chuck Norris' mom's womb, Chuck Norris was the only sperm. He'd long then round-house killed all the other sperms while still in his Dad's epididymis/balls.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 757,\n    \"content\": \"Due to a temporal anomaly not yet fully understood, the sun does actually shine out of Chuck Norris' ass.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 758,\n    \"content\": \"Chuck Norris created Canada when he kicked all the Liberals out of America.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 759,\n    \"content\": \"Chuck Norris was once in a catch 22, but he roundhouse kicked it down to a 12 pack and literally drank his problems away.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 760,\n    \"content\": \"Disco, the Latin language, and Dinosaurs: all unfortunate victims of Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 761,\n    \"content\": \"Daenerys Targaryen is the \\\"Khaleesi of the Great Grass Sea,\\\" the \\\"Breaker of Chains,\\\" and \\\"Mother of Dragons.\\\" She would trade all that and more to become \\\"Woman of Chuck Norris.\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 762,\n    \"content\": \"On his days off Chuck Norris actually gets along with people quite well. Chuck Norris never takes a day off.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 763,\n    \"content\": \"The timeless movie classic \\\"Clash of the Titans\\\" is actually based on a 1974 Detroit Bar Fight involving Chuck Norris, Bruce Lee, God, and all five members of AC/DC.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 764,\n    \"content\": \"When you ask Chuck Norris a question, you'd better be ready to have an answer shoved all the way up your dick hole\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 765,\n    \"content\": \"Chuck Norris's wife uses insurance provided birth control pills. Wonder why Rush Limbaugh didn't call her a slut?\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 766,\n    \"content\": \"If Chuck Norris gave you a back rub, the coroner would swear you swallowed a hand grenade.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 767,\n    \"content\": \"all the world records were set by Chuck Norris. the people listed are in second place.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 768,\n    \"content\": \"Just to show off, Chuck Norris will occasionally use his testicles in nunchuck demonstrations.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 769,\n    \"content\": \"Chuck Norris' avatar is actually shorter than him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 770,\n    \"content\": \"Chuck Norris is suing Myspace for taking the name of what he calls everything around you.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 771,\n    \"content\": \"Chuck Norris was origionally to be cast as Neo in The Matrix, but when they told him about the powers he would recieve, he laughed and said im Chuck Norris! He then proceeded to roundhouse kick the Warner Brother representatives and flying off to drink some beer and kick some random person's ass\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 772,\n    \"content\": \"Before it became politically incorrect, guys used to participate in the sport of \\\"dwarf tossing\\\". Chuck Norris invented and enjoys the sport of gorilla tossing.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 773,\n    \"content\": \"Do you know why Chuck Norris doesn't have hair on his balls because hair doesn't grow on steel!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 774,\n    \"content\": \"Chuck Norris can dribble two bowling balls up a flight of stairs...with his feet.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 775,\n    \"content\": \"When he was a kid, Chuck Norris' bedroom walls were filled with photos of Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 776,\n    \"content\": \"Chuck Norris was born at 6 p.m. By 8 p.m he had killed all his siblings. By 10 p.m he had all his nurses pimped out and made $2000. He waited until noon the next day to pimp out his mom.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 777,\n    \"content\": \"Kirby can't swallow Chuck Norris, but Chuck Norris can swallow Kirby.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 778,\n    \"content\": \"Chuck Norris frequently signs up for beginner karate classes so he can accidentally roundhouse kick kids in the neck.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 779,\n    \"content\": \"'Original Sin' actually refers to the first time anyone ever tried to fight Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 780,\n    \"content\": \"The welcome mat at Chuck Norris' front door cleverly conceals the alligator pit.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 781,\n    \"content\": \"Chuck Norris is known to jump out of televisions and roundhouse kick the viewers for no reason at all. Extreme caution is advised while watching any shows involving Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 782,\n    \"content\": \"Before boarding a plane, Chuck Norris personally frisks all TSA agents, pilots, flight crews, baggage handlers, air traffic controllers and passengers. So far Chuck Norris has not discovered any terrorists but has found 3 enlarged prostates, 36 breast implants, one glass eye, 7 pints of whiskey and a gerbil.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 783,\n    \"content\": \"Nobody knows it, but there was actually a world war 3. When Chuck Norris told the world he was gonna fight by himself everybody quit and hid.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 784,\n    \"content\": \"Danny De Vito used to be over seven feet tall before his Chuck Norris pile-drive.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 785,\n    \"content\": \"Chuck Norris isn't even considered a heterosexual since everything he fucks is technically a puddle within seconds.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 786,\n    \"content\": \"Chuck Norris can literally hand you your own ass.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 787,\n    \"content\": \"Chuck Norris' Doctor does physicals and normally says \\\"turn your head and cough\\\". When Chuck drops his pants the Doctor says \\\"oh my god\\\"!!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 788,\n    \"content\": \"Chuck Norris has never made the same mistake twice because if he made a mistake and didn't actually kill you the first time, he'll go back in time and actually kill you 2 minutes before he tried to the first time.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 789,\n    \"content\": \"Chuck Norris does not fart. Because his fart can annihilate all life forms on Earth. But on December 21st 2012, he MAY fart.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 790,\n    \"content\": \"The ice Age was created when Chuck Norris accidentally left his freezer door open.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 791,\n    \"content\": \"When Chuck Norris calls shotgun, you'd better not argue, as he most likely is packing one.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 792,\n    \"content\": \"Fear of heights is called acrophobia. Fear of enclosed spaces is called claustrophobia. Fear of Chuck Norris is called sensible.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 793,\n    \"content\": \"Step 1: Have this Pokemon team: Slowking, Bibarel, Sawk, Throh, Conkeldurr, and your starter. Make sure all 6, besides the starter, are male and are nicknamed Chuck Norris. Step 2: Use this team in every Pokemon battle. You will always win with it.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 794,\n    \"content\": \"A guy challenged Chuck Norris to a knife fight so Chuck used what he had on hand and stabbed the guy to death with a toothpick.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 795,\n    \"content\": \"Chuck Norris remembers 9-11. He bows to the real American heroes on this day. And to America. And most importantly the families of all the fallen on that day 10 years ago. And to all the US servicemen & women who fell and to those who have served and those that continue to serve. And so do I!!!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 796,\n    \"content\": \"Chuck Norris drinks carrots by themselves in a way I will not tell you. All that I will say is that he sometimes drinks carrot juice instead.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 797,\n    \"content\": \"She-Hulk breaks the fourth wall and talk to the audience. Chuck Norris can break the fifth wall and the audience talks to him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 798,\n    \"content\": \"Chuck Norris once heard Vin Diesel was tougher than he was. Enraged Chuck began a cross country jog from Texas to California and confronted Vin. It is not known exactly what happened but Immeidately following the confrontation Vin appeared in the movie the \\\"Pacifier\\\", working for free. Vin has not appeared in any movies since but is scheduled to be a guest on the critically acclaimed sitcom \\\"Days of our Lives\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 799,\n    \"content\": \"\\\"Everybody Hates Chris\\\" was originally called \\\"Chuck Norris Hates Chris\\\" but Chris Rock didn't want to make a series just about how he survive Chuck Norris round house kicking him EVERYDAY\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 800,\n    \"content\": \"Chuck Norris usually has broken all ten commandments before his morning steak and whiskey.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 801,\n    \"content\": \"Chuck Norris knew Palpatine was a Sith Lord all along.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 802,\n    \"content\": \"El Nino used to be called Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 803,\n    \"content\": \"Chuck Norris once used a pool cue to hit a baseball out of Dodger Stadium. The ball was last seen flying over Iceland.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 804,\n    \"content\": \"The original title for Alien vs Predator used to be called Alien vs Chuck Norris. But no one wanted to pay $7.50 for a 10 second movie\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 805,\n    \"content\": \"Chuck Norris once traveled with the Ringling Bros and Barnum & Bailey Circus as the flaming chainsaw swallower.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 806,\n    \"content\": \"The atomic bomb is actually made of a contained Chuck Norris fart.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 807,\n    \"content\": \"Lego was invented when a Chuck Norris action figure smashed all the other toys to pieces.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 808,\n    \"content\": \"Chuck Norris has such a high sperm count that women have to chew before they swallow. That is if they dont drowned.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 809,\n    \"content\": \"Women are magnetically drawn to Chuck Norris' wang. It's actually caused a number of horrible injuries.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 810,\n    \"content\": \"Chuck Norris can blow up a balloon with both of his lips tied behind his back.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 811,\n    \"content\": \"Chuck Norris' toilet is actually Henry VIII's throne with a shotgun hole in the seat.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 812,\n    \"content\": \"When Chuck Norris walks through dark alleys, muggers give Chuck THEIR wallets.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 813,\n    \"content\": \"Stephen Hawking doesn't really have Lou Gehrig's Disease. He's been confined to his chair after angering Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 814,\n    \"content\": \"Contrary to popular belief, the first Thanksgiving was actually celebrated in 34,587 B.C. after an ancestor of Chuck Norris stabbed to death a Teradactyl that was attacking Fred Flintstone.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 815,\n    \"content\": \"Chuck Norris once farted 5 times while in the check-out line at a Bass Pro Shop. Three Bass Pro Shop employees were immediately hospitalized after accusing Chuck Norris of attempting to steal a duck call and some stink bait.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 816,\n    \"content\": \"Chuck Norris doesn't just bend space-time, he can turn it into a goddamn balloon animal.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 817,\n    \"content\": \"Chuck Norris attended last year's Nobel Prize ceremony wearing an all-white snakeskin pimp suit with matching widebrim hat and feather.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 818,\n    \"content\": \"Chuck Norris originally appeared in the \\\"Street Fighter II\\\" video game, but was removed by Beta Testers because every button caused him to do a roundhouse kick. When asked bout this \\\"glitch,\\\" Norris replied, \\\"That's no glitch.\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 819,\n    \"content\": \"As an incredible fusion drummer/percussionist, Chuck Norris is all about shoving that groove so deep in the pocket it hits your ball sack with extreme prejudice.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 820,\n    \"content\": \"Chuck Norris never has a plan \\\"B'. He never has a fucking plan 'A' either - all he needs is plan 'C' for Chuck.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 821,\n    \"content\": \"Batman, Spiderman, and Superman were at a wall when Chuck Norris walked up. \\\"We Super Heroes can climb, scale, or use X-ray vision to see through this wall. What can you do Chuck Norris?\\\" Chuck Norris turned and looked at the Wall which then let out a horrific scream, \\\"Oh Hell NO! I am out of here!\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 822,\n    \"content\": \"Chuck Norris challenged Steven Seagal to a ponytail contest. Seagal backed down immediately.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 823,\n    \"content\": \"Chuck Norris always give more bang for your buck. In other words, he will roundhouse kick you in the face, then take your wallet.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 824,\n    \"content\": \"Chuck Norris bought a machine gun. Then he went home and pointed it straight up in the air, pulled the trigger, and, due to sheer awesomeness, it shot holes in the atmosphere. Scientists believe these to be in the ozone layer while others say they are the holes found in cheese. Its really the stars.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 825,\n    \"content\": \"The Marquis de Sade invented wrought iron testicle clamps. Chuck Norris univented them which is why you've never heard of them before. Chuck Norris prefers to destroy your balls with a roundhouse kick.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 826,\n    \"content\": \"Chuck Norris can end the recession with one phone call.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 827,\n    \"content\": \"Chuck Norris is an unlockable Character on the new MK9.To unlock:beat game on hardest difficulty by only using roundhouse kicks, fatality all characters with roundhouse kick.when he shows up for the fight hold the run button hoping you can outrun him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 828,\n    \"content\": \"Chuck Norris is rolling out his own brand of breakfast cereal in June called Capt'n Chuck's Punch n Crunch.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 829,\n    \"content\": \"Chuck Norris now knows all the words to ever exist However, he only recently started learning \\\"mercy\\\" in every language.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 830,\n    \"content\": \"Einstein: You see, Chuck Norris is a kind of a very, very long cat. You pull his tail in New York and his fists fly in Los Angeles. Do you understand this? Great warriors all operate exactly the same way: you make eye contact here, you receive pain there. The only difference is, there is no cat.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 831,\n    \"content\": \"The film Hellbound is actually a documentary. Satan has, in fact, been dead since 1994, when Chuck Norris roundhouse kicked him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 832,\n    \"content\": \"Chuck Norris was once paralyzed by the pressure of his awesomeness. He then roundhouse kicked his awesomeness to Mars, where it eradicated all life, he then made more awesome.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 833,\n    \"content\": \"If you pray for Chuck Norris to die, Chuck Norris will immediately find and kill you, which means you actually prayed for Chuck Norris to kill you, because Chuck Norris will live forever.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 834,\n    \"content\": \"Chuck Norris once punched through a titanium wall so fast his arm caught fire.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 835,\n    \"content\": \"Chuck Norris wanted to fight someone and wanted a challege, so he cloned himself. The resulting fight is now known as the big bang. Chuck Norris won.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 836,\n    \"content\": \"When Chuck Norris goes in for a physical, the doctor is too afraid to get close enough for an examination, so he.examines from afar, grading him on his overall physical appearence, which of course, is always perfect.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 837,\n    \"content\": \"Chuck Norris only keeps in touch with his first nine dozen kids - all the others around the world get a quarterly newsletter\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 838,\n    \"content\": \"All of Chuck Norris' genes are Levi's.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 839,\n    \"content\": \"You can call Chuck Noriss' phone with no caller ID.. But Chuck Norris can & WILL call you right back!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 840,\n    \"content\": \"When Chuck Norris rips you a new one, it is actually anatomically superior to your old one. You must thank Lord Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 841,\n    \"content\": \"Chuck Norris usually showers by buying several dozen puppies and kittens, then starting up his wood chipper.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 842,\n    \"content\": \"In an average day, Chuck Norris: kills 74 and a half people sleeps with 120 women eats two large automobiles saves the world thrice, and decimates a small city.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 843,\n    \"content\": \"Chuck Norris can dribble a bowling ball.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 844,\n    \"content\": \"Chuck Norris was in a Jack Ryan movie. He was The Sum of All Fears.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 845,\n    \"content\": \"UFC actually stands for \\\"Ultimate Fatality by Chuck\\\". To prove this, Chuck Norris challenged the UFC champion. When Chuck entered the cage, the UFC champ pummeled himself to death.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 846,\n    \"content\": \"Chuck Norris wears alligator boots. He just slips his feet into real live alligators when he does.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 847,\n    \"content\": \"Chuck Norris invented a new language called Roundhouse Chuckanese\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 848,\n    \"content\": \"Chuck Norris roasts marshmallows by holding them near his groin for less than 30 seconds.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 849,\n    \"content\": \"Chuck Norris visited this website before. But he didn't submit a fact, he looked all 8616 facts. That includes this fact.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 850,\n    \"content\": \"If you see Chuck Norris screwing your mother, DO NOT APPROACH HIM. Just ignore all of the epic music playing, the explosions and the birds trying to fly in the window, and prepare a grave for her.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 851,\n    \"content\": \"Chuck Norris once skydived from the ionosphere. Why? Because he would be the only gold medalist to survive that kind of a fall.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 852,\n    \"content\": \"Chuck Norris has slept with Carmen Sandiego. She has now fallen for him and stalks him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 853,\n    \"content\": \"Chuck Norris brutally beat the shit out of the rock band Buckcherry, because of their stupid name. He hates when people re-arrange the letters of his sacred name. Wait - oh shit.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 854,\n    \"content\": \"Viagra is actually made entirely of crushed-up publicity stills of Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 855,\n    \"content\": \"Chuck Norris has a wallet made of face.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 856,\n    \"content\": \"China was once bordering the United States, until Chuck Norris roundhouse kicked it all the way through the Earth.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 857,\n    \"content\": \"Chuck Norris used to throw shoes at Dubya all the time.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 858,\n    \"content\": \"Chuck Norris won the PBA Championship Rodeo Bull Riding contest by riding Snort, a 6,450 lb Brahma Bull for 4 hrs 27 minutes when Snort finally collapsed. 9 months later, Snort had a calf.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 859,\n    \"content\": \"To prove his mental strenght Chuck Norris listened to Metallica/Lou Reed-collaboration \\\"Lulu\\\" on repeat for a whole day.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 860,\n    \"content\": \"Chuck Norris can nail a hammer into a wall.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 861,\n    \"content\": \"Chuck Norris is really just a manifestation of Pennywise The Clown's fear.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 862,\n    \"content\": \"We all need somebody to lean on. Except for CHuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 863,\n    \"content\": \"Chuck Norris once played a Generation V Pokemon game and caught a Raichu. The Raichu is now defiant enough to knock out an Excadrill with Bolt Strike. How is this defiant? Excadrill's types are Ground [has immunity to Electric-type moves] and Steel [has resistance to Electric-type moves], Raichu normally cannot learn Bolt Strike, and Raichu don't normally appear in Pokemon Black and White in the first place!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 864,\n    \"content\": \"When Bruce Lee did the fighting scene with Chuck Norris, he had to take 500 million gallons of tranquilizer injected in his body just so Bruce Lee could even land a punch on him. He had to use all the tranquilizer in the world to feel those punches. Seriously!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 865,\n    \"content\": \"All individuals that have remarkably survived a Chuck Norris attack suffer what in medical terms is called 'optical rectumitis'. That being having their assholes kicked out through their eyesockets\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 866,\n    \"content\": \"Chuck Norris created \\\"INCEPTION\\\" to allow people to believe that they had a fighting chance. That is why Bruce Lee never beat Chuck Norris In \\\"Way of The Dragon\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 867,\n    \"content\": \"With Chuck Norris, fear calls 911.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 868,\n    \"content\": \"Chuck Norris doesn't drive, because all roads lead to Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 869,\n    \"content\": \"Chuck Norris' scrotum has calluses.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 870,\n    \"content\": \"You know why alien space ships are called Unidentified Flying Objects? The aliens don't want Chuck Norris to identify them.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 871,\n    \"content\": \"One night Ice Cube and Snoop Dog saw Chuck Norris walking the streets of Compton, so they \\\"anonymously\\\" called the police.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 872,\n    \"content\": \"The term absolute zero refers to the number of people who will survive if Chuck Norris decides to go on an all-out killing rampage.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 873,\n    \"content\": \"When Chuck Norris Sleeps his nightmares become reality for all the world to see. Fortunately he never sleeps....ever.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 874,\n    \"content\": \"Chuck Norris drinks Mexican water by the gallon.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 875,\n    \"content\": \"In \\\"Wanted Dead Or Alive\\\", the lyric \\\"I've seen a million faces, and rocked them all\\\" is dedicated to Chuck Norris. Of course, the word 'rocked' is an euphemism for 'roundhose-kicked'.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 876,\n    \"content\": \"Rambo has a Chuck Norris poster on his wall.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 877,\n    \"content\": \"Chuck Norris challenged a staring contest with Weegee then Weegee turned into Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 878,\n    \"content\": \"Chuck Norris Installed linux in his sand watch\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 879,\n    \"content\": \"Chuck Norris is all five Beatles.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 880,\n    \"content\": \"There are no crying scenes of Chuck Norris in any of his movies? That's strictly because Chuck Norris never allows stunt doubles for any of his scenes.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 881,\n    \"content\": \"A big truck driver challenged Chuck Norris to a fight. Chuck asked him \\\"paper or plastic\\\"? The guy asked \\\"what the hell does that mean\\\"? Chuck said \\\"thats the type of bag you're gonna carry your teeth home in\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 882,\n    \"content\": \"Stop signs are actually warnings that Chuck Norris is passing by.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 883,\n    \"content\": \"Did you know if you watch the editors cut of Wizard of Oz, theres and alternate ending where Chuck Norris round house kicks Dorothys house back to Kansas... it shortened the movie drastically and the director decided not to use it... true story.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 884,\n    \"content\": \"All the women-attracting pheromones included in body sprays and colognes come from Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 885,\n    \"content\": \"Chuck Norris balls is where u get the term, you dont have the stones.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 886,\n    \"content\": \"For Halloween, instead of using pumpkins, Chuck Norris uses Yakuza heads.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 887,\n    \"content\": \"Chuck Norris can name all 493 pokemon...BACKWORDS\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 888,\n    \"content\": \"Little known fact: Chuck Norris is rumored to have been the original choice to play evil Cobra Kai sensei John Kreese in The Karate Kid. Presumably he turned the role down because, realistically, no student trained by Chuck Norris could ever possibly lose a match.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 889,\n    \"content\": \"For the next debate, Chuck Norris has volunteered to stuff all of the remaining GOP Presidential candidates into the tiny cicrus clown car they use for their arrival to the debate venue.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 890,\n    \"content\": \"Chuck Norris' auto biography is the best selling book of all time, it's called the bible\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 891,\n    \"content\": \"If Chuck Norris had starred in \\\"Jaws\\\" it would have been called \\\"Dentures\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 892,\n    \"content\": \"There are many people in this old world that have had an eyeball knocked out of one of their eye sockets because they say that they didn't see a Chuck Norris roundhouse coming. They all say that they have learned a valuable lesson & from now on they'll always keep an eye out for Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 893,\n    \"content\": \"While teaching a CPR course, Chuck Norris actually brought the practice dummy to life\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 894,\n    \"content\": \"In one particularly gruesome confrontation, Chuck Norris shaved all the hair off of a man's head and then forced him to eat it. That man today is Vin Diesel.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 895,\n    \"content\": \"Chuck Norris sired a baseball team...and a football team if you count all of the bastards.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 896,\n    \"content\": \"When all else fails.....Chuck Norris doesn't.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 897,\n    \"content\": \"Chuck Norris is going to star in a film called \\\"Twitter.\\\" He will portray 140 characters.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 898,\n    \"content\": \"Niagra Falls, is not really a waterfall, It's just what happens when Chuck Norris gets done with a night of drinking.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 899,\n    \"content\": \"Chuck Norris's great-grandson defeated Sabrina with a Level 17 Caterpie. Oh, and it's totally possible. Some person who's less related to Chuck Norris posted a video on his YouTube account which shows him defeating a team of 6 Pokemon with a Caterpie.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 900,\n    \"content\": \"Chuck Norris was originally cast for the starring role in Jaws, but the shark backed out of the project.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 901,\n    \"content\": \"Many people wonder why Star Wars begins with \\\"A long time ago, in a galaxy far, far away\\\"... Well, Chuck Norris roundhouse kicked all the jedi, clones & other aliens in that galaxy and moved to ours.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 902,\n    \"content\": \"Mr. T, Arnold Shcwarzzenger, and Chuck Norris are standing in front of God. God says to them,\\\"I have call you three here because you are the greatest fighters in the world and I have a place for one of you at my right hand. You must prove to me whom of you it shall be.\\\" Mr. T steps and says \\\"I pity the fool who doesn't let me sit at His right hand.\\\" God tells him that he was not good enough and sends Mr. T to hell. Arnold steps up and says \\\"I was in predator, commando, the terminator. You must choose the governator.\\\" God tells him not good enough and sends Arnold to hell. God turns to Chuck Norris and say \\\"Why should you sit beside me?\\\" Chuck quickly proceeds to roundhouse kick God in the face and say \\\"Bitch, your in my seat.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 903,\n    \"content\": \"Chuck Norris will personally roundhouse kick you if you don't get off this website and get back to work!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 904,\n    \"content\": \"After years of rigorous and physically demanding testing, it was proved that Chuck Norris was stronger than Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 905,\n    \"content\": \"Chuck Norris once ripped the eyeballs out of Great Horned Owl and wore them around as night vision goggles.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 906,\n    \"content\": \"The movement of subatomic air substance created from Chuck Norris' roundhouse kicks were recently accredited by physicists as allowing them to view the Higgs Boson Partical.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 907,\n    \"content\": \"Gravity is so intense in a black hole that it actually distorts time and space, leaving absolutely no chance of escape or survival. Chuck Norris walks through six black holes every morning because he needs more time to kill people in different places.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 908,\n    \"content\": \"if you punch a brick wall you will never win. but if Chuck Norris punches one he wins every time!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 909,\n    \"content\": \"Jack Lallane gave birth to Chuck Norris, who in turn, gave birth to Jack Lallane. Vin Diesel was the afterbirth.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 910,\n    \"content\": \"Chuck Norris actually died four years ago, but the Grim Reaper can't get up the courage to tell him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 911,\n    \"content\": \"Chuck Norris' balls make cold water shrink.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 912,\n    \"content\": \"Chuck Norris was the only professional boxer ever who was allowed to perform fatality moves on his defeated opponents.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 913,\n    \"content\": \"Chuck Norris is all the rage.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 914,\n    \"content\": \"One time Sylvester Stallone got into an argument with Chuck Norris over who was the best knitter. Chuck Norris roundhouse kicked him in the face. Stallone's lip hasn't been the same since.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 915,\n    \"content\": \"I'm making a game called Ultra Smash Flash. Chuck Norris will be playable. And Kirby can use his roundhouse kick. Also, the Chaos Emeralds will be transformational items. When Chuck Norris gets 7, his power is STILL less than 1% of his real life counterpart. Makes sense, right? Quality, NOT quantity? NOPE. Quality AND quantity! Let's do this!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 916,\n    \"content\": \"All steroids are derived from Chuck Norris DNA.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 917,\n    \"content\": \"Chuck Norris now lives in Eagle Pass. He has a set of balls made out of brass. When they clang together, They cause stormy weather. And lighting shoots out of his ass.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 918,\n    \"content\": \"Chuck Norris can say \\\"I'm fallen in love with you\\\" to a woman without mosbying her.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 919,\n    \"content\": \"It has been said that Chuck Norris has \\\"the eye of the tiger\\\". He also has the eyes of a badger, a tarantula, a komodo dragon. an octopus, 3 bald eagles and an aardvark. He keeps them all in a Claussen dill pickle jar hidden under his bed for safe keeping.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 920,\n    \"content\": \"Chuck Norris is forbidden from competing in paintball games... for very fucking obvious reasons.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 921,\n    \"content\": \"Chuck Norris likes Apples for dessert ... especially Macbook Pros and Airbooks\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 922,\n    \"content\": \"The Foo Fighters will soon find Chuck Norris had already fought and killed all the Foo.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 923,\n    \"content\": \"Chuck Norris isn't actually invincible. HE DOESN'T NEED TO BE.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 924,\n    \"content\": \"In 1969, man landed on the Moon. By 1969, Chuck Norris had already landed on eight planets, skipping Pluto \\\"because it's too damn small.\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 925,\n    \"content\": \"It is generally accepted that the Meteor Crater in western Arizona was made by a meteor. WRONG. It was actually a result of a Chuck Norris skydiving mishap. After jumping from the plane, one of his balls became entangled in his parachute chords and was severed. Fact is, the crater is a result of his testacle impacting the ground!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 926,\n    \"content\": \"If Chuck Norris was a teacher, he could literally blow your mind. Dont take his class if you want your brain. xD\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 927,\n    \"content\": \"A greastest achvement that you can get is when you go down niagara falls in a wodden barrole, Chuck Norris can go UP niagara falls in a cardboard box.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 928,\n    \"content\": \"Chuck Norris finished the ice bucket challenge by dumping the entire Antarctica continent on his head.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 929,\n    \"content\": \"Prior to contrary belief, the Red Sea was actually parted by Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 930,\n    \"content\": \"Chuck Norris showed Snooki what the situation really is.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 931,\n    \"content\": \"When Chuck Norris inhales a helium balloon his voice will sound like Barry White in slo-mo for the next nine hours.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 932,\n    \"content\": \"Wheaties are actually sun-dried Chuck Norris boogers.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 933,\n    \"content\": \"Chuck Norris poop is harder than rock. His turds are called \\\"diamonds\\\" when sold.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 934,\n    \"content\": \"If Chuck Norris rammed his boot up your ass, all three of us would be tickled!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 935,\n    \"content\": \"When Chuck Norris was younger he was excited when he began growing chest hair. All the other boys in his 1st grade class were jealous.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 936,\n    \"content\": \"When Chuck Norris falls in water, Chuck Norris doesn't get wet. Water gets Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 937,\n    \"content\": \"Chuck Norris can clip his toenails, blow up a balloon, sneeze and inhale a cigarette at the same time.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 938,\n    \"content\": \"It's all fun and games until Chuck Norris pulls your eyes out with a socket wrench.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 939,\n    \"content\": \"Chuck Norris can unhinge his jaw, to better facilitate swallowing things whole.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 940,\n    \"content\": \"Thi site has the worst Chuck Norris jokes out there. I mean really people. No one even puts any thought into them. They are pathetic\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 941,\n    \"content\": \"Chuck Norris went to the virgin isles and when he came bak they were just called the isles\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 942,\n    \"content\": \"After a pick up game of basketball, Chuck Norris made 42 baskets out of 30 attempts.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 943,\n    \"content\": \"Superman actually has two weaknesses Kryptonite and Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 944,\n    \"content\": \"Chuck Norris went back in time and killed all his great-grandparents just to trip everybody out.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 945,\n    \"content\": \"Chuck Norris was actually Spartacus.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 946,\n    \"content\": \"Once again, Chuck Norris allows the skinny black guy to pretend that he's running America for another four years.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 947,\n    \"content\": \"Chuck Norris owns all of the No. 1 pencils.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 948,\n    \"content\": \"Two And A Half Men was originally Seventy-Eight And a Half Men and a show only about Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 949,\n    \"content\": \"Chuck Norris is brimming with so much testosterone-fueled badassery, that your balls will twitch at the sight of him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 950,\n    \"content\": \"Bruce Spingsteen calls Chuck Norris \\\"The Boss\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 951,\n    \"content\": \"When landing on the moon, Neil Armstrong actually said, 'one small step for man, one giant leap for mankind... and please, Chuck Norris, don't kill me for being the first.'\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 952,\n    \"content\": \"On September 13th of 1295, Chuck Norris beat Dark Souls III, Mario & Luigi: Paper Jam, Katamari Damacy, Battletoads, Pong, Galaga, MineCraft, and Sammy Lightfoot at the exact same time - all by eating a doughnut in an extremely specific manner.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 953,\n    \"content\": \"Chuck Norris was originally going to star in the movie 127 Hours, but was dropped when producers relized they would have to change the name of the movie to 8.3 Seconds.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 954,\n    \"content\": \"A Handicap parking sign does not signify that this spot is for handicapped people. It is actually in fact a warning, that the spot belongs to Chuck Norris and that you will be handicapped if you park there.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 955,\n    \"content\": \"Chuck Norris went as himself for Halloween; He got twice as much candy as everybody\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 956,\n    \"content\": \"Chuck Norris can call checkmate, before the pieces are setup on the chessboard.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 957,\n    \"content\": \"Chuck Norris named his price and saved 15% or more on car insurance when he switched to Allstate.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 958,\n    \"content\": \"Chuck Norris can impregnate a woman orally.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 959,\n    \"content\": \"Chuck Norris doesn't use a chainsaw to cut trees, he just stares at the tree until it falls over.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 960,\n    \"content\": \"Whatever happened to Duncan MacLeod, The Highlander? He foolishly challenged Chuck Norris. In the end, there can be only one. The one is Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 961,\n    \"content\": \"Chuck Norris NEVER calls the cops. The cops call Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 962,\n    \"content\": \"Jimmy Fallon has to ask Chuck Norris permission \\\"to make it rain up in here\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 963,\n    \"content\": \"War of The Worlds was actually a documentary- all the aliens died out after Chuck Norris dealt with them.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 964,\n    \"content\": \"Chuck Norris built a time machine and went back in time to stop the JFK assassination. As Oswald shot, Chuck Norris met all three bullets with his beard, deflecting them. JFK's head exploded out of sheer amazement.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 965,\n    \"content\": \"When Chuck Norris attended a Boy George concert, Boy George soon found himself in the nose bleed section - literally.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 966,\n    \"content\": \"When Chuck Norris was about to undergo a major surgical procedure, he was given a strong anesthetic and told to count backward slowly from one hundred. When Chuck got to zero and still didn't feel even slightly drowsy, he naturally murdered all the doctors with their own tools and performed the procedure himself.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 967,\n    \"content\": \"The Most Interesting Man in the World's hair is not actually grey. It's actually covered with Chuck Norris' sperm.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 968,\n    \"content\": \"Chuck Norris caught a chicken using a dead alligator as bait.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 969,\n    \"content\": \"I would like to take this spot to remember Michael Jackson, who was pronounced dead on the 25th. He was the King of Pop, and we will all miss him. Rest in peace. Suspected cause of death: A Chuck Norris delivered roundhouse kick to the face. Evidence: Missing nose, giant bootprint.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 970,\n    \"content\": \"All bad guys ever kicked by Chuck Norris in TV/movies immediatly died upon end of contract. Chuck Norris respects the Law.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 971,\n    \"content\": \"Chuck Norris is recommending all his friends buy a boat because Zombies can not swim.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 972,\n    \"content\": \"Chuck Norris decided it shall be called pineapple, and the world accepted it out of sheer terror even though the fruit had nothing to do with pines or apples.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 973,\n    \"content\": \"In the Matrix, how can you tell it from the real world? Well, in the real world, all leading roles played by different actors who always get the girl are actually Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 974,\n    \"content\": \"Some people call it love at first sight when you gaze in to the eyes of your lover. Other people call it death by suicide when you stare at Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 975,\n    \"content\": \"Chuck Norris puts the C in Critical, the H in Hercules, the U in Unbeatable and the K in Kick... All together - CHUCK.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 976,\n    \"content\": \"Chuck Norris is widely considered the greatest hip-hop artist of all time.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 977,\n    \"content\": \"Chuck Norris can actually \\\"hold up\\\" a bank...with one finger.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 978,\n    \"content\": \"If a fishes see Chuck Norris swim , they usally drown in fear.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 979,\n    \"content\": \"Robin Hood was partially based on Chuck Norris, in that Norris would rob from the rich. But Robin Hood never roundhouse-kicked the poor. Or the rich, for that matter.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 980,\n    \"content\": \"The Kool-Aid Pitcherman busted through the wall of Chuck Norris' livingroom and said, \\\"OH NOOOOOOOO!\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 981,\n    \"content\": \"Chuck Norris isn't all that interested in astronomy. The only stars Chuck Norris cares about are the 50 on the flag of the USA, the one that's part of his Ranger badge, and the Lone Star of Texas.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 982,\n    \"content\": \"King Solomon suggested cutting the baby in half. Chuck Norris ACTUALLY cut the baby in half, ate it, and proceeded to impregnate both women while bellowing \\\" The essence of this baby will live on through the gift of my mighty seed!\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 983,\n    \"content\": \"Chuck Norris invented the kangaroo when he ripped the front legs off a dog and threw it all the way to Australia.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 984,\n    \"content\": \"It should be blatantly obvious to all, but it still bears repeating: never, ever, EVER ask Chuck Norris to take his boots off when he enters your house.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 985,\n    \"content\": \"Chuck Norris single handedly roundhouse kicked the butt of every player, coach, waterboy and fan of the Florida State University Seminoles football team. They are now known as the Semiholes.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 986,\n    \"content\": \"Chuck Norris can finish an \\\"all you can eat\\\" buffet.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 987,\n    \"content\": \"Metallica's James Hetfield calls himself a table. Chuck Norris just calls himself a winner.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 988,\n    \"content\": \"Chuck Norris once decided to sell his saliva as an areosol spray. He called it \\\"WD-40\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 989,\n    \"content\": \"Chuck Norris is the landlord of the Hall of Justice.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 990,\n    \"content\": \"When there's something bad in your neighborhood... Who you gonna call? CHUCK NORRIS!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 991,\n    \"content\": \"Some people check their horoscope. Chuck Norris consults his Norriscope. It's usually a set of co-ordinates and the words 'KILL' or 'SEX'.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 992,\n    \"content\": \"Chuck Norris didn't actually invent time travel. His future self taught him how.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 993,\n    \"content\": \"Chuck Norris' life is basically a gritty reboot of the concept of grittiness.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 994,\n    \"content\": \"Little known fact: the Washington Monument was originally called the Chuck Norris Erection.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 995,\n    \"content\": \"Chuck Norris can kill you with a headshot using a shotgun from across the map on call of duty.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 996,\n    \"content\": \"Chuck Norris was orginally casted as the main character for salt but then they changed it to Angelia Jolie, look at her face now.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 997,\n    \"content\": \"Chuck Norris has seen it all, and done it all, so many times that he has long ago lost count.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 998,\n    \"content\": \"Little known fact: Chuck Norris actually discovered the theory of relativity tattooed on his ass after a weekend in Vegas.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 999,\n    \"content\": \"The problem of illegal immigration can be dramatically curtailed, if we put Chuck Norris at the border.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1000,\n    \"content\": \"SpongeBob SquarePants once called Chuck Norris a Crabby Patty sissy boy. An angy Chuck Norris then roundhouse kicked SpongeBob in the ass so hard that he had to legally change his name to SpongeBob NoRectumPants.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1001,\n    \"content\": \"Chuck Norris once rocked so hard in an AC/DC concert that it was felt even in 1906. They called it the great San Francisco earthquake.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1002,\n    \"content\": \"Chuck Norris once got aids. He sent them on an espionage mission to Phuket, Thailand, and they all got AIDS.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1003,\n    \"content\": \"Scientists have discovered the most stable method of measuring time. They call it Chuck Norris's&#65279; heartbeat.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1004,\n    \"content\": \"When Chuck Norris plays football, he uses his foot and your balls.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1005,\n    \"content\": \"in 1974 Chuck Norris was charged with killing 15 students during a school shooting...with a spitball\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1006,\n    \"content\": \"When the Lone Ranger & Tonto challenged Chuck Norris to a game of 8 ball, Chuck Norris racked thier balls.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1007,\n    \"content\": \"Anthrax is reverse-engineered from Chuck Norris' white blood cells and was originally called Chuckthrax.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1008,\n    \"content\": \"Throughout the '80s and '90s, Chuck Norris scorched a pretty wide canyon in the lush and ample landscape of Southern California pussy. Basically, if you know a woman who was between the ages of 16 and 80 and living within a 30-mile radius of L.A. between 1981 and 1999, it's a mathematical certainty she tried to fuck Chuck Norris at least once.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1009,\n    \"content\": \"If all the army's in world were to wage war on Chuck Norris he would just cough and they would be dead\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1010,\n    \"content\": \"Chuck Norris created the Chinese basketball player, Yao Ming by means of torture stretching a sumo wrestler on \\\"the rack\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1011,\n    \"content\": \"Chuck Norris once ordered a Big Mac at a Catholic confession booth, and he fucking well got it. He then reversed his Hummer back through the hole in the wall.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1012,\n    \"content\": \"When Chuck Norris was 5, he went to the Mall to see Santa. Santa asked \\\"what would you like little boy, a train set? A bike? Chuck replied \\\"no Santa, I want a rocket launcher\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1013,\n    \"content\": \"Errol Flynn once tried to grow a Chuck Norris beard. Which of course is why he died such a brutally violent death.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1014,\n    \"content\": \"Chuck Norris was at a bar when a drunken guy called him a pussy. Chuck punched him so hard his kidneys shut down.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1015,\n    \"content\": \"Chuck Norris keeps a small collapsable guillotine in the trunk of his Hummer.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1016,\n    \"content\": \"Chuck Norris owns a chain of Starchucks along the Pacific north-west, for all your coffee, alcohol and firearms needs.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1017,\n    \"content\": \"Chuck Norris completed the Tough Guy Challenge by doing nothing.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1018,\n    \"content\": \"Chuck Norris can literally order Flied Lice at a Chinese takeout.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1019,\n    \"content\": \"Chuck Norris finished every Call of Duty games in less than 15 minutes..........without shooting a single bullet.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1020,\n    \"content\": \"When playing Blackjack, Chuck Norris wears a 50-gallon cowboy hat, huge bug-eye wraparound shades and a black velvet leisure suit covered in diamond studs. He keeps a loaded Uzi on the table while he plays.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1021,\n    \"content\": \"Chuck Norris can lick the live end of a 50,000 watt cable and call it ice-cream.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1022,\n    \"content\": \"Q: How much wood could a woodchuck chuck if a woodchuck could Chuck Norris? A: All of it...\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1023,\n    \"content\": \"Chuck Norris once took a dump on Wall Street. The turd he left is now known as the Bronze Bull.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1024,\n    \"content\": \"When Chuck Norris action figures first came out they had a recall, because they were beating the shit out of little kids.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1025,\n    \"content\": \"The most difficult thing about making the Total Gym commercials was keeping Christie Brinkley from tearing off her clothes and begging Chuck Norris, \\\"Take me, Chuck Norris, you magnificient bearded stallion!\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1026,\n    \"content\": \"If Chuck Norris imagines roundhouse kicking someone, that roundhouse kick actually hurts someone. Try not to imagine him imagining that.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1027,\n    \"content\": \"The Beatles are on itunes because Chuck Norris finally bought a Mac.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1028,\n    \"content\": \"Chuck Norris can kill more people before 9 A.M. than most armies can kill all day.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1029,\n    \"content\": \"Chuck Norris can break your neck with his tongue, tear your heart out with his eyelashes and kick you in the dick with enough force to leave a mushroom-shaped hole in the brick wall behind you.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1030,\n    \"content\": \"In 1978, a suicidal man,convinced that insulting Chuck Norris would result in instant death, walked right up to him and called him 'Shmuck Novice' to his face. You don't wanna know what is still happening to him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1031,\n    \"content\": \"The goverment called Chuck Norris to ask him to destroy an asteroid the size of Texas.Chuck Norris then rode on top of a rocket with nothing but a fork and a cherrybomb.Needless to say, the asteroid lost.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1032,\n    \"content\": \"Chuck Norris once found the mammary glands on an alligator.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1033,\n    \"content\": \"Chuck Norris was recently on Oprah, and while dicussing his sexual conquests of Katie Holmes behind Tom Cruise's back, he got overexcited on jumped all over the audience.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1034,\n    \"content\": \"Tom Brady can throw a football 60 yards. Chuck Norris can throw Tom Brady five times farther.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1035,\n    \"content\": \"Once while on an Amazon River piranha fishing trip in remote Brazil, Chuck Norris happened upon a native village of cannibals. They are all now vegan and homeless.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1036,\n    \"content\": \"All people say that the future is robots and futuristic buildings and technology. The real future is Chuck Norris as the ruler of the world. And ruler of roundhouse kicks and karate.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1037,\n    \"content\": \"The reason the last Ice Age ended was because Chuck Norris had gotten bored with all the snow and ice, and yawned, melting all the glaciers.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1038,\n    \"content\": \"Chuck Norris doesn't call a doctor for erections that last for over 4 hours. But the sluts he bangs need to.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1039,\n    \"content\": \"If you have read Harry Potter, you know about the unbeatable Elder Wand. It is actually Chuck Norris' used tooth stick.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1040,\n    \"content\": \"Chuck Norris once accidentally killed a man by roundhouse kicking his shadow. The judge deemed the incident an Act of God and Chuck Norris walked a free man.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1041,\n    \"content\": \"When night falls in the forest, the darkness gets afraid of Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1042,\n    \"content\": \"When WeeMan joined the cast of Jackass, he was 6'1 1/2\\\" tall. Then they had him try to give Chuck Norris a wedgie.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1043,\n    \"content\": \"Most families play badminton with a racquet and a small feathered birdie. Chuck Norris' family often play badminton using a manhole cover and an ostrich carcass.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1044,\n    \"content\": \"Fool me once: shame on you. Fool Chuck Norris once: actually, you can't ever fool Chuck, and he'll kill you for even thinking about it.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1045,\n    \"content\": \"The original phrase \\\"balls to the wall\\\" was in reference to anytime Chuck Norris entered a building smaller than an aircraft hanger\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1046,\n    \"content\": \"Chuck Norris can create a molecular compound out of all of the inert gases.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1047,\n    \"content\": \"Dos Equis XX is actually Chuck Norris' urine.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1048,\n    \"content\": \"Chuck Norris is unstoppable in all games of Call of Duty\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1049,\n    \"content\": \"For Sunday Church Communions, Chuck Norris is served a 3 lb loaf or sourdough bread and gallon jug of MD 20/20 wine.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1050,\n    \"content\": \"Chuck Norris satisfied Madonna so well she actually turned British.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1051,\n    \"content\": \"A doctor once tried to test Chuck Norris' reflexes by lightly tapping on his knee with a small wooden mallet. Needless to say, that doctor is now in orbit.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1052,\n    \"content\": \"Chuck Norris doesnt do the ice bucket challenge. Chuck Norris does the HOT LAVA BUCKET CHALLENGE.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1053,\n    \"content\": \"Chuck Norris recently ran into Nancy Pelosi and she told Chuck she had just flown in from Washington D. C. Chuck said \\\"oh really, where did you park your broom\\\"?\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1054,\n    \"content\": \"Chuck Norris literally shits bricks. These bricks have been used to build 17 orphanages in his lifetime. Ironically, Chuck's favorite pasttime is burning down orphanages.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1055,\n    \"content\": \"A comet will erase the human race, the sciencists called the comet Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1056,\n    \"content\": \"Chuck Norris is the only computer system that beats a Mac or a PC. Too bad all it does is round house kicks the user.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1057,\n    \"content\": \"Chuck Norris fairly warned Tony Siragusa to not use Depends to \\\"protect his manhood\\\" before racking him in the balls.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1058,\n    \"content\": \"If you ever dream of beating Chuck Norris in a thumb war, the next event in said dream will be a 6734-ton weight falling on you. This is Chuck Norris's roundhouse kick.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1059,\n    \"content\": \"Chuck Norris once made a 367 yard putt with a ping-pong ball.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1060,\n    \"content\": \"Chuck Norris once rappelled 12,000 ft. down a mountain cliff to save a baby eagle chick that had fallen from its nest. After he returned the chick to its nest, the mother eagle flew in carrying a dead rabbit. Chuck Norris killed her instantly with a karate chop for being neglectful and threw her feathered carcass off the cliff. Then he ripped the rabbit apart with his teeth and lovingly fed the eagle chick mouth to beak. Chuck Norris is epic.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1061,\n    \"content\": \"The eleventh Commandment: 'Disregard all of the above when Chuck Norris tells you to do his bidding.'\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1062,\n    \"content\": \"Chuck Norris can blow up a steel wall by touching it with his left pinkie toe.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1063,\n    \"content\": \"Chuck Norris wants all South Carolina beach goers to feel safe because he will personally be extracting all the teeth from all area sharks this 4th of July weekend.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1064,\n    \"content\": \"Chuck Norris wears a size 2 ballet slipper.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1065,\n    \"content\": \"Chuck Norris went back to the past and impregnate hisself to make the purest chuck we know today. We can call him prime chuck.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1066,\n    \"content\": \"Chuck Norris knows all the words in the dictionary, except the word \\\"Mercy\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1067,\n    \"content\": \"Chuck Norris once challenged Cool Hand Luke to an egg eating contest. Chuck Norris beat Cool Hand Luke by eating 500 eggs to Luke's record of 50. Chuck Norris's bowel movement after he ate all those eggs later starred in the 80's film \\\"Howard the Duck!\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1068,\n    \"content\": \"Finally, many of you may be wondering why Republican candidate Mike Huckabee couldn't gain the GOP nomination even with help from the great Chuck Norris. We don't know why exactly, but conspiracy theorists may see some tie in with this legend about Norris: Contrary to popular belief, America is not a democracy, it is a Chucktatorship.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1069,\n    \"content\": \"Chuck Norris once stabbed a man with a bowling ball.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1070,\n    \"content\": \"When Chuck Norris pummels the shit outta you, get yourself to a hospital, and tell 'em Chuck sent you - they've got a special ward all ready to go.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1071,\n    \"content\": \"Chuck Norris once opened a can of Campbells chicken noodle soup with his eyeballs.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1072,\n    \"content\": \"One summer day, Chuck Norris was grilling steaks in his backyard when Bobby Flay approached him and challenged him to a Throwdown. Six hours later, surgeons were successful in reducing the swelling in Bobby's brain caused by a perfectly placed roundhouse kick to Bobby's temple. Prior to surgery, Bobby's head swelled up as big as Alton Browns head...\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1073,\n    \"content\": \"The 7 wonders of the world were actually Chuck Norris' science fair projects. And Chuck Norris is the 8th wonder of the world.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1074,\n    \"content\": \"Chuck Norris once rhymed \\\"pain\\\" with \\\"balls.\\\" No one called him on it.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1075,\n    \"content\": \"Chuck Norris does not have elephantitis on his balls. He is just well-endowed.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1076,\n    \"content\": \"Just to prove Darwin's theory of evolution wrong, Chuck Norris went 300 billion years back in time and killed the world's first amoeba. He then returned to modern day and killed all the world's Dawinists, thus proving the Darwin's theory of survival of the fittest to be correct.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1077,\n    \"content\": \"While waiting at the drive up window at the local KFC for his order of lobster thermidor, Chuck Norris chugged a gallon of Wild Turkey. When his order arrived, he barfed in the cashiers face and drove off laughing.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1078,\n    \"content\": \"The term 'crack a smile' actually was slang for one of Chuck Norris' signature moves, one he mainly uses for killing smug assholes.The term 'crack a smile' actually was slang for one of Chuck Norris' signature moves, one he mainly uses for killing smug assholes.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1079,\n    \"content\": \"Chuck Norris won the 2014 Pulitzer Prize for his 874 page short story called \\\"Me, Chuck Norris\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1080,\n    \"content\": \"Chuck Norris is the only man that is allowed to have his cell phone on in a hospital, because he is the one that puts people in the hospital\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1081,\n    \"content\": \"Many cinemas in the south-west feature sold-out all-night marathons of Chuck Norris' Total Gym infomercials.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1082,\n    \"content\": \"This Halloween, Miley Cyrus wants to go Twerk or Treating at Chuck Norris' house. Epic failure!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1083,\n    \"content\": \"Chucky is actually Chuck Norris' son.......wait what the fu-\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1084,\n    \"content\": \"\\\"Everybody Hates Chris\\\" was originally called \\\"Chuck Norris hates Chris\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1085,\n    \"content\": \"A circus clown once bumped into Chuck Norris. It took him only three seconds to twist the clown into an animal balloon.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1086,\n    \"content\": \"Chuck Norris set a world record in the 100 yard dash at 8.2 seconds. In doing so, he also set the world record for the mile run as he lapped all opponets in the 100 yard dash 18 times.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1087,\n    \"content\": \"CHuck Norris is the Mack Daddy, and we are all but his hoes.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1088,\n    \"content\": \"All of Chuck Norris' fingers are trigger fingers.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1089,\n    \"content\": \"If you add Chuck Norris to your friends list, all your other friends will instantly disappear. You don't need them anymore.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1090,\n    \"content\": \"NASA has found a replacement for the space shuttle. They are calling it Chuck Norris's arm.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1091,\n    \"content\": \"It's the assholes like John West that Chuck Norris brutally roundhouse kicks, that makes Chuck Norris the best.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1092,\n    \"content\": \"Chuck Norris can retract his beard, wolverine-style, at will. It makes that metallic sound and everything.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1093,\n    \"content\": \"Chuck Norris once roundhouse kicked Mr Lawrence Thread so hard all that was left of his name was Mr T.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1094,\n    \"content\": \"To ensure that the classic movies are not forgotten by future generations, many are currently being updated by digitally inserting Chuck Norris into them. So get ready for the upcoming re-releases of such classics as Norris Of Arabia, Chuckablanca and Citizen Chuck.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1095,\n    \"content\": \"Chuck Norris doesn't have to pay $4.00 a gallon for gas. His vehicle is too frightened to ever run out.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1096,\n    \"content\": \"Curators at Madame Tussauds Wax Museum had to remove the life size wax figure of Chuck Norris one day after they first installed it. It seems they found Chuck Norris' wax foot deeply inbedded in the face of the Michael Jackson figure.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1097,\n    \"content\": \"When a biker falls while riding he gets a permanent case of road rash. When a ninja falls fighting Chuck Norris he gets a permanent case of Chuck rash.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1098,\n    \"content\": \"When Chuck Norris was in high school he played baseball. He did not use a bat, he just used his fist to punch the ball out of the park.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1099,\n    \"content\": \"Originally Schools had blocked websites. Chuck Norris can go in blocked websites.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1100,\n    \"content\": \"Most tough eat nails for breakfast, Chuck Norris does all his grocery shopping at The Home Depot.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1101,\n    \"content\": \"The Swiss all own a Chuck Norris Army Knife.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1102,\n    \"content\": \"Contrary to popular folklore, Ebenezer Scrooge became filled with the true spirit of Christmas after he found out that Tiny Tim is Chuck Norris' nephew. And the fact that Chuck Norris relentlessly kicked his ass all night long on Christmas eve.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1103,\n    \"content\": \"Chuck Norris skipped all grades simultaneously, including college. When he was two.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1104,\n    \"content\": \"Contrary to popular belief, there are actually 5 classical elements: Earth, Air, Fire, Water, and Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1105,\n    \"content\": \"Chuck Norris was seriously considered for all the major roles in the Avengers movies, except of course the female characters Black Widow and Hawkeye.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1106,\n    \"content\": \"When Chuck Norris farts in an elevator, all the other passengers hold their breath and say \\\"good one, Chuck\\\"!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1107,\n    \"content\": \"Chuck Norris was recently inducted to the Rock & Roll Hall of Fame for his superlative rendition of the Iron Butterly hit song, \\\"In-A-Gadda-Da-Vida\\\" which he sang while playing his hand made dulcimer.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1108,\n    \"content\": \"\\\"We will never know how brave Chuck Norris till we discover something in the universe that Chuck Norris is actually afraid of.\\\" - Socrates Socrates didn't die a natural death.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1109,\n    \"content\": \"The raisins in Kellogg's Raisin Bran are actually dehydrated Chuck Norris boogers.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1110,\n    \"content\": \"Chuck Norris was actually the original Spock in Star Trek, but was fired because instead of saying 'live long and prosper', he would always say 'die hard... with a vengance'.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1111,\n    \"content\": \"When Chuck Norris takes a crap this is what's called an earthquake.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1112,\n    \"content\": \"All e-mail from Chuck Norris is preceded by this warning: Open at your own risk. Enough said.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1113,\n    \"content\": \"Everyone knew the world was flat,but they especially didn't want sail around the world because they knew if they fell then Chuck Norris would roundhouse kick them.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1114,\n    \"content\": \"Chuck Norris once took his pants off in a Thanksgiving Day parade. All the horses wept. Male and female.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1115,\n    \"content\": \"Chuck Norris once played a game of basketball with Walt Disney's head.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1116,\n    \"content\": \"Do you know why Chuck Norris doesn't have hair on his balls.....?????......????? because hair doesn't grow on steel!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1117,\n    \"content\": \"A sign at the entrance to NorrisWorld: 'You need to be at least this tall (30 microns) to die from a Chuck Norris roundhouse kick.'\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1118,\n    \"content\": \"If Kobe Bryant can throw a basketball 20m and shoot, Chuck Norris can throw Kobe Bryant 30 m and score.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1119,\n    \"content\": \"Chuck Norris doesn't chop trees in minecraft to get wood, the trees just falls every time he's near them.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1120,\n    \"content\": \"A movie about Chuck Norris' early years is in the works, although its production has been delayed -- presumably because they're still trying to find an actor who can read the script without being immediately hospitalized by a serious case of spontaneous ball-shrivelling.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1121,\n    \"content\": \"Chuck Norris participated in the Running of The Bulls but was banned from ever doing it again. All the bulls ran from Chuck and wouldn't come back.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1122,\n    \"content\": \"Chuck Norris finally defeated Joan Rivers.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1123,\n    \"content\": \"My grand-father has Chuck Norris' head mounted on his wall.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1124,\n    \"content\": \"A girl asked Chuck Norris to shave his beard. Chuck Norris roundhouse kicked her, and she grew taller and her hair grew shorter. That girl is now Justin Bieber.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1125,\n    \"content\": \"It can be either called 'the war against terrorism', or 'the war FOR Chuck Norrism'.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1126,\n    \"content\": \"Chuck Norris really wants to hurt Boy George.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1127,\n    \"content\": \"Gordon Ramsay features Chuck Norris' Toaster Strudel recipe in all of his restaurants.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1128,\n    \"content\": \"In the sport of bull riding staying on for 8 seconds is success. In Texas there is a sport called Chuck Norris riding. To date no bull has been able to stay on Chuck Norris for more then 3 seconds.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1129,\n    \"content\": \"Haiti once talked about Chuck Norris' momma, we all know what happened to Haiti.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1130,\n    \"content\": \"Chuck Norris actually means God in spanish, english, german, roundhouse, arabic, french, assassin, italian and just go with it or he'll kick you\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1131,\n    \"content\": \"Chuck Norris keeps a shotgun in his wallet.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1132,\n    \"content\": \"If iron and steel can talk, they wanna call Chuck Norris daddy.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1133,\n    \"content\": \"In 2014 Chuck Norris invested 1 cent with a Wall Street investment firm. As of today he became a billionaire.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1134,\n    \"content\": \"When landing on the moon, Neil Armstrong actually said, 'one small step for man, one giant leap for mankind... and just an average stride for Chuck Norris'\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1135,\n    \"content\": \"Alls well that ends well. But if your life ends with a Chuck Norris roundhouse kick, all is not well.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1136,\n    \"content\": \"Chuck Norris sold his soul to the devil for his rugged good looks and unparalleled martial arts ability. Shortly after the transaction was finalized, Chuck roundhouse kicked the devil in the face and took his soul back. The devil, who appreciates irony, couldn't stay mad and admitted he should have seen it coming. They now play poker every second Wednesday of the month.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1137,\n    \"content\": \"Every convicted killer in the history of the world has been innocent. They were all just covering for Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1138,\n    \"content\": \"After consuming four gallons of Captain Morgan Rum Chuck Norris was pulled over and ask to perform a field sobriety test. He did so while standing with (L)boot on empty 1/2 gal(R)boot touching bearded ass,head tilted back,fingers touching flaming nostrils and saying the alphabet back words in 23 foregin languages...while being taserd.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1139,\n    \"content\": \"Chuck Norris has been all over more co-ed ass than butterfly tattoos.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1140,\n    \"content\": \"Chuck Norris has Skynet installed on his laptop.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1141,\n    \"content\": \"Some creatures fatally confuse Chuck Norris' beard with a rain forrest.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1142,\n    \"content\": \"Chuck Norris can stop a chainsaw with his hand. This is actually true. There is footage. Not surprising, as he brushes his teeth with one twice a day.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1143,\n    \"content\": \"Actually, it was Chuck Norris that fought The Battle of Jericho. Joshua later played taps.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1144,\n    \"content\": \"Female bodybuilders are originally catwalk models who are foolish enough to swallow Chuck Norris' Testosterone-and-protein-rich semen.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1145,\n    \"content\": \"Chuck Norris once wrestled a huge alligator for over 9 hours before he realized that he was actually masterbating.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1146,\n    \"content\": \"When Chuck Norris throws a ball, it crushes someone like a wrecking ball. I blame miley cyrus.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1147,\n    \"content\": \"Chuck Norris didn't like watching Aaron Hernandez play football. So he sent him to prison so he wouldn't have to see him play again.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1148,\n    \"content\": \"During WWII, it was really Chuck Norris we dropped on Hiroshima.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1149,\n    \"content\": \"When The terminator said \\\"I'll be back\\\", he was actually going to seek the help of Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1150,\n    \"content\": \"Chuck Norris' tongue is actually an atypical proboscis which he has adapted to absorb the last few drops of liquid & foam from the bottom of his beer cans.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1151,\n    \"content\": \"Converse were originally called Chuck Norris...not Chuck Taylor.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1152,\n    \"content\": \"Chuck Norris once shoved a watermelon up Gallagher's nose. Then shattered it with a flying roundhouse kick. Thus, proving that Gallagher is scatter-brained.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1153,\n    \"content\": \"An elderly man accidentally let his Buick roll into Chuck Norris' new Lexus. Chuck was furious and got violent. Chuck punched out the Buick.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1154,\n    \"content\": \"Chuck Norris is allowed to draw pictures of Mohammad\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1155,\n    \"content\": \"Chuck Norris participated in the 2005 home run derby, he has yet to receive the \\\"Golden Ball\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1156,\n    \"content\": \"Chuck Norris called himself Walker because he doesn't need to run.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1157,\n    \"content\": \"Chuck Norris can ignore the call of nature for 36 hours, but he can never ignore the call of duty.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1158,\n    \"content\": \"Kryptonite is actually a piece of Chuck Norris's nose booger\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1159,\n    \"content\": \"Chuck Norris' beard has a Twitter account, a Myspace page, and a bestselling biography by Mick Wall. A HBO miniseries is currently in the works.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1160,\n    \"content\": \"Chuck Norris' childhood asthma allowed him to breathe underwater.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1161,\n    \"content\": \"Surely there are aliens in the universe, but guess why they don't come to earth? Chuck Norris does not allow them to.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1162,\n    \"content\": \"The 1951 UFO sighting was actually a man hole cover kicked by Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1163,\n    \"content\": \"Only Chuck Norris can prevent forest fires, but he really likes gigantic toasted marshmallows.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1164,\n    \"content\": \"Chuck Norris has some gold, frankincense, and myrrh sitting on his mantelpiece, next to the three embalmed skulls of the so-called 'wise' men.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1165,\n    \"content\": \"There is a new unit of measurement called CNRKs [Chuck Norris Roundhouse Kicks]. 1 CNRK is enough to knock out something JUST tougher than 100000 lions. The Big Bang measured at 2 CNRKs, so far the only thing to certainly be more powerful than 1 CNRK. The Tsar Bomb, though, measured at a puny 0.0000327581 CNRKs, and the MOAB at 0.0000000000000000476738295873826782 CNRKs. The regular blink of a regular eye measured at an extremely puny 0.00000000000000000000000[insert 1000 zeroes here]6783758684 CNRKs.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1166,\n    \"content\": \"Some people say that it is impossible go through through walls.... they have never met Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1167,\n    \"content\": \"This one time, at band camp, Chuck Norris nailed all the girls and beat the crap out of all the boys.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1168,\n    \"content\": \"Faces of Death is actually a biography of people that were given a choice other than a Chuck Norris roundhouse kick.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1169,\n    \"content\": \"Thank God Chuck Norris finally caught up with Joan Rivers.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1170,\n    \"content\": \"The A-Team originally was to have only 1 member: Chuck Norris. But when NBC couldn't meet Chuck's salary demands, they had to replace him with the quartet of B.A., Face, Hannibal and Murdock.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1171,\n    \"content\": \"Chuck Norris was pissed off because George Washington was president, so he called him a pussy and roundhouse kicked George to the face\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1172,\n    \"content\": \"Chuck Norris almost turned down a cameo in the movie 'dodgeball' on the grounds that he doesn't dodge balls.. He prefers them resting on his chin.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1173,\n    \"content\": \"When Chuck Norris air-guitars, you can actually hear the real sound of a Gibson Les Paul coming from his air guitar.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1174,\n    \"content\": \"Chuck Norris roundhouse kicks you in the head, his foot will actually go through your skin, skull and brain, then reappear out the other side. This is not magic, this is power. And if you survive, that would be magic.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1175,\n    \"content\": \"Chuck Norris once wrote...\\\"I will personally roundhouse kick anybody in the face that missplells words!\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1176,\n    \"content\": \"Chuck Norris ate the fat bastard who ate all the pies.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1177,\n    \"content\": \"Chuck Norris officially announced today that he is in fact permantly retiring...your face from public view.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1178,\n    \"content\": \"Chuck Norris can literally slap you stupid.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1179,\n    \"content\": \"When Chuck Norris visited Saudi Arabia, all the arabs run out.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1180,\n    \"content\": \"Chuck Norris once allowed a man shoot an apple off his head at 20 paces with a 12 gauge shotgun. He was unharmed of course.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1181,\n    \"content\": \"When Chuck Norris brutally murders you, he will send the cleanup bill to your immediate family, and they'd better fucking pay.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1182,\n    \"content\": \"All your base are belong to Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1183,\n    \"content\": \"Sam Jackson is the only person to ever out-surf Chuck Norris at Chadderton baths. Incidentally, Chuck roundhouse kicked him in the face, and the force put him in a roundhouse induced coma for the rest of his natural life...\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1184,\n    \"content\": \"The Eiffel Tower was originally built by Chuck Norris out of the scrap metal in his back yard, as a monument to his manhood. When he got 12, he decided the monument didn't quite live up to what it was supposed to represent, and did the only appropriate thing. He gave it to the French.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1185,\n    \"content\": \"If any one who gets this message should know to never call Chuck Norris a fraud or you will end up like me and the rest who are in Chuck Norrie's stomach being prepared to be slowly digested without knowing it.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1186,\n    \"content\": \"Chuck Norris once roundhouse kicked SpongeBob SquarePants in the butt so hard that SpongeBob had to legally change his name to SpongeBob ParallelogramPants.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1187,\n    \"content\": \"The City of Douche, NJ formally changed it's name to Hackensack after Chuck Norris spent a night in the local Motel 6 & simultaniously screwed 12 of the city's female taxi drivers.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1188,\n    \"content\": \"Every woman who has experienced multiple orgasms has one thing in common with all the others: each one was with Chuck Norris at the time.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1189,\n    \"content\": \"If Chuck Norris ever allowed a sports team to be named after him, that team would never lose again...except when Chuck Norris played against it.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1190,\n    \"content\": \"Over the years, Chuck Norris has had thousands of tattoos, but because of his healing factor they usually fade within a few hours. He just sometimes likes to impress his dates by getting big sleeves, back-tatts and a '666' on his forehead.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1191,\n    \"content\": \"When Chuck Norris makes love to a woman, the Earth literally moves for her, at least at 3.5 on the Richter Scale.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1192,\n    \"content\": \"The earth was once called Pangaea until Chuck Norris stepped on a crack.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1193,\n    \"content\": \"All the Chuck Norris facts you have read or ever will read took place within the first minute of him creating himself.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1194,\n    \"content\": \"Chuck Norris can swallow a bannana and make you look gay.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1195,\n    \"content\": \"One time while sparring with Wolverine, Chuck Norris accidentally lost his left testicle. You might be familiar with it to this very day by its technical term: Jupiter.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1196,\n    \"content\": \"Chuck Norris is the only man ever to beat a brick wall in a game of tennis.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1197,\n    \"content\": \"A UFO tried to abduct Chuck Norris once. When the aliens woke up three hours later, they had no memory of what had happened, but did find that their watches had stopped and their asses were really sore...\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1198,\n    \"content\": \"All of Chuck Norris' limbs act as natural particle accelerators.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1199,\n    \"content\": \"If you accidentally sit in Chuck Norris' seat at the opera, expect to have a clarinet jammed up your ass by intermission.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1200,\n    \"content\": \"When the Bible said God made man in his own image, it did not mean all men. Just Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1201,\n    \"content\": \"Ghostbusters call Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1202,\n    \"content\": \"If you don't make these jokes funny, Chuck Norris will run all the way around the world in a millasecond and roundhouse kick you in the face!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1203,\n    \"content\": \"Chuck Norris writes documents with unintentionally blank pages.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1204,\n    \"content\": \"Chuck Norris never asks you to 'step outside', he actually wants as many people to witness your brutal slaughter as possible.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1205,\n    \"content\": \"On the morning of July 30, 1975, Jimmy Hoffa scratched Chuck Norris' truck. Hoffa vanished later that day. Let this be a lesson for all.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1206,\n    \"content\": \"All of the athletes caught using steroids were in fact injecting themselves with a drop of Chuck Norris piss!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1207,\n    \"content\": \"Chuck Norris only agreed to be in 'The Expendables 2' so he could have the chance to sit all his co-stars in a darkened room and show them a DVD of him banging all their respective wives, and offer pointers to them.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1208,\n    \"content\": \"You are always told to turn off your cell phone during a flight, in case Chuck Norris calls you and whispers the secret inantation to make you spontaneously combust.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1209,\n    \"content\": \"Chuck Norris like to go for a nap outside during all of his flights.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1210,\n    \"content\": \"Rambo is actually just a cheap Chinese knock-off of Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1211,\n    \"content\": \"Chuck Norris recently did the ice-bucket challenge. And naturally, it turned to steam before it could hit him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1212,\n    \"content\": \"Christiano Ronaldo is only good at soccer for one reason.Chuck Norris taught him how to roundhouse the ball.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1213,\n    \"content\": \"They say you are what you eat, but this rule doesnt apply to Chuck Norris because all he eats is Pussy!!!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1214,\n    \"content\": \"When he wants to, Chuck Norris can literally shit nickels. This comes in handy when he's playing the slots in Vegas\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1215,\n    \"content\": \"Steven Seagal triple bogied the par 5, 187 yd third hole from the women's tee. Chuck Norris was amused. Then from the 4th tee Chuck Norris drove his ball 895 yards which was legally scored a hole in zero on the 4th when his ball rolled in the hole on the 5th for a hole in one there.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1216,\n    \"content\": \"The reason why Chuck Norris is such a badass is he thought all the yo momma jokes were written about his mother.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1217,\n    \"content\": \"Chuck Norris can literally turn your ass into grass.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1218,\n    \"content\": \"Chuck Norris wrote a series of books called, \\\"How To Roundhouse Kick Like Chuck Norris\\\". Volume 13 contained only a very realistic Chuck Norris leg which would roundhouse-kick the reader. One survivor rewrote it from his point of view, and the series is now in few libraries, if not none.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1219,\n    \"content\": \"Chuck Norris writes all the lyrics for Cannibal Corpse. And are all based on personal experiences.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1220,\n    \"content\": \"Chuck Norris' last birthday party was held at the La Brea Tar Pits where he enjoyed all of the party games and easily won the 'dunking for dinosaurs' event.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1221,\n    \"content\": \"Chuck Norris once woke up one morning thinking he was in the process of strangling a 1,200 pound walrus but then very quickly realized that he was actually masterbating.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1222,\n    \"content\": \"In the morning, Chuck Norris eats specially formulated Cheerios made of cement.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1223,\n    \"content\": \"The Battle of the Little Big Horn was lost soley because an inebriated Custer errantly set Chuck Norris' GPS to a location some 85 miles away called the Big Little Porn.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1224,\n    \"content\": \"The band Disturbed used to be called I'm Fine until they saw Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1225,\n    \"content\": \"If Princess Leia was really smart, she would have said, \\\"Help me Chuck Norris, you're my only hope.\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1226,\n    \"content\": \"How many roads must a man walk down, before you can call him a man? Don't ask Chuck Norris, he was considered a man by age four.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1227,\n    \"content\": \"Chuck Norris once stayed at the Hotel California and was allowed to check out...and leave.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1228,\n    \"content\": \"Chuck Norris once traveled ahead in time just simply to enter the Starship Enterprise, intentionally get captured by the Borg and inseminate of Seven of Nine.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1229,\n    \"content\": \"Chuck Norris has the worlds biggest balls, will has the worlds second largest balls\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1230,\n    \"content\": \"Chuck Norris will personally come over and baptize your son if you name him Walker or Texas Ranger.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1231,\n    \"content\": \"Chuck Norris has the heart of a child........ HE KEEPS IT IN A SMALL BOX.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1232,\n    \"content\": \"Chuck Norris' bedroom has leather walls.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1233,\n    \"content\": \"All men are born equal. Chuck Norris was just born more equal than everyone else.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1234,\n    \"content\": \"Chuck Norris was the Fourth Wiseman. He gave Baby Jesus the gift of Beard. Jesus loved it so much the other Wisemen were jealous of his obvious gift favoritism. They then used their combined influence to have Chuck Norris omitted from the Bible. All three later died mysteriously from roundhouse-kick related issues.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1235,\n    \"content\": \"Hey look! Is that Chuck Norris I see calling you over? (You better hope he doesn't kill ya.)\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1236,\n    \"content\": \"Chuck Norris personally knows every SI swimsuit model. He should -- he banged each one of them.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1237,\n    \"content\": \"Chuck Norris went on the All-Pussy diet. He gained 6,000 tonnes.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1238,\n    \"content\": \"Only God is allowed to edit Chuck Norris' Wikipedia page.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1239,\n    \"content\": \"Colnel Sanders actually died by eleven of Chuck Norris' kicks and punches.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1240,\n    \"content\": \"When you're in Texas don't look behind you, all you will see is Chuck Norris' boot impaling your face followed by a bright light.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1241,\n    \"content\": \"When Chuck Norris does ab crunches, his abs actually crunch.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1242,\n    \"content\": \"Few people are aware that the entire lead-in of the Iron Butterfly hit \\\"In-A-Gadda-Da-Vida\\\" was actually recorded solely by Chuck Norris playing a piccolo.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1243,\n    \"content\": \"Chuck Norris recently shot a 59 for a round of golf using a hockey stick and a super ball.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1244,\n    \"content\": \"Chuck Norris really doesn't need the Total Gym to stay in shape and score with women. That just happens naturally.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1245,\n    \"content\": \"Chuck Norris is a better agent than perry the platypus, And all other agents.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1246,\n    \"content\": \"Chuck Norris enjoys big game deep sea fishing. He generally uses a live moose for bait.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1247,\n    \"content\": \"Chuck Norris beat Pac-Man without doing anthing.He roundhouse kicked all of the ghosts until they had a pool of blood all over the screen and Chuck Norris commented \\\"NOTHING STANDS CHUCK NORRIS'S FUCKING WAY!\\\" That qualifies as doing nothing\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1248,\n    \"content\": \"Chuck Norris is the pricipal of the School Of Hard Knocks. Or as it's officially called, The Charles Norris Xavior's School For Gifted Bastard Offspring Of Lord Norris. It is responsible for all human death in the world.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1249,\n    \"content\": \"when Chuck Norris do his high frequency voise all the whales in the sea became deaf\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1250,\n    \"content\": \"Superman has x-ray vision but can't see through lead walls. Chuck Norris can't see through lead walls either, but he can see over & around lead walls because he has periscope vision.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1251,\n    \"content\": \"when women r having sex with god they all scream out \\\"Chuck Norris!!!\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1252,\n    \"content\": \"When Chuck Norris goes ten-pin bowling, he simply throws the ball straight at the pins, shattering them. He hasn't achieved a perfect game yet, as the building usually collapses before then.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1253,\n    \"content\": \"Louisville Slugger makes professional baseball bats from kiln dried Chuck Norris turds.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1254,\n    \"content\": \"Sperm clinics provide Chuck Norris with Shop-Vac and an empty 55 gallon drum for every single donation.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1255,\n    \"content\": \"Chuck Norris has personally hunted down and stuffed a yeti, sasquatch, Bigfoot and a wookie.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1256,\n    \"content\": \"if you think the super hero's are good like superman Chuck Norris is all of them\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1257,\n    \"content\": \"Anything Chuck Norris types on Microsoft Word is automatically approved by the spell checker.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1258,\n    \"content\": \"The Dos Equis man is actually a fictional representation of Chuck Norris' feminine side.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1259,\n    \"content\": \"What do you call a woman who hasn't slept with Chuck Norris? A Lesbian.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1260,\n    \"content\": \"Chuck Norris isn't a cannibal, because he is actually a superior species. So next time he devours a family member, don't be upset, just remember this is just the beautiful cycle of nature.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1261,\n    \"content\": \"When Chuck Norris points a gun at you you're actually safer\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1262,\n    \"content\": \"The children's song 'Knick-Knack-Paddy-Whack' is factually based on an incident that occured on Chuck Norris' 70th birthday in which he beat the hell out of 15 UFC fighters in a rice paddy using only his thumb, a shoe and a small porcelain figurine. Following this incident he then rolled on home and fed his dog a bone.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1263,\n    \"content\": \"It used to be called goodminton before Chuck Norris tried it.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1264,\n    \"content\": \"Chuck Norris killed all the dinosaurs and burried the corpses.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1265,\n    \"content\": \"Peanut Butter has a Chuck Norris allergy...\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1266,\n    \"content\": \"Chuck Norris doesn't chew gum balls. He chews bawling balls.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1267,\n    \"content\": \"Chuck Norris likes to keep his lawn growing tall and thick so that whenever he has unwanted visitors, he can slip out of his house unnoticed and stalk them like prey. He then jumps toward them like a magnificent lion of the African plains and delivers a fatal roundhouse kick to their face.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1268,\n    \"content\": \"Because of their resemblance to volleyballs, Chuck Norris had the brandname 'Wilson' tattooed on both his testicles. Then, on a whim, he tracked down Tom Hanks and threw him through a plate glass window.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1269,\n    \"content\": \"Larry the Cable Guy was a nuclear science physics professor at MIT for only 3 seconds more after he called Chuck Norris' mother a \\\"slutty beatch of a crack whore\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1270,\n    \"content\": \"The Terminator movies were written specifically with Chuck Norris in mind for the title role, and was originally called the Walkernator. The only differences were that the T-800 would always wear a cowboy hat and smoke cigars.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1271,\n    \"content\": \"Following every bowl of horse hair & ballbearing bisque, Chuck Norris drinks a quart of Liquid Plummer to aid in digestion.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1272,\n    \"content\": \"Chuck Norris' tongue is actually a proboscis.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1273,\n    \"content\": \"Chaoticians are going to rename the so-called 'butterfly effect' as the 'Norris effect'- whenever Chuck Norris goes bezerk and destroys a city, another city on the other side of the world blows up also.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1274,\n    \"content\": \"I pledge allegiance to the flag of the United States of America. And to the Republic for which it stands, one nation under Chuck Norris, indivisible with liberty and roundhouse kicks for all.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1275,\n    \"content\": \"Fun Fact: The moment Chuck Norris was pulled from his mother's womb all the doctors and nurses in the hospital began to sing \\\"O' Fortuna\\\" in its entirety. There is still no scientific explanation as to how this happened.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1276,\n    \"content\": \"When Chuck Norris calls you, you have two options: either yes, or yes. Choose one if you want to live ...\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1277,\n    \"content\": \"When Chuck Norris plays a game, every minute is potentially \\\"Sudden Death\\\" for his opponents...including cards and board games.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1278,\n    \"content\": \"Ah hem. Im sorry by If Chuck Norris is a zombie, your screwed, i mean, WE'RE ALL SCREWED DAMMIT! RUN FOR YOUR LIVES!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1279,\n    \"content\": \"If a Domino's driver is late delivering your pizza, the pizza is free of charge. If a Domino's driver is late with Chuck Norris' pizza, that driver immediately loses his life. (And all future pizzas Chuck orders are free of charge)\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1280,\n    \"content\": \"Chuck Norris has decided the value of Pi shall be 1, henceforth.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1281,\n    \"content\": \"Chuck Norris holds all the real-world cheat codes. Yeah, even the zombie one.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1282,\n    \"content\": \"When Gotham City needs help, they call on Batman. When Batman needs help, he calls on Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1283,\n    \"content\": \"Chuck Norris requires all women with false teeth to remove them and replace them with Brillo Pads before giving him a blow job.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1284,\n    \"content\": \"Chuck Norris officially pimped Xzibit.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1285,\n    \"content\": \"The Christmas Tree of Chuck Norris is/has/was: 100 meters tall. 103856 ornaments. 262 stars. 2847687949295 lights. too many presents under it to count. painted with 38583 colors, 683 being shades of green.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1286,\n    \"content\": \"Chuck Norris was Maria Shriver's rebound guy. And he was totally cool with it.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1287,\n    \"content\": \"Chuck Norris actually has no beard. It's rust from his iron jaw\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1288,\n    \"content\": \"During WWII Chuck Norris was drafted into the Army. He mercilessly roundhouse kicked everyone to death including Ally soldiers. Their resting place is now known as Arlington Cemetery.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1289,\n    \"content\": \"Chuck Norris is the only person who can literally become a human cannonball.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1290,\n    \"content\": \"\\\"Iron Man\\\" was originally going to be called \\\"Chuck Norris: The Movie,\\\" but everyone who knew about it got roundhouse kicked. Afterwords, Chuck Norris hired Robert Downey Jr. and had the movie called \\\"Iron Man\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1291,\n    \"content\": \"Cocaine is really just Chuck Norris's dandruff\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1292,\n    \"content\": \"Michele Bachmann's face needed pastic surgery again after she called Chuck Norris' mother a social succubus for recieving social security payments that her husband & she paid into for 50 years.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1293,\n    \"content\": \"When you're Chuck Norris, all the sperms that didn't make it... MAKE it.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1294,\n    \"content\": \"It all started when Chuck Norris invented the wheel.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1295,\n    \"content\": \"Chuck Norris was the fourth wise man, who gave baby Jesus the gift of beard, which he carried with him until he died. The other three wise men were enraged by the preference that Jesus showed to Chuck's gift, and arranged to have him written out of the bible. All three died soon after of mysterious roundhouse-kick related injuries.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1296,\n    \"content\": \"Chuck Norris calls his left and right fists \\\"Great Vengeance\\\" and \\\"Furious Anger\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1297,\n    \"content\": \"Death only exists because Chuck Norris allows him to live.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1298,\n    \"content\": \"If you receive an invitation from Chuck Norris to attend a Texas Tea Party rally, it is actually his secret code for you to come over for a fun filled evening of jello shooters, beer pong & strip poker.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1299,\n    \"content\": \"The apple never falls far from the tree. Keep this in mind when talking to a bearded child claiming to be one of Chuck Norris' spawn.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1300,\n    \"content\": \"Chuck Norris once abandoned one of his kids when it was discovered he was allergic to the family dinosaur!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1301,\n    \"content\": \"The rain in Spain falls mainly where Chuck Norris tells it to.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1302,\n    \"content\": \"Chuck Norris can roundhouse kick you in the balls, face, and back of the head at the same time.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1303,\n    \"content\": \"Wheaties are actually flash dried Chuck Norris boogers.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1304,\n    \"content\": \"Chuck Norris can hit you so hard that he can actually alter your DNA. Decades from now your descendants will occasionally clutch their heads and yell, \\\"What the hell was that?\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1305,\n    \"content\": \"when the U.S. invaded Iraq looking for weapons of mass destruction all they found... was Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1306,\n    \"content\": \"The Colosseum is the last remaining Chuck Norris memorabilia on earth (apart from the earth itself). It was actually his first shit pot. When he grow up and left it, crowds of people started coming in just to view his shit and soon, kings, soldiers, gladiators and animals started fighting for it.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1307,\n    \"content\": \"If queers had any balls they'd be real men like Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1308,\n    \"content\": \"Chuck Norris can literally HIT Puberty\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1309,\n    \"content\": \"Chuck Norris roundhouse kicked a man in a wheelchair in the ground people dug that fossil up it is now a handicap parking sign but really it is a warning that Chuck is coming\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1310,\n    \"content\": \"all insect killing sprays are made out of Chuck Norris fart\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1311,\n    \"content\": \"The Dynamic Duo was originally called Chuck Norris and Batman. When Chuck Norris got bored and retired, Batman got promoted and added Robin to the team.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1312,\n    \"content\": \"Chuck Norris is better than Ash Ketchum because Ash didn't catch all the Pokemon yet.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1313,\n    \"content\": \"When Chuck Norris lived in Jamaica in the early 70's, he killed literally hundreds of people with his chucklocks alone.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1314,\n    \"content\": \"Chuck Norris was originally going to be in Kombat Pack 2 for Mortal Kombat X. They cancelled him because 1 roundhouse kick kills the opponent instantly. FATALITY!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1315,\n    \"content\": \"Chuck Norris could call the National Organization for Women \\\"a bunch of fucked-up cunts\\\" and still win their Feminist of the Year award.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1316,\n    \"content\": \"If Chuck Norris says \\\"Lets have fun!\\\", he actually wants to roundhouse kick you to space.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1317,\n    \"content\": \"Miley Cyrus calls Chuck Norris daddy.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1318,\n    \"content\": \"When nine hundred number operators get lonely at night, they call Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1319,\n    \"content\": \"What is black, white and red all over? Chuck Norris roundhose kicked an actor in a black and white old movie.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1320,\n    \"content\": \"Someone once said, \\\"Chuck Norris doesn't look so tough\\\". All that is left of that person is an ass with a boot up it.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1321,\n    \"content\": \"Chuck Norris once kicked a giraffes face to a snake. Now to this day the snake was called: \\\"Brontosaurus.\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1322,\n    \"content\": \"Sinkholes are not caused by water under the earth, they are results of someone questioning Chuck Norris' volleyball spiking ability.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1323,\n    \"content\": \"There is a new Chuck Norris Visa Credit Card available. If you accrue enough Chuck Norris award points, he will personally punch the person of your choice in the face.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1324,\n    \"content\": \"Chuck Norris literally whipped all of the U.S. Marines into shape while the U.S. Air Force was having thier mid-morning brunch and crochet lessons.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1325,\n    \"content\": \"A grizzly bear shattered all its teeth when it bit Chuck Norris in the ass. A merciful Chuck Norris then lovingless fed the toothless grizzly 3 gallons of prueed salmon before ripping its gallbladder out through its asshole.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1326,\n    \"content\": \"Chuck Norris rolled into a small Amish community in his Cadillac, and promptly introduced them to the pleasures of binge drinking, gambling, casual violence, sodomy, satanic death metal, porn and KFC.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1327,\n    \"content\": \"Chuck Norris can literally kill time.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1328,\n    \"content\": \"The jokes are slacking, pick up the paste guys, or Chuck Norris will Virtually Roundhouse your asses!!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1329,\n    \"content\": \"Chuck Norris is a member of the Hall of Fame in 19 different sports.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1330,\n    \"content\": \"Chuck Norris once saw Spiderman on a wall so he folded up a newspaper and swatted him.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1331,\n    \"content\": \"Chuck Norris can swallow his tongue, reel out two feet of toilet paper and wipe his own ass with it.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1332,\n    \"content\": \"Chuck Norris, Arnold Swarzenegger and Sylvester Stallone were going to swim across the Atlantic. Arnold swam a mile, then gave up. Stallone swam two miles, then gave up. Chuck swam day and night for weeks. When he was a hundred yards away from the coast of Europe he said; \\\"I'm bored\\\" and turned around and swam back home.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1333,\n    \"content\": \"The U.S. Constitution's ban on cruel and unusual punishment specifically exempts Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1334,\n    \"content\": \"According to Forrest Gump: \\\"Life is not like a box of chocolates. Life is actually not pissing off Chuck Norris. And that's all I have to say about that!\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1335,\n    \"content\": \"It's a little known fact that Chuck Norris's cat had a part in Harry Potter. To conceal her identity they called her \\\" Mrs Norris\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1336,\n    \"content\": \"What Chuck Norris calls a \\\"chaser\\\" is what you and I call \\\"cobra venom\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1337,\n    \"content\": \"Ghosts are actually caused by Chuck Norris killing people faster than Grim Reaper can process them.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1338,\n    \"content\": \"Chuck Norris put 5 of his good friends in the hospital, after they challenged him to a pillow fight.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1339,\n    \"content\": \"Michael Jordan was recently asked who he thought was the greatest basketball player in the world. His answer? Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1340,\n    \"content\": \"Chuck Norris was originally cast to play the Terminator. However, the directors realized that if Chuck Norris was the Terminator, there would be no human resistence.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1341,\n    \"content\": \"The US did not boycot the 1980 Summer Olympics. Chuck Norris was the only US qualifier for every event. He decided not to compete because there was no challenge.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1342,\n    \"content\": \"Chuck Norris can bend irony into balloon-animal shapes.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1343,\n    \"content\": \"The world is actually a long action movie franchise and we're all just background characters in Chuck Norris' story.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1344,\n    \"content\": \"Chuck Norris keeps all the nuclear launch codes pinned to his fridge.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1345,\n    \"content\": \"Every once in awhile Chuck Norris goes on vacation to asia or the Middle-East. While there he usually gets into a bar-fight. Afterwards, this is remembered as a \\\"war\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1346,\n    \"content\": \"Chuck Norris went for a stroll in the jungle and was ambushed by a very hungry tiger. The attack was brutal, merciless and clinical. The tiger just doesn't have a ghost of chance at all. That is how Chuck Norris got the tiger rug in his living room.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1347,\n    \"content\": \"The Chicago Cubs are the worst team in baseball history. The only reason Cub fans still exist is because they are the only group of losers that Chuck Norris, uncharacteristically, has displayed any mercy for.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1348,\n    \"content\": \"Chuck Norris can complete the Kama Sutra in a weekend in his log cabin with nothing but a bottle of whiskey, a bag of salt and vinegar potato chips and a small hijacked busload of cheerleaders.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1349,\n    \"content\": \"Miley Cyrus was inspired to do Wrecking Ball after actually swinging on one of Chuck Norris's balls.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1350,\n    \"content\": \"Chuck Norris' penis is usually equipped with a bayonet.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1351,\n    \"content\": \"Little known fact: Chuck Norris actually owns more gold chains than Mr T. It's just that he hangs them off of his penis instead.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1352,\n    \"content\": \"Chuck Norris frequently gets challenged to compare penis sizes with smartasses. Chuck always simply pulls out enough to win.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1353,\n    \"content\": \"The great wall of china was made as a stand for Chuck Norris's penis as Chuck Norris couldn't hold it up him self. Just kidding, he just wasn't bothered. And he HAS been alive that long.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1354,\n    \"content\": \"Chuck Norris' penis is large enough to pass a kidney stone as big as a bowling ball.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1355,\n    \"content\": \"Chuck Norris' penis is so massive that kids lose baseballs and frisbees on it\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1356,\n    \"content\": \"The first pump shotgun was Actually the worlds largest shotgun because it is Chuck Norris's Penis, it destroyed Hiroshima and Nagasaki when he was getting a hand job from a hot girl.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1357,\n    \"content\": \"A life-sized 24-carat gold sculpture of Chuck Norris' penis was in the briefcase in Pulp Fiction. Tarantino removed the scene at the end when Uma Thurman finally receives it.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1358,\n    \"content\": \"The eye of Chuck Norris' penis is all seeing, all knowing.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1359,\n    \"content\": \"Chuck Norris once had Sex with a whale. Not because he's a sick fuck or anything, it's just the only vagina in the world that can comfortably hold his Penis. The Same whale actually gave birth, and Chuck Norris named his whale son after himself... Moby Dick.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1360,\n    \"content\": \"Alf is actually Chuck Norris' detachable walking, talking cat eating penis.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1361,\n    \"content\": \"Chuck Norris has been meaning to get a penis reduction for years now, but his pride won't allow him to accept the countless invitations from limping, bow-legged women to pay for the procedure.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1362,\n    \"content\": \"Good Will Hunting was originally going to be called Good Chuck Norris. However, after producers watched the test footage (shot by Norris himself), they realized the constant graphic violence and extended hardcore sex scenes were too much for a mainstream audience, so, they decided to get a bunch of pussies to make a movie for wimps instead.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1363,\n    \"content\": \"Last year Chuck Norris went to Cannes Film Festival. On seeing him, a huge crowd of fans gathered, chanting \\\"au-to-graph! au-to-graph!\\\" in unison. Not to disappoint his ardent fans, he delivered a lightning fast roundhouse kick to the nearest fan, dropping him dead instantly. Chuck Norris beamed. The terrified fans changed their chant to \\\"NO autograph! NO autograph! NO autograph!\\\". Chuck Norris gave all of them his autograph anyway. Later in the evening he had sex with Gisele Bundchen.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1364,\n    \"content\": \"Football was invented when Chuck Norris kicked a pig 100 yards and caught it before it hit the ground , knocking down 11large men in the process . Then he had sex with eight girls in short skirts with large pom-poms .\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1365,\n    \"content\": \"Chuck Norris if you read thi s please let me suck your balls to show you how gay I am\"\n  },\n  {\n    \"categories\": [\"political\"],\n    \"id\": 1366,\n    \"content\": \"When Barack Obama said \\\"Yes we can,\\\" he actually was referring to Chuck Norris\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1367,\n    \"content\": \"Side effects to Chuck Norris sex: vagina set on fire; putting out fire with own orgasm; euphoric sobbing; broken bones; end of the Mayan Long Count Calendar; cops show up complaining about the screaming; dead cops; face shines with ethereal glory; Jeff Gordon's gay; curtain of the temple is rent in twain; all colors in the visible spectrum turn black.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1368,\n    \"content\": \"Justin Bieber, God and Chuck Norris are all on a tall building. Underneath is a very busy road. They all pull their trousers down to measure their dick size. Bieber had no dick, so he fell off. Norris started swinging, so God asked why. He replied \\\"I am dodging traffic\\\".\"\n  },\n  {\n    \"categories\": [\"political\"],\n    \"id\": 1369,\n    \"content\": \"Chuck Norris is responsible for China's over-population. He hosted a Karate tournament in Beijing and all women within 1,000 miles became pregnant instantly.\"\n  },\n  {\n    \"categories\": [\"movie\"],\n    \"id\": 1370,\n    \"content\": \"Scientists created Arnold Schwarzenegger, Sly Stallone, Jean-Claude Van Damme, Vin Diesel, and Hulk Hogan by using urine samples from a toilet Chuck Norris once pissed in.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1371,\n    \"content\": \"Moundy MC, Mr Johnson, and Chuck Norris all enjoy anal sex.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1372,\n    \"content\": \"An impression of Chuck Norris' asshole on any signed document is considered to be legally certified in all 50 states and 7 Asian countries.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1373,\n    \"content\": \"When asked about who should be the next pope, Chuck Norris reportedly said 'he could be some asshole from Buenos Aires for all I fucking care'.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1374,\n    \"content\": \"The next time you witness Chuck Norris brutally punching some asshole repeatedly in the face, if you look closely you will see little translucent '+50' numbers floating away.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1375,\n    \"content\": \"On his first day at boot camp, young Chuck Norris was told by the drill sergeant to 'drop and give me twenty'. Naturally, Chuck roundhouse-kicked the asshole into the next state and was promoted to general later that day.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1376,\n    \"content\": \"Chuck Norris recently attended a Black Panther and KKK rally at the South Carolina state house. Authorities found no survivors.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1377,\n    \"content\": \"Eminem Sings about a Tornado meeting a Volcano, However we all know this is what happened when Chuck Norris created god.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1378,\n    \"content\": \"Chuck Norris went on deal or no deal... the banker offered him 100 billion when he got all the top numbers on his fisrt round. he then raised it by 10 times when Chuck Norris said no.... the banker was then killed by picking up the rong phone\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1379,\n    \"content\": \"Did you ever think at random \\\"hey I feel like I already been through this in past\\\" where you actually haven't? It's just Chuck Norris rewinding life so he can watch it again.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1380,\n    \"content\": \"Chuck Norris is a fat and lonely man who has bum sex with his 10 year old son, I know this because I am Chuck Norris son \\\"dad get that small dick out of there\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1381,\n    \"content\": \"when Chuck Norris played foot ball in high school, the coach new better than to say bring the house, cause he new that Chuck Norris would bring the house the garage and the family car, and then throw it at the quarter back.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1382,\n    \"content\": \"You know when you have that feeling that you've seen all of this before....... That's just your life flashing before your eyes after Chuck Norris roundhouse kicked you in the face.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1383,\n    \"content\": \"When Chuck Norris stares at you your balls drop to the ground\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1384,\n    \"content\": \"Being scared of tite spaces is called clausaphobic being scared of water is called hydrophobic being scared of Chuck Norris is called logic\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1385,\n    \"content\": \"Pwnage was originally the term for being touched by Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1386,\n    \"content\": \"Unfortunately Chuck Norris isn't doing the voting on these terrible jokes. You guys are. A guy say \\\"Chuck Norris favorite color is red, cause he sees a lot of blood!\\\"Haha. That one gets 50 thumbs up from you guys. No joke its on there. Really? Wow\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1387,\n    \"content\": \"if Chuck Norris stared on the movie \\\"taken\\\" the movie would have been called \\\"given back questions asked\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1388,\n    \"content\": \"Only one man has challenged Chuck Norris, he was suddenly vapour and I would seem Chuck Norris hadn't even moved.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1389,\n    \"content\": \"some people say cockroaches will inherit the earth after a nuclear war, and they will... that is if Chuck Norris isn't around to kill all of them first.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1390,\n    \"content\": \"All of the UFO sightings were just people seeing Chuck Norris fly to McDonald's.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1391,\n    \"content\": \"The only thing that makes Chuck Norris fall asleep is the sound of his own laughter after he kills a kids family making them orphans.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1392,\n    \"content\": \"the moon has craters on it cos once Chuck Norris had sex with it and gave it syphilis - and small pox\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1393,\n    \"content\": \"The USA is now the CNC [Chuck Norris Country]. Lawl did you really think i was Chuck Norris? no, im that \\\"...\\\" guy trololololololoftjhdlshkgksejeklnadjsuehukdkjfdlxgijhjwvddkDARN NOT AGAINhgjfsncdjcndchcnuckjhkxzsgk\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1394,\n    \"content\": \"All of Chuck Norris' chinese ex-girlfriends say \\\"chuck can fuck\\\" but it didnt work out because \\\"chuck ig-nore-us\\\"\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1395,\n    \"content\": \"God create the earth and all living things.... But Chuck Norris created God\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1396,\n    \"content\": \"(aka dont dis chuck ) It has to be Chuck Norris Chuck norris oops you almost made a fatal error Chuck norris cant catch em all Chuck norris didnt forget the quiche and he didnt pay for it either Chuck norris doesnt go to morrisons\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1397,\n    \"content\": \"cats don't mess with Chuck Norris, coz they know dat 1 kick from him equals to 5 cat lifes and we all know Chuck Norris doesn't kick once\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1398,\n    \"content\": \"will weston has no balls hes a fucking hermaphrodite. Chuck Norris hates hermaphrodites\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1399,\n    \"content\": \"last halloween Chuck Norris carved his pumpkin with an axe! The design? A picture of Chuck Norris carving a pumpkin with a freakin axe!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1400,\n    \"content\": \"all gods pray to Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1401,\n    \"content\": \"Chuck Norris can play angry birds, listen to music and watch movies on a pay-phone... and all for free\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1402,\n    \"content\": \"how much wood would a wood chuck chuck if the wood chuck was Chuck Norris...all of it...and them some.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1403,\n    \"content\": \"Bioluminescence is the production and emission of light by a living organism. Its name is a hybrid word, originating from the Greek bios for \\\"living\\\" and the Latin lumen \\\"light\\\". Bioluminescence is a naturally occurring form of chemiluminescence where energy is released by a chemical reaction in the Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1404,\n    \"content\": \"Chuck Norris is did catch'em all\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1405,\n    \"content\": \"As a child, Chuck Norris used to engoy making shapes in sandboxes. we call them pyramids\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1406,\n    \"content\": \"Chuck Norris once dug a hole all the way to the moon.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1407,\n    \"content\": \"some said there is nothing to fear but fear itself. what he really meant was there is nothing to fear but Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1408,\n    \"content\": \"the fountain of youth is actually Chuck Norris' lavatory\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1409,\n    \"content\": \"Its called the Chuck Norris roundhouse kick because it's delivered by Chuck Norris and when it strikes you, your head spins around and then you fly into a house.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1410,\n    \"content\": \"when you pay taxes, you dont pay them to the goverment. you are actually paying Chuck Norris not to kill you for living on the same land mass as him\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1411,\n    \"content\": \"if a tree falls in the forest and Chuck Norris is around does he make a sound when he is killing your family\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1412,\n    \"content\": \"in the movie dodgeball when Chuck Norris gave the thumbs up all bets were off for stiller...... Chuck Norris cannot tell a lie\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1413,\n    \"content\": \"alien vs predator was origonally called aliens and predator vs Chuck Norris but nobody would pay 9 dollars to see a movie 14 seconds long\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1414,\n    \"content\": \"dear 'fuckwillweston' i found ur comment rude so i thought id share with you that i fucked Chuck Norris n he loved it and i also fucked ur mum they both loved my big balls!!!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1415,\n    \"content\": \"When david belfirst first invented the telephone there were 2 missed calls from Chuck Norris.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1416,\n    \"content\": \"when a doctor has an erection for more than four hours, they call Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1417,\n    \"content\": \"i will kill u all ps usa is now usck:the united states of Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1418,\n    \"content\": \"You, the reader of this message, have nothing better to do than read Chuck Norris memes all day. One day your fat, acme-covered ass will die of AID's and virginity and i'll stand over your grave in a yellow thong thrusting my man meat on your tombstone tea bagging you.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1419,\n    \"content\": \"When Chuck Norris was born people called him \\\"hucky\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1420,\n    \"content\": \"Chuck Norris has a do called round house\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1421,\n    \"content\": \"in third world war people will be calling heil norris! long live Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1422,\n    \"content\": \"when Chuck Norris leaves a good first impression, 9 chances out of 10, it's usually the sole of his boot on there face.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1423,\n    \"content\": \"dylan halllmark beat Chuck Norris up\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1424,\n    \"content\": \"Chuck Norris was originally cast in the hit film taken but he got his daughter back before the end of the opening scene\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1425,\n    \"content\": \"Chuck Norris played a game of ping-pong with the wall.... and won\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1426,\n    \"content\": \"Chuck Norris has wings - on his balls ... of steel.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1427,\n    \"content\": \"The referee was afraid to call a foul on Chuck Norris Because Chuck Norris can do worse then what he already did\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1428,\n    \"content\": \"Saying Chuck Norris sucks actually means hes epic. Saying Chuck Norris is epic means hes epic. Saying Chuck Norris is good means hes epic...Obviously anything you say about Chuck Norris means hes epic. A boy: Chuck Norris, you suck. Chuck Norris: I am epic.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1429,\n    \"content\": \"Chuck Norris has a shit list its called the obituarys\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1430,\n    \"content\": \"Goons, thugs, assasins, and maniacs wanna be called Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1431,\n    \"content\": \"when alexander gram bell inveted the first phone he already had 2 missed calls from Chuck Norris\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1432,\n    \"content\": \"Chuck Norris can spike a volly ball... under handed\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1433,\n    \"content\": \"did u know Chuck Norris looks like he has red hair..... so all the people he has killed or beaten i just want to say that u got beat up by a GINGER.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1434,\n    \"content\": \"Chuck Norris doesn't chew gum balls. he chews bowling balls.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1435,\n    \"content\": \"When Chuck Norris was born people called him Chucky\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1436,\n    \"content\": \"God and Chuck Norris were once playing chess together. But then they got bored and Chuck thought of something called martial arts. thats why God always sends down people to earth instead of himself. guess he didn't love Jesus. huh.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1437,\n    \"content\": \"Chuck Norris was originally cast in the hit fil taken but he got his daughter back before the end of the opening scene\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1438,\n    \"content\": \"when Chuck Norris plays madden 2012 he plays on all-chuck\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1439,\n    \"content\": \"Chuck Norris once beat the entire New York jets football team by himself. And every play he ran was a punt!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1440,\n    \"content\": \"we all know that the hulk is green..with envy, because he knows Chuck Norris can kick his fucking ass\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1441,\n    \"content\": \"Chuck Norris invented a game called hid and go peek\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1442,\n    \"content\": \"did you ever notice that quidditch rhymes with spinach so harry potter is actually Popeye and we all know Popeye is actually Chuck Norris's penis so by that logic Chuck Norris's penis eats spinach flexes, and avada-round house kicks you in the face!\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1443,\n    \"content\": \"Chuck Norris could order a steak at PETA's cafeteria and get one. But he's far more likely to kick the shit out of all the candy-asses in the place before roundhousing the building into rubble.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1444,\n    \"content\": \"\\\"For Chuck Norris so loved the world that he gave his one and only Son, Chuck Norris, that whoever believes in him shall not perish but have eternal life.\\\" -- John 3:16\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1445,\n    \"content\": \"Chuck Norris once had a running race with a tortoise. In the middle of the race, Chuck Norris decided to take a nap. The tortoise managed to cover the distance and win the race while Chuck Norris was sleeping. On realizing he had won the race, the shocked and fear-stricken tortoise ran and hid in the depths of the Pacific ocean. Long story short, Chuck Norris has the shell of that tortoise hung on the wall of his house as a message to everyone that \\\"No one wins Chuck Norris, no matter what\\\".\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1446,\n    \"content\": \"Chuck Norris doesn't get called for jury duty. He gets called on to act as executioner.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1447,\n    \"content\": \"Chuck Norris has gotten wind that some \\\"Twilighters\\\" think Chuck Norris facts are actually Edward Cullen's!? Chuck Norris' response to this --- \\\"Choose the wolf, Bella. The pale-skinned white man is nothing but a sparkling fancy-pansy\\\" 'cause there is no theory of evolution - just a list of creatures Chuck Norris allows to live.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1448,\n    \"content\": \"At the dawn of time, Chuck Norris and Mr. T sat in an empty universe, bored with nothing to destroy, so they decided to arm wrestle. The competition began - it raged on for days and days, with thunderclaps of pure energy jolting off of their bulging muscles, ripping holes through reality, and creating the universe as we know it. Finally, after much-ado, and with one emphatic thud, Mr. T beat Chuck Norris at arm wrestling... ...And thus, Chuck Norris invented racism, and roundhouse kicked Mr. T into a bad 1980's TV show.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1449,\n    \"content\": \"Someone once accused Chuck Norris of offering a call girl $1000 for an evening of sex. That's a damn lie. Call girls offer Chuck Norris well over $1000 for an evening of sex.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1450,\n    \"content\": \"Chuck Norris does not save people's cellphone numbers. If he wants to call He guesses the number and always guesses right Chuck Norris never learned to drive. He just knew it Chuck Norris farted once.It was the 6 august 1945 in hiroshima japan.During world war II. The media covered him up saying it was an atomic bomb My email adress is nmkauka@hotmail.com. I'm a humorist #A_Reason_To_laugh\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1451,\n    \"content\": \"The so-called Most Interesting Man in the World prefers Dos Equis beer. The truly Most Interesting Man in the World, Chuck Norris, always drinks American beer, thank you very fucking much.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1452,\n    \"content\": \"Which phrase has Chuck Norris never spoken? a. \\\"I was wrong.\\\" b. \\\"My bad.\\\" c. \\\"I don't know.\\\" d. \\\"Was it good for you?\\\" e. All of the above The answer is \\\"e.\\\" Chuck knows all, never makes a mistake, and satisfies every woman he nails at least twice each time.\"\n  },\n  {\n    \"categories\": [],\n    \"id\": 1453,\n    \"content\": \"If anyone says any thing about will weston I will personaly pin them down whilst Chuck Norris an will put their balls in your mouth cos I am the hardest guy in the world!!!! Gary Neville does not sleep.................. he waits. And kills.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1454,\n    \"content\": \"the 3 blind mice may have rang all the bells in the church Chuck Norris rang all the bells in america the snap of his fingers then he got an award for rape\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1455,\n    \"content\": \"Late at night, Chuck Norris was once walking back home alone after watching a Chuck Norris movie. A mugger approached him from the back, tapped on his shoulder and said \\\"Hey, gimme your money!\\\". Chuck Norris slowly turned around, paused for a while and gave the mugger a sarcastic smile. He then proceeded to rape the mugger anally, crush his skull, break his spine and killed him in a fraction of a second. Chuck Norris then brought the mugger back to life and then broke each of his limbs, eviscerated the mugger's gut, ate the mugger's still beating heart and infected him with AIDS, killing the unfortunate mugger once again. Chuck Norris then brough the mugger to life yet again for the second time, only to give the mugger a final fatal roundhous kick to his face killing the man and his soul at the same time. Chuck Norris then threw his packed wallet at the remains of his victim and said \\\"Do not tap on my shoulders ever again\\\", and continued to walk home slowly.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1456,\n    \"content\": \"Chuck Norris fucks will weston anally - rape is Chuck's favourite game.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1457,\n    \"content\": \"When observing a Chuck Norris roundhouse kick in slow motion, one finds that Chuck Norris actually rapes his victim in the ass, smokes a cigarette with Dennis Leary, and then roundhouse kicks them in the face.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1458,\n    \"content\": \"Chuck Norris once got confused by looking at the infinity sign, so he roundhouse kicked it back into a clock, he now has it straped onto his wrist and calls it his wristwatch\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1459,\n    \"content\": \"When Chuck Norris is playing Monopoly and goes to jail, his battleship will actually rape and murder other inmates.\"\n  },\n  {\n    \"categories\": [\"explicit\"],\n    \"id\": 1460,\n    \"content\": \"The official CIA report reads, \\\"Chuck Norris impaled Osama bin Laden with a flame, raped all 54 of his wives for 126 minutes, then roundhouse kicked his son in the soul. His son reached approximately 1 million degrees Fahrenheit in less than a second.\"\n  },\n  {\n    \"categories\": [\"money\"],\n    \"id\": 1461,\n    \"content\": \"Chuck Norris donates all of his money to the M.Y. Wallet foundation, and you better too, or else.\"\n  },\n  {\n    \"categories\": [\"money\"],\n    \"id\": 1462,\n    \"content\": \"Chuck Norris is so money he's accepted at all highstreet retailers.\"\n  },\n  {\n    \"categories\": [\"money\"],\n    \"id\": 1463,\n    \"content\": \"Once Chuck Norris went on a game show called Fear Factor and won the money with no sweat\"\n  },\n  {\n    \"categories\": [\"money\"],\n    \"id\": 1464,\n    \"content\": \"In response to the recent Ice Bucket Challenge that is trending worldwide, Chuck Norris invented a version of his own. Simply called the \\\"Bucket Challenge,\\\" you donate money to Chuck Norris or he repeatedly throws buckets at you until you give in.\"\n  },\n  {\n    \"categories\": [\"money\"],\n    \"id\": 1465,\n    \"content\": \"Chuck Norris walked into a bank during a robbery. When the crooks saw Chuck, they returned all the money then gave the teller all the money from their own wallets.\"\n  }\n]\n"
  },
  {
    "path": "src/json/randomproduct.json",
    "content": "[\n  {\n    \"id\": 1,\n    \"title\": \"iPhone 9\",\n    \"description\": \"An apple mobile which is nothing like apple\",\n    \"price\": 549,\n    \"discountPercentage\": 12.96,\n    \"rating\": 4.69,\n    \"stock\": 94,\n    \"brand\": \"Apple\",\n    \"category\": \"smartphones\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/1/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/1/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/1/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/1/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/1/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/1/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 2,\n    \"title\": \"iPhone X\",\n    \"description\": \"SIM-Free, Model A19211 6.5-inch Super Retina HD display with OLED technology A12 Bionic chip with ...\",\n    \"price\": 899,\n    \"discountPercentage\": 17.94,\n    \"rating\": 4.44,\n    \"stock\": 34,\n    \"brand\": \"Apple\",\n    \"category\": \"smartphones\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/2/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/2/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/2/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/2/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/2/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 3,\n    \"title\": \"Samsung Universe 9\",\n    \"description\": \"Samsung's new variant which goes beyond Galaxy to the Universe\",\n    \"price\": 1249,\n    \"discountPercentage\": 15.46,\n    \"rating\": 4.09,\n    \"stock\": 36,\n    \"brand\": \"Samsung\",\n    \"category\": \"smartphones\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/3/thumbnail.jpg\",\n    \"images\": [\"https://cdn.dummyjson.com/product-images/3/1.jpg\"]\n  },\n  {\n    \"id\": 4,\n    \"title\": \"OPPOF19\",\n    \"description\": \"OPPO F19 is officially announced on April 2021.\",\n    \"price\": 280,\n    \"discountPercentage\": 17.91,\n    \"rating\": 4.3,\n    \"stock\": 123,\n    \"brand\": \"OPPO\",\n    \"category\": \"smartphones\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/4/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/4/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/4/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/4/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/4/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/4/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 5,\n    \"title\": \"Huawei P30\",\n    \"description\": \"Huawei’s re-badged P30 Pro New Edition was officially unveiled yesterday in Germany and now the device has made its way to the UK.\",\n    \"price\": 499,\n    \"discountPercentage\": 10.58,\n    \"rating\": 4.09,\n    \"stock\": 32,\n    \"brand\": \"Huawei\",\n    \"category\": \"smartphones\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/5/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/5/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/5/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/5/3.jpg\"\n    ]\n  },\n  {\n    \"id\": 6,\n    \"title\": \"MacBook Pro\",\n    \"description\": \"MacBook Pro 2021 with mini-LED display may launch between September, November\",\n    \"price\": 1749,\n    \"discountPercentage\": 11.02,\n    \"rating\": 4.57,\n    \"stock\": 83,\n    \"brand\": \"Apple\",\n    \"category\": \"laptops\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/6/thumbnail.png\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/6/1.png\",\n      \"https://cdn.dummyjson.com/product-images/6/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/6/3.png\",\n      \"https://cdn.dummyjson.com/product-images/6/4.jpg\"\n    ]\n  },\n  {\n    \"id\": 7,\n    \"title\": \"Samsung Galaxy Book\",\n    \"description\": \"Samsung Galaxy Book S (2020) Laptop With Intel Lakefield Chip, 8GB of RAM Launched\",\n    \"price\": 1499,\n    \"discountPercentage\": 4.15,\n    \"rating\": 4.25,\n    \"stock\": 50,\n    \"brand\": \"Samsung\",\n    \"category\": \"laptops\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/7/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/7/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/7/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/7/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/7/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 8,\n    \"title\": \"Microsoft Surface Laptop 4\",\n    \"description\": \"Style and speed. Stand out on HD video calls backed by Studio Mics. Capture ideas on the vibrant touchscreen.\",\n    \"price\": 1499,\n    \"discountPercentage\": 10.23,\n    \"rating\": 4.43,\n    \"stock\": 68,\n    \"brand\": \"Microsoft Surface\",\n    \"category\": \"laptops\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/8/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/8/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/8/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/8/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/8/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/8/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 9,\n    \"title\": \"Infinix INBOOK\",\n    \"description\": \"Infinix Inbook X1 Ci3 10th 8GB 256GB 14 Win10 Grey – 1 Year Warranty\",\n    \"price\": 1099,\n    \"discountPercentage\": 11.83,\n    \"rating\": 4.54,\n    \"stock\": 96,\n    \"brand\": \"Infinix\",\n    \"category\": \"laptops\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/9/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/9/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/9/2.png\",\n      \"https://cdn.dummyjson.com/product-images/9/3.png\",\n      \"https://cdn.dummyjson.com/product-images/9/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/9/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 10,\n    \"title\": \"HP Pavilion 15-DK1056WM\",\n    \"description\": \"HP Pavilion 15-DK1056WM Gaming Laptop 10th Gen Core i5, 8GB, 256GB SSD, GTX 1650 4GB, Windows 10\",\n    \"price\": 1099,\n    \"discountPercentage\": 6.18,\n    \"rating\": 4.43,\n    \"stock\": 89,\n    \"brand\": \"HP Pavilion\",\n    \"category\": \"laptops\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/10/thumbnail.jpeg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/10/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/10/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/10/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/10/thumbnail.jpeg\"\n    ]\n  },\n  {\n    \"id\": 11,\n    \"title\": \"perfume Oil\",\n    \"description\": \"Mega Discount, Impression of Acqua Di Gio by GiorgioArmani concentrated attar perfume Oil\",\n    \"price\": 13,\n    \"discountPercentage\": 8.4,\n    \"rating\": 4.26,\n    \"stock\": 65,\n    \"brand\": \"Impression of Acqua Di Gio\",\n    \"category\": \"fragrances\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/11/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/11/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/11/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/11/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/11/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 12,\n    \"title\": \"Brown Perfume\",\n    \"description\": \"Royal_Mirage Sport Brown Perfume for Men & Women - 120ml\",\n    \"price\": 40,\n    \"discountPercentage\": 15.66,\n    \"rating\": 4,\n    \"stock\": 52,\n    \"brand\": \"Royal_Mirage\",\n    \"category\": \"fragrances\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/12/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/12/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/12/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/12/3.png\",\n      \"https://cdn.dummyjson.com/product-images/12/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/12/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 13,\n    \"title\": \"Fog Scent Xpressio Perfume\",\n    \"description\": \"Product details of Best Fog Scent Xpressio Perfume 100ml For Men cool long lasting perfumes for Men\",\n    \"price\": 13,\n    \"discountPercentage\": 8.14,\n    \"rating\": 4.59,\n    \"stock\": 61,\n    \"brand\": \"Fog Scent Xpressio\",\n    \"category\": \"fragrances\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/13/thumbnail.webp\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/13/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/13/2.png\",\n      \"https://cdn.dummyjson.com/product-images/13/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/13/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/13/thumbnail.webp\"\n    ]\n  },\n  {\n    \"id\": 14,\n    \"title\": \"Non-Alcoholic Concentrated Perfume Oil\",\n    \"description\": \"Original Al Munakh® by Mahal Al Musk | Our Impression of Climate | 6ml Non-Alcoholic Concentrated Perfume Oil\",\n    \"price\": 120,\n    \"discountPercentage\": 15.6,\n    \"rating\": 4.21,\n    \"stock\": 114,\n    \"brand\": \"Al Munakh\",\n    \"category\": \"fragrances\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/14/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/14/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/14/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/14/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/14/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 15,\n    \"title\": \"Eau De Perfume Spray\",\n    \"description\": \"Genuine  Al-Rehab spray perfume from UAE/Saudi Arabia/Yemen High Quality\",\n    \"price\": 30,\n    \"discountPercentage\": 10.99,\n    \"rating\": 4.7,\n    \"stock\": 105,\n    \"brand\": \"Lord - Al-Rehab\",\n    \"category\": \"fragrances\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/15/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/15/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/15/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/15/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/15/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/15/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 16,\n    \"title\": \"Hyaluronic Acid Serum\",\n    \"description\": \"L'OrÃ©al Paris introduces Hyaluron Expert Replumping Serum formulated with 1.5% Hyaluronic Acid\",\n    \"price\": 19,\n    \"discountPercentage\": 13.31,\n    \"rating\": 4.83,\n    \"stock\": 110,\n    \"brand\": \"L'Oreal Paris\",\n    \"category\": \"skincare\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/16/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/16/1.png\",\n      \"https://cdn.dummyjson.com/product-images/16/2.webp\",\n      \"https://cdn.dummyjson.com/product-images/16/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/16/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/16/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 17,\n    \"title\": \"Tree Oil 30ml\",\n    \"description\": \"Tea tree oil contains a number of compounds, including terpinen-4-ol, that have been shown to kill certain bacteria,\",\n    \"price\": 12,\n    \"discountPercentage\": 4.09,\n    \"rating\": 4.52,\n    \"stock\": 78,\n    \"brand\": \"Hemani Tea\",\n    \"category\": \"skincare\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/17/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/17/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/17/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/17/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/17/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 18,\n    \"title\": \"Oil Free Moisturizer 100ml\",\n    \"description\": \"Dermive Oil Free Moisturizer with SPF 20 is specifically formulated with ceramides, hyaluronic acid & sunscreen.\",\n    \"price\": 40,\n    \"discountPercentage\": 13.1,\n    \"rating\": 4.56,\n    \"stock\": 88,\n    \"brand\": \"Dermive\",\n    \"category\": \"skincare\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/18/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/18/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/18/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/18/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/18/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/18/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 19,\n    \"title\": \"Skin Beauty Serum.\",\n    \"description\": \"Product name: rorec collagen hyaluronic acid white face serum riceNet weight: 15 m\",\n    \"price\": 46,\n    \"discountPercentage\": 10.68,\n    \"rating\": 4.42,\n    \"stock\": 54,\n    \"brand\": \"ROREC White Rice\",\n    \"category\": \"skincare\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/19/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/19/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/19/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/19/3.png\",\n      \"https://cdn.dummyjson.com/product-images/19/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 20,\n    \"title\": \"Freckle Treatment Cream- 15gm\",\n    \"description\": \"Fair & Clear is Pakistan's only pure Freckle cream which helpsfade Freckles, Darkspots and pigments. Mercury level is 0%, so there are no side effects.\",\n    \"price\": 70,\n    \"discountPercentage\": 16.99,\n    \"rating\": 4.06,\n    \"stock\": 140,\n    \"brand\": \"Fair & Clear\",\n    \"category\": \"skincare\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/20/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/20/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/20/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/20/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/20/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/20/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 21,\n    \"title\": \"- Daal Masoor 500 grams\",\n    \"description\": \"Fine quality Branded Product Keep in a cool and dry place\",\n    \"price\": 20,\n    \"discountPercentage\": 4.81,\n    \"rating\": 4.44,\n    \"stock\": 133,\n    \"brand\": \"Saaf & Khaas\",\n    \"category\": \"groceries\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/21/thumbnail.png\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/21/1.png\",\n      \"https://cdn.dummyjson.com/product-images/21/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/21/3.jpg\"\n    ]\n  },\n  {\n    \"id\": 22,\n    \"title\": \"Elbow Macaroni - 400 gm\",\n    \"description\": \"Product details of Bake Parlor Big Elbow Macaroni - 400 gm\",\n    \"price\": 14,\n    \"discountPercentage\": 15.58,\n    \"rating\": 4.57,\n    \"stock\": 146,\n    \"brand\": \"Bake Parlor Big\",\n    \"category\": \"groceries\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/22/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/22/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/22/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/22/3.jpg\"\n    ]\n  },\n  {\n    \"id\": 23,\n    \"title\": \"Orange Essence Food Flavou\",\n    \"description\": \"Specifications of Orange Essence Food Flavour For Cakes and Baking Food Item\",\n    \"price\": 14,\n    \"discountPercentage\": 8.04,\n    \"rating\": 4.85,\n    \"stock\": 26,\n    \"brand\": \"Baking Food Items\",\n    \"category\": \"groceries\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/23/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/23/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/23/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/23/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/23/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/23/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 24,\n    \"title\": \"cereals muesli fruit nuts\",\n    \"description\": \"original fauji cereal muesli 250gm box pack original fauji cereals muesli fruit nuts flakes breakfast cereal break fast faujicereals cerels cerel foji fouji\",\n    \"price\": 46,\n    \"discountPercentage\": 16.8,\n    \"rating\": 4.94,\n    \"stock\": 113,\n    \"brand\": \"fauji\",\n    \"category\": \"groceries\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/24/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/24/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/24/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/24/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/24/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/24/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 25,\n    \"title\": \"Gulab Powder 50 Gram\",\n    \"description\": \"Dry Rose Flower Powder Gulab Powder 50 Gram • Treats Wounds\",\n    \"price\": 70,\n    \"discountPercentage\": 13.58,\n    \"rating\": 4.87,\n    \"stock\": 47,\n    \"brand\": \"Dry Rose\",\n    \"category\": \"groceries\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/25/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/25/1.png\",\n      \"https://cdn.dummyjson.com/product-images/25/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/25/3.png\",\n      \"https://cdn.dummyjson.com/product-images/25/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/25/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 26,\n    \"title\": \"Plant Hanger For Home\",\n    \"description\": \"Boho Decor Plant Hanger For Home Wall Decoration Macrame Wall Hanging Shelf\",\n    \"price\": 41,\n    \"discountPercentage\": 17.86,\n    \"rating\": 4.08,\n    \"stock\": 131,\n    \"brand\": \"Boho Decor\",\n    \"category\": \"home-decoration\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/26/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/26/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/26/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/26/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/26/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/26/5.jpg\",\n      \"https://cdn.dummyjson.com/product-images/26/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 27,\n    \"title\": \"Flying Wooden Bird\",\n    \"description\": \"Package Include 6 Birds with Adhesive Tape Shape: 3D Shaped Wooden Birds Material: Wooden MDF, Laminated 3.5mm\",\n    \"price\": 51,\n    \"discountPercentage\": 15.58,\n    \"rating\": 4.41,\n    \"stock\": 17,\n    \"brand\": \"Flying Wooden\",\n    \"category\": \"home-decoration\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/27/thumbnail.webp\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/27/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/27/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/27/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/27/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/27/thumbnail.webp\"\n    ]\n  },\n  {\n    \"id\": 28,\n    \"title\": \"3D Embellishment Art Lamp\",\n    \"description\": \"3D led lamp sticker Wall sticker 3d wall art light on/off button  cell operated (included)\",\n    \"price\": 20,\n    \"discountPercentage\": 16.49,\n    \"rating\": 4.82,\n    \"stock\": 54,\n    \"brand\": \"LED Lights\",\n    \"category\": \"home-decoration\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/28/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/28/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/28/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/28/3.png\",\n      \"https://cdn.dummyjson.com/product-images/28/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/28/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 29,\n    \"title\": \"Handcraft Chinese style\",\n    \"description\": \"Handcraft Chinese style art luxury palace hotel villa mansion home decor ceramic vase with brass fruit plate\",\n    \"price\": 60,\n    \"discountPercentage\": 15.34,\n    \"rating\": 4.44,\n    \"stock\": 7,\n    \"brand\": \"luxury palace\",\n    \"category\": \"home-decoration\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/29/thumbnail.webp\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/29/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/29/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/29/3.webp\",\n      \"https://cdn.dummyjson.com/product-images/29/4.webp\",\n      \"https://cdn.dummyjson.com/product-images/29/thumbnail.webp\"\n    ]\n  },\n  {\n    \"id\": 30,\n    \"title\": \"Key Holder\",\n    \"description\": \"Attractive DesignMetallic materialFour key hooksReliable & DurablePremium Quality\",\n    \"price\": 30,\n    \"discountPercentage\": 2.92,\n    \"rating\": 4.92,\n    \"stock\": 54,\n    \"brand\": \"Golden\",\n    \"category\": \"home-decoration\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/30/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/30/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/30/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/30/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/30/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 31,\n    \"title\": \"Mornadi Velvet Bed\",\n    \"description\": \"Mornadi Velvet Bed Base with Headboard Slats Support Classic Style Bedroom Furniture Bed Set\",\n    \"price\": 40,\n    \"discountPercentage\": 17,\n    \"rating\": 4.16,\n    \"stock\": 140,\n    \"brand\": \"Furniture Bed Set\",\n    \"category\": \"furniture\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/31/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/31/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/31/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/31/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/31/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/31/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 32,\n    \"title\": \"Sofa for Coffe Cafe\",\n    \"description\": \"Ratttan Outdoor furniture Set Waterproof  Rattan Sofa for Coffe Cafe\",\n    \"price\": 50,\n    \"discountPercentage\": 15.59,\n    \"rating\": 4.74,\n    \"stock\": 30,\n    \"brand\": \"Ratttan Outdoor\",\n    \"category\": \"furniture\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/32/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/32/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/32/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/32/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/32/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 33,\n    \"title\": \"3 Tier Corner Shelves\",\n    \"description\": \"3 Tier Corner Shelves | 3 PCs Wall Mount Kitchen Shelf | Floating Bedroom Shelf\",\n    \"price\": 700,\n    \"discountPercentage\": 17,\n    \"rating\": 4.31,\n    \"stock\": 106,\n    \"brand\": \"Kitchen Shelf\",\n    \"category\": \"furniture\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/33/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/33/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/33/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/33/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/33/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/33/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 34,\n    \"title\": \"Plastic Table\",\n    \"description\": \"V﻿ery good quality plastic table for multi purpose now in reasonable price\",\n    \"price\": 50,\n    \"discountPercentage\": 4,\n    \"rating\": 4.01,\n    \"stock\": 136,\n    \"brand\": \"Multi Purpose\",\n    \"category\": \"furniture\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/34/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/34/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/34/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/34/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/34/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/34/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 35,\n    \"title\": \"3 DOOR PORTABLE\",\n    \"description\": \"Material: Stainless Steel and Fabric  Item Size: 110 cm x 45 cm x 175 cm Package Contents: 1 Storage Wardrobe\",\n    \"price\": 41,\n    \"discountPercentage\": 7.98,\n    \"rating\": 4.06,\n    \"stock\": 68,\n    \"brand\": \"AmnaMart\",\n    \"category\": \"furniture\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/35/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/35/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/35/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/35/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/35/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/35/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 36,\n    \"title\": \"Sleeve Shirt Womens\",\n    \"description\": \"Cotton Solid Color Professional Wear Sleeve Shirt Womens Work Blouses Wholesale Clothing Casual Plain Custom Top OEM Customized\",\n    \"price\": 90,\n    \"discountPercentage\": 10.89,\n    \"rating\": 4.26,\n    \"stock\": 39,\n    \"brand\": \"Professional Wear\",\n    \"category\": \"tops\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/36/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/36/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/36/2.webp\",\n      \"https://cdn.dummyjson.com/product-images/36/3.webp\",\n      \"https://cdn.dummyjson.com/product-images/36/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/36/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 37,\n    \"title\": \"ank Tops for Womens/Girls\",\n    \"description\": \"PACK OF 3 CAMISOLES ,VERY COMFORTABLE SOFT COTTON STUFF, COMFORTABLE IN ALL FOUR SEASONS\",\n    \"price\": 50,\n    \"discountPercentage\": 12.05,\n    \"rating\": 4.52,\n    \"stock\": 107,\n    \"brand\": \"Soft Cotton\",\n    \"category\": \"tops\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/37/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/37/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/37/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/37/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/37/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/37/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 38,\n    \"title\": \"sublimation plain kids tank\",\n    \"description\": \"sublimation plain kids tank tops wholesale\",\n    \"price\": 100,\n    \"discountPercentage\": 11.12,\n    \"rating\": 4.8,\n    \"stock\": 20,\n    \"brand\": \"Soft Cotton\",\n    \"category\": \"tops\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/38/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/38/1.png\",\n      \"https://cdn.dummyjson.com/product-images/38/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/38/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/38/4.jpg\"\n    ]\n  },\n  {\n    \"id\": 39,\n    \"title\": \"Women Sweaters Wool\",\n    \"description\": \"2021 Custom Winter Fall Zebra Knit Crop Top Women Sweaters Wool Mohair Cos Customize Crew Neck Women' S Crop Top Sweater\",\n    \"price\": 600,\n    \"discountPercentage\": 17.2,\n    \"rating\": 4.55,\n    \"stock\": 55,\n    \"brand\": \"Top Sweater\",\n    \"category\": \"tops\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/39/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/39/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/39/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/39/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/39/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/39/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 40,\n    \"title\": \"women winter clothes\",\n    \"description\": \"women winter clothes thick fleece hoodie top with sweat pantjogger women sweatsuit set joggers pants two piece pants set\",\n    \"price\": 57,\n    \"discountPercentage\": 13.39,\n    \"rating\": 4.91,\n    \"stock\": 84,\n    \"brand\": \"Top Sweater\",\n    \"category\": \"tops\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/40/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/40/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/40/2.jpg\"\n    ]\n  },\n  {\n    \"id\": 41,\n    \"title\": \"NIGHT SUIT\",\n    \"description\": \"NIGHT SUIT RED MICKY MOUSE..  For Girls. Fantastic Suits.\",\n    \"price\": 55,\n    \"discountPercentage\": 15.05,\n    \"rating\": 4.65,\n    \"stock\": 21,\n    \"brand\": \"RED MICKY MOUSE..\",\n    \"category\": \"womens-dresses\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/41/thumbnail.webp\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/41/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/41/2.webp\",\n      \"https://cdn.dummyjson.com/product-images/41/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/41/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/41/thumbnail.webp\"\n    ]\n  },\n  {\n    \"id\": 42,\n    \"title\": \"Stiched Kurta plus trouser\",\n    \"description\": \"FABRIC: LILEIN CHEST: 21 LENGHT: 37 TROUSER: (38) :ARABIC LILEIN\",\n    \"price\": 80,\n    \"discountPercentage\": 15.37,\n    \"rating\": 4.05,\n    \"stock\": 148,\n    \"brand\": \"Digital Printed\",\n    \"category\": \"womens-dresses\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/42/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/42/1.png\",\n      \"https://cdn.dummyjson.com/product-images/42/2.png\",\n      \"https://cdn.dummyjson.com/product-images/42/3.png\",\n      \"https://cdn.dummyjson.com/product-images/42/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/42/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 43,\n    \"title\": \"frock gold printed\",\n    \"description\": \"Ghazi fabric long frock gold printed ready to wear stitched collection (G992)\",\n    \"price\": 600,\n    \"discountPercentage\": 15.55,\n    \"rating\": 4.31,\n    \"stock\": 150,\n    \"brand\": \"Ghazi Fabric\",\n    \"category\": \"womens-dresses\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/43/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/43/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/43/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/43/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/43/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/43/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 44,\n    \"title\": \"Ladies Multicolored Dress\",\n    \"description\": \"This classy shirt for women gives you a gorgeous look on everyday wear and specially for semi-casual wears.\",\n    \"price\": 79,\n    \"discountPercentage\": 16.88,\n    \"rating\": 4.03,\n    \"stock\": 2,\n    \"brand\": \"Ghazi Fabric\",\n    \"category\": \"womens-dresses\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/44/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/44/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/44/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/44/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/44/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/44/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 45,\n    \"title\": \"Malai Maxi Dress\",\n    \"description\": \"Ready to wear, Unique design according to modern standard fashion, Best fitting ,Imported stuff\",\n    \"price\": 50,\n    \"discountPercentage\": 5.07,\n    \"rating\": 4.67,\n    \"stock\": 96,\n    \"brand\": \"IELGY\",\n    \"category\": \"womens-dresses\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/45/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/45/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/45/2.webp\",\n      \"https://cdn.dummyjson.com/product-images/45/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/45/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/45/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 46,\n    \"title\": \"women's shoes\",\n    \"description\": \"Close: Lace, Style with bottom: Increased inside, Sole Material: Rubber\",\n    \"price\": 40,\n    \"discountPercentage\": 16.96,\n    \"rating\": 4.14,\n    \"stock\": 72,\n    \"brand\": \"IELGY fashion\",\n    \"category\": \"womens-shoes\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/46/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/46/1.webp\",\n      \"https://cdn.dummyjson.com/product-images/46/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/46/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/46/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/46/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 47,\n    \"title\": \"Sneaker shoes\",\n    \"description\": \"Synthetic Leather Casual Sneaker shoes for Women/girls Sneakers For Women\",\n    \"price\": 120,\n    \"discountPercentage\": 10.37,\n    \"rating\": 4.19,\n    \"stock\": 50,\n    \"brand\": \"Synthetic Leather\",\n    \"category\": \"womens-shoes\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/47/thumbnail.jpeg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/47/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/47/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/47/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/47/thumbnail.jpeg\"\n    ]\n  },\n  {\n    \"id\": 48,\n    \"title\": \"Women Strip Heel\",\n    \"description\": \"Features: Flip-flops, Mid Heel, Comfortable, Striped Heel, Antiskid, Striped\",\n    \"price\": 40,\n    \"discountPercentage\": 10.83,\n    \"rating\": 4.02,\n    \"stock\": 25,\n    \"brand\": \"Sandals Flip Flops\",\n    \"category\": \"womens-shoes\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/48/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/48/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/48/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/48/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/48/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/48/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 49,\n    \"title\": \"Chappals & Shoe Ladies Metallic\",\n    \"description\": \"Womens Chappals & Shoe Ladies Metallic Tong Thong Sandal Flat Summer 2020 Maasai Sandals\",\n    \"price\": 23,\n    \"discountPercentage\": 2.62,\n    \"rating\": 4.72,\n    \"stock\": 107,\n    \"brand\": \"Maasai Sandals\",\n    \"category\": \"womens-shoes\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/49/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/49/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/49/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/49/3.webp\",\n      \"https://cdn.dummyjson.com/product-images/49/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 50,\n    \"title\": \"Women Shoes\",\n    \"description\": \"2020 New Arrivals Genuine Leather Fashion Trend Platform Summer Women Shoes\",\n    \"price\": 36,\n    \"discountPercentage\": 16.87,\n    \"rating\": 4.33,\n    \"stock\": 46,\n    \"brand\": \"Arrivals Genuine\",\n    \"category\": \"womens-shoes\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/50/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/50/1.jpeg\",\n      \"https://cdn.dummyjson.com/product-images/50/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/50/3.jpg\"\n    ]\n  },\n  {\n    \"id\": 51,\n    \"title\": \"half sleeves T shirts\",\n    \"description\": \"Many store is creating new designs and trend every month and every year. Daraz.pk have a beautiful range of men fashion brands\",\n    \"price\": 23,\n    \"discountPercentage\": 12.76,\n    \"rating\": 4.26,\n    \"stock\": 132,\n    \"brand\": \"Vintage Apparel\",\n    \"category\": \"mens-shirts\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/51/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/51/1.png\",\n      \"https://cdn.dummyjson.com/product-images/51/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/51/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/51/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 52,\n    \"title\": \"FREE FIRE T Shirt\",\n    \"description\": \"quality and professional print - It doesn't just look high quality, it is high quality.\",\n    \"price\": 10,\n    \"discountPercentage\": 14.72,\n    \"rating\": 4.52,\n    \"stock\": 128,\n    \"brand\": \"FREE FIRE\",\n    \"category\": \"mens-shirts\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/52/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/52/1.png\",\n      \"https://cdn.dummyjson.com/product-images/52/2.png\",\n      \"https://cdn.dummyjson.com/product-images/52/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/52/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/52/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 53,\n    \"title\": \"printed high quality T shirts\",\n    \"description\": \"Brand: vintage Apparel ,Export quality\",\n    \"price\": 35,\n    \"discountPercentage\": 7.54,\n    \"rating\": 4.89,\n    \"stock\": 6,\n    \"brand\": \"Vintage Apparel\",\n    \"category\": \"mens-shirts\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/53/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/53/1.webp\",\n      \"https://cdn.dummyjson.com/product-images/53/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/53/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/53/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/53/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 54,\n    \"title\": \"Pubg Printed Graphic T-Shirt\",\n    \"description\": \"Product Description Features: 100% Ultra soft Polyester Jersey. Vibrant & colorful printing on front. Feels soft as cotton without ever cracking\",\n    \"price\": 46,\n    \"discountPercentage\": 16.44,\n    \"rating\": 4.62,\n    \"stock\": 136,\n    \"brand\": \"The Warehouse\",\n    \"category\": \"mens-shirts\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/54/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/54/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/54/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/54/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/54/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/54/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 55,\n    \"title\": \"Money Heist Printed Summer T Shirts\",\n    \"description\": \"Fabric Jercy, Size: M & L Wear Stylish Dual Stiched\",\n    \"price\": 66,\n    \"discountPercentage\": 15.97,\n    \"rating\": 4.9,\n    \"stock\": 122,\n    \"brand\": \"The Warehouse\",\n    \"category\": \"mens-shirts\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/55/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/55/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/55/2.webp\",\n      \"https://cdn.dummyjson.com/product-images/55/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/55/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/55/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 56,\n    \"title\": \"Sneakers Joggers Shoes\",\n    \"description\": \"Gender: Men , Colors: Same as DisplayedCondition: 100% Brand New\",\n    \"price\": 40,\n    \"discountPercentage\": 12.57,\n    \"rating\": 4.38,\n    \"stock\": 6,\n    \"brand\": \"Sneakers\",\n    \"category\": \"mens-shoes\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/56/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/56/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/56/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/56/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/56/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/56/5.jpg\",\n      \"https://cdn.dummyjson.com/product-images/56/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 57,\n    \"title\": \"Loafers for men\",\n    \"description\": \"Men Shoes - Loafers for men - Rubber Shoes - Nylon Shoes - Shoes for men - Moccassion - Pure Nylon (Rubber) Expot Quality.\",\n    \"price\": 47,\n    \"discountPercentage\": 10.91,\n    \"rating\": 4.91,\n    \"stock\": 20,\n    \"brand\": \"Rubber\",\n    \"category\": \"mens-shoes\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/57/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/57/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/57/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/57/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/57/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/57/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 58,\n    \"title\": \"formal offices shoes\",\n    \"description\": \"Pattern Type: Solid, Material: PU, Toe Shape: Pointed Toe ,Outsole Material: Rubber\",\n    \"price\": 57,\n    \"discountPercentage\": 12,\n    \"rating\": 4.41,\n    \"stock\": 68,\n    \"brand\": \"The Warehouse\",\n    \"category\": \"mens-shoes\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/58/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/58/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/58/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/58/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/58/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/58/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 59,\n    \"title\": \"Spring and summershoes\",\n    \"description\": \"Comfortable stretch cloth, lightweight body; ,rubber sole, anti-skid wear;\",\n    \"price\": 20,\n    \"discountPercentage\": 8.71,\n    \"rating\": 4.33,\n    \"stock\": 137,\n    \"brand\": \"Sneakers\",\n    \"category\": \"mens-shoes\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/59/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/59/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/59/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/59/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/59/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/59/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 60,\n    \"title\": \"Stylish Casual Jeans Shoes\",\n    \"description\": \"High Quality ,Stylish design ,Comfortable wear ,FAshion ,Durable\",\n    \"price\": 58,\n    \"discountPercentage\": 7.55,\n    \"rating\": 4.55,\n    \"stock\": 129,\n    \"brand\": \"Sneakers\",\n    \"category\": \"mens-shoes\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/60/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/60/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/60/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/60/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/60/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 61,\n    \"title\": \"Leather Straps Wristwatch\",\n    \"description\": \"Style:Sport ,Clasp:Buckles ,Water Resistance Depth:3Bar\",\n    \"price\": 120,\n    \"discountPercentage\": 7.14,\n    \"rating\": 4.63,\n    \"stock\": 91,\n    \"brand\": \"Naviforce\",\n    \"category\": \"mens-watches\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/61/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/61/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/61/2.png\",\n      \"https://cdn.dummyjson.com/product-images/61/3.jpg\"\n    ]\n  },\n  {\n    \"id\": 62,\n    \"title\": \"Waterproof Leather Brand Watch\",\n    \"description\": \"Watch Crown With Environmental IPS Bronze Electroplating; Display system of 12 hours\",\n    \"price\": 46,\n    \"discountPercentage\": 3.15,\n    \"rating\": 4.05,\n    \"stock\": 95,\n    \"brand\": \"SKMEI 9117\",\n    \"category\": \"mens-watches\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/62/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/62/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/62/2.jpg\"\n    ]\n  },\n  {\n    \"id\": 63,\n    \"title\": \"Royal Blue Premium Watch\",\n    \"description\": \"Men Silver Chain Royal Blue Premium Watch Latest Analog Watch\",\n    \"price\": 50,\n    \"discountPercentage\": 2.56,\n    \"rating\": 4.89,\n    \"stock\": 142,\n    \"brand\": \"SKMEI 9117\",\n    \"category\": \"mens-watches\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/63/thumbnail.webp\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/63/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/63/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/63/3.png\",\n      \"https://cdn.dummyjson.com/product-images/63/4.jpeg\"\n    ]\n  },\n  {\n    \"id\": 64,\n    \"title\": \"Leather Strap Skeleton Watch\",\n    \"description\": \"Leather Strap Skeleton Watch for Men - Stylish and Latest Design\",\n    \"price\": 46,\n    \"discountPercentage\": 10.2,\n    \"rating\": 4.98,\n    \"stock\": 61,\n    \"brand\": \"Strap Skeleton\",\n    \"category\": \"mens-watches\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/64/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/64/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/64/2.webp\",\n      \"https://cdn.dummyjson.com/product-images/64/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/64/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 65,\n    \"title\": \"Stainless Steel Wrist Watch\",\n    \"description\": \"Stylish Watch For Man (Luxury) Classy Men's Stainless Steel Wrist Watch - Box Packed\",\n    \"price\": 47,\n    \"discountPercentage\": 17.79,\n    \"rating\": 4.79,\n    \"stock\": 94,\n    \"brand\": \"Stainless\",\n    \"category\": \"mens-watches\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/65/thumbnail.webp\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/65/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/65/2.webp\",\n      \"https://cdn.dummyjson.com/product-images/65/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/65/4.webp\",\n      \"https://cdn.dummyjson.com/product-images/65/thumbnail.webp\"\n    ]\n  },\n  {\n    \"id\": 66,\n    \"title\": \"Steel Analog Couple Watches\",\n    \"description\": \"Elegant design, Stylish ,Unique & Trendy,Comfortable wear\",\n    \"price\": 35,\n    \"discountPercentage\": 3.23,\n    \"rating\": 4.79,\n    \"stock\": 24,\n    \"brand\": \"Eastern Watches\",\n    \"category\": \"womens-watches\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/66/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/66/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/66/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/66/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/66/4.JPG\",\n      \"https://cdn.dummyjson.com/product-images/66/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 67,\n    \"title\": \"Fashion Magnetic Wrist Watch\",\n    \"description\": \"Buy this awesome  The product is originally manufactured by the company and it's a top selling product with a very reasonable\",\n    \"price\": 60,\n    \"discountPercentage\": 16.69,\n    \"rating\": 4.03,\n    \"stock\": 46,\n    \"brand\": \"Eastern Watches\",\n    \"category\": \"womens-watches\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/67/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/67/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/67/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/67/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/67/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/67/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 68,\n    \"title\": \"Stylish Luxury Digital Watch\",\n    \"description\": \"Stylish Luxury Digital Watch For Girls / Women - Led Smart Ladies Watches For Girls\",\n    \"price\": 57,\n    \"discountPercentage\": 9.03,\n    \"rating\": 4.55,\n    \"stock\": 77,\n    \"brand\": \"Luxury Digital\",\n    \"category\": \"womens-watches\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/68/thumbnail.webp\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/68/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/68/2.jpg\"\n    ]\n  },\n  {\n    \"id\": 69,\n    \"title\": \"Golden Watch Pearls Bracelet Watch\",\n    \"description\": \"Product details of Golden Watch Pearls Bracelet Watch For Girls - Golden Chain Ladies Bracelate Watch for Women\",\n    \"price\": 47,\n    \"discountPercentage\": 17.55,\n    \"rating\": 4.77,\n    \"stock\": 89,\n    \"brand\": \"Watch Pearls\",\n    \"category\": \"womens-watches\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/69/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/69/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/69/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/69/3.webp\",\n      \"https://cdn.dummyjson.com/product-images/69/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/69/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 70,\n    \"title\": \"Stainless Steel Women\",\n    \"description\": \"Fashion Skmei 1830 Shell Dial Stainless Steel Women Wrist Watch Lady Bracelet Watch Quartz Watches Ladies\",\n    \"price\": 35,\n    \"discountPercentage\": 8.98,\n    \"rating\": 4.08,\n    \"stock\": 111,\n    \"brand\": \"Bracelet\",\n    \"category\": \"womens-watches\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/70/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/70/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/70/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/70/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 71,\n    \"title\": \"Women Shoulder Bags\",\n    \"description\": \"LouisWill Women Shoulder Bags Long Clutches Cross Body Bags Phone Bags PU Leather Hand Bags Large Capacity Card Holders Zipper Coin Purses Fashion Crossbody Bags for Girls Ladies\",\n    \"price\": 46,\n    \"discountPercentage\": 14.65,\n    \"rating\": 4.71,\n    \"stock\": 17,\n    \"brand\": \"LouisWill\",\n    \"category\": \"womens-bags\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/71/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/71/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/71/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/71/3.webp\",\n      \"https://cdn.dummyjson.com/product-images/71/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 72,\n    \"title\": \"Handbag For Girls\",\n    \"description\": \"This fashion is designed to add a charming effect to your casual outfit. This Bag is made of synthetic leather.\",\n    \"price\": 23,\n    \"discountPercentage\": 17.5,\n    \"rating\": 4.91,\n    \"stock\": 27,\n    \"brand\": \"LouisWill\",\n    \"category\": \"womens-bags\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/72/thumbnail.webp\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/72/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/72/2.png\",\n      \"https://cdn.dummyjson.com/product-images/72/3.webp\",\n      \"https://cdn.dummyjson.com/product-images/72/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/72/thumbnail.webp\"\n    ]\n  },\n  {\n    \"id\": 73,\n    \"title\": \"Fancy hand clutch\",\n    \"description\": \"This fashion is designed to add a charming effect to your casual outfit. This Bag is made of synthetic leather.\",\n    \"price\": 44,\n    \"discountPercentage\": 10.39,\n    \"rating\": 4.18,\n    \"stock\": 101,\n    \"brand\": \"Bracelet\",\n    \"category\": \"womens-bags\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/73/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/73/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/73/2.webp\",\n      \"https://cdn.dummyjson.com/product-images/73/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/73/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 74,\n    \"title\": \"Leather Hand Bag\",\n    \"description\": \"It features an attractive design that makes it a must have accessory in your collection. We sell different kind of bags for boys, kids, women, girls and also for unisex.\",\n    \"price\": 57,\n    \"discountPercentage\": 11.19,\n    \"rating\": 4.01,\n    \"stock\": 43,\n    \"brand\": \"Copenhagen Luxe\",\n    \"category\": \"womens-bags\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/74/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/74/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/74/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/74/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/74/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/74/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 75,\n    \"title\": \"Seven Pocket Women Bag\",\n    \"description\": \"Seven Pocket Women Bag Handbags Lady Shoulder Crossbody Bag Female Purse Seven Pocket Bag\",\n    \"price\": 68,\n    \"discountPercentage\": 14.87,\n    \"rating\": 4.93,\n    \"stock\": 13,\n    \"brand\": \"Steal Frame\",\n    \"category\": \"womens-bags\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/75/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/75/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/75/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/75/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/75/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 76,\n    \"title\": \"Silver Ring Set Women\",\n    \"description\": \"Jewelry Type:RingsCertificate Type:NonePlating:Silver PlatedShapeattern:noneStyle:CLASSICReligious\",\n    \"price\": 70,\n    \"discountPercentage\": 13.57,\n    \"rating\": 4.61,\n    \"stock\": 51,\n    \"brand\": \"Darojay\",\n    \"category\": \"womens-jewellery\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/76/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/76/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/76/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/76/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 77,\n    \"title\": \"Rose Ring\",\n    \"description\": \"Brand: The Greetings Flower Colour: RedRing Colour: GoldenSize: Adjustable\",\n    \"price\": 100,\n    \"discountPercentage\": 3.22,\n    \"rating\": 4.21,\n    \"stock\": 149,\n    \"brand\": \"Copenhagen Luxe\",\n    \"category\": \"womens-jewellery\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/77/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/77/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/77/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/77/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/77/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 78,\n    \"title\": \"Rhinestone Korean Style Open Rings\",\n    \"description\": \"Fashion Jewellery 3Pcs Adjustable Pearl Rhinestone Korean Style Open Rings For Women\",\n    \"price\": 30,\n    \"discountPercentage\": 8.02,\n    \"rating\": 4.69,\n    \"stock\": 9,\n    \"brand\": \"Fashion Jewellery\",\n    \"category\": \"womens-jewellery\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/78/thumbnail.jpg\",\n    \"images\": [\"https://cdn.dummyjson.com/product-images/78/thumbnail.jpg\"]\n  },\n  {\n    \"id\": 79,\n    \"title\": \"Elegant Female Pearl Earrings\",\n    \"description\": \"Elegant Female Pearl Earrings Set Zircon Pearl Earings Women Party Accessories 9 Pairs/Set\",\n    \"price\": 30,\n    \"discountPercentage\": 12.8,\n    \"rating\": 4.74,\n    \"stock\": 16,\n    \"brand\": \"Fashion Jewellery\",\n    \"category\": \"womens-jewellery\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/79/thumbnail.jpg\",\n    \"images\": [\"https://cdn.dummyjson.com/product-images/79/1.jpg\"]\n  },\n  {\n    \"id\": 80,\n    \"title\": \"Chain Pin Tassel Earrings\",\n    \"description\": \"Pair Of Ear Cuff Butterfly Long Chain Pin Tassel Earrings - Silver ( Long Life Quality Product)\",\n    \"price\": 45,\n    \"discountPercentage\": 17.75,\n    \"rating\": 4.59,\n    \"stock\": 9,\n    \"brand\": \"Cuff Butterfly\",\n    \"category\": \"womens-jewellery\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/80/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/80/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/80/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/80/3.png\",\n      \"https://cdn.dummyjson.com/product-images/80/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/80/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 81,\n    \"title\": \"Round Silver Frame Sun Glasses\",\n    \"description\": \"A pair of sunglasses can protect your eyes from being hurt. For car driving, vacation travel, outdoor activities, social gatherings,\",\n    \"price\": 19,\n    \"discountPercentage\": 10.1,\n    \"rating\": 4.94,\n    \"stock\": 78,\n    \"brand\": \"Designer Sun Glasses\",\n    \"category\": \"sunglasses\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/81/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/81/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/81/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/81/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/81/4.webp\",\n      \"https://cdn.dummyjson.com/product-images/81/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 82,\n    \"title\": \"Kabir Singh Square Sunglass\",\n    \"description\": \"Orignal Metal Kabir Singh design 2020 Sunglasses Men Brand Designer Sun Glasses Kabir Singh Square Sunglass\",\n    \"price\": 50,\n    \"discountPercentage\": 15.6,\n    \"rating\": 4.62,\n    \"stock\": 78,\n    \"brand\": \"Designer Sun Glasses\",\n    \"category\": \"sunglasses\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/82/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/82/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/82/2.webp\",\n      \"https://cdn.dummyjson.com/product-images/82/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/82/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/82/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 83,\n    \"title\": \"Wiley X Night Vision Yellow Glasses\",\n    \"description\": \"Wiley X Night Vision Yellow Glasses for Riders - Night Vision Anti Fog Driving Glasses - Free Night Glass Cover - Shield Eyes From Dust and Virus- For Night Sport Matches\",\n    \"price\": 30,\n    \"discountPercentage\": 6.33,\n    \"rating\": 4.97,\n    \"stock\": 115,\n    \"brand\": \"mastar watch\",\n    \"category\": \"sunglasses\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/83/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/83/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/83/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/83/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/83/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/83/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 84,\n    \"title\": \"Square Sunglasses\",\n    \"description\": \"Fashion Oversized Square Sunglasses Retro Gradient Big Frame Sunglasses For Women One Piece Gafas Shade Mirror Clear Lens 17059\",\n    \"price\": 28,\n    \"discountPercentage\": 13.89,\n    \"rating\": 4.64,\n    \"stock\": 64,\n    \"brand\": \"mastar watch\",\n    \"category\": \"sunglasses\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/84/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/84/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/84/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/84/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 85,\n    \"title\": \"LouisWill Men Sunglasses\",\n    \"description\": \"LouisWill Men Sunglasses Polarized Sunglasses UV400 Sunglasses Day Night Dual Use Safety Driving Night Vision Eyewear AL-MG Frame Sun Glasses with Free Box for Drivers\",\n    \"price\": 50,\n    \"discountPercentage\": 11.27,\n    \"rating\": 4.98,\n    \"stock\": 92,\n    \"brand\": \"LouisWill\",\n    \"category\": \"sunglasses\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/85/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/85/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/85/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/85/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 86,\n    \"title\": \"Bluetooth Aux\",\n    \"description\": \"Bluetooth Aux Bluetooth Car Aux Car Bluetooth Transmitter Aux Audio Receiver Handfree Car Bluetooth Music Receiver Universal 3.5mm Streaming A2DP Wireless Auto AUX Audio Adapter With Mic For Phone MP3\",\n    \"price\": 25,\n    \"discountPercentage\": 10.56,\n    \"rating\": 4.57,\n    \"stock\": 22,\n    \"brand\": \"Car Aux\",\n    \"category\": \"automotive\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/86/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/86/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/86/2.webp\",\n      \"https://cdn.dummyjson.com/product-images/86/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/86/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/86/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 87,\n    \"title\": \"t Temperature Controller Incubator Controller\",\n    \"description\": \"Both Heat and Cool Purpose, Temperature control range; -50 to +110, Temperature measurement accuracy; 0.1, Control accuracy; 0.1\",\n    \"price\": 40,\n    \"discountPercentage\": 11.3,\n    \"rating\": 4.54,\n    \"stock\": 37,\n    \"brand\": \"W1209 DC12V\",\n    \"category\": \"automotive\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/87/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/87/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/87/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/87/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/87/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/87/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 88,\n    \"title\": \"TC Reusable Silicone Magic Washing Gloves\",\n    \"description\": \"TC Reusable Silicone Magic Washing Gloves with Scrubber, Cleaning Brush Scrubber Gloves Heat Resistant Pair for Cleaning of Kitchen, Dishes, Vegetables and Fruits, Bathroom, Car Wash, Pet Care and Multipurpose\",\n    \"price\": 29,\n    \"discountPercentage\": 3.19,\n    \"rating\": 4.98,\n    \"stock\": 42,\n    \"brand\": \"TC Reusable\",\n    \"category\": \"automotive\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/88/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/88/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/88/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/88/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/88/4.webp\",\n      \"https://cdn.dummyjson.com/product-images/88/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 89,\n    \"title\": \"Qualcomm original Car Charger\",\n    \"description\": \"best Quality CHarger , Highly Recommended to all best Quality CHarger , Highly Recommended to all\",\n    \"price\": 40,\n    \"discountPercentage\": 17.53,\n    \"rating\": 4.2,\n    \"stock\": 79,\n    \"brand\": \"TC Reusable\",\n    \"category\": \"automotive\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/89/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/89/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/89/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/89/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/89/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/89/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 90,\n    \"title\": \"Cycle Bike Glow\",\n    \"description\": \"Universal fitment and easy to install no special wires, can be easily installed and removed. Fits most standard tyre air stem valves of road, mountain bicycles, motocycles and cars.Bright led will turn on w\",\n    \"price\": 35,\n    \"discountPercentage\": 11.08,\n    \"rating\": 4.1,\n    \"stock\": 63,\n    \"brand\": \"Neon LED Light\",\n    \"category\": \"automotive\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/90/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/90/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/90/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/90/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/90/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/90/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 91,\n    \"title\": \"Black Motorbike\",\n    \"description\": \"Engine Type:Wet sump, Single Cylinder, Four Stroke, Two Valves, Air Cooled with SOHC (Single Over Head Cam) Chain Drive Bore & Stroke:47.0 x 49.5 MM\",\n    \"price\": 569,\n    \"discountPercentage\": 13.63,\n    \"rating\": 4.04,\n    \"stock\": 115,\n    \"brand\": \"METRO 70cc Motorcycle - MR70\",\n    \"category\": \"motorcycle\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/91/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/91/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/91/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/91/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/91/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/91/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 92,\n    \"title\": \"HOT SALE IN EUROPE electric racing motorcycle\",\n    \"description\": \"HOT SALE IN EUROPE electric racing motorcycle electric motorcycle for sale adult electric motorcycles\",\n    \"price\": 920,\n    \"discountPercentage\": 14.4,\n    \"rating\": 4.19,\n    \"stock\": 22,\n    \"brand\": \"BRAVE BULL\",\n    \"category\": \"motorcycle\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/92/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/92/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/92/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/92/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/92/4.jpg\"\n    ]\n  },\n  {\n    \"id\": 93,\n    \"title\": \"Automatic Motor Gas Motorcycles\",\n    \"description\": \"150cc 4-Stroke Motorcycle Automatic Motor Gas Motorcycles Scooter motorcycles 150cc scooter\",\n    \"price\": 1050,\n    \"discountPercentage\": 3.34,\n    \"rating\": 4.84,\n    \"stock\": 127,\n    \"brand\": \"shock absorber\",\n    \"category\": \"motorcycle\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/93/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/93/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/93/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/93/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/93/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/93/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 94,\n    \"title\": \"new arrivals Fashion motocross goggles\",\n    \"description\": \"new arrivals Fashion motocross goggles motorcycle motocross racing motorcycle\",\n    \"price\": 900,\n    \"discountPercentage\": 3.85,\n    \"rating\": 4.06,\n    \"stock\": 109,\n    \"brand\": \"JIEPOLLY\",\n    \"category\": \"motorcycle\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/94/thumbnail.webp\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/94/1.webp\",\n      \"https://cdn.dummyjson.com/product-images/94/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/94/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/94/thumbnail.webp\"\n    ]\n  },\n  {\n    \"id\": 95,\n    \"title\": \"Wholesale cargo lashing Belt\",\n    \"description\": \"Wholesale cargo lashing Belt Tie Down end Ratchet strap customized strap 25mm motorcycle 1500kgs with rubber handle\",\n    \"price\": 930,\n    \"discountPercentage\": 17.67,\n    \"rating\": 4.21,\n    \"stock\": 144,\n    \"brand\": \"Xiangle\",\n    \"category\": \"motorcycle\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/95/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/95/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/95/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/95/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/95/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/95/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 96,\n    \"title\": \"lighting ceiling kitchen\",\n    \"description\": \"Wholesale slim hanging decorative kid room lighting ceiling kitchen chandeliers pendant light modern\",\n    \"price\": 30,\n    \"discountPercentage\": 14.89,\n    \"rating\": 4.83,\n    \"stock\": 96,\n    \"brand\": \"lightingbrilliance\",\n    \"category\": \"lighting\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/96/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/96/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/96/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/96/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/96/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/96/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 97,\n    \"title\": \"Metal Ceramic Flower\",\n    \"description\": \"Metal Ceramic Flower Chandelier Home Lighting American Vintage Hanging Lighting Pendant Lamp\",\n    \"price\": 35,\n    \"discountPercentage\": 10.94,\n    \"rating\": 4.93,\n    \"stock\": 146,\n    \"brand\": \"Ifei Home\",\n    \"category\": \"lighting\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/97/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/97/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/97/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/97/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/97/4.webp\",\n      \"https://cdn.dummyjson.com/product-images/97/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 98,\n    \"title\": \"3 lights lndenpant kitchen islang\",\n    \"description\": \"3 lights lndenpant kitchen islang dining room pendant rice paper chandelier contemporary led pendant light modern chandelier\",\n    \"price\": 34,\n    \"discountPercentage\": 5.92,\n    \"rating\": 4.99,\n    \"stock\": 44,\n    \"brand\": \"DADAWU\",\n    \"category\": \"lighting\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/98/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/98/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/98/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/98/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/98/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/98/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 99,\n    \"title\": \"American Vintage Wood Pendant Light\",\n    \"description\": \"American Vintage Wood Pendant Light Farmhouse Antique Hanging Lamp Lampara Colgante\",\n    \"price\": 46,\n    \"discountPercentage\": 8.84,\n    \"rating\": 4.32,\n    \"stock\": 138,\n    \"brand\": \"Ifei Home\",\n    \"category\": \"lighting\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/99/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/99/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/99/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/99/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/99/4.jpg\",\n      \"https://cdn.dummyjson.com/product-images/99/thumbnail.jpg\"\n    ]\n  },\n  {\n    \"id\": 100,\n    \"title\": \"Crystal chandelier maria theresa for 12 light\",\n    \"description\": \"Crystal chandelier maria theresa for 12 light\",\n    \"price\": 47,\n    \"discountPercentage\": 16,\n    \"rating\": 4.74,\n    \"stock\": 133,\n    \"brand\": \"YIOSI\",\n    \"category\": \"lighting\",\n    \"thumbnail\": \"https://cdn.dummyjson.com/product-images/100/thumbnail.jpg\",\n    \"images\": [\n      \"https://cdn.dummyjson.com/product-images/100/1.jpg\",\n      \"https://cdn.dummyjson.com/product-images/100/2.jpg\",\n      \"https://cdn.dummyjson.com/product-images/100/3.jpg\",\n      \"https://cdn.dummyjson.com/product-images/100/thumbnail.jpg\"\n    ]\n  }\n]\n"
  },
  {
    "path": "src/json/randomuser.json",
    "content": "[\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Joseph\",\n      \"last\": \"Evans\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 61,\n        \"name\": \"Lunn Avenue\"\n      },\n      \"city\": \"Hastings\",\n      \"state\": \"Otago\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 92298,\n      \"coordinates\": {\n        \"latitude\": \"51.9039\",\n        \"longitude\": \"-45.2357\"\n      },\n      \"timezone\": {\n        \"offset\": \"-6:00\",\n        \"description\": \"Central Time (US & Canada), Mexico City\"\n      }\n    },\n    \"email\": \"joseph.evans@example.com\",\n    \"login\": {\n      \"uuid\": \"9230749e-c285-41b4-9a0f-46dab2454b4e\",\n      \"username\": \"angryzebra337\",\n      \"password\": \"otis\",\n      \"salt\": \"WiHweSpK\",\n      \"md5\": \"2cc09194861ea12e8e842cdce5749230\",\n      \"sha1\": \"aa808f8a4f03df53a427905ae690c677b2d68895\",\n      \"sha256\": \"c857e62a617c9015a05b9ecc7f63e05c90042bd79514ca49bacfdf7e97b482d8\"\n    },\n    \"dob\": {\n      \"date\": \"1968-07-21T10:02:51.768Z\",\n      \"age\": 54\n    },\n    \"registered\": {\n      \"date\": \"2019-01-31T10:09:35.816Z\",\n      \"age\": 4\n    },\n    \"phone\": \"(612)-327-2806\",\n    \"cell\": \"(029)-082-3612\",\n    \"id\": 1,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/65.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/65.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/65.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Hetal\",\n      \"last\": \"Bharanya\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 234,\n        \"name\": \"Gali Paranthe Wali\"\n      },\n      \"city\": \"Howrah\",\n      \"state\": \"Madhya Pradesh\",\n      \"country\": \"India\",\n      \"postcode\": 12054,\n      \"coordinates\": {\n        \"latitude\": \"-89.7659\",\n        \"longitude\": \"49.5620\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:30\",\n        \"description\": \"Kabul\"\n      }\n    },\n    \"email\": \"hetal.bharanya@example.com\",\n    \"login\": {\n      \"uuid\": \"03e1e369-138c-442b-a046-904d1cc13d76\",\n      \"username\": \"happygoose680\",\n      \"password\": \"insanity\",\n      \"salt\": \"rYfUWfpZ\",\n      \"md5\": \"fa9549419b5ac6ca748d0513ec625553\",\n      \"sha1\": \"b7f374368f6d8be2f9880037b5bf6c3c76c1db2e\",\n      \"sha256\": \"5c61e253e05d64a713020566d872b07890d74f347c430974c7e86897bf6ed781\"\n    },\n    \"dob\": {\n      \"date\": \"1990-10-29T13:51:49.805Z\",\n      \"age\": 32\n    },\n    \"registered\": {\n      \"date\": \"2007-04-04T09:22:55.620Z\",\n      \"age\": 16\n    },\n    \"phone\": \"7517215828\",\n    \"cell\": \"8993504716\",\n    \"id\": 2,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/47.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/47.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/47.jpg\"\n    },\n    \"nat\": \"IN\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Tanja\",\n      \"last\": \"Španović\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1663,\n        \"name\": \"Vojvode Mišića\"\n      },\n      \"city\": \"Lebane\",\n      \"state\": \"Prizren\",\n      \"country\": \"Serbia\",\n      \"postcode\": 88087,\n      \"coordinates\": {\n        \"latitude\": \"-26.3541\",\n        \"longitude\": \"52.2337\"\n      },\n      \"timezone\": {\n        \"offset\": \"-6:00\",\n        \"description\": \"Central Time (US & Canada), Mexico City\"\n      }\n    },\n    \"email\": \"tanja.spanovic@example.com\",\n    \"login\": {\n      \"uuid\": \"d37482c4-28c3-4d6e-b591-6c1a7059defc\",\n      \"username\": \"greentiger564\",\n      \"password\": \"calgary\",\n      \"salt\": \"giy1GclZ\",\n      \"md5\": \"ec60e7838514036315af596a3f465c3c\",\n      \"sha1\": \"dd79140034db5b5fa55896f3a7dee55d3b3b384d\",\n      \"sha256\": \"42fdb899d4443d01815fb27c146223c2ad9ce9ad12fc488015c5cadd52881104\"\n    },\n    \"dob\": {\n      \"date\": \"1960-01-02T04:11:38.488Z\",\n      \"age\": 63\n    },\n    \"registered\": {\n      \"date\": \"2018-06-15T09:02:58.581Z\",\n      \"age\": 4\n    },\n    \"phone\": \"039-7503-456\",\n    \"cell\": \"064-2952-510\",\n    \"id\": 3,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/96.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/96.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/96.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Yori\",\n      \"last\": \"Knot\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1243,\n        \"name\": \"Kastordreef\"\n      },\n      \"city\": \"Winterswijk Henxel\",\n      \"state\": \"Utrecht\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"3305 DO\",\n      \"coordinates\": {\n        \"latitude\": \"-39.0490\",\n        \"longitude\": \"88.6245\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"yori.knot@example.com\",\n    \"login\": {\n      \"uuid\": \"a2dadb83-2e6a-4d12-ad80-2d35e84cfbfb\",\n      \"username\": \"purpledog668\",\n      \"password\": \"ilikeit\",\n      \"salt\": \"zmeTOy1q\",\n      \"md5\": \"48ecff0ad189ec56cc77cf08b95f6de8\",\n      \"sha1\": \"ebae70d28b5cf4c2164dcf32f1dc33cf0c4e2f21\",\n      \"sha256\": \"9af6004f46f05b9317bd780f18eb409fb22186f587850b48a62b7c12e45f0730\"\n    },\n    \"dob\": {\n      \"date\": \"1963-10-03T14:59:37.860Z\",\n      \"age\": 59\n    },\n    \"registered\": {\n      \"date\": \"2007-05-08T12:35:56.245Z\",\n      \"age\": 16\n    },\n    \"phone\": \"(096) 2598476\",\n    \"cell\": \"(06) 13040738\",\n    \"id\": 4,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/43.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/43.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/43.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Madame\",\n      \"first\": \"Cäcilia\",\n      \"last\": \"Lemoine\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3778,\n        \"name\": \"Montée du Chemin-Neuf\"\n      },\n      \"city\": \"Erlinsbach (Ag)\",\n      \"state\": \"Schwyz\",\n      \"country\": \"Switzerland\",\n      \"postcode\": 1138,\n      \"coordinates\": {\n        \"latitude\": \"0.3904\",\n        \"longitude\": \"-150.1322\"\n      },\n      \"timezone\": {\n        \"offset\": \"-7:00\",\n        \"description\": \"Mountain Time (US & Canada)\"\n      }\n    },\n    \"email\": \"cacilia.lemoine@example.com\",\n    \"login\": {\n      \"uuid\": \"569974f9-4921-4c5a-8031-f7bff6f41efc\",\n      \"username\": \"beautifulrabbit185\",\n      \"password\": \"bigtime\",\n      \"salt\": \"RcUosVOt\",\n      \"md5\": \"180077a1ef8cc1e9cf42860f645b3b2f\",\n      \"sha1\": \"5269d29ebc80c8d73fe7a6383e838b054a760b51\",\n      \"sha256\": \"1a4381f6625bb368ffa08ada211f7848acce2e2a418361899d8f91bd69578139\"\n    },\n    \"dob\": {\n      \"date\": \"1970-04-26T10:23:24.025Z\",\n      \"age\": 53\n    },\n    \"registered\": {\n      \"date\": \"2020-07-15T11:41:59.706Z\",\n      \"age\": 2\n    },\n    \"phone\": \"076 011 82 88\",\n    \"cell\": \"076 657 23 84\",\n    \"id\": 5,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/42.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/42.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/42.jpg\"\n    },\n    \"nat\": \"CH\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Nandita\",\n      \"last\": \"Uchil\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6826,\n        \"name\": \"NAD X Rd\"\n      },\n      \"city\": \"Kozhikode\",\n      \"state\": \"Tripura\",\n      \"country\": \"India\",\n      \"postcode\": 20318,\n      \"coordinates\": {\n        \"latitude\": \"-21.4486\",\n        \"longitude\": \"-29.1084\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:45\",\n        \"description\": \"Kathmandu\"\n      }\n    },\n    \"email\": \"nandita.uchil@example.com\",\n    \"login\": {\n      \"uuid\": \"31ba6d47-92a5-447f-a48f-c7bab21a219c\",\n      \"username\": \"goldenostrich181\",\n      \"password\": \"soccer10\",\n      \"salt\": \"El6b1cU3\",\n      \"md5\": \"cb8ba0dba2c270e548fd9dc4fc00612b\",\n      \"sha1\": \"fe9e3df57d56931472e2ead3e2ba0989660f4805\",\n      \"sha256\": \"210321ab09bb38896ee7a616ba3a8fa0e0dd3f7cbcf93f185bdcc3715b842d4e\"\n    },\n    \"dob\": {\n      \"date\": \"1978-10-01T00:33:31.775Z\",\n      \"age\": 44\n    },\n    \"registered\": {\n      \"date\": \"2018-03-16T16:46:33.627Z\",\n      \"age\": 5\n    },\n    \"phone\": \"9450586544\",\n    \"cell\": \"9376723605\",\n    \"id\": 6,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/82.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/82.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/82.jpg\"\n    },\n    \"nat\": \"IN\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Terri\",\n      \"last\": \"Clark\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3585,\n        \"name\": \"College St\"\n      },\n      \"city\": \"Mildura\",\n      \"state\": \"New South Wales\",\n      \"country\": \"Australia\",\n      \"postcode\": 7746,\n      \"coordinates\": {\n        \"latitude\": \"-40.3788\",\n        \"longitude\": \"-164.7382\"\n      },\n      \"timezone\": {\n        \"offset\": \"0:00\",\n        \"description\": \"Western Europe Time, London, Lisbon, Casablanca\"\n      }\n    },\n    \"email\": \"terri.clark@example.com\",\n    \"login\": {\n      \"uuid\": \"25070c5d-4f32-4a60-8640-828282943624\",\n      \"username\": \"smallladybug901\",\n      \"password\": \"elway7\",\n      \"salt\": \"gvoc7xk4\",\n      \"md5\": \"2ebf82771d7ce990ad469ff4e9e80a27\",\n      \"sha1\": \"f52933723cdaea82f9bffd11134a86ca2872036f\",\n      \"sha256\": \"6b3dafbf3e244aa21f56fc59f631c7d7edd88189719089158df4e5d8775e329f\"\n    },\n    \"dob\": {\n      \"date\": \"1989-11-13T19:26:57.752Z\",\n      \"age\": 33\n    },\n    \"registered\": {\n      \"date\": \"2021-08-02T19:56:17.949Z\",\n      \"age\": 1\n    },\n    \"phone\": \"07-1746-8000\",\n    \"cell\": \"0466-518-535\",\n    \"id\": 7,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/59.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/59.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/59.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Dibach\",\n      \"last\": \"Gocko\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1883,\n        \"name\": \"Ivana Pulyuya\"\n      },\n      \"city\": \"Popasna\",\n      \"state\": \"Poltavska\",\n      \"country\": \"Ukraine\",\n      \"postcode\": 22060,\n      \"coordinates\": {\n        \"latitude\": \"23.5401\",\n        \"longitude\": \"106.1507\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"dibach.gocko@example.com\",\n    \"login\": {\n      \"uuid\": \"b0c34ca5-20c1-47e6-b040-12d3de4a8b45\",\n      \"username\": \"heavysnake675\",\n      \"password\": \"wowwow\",\n      \"salt\": \"jlHUGO4a\",\n      \"md5\": \"478264ccf64d1fbf414c4c10fd9345fc\",\n      \"sha1\": \"d9dc663a737b747137f56d76e4614b25a760c123\",\n      \"sha256\": \"fce19f3106a0360176cfc8863e7bd22c8384867acbe1f7a21b93d4b07364e291\"\n    },\n    \"dob\": {\n      \"date\": \"1981-07-13T07:30:31.046Z\",\n      \"age\": 41\n    },\n    \"registered\": {\n      \"date\": \"2020-06-15T06:00:13.939Z\",\n      \"age\": 2\n    },\n    \"phone\": \"(096) Q51-1466\",\n    \"cell\": \"(097) H03-7594\",\n    \"id\": 8,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/97.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/97.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/97.jpg\"\n    },\n    \"nat\": \"UA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Virginia\",\n      \"last\": \"Domínguez\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3813,\n        \"name\": \"Avenida de Andalucía\"\n      },\n      \"city\": \"Santa Cruz de Tenerife\",\n      \"state\": \"Asturias\",\n      \"country\": \"Spain\",\n      \"postcode\": 30399,\n      \"coordinates\": {\n        \"latitude\": \"68.0499\",\n        \"longitude\": \"-9.1692\"\n      },\n      \"timezone\": {\n        \"offset\": \"0:00\",\n        \"description\": \"Western Europe Time, London, Lisbon, Casablanca\"\n      }\n    },\n    \"email\": \"virginia.dominguez@example.com\",\n    \"login\": {\n      \"uuid\": \"63b2e547-b188-47f7-8a98-e173e0d0ced5\",\n      \"username\": \"tinymeercat592\",\n      \"password\": \"lander\",\n      \"salt\": \"wdlOyzev\",\n      \"md5\": \"d2dd087741f12a7dbef36df5e3294846\",\n      \"sha1\": \"9d899ba14206c645557261b14572c9cdc13fcd1c\",\n      \"sha256\": \"6d9cfd544a26c1bbb02903f0e0503da2242ada312abe31b62cd70393e5ff5643\"\n    },\n    \"dob\": {\n      \"date\": \"1988-10-18T10:40:46.976Z\",\n      \"age\": 34\n    },\n    \"registered\": {\n      \"date\": \"2018-10-07T16:11:51.787Z\",\n      \"age\": 4\n    },\n    \"phone\": \"950-457-280\",\n    \"cell\": \"663-396-994\",\n    \"id\": 9,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/60.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/60.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/60.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"آراد\",\n      \"last\": \"کوتی\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6607,\n        \"name\": \"میدان استقلال\"\n      },\n      \"city\": \"نیشابور\",\n      \"state\": \"کردستان\",\n      \"country\": \"Iran\",\n      \"postcode\": 86893,\n      \"coordinates\": {\n        \"latitude\": \"30.4677\",\n        \"longitude\": \"-147.4363\"\n      },\n      \"timezone\": {\n        \"offset\": \"-6:00\",\n        \"description\": \"Central Time (US & Canada), Mexico City\"\n      }\n    },\n    \"email\": \"ard.khwty@example.com\",\n    \"login\": {\n      \"uuid\": \"9cdb7909-ca96-46c5-89c4-5909db33c1d0\",\n      \"username\": \"goldendog820\",\n      \"password\": \"lucky\",\n      \"salt\": \"7YOJGqxC\",\n      \"md5\": \"57a78bf79f14747d8e4e4bfc8b88421c\",\n      \"sha1\": \"0d1d7a5e577a6ad2f24e6197fdff5406561b485c\",\n      \"sha256\": \"dac7bc7fcf5c3fc7fae006ae8a318908515c45d4dfd315063e1d406a96337f91\"\n    },\n    \"dob\": {\n      \"date\": \"1960-04-09T12:58:36.692Z\",\n      \"age\": 63\n    },\n    \"registered\": {\n      \"date\": \"2016-11-19T20:27:01.344Z\",\n      \"age\": 6\n    },\n    \"phone\": \"040-18679426\",\n    \"cell\": \"0955-789-0778\",\n    \"id\": 10,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/28.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/28.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/28.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Siegfried\",\n      \"last\": \"Ullrich\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7186,\n        \"name\": \"Birkenstraße\"\n      },\n      \"city\": \"Lippe\",\n      \"state\": \"Thüringen\",\n      \"country\": \"Germany\",\n      \"postcode\": 81380,\n      \"coordinates\": {\n        \"latitude\": \"-55.3902\",\n        \"longitude\": \"-175.5476\"\n      },\n      \"timezone\": {\n        \"offset\": \"+8:00\",\n        \"description\": \"Beijing, Perth, Singapore, Hong Kong\"\n      }\n    },\n    \"email\": \"siegfried.ullrich@example.com\",\n    \"login\": {\n      \"uuid\": \"270ae227-5193-4715-b0f6-2e5c7ecf9c2c\",\n      \"username\": \"orangepeacock259\",\n      \"password\": \"zxczxc\",\n      \"salt\": \"0XnK3swm\",\n      \"md5\": \"3f232a08a3e2545d7f6c4d91824339bb\",\n      \"sha1\": \"c3932aa5e061a175a3671286a2a1828cd0c58eee\",\n      \"sha256\": \"037c85f218122eb363aaf13be0a6897435e8d82152f4cb0b651371b7b19a75f8\"\n    },\n    \"dob\": {\n      \"date\": \"1996-07-18T10:08:59.828Z\",\n      \"age\": 26\n    },\n    \"registered\": {\n      \"date\": \"2015-02-19T00:09:05.094Z\",\n      \"age\": 8\n    },\n    \"phone\": \"0589-1521732\",\n    \"cell\": \"0179-5612169\",\n    \"id\": 11,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/9.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/9.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/9.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"David\",\n      \"last\": \"Rodríguez\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1185,\n        \"name\": \"Calle de La Democracia\"\n      },\n      \"city\": \"Gandía\",\n      \"state\": \"Islas Baleares\",\n      \"country\": \"Spain\",\n      \"postcode\": 68734,\n      \"coordinates\": {\n        \"latitude\": \"-7.8238\",\n        \"longitude\": \"38.5013\"\n      },\n      \"timezone\": {\n        \"offset\": \"+7:00\",\n        \"description\": \"Bangkok, Hanoi, Jakarta\"\n      }\n    },\n    \"email\": \"david.rodriguez@example.com\",\n    \"login\": {\n      \"uuid\": \"d000ab81-e859-4d19-b2e6-0dce453b3cba\",\n      \"username\": \"blueladybug112\",\n      \"password\": \"favorite6\",\n      \"salt\": \"bDYPIIO3\",\n      \"md5\": \"8f331732046c31c4e7d2a9b07e3aa056\",\n      \"sha1\": \"11c76a750527f980eac069d81bc6e1eac0be95c7\",\n      \"sha256\": \"d086f5098a23f8d8e78e5027a7c526f614957e5cf6f02d7be661f0b3657aae82\"\n    },\n    \"dob\": {\n      \"date\": \"1996-05-08T17:54:03.164Z\",\n      \"age\": 27\n    },\n    \"registered\": {\n      \"date\": \"2018-03-01T23:19:35.955Z\",\n      \"age\": 5\n    },\n    \"phone\": \"981-175-070\",\n    \"cell\": \"631-734-539\",\n    \"id\": 12,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/45.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/45.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/45.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Liron\",\n      \"last\": \"Roukema\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2643,\n        \"name\": \"Geessinkbrink\"\n      },\n      \"city\": \"Velp\",\n      \"state\": \"Noord-Holland\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"1204 FM\",\n      \"coordinates\": {\n        \"latitude\": \"-65.8793\",\n        \"longitude\": \"-124.5931\"\n      },\n      \"timezone\": {\n        \"offset\": \"+2:00\",\n        \"description\": \"Kaliningrad, South Africa\"\n      }\n    },\n    \"email\": \"liron.roukema@example.com\",\n    \"login\": {\n      \"uuid\": \"28b8ae0f-7daa-4ef7-a912-6999416b8e65\",\n      \"username\": \"bigleopard480\",\n      \"password\": \"kenwood\",\n      \"salt\": \"oDN21BPS\",\n      \"md5\": \"25d7d3c90507e1f0efe35cbdf1ab9aa9\",\n      \"sha1\": \"6f2113126a3f6b42fd3eaa02ec02dc09e11b867c\",\n      \"sha256\": \"ed7cb9b0cdc995e1b25ae1c1e631c3f4fd9b02fff34e7d80c589019dcee4a1f9\"\n    },\n    \"dob\": {\n      \"date\": \"1977-02-08T09:03:59.520Z\",\n      \"age\": 46\n    },\n    \"registered\": {\n      \"date\": \"2014-08-12T08:58:31.276Z\",\n      \"age\": 8\n    },\n    \"phone\": \"(040) 4848820\",\n    \"cell\": \"(06) 55822509\",\n    \"id\": 13,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/72.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/72.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/72.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Alyssa\",\n      \"last\": \"Andrews\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2197,\n        \"name\": \"Royal Ln\"\n      },\n      \"city\": \"Bathurst\",\n      \"state\": \"Northern Territory\",\n      \"country\": \"Australia\",\n      \"postcode\": 5268,\n      \"coordinates\": {\n        \"latitude\": \"36.0038\",\n        \"longitude\": \"174.4371\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"alyssa.andrews@example.com\",\n    \"login\": {\n      \"uuid\": \"3c760c23-513a-4661-98e9-8cd98068c4d0\",\n      \"username\": \"beautifulelephant742\",\n      \"password\": \"yoyoyo\",\n      \"salt\": \"LaSgycFh\",\n      \"md5\": \"ba1af50d0de59661d859be762f067a8b\",\n      \"sha1\": \"0d338fad8b7cff3315f7e98a8b4438c9e7d856c1\",\n      \"sha256\": \"c57353364982419d655e26499a6a6f7f6bea8c6888454bfe8bb65498148d019a\"\n    },\n    \"dob\": {\n      \"date\": \"1948-04-02T03:29:48.583Z\",\n      \"age\": 75\n    },\n    \"registered\": {\n      \"date\": \"2011-02-05T14:37:08.818Z\",\n      \"age\": 12\n    },\n    \"phone\": \"05-5127-2427\",\n    \"cell\": \"0404-914-760\",\n    \"id\": 14,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/59.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/59.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/59.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"August\",\n      \"last\": \"Poulsen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1268,\n        \"name\": \"Skovhøj\"\n      },\n      \"city\": \"Stenderup\",\n      \"state\": \"Syddanmark\",\n      \"country\": \"Denmark\",\n      \"postcode\": 83267,\n      \"coordinates\": {\n        \"latitude\": \"29.6206\",\n        \"longitude\": \"-54.8704\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"august.poulsen@example.com\",\n    \"login\": {\n      \"uuid\": \"6fbfe7be-753a-43bb-930e-3aaccdfca984\",\n      \"username\": \"silverswan185\",\n      \"password\": \"dino\",\n      \"salt\": \"pGbY53Vk\",\n      \"md5\": \"eb9988054d80a140b346e1fb68ea6352\",\n      \"sha1\": \"e39c733727c848b36b7abf62e0c309c4f5759b74\",\n      \"sha256\": \"1d3a6bcff23765e1779015cc49b2f4be22fdfd1130af373a91726764ff0359bb\"\n    },\n    \"dob\": {\n      \"date\": \"1960-11-06T01:21:22.769Z\",\n      \"age\": 62\n    },\n    \"registered\": {\n      \"date\": \"2010-11-30T11:40:02.251Z\",\n      \"age\": 12\n    },\n    \"phone\": \"34378675\",\n    \"cell\": \"29490462\",\n    \"id\": 15,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/45.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/45.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/45.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Felix\",\n      \"last\": \"Pelletier\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4029,\n        \"name\": \"Richmond Ave\"\n      },\n      \"city\": \"Chelsea\",\n      \"state\": \"Newfoundland and Labrador\",\n      \"country\": \"Canada\",\n      \"postcode\": \"Y0H 2Q0\",\n      \"coordinates\": {\n        \"latitude\": \"-21.8520\",\n        \"longitude\": \"-12.5904\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"felix.pelletier@example.com\",\n    \"login\": {\n      \"uuid\": \"852c4b47-12da-4cf6-8a89-bdf0bbe34ded\",\n      \"username\": \"beautifulfrog512\",\n      \"password\": \"madison\",\n      \"salt\": \"9uKt9UvL\",\n      \"md5\": \"32df5fd5f339362e09854b5fb55bd5e9\",\n      \"sha1\": \"1b4d48bc094f00faa24e07cb9143d47ed0c08c78\",\n      \"sha256\": \"ea37ea0eaf807b4cdc2a8d56516ac76c3adbea9ac6689e31d16df6856de225c8\"\n    },\n    \"dob\": {\n      \"date\": \"1958-01-27T15:17:50.008Z\",\n      \"age\": 65\n    },\n    \"registered\": {\n      \"date\": \"2018-12-20T06:35:23.423Z\",\n      \"age\": 4\n    },\n    \"phone\": \"J13 T92-9897\",\n    \"cell\": \"O43 P94-0085\",\n    \"id\": 16,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/25.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/25.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/25.jpg\"\n    },\n    \"nat\": \"CA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Ülkü\",\n      \"last\": \"Abadan\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6150,\n        \"name\": \"Şehitler Cd\"\n      },\n      \"city\": \"Kahramanmaraş\",\n      \"state\": \"Ordu\",\n      \"country\": \"Turkey\",\n      \"postcode\": 20859,\n      \"coordinates\": {\n        \"latitude\": \"39.3433\",\n        \"longitude\": \"-132.6730\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:30\",\n        \"description\": \"Kabul\"\n      }\n    },\n    \"email\": \"ulku.abadan@example.com\",\n    \"login\": {\n      \"uuid\": \"8fcfc39e-453f-48c2-aa18-ee2942b54e9a\",\n      \"username\": \"redzebra722\",\n      \"password\": \"massive\",\n      \"salt\": \"Ntfuvag9\",\n      \"md5\": \"fa03b01cf3cfa190733c099a9f642064\",\n      \"sha1\": \"c14e98444f7c4b237ac94928e1dbc04fe3cc689a\",\n      \"sha256\": \"d52bfce04bbfe089ef82d00c0b733afcc048627111253d79766dbf65e3074944\"\n    },\n    \"dob\": {\n      \"date\": \"1988-03-30T00:45:33.569Z\",\n      \"age\": 35\n    },\n    \"registered\": {\n      \"date\": \"2007-02-13T14:39:29.371Z\",\n      \"age\": 16\n    },\n    \"phone\": \"(115)-193-8973\",\n    \"cell\": \"(026)-629-3230\",\n    \"id\": 17,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/12.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/12.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/12.jpg\"\n    },\n    \"nat\": \"TR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Jules\",\n      \"last\": \"Fleury\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6189,\n        \"name\": \"Route de Genas\"\n      },\n      \"city\": \"Caen\",\n      \"state\": \"Ardèche\",\n      \"country\": \"France\",\n      \"postcode\": 44901,\n      \"coordinates\": {\n        \"latitude\": \"-54.3142\",\n        \"longitude\": \"-96.3220\"\n      },\n      \"timezone\": {\n        \"offset\": \"+10:00\",\n        \"description\": \"Eastern Australia, Guam, Vladivostok\"\n      }\n    },\n    \"email\": \"jules.fleury@example.com\",\n    \"login\": {\n      \"uuid\": \"39f3b253-4cd1-484b-a07c-a98ae5370ec7\",\n      \"username\": \"happyleopard226\",\n      \"password\": \"wildfire\",\n      \"salt\": \"wrUKjvds\",\n      \"md5\": \"b7e68f6c75c73b077773083d04c845b3\",\n      \"sha1\": \"9164fc7480589b342b84a3527ecb27e7c4793f66\",\n      \"sha256\": \"c590dd7255c952cecf5dfc91c6170532ce4546992146fc3fc35b44286071a6de\"\n    },\n    \"dob\": {\n      \"date\": \"1979-06-03T08:42:47.867Z\",\n      \"age\": 43\n    },\n    \"registered\": {\n      \"date\": \"2012-06-18T05:13:03.044Z\",\n      \"age\": 10\n    },\n    \"phone\": \"05-97-32-60-11\",\n    \"cell\": \"06-46-41-54-67\",\n    \"id\": 18,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/38.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/38.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/38.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Loris\",\n      \"last\": \"Lemoine\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1773,\n        \"name\": \"Boulevard de la Duchère\"\n      },\n      \"city\": \"Perpignan\",\n      \"state\": \"Meuse\",\n      \"country\": \"France\",\n      \"postcode\": 83068,\n      \"coordinates\": {\n        \"latitude\": \"65.5595\",\n        \"longitude\": \"-139.3834\"\n      },\n      \"timezone\": {\n        \"offset\": \"-8:00\",\n        \"description\": \"Pacific Time (US & Canada)\"\n      }\n    },\n    \"email\": \"loris.lemoine@example.com\",\n    \"login\": {\n      \"uuid\": \"2c80b152-b478-46eb-93fc-084db589849d\",\n      \"username\": \"heavykoala297\",\n      \"password\": \"sites\",\n      \"salt\": \"45hPvAZA\",\n      \"md5\": \"712c5ba2ce5d49206cfe4d5500597184\",\n      \"sha1\": \"0a0501a107120ffb2018fa5ace3dec71d219f886\",\n      \"sha256\": \"48936f376ec6d09fc54eaac21918eee6c6a921ce256478d9e329174b410bd441\"\n    },\n    \"dob\": {\n      \"date\": \"1979-05-23T14:02:35.053Z\",\n      \"age\": 43\n    },\n    \"registered\": {\n      \"date\": \"2014-02-20T12:48:45.771Z\",\n      \"age\": 9\n    },\n    \"phone\": \"03-67-81-09-92\",\n    \"cell\": \"06-96-28-13-21\",\n    \"id\": 19,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/26.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/26.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/26.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Zoya\",\n      \"last\": \"Chuykevich\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7415,\n        \"name\": \"Provulok Marshaka\"\n      },\n      \"city\": \"Bobrovicya\",\n      \"state\": \"Zaporizka\",\n      \"country\": \"Ukraine\",\n      \"postcode\": 67252,\n      \"coordinates\": {\n        \"latitude\": \"21.1441\",\n        \"longitude\": \"-178.9717\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:00\",\n        \"description\": \"Brazil, Buenos Aires, Georgetown\"\n      }\n    },\n    \"email\": \"zoya.chuykevich@example.com\",\n    \"login\": {\n      \"uuid\": \"37add7ab-8186-499b-b06c-7dd31cb6f9a5\",\n      \"username\": \"tinyzebra858\",\n      \"password\": \"cecile\",\n      \"salt\": \"xLDyDyLK\",\n      \"md5\": \"187a86cdad2386a81c91cd48af032fe5\",\n      \"sha1\": \"520d3e34e0f8532bf9c31591f3adf79cc3e2dbf2\",\n      \"sha256\": \"2539feb1ac51cf812cdfbb8baa93626d34607b9102ce7732bf041b428fa6148d\"\n    },\n    \"dob\": {\n      \"date\": \"1971-09-11T05:54:32.922Z\",\n      \"age\": 51\n    },\n    \"registered\": {\n      \"date\": \"2021-12-23T17:12:42.969Z\",\n      \"age\": 1\n    },\n    \"phone\": \"(097) D44-4816\",\n    \"cell\": \"(097) D83-4667\",\n    \"id\": 20,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/37.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/37.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/37.jpg\"\n    },\n    \"nat\": \"UA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Stephanie\",\n      \"last\": \"Owens\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 184,\n        \"name\": \"Spring Hill Rd\"\n      },\n      \"city\": \"Anna\",\n      \"state\": \"Maryland\",\n      \"country\": \"United States\",\n      \"postcode\": 57894,\n      \"coordinates\": {\n        \"latitude\": \"48.4219\",\n        \"longitude\": \"-132.1786\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:30\",\n        \"description\": \"Tehran\"\n      }\n    },\n    \"email\": \"stephanie.owens@example.com\",\n    \"login\": {\n      \"uuid\": \"298d4480-ffee-4e99-9e24-16370800ef3b\",\n      \"username\": \"lazyduck551\",\n      \"password\": \"speaker\",\n      \"salt\": \"HMAMMDpG\",\n      \"md5\": \"6393d63964d4cb276e8cef13d232f828\",\n      \"sha1\": \"1233f5e41a16c50e51f250c3cb393f0223f1d294\",\n      \"sha256\": \"14876784844ac5db6c049bb1c6faf87af4d7a5cd98b4f7babe8e41cdb400fd08\"\n    },\n    \"dob\": {\n      \"date\": \"1961-05-07T20:33:11.993Z\",\n      \"age\": 62\n    },\n    \"registered\": {\n      \"date\": \"2009-08-06T07:07:26.626Z\",\n      \"age\": 13\n    },\n    \"phone\": \"(804) 888-3971\",\n    \"cell\": \"(914) 701-1343\",\n    \"id\": 21,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/46.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/46.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/46.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"درسا\",\n      \"last\": \"رضایی\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2808,\n        \"name\": \"میدان استقلال\"\n      },\n      \"city\": \"خوی\",\n      \"state\": \"خراسان رضوی\",\n      \"country\": \"Iran\",\n      \"postcode\": 15915,\n      \"coordinates\": {\n        \"latitude\": \"-69.1860\",\n        \"longitude\": \"-73.1330\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:30\",\n        \"description\": \"Adelaide, Darwin\"\n      }\n    },\n    \"email\": \"drs.rdyy@example.com\",\n    \"login\": {\n      \"uuid\": \"590b1608-1f03-4b17-9893-4c474b07f27b\",\n      \"username\": \"tinypeacock765\",\n      \"password\": \"noodles\",\n      \"salt\": \"zFjX55EQ\",\n      \"md5\": \"67e80214caed1cedd0b089ece45cc5fa\",\n      \"sha1\": \"1971ce348b424aa4f0f4b2faaf4ba004c36dbb20\",\n      \"sha256\": \"8ab6e809d7e39425a2baf47537bb1582d7de60413e5a3624975105bd9bda998b\"\n    },\n    \"dob\": {\n      \"date\": \"1968-09-01T22:25:17.693Z\",\n      \"age\": 54\n    },\n    \"registered\": {\n      \"date\": \"2004-05-16T22:06:47.404Z\",\n      \"age\": 19\n    },\n    \"phone\": \"013-05924877\",\n    \"cell\": \"0918-447-9869\",\n    \"id\": 22,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/21.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/21.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/21.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Bjørn\",\n      \"last\": \"Vagle\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5040,\n        \"name\": \"Frodes vei\"\n      },\n      \"city\": \"Brandal\",\n      \"state\": \"Møre og Romsdal\",\n      \"country\": \"Norway\",\n      \"postcode\": \"3711\",\n      \"coordinates\": {\n        \"latitude\": \"32.6851\",\n        \"longitude\": \"-175.2921\"\n      },\n      \"timezone\": {\n        \"offset\": \"-6:00\",\n        \"description\": \"Central Time (US & Canada), Mexico City\"\n      }\n    },\n    \"email\": \"bjorn.vagle@example.com\",\n    \"login\": {\n      \"uuid\": \"cf5963fc-c840-42d0-abce-d380deec24cd\",\n      \"username\": \"browntiger588\",\n      \"password\": \"kate\",\n      \"salt\": \"hl8txcMv\",\n      \"md5\": \"db9e50737eda9d26ba8a4d355c2cb44a\",\n      \"sha1\": \"22a0f026e58f89b674719e0a5afcf8cd05be668d\",\n      \"sha256\": \"3e533275f6487eb0fea50b9e2f3773d6c47de9b01f444df8e7bb66d5dc413018\"\n    },\n    \"dob\": {\n      \"date\": \"1953-09-23T18:55:32.381Z\",\n      \"age\": 69\n    },\n    \"registered\": {\n      \"date\": \"2011-12-25T20:06:49.047Z\",\n      \"age\": 11\n    },\n    \"phone\": \"75588292\",\n    \"cell\": \"45970545\",\n    \"id\": 23,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/55.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/55.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/55.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Minttu\",\n      \"last\": \"Sakala\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1609,\n        \"name\": \"Myllypuronkatu\"\n      },\n      \"city\": \"Eura\",\n      \"state\": \"Tavastia Proper\",\n      \"country\": \"Finland\",\n      \"postcode\": 15591,\n      \"coordinates\": {\n        \"latitude\": \"-72.9902\",\n        \"longitude\": \"-77.2574\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"minttu.sakala@example.com\",\n    \"login\": {\n      \"uuid\": \"67675bea-b84e-46f1-ba39-11f105c56c25\",\n      \"username\": \"blackmouse636\",\n      \"password\": \"roger\",\n      \"salt\": \"BnlYPGsG\",\n      \"md5\": \"6f5a60a62fb87b1f20294c3a2d820538\",\n      \"sha1\": \"a8c9e94e6211686448c7fc19b9e4b2f2a84a12b7\",\n      \"sha256\": \"d93a02940e5f39c07c82ad6ea45ce35dbd328d29f20d6d76cef6361c05bdb3b9\"\n    },\n    \"dob\": {\n      \"date\": \"1963-02-19T21:41:31.346Z\",\n      \"age\": 60\n    },\n    \"registered\": {\n      \"date\": \"2009-08-30T00:37:11.388Z\",\n      \"age\": 13\n    },\n    \"phone\": \"09-734-276\",\n    \"cell\": \"042-072-33-97\",\n    \"id\": 24,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/67.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/67.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/67.jpg\"\n    },\n    \"nat\": \"FI\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Lærke\",\n      \"last\": \"Christiansen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1966,\n        \"name\": \"Slotsvej\"\n      },\n      \"city\": \"Stokkemarke\",\n      \"state\": \"Syddanmark\",\n      \"country\": \"Denmark\",\n      \"postcode\": 30873,\n      \"coordinates\": {\n        \"latitude\": \"61.0842\",\n        \"longitude\": \"168.6206\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"laerke.christiansen@example.com\",\n    \"login\": {\n      \"uuid\": \"594fc598-0573-4d45-a5ce-4edfc8669f70\",\n      \"username\": \"lazymeercat177\",\n      \"password\": \"houdini\",\n      \"salt\": \"cPaQJXwh\",\n      \"md5\": \"4f62aae9849556c14bb6c537d03f3d39\",\n      \"sha1\": \"c1388ed7bc2fd6b4026ae033959e533c65d182ec\",\n      \"sha256\": \"84bc1f65d3f7bad60afb7c063787600bec09381c29eac0150a7266939d2acba5\"\n    },\n    \"dob\": {\n      \"date\": \"1992-08-11T08:32:01.999Z\",\n      \"age\": 30\n    },\n    \"registered\": {\n      \"date\": \"2006-12-27T09:31:31.367Z\",\n      \"age\": 16\n    },\n    \"phone\": \"79965012\",\n    \"cell\": \"76764828\",\n    \"id\": 25,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/7.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/7.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/7.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Ola\",\n      \"last\": \"Mazur\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2688,\n        \"name\": \"Olav Selvaags plass\"\n      },\n      \"city\": \"Heiås\",\n      \"state\": \"Møre og Romsdal\",\n      \"country\": \"Norway\",\n      \"postcode\": \"3403\",\n      \"coordinates\": {\n        \"latitude\": \"-76.5806\",\n        \"longitude\": \"135.2045\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"ola.mazur@example.com\",\n    \"login\": {\n      \"uuid\": \"82fe0471-2424-4807-9ce5-1fa9f48e5d03\",\n      \"username\": \"organicrabbit298\",\n      \"password\": \"amature\",\n      \"salt\": \"6EyRsfge\",\n      \"md5\": \"5f27b16ad218f26d83586b658eb15732\",\n      \"sha1\": \"80cf665ea6884c9279ddf52464815a423e946c23\",\n      \"sha256\": \"1400b425ccb5f6726ecf38c1343909b9471f7a06bf7887173248f10cb8224a2e\"\n    },\n    \"dob\": {\n      \"date\": \"1951-10-12T13:41:27.955Z\",\n      \"age\": 71\n    },\n    \"registered\": {\n      \"date\": \"2018-12-22T08:37:36.267Z\",\n      \"age\": 4\n    },\n    \"phone\": \"24000348\",\n    \"cell\": \"96146149\",\n    \"id\": 26,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/21.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/21.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/21.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Vickie\",\n      \"last\": \"Patterson\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3402,\n        \"name\": \"Mcgowen St\"\n      },\n      \"city\": \"Australian Capital Territory\",\n      \"state\": \"Australian Capital Territory\",\n      \"country\": \"Australia\",\n      \"postcode\": 2025,\n      \"coordinates\": {\n        \"latitude\": \"-6.1851\",\n        \"longitude\": \"23.9432\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:30\",\n        \"description\": \"Tehran\"\n      }\n    },\n    \"email\": \"vickie.patterson@example.com\",\n    \"login\": {\n      \"uuid\": \"cc96a31e-e76d-4ae1-a06b-823521c40431\",\n      \"username\": \"bigpanda691\",\n      \"password\": \"wayne\",\n      \"salt\": \"bcJmY00q\",\n      \"md5\": \"75bcecfffdf9503fce3eae2d30664af5\",\n      \"sha1\": \"ede9242659b4d7afa4adb5d613d79eeeb1763111\",\n      \"sha256\": \"5495a6209f476eaa86fffe0df10d1209d9cf9cdb6534b529fbac82f2e0a6e33e\"\n    },\n    \"dob\": {\n      \"date\": \"1970-11-12T12:54:57.948Z\",\n      \"age\": 52\n    },\n    \"registered\": {\n      \"date\": \"2018-11-14T14:15:03.074Z\",\n      \"age\": 4\n    },\n    \"phone\": \"09-8338-3741\",\n    \"cell\": \"0427-399-052\",\n    \"id\": 27,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/69.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/69.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/69.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Emma\",\n      \"last\": \"Li\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1534,\n        \"name\": \"Rangitikei Street\"\n      },\n      \"city\": \"Lower Hutt\",\n      \"state\": \"Wellington\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 46051,\n      \"coordinates\": {\n        \"latitude\": \"89.0970\",\n        \"longitude\": \"102.4058\"\n      },\n      \"timezone\": {\n        \"offset\": \"+2:00\",\n        \"description\": \"Kaliningrad, South Africa\"\n      }\n    },\n    \"email\": \"emma.li@example.com\",\n    \"login\": {\n      \"uuid\": \"3873dc4d-2fa2-433b-861e-fd4183feafc5\",\n      \"username\": \"orangefish892\",\n      \"password\": \"blackhaw\",\n      \"salt\": \"fK4SEgJ7\",\n      \"md5\": \"debf877b7fb23267cdf607fc6a1505de\",\n      \"sha1\": \"50ff4cf65edeac2520aed70ea89c7bc43b65d9d7\",\n      \"sha256\": \"180a0f50aefffd8c70beae30da047d91921384b2bb38456dfbb8803c6149b2f2\"\n    },\n    \"dob\": {\n      \"date\": \"1944-12-02T09:29:44.370Z\",\n      \"age\": 78\n    },\n    \"registered\": {\n      \"date\": \"2011-11-11T22:24:32.086Z\",\n      \"age\": 11\n    },\n    \"phone\": \"(532)-952-7234\",\n    \"cell\": \"(094)-716-5005\",\n    \"id\": 28,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/25.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/25.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/25.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Emma\",\n      \"last\": \"Mortensen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4080,\n        \"name\": \"Ahornvej\"\n      },\n      \"city\": \"Beder\",\n      \"state\": \"Midtjylland\",\n      \"country\": \"Denmark\",\n      \"postcode\": 18718,\n      \"coordinates\": {\n        \"latitude\": \"-72.7393\",\n        \"longitude\": \"116.3796\"\n      },\n      \"timezone\": {\n        \"offset\": \"-1:00\",\n        \"description\": \"Azores, Cape Verde Islands\"\n      }\n    },\n    \"email\": \"emma.mortensen@example.com\",\n    \"login\": {\n      \"uuid\": \"5f2e5467-3e76-41e7-baa0-8404221e9f04\",\n      \"username\": \"sadsnake959\",\n      \"password\": \"topher\",\n      \"salt\": \"c7bJRPYT\",\n      \"md5\": \"b698cf0686d36e7aad50fb307ea47713\",\n      \"sha1\": \"57076d15a57548ef67885a0e33a1ded23aae0a3f\",\n      \"sha256\": \"dba4ca05fc76c51f6eefb1bee0060a21eefbfbfdaa8cd059d89b01d280e2c988\"\n    },\n    \"dob\": {\n      \"date\": \"1955-11-26T01:29:35.777Z\",\n      \"age\": 67\n    },\n    \"registered\": {\n      \"date\": \"2014-05-27T09:10:42.925Z\",\n      \"age\": 8\n    },\n    \"phone\": \"02316932\",\n    \"cell\": \"01938975\",\n    \"id\": 29,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/44.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/44.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/44.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Milenko\",\n      \"last\": \"Karanović\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9190,\n        \"name\": \"Kriljevska\"\n      },\n      \"city\": \"Topola\",\n      \"state\": \"South Bačka\",\n      \"country\": \"Serbia\",\n      \"postcode\": 87162,\n      \"coordinates\": {\n        \"latitude\": \"-41.5273\",\n        \"longitude\": \"46.2091\"\n      },\n      \"timezone\": {\n        \"offset\": \"-8:00\",\n        \"description\": \"Pacific Time (US & Canada)\"\n      }\n    },\n    \"email\": \"milenko.karanovic@example.com\",\n    \"login\": {\n      \"uuid\": \"1e8e01a9-59a1-4a51-9501-f9afbc321292\",\n      \"username\": \"smallmouse667\",\n      \"password\": \"avatar\",\n      \"salt\": \"M5pHO0V7\",\n      \"md5\": \"609d36853652870e2b2e933268f07d85\",\n      \"sha1\": \"434ed21226450bf9035ac9756b15374ff8c3cf6d\",\n      \"sha256\": \"8e25ad452c162152fc9e6f5dc5218a71a5ff106145269beb668773e078722579\"\n    },\n    \"dob\": {\n      \"date\": \"1990-05-29T15:05:37.171Z\",\n      \"age\": 32\n    },\n    \"registered\": {\n      \"date\": \"2006-10-04T21:32:44.418Z\",\n      \"age\": 16\n    },\n    \"phone\": \"034-3989-221\",\n    \"cell\": \"066-8078-673\",\n    \"id\": 30,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/64.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/64.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/64.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Olga\",\n      \"last\": \"Rakić\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7953,\n        \"name\": \"Bajčinska\"\n      },\n      \"city\": \"Preševo\",\n      \"state\": \"Jablanica\",\n      \"country\": \"Serbia\",\n      \"postcode\": 93669,\n      \"coordinates\": {\n        \"latitude\": \"89.8049\",\n        \"longitude\": \"-40.4299\"\n      },\n      \"timezone\": {\n        \"offset\": \"-5:00\",\n        \"description\": \"Eastern Time (US & Canada), Bogota, Lima\"\n      }\n    },\n    \"email\": \"olga.rakic@example.com\",\n    \"login\": {\n      \"uuid\": \"dfc513a9-4f54-4506-a64f-9531654b9250\",\n      \"username\": \"blackladybug431\",\n      \"password\": \"rt6ytere\",\n      \"salt\": \"D3gPF3fn\",\n      \"md5\": \"5ed8c7f015fc23199d9930e385dd6750\",\n      \"sha1\": \"20cc5b5cbf112ffd8f31f9d7c90e65afec86bc72\",\n      \"sha256\": \"90f63a59bdc6ba55bd5247052d296942b16a16b7137e04560e19d2033a44a32e\"\n    },\n    \"dob\": {\n      \"date\": \"1944-09-30T11:48:28.355Z\",\n      \"age\": 78\n    },\n    \"registered\": {\n      \"date\": \"2018-08-30T22:48:26.995Z\",\n      \"age\": 4\n    },\n    \"phone\": \"023-5989-761\",\n    \"cell\": \"065-8051-732\",\n    \"id\": 31,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/5.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/5.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/5.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Arman\",\n      \"last\": \"Mæle\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6489,\n        \"name\": \"Haugerudveien\"\n      },\n      \"city\": \"Vestre Jakobselv\",\n      \"state\": \"Vestfold\",\n      \"country\": \"Norway\",\n      \"postcode\": \"6980\",\n      \"coordinates\": {\n        \"latitude\": \"-37.5464\",\n        \"longitude\": \"168.1270\"\n      },\n      \"timezone\": {\n        \"offset\": \"-11:00\",\n        \"description\": \"Midway Island, Samoa\"\n      }\n    },\n    \"email\": \"arman.maele@example.com\",\n    \"login\": {\n      \"uuid\": \"682986de-b63a-4021-ab72-86ab8cda8db5\",\n      \"username\": \"purplezebra517\",\n      \"password\": \"puppydog\",\n      \"salt\": \"dbjXdd0f\",\n      \"md5\": \"b4ebd5f35828b3fe43013eb1b93fda0e\",\n      \"sha1\": \"ff12c1e711c503f4ff88a6df2f6d66ac7374401f\",\n      \"sha256\": \"8b44b1007e3fdf89a043a51bace34cbe6d5a402a241551666c02dd2d84146c06\"\n    },\n    \"dob\": {\n      \"date\": \"1987-04-04T10:46:37.212Z\",\n      \"age\": 36\n    },\n    \"registered\": {\n      \"date\": \"2005-08-05T09:38:16.095Z\",\n      \"age\": 17\n    },\n    \"phone\": \"62756941\",\n    \"cell\": \"95723440\",\n    \"id\": 32,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/82.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/82.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/82.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Sin\",\n      \"last\": \"Harinck\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8923,\n        \"name\": \"Bernhardhof\"\n      },\n      \"city\": \"Ijzerlo\",\n      \"state\": \"Groningen\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"7021 JJ\",\n      \"coordinates\": {\n        \"latitude\": \"-14.5102\",\n        \"longitude\": \"-121.2676\"\n      },\n      \"timezone\": {\n        \"offset\": \"+8:00\",\n        \"description\": \"Beijing, Perth, Singapore, Hong Kong\"\n      }\n    },\n    \"email\": \"sin.harinck@example.com\",\n    \"login\": {\n      \"uuid\": \"78222bbc-ee1a-456d-ad76-399469ce11ee\",\n      \"username\": \"beautifulleopard483\",\n      \"password\": \"exotic\",\n      \"salt\": \"42XDDc68\",\n      \"md5\": \"a4cc513c079d43501b696c85b734e116\",\n      \"sha1\": \"85b8eb87b39e2989d571eb63d6eedd7451239cfe\",\n      \"sha256\": \"342a71a70c238179387a5a3d101cb74810c3b80ac7e897eb4b7f8e451c7fd8b2\"\n    },\n    \"dob\": {\n      \"date\": \"1984-11-21T06:51:24.910Z\",\n      \"age\": 38\n    },\n    \"registered\": {\n      \"date\": \"2004-05-03T08:14:09.933Z\",\n      \"age\": 19\n    },\n    \"phone\": \"(093) 8512714\",\n    \"cell\": \"(06) 69173986\",\n    \"id\": 33,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/25.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/25.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/25.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Evie\",\n      \"last\": \"Lee\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2398,\n        \"name\": \"Wairakei Road\"\n      },\n      \"city\": \"Hamilton\",\n      \"state\": \"Taranaki\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 99110,\n      \"coordinates\": {\n        \"latitude\": \"-49.2329\",\n        \"longitude\": \"155.3880\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:00\",\n        \"description\": \"Brazil, Buenos Aires, Georgetown\"\n      }\n    },\n    \"email\": \"evie.lee@example.com\",\n    \"login\": {\n      \"uuid\": \"a4d1532e-fb62-477b-bf5e-b5b815a59767\",\n      \"username\": \"ticklishfish566\",\n      \"password\": \"galore\",\n      \"salt\": \"0Ymwy0Ua\",\n      \"md5\": \"12dde359092826f08fe1bd0def427ebc\",\n      \"sha1\": \"e0cd983d6ce30505a3f5125c3a0dcd8830b02552\",\n      \"sha256\": \"bb9f86766a2bd2797744afa603c7eac782e8fe719fcb4f21e530339c2327d872\"\n    },\n    \"dob\": {\n      \"date\": \"1950-08-03T00:16:02.066Z\",\n      \"age\": 72\n    },\n    \"registered\": {\n      \"date\": \"2009-07-12T13:58:56.713Z\",\n      \"age\": 13\n    },\n    \"phone\": \"(373)-737-8531\",\n    \"cell\": \"(558)-890-3609\",\n    \"id\": 34,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/93.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/93.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/93.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Hendrik\",\n      \"last\": \"Da Silva\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2963,\n        \"name\": \"Bus En Dam\"\n      },\n      \"city\": \"Beetsterzwaag\",\n      \"state\": \"Flevoland\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"4764 FK\",\n      \"coordinates\": {\n        \"latitude\": \"-19.9835\",\n        \"longitude\": \"39.6524\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"hendrik.dasilva@example.com\",\n    \"login\": {\n      \"uuid\": \"93efd7f6-a166-47d2-aa1d-66aacf9eae90\",\n      \"username\": \"purpleswan950\",\n      \"password\": \"whisper\",\n      \"salt\": \"W5Z71cK5\",\n      \"md5\": \"ab3eae04795de45b1c919c18c9ffa89d\",\n      \"sha1\": \"fe2ecf63c1ac4688ee88c491d4066a29879ae3ea\",\n      \"sha256\": \"3d77ca9e78119baaf09bde18a50ed57d5b34185c6724476ac11d51b670374c8f\"\n    },\n    \"dob\": {\n      \"date\": \"1990-12-24T05:42:51.922Z\",\n      \"age\": 32\n    },\n    \"registered\": {\n      \"date\": \"2003-07-19T04:00:13.266Z\",\n      \"age\": 19\n    },\n    \"phone\": \"(0340) 161736\",\n    \"cell\": \"(06) 29192420\",\n    \"id\": 35,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/58.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/58.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/58.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Amber\",\n      \"last\": \"Diaz\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 893,\n        \"name\": \"Rectory Lane\"\n      },\n      \"city\": \"Portsmouth\",\n      \"state\": \"West Midlands\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"G6 7QR\",\n      \"coordinates\": {\n        \"latitude\": \"47.8398\",\n        \"longitude\": \"-166.3212\"\n      },\n      \"timezone\": {\n        \"offset\": \"+6:00\",\n        \"description\": \"Almaty, Dhaka, Colombo\"\n      }\n    },\n    \"email\": \"amber.diaz@example.com\",\n    \"login\": {\n      \"uuid\": \"688a6a97-48d7-4384-97c1-6cdd4fc2f27a\",\n      \"username\": \"brownrabbit328\",\n      \"password\": \"olemiss\",\n      \"salt\": \"kj9QQn9p\",\n      \"md5\": \"e83cf66df5a4874c621aa7cc2106df47\",\n      \"sha1\": \"a033df6df6e6073ed84ca0ff4194b02dce3b2c97\",\n      \"sha256\": \"c51ffd33218f0837efe1d29db3b4d37d7e1da7b59daf5d3c8d5ab72760be474f\"\n    },\n    \"dob\": {\n      \"date\": \"1996-12-01T12:48:43.678Z\",\n      \"age\": 26\n    },\n    \"registered\": {\n      \"date\": \"2021-05-23T07:15:51.243Z\",\n      \"age\": 1\n    },\n    \"phone\": \"017687 73525\",\n    \"cell\": \"07780 865610\",\n    \"id\": 36,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/34.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/34.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/34.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Carter\",\n      \"last\": \"Henderson\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8521,\n        \"name\": \"Hunters Creek Dr\"\n      },\n      \"city\": \"Montgomery\",\n      \"state\": \"North Carolina\",\n      \"country\": \"United States\",\n      \"postcode\": 90999,\n      \"coordinates\": {\n        \"latitude\": \"-85.0664\",\n        \"longitude\": \"-139.2853\"\n      },\n      \"timezone\": {\n        \"offset\": \"-1:00\",\n        \"description\": \"Azores, Cape Verde Islands\"\n      }\n    },\n    \"email\": \"carter.henderson@example.com\",\n    \"login\": {\n      \"uuid\": \"1475b872-3663-4298-922e-4a651682cee7\",\n      \"username\": \"greenzebra511\",\n      \"password\": \"scanner\",\n      \"salt\": \"FuYA8kdF\",\n      \"md5\": \"6c13882acedd0555eea1683f731a6af1\",\n      \"sha1\": \"bf1af8676aaadc91637bd2a8f264ed018da3362f\",\n      \"sha256\": \"3d1051d329dffe4a6c003a202e80bb91173c0f4fba6b8b35af982ba0c481e242\"\n    },\n    \"dob\": {\n      \"date\": \"1955-10-20T13:06:46.414Z\",\n      \"age\": 67\n    },\n    \"registered\": {\n      \"date\": \"2012-05-02T07:04:13.605Z\",\n      \"age\": 11\n    },\n    \"phone\": \"(845) 587-6464\",\n    \"cell\": \"(576) 535-2328\",\n    \"id\": 37,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/90.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/90.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/90.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Emmy\",\n      \"last\": \"Sørum\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 927,\n        \"name\": \"Omsens gate\"\n      },\n      \"city\": \"Krossen\",\n      \"state\": \"Oslo\",\n      \"country\": \"Norway\",\n      \"postcode\": \"9602\",\n      \"coordinates\": {\n        \"latitude\": \"33.0818\",\n        \"longitude\": \"52.6846\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"emmy.sorum@example.com\",\n    \"login\": {\n      \"uuid\": \"ecb61325-18f4-47ec-81d6-7bec9fc32e38\",\n      \"username\": \"bluemouse566\",\n      \"password\": \"prodigy\",\n      \"salt\": \"fFIHi4ba\",\n      \"md5\": \"b5aa823ac5b4d6f4623e7393afcf78f2\",\n      \"sha1\": \"3f92124884e6e6ab56fbd2927d52a41c41f76261\",\n      \"sha256\": \"9dff3fd6f8f0308b766305d698d67b42d5a54d26987f967d46b629e431449feb\"\n    },\n    \"dob\": {\n      \"date\": \"1952-09-01T17:06:58.764Z\",\n      \"age\": 70\n    },\n    \"registered\": {\n      \"date\": \"2008-10-08T03:58:21.521Z\",\n      \"age\": 14\n    },\n    \"phone\": \"84118163\",\n    \"cell\": \"45676458\",\n    \"id\": 38,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/14.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/14.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/14.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Shane\",\n      \"last\": \"Price\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4895,\n        \"name\": \"Taylor St\"\n      },\n      \"city\": \"Port Macquarie\",\n      \"state\": \"Victoria\",\n      \"country\": \"Australia\",\n      \"postcode\": 6240,\n      \"coordinates\": {\n        \"latitude\": \"-49.0762\",\n        \"longitude\": \"-154.7006\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"shane.price@example.com\",\n    \"login\": {\n      \"uuid\": \"6d22f460-a583-4e82-b8d8-8ce4f319fc18\",\n      \"username\": \"orangebird305\",\n      \"password\": \"bailey1\",\n      \"salt\": \"u0xT62Ol\",\n      \"md5\": \"9ca858011d279719f285d539b37ac0a2\",\n      \"sha1\": \"9aa8071fb4b735f865bc303a85acc316ad691765\",\n      \"sha256\": \"dbff28729b61150faf530b4740531395ea98e9b50b7c9dae21a60f1cbf496ea5\"\n    },\n    \"dob\": {\n      \"date\": \"1970-11-06T14:34:27.676Z\",\n      \"age\": 52\n    },\n    \"registered\": {\n      \"date\": \"2007-07-20T14:58:34.539Z\",\n      \"age\": 15\n    },\n    \"phone\": \"09-4255-9683\",\n    \"cell\": \"0457-973-905\",\n    \"id\": 39,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/89.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/89.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/89.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Ava\",\n      \"last\": \"Ramos\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4486,\n        \"name\": \"Harrison Ct\"\n      },\n      \"city\": \"Miramar\",\n      \"state\": \"Maryland\",\n      \"country\": \"United States\",\n      \"postcode\": 63468,\n      \"coordinates\": {\n        \"latitude\": \"-4.5215\",\n        \"longitude\": \"5.6326\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"ava.ramos@example.com\",\n    \"login\": {\n      \"uuid\": \"065dad70-270d-4073-aca8-48c2a955bfc4\",\n      \"username\": \"silverdog138\",\n      \"password\": \"chippy\",\n      \"salt\": \"vYsDsMPh\",\n      \"md5\": \"a8cf649aafaaac106d7e6902ef20c777\",\n      \"sha1\": \"f9fff68911119f5eee47bd9f4307a2073f3c9793\",\n      \"sha256\": \"2208ec39e6f8636e17498710fb348c37f881345aea83aca77ff83b6bac5ab741\"\n    },\n    \"dob\": {\n      \"date\": \"1997-12-02T06:53:34.626Z\",\n      \"age\": 25\n    },\n    \"registered\": {\n      \"date\": \"2020-03-25T10:43:56.027Z\",\n      \"age\": 3\n    },\n    \"phone\": \"(354) 200-6604\",\n    \"cell\": \"(797) 825-6294\",\n    \"id\": 40,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/43.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/43.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/43.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Burkhard\",\n      \"last\": \"Eibl\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5113,\n        \"name\": \"Königsberger Straße\"\n      },\n      \"city\": \"Weilburg\",\n      \"state\": \"Baden-Württemberg\",\n      \"country\": \"Germany\",\n      \"postcode\": 68909,\n      \"coordinates\": {\n        \"latitude\": \"-14.6500\",\n        \"longitude\": \"-92.9163\"\n      },\n      \"timezone\": {\n        \"offset\": \"+7:00\",\n        \"description\": \"Bangkok, Hanoi, Jakarta\"\n      }\n    },\n    \"email\": \"burkhard.eibl@example.com\",\n    \"login\": {\n      \"uuid\": \"ca40b355-fb13-444e-9117-3bdd30a0b9c5\",\n      \"username\": \"yellowcat808\",\n      \"password\": \"banger\",\n      \"salt\": \"1y7dK8tW\",\n      \"md5\": \"993ba1f628e1ae037022e89ab3645eaa\",\n      \"sha1\": \"5e4cb53e0299b7aa7538da8339a69424fc9fd717\",\n      \"sha256\": \"2e0845c61de3fa20bf01efb873dc8fa2789c6b79ca3c52feac610dc6a6ec5aa6\"\n    },\n    \"dob\": {\n      \"date\": \"1987-09-17T19:21:28.287Z\",\n      \"age\": 35\n    },\n    \"registered\": {\n      \"date\": \"2010-04-23T00:02:33.613Z\",\n      \"age\": 13\n    },\n    \"phone\": \"0791-5815966\",\n    \"cell\": \"0171-7826901\",\n    \"id\": 41,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/1.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/1.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/1.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Adriana\",\n      \"last\": \"Rojas\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3474,\n        \"name\": \"Paseo de Zorrilla\"\n      },\n      \"city\": \"Gijón\",\n      \"state\": \"Castilla y León\",\n      \"country\": \"Spain\",\n      \"postcode\": 13709,\n      \"coordinates\": {\n        \"latitude\": \"-67.8954\",\n        \"longitude\": \"-17.9375\"\n      },\n      \"timezone\": {\n        \"offset\": \"0:00\",\n        \"description\": \"Western Europe Time, London, Lisbon, Casablanca\"\n      }\n    },\n    \"email\": \"adriana.rojas@example.com\",\n    \"login\": {\n      \"uuid\": \"791d31bf-fa91-434c-bba6-c4dd5e4b3b87\",\n      \"username\": \"blackleopard554\",\n      \"password\": \"meghan\",\n      \"salt\": \"H13nVVbY\",\n      \"md5\": \"b7c1d075e32125f04711cc812a2bcd3a\",\n      \"sha1\": \"3544cd6c917fff232ddf798cea88e4d5128fe8c0\",\n      \"sha256\": \"cadd41b6818fd02dab65b9d4f03ba0f59057360df6a2361e0781f1b78bdd7c67\"\n    },\n    \"dob\": {\n      \"date\": \"1959-10-02T19:19:55.708Z\",\n      \"age\": 63\n    },\n    \"registered\": {\n      \"date\": \"2012-10-14T17:38:50.354Z\",\n      \"age\": 10\n    },\n    \"phone\": \"967-113-917\",\n    \"cell\": \"644-836-194\",\n    \"id\": 42,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/70.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/70.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/70.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Lilia\",\n      \"last\": \"Ibarra\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 147,\n        \"name\": \"Calle Norte Varela\"\n      },\n      \"city\": \"Gabriel Leyva Solanoj\",\n      \"state\": \"Baja California Sur\",\n      \"country\": \"Mexico\",\n      \"postcode\": 73397,\n      \"coordinates\": {\n        \"latitude\": \"-41.6222\",\n        \"longitude\": \"48.9894\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:00\",\n        \"description\": \"Brazil, Buenos Aires, Georgetown\"\n      }\n    },\n    \"email\": \"lilia.ibarra@example.com\",\n    \"login\": {\n      \"uuid\": \"465e76b4-1111-49c3-ad30-611057da926a\",\n      \"username\": \"yellowduck445\",\n      \"password\": \"andersen\",\n      \"salt\": \"YnrSWW1Y\",\n      \"md5\": \"7b6ae2272271ec57afebfb4ff36736e5\",\n      \"sha1\": \"f44ef94c05a5b3b79cb7c298480dd923109b9c14\",\n      \"sha256\": \"52aa43750262977b964975a1da2c43aa4932f3f4ce324c0b9d9f2ca082548fde\"\n    },\n    \"dob\": {\n      \"date\": \"1958-02-11T17:27:11.586Z\",\n      \"age\": 65\n    },\n    \"registered\": {\n      \"date\": \"2004-12-29T03:01:03.155Z\",\n      \"age\": 18\n    },\n    \"phone\": \"(616) 829 4651\",\n    \"cell\": \"(622) 236 7732\",\n    \"id\": 43,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/32.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/32.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/32.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Hanna\",\n      \"last\": \"Palmer\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2822,\n        \"name\": \"York Road\"\n      },\n      \"city\": \"Inverness\",\n      \"state\": \"Lincolnshire\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"U7 3NH\",\n      \"coordinates\": {\n        \"latitude\": \"-64.6194\",\n        \"longitude\": \"-1.0305\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"hanna.palmer@example.com\",\n    \"login\": {\n      \"uuid\": \"e650cfac-9581-4030-893d-ff4f1ba7dbfd\",\n      \"username\": \"whitekoala118\",\n      \"password\": \"frontier\",\n      \"salt\": \"ovzfBNlv\",\n      \"md5\": \"b5946d8accbec4f8f934532a582ff0db\",\n      \"sha1\": \"57164ceaa4e04070bc7eece5dbe18456d5caddf8\",\n      \"sha256\": \"8deb6690271f88aaef2a86a46df3af583141bbad04c7e27436267b6eadf68204\"\n    },\n    \"dob\": {\n      \"date\": \"1988-08-04T16:28:48.026Z\",\n      \"age\": 34\n    },\n    \"registered\": {\n      \"date\": \"2004-05-05T10:28:44.684Z\",\n      \"age\": 19\n    },\n    \"phone\": \"015396 31563\",\n    \"cell\": \"07951 838160\",\n    \"id\": 44,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/30.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/30.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/30.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Dania\",\n      \"last\": \"Mollestad\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4138,\n        \"name\": \"Kronprinsesse Märthas plass\"\n      },\n      \"city\": \"Bøverbru\",\n      \"state\": \"Rogaland\",\n      \"country\": \"Norway\",\n      \"postcode\": \"6796\",\n      \"coordinates\": {\n        \"latitude\": \"-19.4348\",\n        \"longitude\": \"-37.5513\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:00\",\n        \"description\": \"Baghdad, Riyadh, Moscow, St. Petersburg\"\n      }\n    },\n    \"email\": \"dania.mollestad@example.com\",\n    \"login\": {\n      \"uuid\": \"e4b713c6-ff08-4384-a335-c332cf47682b\",\n      \"username\": \"lazycat297\",\n      \"password\": \"opus\",\n      \"salt\": \"0w4gJ0Vk\",\n      \"md5\": \"7d331734a53bd75c7d4a48ffb16ed51c\",\n      \"sha1\": \"43c6abf5389347cbbf8fe31c44909f34868205ef\",\n      \"sha256\": \"134e1a7761af5538ed3248329dafb7a0c0fc31d9f54774aacc4830e65fdff213\"\n    },\n    \"dob\": {\n      \"date\": \"1978-09-01T07:49:19.365Z\",\n      \"age\": 44\n    },\n    \"registered\": {\n      \"date\": \"2017-08-14T22:14:20.458Z\",\n      \"age\": 5\n    },\n    \"phone\": \"54401114\",\n    \"cell\": \"99617661\",\n    \"id\": 45,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/3.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/3.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/3.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Jeppe\",\n      \"last\": \"Flatås\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9507,\n        \"name\": \"Midttunveien\"\n      },\n      \"city\": \"Svarstad\",\n      \"state\": \"Hordaland\",\n      \"country\": \"Norway\",\n      \"postcode\": \"8802\",\n      \"coordinates\": {\n        \"latitude\": \"-17.4652\",\n        \"longitude\": \"136.7337\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:00\",\n        \"description\": \"Abu Dhabi, Muscat, Baku, Tbilisi\"\n      }\n    },\n    \"email\": \"jeppe.flatas@example.com\",\n    \"login\": {\n      \"uuid\": \"619eb719-f284-4e07-8853-f84c3661e6c2\",\n      \"username\": \"crazybear638\",\n      \"password\": \"pepe\",\n      \"salt\": \"1ku93Lg0\",\n      \"md5\": \"38ea21e573222608584f80678736c742\",\n      \"sha1\": \"7132794c471dc33bdebdd14810f09864496c6283\",\n      \"sha256\": \"29b4dc84844395f8dead917b13a39825edd77e3cffa66c2c61a8c92e0f08f3d4\"\n    },\n    \"dob\": {\n      \"date\": \"1962-12-28T01:49:29.303Z\",\n      \"age\": 60\n    },\n    \"registered\": {\n      \"date\": \"2019-12-22T15:18:04.114Z\",\n      \"age\": 3\n    },\n    \"phone\": \"62663161\",\n    \"cell\": \"90354784\",\n    \"id\": 46,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/25.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/25.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/25.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Emma\",\n      \"last\": \"Jørgensen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2681,\n        \"name\": \"Agervænget\"\n      },\n      \"city\": \"Esbjerg V\",\n      \"state\": \"Midtjylland\",\n      \"country\": \"Denmark\",\n      \"postcode\": 47639,\n      \"coordinates\": {\n        \"latitude\": \"34.4395\",\n        \"longitude\": \"7.5068\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:00\",\n        \"description\": \"Baghdad, Riyadh, Moscow, St. Petersburg\"\n      }\n    },\n    \"email\": \"emma.jorgensen@example.com\",\n    \"login\": {\n      \"uuid\": \"0094b483-6602-4510-b09b-adbebdf39704\",\n      \"username\": \"goldenmeercat986\",\n      \"password\": \"buffy\",\n      \"salt\": \"VX7AhSfj\",\n      \"md5\": \"fe14797918b0fea4464e0385a16b46a0\",\n      \"sha1\": \"01a567516309015f6ce55617fc13d52fb355cef8\",\n      \"sha256\": \"5c89530a2d3b8acd2059ab4f23f1ea2a6c2718d6f57f3e54aa219467009f6d76\"\n    },\n    \"dob\": {\n      \"date\": \"1961-07-12T02:13:40.967Z\",\n      \"age\": 61\n    },\n    \"registered\": {\n      \"date\": \"2008-12-12T22:41:48.817Z\",\n      \"age\": 14\n    },\n    \"phone\": \"20334910\",\n    \"cell\": \"90181890\",\n    \"id\": 47,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/42.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/42.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/42.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Everaldo\",\n      \"last\": \"Moraes\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2902,\n        \"name\": \"Rua Santa Catarina \"\n      },\n      \"city\": \"Guarapuava\",\n      \"state\": \"São Paulo\",\n      \"country\": \"Brazil\",\n      \"postcode\": 16696,\n      \"coordinates\": {\n        \"latitude\": \"-28.2697\",\n        \"longitude\": \"-125.0812\"\n      },\n      \"timezone\": {\n        \"offset\": \"-10:00\",\n        \"description\": \"Hawaii\"\n      }\n    },\n    \"email\": \"everaldo.moraes@example.com\",\n    \"login\": {\n      \"uuid\": \"ae5402f5-dfb9-4ffc-ad47-42e6dcd9e48a\",\n      \"username\": \"whitewolf424\",\n      \"password\": \"cuervo\",\n      \"salt\": \"eHUqdyxw\",\n      \"md5\": \"b641d6fdbd2dcbe77aa0a70fdb2fd2b8\",\n      \"sha1\": \"e9047c4ba70a4782d18a81fc3818d73386e1dc6c\",\n      \"sha256\": \"7cb0966e2dab0f0054032d5e09af3f3917e00847f039b2adcf5fe9f02c3643da\"\n    },\n    \"dob\": {\n      \"date\": \"1995-10-05T20:08:56.400Z\",\n      \"age\": 27\n    },\n    \"registered\": {\n      \"date\": \"2009-05-21T06:35:16.159Z\",\n      \"age\": 14\n    },\n    \"phone\": \"(14) 9125-5264\",\n    \"cell\": \"(87) 7658-1082\",\n    \"id\": 48,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/29.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/29.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/29.jpg\"\n    },\n    \"nat\": \"BR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Aada\",\n      \"last\": \"Peltola\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3543,\n        \"name\": \"Itsenäisyydenkatu\"\n      },\n      \"city\": \"Eurajoki\",\n      \"state\": \"Southern Savonia\",\n      \"country\": \"Finland\",\n      \"postcode\": 57966,\n      \"coordinates\": {\n        \"latitude\": \"88.0953\",\n        \"longitude\": \"96.9902\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:30\",\n        \"description\": \"Kabul\"\n      }\n    },\n    \"email\": \"aada.peltola@example.com\",\n    \"login\": {\n      \"uuid\": \"f1daac3a-b75e-4cf3-b2bd-0bdac57b2b6e\",\n      \"username\": \"redwolf809\",\n      \"password\": \"attack\",\n      \"salt\": \"SnCyfITv\",\n      \"md5\": \"3f4b4da6bc34569655d30a9c62557653\",\n      \"sha1\": \"69c187048ae6c0979960a0d1b978299293de9843\",\n      \"sha256\": \"cd4f15725ec4249c818d627bc95f1d1ea4e6739192e431326b852763fceb5d33\"\n    },\n    \"dob\": {\n      \"date\": \"1982-05-27T15:04:44.258Z\",\n      \"age\": 40\n    },\n    \"registered\": {\n      \"date\": \"2013-10-19T01:12:23.247Z\",\n      \"age\": 9\n    },\n    \"phone\": \"08-531-204\",\n    \"cell\": \"042-221-85-22\",\n    \"id\": 49,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/94.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/94.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/94.jpg\"\n    },\n    \"nat\": \"FI\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Monsieur\",\n      \"first\": \"Ahmed\",\n      \"last\": \"Aubert\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3055,\n        \"name\": \"Rue Louis-Garrand\"\n      },\n      \"city\": \"Basel\",\n      \"state\": \"Glarus\",\n      \"country\": \"Switzerland\",\n      \"postcode\": 2628,\n      \"coordinates\": {\n        \"latitude\": \"-15.8364\",\n        \"longitude\": \"-140.0407\"\n      },\n      \"timezone\": {\n        \"offset\": \"-11:00\",\n        \"description\": \"Midway Island, Samoa\"\n      }\n    },\n    \"email\": \"ahmed.aubert@example.com\",\n    \"login\": {\n      \"uuid\": \"fdba903c-0a1e-47e1-a8e1-3c2750d0958f\",\n      \"username\": \"blackgorilla370\",\n      \"password\": \"justine\",\n      \"salt\": \"MZ3nadwZ\",\n      \"md5\": \"817da5ad525314c1b8f7978373fd9858\",\n      \"sha1\": \"82a5d15099e198cdd98cf4af6be5ef28d9b8f2a9\",\n      \"sha256\": \"dfb252673b8a477d398ea32e4682b51e680b5735fd1386e7b5cf4aea0171b7f1\"\n    },\n    \"dob\": {\n      \"date\": \"1973-12-10T09:24:20.856Z\",\n      \"age\": 49\n    },\n    \"registered\": {\n      \"date\": \"2002-04-12T10:35:47.606Z\",\n      \"age\": 21\n    },\n    \"phone\": \"077 744 63 60\",\n    \"cell\": \"076 090 31 39\",\n    \"id\": 50,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/88.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/88.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/88.jpg\"\n    },\n    \"nat\": \"CH\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Hunter\",\n      \"last\": \"Thompson\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8988,\n        \"name\": \"Harewood Road\"\n      },\n      \"city\": \"Gisborne\",\n      \"state\": \"Auckland\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 62570,\n      \"coordinates\": {\n        \"latitude\": \"62.9229\",\n        \"longitude\": \"170.6632\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"hunter.thompson@example.com\",\n    \"login\": {\n      \"uuid\": \"ca19d183-b633-424c-abe6-bb1190a5ef30\",\n      \"username\": \"bigpanda811\",\n      \"password\": \"raquel\",\n      \"salt\": \"PMOXI6ba\",\n      \"md5\": \"e41649c2e8af1b2137da4f60224f18f2\",\n      \"sha1\": \"9f123892b013f64f77bfa65863d3ece25b6f5776\",\n      \"sha256\": \"6054a7f6b1acbf58c76204fb6656223a73c1c11bf96b4703747bc8be7b3c7c88\"\n    },\n    \"dob\": {\n      \"date\": \"1998-11-06T16:30:43.171Z\",\n      \"age\": 24\n    },\n    \"registered\": {\n      \"date\": \"2004-12-05T14:17:40.668Z\",\n      \"age\": 18\n    },\n    \"phone\": \"(494)-093-2151\",\n    \"cell\": \"(212)-605-8137\",\n    \"id\": 51,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/49.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/49.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/49.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"آرتين\",\n      \"last\": \"احمدی\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6059,\n        \"name\": \"نبرد جنوبی\"\n      },\n      \"city\": \"ایلام\",\n      \"state\": \"لرستان\",\n      \"country\": \"Iran\",\n      \"postcode\": 89517,\n      \"coordinates\": {\n        \"latitude\": \"-86.5909\",\n        \"longitude\": \"-125.0975\"\n      },\n      \"timezone\": {\n        \"offset\": \"-6:00\",\n        \"description\": \"Central Time (US & Canada), Mexico City\"\n      }\n    },\n    \"email\": \"artyn.hmdy@example.com\",\n    \"login\": {\n      \"uuid\": \"c00f1baf-7c2d-484c-8bf7-398b367713bb\",\n      \"username\": \"sadelephant644\",\n      \"password\": \"cohiba\",\n      \"salt\": \"qhiCSEjp\",\n      \"md5\": \"ac3891e618ec91a8d81c71b878392063\",\n      \"sha1\": \"ccb6dd40fcbf7615360f886fdfb5e39556dcbaf0\",\n      \"sha256\": \"c55202babe17f5a942fd11752c7c98c6f695a646538aa430bfbc53bdc556a54a\"\n    },\n    \"dob\": {\n      \"date\": \"1951-02-03T03:52:54.813Z\",\n      \"age\": 72\n    },\n    \"registered\": {\n      \"date\": \"2008-12-12T03:38:11.037Z\",\n      \"age\": 14\n    },\n    \"phone\": \"089-93833057\",\n    \"cell\": \"0954-683-8941\",\n    \"id\": 52,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/89.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/89.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/89.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"میلاد\",\n      \"last\": \"کریمی\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2892,\n        \"name\": \"میرداماد\"\n      },\n      \"city\": \"کرمانشاه\",\n      \"state\": \"قزوین\",\n      \"country\": \"Iran\",\n      \"postcode\": 33388,\n      \"coordinates\": {\n        \"latitude\": \"54.9240\",\n        \"longitude\": \"134.6329\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"myld.khrymy@example.com\",\n    \"login\": {\n      \"uuid\": \"4dde2668-edc7-470e-b508-6b14f6d923c3\",\n      \"username\": \"brownzebra661\",\n      \"password\": \"98765\",\n      \"salt\": \"TuBbEhdu\",\n      \"md5\": \"92524e9fdfff8c2c1cdb5ccad277b191\",\n      \"sha1\": \"f5ee8f8d93706a9309d898b0bac84bbf7706ff8f\",\n      \"sha256\": \"522c3dbc93292298274fc7e926b2600407258cfe710dac2bef507ac64bb50c5f\"\n    },\n    \"dob\": {\n      \"date\": \"1958-07-30T07:53:38.295Z\",\n      \"age\": 64\n    },\n    \"registered\": {\n      \"date\": \"2021-04-13T14:55:26.778Z\",\n      \"age\": 2\n    },\n    \"phone\": \"026-18184613\",\n    \"cell\": \"0925-877-1485\",\n    \"id\": 53,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/10.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/10.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/10.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Katarina\",\n      \"last\": \"Pavić\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9327,\n        \"name\": \"Nataše Luković\"\n      },\n      \"city\": \"Despotovac\",\n      \"state\": \"Bor\",\n      \"country\": \"Serbia\",\n      \"postcode\": 24890,\n      \"coordinates\": {\n        \"latitude\": \"-6.3421\",\n        \"longitude\": \"-144.6503\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:30\",\n        \"description\": \"Bombay, Calcutta, Madras, New Delhi\"\n      }\n    },\n    \"email\": \"katarina.pavic@example.com\",\n    \"login\": {\n      \"uuid\": \"2d57e83b-4ae2-4c5f-9a6a-963e65b13255\",\n      \"username\": \"greengoose143\",\n      \"password\": \"rick\",\n      \"salt\": \"Lvwri73R\",\n      \"md5\": \"4f0417bcd4f8d2a669b7dead80b9a5dc\",\n      \"sha1\": \"f812e004858eee5131a4f788dad0988eb1a3307e\",\n      \"sha256\": \"5c9663c60f5d410780bdb8b27d3a080d14eeaabc095876a4c61af2293966af2c\"\n    },\n    \"dob\": {\n      \"date\": \"1986-09-25T22:53:27.220Z\",\n      \"age\": 36\n    },\n    \"registered\": {\n      \"date\": \"2018-08-08T16:04:39.325Z\",\n      \"age\": 4\n    },\n    \"phone\": \"014-5413-425\",\n    \"cell\": \"069-5702-769\",\n    \"id\": 54,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/11.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/11.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/11.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Ellie\",\n      \"last\": \"Walker\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1465,\n        \"name\": \"Prebensen Drive\"\n      },\n      \"city\": \"Christchurch\",\n      \"state\": \"Wellington\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 89636,\n      \"coordinates\": {\n        \"latitude\": \"47.2682\",\n        \"longitude\": \"146.9209\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:30\",\n        \"description\": \"Bombay, Calcutta, Madras, New Delhi\"\n      }\n    },\n    \"email\": \"ellie.walker@example.com\",\n    \"login\": {\n      \"uuid\": \"46f53f4b-ffc3-456f-b06d-4815f5c6b4ce\",\n      \"username\": \"yellowfish639\",\n      \"password\": \"sahara\",\n      \"salt\": \"vZ87yq3f\",\n      \"md5\": \"03a298e136c72fa0e9da01bc1f2d47df\",\n      \"sha1\": \"50ae6f77145512eee8e0c99bfb8dbdb3c19e9375\",\n      \"sha256\": \"6307329f57a37847984e2fe069199514fb92c8f79543d8eb1b6ca6fa32bb9c03\"\n    },\n    \"dob\": {\n      \"date\": \"1954-02-13T18:38:21.230Z\",\n      \"age\": 69\n    },\n    \"registered\": {\n      \"date\": \"2016-10-14T02:14:36.898Z\",\n      \"age\": 6\n    },\n    \"phone\": \"(408)-818-2503\",\n    \"cell\": \"(706)-654-5604\",\n    \"id\": 55,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/50.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/50.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/50.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Allison\",\n      \"last\": \"Knight\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4548,\n        \"name\": \"Wheeler Ridge Dr\"\n      },\n      \"city\": \"Bowral\",\n      \"state\": \"Queensland\",\n      \"country\": \"Australia\",\n      \"postcode\": 4945,\n      \"coordinates\": {\n        \"latitude\": \"0.7038\",\n        \"longitude\": \"-42.2257\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"allison.knight@example.com\",\n    \"login\": {\n      \"uuid\": \"288cde15-a1ea-4152-b441-10cedfd09efa\",\n      \"username\": \"organictiger639\",\n      \"password\": \"school\",\n      \"salt\": \"7UpB29BV\",\n      \"md5\": \"0f51e3d517840f1368c3892158ef70f3\",\n      \"sha1\": \"76a2d1d5e2b38b8e118e3908ef62f9b76f645c91\",\n      \"sha256\": \"d5b2c7fc60091d471f609d2051679d62b558b3200ae544cfcdd83ff045e9444d\"\n    },\n    \"dob\": {\n      \"date\": \"1945-12-22T02:43:43.645Z\",\n      \"age\": 77\n    },\n    \"registered\": {\n      \"date\": \"2021-11-01T16:23:04.091Z\",\n      \"age\": 1\n    },\n    \"phone\": \"00-4889-0030\",\n    \"cell\": \"0447-959-279\",\n    \"id\": 56,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/24.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/24.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/24.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Višeslav\",\n      \"last\": \"Cvejić\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4899,\n        \"name\": \"Ljubiše Glišića \"\n      },\n      \"city\": \"Malo Crniće\",\n      \"state\": \"Kosovska Mitrovica\",\n      \"country\": \"Serbia\",\n      \"postcode\": 18689,\n      \"coordinates\": {\n        \"latitude\": \"65.0303\",\n        \"longitude\": \"160.1378\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"viseslav.cvejic@example.com\",\n    \"login\": {\n      \"uuid\": \"d1907120-4b39-4661-a92b-5bf3f1e4730e\",\n      \"username\": \"organicpanda588\",\n      \"password\": \"bigpoppa\",\n      \"salt\": \"t23CdKVN\",\n      \"md5\": \"fa8662344dce962610911bc08840ff79\",\n      \"sha1\": \"58e61df78801f73ccbfd82fe2f1d4a228b253ad2\",\n      \"sha256\": \"0217484b6f8918751ff86596de7c2406e31bd6ea83d1bed1b165ba16ce6911ff\"\n    },\n    \"dob\": {\n      \"date\": \"1972-04-17T19:06:48.264Z\",\n      \"age\": 51\n    },\n    \"registered\": {\n      \"date\": \"2012-01-20T19:26:20.096Z\",\n      \"age\": 11\n    },\n    \"phone\": \"016-2600-796\",\n    \"cell\": \"069-7538-333\",\n    \"id\": 57,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/40.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/40.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/40.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Anatole\",\n      \"last\": \"Martinez\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4040,\n        \"name\": \"Place de L'Abbé-Franz-Stock\"\n      },\n      \"city\": \"Poitiers\",\n      \"state\": \"Cantal\",\n      \"country\": \"France\",\n      \"postcode\": 94746,\n      \"coordinates\": {\n        \"latitude\": \"57.7132\",\n        \"longitude\": \"-51.4437\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"anatole.martinez@example.com\",\n    \"login\": {\n      \"uuid\": \"1f4567ba-7367-4e13-bc1b-af722fbb3f4a\",\n      \"username\": \"brownfrog664\",\n      \"password\": \"beatles\",\n      \"salt\": \"q9p9tUX0\",\n      \"md5\": \"12a5e0cadec3ea947425e82088d9d79a\",\n      \"sha1\": \"94a3829a3d9692faf8e8f91b9a150c0e1cd1c468\",\n      \"sha256\": \"66c02080e7bdaca4a7ca4a6c14c157545828ce628131cf59450d247ff110fe5f\"\n    },\n    \"dob\": {\n      \"date\": \"1958-12-17T03:07:22.457Z\",\n      \"age\": 64\n    },\n    \"registered\": {\n      \"date\": \"2007-05-20T18:03:58.364Z\",\n      \"age\": 16\n    },\n    \"phone\": \"04-64-59-67-80\",\n    \"cell\": \"06-49-39-16-63\",\n    \"id\": 58,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/20.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/20.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/20.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Derek\",\n      \"last\": \"Jennings\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7839,\n        \"name\": \"Prospect Rd\"\n      },\n      \"city\": \"Hervey Bay\",\n      \"state\": \"Western Australia\",\n      \"country\": \"Australia\",\n      \"postcode\": 9421,\n      \"coordinates\": {\n        \"latitude\": \"-48.2485\",\n        \"longitude\": \"109.9532\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"derek.jennings@example.com\",\n    \"login\": {\n      \"uuid\": \"4ef592f8-8486-49ca-872c-a33ba90a37f4\",\n      \"username\": \"happywolf854\",\n      \"password\": \"gerald\",\n      \"salt\": \"1kpk9eTt\",\n      \"md5\": \"47483302ed5bbccc44063323ca8143bf\",\n      \"sha1\": \"f41a1ebd31c4c0533edbf6b35207ec3a3f3c6c60\",\n      \"sha256\": \"98892762509e49b40b07e3aa06e5834d6b3b1725089ff48d06b81f2c54539a44\"\n    },\n    \"dob\": {\n      \"date\": \"1966-11-28T22:19:23.180Z\",\n      \"age\": 56\n    },\n    \"registered\": {\n      \"date\": \"2020-10-28T08:19:04.523Z\",\n      \"age\": 2\n    },\n    \"phone\": \"07-4510-4780\",\n    \"cell\": \"0427-422-171\",\n    \"id\": 59,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/81.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/81.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/81.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Jesús\",\n      \"last\": \"Ruiz\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5464,\n        \"name\": \"Calle de La Almudena\"\n      },\n      \"city\": \"Guadalajara\",\n      \"state\": \"Canarias\",\n      \"country\": \"Spain\",\n      \"postcode\": 45705,\n      \"coordinates\": {\n        \"latitude\": \"-45.9603\",\n        \"longitude\": \"-95.7715\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:45\",\n        \"description\": \"Kathmandu\"\n      }\n    },\n    \"email\": \"jesus.ruiz@example.com\",\n    \"login\": {\n      \"uuid\": \"f1940721-88ac-470e-a110-6545601292a2\",\n      \"username\": \"silverbear317\",\n      \"password\": \"ariana\",\n      \"salt\": \"kpmdDk69\",\n      \"md5\": \"6c3aee3bbda6288763d94ef05814127f\",\n      \"sha1\": \"d22efe59900f961865e493558b16a7b8379159d9\",\n      \"sha256\": \"7fedca617baf2ecabf7e34fa6575fa92a0adbb67bd213a0a4a6a4f4c6cea4ea4\"\n    },\n    \"dob\": {\n      \"date\": \"1979-01-24T23:54:33.437Z\",\n      \"age\": 44\n    },\n    \"registered\": {\n      \"date\": \"2015-03-12T12:50:34.126Z\",\n      \"age\": 8\n    },\n    \"phone\": \"914-056-624\",\n    \"cell\": \"679-724-125\",\n    \"id\": 60,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/9.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/9.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/9.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Cosima\",\n      \"last\": \"Vetter\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7509,\n        \"name\": \"Meisenweg\"\n      },\n      \"city\": \"Großröhrsdorf\",\n      \"state\": \"Bremen\",\n      \"country\": \"Germany\",\n      \"postcode\": 36410,\n      \"coordinates\": {\n        \"latitude\": \"61.4494\",\n        \"longitude\": \"61.7711\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:30\",\n        \"description\": \"Kabul\"\n      }\n    },\n    \"email\": \"cosima.vetter@example.com\",\n    \"login\": {\n      \"uuid\": \"c6a11fe8-2270-4921-b592-494098a69b49\",\n      \"username\": \"organicladybug669\",\n      \"password\": \"seductive\",\n      \"salt\": \"aoGw4AzQ\",\n      \"md5\": \"63aaa33656e2bb91221825f0ffbda5fe\",\n      \"sha1\": \"8263d40b79cb82c99aefd3cc9030d1660ba0884c\",\n      \"sha256\": \"c3058b62d8e8e83b9370445d6c36ff2b4d365d4ed21f257aebbbc92c96125c94\"\n    },\n    \"dob\": {\n      \"date\": \"1985-11-03T14:30:41.374Z\",\n      \"age\": 37\n    },\n    \"registered\": {\n      \"date\": \"2013-12-04T16:11:40.012Z\",\n      \"age\": 9\n    },\n    \"phone\": \"0264-6521542\",\n    \"cell\": \"0176-7181252\",\n    \"id\": 61,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/86.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/86.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/86.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Purdy\",\n      \"last\": \"Stroo\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9987,\n        \"name\": \"Claes Danckaertzstraat\"\n      },\n      \"city\": \"Ureterp\",\n      \"state\": \"Noord-Holland\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"6576 LO\",\n      \"coordinates\": {\n        \"latitude\": \"-37.4191\",\n        \"longitude\": \"28.4514\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:30\",\n        \"description\": \"Adelaide, Darwin\"\n      }\n    },\n    \"email\": \"purdy.stroo@example.com\",\n    \"login\": {\n      \"uuid\": \"5b51839d-22b5-414d-bd0d-a89204ab8af6\",\n      \"username\": \"bluefish174\",\n      \"password\": \"ricardo\",\n      \"salt\": \"XnUthQUQ\",\n      \"md5\": \"a4c0ab407740fabcaf2b277f152ad160\",\n      \"sha1\": \"2c582dbef9097f9254edb2dcc4d1931f5ba98b15\",\n      \"sha256\": \"3464217ec3821bb691f95a665bff92765324308e68aff284277ae7af4bef86ed\"\n    },\n    \"dob\": {\n      \"date\": \"1951-07-13T19:36:22.775Z\",\n      \"age\": 71\n    },\n    \"registered\": {\n      \"date\": \"2020-11-02T03:20:39.383Z\",\n      \"age\": 2\n    },\n    \"phone\": \"(030) 1179380\",\n    \"cell\": \"(06) 96163255\",\n    \"id\": 62,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/1.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/1.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/1.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Ayub\",\n      \"last\": \"Trinh\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6188,\n        \"name\": \"Meklenborglia\"\n      },\n      \"city\": \"Bodø\",\n      \"state\": \"Buskerud\",\n      \"country\": \"Norway\",\n      \"postcode\": \"2920\",\n      \"coordinates\": {\n        \"latitude\": \"-8.4927\",\n        \"longitude\": \"152.8925\"\n      },\n      \"timezone\": {\n        \"offset\": \"+2:00\",\n        \"description\": \"Kaliningrad, South Africa\"\n      }\n    },\n    \"email\": \"ayub.trinh@example.com\",\n    \"login\": {\n      \"uuid\": \"133dfccf-9d26-4d9a-91d1-6275f3dc8195\",\n      \"username\": \"redrabbit747\",\n      \"password\": \"marcia\",\n      \"salt\": \"HPyKkT2x\",\n      \"md5\": \"f00a522049f59532e7d433a7283fa2d1\",\n      \"sha1\": \"e5ace913702db150cafcde5c75c56a5d523f9341\",\n      \"sha256\": \"d5ac041813b3cdb4b4234037207a1bd1e2c2ebac72231fa2eebd94b6b8cb7d32\"\n    },\n    \"dob\": {\n      \"date\": \"1952-06-17T21:25:23.674Z\",\n      \"age\": 70\n    },\n    \"registered\": {\n      \"date\": \"2020-01-01T08:58:34.776Z\",\n      \"age\": 3\n    },\n    \"phone\": \"23374256\",\n    \"cell\": \"45882766\",\n    \"id\": 63,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/54.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/54.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/54.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Carmelo\",\n      \"last\": \"Salgado\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6198,\n        \"name\": \"Corredor Carreón\"\n      },\n      \"city\": \"Los Volcanes\",\n      \"state\": \"Nayarit\",\n      \"country\": \"Mexico\",\n      \"postcode\": 56325,\n      \"coordinates\": {\n        \"latitude\": \"-46.1008\",\n        \"longitude\": \"-172.6033\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"carmelo.salgado@example.com\",\n    \"login\": {\n      \"uuid\": \"18521f72-66d6-49ae-85d6-f208c6f738ed\",\n      \"username\": \"tinycat253\",\n      \"password\": \"icehouse\",\n      \"salt\": \"QbD134or\",\n      \"md5\": \"de45ce9eeede8e9a0786f87123ead8d0\",\n      \"sha1\": \"c4e49bd24c164d477417f252549ab1f0728b0b77\",\n      \"sha256\": \"fba4502502dbb4ec892e9a3e49dabf6ca29c99c0cfc5228c7bec36b06e22fb6f\"\n    },\n    \"dob\": {\n      \"date\": \"1985-06-08T22:22:56.090Z\",\n      \"age\": 37\n    },\n    \"registered\": {\n      \"date\": \"2009-07-26T18:02:43.552Z\",\n      \"age\": 13\n    },\n    \"phone\": \"(648) 823 7591\",\n    \"cell\": \"(603) 152 9078\",\n    \"id\": 64,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/35.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/35.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/35.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Arcelia\",\n      \"last\": \"Longoria\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 75,\n        \"name\": \"Periférico Coronado\"\n      },\n      \"city\": \"El Porvenir Guadalupe\",\n      \"state\": \"Puebla\",\n      \"country\": \"Mexico\",\n      \"postcode\": 31067,\n      \"coordinates\": {\n        \"latitude\": \"-17.3098\",\n        \"longitude\": \"4.2648\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"arcelia.longoria@example.com\",\n    \"login\": {\n      \"uuid\": \"6dca6966-ca74-4845-be08-c801a2cbf4de\",\n      \"username\": \"bluemouse626\",\n      \"password\": \"1357\",\n      \"salt\": \"e8BcoDhB\",\n      \"md5\": \"6f07e7a8a685eb69ac5f599b95ec3d25\",\n      \"sha1\": \"a4af204e546b198dc20de7ba3625261fc94e3c85\",\n      \"sha256\": \"9278457041a591e09682c10f7f56f94ca03ee695c1e43bcf03162859ee1e2dcf\"\n    },\n    \"dob\": {\n      \"date\": \"1961-02-16T11:13:11.438Z\",\n      \"age\": 62\n    },\n    \"registered\": {\n      \"date\": \"2009-12-07T09:36:55.161Z\",\n      \"age\": 13\n    },\n    \"phone\": \"(686) 313 6184\",\n    \"cell\": \"(660) 635 6839\",\n    \"id\": 65,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/86.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/86.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/86.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Maruta\",\n      \"last\": \"Sapelyak\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4604,\n        \"name\": \"Gladkivska\"\n      },\n      \"city\": \"Kiyiv\",\n      \"state\": \"Chernivecka\",\n      \"country\": \"Ukraine\",\n      \"postcode\": 95493,\n      \"coordinates\": {\n        \"latitude\": \"-35.3269\",\n        \"longitude\": \"-146.6548\"\n      },\n      \"timezone\": {\n        \"offset\": \"-11:00\",\n        \"description\": \"Midway Island, Samoa\"\n      }\n    },\n    \"email\": \"maruta.sapelyak@example.com\",\n    \"login\": {\n      \"uuid\": \"a69e1888-2e00-4b29-8252-f622c39538ab\",\n      \"username\": \"smallfrog987\",\n      \"password\": \"ruth\",\n      \"salt\": \"EiMlwhud\",\n      \"md5\": \"a39ab3410094a7c69ecc6afe9d027353\",\n      \"sha1\": \"4a7963687b7aeee5c0f6304fb1e6a666234a6e79\",\n      \"sha256\": \"217d0e93850a3a6525fe822c9f22e151009f12caee8195554c6a42f5c4a86a5f\"\n    },\n    \"dob\": {\n      \"date\": \"1996-10-16T18:00:51.313Z\",\n      \"age\": 26\n    },\n    \"registered\": {\n      \"date\": \"2016-08-21T11:02:10.964Z\",\n      \"age\": 6\n    },\n    \"phone\": \"(098) L60-6528\",\n    \"cell\": \"(099) P35-8848\",\n    \"id\": 66,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/50.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/50.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/50.jpg\"\n    },\n    \"nat\": \"UA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Bertha\",\n      \"last\": \"Junker\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8371,\n        \"name\": \"Goethestraße\"\n      },\n      \"city\": \"Kirchberg an der Jagst\",\n      \"state\": \"Sachsen-Anhalt\",\n      \"country\": \"Germany\",\n      \"postcode\": 32922,\n      \"coordinates\": {\n        \"latitude\": \"22.9687\",\n        \"longitude\": \"-29.4405\"\n      },\n      \"timezone\": {\n        \"offset\": \"0:00\",\n        \"description\": \"Western Europe Time, London, Lisbon, Casablanca\"\n      }\n    },\n    \"email\": \"bertha.junker@example.com\",\n    \"login\": {\n      \"uuid\": \"8d7f07eb-f7da-4d75-b6be-da3181374ef6\",\n      \"username\": \"silverlion797\",\n      \"password\": \"musashi\",\n      \"salt\": \"mFB4ko5e\",\n      \"md5\": \"97d0173791944ae34a559143498669ff\",\n      \"sha1\": \"835956a042ce4d9980c0a29833922627b45c3773\",\n      \"sha256\": \"1234e86857aec80c6d5b7139ce9e01efc33e74311a2e8e2ccbdabd5b8fdb47f8\"\n    },\n    \"dob\": {\n      \"date\": \"1996-04-22T06:07:43.571Z\",\n      \"age\": 27\n    },\n    \"registered\": {\n      \"date\": \"2018-02-27T22:38:49.610Z\",\n      \"age\": 5\n    },\n    \"phone\": \"0756-2558927\",\n    \"cell\": \"0172-0339121\",\n    \"id\": 67,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/48.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/48.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/48.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Catherine\",\n      \"last\": \"Burns\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1260,\n        \"name\": \"Nowlin Rd\"\n      },\n      \"city\": \"Grapevine\",\n      \"state\": \"Maryland\",\n      \"country\": \"United States\",\n      \"postcode\": 79129,\n      \"coordinates\": {\n        \"latitude\": \"-47.6467\",\n        \"longitude\": \"28.4679\"\n      },\n      \"timezone\": {\n        \"offset\": \"-5:00\",\n        \"description\": \"Eastern Time (US & Canada), Bogota, Lima\"\n      }\n    },\n    \"email\": \"catherine.burns@example.com\",\n    \"login\": {\n      \"uuid\": \"8ead58bf-b5e0-4832-9b34-1af9fd1baa75\",\n      \"username\": \"organicbird617\",\n      \"password\": \"jets\",\n      \"salt\": \"EQXHOyzh\",\n      \"md5\": \"60d49387fb64b3dbbf365ec3cc1a5b6f\",\n      \"sha1\": \"c7b5355fd5cf4b31643c1c1443cd484663080436\",\n      \"sha256\": \"3950372812ee48b926ddefa3b38c595ce536f42d2e9c71dbb5c7706bf3849239\"\n    },\n    \"dob\": {\n      \"date\": \"1961-08-18T23:52:28.944Z\",\n      \"age\": 61\n    },\n    \"registered\": {\n      \"date\": \"2010-03-28T00:50:05.769Z\",\n      \"age\": 13\n    },\n    \"phone\": \"(269) 570-3457\",\n    \"cell\": \"(225) 835-6640\",\n    \"id\": 68,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/1.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/1.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/1.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Christoffer\",\n      \"last\": \"Poulsen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 692,\n        \"name\": \"Skolebakken\"\n      },\n      \"city\": \"Stokkemarke\",\n      \"state\": \"Midtjylland\",\n      \"country\": \"Denmark\",\n      \"postcode\": 19108,\n      \"coordinates\": {\n        \"latitude\": \"11.6914\",\n        \"longitude\": \"-42.4262\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"christoffer.poulsen@example.com\",\n    \"login\": {\n      \"uuid\": \"95d4749a-13c2-40fe-b387-011aa16aecc4\",\n      \"username\": \"smallpeacock578\",\n      \"password\": \"oooooo\",\n      \"salt\": \"2FHDxYaZ\",\n      \"md5\": \"beb25c991401ace6764c683f36b197f6\",\n      \"sha1\": \"1bf2db44d41c869bfe02d8bfc0ced7725e789715\",\n      \"sha256\": \"77e04b227a21d69389a4051700eef4e05ecd03cbb91f93b3c903b15d187c2f22\"\n    },\n    \"dob\": {\n      \"date\": \"1986-03-18T07:13:17.015Z\",\n      \"age\": 37\n    },\n    \"registered\": {\n      \"date\": \"2006-06-19T14:34:38.669Z\",\n      \"age\": 16\n    },\n    \"phone\": \"20210594\",\n    \"cell\": \"46796091\",\n    \"id\": 69,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/98.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/98.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/98.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Vanesa\",\n      \"last\": \"Núñez\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2106,\n        \"name\": \"Calle de La Luna\"\n      },\n      \"city\": \"San Sebastián\",\n      \"state\": \"Cantabria\",\n      \"country\": \"Spain\",\n      \"postcode\": 98640,\n      \"coordinates\": {\n        \"latitude\": \"5.0545\",\n        \"longitude\": \"54.9453\"\n      },\n      \"timezone\": {\n        \"offset\": \"+8:00\",\n        \"description\": \"Beijing, Perth, Singapore, Hong Kong\"\n      }\n    },\n    \"email\": \"vanesa.nunez@example.com\",\n    \"login\": {\n      \"uuid\": \"4e7e1c66-5841-4302-ad88-e0ad6f09f4c1\",\n      \"username\": \"orangekoala427\",\n      \"password\": \"147852\",\n      \"salt\": \"WTOwFcCt\",\n      \"md5\": \"e8eb70e8ae32796a83e900f4d5924f15\",\n      \"sha1\": \"9750eaf63d2c12115630fc634a0b1e1f9e708ebc\",\n      \"sha256\": \"ca6e56fca3b22be7558300b101dbf3f0ae6a63c26d784061a7daa9b9ee164540\"\n    },\n    \"dob\": {\n      \"date\": \"1960-06-26T04:46:58.086Z\",\n      \"age\": 62\n    },\n    \"registered\": {\n      \"date\": \"2021-03-31T03:49:37.553Z\",\n      \"age\": 2\n    },\n    \"phone\": \"981-641-075\",\n    \"cell\": \"693-690-300\",\n    \"id\": 70,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/44.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/44.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/44.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Lia\",\n      \"last\": \"Fournier\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7297,\n        \"name\": \"Rue Pierre-Delore\"\n      },\n      \"city\": \"Aix-En-Provence\",\n      \"state\": \"Pyrénées-Atlantiques\",\n      \"country\": \"France\",\n      \"postcode\": 77828,\n      \"coordinates\": {\n        \"latitude\": \"85.2537\",\n        \"longitude\": \"-135.5344\"\n      },\n      \"timezone\": {\n        \"offset\": \"-1:00\",\n        \"description\": \"Azores, Cape Verde Islands\"\n      }\n    },\n    \"email\": \"lia.fournier@example.com\",\n    \"login\": {\n      \"uuid\": \"cc60bf28-e39e-4a92-bc3a-f020c2580c67\",\n      \"username\": \"lazycat781\",\n      \"password\": \"computer\",\n      \"salt\": \"1TEiToRp\",\n      \"md5\": \"6eb453ce646d2b58177768a5bef8c915\",\n      \"sha1\": \"98f33ec05fe3b618ca321b5548fcb8014016dcbc\",\n      \"sha256\": \"72391fad3da1e878866ca013c861dca678e186766ee69cb43a97ad09b26390f2\"\n    },\n    \"dob\": {\n      \"date\": \"1945-07-28T21:16:02.086Z\",\n      \"age\": 77\n    },\n    \"registered\": {\n      \"date\": \"2010-02-14T18:42:31.324Z\",\n      \"age\": 13\n    },\n    \"phone\": \"05-05-40-05-78\",\n    \"cell\": \"06-38-00-84-42\",\n    \"id\": 71,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/7.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/7.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/7.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Cohen\",\n      \"last\": \"Kumar\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1501,\n        \"name\": \"Madras Street\"\n      },\n      \"city\": \"Hamilton\",\n      \"state\": \"Marlborough\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 96606,\n      \"coordinates\": {\n        \"latitude\": \"-27.4776\",\n        \"longitude\": \"162.0555\"\n      },\n      \"timezone\": {\n        \"offset\": \"-6:00\",\n        \"description\": \"Central Time (US & Canada), Mexico City\"\n      }\n    },\n    \"email\": \"cohen.kumar@example.com\",\n    \"login\": {\n      \"uuid\": \"5508de3c-c0d9-4288-88bb-c215f2c77d5a\",\n      \"username\": \"blueswan153\",\n      \"password\": \"animal\",\n      \"salt\": \"OIFBJCNH\",\n      \"md5\": \"92e33e2b88449a3db2e4e0a3a19a09fa\",\n      \"sha1\": \"c38e61a03ec59d36798d0626d73fb64b0e431f77\",\n      \"sha256\": \"f5162a8f3459aec6add03a463a8cbdcd45abb8fbff8acf603d1a9c83302c7500\"\n    },\n    \"dob\": {\n      \"date\": \"1980-09-25T14:49:43.525Z\",\n      \"age\": 42\n    },\n    \"registered\": {\n      \"date\": \"2006-02-15T17:17:15.115Z\",\n      \"age\": 17\n    },\n    \"phone\": \"(698)-247-1783\",\n    \"cell\": \"(896)-589-7916\",\n    \"id\": 72,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/21.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/21.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/21.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Emilio\",\n      \"last\": \"Ramírez\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 662,\n        \"name\": \"Corredor Portugal\"\n      },\n      \"city\": \"Jaral del Progreso\",\n      \"state\": \"Ciudad de Mexico\",\n      \"country\": \"Mexico\",\n      \"postcode\": 83478,\n      \"coordinates\": {\n        \"latitude\": \"-57.6866\",\n        \"longitude\": \"169.3332\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"emilio.ramirez@example.com\",\n    \"login\": {\n      \"uuid\": \"6dcf56e4-6ead-4968-9024-1bc34bccdc1f\",\n      \"username\": \"bigbear853\",\n      \"password\": \"live\",\n      \"salt\": \"2ZyCk1xM\",\n      \"md5\": \"b00f63f870665e05a3af8fe49fe78f0e\",\n      \"sha1\": \"74ca46c59878b97a33fb90b585229d1f131274e3\",\n      \"sha256\": \"ba11efc461234de6700bcba729905072135bdcac9dd16f62746a2bd05ced8578\"\n    },\n    \"dob\": {\n      \"date\": \"1991-03-18T11:45:33.772Z\",\n      \"age\": 32\n    },\n    \"registered\": {\n      \"date\": \"2007-07-04T23:43:46.191Z\",\n      \"age\": 15\n    },\n    \"phone\": \"(667) 066 4815\",\n    \"cell\": \"(662) 759 3431\",\n    \"id\": 73,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/85.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/85.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/85.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Elina\",\n      \"last\": \"Aragão\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7402,\n        \"name\": \"Rua Maranhão \"\n      },\n      \"city\": \"Águas Lindas de Goiás\",\n      \"state\": \"Alagoas\",\n      \"country\": \"Brazil\",\n      \"postcode\": 44457,\n      \"coordinates\": {\n        \"latitude\": \"-54.7530\",\n        \"longitude\": \"-41.8437\"\n      },\n      \"timezone\": {\n        \"offset\": \"-7:00\",\n        \"description\": \"Mountain Time (US & Canada)\"\n      }\n    },\n    \"email\": \"elina.aragao@example.com\",\n    \"login\": {\n      \"uuid\": \"3253be3f-7a93-4443-99bc-54f4bb855282\",\n      \"username\": \"goldenmeercat717\",\n      \"password\": \"emily\",\n      \"salt\": \"HqMCca1G\",\n      \"md5\": \"8a2b2942dca0f93b9c7ece426500be02\",\n      \"sha1\": \"3124a0f133ff21a9ff3dd7c8cdac95f13e949e3c\",\n      \"sha256\": \"94fa123370ed4b502f945f6dbcf309de47c5201d07fec707c16d8615bd50049c\"\n    },\n    \"dob\": {\n      \"date\": \"1987-04-10T15:54:10.689Z\",\n      \"age\": 36\n    },\n    \"registered\": {\n      \"date\": \"2011-06-09T16:38:01.808Z\",\n      \"age\": 11\n    },\n    \"phone\": \"(57) 4442-3602\",\n    \"cell\": \"(05) 7178-8304\",\n    \"id\": 74,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/90.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/90.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/90.jpg\"\n    },\n    \"nat\": \"BR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Landon\",\n      \"last\": \"Knight\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7325,\n        \"name\": \"Henry Street\"\n      },\n      \"city\": \"Athlone\",\n      \"state\": \"Waterford\",\n      \"country\": \"Ireland\",\n      \"postcode\": 37145,\n      \"coordinates\": {\n        \"latitude\": \"-50.0101\",\n        \"longitude\": \"-21.5535\"\n      },\n      \"timezone\": {\n        \"offset\": \"+8:00\",\n        \"description\": \"Beijing, Perth, Singapore, Hong Kong\"\n      }\n    },\n    \"email\": \"landon.knight@example.com\",\n    \"login\": {\n      \"uuid\": \"d6aaf4f6-9335-4617-a355-e70c159df459\",\n      \"username\": \"purplebutterfly454\",\n      \"password\": \"damien\",\n      \"salt\": \"jbhTIF08\",\n      \"md5\": \"d76f27a0bb3ec2bc7c49366f44a3c64c\",\n      \"sha1\": \"a192cf17b7539327af2b9e95f52dc23023eb7f02\",\n      \"sha256\": \"22406a0760c09a8b9dd07edb8c5a81a06b721e8fab5dcbdc6d84bca542d99ade\"\n    },\n    \"dob\": {\n      \"date\": \"1984-03-28T07:52:18.302Z\",\n      \"age\": 39\n    },\n    \"registered\": {\n      \"date\": \"2008-05-28T02:38:20.421Z\",\n      \"age\": 14\n    },\n    \"phone\": \"031-662-0354\",\n    \"cell\": \"081-566-9738\",\n    \"id\": 75,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/31.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/31.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/31.jpg\"\n    },\n    \"nat\": \"IE\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Harsh\",\n      \"last\": \"Raval\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7448,\n        \"name\": \"Tripolia Bazar\"\n      },\n      \"city\": \"Khandwa\",\n      \"state\": \"Assam\",\n      \"country\": \"India\",\n      \"postcode\": 51589,\n      \"coordinates\": {\n        \"latitude\": \"27.6557\",\n        \"longitude\": \"-54.0951\"\n      },\n      \"timezone\": {\n        \"offset\": \"-11:00\",\n        \"description\": \"Midway Island, Samoa\"\n      }\n    },\n    \"email\": \"harsh.raval@example.com\",\n    \"login\": {\n      \"uuid\": \"7acc298a-146b-46ab-adf4-3e69a649e6e5\",\n      \"username\": \"orangeostrich874\",\n      \"password\": \"chicks\",\n      \"salt\": \"vAMXzF4g\",\n      \"md5\": \"deb4239b25ed112967b3c0e3e0837978\",\n      \"sha1\": \"9374111562f35a70c26ae6ed8cc7ced3f81d55bf\",\n      \"sha256\": \"c3b4d3e924b7e1b74a614a9747b4d0c4c1bc16209cafb97a86384251a833364f\"\n    },\n    \"dob\": {\n      \"date\": \"1957-08-04T12:35:07.682Z\",\n      \"age\": 65\n    },\n    \"registered\": {\n      \"date\": \"2007-03-20T05:05:41.995Z\",\n      \"age\": 16\n    },\n    \"phone\": \"7549140174\",\n    \"cell\": \"9952876083\",\n    \"id\": 76,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/93.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/93.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/93.jpg\"\n    },\n    \"nat\": \"IN\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Derek\",\n      \"last\": \"Schmidt\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5344,\n        \"name\": \"Queen Street\"\n      },\n      \"city\": \"Salford\",\n      \"state\": \"County Londonderry\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"L1G 2GL\",\n      \"coordinates\": {\n        \"latitude\": \"-27.0832\",\n        \"longitude\": \"136.4428\"\n      },\n      \"timezone\": {\n        \"offset\": \"-6:00\",\n        \"description\": \"Central Time (US & Canada), Mexico City\"\n      }\n    },\n    \"email\": \"derek.schmidt@example.com\",\n    \"login\": {\n      \"uuid\": \"7a932403-57cf-44b4-828a-5b7ad5434d59\",\n      \"username\": \"sadduck834\",\n      \"password\": \"falcon\",\n      \"salt\": \"gY3lgCrK\",\n      \"md5\": \"eb92c6f225e09e978e54edf321cce50a\",\n      \"sha1\": \"3e64f6a36ce76cc3dd98acc0a6be334925a56d8d\",\n      \"sha256\": \"8300607b63290c7c0a14436069d2638583904213424b0a1f4dd10be5b8924712\"\n    },\n    \"dob\": {\n      \"date\": \"1978-11-12T03:33:40.764Z\",\n      \"age\": 44\n    },\n    \"registered\": {\n      \"date\": \"2013-05-06T15:04:36.160Z\",\n      \"age\": 10\n    },\n    \"phone\": \"015395 56297\",\n    \"cell\": \"07925 315529\",\n    \"id\": 77,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/23.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/23.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/23.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Annita\",\n      \"last\": \"Lehmkuhl\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5329,\n        \"name\": \"Jahnstraße\"\n      },\n      \"city\": \"Wiesmoor\",\n      \"state\": \"Brandenburg\",\n      \"country\": \"Germany\",\n      \"postcode\": 78678,\n      \"coordinates\": {\n        \"latitude\": \"33.4880\",\n        \"longitude\": \"-170.8396\"\n      },\n      \"timezone\": {\n        \"offset\": \"-2:00\",\n        \"description\": \"Mid-Atlantic\"\n      }\n    },\n    \"email\": \"annita.lehmkuhl@example.com\",\n    \"login\": {\n      \"uuid\": \"a02b229c-c34b-4331-993d-8366846f2ba2\",\n      \"username\": \"sadfish577\",\n      \"password\": \"andromed\",\n      \"salt\": \"y92Qj2DU\",\n      \"md5\": \"f952b466aba8166026c976b99b287a18\",\n      \"sha1\": \"9bdb46acaa84c57e7de3c8a4a096d2b66ac2ee50\",\n      \"sha256\": \"70371fabf10e88dd0479afb25739db90855a922cb7955567f1048691069b799f\"\n    },\n    \"dob\": {\n      \"date\": \"1976-04-03T06:41:13.650Z\",\n      \"age\": 47\n    },\n    \"registered\": {\n      \"date\": \"2007-04-23T20:59:14.507Z\",\n      \"age\": 16\n    },\n    \"phone\": \"0128-4035655\",\n    \"cell\": \"0174-9038995\",\n    \"id\": 78,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/24.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/24.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/24.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Stojan\",\n      \"last\": \"Radivojević\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4778,\n        \"name\": \"Rusalkina\"\n      },\n      \"city\": \"Krupanj\",\n      \"state\": \"Central Banat\",\n      \"country\": \"Serbia\",\n      \"postcode\": 50685,\n      \"coordinates\": {\n        \"latitude\": \"-11.1817\",\n        \"longitude\": \"60.7756\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:30\",\n        \"description\": \"Kabul\"\n      }\n    },\n    \"email\": \"stojan.radivojevic@example.com\",\n    \"login\": {\n      \"uuid\": \"a67f92d6-e2b0-4cb5-b54b-77c3d2e2bc54\",\n      \"username\": \"orangelion771\",\n      \"password\": \"newman\",\n      \"salt\": \"2lpmUd23\",\n      \"md5\": \"3723fed688fb47b4396574900045915a\",\n      \"sha1\": \"076a9da66d20be8d6ea509b74ce1dac8eeb1a657\",\n      \"sha256\": \"de5bf17eceeda04b8c3ec8a1e688ce7f360ad5f85a69ff497b16f8d0fa00d381\"\n    },\n    \"dob\": {\n      \"date\": \"1959-12-30T03:46:25.373Z\",\n      \"age\": 63\n    },\n    \"registered\": {\n      \"date\": \"2016-05-03T15:16:16.280Z\",\n      \"age\": 7\n    },\n    \"phone\": \"030-3695-700\",\n    \"cell\": \"063-4808-941\",\n    \"id\": 79,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/31.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/31.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/31.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Tom\",\n      \"last\": \"Barnes\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5010,\n        \"name\": \"Rolling Green Rd\"\n      },\n      \"city\": \"Bendigo\",\n      \"state\": \"Australian Capital Territory\",\n      \"country\": \"Australia\",\n      \"postcode\": 6627,\n      \"coordinates\": {\n        \"latitude\": \"-72.0171\",\n        \"longitude\": \"156.8638\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"tom.barnes@example.com\",\n    \"login\": {\n      \"uuid\": \"bd78849f-c77d-43dd-82c1-98594d7bb38a\",\n      \"username\": \"orangepeacock484\",\n      \"password\": \"laddie\",\n      \"salt\": \"rc7HaiBo\",\n      \"md5\": \"738c8a082a5d297a6315a74140a9f8a3\",\n      \"sha1\": \"2506f3695299b4d3c0c16cbb2b3d0e8c7cd4b3d5\",\n      \"sha256\": \"345a4534dcaa49282fc08f553569fd712a668a866e48c173355e5ee55caad8a2\"\n    },\n    \"dob\": {\n      \"date\": \"1996-01-16T10:30:51.725Z\",\n      \"age\": 27\n    },\n    \"registered\": {\n      \"date\": \"2003-09-05T01:17:41.784Z\",\n      \"age\": 19\n    },\n    \"phone\": \"06-1787-7086\",\n    \"cell\": \"0471-967-550\",\n    \"id\": 80,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/65.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/65.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/65.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Begüm\",\n      \"last\": \"Yıldızoğlu\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2537,\n        \"name\": \"Tunalı Hilmi Cd\"\n      },\n      \"city\": \"Kars\",\n      \"state\": \"Çankırı\",\n      \"country\": \"Turkey\",\n      \"postcode\": 37934,\n      \"coordinates\": {\n        \"latitude\": \"9.9109\",\n        \"longitude\": \"-31.0190\"\n      },\n      \"timezone\": {\n        \"offset\": \"-9:00\",\n        \"description\": \"Alaska\"\n      }\n    },\n    \"email\": \"begum.yildizoglu@example.com\",\n    \"login\": {\n      \"uuid\": \"71a5f5e1-9fc2-4a82-b9c0-67702216afa2\",\n      \"username\": \"purpledog181\",\n      \"password\": \"hershey\",\n      \"salt\": \"TNiykOA7\",\n      \"md5\": \"b0cfbc3dcb68dd60f08b66ab47c8ffeb\",\n      \"sha1\": \"ac28e3e3c979c1805c1c9f375dcff71eb0d2fd95\",\n      \"sha256\": \"404f3eaef34bfa319844bd37f29fa236913654126147c48a8dfce7996e54beb9\"\n    },\n    \"dob\": {\n      \"date\": \"1976-09-23T04:23:00.920Z\",\n      \"age\": 46\n    },\n    \"registered\": {\n      \"date\": \"2004-02-09T05:07:56.869Z\",\n      \"age\": 19\n    },\n    \"phone\": \"(107)-743-4374\",\n    \"cell\": \"(639)-734-4371\",\n    \"id\": 81,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/72.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/72.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/72.jpg\"\n    },\n    \"nat\": \"TR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Jennifer\",\n      \"last\": \"Freeman\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8502,\n        \"name\": \"Alexander Road\"\n      },\n      \"city\": \"Dublin\",\n      \"state\": \"Wicklow\",\n      \"country\": \"Ireland\",\n      \"postcode\": 71177,\n      \"coordinates\": {\n        \"latitude\": \"51.9852\",\n        \"longitude\": \"38.6306\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:45\",\n        \"description\": \"Kathmandu\"\n      }\n    },\n    \"email\": \"jennifer.freeman@example.com\",\n    \"login\": {\n      \"uuid\": \"a28bb463-9f8c-468d-a5fe-91fa4095e493\",\n      \"username\": \"silverbear448\",\n      \"password\": \"manager\",\n      \"salt\": \"SZRWYfPm\",\n      \"md5\": \"f8defdd8276eafd3b28253dbb2130b88\",\n      \"sha1\": \"52303077de432f18e6e4c033b79156dbfe2ba819\",\n      \"sha256\": \"6e23d3cc94a6f32b12262dab320dc9cac6922a5c9c621b3297e915af46852c33\"\n    },\n    \"dob\": {\n      \"date\": \"2000-08-28T16:20:01.586Z\",\n      \"age\": 22\n    },\n    \"registered\": {\n      \"date\": \"2012-06-13T13:06:55.986Z\",\n      \"age\": 10\n    },\n    \"phone\": \"011-579-3352\",\n    \"cell\": \"081-997-2144\",\n    \"id\": 82,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/62.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/62.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/62.jpg\"\n    },\n    \"nat\": \"IE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Ella\",\n      \"last\": \"Torres\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3624,\n        \"name\": \"Wheeler Ridge Dr\"\n      },\n      \"city\": \"Vancouver\",\n      \"state\": \"Massachusetts\",\n      \"country\": \"United States\",\n      \"postcode\": 32616,\n      \"coordinates\": {\n        \"latitude\": \"33.2604\",\n        \"longitude\": \"65.7104\"\n      },\n      \"timezone\": {\n        \"offset\": \"+10:00\",\n        \"description\": \"Eastern Australia, Guam, Vladivostok\"\n      }\n    },\n    \"email\": \"ella.torres@example.com\",\n    \"login\": {\n      \"uuid\": \"42a2e158-6bc7-47ee-8b45-4840366cce61\",\n      \"username\": \"smallbird365\",\n      \"password\": \"passwor1\",\n      \"salt\": \"CRpVlFGR\",\n      \"md5\": \"6a4f3b341c024107beb3a2716d879ed9\",\n      \"sha1\": \"ff8f260caee3ef378c913123a1c586e5ac00a1d0\",\n      \"sha256\": \"c94f80db19595326b3bb3dfce16ac87d151dba836c8e00f8c74910912daaf95f\"\n    },\n    \"dob\": {\n      \"date\": \"1974-09-13T20:18:13.065Z\",\n      \"age\": 48\n    },\n    \"registered\": {\n      \"date\": \"2003-01-10T13:09:57.136Z\",\n      \"age\": 20\n    },\n    \"phone\": \"(771) 721-6337\",\n    \"cell\": \"(328) 252-6805\",\n    \"id\": 83,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/4.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/4.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/4.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Emmi\",\n      \"last\": \"Nikula\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4003,\n        \"name\": \"Mechelininkatu\"\n      },\n      \"city\": \"Polvijärvi\",\n      \"state\": \"Lapland\",\n      \"country\": \"Finland\",\n      \"postcode\": 24244,\n      \"coordinates\": {\n        \"latitude\": \"40.3241\",\n        \"longitude\": \"-149.7795\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"emmi.nikula@example.com\",\n    \"login\": {\n      \"uuid\": \"2259f456-4155-47f3-9e02-e2de0b099055\",\n      \"username\": \"purplepeacock404\",\n      \"password\": \"celeron\",\n      \"salt\": \"GcrWEkG2\",\n      \"md5\": \"7eede66c2978f8b248402b6f390b24f8\",\n      \"sha1\": \"f0f95a5bcb943400ce2871fb5abf941adabd30f0\",\n      \"sha256\": \"af9061798a20e5944ed4cd2b348a399b6369c6ad7638f9ad96dbd66b4f264760\"\n    },\n    \"dob\": {\n      \"date\": \"1979-10-30T13:53:49.577Z\",\n      \"age\": 43\n    },\n    \"registered\": {\n      \"date\": \"2004-05-24T09:03:33.927Z\",\n      \"age\": 18\n    },\n    \"phone\": \"06-336-408\",\n    \"cell\": \"047-096-59-23\",\n    \"id\": 84,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/82.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/82.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/82.jpg\"\n    },\n    \"nat\": \"FI\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Monsieur\",\n      \"first\": \"Matteo\",\n      \"last\": \"Vidal\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6502,\n        \"name\": \"Boulevard de Balmont\"\n      },\n      \"city\": \"Cugnasco-Gerra\",\n      \"state\": \"Thurgau\",\n      \"country\": \"Switzerland\",\n      \"postcode\": 9221,\n      \"coordinates\": {\n        \"latitude\": \"20.2748\",\n        \"longitude\": \"-149.2741\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"matteo.vidal@example.com\",\n    \"login\": {\n      \"uuid\": \"495e118b-4066-454e-b5e5-427f13893a7c\",\n      \"username\": \"angrygorilla738\",\n      \"password\": \"sleepy\",\n      \"salt\": \"JL2rRdCA\",\n      \"md5\": \"8a09bd71fec961dff86cf3d3142bd6e4\",\n      \"sha1\": \"ccf8caf0d948218fd782ca62a77650316f8adeb9\",\n      \"sha256\": \"b7c4dbcac57c6c34b9d032f1fd4f7da8be2d35f527e0ee4c2068ec225c3a0a16\"\n    },\n    \"dob\": {\n      \"date\": \"1986-12-22T23:39:49.312Z\",\n      \"age\": 36\n    },\n    \"registered\": {\n      \"date\": \"2006-12-08T08:37:23.564Z\",\n      \"age\": 16\n    },\n    \"phone\": \"075 345 37 80\",\n    \"cell\": \"078 285 23 23\",\n    \"id\": 85,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/32.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/32.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/32.jpg\"\n    },\n    \"nat\": \"CH\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Horacio\",\n      \"last\": \"Meraz\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 695,\n        \"name\": \"Callejón Oaxaca\"\n      },\n      \"city\": \"Loreto (Teresa)\",\n      \"state\": \"Nuevo Leon\",\n      \"country\": \"Mexico\",\n      \"postcode\": 29263,\n      \"coordinates\": {\n        \"latitude\": \"37.2633\",\n        \"longitude\": \"86.8457\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"horacio.meraz@example.com\",\n    \"login\": {\n      \"uuid\": \"a8c20d44-4013-4c75-aca5-e0b5a540d8b3\",\n      \"username\": \"smallkoala605\",\n      \"password\": \"jojo\",\n      \"salt\": \"45uPy7Y1\",\n      \"md5\": \"9dd3f042f7e79a4e465ad122f51f89f9\",\n      \"sha1\": \"fb89346d243489d46f3fa6ca2159e2cffb201dc8\",\n      \"sha256\": \"0a678f726acf393024203ce0171742fc7c020fb589deb5edbffe50f74c2cc89a\"\n    },\n    \"dob\": {\n      \"date\": \"1950-01-14T22:52:44.950Z\",\n      \"age\": 73\n    },\n    \"registered\": {\n      \"date\": \"2021-03-04T22:00:16.528Z\",\n      \"age\": 2\n    },\n    \"phone\": \"(686) 830 3553\",\n    \"cell\": \"(604) 458 1499\",\n    \"id\": 86,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/86.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/86.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/86.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Mathilde\",\n      \"last\": \"Larsen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7442,\n        \"name\": \"Sorøvej\"\n      },\n      \"city\": \"Øster Assels\",\n      \"state\": \"Midtjylland\",\n      \"country\": \"Denmark\",\n      \"postcode\": 39345,\n      \"coordinates\": {\n        \"latitude\": \"-6.0439\",\n        \"longitude\": \"-40.3016\"\n      },\n      \"timezone\": {\n        \"offset\": \"-1:00\",\n        \"description\": \"Azores, Cape Verde Islands\"\n      }\n    },\n    \"email\": \"mathilde.larsen@example.com\",\n    \"login\": {\n      \"uuid\": \"19b51afc-a9fd-4851-8064-343e943dae27\",\n      \"username\": \"brownbear722\",\n      \"password\": \"shiner\",\n      \"salt\": \"AEGVGKAa\",\n      \"md5\": \"5a6346a36a821dd93225e6cc7cc625f0\",\n      \"sha1\": \"441ef58efcaf62fb1295c10ac41588f96cc2dfad\",\n      \"sha256\": \"e5662fcd1094280155ef38980c912ac9602fdb76af59bfa4f628c8d9cea101e1\"\n    },\n    \"dob\": {\n      \"date\": \"1982-03-25T09:11:36.557Z\",\n      \"age\": 41\n    },\n    \"registered\": {\n      \"date\": \"2012-12-07T13:46:31.312Z\",\n      \"age\": 10\n    },\n    \"phone\": \"46649898\",\n    \"cell\": \"81612063\",\n    \"id\": 87,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/24.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/24.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/24.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Emma\",\n      \"last\": \"Margaret\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1381,\n        \"name\": \"9th St\"\n      },\n      \"city\": \"Hampstead\",\n      \"state\": \"Yukon\",\n      \"country\": \"Canada\",\n      \"postcode\": \"K8N 6C4\",\n      \"coordinates\": {\n        \"latitude\": \"-86.7991\",\n        \"longitude\": \"-168.0160\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:30\",\n        \"description\": \"Kabul\"\n      }\n    },\n    \"email\": \"emma.margaret@example.com\",\n    \"login\": {\n      \"uuid\": \"04e054ad-e300-45d8-a648-0e29b67a6a06\",\n      \"username\": \"whitetiger916\",\n      \"password\": \"gonavy\",\n      \"salt\": \"DFJdbpAN\",\n      \"md5\": \"5451c3a4da05442a1db76b71aca87cea\",\n      \"sha1\": \"d432eb4520a3c24cfdae2067e53b58207516bc24\",\n      \"sha256\": \"d4cbea0ffcb56f82b38a9e396fe095993d19a8fe517958f4960661e71c617fd0\"\n    },\n    \"dob\": {\n      \"date\": \"1993-10-26T18:26:47.920Z\",\n      \"age\": 29\n    },\n    \"registered\": {\n      \"date\": \"2020-02-25T08:26:27.154Z\",\n      \"age\": 3\n    },\n    \"phone\": \"W25 E81-7241\",\n    \"cell\": \"Z17 O69-0230\",\n    \"id\": 88,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/88.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/88.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/88.jpg\"\n    },\n    \"nat\": \"CA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Silvija\",\n      \"last\": \"Topić\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1626,\n        \"name\": \"Stublinska\"\n      },\n      \"city\": \"Blace\",\n      \"state\": \"Rasina\",\n      \"country\": \"Serbia\",\n      \"postcode\": 28568,\n      \"coordinates\": {\n        \"latitude\": \"-77.1871\",\n        \"longitude\": \"154.0744\"\n      },\n      \"timezone\": {\n        \"offset\": \"-4:00\",\n        \"description\": \"Atlantic Time (Canada), Caracas, La Paz\"\n      }\n    },\n    \"email\": \"silvija.topic@example.com\",\n    \"login\": {\n      \"uuid\": \"1524e5e3-2981-4817-857b-0e5209a9ac8e\",\n      \"username\": \"purplemeercat260\",\n      \"password\": \"kestrel\",\n      \"salt\": \"sLKrbTru\",\n      \"md5\": \"78a668870860449e713ad16c4521a519\",\n      \"sha1\": \"8a8aa8634e7421451226df34168ab36f5107f961\",\n      \"sha256\": \"51e6d1d51a6521ca375bd729c8fdb71562531442c3761c3dd49399c7674749e0\"\n    },\n    \"dob\": {\n      \"date\": \"1955-11-04T06:44:59.908Z\",\n      \"age\": 67\n    },\n    \"registered\": {\n      \"date\": \"2010-12-09T17:39:02.015Z\",\n      \"age\": 12\n    },\n    \"phone\": \"015-1893-014\",\n    \"cell\": \"068-4572-689\",\n    \"id\": 89,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/26.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/26.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/26.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Holly\",\n      \"last\": \"Harris\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2251,\n        \"name\": \"Sherborne Street\"\n      },\n      \"city\": \"Blenheim\",\n      \"state\": \"West Coast\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 72711,\n      \"coordinates\": {\n        \"latitude\": \"-86.1252\",\n        \"longitude\": \"-177.0775\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:00\",\n        \"description\": \"Abu Dhabi, Muscat, Baku, Tbilisi\"\n      }\n    },\n    \"email\": \"holly.harris@example.com\",\n    \"login\": {\n      \"uuid\": \"b1bcf277-f70f-4532-8132-4a09c25b9300\",\n      \"username\": \"beautifulswan583\",\n      \"password\": \"bounty\",\n      \"salt\": \"umRYWPMj\",\n      \"md5\": \"0f38c1cd7e7334b0ccbbeb562f47fdc8\",\n      \"sha1\": \"817ed0bfc70329614b629ef1314263f96f04493a\",\n      \"sha256\": \"854c58f3bbaa6cf2b81459e94d6d248af3caf8fb2373597d803a7112013016bf\"\n    },\n    \"dob\": {\n      \"date\": \"1946-09-15T16:37:42.517Z\",\n      \"age\": 76\n    },\n    \"registered\": {\n      \"date\": \"2017-04-06T21:14:22.872Z\",\n      \"age\": 6\n    },\n    \"phone\": \"(860)-611-3087\",\n    \"cell\": \"(550)-802-4365\",\n    \"id\": 90,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/73.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/73.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/73.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Viona\",\n      \"last\": \"Rondeel\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6337,\n        \"name\": \"Ahrstraat\"\n      },\n      \"city\": \"Den Horn\",\n      \"state\": \"Zeeland\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"6152 LC\",\n      \"coordinates\": {\n        \"latitude\": \"-48.9903\",\n        \"longitude\": \"38.1183\"\n      },\n      \"timezone\": {\n        \"offset\": \"-8:00\",\n        \"description\": \"Pacific Time (US & Canada)\"\n      }\n    },\n    \"email\": \"viona.rondeel@example.com\",\n    \"login\": {\n      \"uuid\": \"d29e4127-b723-43b4-915e-def5d5508b87\",\n      \"username\": \"brownladybug525\",\n      \"password\": \"blueberr\",\n      \"salt\": \"aVhA3gMj\",\n      \"md5\": \"b96e0bbd712f2d4aacb3b4eef27645fd\",\n      \"sha1\": \"ae733ec04c1e018e4ba53381f482c61465dc8fe8\",\n      \"sha256\": \"24541a60bdb0f7cce705775b840c20e4fe018f35d4bf2a803e5ed0907d665f9b\"\n    },\n    \"dob\": {\n      \"date\": \"1980-08-13T07:16:15.300Z\",\n      \"age\": 42\n    },\n    \"registered\": {\n      \"date\": \"2006-03-26T16:59:22.790Z\",\n      \"age\": 17\n    },\n    \"phone\": \"(003) 0382999\",\n    \"cell\": \"(06) 50912078\",\n    \"id\": 91,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/25.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/25.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/25.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Yanaika\",\n      \"last\": \"De Borst\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8548,\n        \"name\": \"Goeman Borgesiusplein\"\n      },\n      \"city\": \"Balk\",\n      \"state\": \"Gelderland\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"1787 RC\",\n      \"coordinates\": {\n        \"latitude\": \"33.0454\",\n        \"longitude\": \"142.5926\"\n      },\n      \"timezone\": {\n        \"offset\": \"+6:00\",\n        \"description\": \"Almaty, Dhaka, Colombo\"\n      }\n    },\n    \"email\": \"yanaika.deborst@example.com\",\n    \"login\": {\n      \"uuid\": \"4de6294e-d04c-4e84-b570-720504f93f13\",\n      \"username\": \"bluekoala110\",\n      \"password\": \"pictere\",\n      \"salt\": \"kFS5M1QT\",\n      \"md5\": \"9684dceac83ce1fbe38d80be9d1dbab3\",\n      \"sha1\": \"f0c28df5b6271ba07ac2c583b11fee8631c2fcca\",\n      \"sha256\": \"497c1bca666c22048a709ae931d755ee9c9da5d60be7e0219ce8bfd86170c3a8\"\n    },\n    \"dob\": {\n      \"date\": \"1967-07-29T00:56:08.858Z\",\n      \"age\": 55\n    },\n    \"registered\": {\n      \"date\": \"2006-07-06T03:49:48.345Z\",\n      \"age\": 16\n    },\n    \"phone\": \"(0410) 445847\",\n    \"cell\": \"(06) 10089207\",\n    \"id\": 92,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/19.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/19.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/19.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Filip\",\n      \"last\": \"Vartdal\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4570,\n        \"name\": \"Tryms vei\"\n      },\n      \"city\": \"Åkrehamn\",\n      \"state\": \"Telemark\",\n      \"country\": \"Norway\",\n      \"postcode\": \"7651\",\n      \"coordinates\": {\n        \"latitude\": \"32.1960\",\n        \"longitude\": \"-131.7501\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:30\",\n        \"description\": \"Tehran\"\n      }\n    },\n    \"email\": \"filip.vartdal@example.com\",\n    \"login\": {\n      \"uuid\": \"e2e7b253-8ebc-417d-8da6-8ebe93029554\",\n      \"username\": \"goldenrabbit901\",\n      \"password\": \"hithere\",\n      \"salt\": \"0C1Nd70i\",\n      \"md5\": \"c967431b402c1f410ddaa5dc5206beaf\",\n      \"sha1\": \"0fc490c810315b9a36e560826e4e4007200168e4\",\n      \"sha256\": \"8bd3b01a6205a0e7018e3db5c0bcac5cf7d297491b7575c08d8dccac75f4f75a\"\n    },\n    \"dob\": {\n      \"date\": \"1997-08-29T11:02:59.832Z\",\n      \"age\": 25\n    },\n    \"registered\": {\n      \"date\": \"2013-02-03T08:41:22.032Z\",\n      \"age\": 10\n    },\n    \"phone\": \"52245111\",\n    \"cell\": \"91681926\",\n    \"id\": 93,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/85.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/85.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/85.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Tyrone\",\n      \"last\": \"Hawkins\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2515,\n        \"name\": \"Mill Lane\"\n      },\n      \"city\": \"Chichester\",\n      \"state\": \"Herefordshire\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"ZH7 6ZS\",\n      \"coordinates\": {\n        \"latitude\": \"-64.2454\",\n        \"longitude\": \"160.8852\"\n      },\n      \"timezone\": {\n        \"offset\": \"+7:00\",\n        \"description\": \"Bangkok, Hanoi, Jakarta\"\n      }\n    },\n    \"email\": \"tyrone.hawkins@example.com\",\n    \"login\": {\n      \"uuid\": \"ebc660bc-1379-4626-a48e-8b14bbf715d4\",\n      \"username\": \"lazykoala612\",\n      \"password\": \"washington\",\n      \"salt\": \"U1LQUlbI\",\n      \"md5\": \"4fb5c854ad94ea9b559e13878461e7fa\",\n      \"sha1\": \"be23b112d1cf5feca51b67eee1caee533398ab35\",\n      \"sha256\": \"0f9f10863e34a29cc1cca6f8b67a26f072215e3f591c0ed8b30e8eea227c49d3\"\n    },\n    \"dob\": {\n      \"date\": \"1964-01-18T13:39:16.085Z\",\n      \"age\": 59\n    },\n    \"registered\": {\n      \"date\": \"2013-04-03T19:40:04.462Z\",\n      \"age\": 10\n    },\n    \"phone\": \"015394 32512\",\n    \"cell\": \"07703 968486\",\n    \"id\": 94,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/22.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/22.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/22.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Elsa\",\n      \"last\": \"Leclerc\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1413,\n        \"name\": \"Rue Pierre-Delore\"\n      },\n      \"city\": \"Avignon\",\n      \"state\": \"Yonne\",\n      \"country\": \"France\",\n      \"postcode\": 75337,\n      \"coordinates\": {\n        \"latitude\": \"67.3412\",\n        \"longitude\": \"101.0311\"\n      },\n      \"timezone\": {\n        \"offset\": \"-11:00\",\n        \"description\": \"Midway Island, Samoa\"\n      }\n    },\n    \"email\": \"elsa.leclerc@example.com\",\n    \"login\": {\n      \"uuid\": \"cdca3d7b-2a1e-4e5d-bf64-e1cf492b861d\",\n      \"username\": \"whitemeercat639\",\n      \"password\": \"memory\",\n      \"salt\": \"v5hRcDXK\",\n      \"md5\": \"33ef3d27a1bc32de61581501eda34f85\",\n      \"sha1\": \"fccf0f7ddec2fb98d7adb98d066e84ab020dc953\",\n      \"sha256\": \"1ce27d1dbca509cb194ab85c4b884fdc256caecb7526a9699ad089e8531b2949\"\n    },\n    \"dob\": {\n      \"date\": \"1990-12-26T14:41:03.715Z\",\n      \"age\": 32\n    },\n    \"registered\": {\n      \"date\": \"2018-01-09T05:29:39.189Z\",\n      \"age\": 5\n    },\n    \"phone\": \"01-53-13-91-40\",\n    \"cell\": \"06-26-37-39-62\",\n    \"id\": 95,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/44.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/44.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/44.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"زهرا\",\n      \"last\": \"سلطانی نژاد\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4930,\n        \"name\": \"آزادی\"\n      },\n      \"city\": \"قرچک\",\n      \"state\": \"اردبیل\",\n      \"country\": \"Iran\",\n      \"postcode\": 58848,\n      \"coordinates\": {\n        \"latitude\": \"61.0748\",\n        \"longitude\": \"-124.3879\"\n      },\n      \"timezone\": {\n        \"offset\": \"+6:00\",\n        \"description\": \"Almaty, Dhaka, Colombo\"\n      }\n    },\n    \"email\": \"zhr.sltnynjd@example.com\",\n    \"login\": {\n      \"uuid\": \"d4805b0a-b879-4a17-8a08-7a7f268fb37d\",\n      \"username\": \"orangetiger884\",\n      \"password\": \"amber1\",\n      \"salt\": \"VNTJswYU\",\n      \"md5\": \"525912cdf22017c1de665f82194e77ac\",\n      \"sha1\": \"c3578c28c68203b488b3a3f79194375b8c4942bb\",\n      \"sha256\": \"ae16653062d3c6190b9a1bf5ffd5ec4369f583abb818808889c97001c27d447a\"\n    },\n    \"dob\": {\n      \"date\": \"1950-07-23T15:03:04.773Z\",\n      \"age\": 72\n    },\n    \"registered\": {\n      \"date\": \"2012-10-13T22:00:44.428Z\",\n      \"age\": 10\n    },\n    \"phone\": \"031-07472240\",\n    \"cell\": \"0996-914-4348\",\n    \"id\": 96,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/74.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/74.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/74.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Raymond\",\n      \"last\": \"Fleming\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9429,\n        \"name\": \"Killarney Road\"\n      },\n      \"city\": \"Birr\",\n      \"state\": \"Offaly\",\n      \"country\": \"Ireland\",\n      \"postcode\": 43417,\n      \"coordinates\": {\n        \"latitude\": \"85.6495\",\n        \"longitude\": \"-21.8556\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"raymond.fleming@example.com\",\n    \"login\": {\n      \"uuid\": \"cc9e90f4-16dc-4e10-907b-e8e3cfffdf33\",\n      \"username\": \"lazyfish629\",\n      \"password\": \"lambda\",\n      \"salt\": \"j6f6if10\",\n      \"md5\": \"16ea1e749e8b7eb7c4e760177c1ebeb7\",\n      \"sha1\": \"b5dfef479e15fd830b030acd761c5e4df3feb180\",\n      \"sha256\": \"3c2d4ef19a31091b74cf3b53ca649e77b0625e0df53b0a52fa2935d66d96e367\"\n    },\n    \"dob\": {\n      \"date\": \"1982-12-19T00:55:44.282Z\",\n      \"age\": 40\n    },\n    \"registered\": {\n      \"date\": \"2017-07-06T02:50:42.148Z\",\n      \"age\": 5\n    },\n    \"phone\": \"051-312-2721\",\n    \"cell\": \"081-090-9445\",\n    \"id\": 97,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/8.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/8.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/8.jpg\"\n    },\n    \"nat\": \"IE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"پارمیس\",\n      \"last\": \"احمدی\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7873,\n        \"name\": \"دکتر علی شریعتی\"\n      },\n      \"city\": \"ورامین\",\n      \"state\": \"اردبیل\",\n      \"country\": \"Iran\",\n      \"postcode\": 15454,\n      \"coordinates\": {\n        \"latitude\": \"51.8610\",\n        \"longitude\": \"100.1056\"\n      },\n      \"timezone\": {\n        \"offset\": \"0:00\",\n        \"description\": \"Western Europe Time, London, Lisbon, Casablanca\"\n      }\n    },\n    \"email\": \"prmys.hmdy@example.com\",\n    \"login\": {\n      \"uuid\": \"c7d0d1f7-7741-44de-b09c-a29b8776094a\",\n      \"username\": \"blueostrich773\",\n      \"password\": \"tracey\",\n      \"salt\": \"dwAeLXVo\",\n      \"md5\": \"3345908ad8b105e57c075e4727c2a610\",\n      \"sha1\": \"abef9c523d56e36dd8072c7c1dd9eae5f2dada7e\",\n      \"sha256\": \"be1e1d078bd5aacff038e8a334d63d58917287c70435fb0e3265b4c8881f4cf4\"\n    },\n    \"dob\": {\n      \"date\": \"1991-03-31T06:43:11.889Z\",\n      \"age\": 32\n    },\n    \"registered\": {\n      \"date\": \"2009-11-27T17:12:33.928Z\",\n      \"age\": 13\n    },\n    \"phone\": \"047-93268403\",\n    \"cell\": \"0945-952-1216\",\n    \"id\": 98,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/74.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/74.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/74.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Tracey\",\n      \"last\": \"Olson\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9599,\n        \"name\": \"Edwards Rd\"\n      },\n      \"city\": \"Addison\",\n      \"state\": \"Pennsylvania\",\n      \"country\": \"United States\",\n      \"postcode\": 43519,\n      \"coordinates\": {\n        \"latitude\": \"-72.5582\",\n        \"longitude\": \"-156.1336\"\n      },\n      \"timezone\": {\n        \"offset\": \"-7:00\",\n        \"description\": \"Mountain Time (US & Canada)\"\n      }\n    },\n    \"email\": \"tracey.olson@example.com\",\n    \"login\": {\n      \"uuid\": \"cfbfc96d-545b-4363-83bb-d610af63b2f4\",\n      \"username\": \"yellowcat602\",\n      \"password\": \"trash\",\n      \"salt\": \"vhyeD4Qq\",\n      \"md5\": \"34e00cc7a27210221582872c8e5f75be\",\n      \"sha1\": \"f4fc8b3dbf432d876021f85d16e62081dde88361\",\n      \"sha256\": \"03cdbcf300044658da70c6e8f6736e2a5cb56932057b3799ea57d16f708c23db\"\n    },\n    \"dob\": {\n      \"date\": \"1976-10-18T07:45:47.897Z\",\n      \"age\": 46\n    },\n    \"registered\": {\n      \"date\": \"2005-08-14T05:38:10.255Z\",\n      \"age\": 17\n    },\n    \"phone\": \"(563) 890-6542\",\n    \"cell\": \"(235) 380-0256\",\n    \"id\": 99,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/72.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/72.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/72.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Harri\",\n      \"last\": \"Hess\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7284,\n        \"name\": \"Beethovenstraße\"\n      },\n      \"city\": \"Müncheberg\",\n      \"state\": \"Brandenburg\",\n      \"country\": \"Germany\",\n      \"postcode\": 70029,\n      \"coordinates\": {\n        \"latitude\": \"86.6705\",\n        \"longitude\": \"-89.7450\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"harri.hess@example.com\",\n    \"login\": {\n      \"uuid\": \"f5bcf235-a443-4996-9f9c-d07f5f2aa5e0\",\n      \"username\": \"tinyfrog661\",\n      \"password\": \"quantum\",\n      \"salt\": \"xexdQBhj\",\n      \"md5\": \"80f462802640c6e68c565fea092a746c\",\n      \"sha1\": \"12706e2b68b1390c6a06f91c1b1c415747563cd9\",\n      \"sha256\": \"bea5a9ad1682304c533c86a1fabdf931b36f5c5a163f25c03a15e8217d74de3b\"\n    },\n    \"dob\": {\n      \"date\": \"1997-05-21T15:25:10.270Z\",\n      \"age\": 25\n    },\n    \"registered\": {\n      \"date\": \"2006-08-27T16:13:33.275Z\",\n      \"age\": 16\n    },\n    \"phone\": \"0438-0971174\",\n    \"cell\": \"0178-1697141\",\n    \"id\": 100,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/85.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/85.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/85.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Hector\",\n      \"last\": \"Holland\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7449,\n        \"name\": \"Parker Rd\"\n      },\n      \"city\": \"Devonport\",\n      \"state\": \"New South Wales\",\n      \"country\": \"Australia\",\n      \"postcode\": 4165,\n      \"coordinates\": {\n        \"latitude\": \"-60.8568\",\n        \"longitude\": \"35.2565\"\n      },\n      \"timezone\": {\n        \"offset\": \"-2:00\",\n        \"description\": \"Mid-Atlantic\"\n      }\n    },\n    \"email\": \"hector.holland@example.com\",\n    \"login\": {\n      \"uuid\": \"655d0147-5ca7-4fed-a32f-1b566fd6ecb7\",\n      \"username\": \"redbird419\",\n      \"password\": \"legacy\",\n      \"salt\": \"HECpHMAe\",\n      \"md5\": \"ed9c14730e73e4d0e49607c93f283a9b\",\n      \"sha1\": \"0643a0bc5d917f6e54f5f340061c827f783744a9\",\n      \"sha256\": \"227f61ffbbb8697da4523697d91e0d114b151e4b5dc36a8dcc391ba3e2393c7b\"\n    },\n    \"dob\": {\n      \"date\": \"1989-12-27T06:42:36.028Z\",\n      \"age\": 33\n    },\n    \"registered\": {\n      \"date\": \"2015-05-11T18:57:44.872Z\",\n      \"age\": 8\n    },\n    \"phone\": \"09-2030-9069\",\n    \"cell\": \"0494-805-670\",\n    \"id\": 101,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/6.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/6.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/6.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Janko\",\n      \"last\": \"Kojić\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2059,\n        \"name\": \"Porodice Stojić\"\n      },\n      \"city\": \"Preševo\",\n      \"state\": \"Šumadija\",\n      \"country\": \"Serbia\",\n      \"postcode\": 54870,\n      \"coordinates\": {\n        \"latitude\": \"8.9872\",\n        \"longitude\": \"-129.5470\"\n      },\n      \"timezone\": {\n        \"offset\": \"+7:00\",\n        \"description\": \"Bangkok, Hanoi, Jakarta\"\n      }\n    },\n    \"email\": \"janko.kojic@example.com\",\n    \"login\": {\n      \"uuid\": \"16bc03b7-442b-4229-aaf1-349f4d7d0b87\",\n      \"username\": \"greenpanda411\",\n      \"password\": \"celtic\",\n      \"salt\": \"JF938Twk\",\n      \"md5\": \"3f7a25b3e168b809fb5f14f2fa7a2b0a\",\n      \"sha1\": \"d5262f1e9099a4cc29ee9e60f280242f1c195a1c\",\n      \"sha256\": \"8de083d98a1636022a86d26f4a88e6295fc768e17e2aa5ffeea95900a29039d2\"\n    },\n    \"dob\": {\n      \"date\": \"1990-03-13T11:05:43.482Z\",\n      \"age\": 33\n    },\n    \"registered\": {\n      \"date\": \"2019-10-28T02:52:26.813Z\",\n      \"age\": 3\n    },\n    \"phone\": \"025-1839-386\",\n    \"cell\": \"064-2016-722\",\n    \"id\": 102,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/19.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/19.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/19.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Sergio\",\n      \"last\": \"Rocha\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5162,\n        \"name\": \"Continuación Cintrón\"\n      },\n      \"city\": \"Mérida\",\n      \"state\": \"Sonora\",\n      \"country\": \"Mexico\",\n      \"postcode\": 80263,\n      \"coordinates\": {\n        \"latitude\": \"-27.2054\",\n        \"longitude\": \"-108.6119\"\n      },\n      \"timezone\": {\n        \"offset\": \"-5:00\",\n        \"description\": \"Eastern Time (US & Canada), Bogota, Lima\"\n      }\n    },\n    \"email\": \"sergio.rocha@example.com\",\n    \"login\": {\n      \"uuid\": \"6233072e-f1b0-439a-9270-8aa36cfb3724\",\n      \"username\": \"ticklishleopard775\",\n      \"password\": \"davids\",\n      \"salt\": \"rUMvXERx\",\n      \"md5\": \"27c237a219b5c4fe2999625eb7092de5\",\n      \"sha1\": \"8e501c4c6bb3aed16df253193f7b9f44c201af39\",\n      \"sha256\": \"1c3b8bed1c477bb34606171843f489edc6cae30d56888cd68296b3003384c8ed\"\n    },\n    \"dob\": {\n      \"date\": \"1956-10-19T07:47:25.518Z\",\n      \"age\": 66\n    },\n    \"registered\": {\n      \"date\": \"2007-05-29T23:18:01.178Z\",\n      \"age\": 15\n    },\n    \"phone\": \"(673) 578 7575\",\n    \"cell\": \"(648) 404 7378\",\n    \"id\": 103,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/46.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/46.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/46.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Maya\",\n      \"last\": \"Noel\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4548,\n        \"name\": \"Avenue des Ternes\"\n      },\n      \"city\": \"Reims\",\n      \"state\": \"Meuse\",\n      \"country\": \"France\",\n      \"postcode\": 82573,\n      \"coordinates\": {\n        \"latitude\": \"7.3003\",\n        \"longitude\": \"-121.9266\"\n      },\n      \"timezone\": {\n        \"offset\": \"-5:00\",\n        \"description\": \"Eastern Time (US & Canada), Bogota, Lima\"\n      }\n    },\n    \"email\": \"maya.noel@example.com\",\n    \"login\": {\n      \"uuid\": \"7be439c5-3f3e-44ac-a544-0385e66ac97a\",\n      \"username\": \"yellowzebra692\",\n      \"password\": \"cyclones\",\n      \"salt\": \"xfWcBkH2\",\n      \"md5\": \"8e1dbb7891207ba36ef77314c31c82d4\",\n      \"sha1\": \"7978ef98e059692c2dd350dac6874999e28f4ec4\",\n      \"sha256\": \"bc9eb7867e14a3e339b5828e3735fa786964a2b3046ace5b3b66e91e1ea79a29\"\n    },\n    \"dob\": {\n      \"date\": \"2000-10-13T12:30:51.921Z\",\n      \"age\": 22\n    },\n    \"registered\": {\n      \"date\": \"2006-04-30T18:58:58.478Z\",\n      \"age\": 17\n    },\n    \"phone\": \"01-71-07-49-32\",\n    \"cell\": \"06-77-98-89-77\",\n    \"id\": 104,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/59.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/59.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/59.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Óliver\",\n      \"last\": \"Santiago\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7880,\n        \"name\": \"Continuación Cintrón\"\n      },\n      \"city\": \"Cubiri de Portelas\",\n      \"state\": \"Guerrero\",\n      \"country\": \"Mexico\",\n      \"postcode\": 54190,\n      \"coordinates\": {\n        \"latitude\": \"40.6344\",\n        \"longitude\": \"28.9271\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:00\",\n        \"description\": \"Abu Dhabi, Muscat, Baku, Tbilisi\"\n      }\n    },\n    \"email\": \"oliver.santiago@example.com\",\n    \"login\": {\n      \"uuid\": \"e4a6b831-963a-4c2d-9494-c47aaca6ef4d\",\n      \"username\": \"crazyswan514\",\n      \"password\": \"beamer\",\n      \"salt\": \"iSuF7BEc\",\n      \"md5\": \"3c9db84c96389138612e51f8dcfe4584\",\n      \"sha1\": \"388f6d9861041a44c9b1d782535687931219b790\",\n      \"sha256\": \"4973609b82880e7f1f31ea4ce0a8fce8daa7714307f29cf500672284667ecb3f\"\n    },\n    \"dob\": {\n      \"date\": \"1978-06-18T13:27:52.434Z\",\n      \"age\": 44\n    },\n    \"registered\": {\n      \"date\": \"2012-05-30T20:18:39.744Z\",\n      \"age\": 10\n    },\n    \"phone\": \"(655) 138 8912\",\n    \"cell\": \"(600) 135 9648\",\n    \"id\": 105,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/70.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/70.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/70.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Maya\",\n      \"last\": \"Hauk\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 295,\n        \"name\": \"Kapellenweg\"\n      },\n      \"city\": \"Speyer\",\n      \"state\": \"Nordrhein-Westfalen\",\n      \"country\": \"Germany\",\n      \"postcode\": 19715,\n      \"coordinates\": {\n        \"latitude\": \"15.6229\",\n        \"longitude\": \"-57.6576\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"maya.hauk@example.com\",\n    \"login\": {\n      \"uuid\": \"c3b52bcb-c341-41e0-9011-bf5d0bbae0db\",\n      \"username\": \"greencat379\",\n      \"password\": \"dogbert\",\n      \"salt\": \"aEbS4kNy\",\n      \"md5\": \"5a2a0a255919f41eec7c7f8644dd7d65\",\n      \"sha1\": \"83ddc6e6980c1f935fa3a17904bd6543dd131a19\",\n      \"sha256\": \"08a11fa09a7fe6e29773273a44712636868925c257f40af9f3eed612ba36e25b\"\n    },\n    \"dob\": {\n      \"date\": \"1952-04-26T19:25:06.481Z\",\n      \"age\": 71\n    },\n    \"registered\": {\n      \"date\": \"2021-01-25T17:25:06.007Z\",\n      \"age\": 2\n    },\n    \"phone\": \"0994-2067177\",\n    \"cell\": \"0178-3115387\",\n    \"id\": 106,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/64.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/64.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/64.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Marcos\",\n      \"last\": \"Guajardo\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9073,\n        \"name\": \"Pasaje Tamaulipas\"\n      },\n      \"city\": \"Guaymas\",\n      \"state\": \"Aguascalientes\",\n      \"country\": \"Mexico\",\n      \"postcode\": 87504,\n      \"coordinates\": {\n        \"latitude\": \"31.2958\",\n        \"longitude\": \"159.1808\"\n      },\n      \"timezone\": {\n        \"offset\": \"0:00\",\n        \"description\": \"Western Europe Time, London, Lisbon, Casablanca\"\n      }\n    },\n    \"email\": \"marcos.guajardo@example.com\",\n    \"login\": {\n      \"uuid\": \"5ea2a549-88d5-48df-a5b9-ca78b31e8981\",\n      \"username\": \"ticklishmouse906\",\n      \"password\": \"carlos1\",\n      \"salt\": \"l5vmg5L1\",\n      \"md5\": \"237c5eb45e0eccfe327df44a9a7d8c7f\",\n      \"sha1\": \"05b348adcaee412ec41e225eab143cb161da2bf7\",\n      \"sha256\": \"de20ce0384883d3c7ca76c1857555fa9301a082c099a038ffa020c90bbafcf49\"\n    },\n    \"dob\": {\n      \"date\": \"1948-03-09T01:58:59.718Z\",\n      \"age\": 75\n    },\n    \"registered\": {\n      \"date\": \"2003-11-17T11:32:45.482Z\",\n      \"age\": 19\n    },\n    \"phone\": \"(685) 942 1571\",\n    \"cell\": \"(698) 409 8594\",\n    \"id\": 107,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/62.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/62.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/62.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Viola\",\n      \"last\": \"Scheibe\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2112,\n        \"name\": \"Lerchenweg\"\n      },\n      \"city\": \"Herrnhut\",\n      \"state\": \"Hessen\",\n      \"country\": \"Germany\",\n      \"postcode\": 52515,\n      \"coordinates\": {\n        \"latitude\": \"-61.8566\",\n        \"longitude\": \"-7.5944\"\n      },\n      \"timezone\": {\n        \"offset\": \"-2:00\",\n        \"description\": \"Mid-Atlantic\"\n      }\n    },\n    \"email\": \"viola.scheibe@example.com\",\n    \"login\": {\n      \"uuid\": \"8a692bd6-9bcb-42e8-954c-739918cd3b9a\",\n      \"username\": \"tinygorilla615\",\n      \"password\": \"terminat\",\n      \"salt\": \"BVos5S6l\",\n      \"md5\": \"fbf511bcfac17e4d84c229a9f70e7248\",\n      \"sha1\": \"fbe354e5f332d088575c153b6dae87252cc0a11e\",\n      \"sha256\": \"b8ceafe2e9e31474dcde5042cfb09b97ec4531d4436d408a269c53e91d87a82f\"\n    },\n    \"dob\": {\n      \"date\": \"1993-10-02T10:02:59.714Z\",\n      \"age\": 29\n    },\n    \"registered\": {\n      \"date\": \"2007-09-27T03:33:07.106Z\",\n      \"age\": 15\n    },\n    \"phone\": \"0915-3286776\",\n    \"cell\": \"0178-4713985\",\n    \"id\": 108,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/72.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/72.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/72.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Vukota\",\n      \"last\": \"Mihajlović\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7896,\n        \"name\": \"Božidara Pavićevića \"\n      },\n      \"city\": \"Novi Kneževac\",\n      \"state\": \"Jablanica\",\n      \"country\": \"Serbia\",\n      \"postcode\": 79123,\n      \"coordinates\": {\n        \"latitude\": \"-6.6398\",\n        \"longitude\": \"-71.4011\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"vukota.mihajlovic@example.com\",\n    \"login\": {\n      \"uuid\": \"a72df987-88a0-47de-a347-e22b557ed36b\",\n      \"username\": \"redcat678\",\n      \"password\": \"snowflak\",\n      \"salt\": \"erG6O3qn\",\n      \"md5\": \"6a62a89156a4f255fb65585f33f8a8bd\",\n      \"sha1\": \"01c364f3af92d085247165b34ed200a73c0fade8\",\n      \"sha256\": \"cfa0973190f72a5c7ff05f49036210178cca2c1c89d637c467e14283dad0f17f\"\n    },\n    \"dob\": {\n      \"date\": \"1970-01-29T06:46:24.003Z\",\n      \"age\": 53\n    },\n    \"registered\": {\n      \"date\": \"2007-09-01T00:05:05.452Z\",\n      \"age\": 15\n    },\n    \"phone\": \"011-7441-316\",\n    \"cell\": \"065-1577-936\",\n    \"id\": 109,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/91.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/91.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/91.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Sedef\",\n      \"last\": \"Tunçeri\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6961,\n        \"name\": \"Vatan Cd\"\n      },\n      \"city\": \"Manisa\",\n      \"state\": \"Zonguldak\",\n      \"country\": \"Turkey\",\n      \"postcode\": 47411,\n      \"coordinates\": {\n        \"latitude\": \"11.3602\",\n        \"longitude\": \"173.2023\"\n      },\n      \"timezone\": {\n        \"offset\": \"-6:00\",\n        \"description\": \"Central Time (US & Canada), Mexico City\"\n      }\n    },\n    \"email\": \"sedef.tunceri@example.com\",\n    \"login\": {\n      \"uuid\": \"205294e1-ce99-4982-8af5-1cae27b70c4a\",\n      \"username\": \"organicladybug644\",\n      \"password\": \"lonewolf\",\n      \"salt\": \"jgrMrNer\",\n      \"md5\": \"aac3fdbf8ed71f83c5940f2b8e822f69\",\n      \"sha1\": \"e72a784e58ae77aa9aacf7b803f67e5482293d80\",\n      \"sha256\": \"0986057877505b21367b0923ac21e40a347c9b1403fa28e20cab5a6f717ce25f\"\n    },\n    \"dob\": {\n      \"date\": \"1981-04-15T01:03:50.893Z\",\n      \"age\": 42\n    },\n    \"registered\": {\n      \"date\": \"2019-11-12T13:03:46.076Z\",\n      \"age\": 3\n    },\n    \"phone\": \"(968)-226-5020\",\n    \"cell\": \"(447)-434-7885\",\n    \"id\": 110,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/4.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/4.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/4.jpg\"\n    },\n    \"nat\": \"TR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Blake\",\n      \"last\": \"Wong\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5959,\n        \"name\": \"Park Rd\"\n      },\n      \"city\": \"Campbellton\",\n      \"state\": \"Ontario\",\n      \"country\": \"Canada\",\n      \"postcode\": \"L2T 0J1\",\n      \"coordinates\": {\n        \"latitude\": \"-47.8649\",\n        \"longitude\": \"-155.1760\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"blake.wong@example.com\",\n    \"login\": {\n      \"uuid\": \"f7037170-3a94-46ee-a525-91e7a1b589d5\",\n      \"username\": \"organicleopard410\",\n      \"password\": \"popeye\",\n      \"salt\": \"rdd5kAJG\",\n      \"md5\": \"68f833ce7b2219fd201094e8ed3dfb67\",\n      \"sha1\": \"7eaad3780412ca5d978d4d79d0ef826914f29919\",\n      \"sha256\": \"272858aa313f1d877c6ee1631c1160551f07abc15a5e91dc62279877efc24f50\"\n    },\n    \"dob\": {\n      \"date\": \"1995-09-03T07:15:45.576Z\",\n      \"age\": 27\n    },\n    \"registered\": {\n      \"date\": \"2011-06-08T18:18:18.778Z\",\n      \"age\": 11\n    },\n    \"phone\": \"H18 J30-5589\",\n    \"cell\": \"U54 O33-2048\",\n    \"id\": 111,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/37.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/37.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/37.jpg\"\n    },\n    \"nat\": \"CA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Hotina\",\n      \"last\": \"Chaykovska\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8459,\n        \"name\": \"Kuznyarivka\"\n      },\n      \"city\": \"Kamin-Kashirskiy\",\n      \"state\": \"Ivano-Frankivska\",\n      \"country\": \"Ukraine\",\n      \"postcode\": 37056,\n      \"coordinates\": {\n        \"latitude\": \"75.1295\",\n        \"longitude\": \"-20.0089\"\n      },\n      \"timezone\": {\n        \"offset\": \"+7:00\",\n        \"description\": \"Bangkok, Hanoi, Jakarta\"\n      }\n    },\n    \"email\": \"hotina.chaykovska@example.com\",\n    \"login\": {\n      \"uuid\": \"8ea39cf0-80ff-48ca-8736-ff72935150cc\",\n      \"username\": \"sadfrog424\",\n      \"password\": \"pinky\",\n      \"salt\": \"Swl0cpI3\",\n      \"md5\": \"afcdb540b4cca3327a01a785d890b155\",\n      \"sha1\": \"f14e079f7fc950de83b2b9cbae6c6786aeb270ed\",\n      \"sha256\": \"c51946f62086ad744090b0b073010e8fb516493b0ab5d11561fe0b42abbd4977\"\n    },\n    \"dob\": {\n      \"date\": \"1960-09-24T17:47:11.090Z\",\n      \"age\": 62\n    },\n    \"registered\": {\n      \"date\": \"2021-04-30T15:58:17.046Z\",\n      \"age\": 2\n    },\n    \"phone\": \"(067) J58-1543\",\n    \"cell\": \"(096) U04-7877\",\n    \"id\": 112,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/39.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/39.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/39.jpg\"\n    },\n    \"nat\": \"UA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Zara\",\n      \"last\": \"Smith\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4669,\n        \"name\": \"Fenton Street\"\n      },\n      \"city\": \"Whangarei\",\n      \"state\": \"Waikato\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 37834,\n      \"coordinates\": {\n        \"latitude\": \"-33.5706\",\n        \"longitude\": \"174.9843\"\n      },\n      \"timezone\": {\n        \"offset\": \"-5:00\",\n        \"description\": \"Eastern Time (US & Canada), Bogota, Lima\"\n      }\n    },\n    \"email\": \"zara.smith@example.com\",\n    \"login\": {\n      \"uuid\": \"eb8d7a1a-83dd-4968-9d7d-3a16d7d57d43\",\n      \"username\": \"brownpeacock979\",\n      \"password\": \"polska\",\n      \"salt\": \"VXDDu8Zg\",\n      \"md5\": \"395f741703518ccd83918de915277dde\",\n      \"sha1\": \"1fc1f200a2d8c71042c5d834931c9d53464f09f9\",\n      \"sha256\": \"45acd925dc77c575ee7b61acfea2b211cd6ddf8567f74f96e441f656c713ffc9\"\n    },\n    \"dob\": {\n      \"date\": \"1997-02-16T04:57:32.862Z\",\n      \"age\": 26\n    },\n    \"registered\": {\n      \"date\": \"2013-11-07T03:08:35.254Z\",\n      \"age\": 9\n    },\n    \"phone\": \"(097)-455-5638\",\n    \"cell\": \"(104)-506-8286\",\n    \"id\": 113,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/3.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/3.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/3.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Vir\",\n      \"last\": \"Levkiv\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3947,\n        \"name\": \"Zaporizka ploshcha\"\n      },\n      \"city\": \"Yani Kapu\",\n      \"state\": \"Ivano-Frankivska\",\n      \"country\": \"Ukraine\",\n      \"postcode\": 82154,\n      \"coordinates\": {\n        \"latitude\": \"0.0410\",\n        \"longitude\": \"-20.5464\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:45\",\n        \"description\": \"Kathmandu\"\n      }\n    },\n    \"email\": \"vir.levkiv@example.com\",\n    \"login\": {\n      \"uuid\": \"e23e1ab8-cec8-4c99-888d-f3b4055e1319\",\n      \"username\": \"bigfish827\",\n      \"password\": \"packers1\",\n      \"salt\": \"V57HJw3I\",\n      \"md5\": \"f6e5ae60c8526fc7102b594c8c1e76ef\",\n      \"sha1\": \"50880ec7c6ea4a135953a1e6874f067f6d4a7ae5\",\n      \"sha256\": \"169913f0bac0af4ce54d64bafe88b293cc7d4bec8bfa85152d34d9c592e04bda\"\n    },\n    \"dob\": {\n      \"date\": \"1973-02-06T19:38:16.893Z\",\n      \"age\": 50\n    },\n    \"registered\": {\n      \"date\": \"2019-01-12T03:43:21.649Z\",\n      \"age\": 4\n    },\n    \"phone\": \"(098) P74-0765\",\n    \"cell\": \"(097) X23-3520\",\n    \"id\": 114,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/37.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/37.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/37.jpg\"\n    },\n    \"nat\": \"UA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Loane\",\n      \"last\": \"Duval\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8595,\n        \"name\": \"Rue de L'Abbé-Groult\"\n      },\n      \"city\": \"Nantes\",\n      \"state\": \"Orne\",\n      \"country\": \"France\",\n      \"postcode\": 97470,\n      \"coordinates\": {\n        \"latitude\": \"-85.9853\",\n        \"longitude\": \"-91.6487\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:30\",\n        \"description\": \"Kabul\"\n      }\n    },\n    \"email\": \"loane.duval@example.com\",\n    \"login\": {\n      \"uuid\": \"fc213428-56c7-4ac8-a661-79094600ae6b\",\n      \"username\": \"beautifulkoala197\",\n      \"password\": \"winona\",\n      \"salt\": \"zKWBf2Bo\",\n      \"md5\": \"53a1f031ce188d2841592b0ccd4921b0\",\n      \"sha1\": \"75e1b0a5a8dd7b9258e89fded2c3262f0f5180c4\",\n      \"sha256\": \"844b89f9817e5b5b18ae070f6b51d27ff67509a4bd5ed116f3fc3d84806199b8\"\n    },\n    \"dob\": {\n      \"date\": \"1961-07-02T13:14:38.340Z\",\n      \"age\": 61\n    },\n    \"registered\": {\n      \"date\": \"2010-01-27T01:36:35.595Z\",\n      \"age\": 13\n    },\n    \"phone\": \"04-19-15-81-47\",\n    \"cell\": \"06-33-29-01-42\",\n    \"id\": 115,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/26.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/26.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/26.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Patricia\",\n      \"last\": \"Tejeda\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2616,\n        \"name\": \"Prolongación Ríos\"\n      },\n      \"city\": \"Neutla\",\n      \"state\": \"Oaxaca\",\n      \"country\": \"Mexico\",\n      \"postcode\": 48467,\n      \"coordinates\": {\n        \"latitude\": \"-77.3743\",\n        \"longitude\": \"-71.9709\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:30\",\n        \"description\": \"Bombay, Calcutta, Madras, New Delhi\"\n      }\n    },\n    \"email\": \"patricia.tejeda@example.com\",\n    \"login\": {\n      \"uuid\": \"79c148c5-9aa7-404c-91a0-08b473d71bd5\",\n      \"username\": \"bigdog508\",\n      \"password\": \"badboy\",\n      \"salt\": \"aw4V437v\",\n      \"md5\": \"f5e1df98e3ac18e56c69d544f55f8b70\",\n      \"sha1\": \"c6534293b026baa4210e2843eb9da921923daf6e\",\n      \"sha256\": \"84cafda2e0df3a1da2be9611c9dd43e9bf2635c07e7fe231eea7cd15bca6b27f\"\n    },\n    \"dob\": {\n      \"date\": \"1945-06-29T01:51:31.522Z\",\n      \"age\": 77\n    },\n    \"registered\": {\n      \"date\": \"2006-11-20T10:55:23.644Z\",\n      \"age\": 16\n    },\n    \"phone\": \"(674) 609 9451\",\n    \"cell\": \"(655) 940 2559\",\n    \"id\": 116,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/95.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/95.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/95.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Angela\",\n      \"last\": \"Griffin\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3231,\n        \"name\": \"Mill Road\"\n      },\n      \"city\": \"Ballina\",\n      \"state\": \"South Dublin\",\n      \"country\": \"Ireland\",\n      \"postcode\": 92617,\n      \"coordinates\": {\n        \"latitude\": \"-71.7823\",\n        \"longitude\": \"133.3740\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:30\",\n        \"description\": \"Bombay, Calcutta, Madras, New Delhi\"\n      }\n    },\n    \"email\": \"angela.griffin@example.com\",\n    \"login\": {\n      \"uuid\": \"8876c0da-dc8b-43f3-9421-8f77abe90f3a\",\n      \"username\": \"purplebird943\",\n      \"password\": \"pass1\",\n      \"salt\": \"7tHgoLVn\",\n      \"md5\": \"6b61f3caf90a5c6a6d78c72d1e7ecd65\",\n      \"sha1\": \"99c151660e3d66bef8f7308f2e98a6f88d60f731\",\n      \"sha256\": \"df572ca85933747d673dbd25e4c7479df200e8a9a7c15d730221a01abb557116\"\n    },\n    \"dob\": {\n      \"date\": \"1986-06-02T10:46:45.276Z\",\n      \"age\": 36\n    },\n    \"registered\": {\n      \"date\": \"2007-01-16T03:44:48.029Z\",\n      \"age\": 16\n    },\n    \"phone\": \"061-062-1611\",\n    \"cell\": \"081-434-1110\",\n    \"id\": 117,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/63.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/63.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/63.jpg\"\n    },\n    \"nat\": \"IE\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Terrence\",\n      \"last\": \"Rodriguez\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2253,\n        \"name\": \"Stanley Road\"\n      },\n      \"city\": \"St Davids\",\n      \"state\": \"Strathclyde\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"M7 3AB\",\n      \"coordinates\": {\n        \"latitude\": \"0.6415\",\n        \"longitude\": \"-142.7242\"\n      },\n      \"timezone\": {\n        \"offset\": \"-4:00\",\n        \"description\": \"Atlantic Time (Canada), Caracas, La Paz\"\n      }\n    },\n    \"email\": \"terrence.rodriguez@example.com\",\n    \"login\": {\n      \"uuid\": \"b48fa8d3-8b3f-4cba-9807-508654f7d2a6\",\n      \"username\": \"ticklishmeercat728\",\n      \"password\": \"face\",\n      \"salt\": \"VEMa5I1v\",\n      \"md5\": \"7961b95ec6664318d5916dcad0ed7d48\",\n      \"sha1\": \"1635885988665ac20721d9edf7eb38c0bff32b34\",\n      \"sha256\": \"861d8514a9495d2c819a8c0159aa66d57cf662e708ba7f0f249ae1428047decd\"\n    },\n    \"dob\": {\n      \"date\": \"1956-06-23T20:19:58.654Z\",\n      \"age\": 66\n    },\n    \"registered\": {\n      \"date\": \"2019-08-30T11:10:29.576Z\",\n      \"age\": 3\n    },\n    \"phone\": \"016973 71027\",\n    \"cell\": \"07443 196432\",\n    \"id\": 118,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/79.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/79.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/79.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Johnny\",\n      \"last\": \"Bennett\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8565,\n        \"name\": \"Hunters Creek Dr\"\n      },\n      \"city\": \"Durham\",\n      \"state\": \"Oregon\",\n      \"country\": \"United States\",\n      \"postcode\": 30537,\n      \"coordinates\": {\n        \"latitude\": \"-55.8403\",\n        \"longitude\": \"-170.7749\"\n      },\n      \"timezone\": {\n        \"offset\": \"-7:00\",\n        \"description\": \"Mountain Time (US & Canada)\"\n      }\n    },\n    \"email\": \"johnny.bennett@example.com\",\n    \"login\": {\n      \"uuid\": \"c9f5ae16-10bc-40b8-8c49-698546bf0ccd\",\n      \"username\": \"blackleopard375\",\n      \"password\": \"dogbone\",\n      \"salt\": \"yAAd0ire\",\n      \"md5\": \"f78290ad1b07d8c7c323bacc7243d41c\",\n      \"sha1\": \"7acac287bb618d479250bdff5618699436ea4005\",\n      \"sha256\": \"adc8659b44c8ecd34d1406ec253692eabe9131c9d6d6e1373469b135f933d90c\"\n    },\n    \"dob\": {\n      \"date\": \"1976-08-01T20:38:02.861Z\",\n      \"age\": 46\n    },\n    \"registered\": {\n      \"date\": \"2013-09-04T04:10:51.731Z\",\n      \"age\": 9\n    },\n    \"phone\": \"(662) 206-0527\",\n    \"cell\": \"(769) 710-6498\",\n    \"id\": 119,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/95.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/95.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/95.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Dorian\",\n      \"last\": \"Guerin\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2997,\n        \"name\": \"Place du 22 Novembre 1943\"\n      },\n      \"city\": \"Besançon\",\n      \"state\": \"Hautes-Alpes\",\n      \"country\": \"France\",\n      \"postcode\": 21890,\n      \"coordinates\": {\n        \"latitude\": \"41.7307\",\n        \"longitude\": \"-0.2801\"\n      },\n      \"timezone\": {\n        \"offset\": \"-1:00\",\n        \"description\": \"Azores, Cape Verde Islands\"\n      }\n    },\n    \"email\": \"dorian.guerin@example.com\",\n    \"login\": {\n      \"uuid\": \"2b3b3482-c061-4f08-b119-be5d10d66466\",\n      \"username\": \"tinypanda251\",\n      \"password\": \"lolo\",\n      \"salt\": \"hUEaI9FP\",\n      \"md5\": \"8cf324174a29051a51ea42da06def461\",\n      \"sha1\": \"49daed6993ddaefbae2d8697397c1e7b1e07970d\",\n      \"sha256\": \"ae29f20a32f2f8c3bed79d3cd3a3207785c251c833f5018b5a592b5112dac03b\"\n    },\n    \"dob\": {\n      \"date\": \"1981-06-19T11:35:29.261Z\",\n      \"age\": 41\n    },\n    \"registered\": {\n      \"date\": \"2009-07-27T03:32:19.699Z\",\n      \"age\": 13\n    },\n    \"phone\": \"01-88-88-94-63\",\n    \"cell\": \"06-88-69-00-46\",\n    \"id\": 120,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/64.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/64.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/64.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Čedomir\",\n      \"last\": \"Pantić\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4869,\n        \"name\": \"Desanke Dese Đorđević\"\n      },\n      \"city\": \"Smederevska Palanka\",\n      \"state\": \"Pomoravlje\",\n      \"country\": \"Serbia\",\n      \"postcode\": 94759,\n      \"coordinates\": {\n        \"latitude\": \"31.8449\",\n        \"longitude\": \"-43.6408\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:00\",\n        \"description\": \"Tokyo, Seoul, Osaka, Sapporo, Yakutsk\"\n      }\n    },\n    \"email\": \"cedomir.pantic@example.com\",\n    \"login\": {\n      \"uuid\": \"dec7c436-3274-46fa-8879-7a812d0a33ae\",\n      \"username\": \"yellowsnake489\",\n      \"password\": \"1017\",\n      \"salt\": \"7XjWehsu\",\n      \"md5\": \"218593d37e6db3febf42cdeb61bdc259\",\n      \"sha1\": \"f804e1407927d709e3e6399bf95fedbc08288f4a\",\n      \"sha256\": \"973952ad68c6f12ba2f3e469327e0a43670bf2719242ed1dc9418941633bc987\"\n    },\n    \"dob\": {\n      \"date\": \"1971-03-13T12:19:43.966Z\",\n      \"age\": 52\n    },\n    \"registered\": {\n      \"date\": \"2004-10-31T12:29:30.558Z\",\n      \"age\": 18\n    },\n    \"phone\": \"029-4855-623\",\n    \"cell\": \"061-2598-211\",\n    \"id\": 121,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/48.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/48.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/48.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Eve\",\n      \"last\": \"Petit\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4521,\n        \"name\": \"Place de L'Abbé-Franz-Stock\"\n      },\n      \"city\": \"Champigny-sur-Marne\",\n      \"state\": \"Ille-et-Vilaine\",\n      \"country\": \"France\",\n      \"postcode\": 56030,\n      \"coordinates\": {\n        \"latitude\": \"59.7780\",\n        \"longitude\": \"-88.1866\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"eve.petit@example.com\",\n    \"login\": {\n      \"uuid\": \"7b2bd6df-a9df-4bf2-aa24-bf1863ddd672\",\n      \"username\": \"greenladybug127\",\n      \"password\": \"traveler\",\n      \"salt\": \"COLLpdbW\",\n      \"md5\": \"6742ad34456255d5c2dafc1ace1afe49\",\n      \"sha1\": \"21b4bb502dafa5787f60866511ea25a8d730f185\",\n      \"sha256\": \"c81edf55848bd5c49f1904da0e93954eba60dc008d876a4518599b3299988a0b\"\n    },\n    \"dob\": {\n      \"date\": \"1972-09-09T20:21:57.060Z\",\n      \"age\": 50\n    },\n    \"registered\": {\n      \"date\": \"2020-04-28T12:00:54.742Z\",\n      \"age\": 3\n    },\n    \"phone\": \"05-26-06-08-66\",\n    \"cell\": \"06-69-34-84-07\",\n    \"id\": 122,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/79.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/79.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/79.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Becky\",\n      \"last\": \"Hunter\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5984,\n        \"name\": \"New Road\"\n      },\n      \"city\": \"Greystones\",\n      \"state\": \"Louth\",\n      \"country\": \"Ireland\",\n      \"postcode\": 92097,\n      \"coordinates\": {\n        \"latitude\": \"63.0569\",\n        \"longitude\": \"-45.8880\"\n      },\n      \"timezone\": {\n        \"offset\": \"-4:00\",\n        \"description\": \"Atlantic Time (Canada), Caracas, La Paz\"\n      }\n    },\n    \"email\": \"becky.hunter@example.com\",\n    \"login\": {\n      \"uuid\": \"a810dd4d-ac1a-4a7d-99a3-b9f5753515f0\",\n      \"username\": \"crazypanda252\",\n      \"password\": \"creampie\",\n      \"salt\": \"bNWwyweA\",\n      \"md5\": \"6ee83567ac68fde30c4d8695c082f539\",\n      \"sha1\": \"e259d5f8153761fc74f39b85438da5495006a622\",\n      \"sha256\": \"bd05df00642a233d74b535589d1a9d06a68e00c9eb4b037f3ffe064a15157d8d\"\n    },\n    \"dob\": {\n      \"date\": \"1976-03-27T23:07:36.493Z\",\n      \"age\": 47\n    },\n    \"registered\": {\n      \"date\": \"2013-12-19T15:40:41.966Z\",\n      \"age\": 9\n    },\n    \"phone\": \"061-447-7794\",\n    \"cell\": \"081-354-7304\",\n    \"id\": 123,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/84.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/84.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/84.jpg\"\n    },\n    \"nat\": \"IE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Celine\",\n      \"last\": \"Hol\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4435,\n        \"name\": \"Myklegardgata\"\n      },\n      \"city\": \"Rotnes\",\n      \"state\": \"Møre og Romsdal\",\n      \"country\": \"Norway\",\n      \"postcode\": \"4119\",\n      \"coordinates\": {\n        \"latitude\": \"56.4697\",\n        \"longitude\": \"33.6144\"\n      },\n      \"timezone\": {\n        \"offset\": \"-9:00\",\n        \"description\": \"Alaska\"\n      }\n    },\n    \"email\": \"celine.hol@example.com\",\n    \"login\": {\n      \"uuid\": \"f7cc0940-e3b6-4f06-8497-00d8559ac7e9\",\n      \"username\": \"bigdog735\",\n      \"password\": \"bobdylan\",\n      \"salt\": \"FYWY2UEu\",\n      \"md5\": \"480f36694d2d383880a6c89604477365\",\n      \"sha1\": \"75aa5a5653eec5ce113bc05fafe91bf16f6b7b01\",\n      \"sha256\": \"549c76b025729b87e85459282da27d94d1e167c22f93fb635c91997d94958442\"\n    },\n    \"dob\": {\n      \"date\": \"1949-01-18T04:56:44.116Z\",\n      \"age\": 74\n    },\n    \"registered\": {\n      \"date\": \"2015-08-25T23:22:05.834Z\",\n      \"age\": 7\n    },\n    \"phone\": \"81092929\",\n    \"cell\": \"93739001\",\n    \"id\": 124,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/93.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/93.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/93.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Yolanda\",\n      \"last\": \"Soler\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3200,\n        \"name\": \"Calle de Pedro Bosch\"\n      },\n      \"city\": \"Jerez de la Frontera\",\n      \"state\": \"Comunidad Valenciana\",\n      \"country\": \"Spain\",\n      \"postcode\": 31898,\n      \"coordinates\": {\n        \"latitude\": \"42.7669\",\n        \"longitude\": \"-29.2856\"\n      },\n      \"timezone\": {\n        \"offset\": \"-5:00\",\n        \"description\": \"Eastern Time (US & Canada), Bogota, Lima\"\n      }\n    },\n    \"email\": \"yolanda.soler@example.com\",\n    \"login\": {\n      \"uuid\": \"7735a140-9b2b-4dd5-9661-bcba451c7719\",\n      \"username\": \"blackostrich150\",\n      \"password\": \"maradona\",\n      \"salt\": \"tySA4DFt\",\n      \"md5\": \"19feb647325f90d7e9fcf5bd9fe6604b\",\n      \"sha1\": \"eb8d3aabf8df86527c212a8029a692ab743b3490\",\n      \"sha256\": \"1c1e42f36dc988d61395e1170514514ff6425f03a9da8d86556bf70be2446ec9\"\n    },\n    \"dob\": {\n      \"date\": \"1959-07-25T18:55:13.548Z\",\n      \"age\": 63\n    },\n    \"registered\": {\n      \"date\": \"2005-02-20T01:22:32.902Z\",\n      \"age\": 18\n    },\n    \"phone\": \"994-360-232\",\n    \"cell\": \"623-031-825\",\n    \"id\": 125,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/22.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/22.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/22.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Brooke\",\n      \"last\": \"Chen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2779,\n        \"name\": \"Weymouth Road\"\n      },\n      \"city\": \"Tauranga\",\n      \"state\": \"Manawatu-Wanganui\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 90750,\n      \"coordinates\": {\n        \"latitude\": \"0.6882\",\n        \"longitude\": \"126.8273\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"brooke.chen@example.com\",\n    \"login\": {\n      \"uuid\": \"b40e4201-b88f-4f4a-96b4-55993158699b\",\n      \"username\": \"happylion265\",\n      \"password\": \"ibanez\",\n      \"salt\": \"TzvbaUP2\",\n      \"md5\": \"53a99421b825abb7ea6b62a6a6e22c30\",\n      \"sha1\": \"caee0ae2eb74f93a02b7e8745b4cc9fb83b9fc30\",\n      \"sha256\": \"c1101bd5790926993aa099845411baae166bdb320ba4a81c215cf642df619a0d\"\n    },\n    \"dob\": {\n      \"date\": \"1989-08-06T00:05:20.264Z\",\n      \"age\": 33\n    },\n    \"registered\": {\n      \"date\": \"2016-10-24T01:09:13.454Z\",\n      \"age\": 6\n    },\n    \"phone\": \"(264)-961-2202\",\n    \"cell\": \"(871)-039-9358\",\n    \"id\": 126,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/13.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/13.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/13.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Fabiane\",\n      \"last\": \"Vieira\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2676,\n        \"name\": \"Rua Pará \"\n      },\n      \"city\": \"Pouso Alegre\",\n      \"state\": \"Alagoas\",\n      \"country\": \"Brazil\",\n      \"postcode\": 36239,\n      \"coordinates\": {\n        \"latitude\": \"80.8019\",\n        \"longitude\": \"74.1336\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:00\",\n        \"description\": \"Tokyo, Seoul, Osaka, Sapporo, Yakutsk\"\n      }\n    },\n    \"email\": \"fabiane.vieira@example.com\",\n    \"login\": {\n      \"uuid\": \"5dfa8585-6876-4c0b-b717-569c68e138ad\",\n      \"username\": \"organicmouse525\",\n      \"password\": \"nichole\",\n      \"salt\": \"SMjSZmuB\",\n      \"md5\": \"74d2758b31ef273b30e2056ba004b1f6\",\n      \"sha1\": \"7829e46ece3e8808d6d43f1590572267db1cd26c\",\n      \"sha256\": \"9572fc62761f41878f4dc630995de19c15f93739bbb7857f5e7352d5b18ca8e5\"\n    },\n    \"dob\": {\n      \"date\": \"1956-05-17T20:52:34.236Z\",\n      \"age\": 67\n    },\n    \"registered\": {\n      \"date\": \"2006-08-03T06:03:42.178Z\",\n      \"age\": 16\n    },\n    \"phone\": \"(25) 7011-2758\",\n    \"cell\": \"(98) 8450-0616\",\n    \"id\": 127,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/64.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/64.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/64.jpg\"\n    },\n    \"nat\": \"BR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Delores\",\n      \"last\": \"Alexander\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 243,\n        \"name\": \"Daisy Dr\"\n      },\n      \"city\": \"Colorado Springs\",\n      \"state\": \"Kentucky\",\n      \"country\": \"United States\",\n      \"postcode\": 58403,\n      \"coordinates\": {\n        \"latitude\": \"-48.9574\",\n        \"longitude\": \"-90.8399\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"delores.alexander@example.com\",\n    \"login\": {\n      \"uuid\": \"e086e160-2b6c-4e83-9bb0-d57fb29c1530\",\n      \"username\": \"organicdog869\",\n      \"password\": \"playmate\",\n      \"salt\": \"6nlhZ2aR\",\n      \"md5\": \"e5e0aad4366392768f502e449b2f0cbd\",\n      \"sha1\": \"1a5c09787087b0fa22767e3770545895911a70de\",\n      \"sha256\": \"59dd979e6506ae9927aaae09c8e6e97438cb738ea720a1fa0efed774a9b89f2c\"\n    },\n    \"dob\": {\n      \"date\": \"1955-09-28T18:37:21.318Z\",\n      \"age\": 67\n    },\n    \"registered\": {\n      \"date\": \"2019-01-03T11:16:05.010Z\",\n      \"age\": 4\n    },\n    \"phone\": \"(441) 237-4890\",\n    \"cell\": \"(838) 625-5312\",\n    \"id\": 128,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/52.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/52.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/52.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Rosalyn\",\n      \"last\": \"Robinson\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1534,\n        \"name\": \"Grange Road\"\n      },\n      \"city\": \"Sheffield\",\n      \"state\": \"Humberside\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"YF8 3WJ\",\n      \"coordinates\": {\n        \"latitude\": \"17.0176\",\n        \"longitude\": \"133.1351\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"rosalyn.robinson@example.com\",\n    \"login\": {\n      \"uuid\": \"733d38ab-341d-4e31-b495-b3d983c8ef9d\",\n      \"username\": \"brownlion376\",\n      \"password\": \"internet\",\n      \"salt\": \"UCwhEWrW\",\n      \"md5\": \"6dfdae7b37bd7085fc45e5c00e58e24f\",\n      \"sha1\": \"836600bde7419f583322a736cd53b4bc2f42d580\",\n      \"sha256\": \"35b30cfe53579f386102720c0bed3e08f6a716ff0010f9c6caa56412ddc72151\"\n    },\n    \"dob\": {\n      \"date\": \"1999-11-30T14:31:51.718Z\",\n      \"age\": 23\n    },\n    \"registered\": {\n      \"date\": \"2003-03-09T11:17:13.870Z\",\n      \"age\": 20\n    },\n    \"phone\": \"015395 09889\",\n    \"cell\": \"07592 151625\",\n    \"id\": 129,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/61.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/61.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/61.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Mitesh\",\n      \"last\": \"Moolya\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2955,\n        \"name\": \"Mirza Ghalib St\"\n      },\n      \"city\": \"Fatehpur\",\n      \"state\": \"Chandigarh\",\n      \"country\": \"India\",\n      \"postcode\": 81365,\n      \"coordinates\": {\n        \"latitude\": \"-80.7138\",\n        \"longitude\": \"35.1567\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:30\",\n        \"description\": \"Adelaide, Darwin\"\n      }\n    },\n    \"email\": \"mitesh.moolya@example.com\",\n    \"login\": {\n      \"uuid\": \"171b89f2-0542-4de9-ab08-3df9758db008\",\n      \"username\": \"beautifultiger924\",\n      \"password\": \"nutter\",\n      \"salt\": \"PyhxXYJE\",\n      \"md5\": \"b5d8ba570c993c46d483300ed4e6d6e2\",\n      \"sha1\": \"11cf5fdea550a5d0a8561c0f92274b1bb75dec0c\",\n      \"sha256\": \"05534dc03403821c873f8971a8a09f180db2b2d3f2cf09e9a9e1186c71c3880f\"\n    },\n    \"dob\": {\n      \"date\": \"1962-10-27T12:07:45.097Z\",\n      \"age\": 60\n    },\n    \"registered\": {\n      \"date\": \"2021-08-25T00:20:13.410Z\",\n      \"age\": 1\n    },\n    \"phone\": \"8936182320\",\n    \"cell\": \"7741335311\",\n    \"id\": 130,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/52.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/52.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/52.jpg\"\n    },\n    \"nat\": \"IN\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Duane\",\n      \"last\": \"Lee\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3130,\n        \"name\": \"School Lane\"\n      },\n      \"city\": \"Westminster\",\n      \"state\": \"Fife\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"XL33 6EE\",\n      \"coordinates\": {\n        \"latitude\": \"-23.7531\",\n        \"longitude\": \"83.6095\"\n      },\n      \"timezone\": {\n        \"offset\": \"-10:00\",\n        \"description\": \"Hawaii\"\n      }\n    },\n    \"email\": \"duane.lee@example.com\",\n    \"login\": {\n      \"uuid\": \"edc29b07-b39a-43eb-9915-aea00702e986\",\n      \"username\": \"sadostrich731\",\n      \"password\": \"heather\",\n      \"salt\": \"0ps84qYK\",\n      \"md5\": \"35fd2f4438b606c01b776e416e42f86d\",\n      \"sha1\": \"577948c6e63caced472796a3e87756f4b303d516\",\n      \"sha256\": \"b4198f32dd87331025ebaecbc4441f147c4d4d872b7ca20493f64159a74ddab7\"\n    },\n    \"dob\": {\n      \"date\": \"1993-04-30T13:55:41.163Z\",\n      \"age\": 30\n    },\n    \"registered\": {\n      \"date\": \"2007-02-05T17:01:55.960Z\",\n      \"age\": 16\n    },\n    \"phone\": \"015242 39576\",\n    \"cell\": \"07341 827054\",\n    \"id\": 131,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/14.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/14.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/14.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Bernardim\",\n      \"last\": \"Duarte\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2739,\n        \"name\": \"Rua Santa Rita \"\n      },\n      \"city\": \"Gravataí\",\n      \"state\": \"Roraima\",\n      \"country\": \"Brazil\",\n      \"postcode\": 79400,\n      \"coordinates\": {\n        \"latitude\": \"-76.2783\",\n        \"longitude\": \"-131.7535\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:00\",\n        \"description\": \"Abu Dhabi, Muscat, Baku, Tbilisi\"\n      }\n    },\n    \"email\": \"bernardim.duarte@example.com\",\n    \"login\": {\n      \"uuid\": \"82a1bd97-1651-48d6-87e3-b24f57d8e27b\",\n      \"username\": \"angrysnake738\",\n      \"password\": \"matthias\",\n      \"salt\": \"70VysRVo\",\n      \"md5\": \"6331d065b57ec62d2cd4367734fa0473\",\n      \"sha1\": \"3121b8171c842ad52d8f0d0c6cb2512c1950d28d\",\n      \"sha256\": \"39aa1c095504c45d8195022bf9efe00f86379366086c20b7f19ee8ed90db3779\"\n    },\n    \"dob\": {\n      \"date\": \"1977-03-26T01:23:27.669Z\",\n      \"age\": 46\n    },\n    \"registered\": {\n      \"date\": \"2009-08-04T10:38:53.977Z\",\n      \"age\": 13\n    },\n    \"phone\": \"(35) 7550-6259\",\n    \"cell\": \"(36) 9498-4973\",\n    \"id\": 132,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/48.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/48.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/48.jpg\"\n    },\n    \"nat\": \"BR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Agapiya\",\n      \"last\": \"Kurnosenko\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4504,\n        \"name\": \"Dniprodzerzhinskiy provulok\"\n      },\n      \"city\": \"Vorozhba\",\n      \"state\": \"Chernivecka\",\n      \"country\": \"Ukraine\",\n      \"postcode\": 75715,\n      \"coordinates\": {\n        \"latitude\": \"65.0678\",\n        \"longitude\": \"21.3873\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:00\",\n        \"description\": \"Abu Dhabi, Muscat, Baku, Tbilisi\"\n      }\n    },\n    \"email\": \"agapiya.kurnosenko@example.com\",\n    \"login\": {\n      \"uuid\": \"217e3851-883f-4f43-8d14-62137696fca4\",\n      \"username\": \"beautifulpeacock371\",\n      \"password\": \"moomoo\",\n      \"salt\": \"DQVaFjyA\",\n      \"md5\": \"3b1fa90a7b7127cf12031668466be2be\",\n      \"sha1\": \"6bda56a6f0103eca5f7ce28680106da3710692d4\",\n      \"sha256\": \"cbda8b5e9e95eceb4788f0e288c69e87da9723c99fad8575462ded84827db30d\"\n    },\n    \"dob\": {\n      \"date\": \"1971-03-10T00:00:40.789Z\",\n      \"age\": 52\n    },\n    \"registered\": {\n      \"date\": \"2019-04-21T05:24:55.564Z\",\n      \"age\": 4\n    },\n    \"phone\": \"(068) D40-1057\",\n    \"cell\": \"(066) F48-2268\",\n    \"id\": 133,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/48.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/48.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/48.jpg\"\n    },\n    \"nat\": \"UA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Olga\",\n      \"last\": \"Živković\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4851,\n        \"name\": \"Potpećka\"\n      },\n      \"city\": \"Požarevac\",\n      \"state\": \"Zaječar\",\n      \"country\": \"Serbia\",\n      \"postcode\": 22826,\n      \"coordinates\": {\n        \"latitude\": \"34.4550\",\n        \"longitude\": \"84.3438\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:30\",\n        \"description\": \"Tehran\"\n      }\n    },\n    \"email\": \"olga.zivkovic@example.com\",\n    \"login\": {\n      \"uuid\": \"17a7cbe6-8972-4434-af4d-cc790893918c\",\n      \"username\": \"purplebear210\",\n      \"password\": \"menace\",\n      \"salt\": \"AgJRZuQa\",\n      \"md5\": \"1ed909d996caaa04d39d1b8f2fcbba33\",\n      \"sha1\": \"c6f36482776456e0210488b32f057498a044339d\",\n      \"sha256\": \"4e4bc60ded1ee4196e1aee53d5e5db7b313b7e548337e5e3588c51c4b2e5bb4d\"\n    },\n    \"dob\": {\n      \"date\": \"1977-07-01T10:04:43.583Z\",\n      \"age\": 45\n    },\n    \"registered\": {\n      \"date\": \"2004-12-14T16:22:18.757Z\",\n      \"age\": 18\n    },\n    \"phone\": \"013-0072-294\",\n    \"cell\": \"069-1440-524\",\n    \"id\": 134,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/55.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/55.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/55.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Fátima\",\n      \"last\": \"Iglesias\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4709,\n        \"name\": \"Calle Nebrija\"\n      },\n      \"city\": \"Gijón\",\n      \"state\": \"Andalucía\",\n      \"country\": \"Spain\",\n      \"postcode\": 68549,\n      \"coordinates\": {\n        \"latitude\": \"-22.5387\",\n        \"longitude\": \"11.8591\"\n      },\n      \"timezone\": {\n        \"offset\": \"-2:00\",\n        \"description\": \"Mid-Atlantic\"\n      }\n    },\n    \"email\": \"fatima.iglesias@example.com\",\n    \"login\": {\n      \"uuid\": \"7f3c6fda-2d7c-41b4-8843-33d70489887f\",\n      \"username\": \"orangefish359\",\n      \"password\": \"adam\",\n      \"salt\": \"EADKt66i\",\n      \"md5\": \"e01e5aef68ee1ca97c0cfa250c804820\",\n      \"sha1\": \"795e04c7cc81cfabaf617b2898c6bb679b131d95\",\n      \"sha256\": \"5d9ed496d022271a6aa9c9a1dbb7f573f83e5767f47cacc2710a88463dba3ba8\"\n    },\n    \"dob\": {\n      \"date\": \"1966-10-31T14:29:29.532Z\",\n      \"age\": 56\n    },\n    \"registered\": {\n      \"date\": \"2016-04-03T06:57:09.408Z\",\n      \"age\": 7\n    },\n    \"phone\": \"953-769-859\",\n    \"cell\": \"695-957-800\",\n    \"id\": 135,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/77.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/77.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/77.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Aitor\",\n      \"last\": \"Navarro\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4391,\n        \"name\": \"Calle de Bravo Murillo\"\n      },\n      \"city\": \"Murcia\",\n      \"state\": \"Comunidad de Madrid\",\n      \"country\": \"Spain\",\n      \"postcode\": 39625,\n      \"coordinates\": {\n        \"latitude\": \"-83.4156\",\n        \"longitude\": \"-67.9153\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:00\",\n        \"description\": \"Baghdad, Riyadh, Moscow, St. Petersburg\"\n      }\n    },\n    \"email\": \"aitor.navarro@example.com\",\n    \"login\": {\n      \"uuid\": \"dfe9ad6d-5c9a-47b5-97d2-43b0dea89b4b\",\n      \"username\": \"greenleopard179\",\n      \"password\": \"jefferso\",\n      \"salt\": \"eZmqIfqu\",\n      \"md5\": \"0ecc211bc85e65feb5bede86fe318972\",\n      \"sha1\": \"7dc3b70c66bc1210448320bbe6ee353262530421\",\n      \"sha256\": \"e345ddb79949cf7d9ee28c21e19536b825c03b19dc35c81a0434ff10ca04db62\"\n    },\n    \"dob\": {\n      \"date\": \"1991-10-29T20:35:41.947Z\",\n      \"age\": 31\n    },\n    \"registered\": {\n      \"date\": \"2010-10-09T13:20:32.231Z\",\n      \"age\": 12\n    },\n    \"phone\": \"975-010-758\",\n    \"cell\": \"663-136-542\",\n    \"id\": 136,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/21.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/21.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/21.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Iiris\",\n      \"last\": \"Juntunen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1276,\n        \"name\": \"Hämeentie\"\n      },\n      \"city\": \"Kokemäki\",\n      \"state\": \"Åland\",\n      \"country\": \"Finland\",\n      \"postcode\": 75997,\n      \"coordinates\": {\n        \"latitude\": \"-33.7743\",\n        \"longitude\": \"163.6880\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"iiris.juntunen@example.com\",\n    \"login\": {\n      \"uuid\": \"05bf8c11-56d0-4de7-a969-d5bb6501e078\",\n      \"username\": \"redbutterfly957\",\n      \"password\": \"222333\",\n      \"salt\": \"LYISOCHd\",\n      \"md5\": \"5c72bd82cdb41ae0be70c615ef9b90fa\",\n      \"sha1\": \"c7db1213340b3d38e920cc066dde932b05b68e59\",\n      \"sha256\": \"c72b542e18130db5ff1856deeb7c4c39d1aa7e6790441320601c447dc13c2b94\"\n    },\n    \"dob\": {\n      \"date\": \"1951-10-30T08:42:35.832Z\",\n      \"age\": 71\n    },\n    \"registered\": {\n      \"date\": \"2008-04-24T14:14:45.146Z\",\n      \"age\": 15\n    },\n    \"phone\": \"02-305-246\",\n    \"cell\": \"040-373-62-11\",\n    \"id\": 137,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/65.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/65.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/65.jpg\"\n    },\n    \"nat\": \"FI\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Nicolas\",\n      \"last\": \"Roy\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7401,\n        \"name\": \"Parliament St\"\n      },\n      \"city\": \"Elgin\",\n      \"state\": \"Newfoundland and Labrador\",\n      \"country\": \"Canada\",\n      \"postcode\": \"H9B 8E0\",\n      \"coordinates\": {\n        \"latitude\": \"38.5704\",\n        \"longitude\": \"-128.2417\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"nicolas.roy@example.com\",\n    \"login\": {\n      \"uuid\": \"0540f802-7388-4c6e-9a93-bdcb0d9b2fbc\",\n      \"username\": \"smallgorilla154\",\n      \"password\": \"florence\",\n      \"salt\": \"hrApVavu\",\n      \"md5\": \"2f0653a9583126218182478f1b47e54e\",\n      \"sha1\": \"f3b95847cc5c6578a19b53e6c2705cef0fde7182\",\n      \"sha256\": \"5cbaf6c51752ac6ddabd13e0fbafa489252884400587c37a07df97db93c9bb3b\"\n    },\n    \"dob\": {\n      \"date\": \"1979-10-06T12:45:52.292Z\",\n      \"age\": 43\n    },\n    \"registered\": {\n      \"date\": \"2008-03-12T23:11:16.942Z\",\n      \"age\": 15\n    },\n    \"phone\": \"R38 V59-0987\",\n    \"cell\": \"Q39 Q18-4417\",\n    \"id\": 138,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/93.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/93.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/93.jpg\"\n    },\n    \"nat\": \"CA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Kate\",\n      \"last\": \"Wagner\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7646,\n        \"name\": \"Fairview Road\"\n      },\n      \"city\": \"Newry\",\n      \"state\": \"Highlands and Islands\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"IQ91 7WL\",\n      \"coordinates\": {\n        \"latitude\": \"12.2840\",\n        \"longitude\": \"35.4590\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"kate.wagner@example.com\",\n    \"login\": {\n      \"uuid\": \"14b3bd74-81ae-4e2e-b14a-734ba262a6f6\",\n      \"username\": \"goldenmeercat604\",\n      \"password\": \"more\",\n      \"salt\": \"l99KEF5X\",\n      \"md5\": \"86e9c3530280b435f56d8fa88874e3e7\",\n      \"sha1\": \"6b89de2ce9b41d89aa64e150edb727c9bd2e7f9a\",\n      \"sha256\": \"f178786a55b13b38a308239617477760b7355231efc6f50e244350d430f4d172\"\n    },\n    \"dob\": {\n      \"date\": \"1987-04-14T07:58:18.648Z\",\n      \"age\": 36\n    },\n    \"registered\": {\n      \"date\": \"2015-03-04T16:46:47.935Z\",\n      \"age\": 8\n    },\n    \"phone\": \"017687 37243\",\n    \"cell\": \"07622 328709\",\n    \"id\": 139,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/52.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/52.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/52.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Robin\",\n      \"last\": \"Legrand\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2785,\n        \"name\": \"Rue Gasparin\"\n      },\n      \"city\": \"Limoges\",\n      \"state\": \"Alpes-de-Haute-Provence\",\n      \"country\": \"France\",\n      \"postcode\": 15205,\n      \"coordinates\": {\n        \"latitude\": \"25.2294\",\n        \"longitude\": \"-121.6156\"\n      },\n      \"timezone\": {\n        \"offset\": \"-4:00\",\n        \"description\": \"Atlantic Time (Canada), Caracas, La Paz\"\n      }\n    },\n    \"email\": \"robin.legrand@example.com\",\n    \"login\": {\n      \"uuid\": \"191b20bc-7565-4c7a-9fb5-765b38e747bd\",\n      \"username\": \"redpanda751\",\n      \"password\": \"pride\",\n      \"salt\": \"ipXfyY0u\",\n      \"md5\": \"ef3704c869a25f43d964a99e1552094f\",\n      \"sha1\": \"ca7b72626b5a5aa6b5e028f9cca6e7b559b6dd0c\",\n      \"sha256\": \"53d959195ae8167b0608b275e903639c2cd916aa6216b97fb3681472f1994364\"\n    },\n    \"dob\": {\n      \"date\": \"1987-09-16T07:13:53.026Z\",\n      \"age\": 35\n    },\n    \"registered\": {\n      \"date\": \"2005-12-20T22:42:04.136Z\",\n      \"age\": 17\n    },\n    \"phone\": \"03-21-54-06-15\",\n    \"cell\": \"06-31-03-24-77\",\n    \"id\": 140,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/74.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/74.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/74.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Andréa\",\n      \"last\": \"Lucas\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 429,\n        \"name\": \"Rue du Château\"\n      },\n      \"city\": \"Mulhouse\",\n      \"state\": \"Martinique\",\n      \"country\": \"France\",\n      \"postcode\": 23142,\n      \"coordinates\": {\n        \"latitude\": \"-85.7556\",\n        \"longitude\": \"-61.6688\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:30\",\n        \"description\": \"Adelaide, Darwin\"\n      }\n    },\n    \"email\": \"andrea.lucas@example.com\",\n    \"login\": {\n      \"uuid\": \"fabdbcd1-a39b-406f-8a19-cf5683ffb326\",\n      \"username\": \"blackdog791\",\n      \"password\": \"787878\",\n      \"salt\": \"Gx235Fq7\",\n      \"md5\": \"ff0a06185acb3c80248f97a5ca7766bf\",\n      \"sha1\": \"6b816a39182c3577e6fd62601c14d32d879bf583\",\n      \"sha256\": \"32685c83ff8801801ce43c91c4e67f133434b7d9479db04bd609f11d0d1b7228\"\n    },\n    \"dob\": {\n      \"date\": \"1973-11-16T03:59:30.503Z\",\n      \"age\": 49\n    },\n    \"registered\": {\n      \"date\": \"2012-01-16T11:17:34.759Z\",\n      \"age\": 11\n    },\n    \"phone\": \"01-87-70-42-05\",\n    \"cell\": \"06-67-62-35-33\",\n    \"id\": 141,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/34.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/34.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/34.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Letitia\",\n      \"last\": \"White\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 139,\n        \"name\": \"W Belt Line Rd\"\n      },\n      \"city\": \"Frederick\",\n      \"state\": \"Texas\",\n      \"country\": \"United States\",\n      \"postcode\": 27039,\n      \"coordinates\": {\n        \"latitude\": \"-13.0565\",\n        \"longitude\": \"-43.8712\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:00\",\n        \"description\": \"Baghdad, Riyadh, Moscow, St. Petersburg\"\n      }\n    },\n    \"email\": \"letitia.white@example.com\",\n    \"login\": {\n      \"uuid\": \"81dfd4fc-4ebe-45fe-a47b-4c288bac0480\",\n      \"username\": \"tinybird783\",\n      \"password\": \"bathing\",\n      \"salt\": \"6KPIWpTW\",\n      \"md5\": \"5b3c5c32ce760d8beda727eafb4c134c\",\n      \"sha1\": \"2a588cd20833c9f08bc4abc06a43ac1ee53164ee\",\n      \"sha256\": \"f760c4819d493850c1d42c6b81d4bebc506fd50ad91df445719b78dc266b8b55\"\n    },\n    \"dob\": {\n      \"date\": \"1974-02-21T15:59:02.753Z\",\n      \"age\": 49\n    },\n    \"registered\": {\n      \"date\": \"2016-07-10T08:13:43.549Z\",\n      \"age\": 6\n    },\n    \"phone\": \"(391) 307-4959\",\n    \"cell\": \"(323) 582-4468\",\n    \"id\": 142,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/78.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/78.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/78.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Cody\",\n      \"last\": \"Pearson\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2169,\n        \"name\": \"West Street\"\n      },\n      \"city\": \"Kilkenny\",\n      \"state\": \"Kildare\",\n      \"country\": \"Ireland\",\n      \"postcode\": 17565,\n      \"coordinates\": {\n        \"latitude\": \"-82.2764\",\n        \"longitude\": \"54.4206\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"cody.pearson@example.com\",\n    \"login\": {\n      \"uuid\": \"b2a42a65-c24e-4184-bd09-5402a78476a3\",\n      \"username\": \"crazyduck473\",\n      \"password\": \"attila\",\n      \"salt\": \"dSUiJv5f\",\n      \"md5\": \"4632599a692747dcc5679a50567e7cc0\",\n      \"sha1\": \"20782a6ae54949ff67dfff093925195272de3d86\",\n      \"sha256\": \"4ff7af38c9af0e489e5595240f1fd3b51852b8e30bf6c9dd9e0cdcea4587a8b6\"\n    },\n    \"dob\": {\n      \"date\": \"1971-04-08T13:37:04.896Z\",\n      \"age\": 52\n    },\n    \"registered\": {\n      \"date\": \"2007-08-27T20:24:49.925Z\",\n      \"age\": 15\n    },\n    \"phone\": \"051-270-0477\",\n    \"cell\": \"081-265-3999\",\n    \"id\": 143,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/2.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/2.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/2.jpg\"\n    },\n    \"nat\": \"IE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Mattie\",\n      \"last\": \"Russell\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3847,\n        \"name\": \"Walnut Hill Ln\"\n      },\n      \"city\": \"Townsville\",\n      \"state\": \"Western Australia\",\n      \"country\": \"Australia\",\n      \"postcode\": 3097,\n      \"coordinates\": {\n        \"latitude\": \"23.0923\",\n        \"longitude\": \"43.5788\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"mattie.russell@example.com\",\n    \"login\": {\n      \"uuid\": \"b66a4280-4c72-48d3-ac59-1d955a60eb1f\",\n      \"username\": \"organicfish585\",\n      \"password\": \"chaos1\",\n      \"salt\": \"zzZlSCcz\",\n      \"md5\": \"621e89457b6c39b4f547c85b71a3f603\",\n      \"sha1\": \"67dea4944695f1ed9a7f29cd93c703c6670e41a1\",\n      \"sha256\": \"85bcbbdfec89fae74b7dd7ba8b363c8f24e62156d880015a14d0568ccdd2bde0\"\n    },\n    \"dob\": {\n      \"date\": \"1958-04-22T23:42:02.307Z\",\n      \"age\": 65\n    },\n    \"registered\": {\n      \"date\": \"2018-04-12T23:44:41.411Z\",\n      \"age\": 5\n    },\n    \"phone\": \"07-7724-8530\",\n    \"cell\": \"0445-135-615\",\n    \"id\": 144,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/14.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/14.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/14.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Yosipa\",\n      \"last\": \"Kurilo\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2888,\n        \"name\": \"Suhomlinskogo\"\n      },\n      \"city\": \"Skole\",\n      \"state\": \"Poltavska\",\n      \"country\": \"Ukraine\",\n      \"postcode\": 91257,\n      \"coordinates\": {\n        \"latitude\": \"33.6183\",\n        \"longitude\": \"0.5352\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"yosipa.kurilo@example.com\",\n    \"login\": {\n      \"uuid\": \"f45f1d26-af0a-423b-a99d-4b076d06bb35\",\n      \"username\": \"smallelephant916\",\n      \"password\": \"snooker\",\n      \"salt\": \"MlnYTwpF\",\n      \"md5\": \"307b9faf5a06308df3698aa78f4814d9\",\n      \"sha1\": \"7aa85f2d51880a725497b0e6b282587322866b98\",\n      \"sha256\": \"cc90663c74f98757bd53f29ec0d52068910b5d5c8e3b3f4b3f3b5eb94e3fb231\"\n    },\n    \"dob\": {\n      \"date\": \"1970-11-03T21:35:28.510Z\",\n      \"age\": 52\n    },\n    \"registered\": {\n      \"date\": \"2013-08-06T20:53:16.213Z\",\n      \"age\": 9\n    },\n    \"phone\": \"(098) L42-9109\",\n    \"cell\": \"(096) J44-3326\",\n    \"id\": 145,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/80.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/80.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/80.jpg\"\n    },\n    \"nat\": \"UA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Zenaide\",\n      \"last\": \"da Costa\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4029,\n        \"name\": \"Rua Dezenove de Outubro\"\n      },\n      \"city\": \"Salvador\",\n      \"state\": \"São Paulo\",\n      \"country\": \"Brazil\",\n      \"postcode\": 95861,\n      \"coordinates\": {\n        \"latitude\": \"74.4371\",\n        \"longitude\": \"-177.6015\"\n      },\n      \"timezone\": {\n        \"offset\": \"-11:00\",\n        \"description\": \"Midway Island, Samoa\"\n      }\n    },\n    \"email\": \"zenaide.dacosta@example.com\",\n    \"login\": {\n      \"uuid\": \"6785bd0a-3d93-4535-85e3-39a0bba16871\",\n      \"username\": \"heavylion746\",\n      \"password\": \"grandpa\",\n      \"salt\": \"FmaMt5Wy\",\n      \"md5\": \"e4d79c3023757f6b58bba87d59e3be0f\",\n      \"sha1\": \"a772f365aab82e706f1d9d391a06d50b72a6dbea\",\n      \"sha256\": \"29063706b4a0ee3fd8deac5ccec70bbb560cb2124974b779d695d34f737b3ec6\"\n    },\n    \"dob\": {\n      \"date\": \"1965-06-24T00:57:08.636Z\",\n      \"age\": 57\n    },\n    \"registered\": {\n      \"date\": \"2020-10-22T07:51:09.469Z\",\n      \"age\": 2\n    },\n    \"phone\": \"(44) 4481-4022\",\n    \"cell\": \"(92) 9099-3749\",\n    \"id\": 146,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/12.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/12.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/12.jpg\"\n    },\n    \"nat\": \"BR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Christoffer\",\n      \"last\": \"Poulsen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1347,\n        \"name\": \"Assensvej\"\n      },\n      \"city\": \"Nr Åby\",\n      \"state\": \"Nordjylland\",\n      \"country\": \"Denmark\",\n      \"postcode\": 48771,\n      \"coordinates\": {\n        \"latitude\": \"-48.7028\",\n        \"longitude\": \"-14.3553\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:00\",\n        \"description\": \"Abu Dhabi, Muscat, Baku, Tbilisi\"\n      }\n    },\n    \"email\": \"christoffer.poulsen@example.com\",\n    \"login\": {\n      \"uuid\": \"93ee5a6f-dd7c-4781-bdea-d6159951779d\",\n      \"username\": \"ticklishfrog458\",\n      \"password\": \"corrado\",\n      \"salt\": \"yJ92h3Gw\",\n      \"md5\": \"c46480cd8db5eb0a7602399a0ec0512c\",\n      \"sha1\": \"7f3149932b6811b3c1994560d6f9e74c6a00d917\",\n      \"sha256\": \"bf3e364322a292ef59fa12a0dad84a6f5a3430f2e2e6fc5fe22e4c930b6fe5e3\"\n    },\n    \"dob\": {\n      \"date\": \"1966-04-07T20:15:06.068Z\",\n      \"age\": 57\n    },\n    \"registered\": {\n      \"date\": \"2006-01-15T04:24:21.557Z\",\n      \"age\": 17\n    },\n    \"phone\": \"56139282\",\n    \"cell\": \"22380559\",\n    \"id\": 147,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/81.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/81.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/81.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Regine\",\n      \"last\": \"Syrstad\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 650,\n        \"name\": \"Fjellknattveien\"\n      },\n      \"city\": \"Lysøysund\",\n      \"state\": \"Telemark\",\n      \"country\": \"Norway\",\n      \"postcode\": \"1794\",\n      \"coordinates\": {\n        \"latitude\": \"-64.4730\",\n        \"longitude\": \"-34.3489\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"regine.syrstad@example.com\",\n    \"login\": {\n      \"uuid\": \"ff19e206-184e-4a3a-a6c6-bcf65678c896\",\n      \"username\": \"sadostrich959\",\n      \"password\": \"spice\",\n      \"salt\": \"PlIjCaeK\",\n      \"md5\": \"5d51fc659d8b6e9d4c1a803a5abadb4a\",\n      \"sha1\": \"89a5eadc6881034e3e18ed78d6779366f1197520\",\n      \"sha256\": \"8d711bb376c055ed209fba9ea0f5162db0d1b86fa70906eb504c3d89662d85a6\"\n    },\n    \"dob\": {\n      \"date\": \"1995-10-09T02:30:10.959Z\",\n      \"age\": 27\n    },\n    \"registered\": {\n      \"date\": \"2013-05-20T20:33:55.417Z\",\n      \"age\": 10\n    },\n    \"phone\": \"68239279\",\n    \"cell\": \"90692300\",\n    \"id\": 148,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/48.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/48.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/48.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Sandra\",\n      \"last\": \"Noriega\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6621,\n        \"name\": \"Continuación Puebla\"\n      },\n      \"city\": \"Esperanza\",\n      \"state\": \"Nuevo Leon\",\n      \"country\": \"Mexico\",\n      \"postcode\": 33690,\n      \"coordinates\": {\n        \"latitude\": \"-88.4423\",\n        \"longitude\": \"110.1055\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:00\",\n        \"description\": \"Tokyo, Seoul, Osaka, Sapporo, Yakutsk\"\n      }\n    },\n    \"email\": \"sandra.noriega@example.com\",\n    \"login\": {\n      \"uuid\": \"40ba847a-a7fe-4fec-aa14-195b8de2a6a8\",\n      \"username\": \"purplezebra542\",\n      \"password\": \"abgrtyu\",\n      \"salt\": \"1zQuONVc\",\n      \"md5\": \"9181636e25d8c97815d9d315a3bf7f6f\",\n      \"sha1\": \"bd310e6d0ac502a097975245b946bdf9adbe9fd3\",\n      \"sha256\": \"8c38189cdece99134330917f98dce9621613acf933c417214ae208266cc90eea\"\n    },\n    \"dob\": {\n      \"date\": \"1950-12-10T13:46:36.273Z\",\n      \"age\": 72\n    },\n    \"registered\": {\n      \"date\": \"2008-03-29T10:33:14.732Z\",\n      \"age\": 15\n    },\n    \"phone\": \"(682) 974 6714\",\n    \"cell\": \"(645) 704 1050\",\n    \"id\": 149,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/79.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/79.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/79.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Billy\",\n      \"last\": \"Mestrom\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9878,\n        \"name\": \"Casimirlaan\"\n      },\n      \"city\": \"Sebaldeburen\",\n      \"state\": \"Zeeland\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"7385 GN\",\n      \"coordinates\": {\n        \"latitude\": \"25.2498\",\n        \"longitude\": \"-130.3105\"\n      },\n      \"timezone\": {\n        \"offset\": \"+8:00\",\n        \"description\": \"Beijing, Perth, Singapore, Hong Kong\"\n      }\n    },\n    \"email\": \"billy.mestrom@example.com\",\n    \"login\": {\n      \"uuid\": \"16f67890-036a-46fe-adee-d382d2c472f3\",\n      \"username\": \"tinymouse517\",\n      \"password\": \"macmac\",\n      \"salt\": \"sYSLLme1\",\n      \"md5\": \"e366315795b4f9f62f512f7487f124cc\",\n      \"sha1\": \"4ab2d214266bb5a94a11891089ea7af339d0f136\",\n      \"sha256\": \"0c24813ba271e7be9e4af395f9012ec8e8052e94fe8ce4abe6127df1355bd045\"\n    },\n    \"dob\": {\n      \"date\": \"1976-01-01T04:41:14.481Z\",\n      \"age\": 47\n    },\n    \"registered\": {\n      \"date\": \"2002-05-24T17:04:51.484Z\",\n      \"age\": 20\n    },\n    \"phone\": \"(056) 6472880\",\n    \"cell\": \"(06) 89421107\",\n    \"id\": 150,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/28.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/28.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/28.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Anica\",\n      \"last\": \"The\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7949,\n        \"name\": \"Cruyshaag\"\n      },\n      \"city\": \"De Tike\",\n      \"state\": \"Utrecht\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"5795 QV\",\n      \"coordinates\": {\n        \"latitude\": \"39.1646\",\n        \"longitude\": \"24.1484\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"anica.the@example.com\",\n    \"login\": {\n      \"uuid\": \"bf1450f8-ceb3-4d1d-82bc-f40cdff150f4\",\n      \"username\": \"smallgorilla837\",\n      \"password\": \"remote\",\n      \"salt\": \"spTiPM9d\",\n      \"md5\": \"dfd96a0676000afa94e087fd1fe0e164\",\n      \"sha1\": \"488afa5f98bc4a493eb5e9ceb92bcf513245a012\",\n      \"sha256\": \"b8184ce0060adbde45235a93b4c2d07f8e275d8b899a3b7aaa8d9fd3ec000aa6\"\n    },\n    \"dob\": {\n      \"date\": \"1957-08-13T22:52:43.346Z\",\n      \"age\": 65\n    },\n    \"registered\": {\n      \"date\": \"2017-07-05T21:30:08.921Z\",\n      \"age\": 5\n    },\n    \"phone\": \"(0746) 905355\",\n    \"cell\": \"(06) 13982925\",\n    \"id\": 151,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/50.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/50.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/50.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"حسین\",\n      \"last\": \"پارسا\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2836,\n        \"name\": \"شهید کشواد\"\n      },\n      \"city\": \"ساوه\",\n      \"state\": \"چهارمحال و بختیاری\",\n      \"country\": \"Iran\",\n      \"postcode\": 45698,\n      \"coordinates\": {\n        \"latitude\": \"-14.4167\",\n        \"longitude\": \"51.9311\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:00\",\n        \"description\": \"Baghdad, Riyadh, Moscow, St. Petersburg\"\n      }\n    },\n    \"email\": \"hsyn.prs@example.com\",\n    \"login\": {\n      \"uuid\": \"6d8917dc-bd34-42d2-b349-940b458a9236\",\n      \"username\": \"redfrog581\",\n      \"password\": \"sophie1\",\n      \"salt\": \"56ZpkW81\",\n      \"md5\": \"3425d60e5cc13684672a3765ffe570b6\",\n      \"sha1\": \"a6b8e64cbf72dbbed519607e106ff025e2d0d2e6\",\n      \"sha256\": \"1310212ccc7a0ba8b500846868542a555703f0169d5739d7322a6133b3e5604d\"\n    },\n    \"dob\": {\n      \"date\": \"1993-02-01T20:16:21.627Z\",\n      \"age\": 30\n    },\n    \"registered\": {\n      \"date\": \"2015-09-07T00:30:15.920Z\",\n      \"age\": 7\n    },\n    \"phone\": \"041-72008638\",\n    \"cell\": \"0931-246-1266\",\n    \"id\": 152,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/11.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/11.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/11.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Juan\",\n      \"last\": \"Wilson\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6376,\n        \"name\": \"E North St\"\n      },\n      \"city\": \"Australian Capital Territory\",\n      \"state\": \"Australian Capital Territory\",\n      \"country\": \"Australia\",\n      \"postcode\": 5297,\n      \"coordinates\": {\n        \"latitude\": \"-40.7771\",\n        \"longitude\": \"-130.0999\"\n      },\n      \"timezone\": {\n        \"offset\": \"-1:00\",\n        \"description\": \"Azores, Cape Verde Islands\"\n      }\n    },\n    \"email\": \"juan.wilson@example.com\",\n    \"login\": {\n      \"uuid\": \"92df5127-d78b-44ae-b136-7f3d5ece6389\",\n      \"username\": \"brownbird290\",\n      \"password\": \"mayday\",\n      \"salt\": \"Ime0wVUI\",\n      \"md5\": \"8f2915b9ca18f4054eef6a6f0044eb62\",\n      \"sha1\": \"b279cc8fb8a75b35d86d8998462645f2c247c9a5\",\n      \"sha256\": \"9ea8ea8baf572eb7f48e81b96f0b708391e1ba572c1214f43eba929ea9115310\"\n    },\n    \"dob\": {\n      \"date\": \"1970-10-26T17:11:57.857Z\",\n      \"age\": 52\n    },\n    \"registered\": {\n      \"date\": \"2011-03-25T17:43:50.214Z\",\n      \"age\": 12\n    },\n    \"phone\": \"02-7631-8534\",\n    \"cell\": \"0432-749-118\",\n    \"id\": 153,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/3.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/3.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/3.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Amarildo\",\n      \"last\": \"Alves\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8855,\n        \"name\": \"Rua Maranhão \"\n      },\n      \"city\": \"Barueri\",\n      \"state\": \"Bahia\",\n      \"country\": \"Brazil\",\n      \"postcode\": 96491,\n      \"coordinates\": {\n        \"latitude\": \"-49.4907\",\n        \"longitude\": \"102.6226\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:30\",\n        \"description\": \"Bombay, Calcutta, Madras, New Delhi\"\n      }\n    },\n    \"email\": \"amarildo.alves@example.com\",\n    \"login\": {\n      \"uuid\": \"1fb53bcc-a922-40d8-8bcd-a092140dc881\",\n      \"username\": \"lazyfrog895\",\n      \"password\": \"lucas\",\n      \"salt\": \"CMoMg4cX\",\n      \"md5\": \"8cf11097696f0d95750602fe7f497f51\",\n      \"sha1\": \"2891df0bc2a018828b1968e9c1d9fe03edb59c5e\",\n      \"sha256\": \"34e30aa2d9caca4228ebcbac7bfe69b3ae7990b2fea091f6b31eb418207e3554\"\n    },\n    \"dob\": {\n      \"date\": \"1955-05-15T04:57:57.662Z\",\n      \"age\": 68\n    },\n    \"registered\": {\n      \"date\": \"2010-11-15T16:42:05.159Z\",\n      \"age\": 12\n    },\n    \"phone\": \"(77) 0502-6668\",\n    \"cell\": \"(01) 6724-7796\",\n    \"id\": 154,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/17.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/17.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/17.jpg\"\n    },\n    \"nat\": \"BR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Jesus\",\n      \"last\": \"León\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 897,\n        \"name\": \"Calle del Arenal\"\n      },\n      \"city\": \"Mérida\",\n      \"state\": \"Ceuta\",\n      \"country\": \"Spain\",\n      \"postcode\": 82055,\n      \"coordinates\": {\n        \"latitude\": \"71.5465\",\n        \"longitude\": \"-166.6370\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:00\",\n        \"description\": \"Abu Dhabi, Muscat, Baku, Tbilisi\"\n      }\n    },\n    \"email\": \"jesus.leon@example.com\",\n    \"login\": {\n      \"uuid\": \"365a9aef-9a2a-402e-90c2-6e1a22377a34\",\n      \"username\": \"redfrog637\",\n      \"password\": \"mayhem\",\n      \"salt\": \"C4M4qRw2\",\n      \"md5\": \"f3173bdedff19d706127b01d975bcaeb\",\n      \"sha1\": \"38dff06d6b8764081a96ff1c549297c0246af1ba\",\n      \"sha256\": \"3fec6fe600d0391e5d086fdad88696c13e4b8e5232346053f33152bd811f7f5c\"\n    },\n    \"dob\": {\n      \"date\": \"1985-11-01T06:52:55.338Z\",\n      \"age\": 37\n    },\n    \"registered\": {\n      \"date\": \"2013-10-23T00:35:12.602Z\",\n      \"age\": 9\n    },\n    \"phone\": \"996-669-038\",\n    \"cell\": \"659-659-854\",\n    \"id\": 155,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/93.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/93.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/93.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Thomas\",\n      \"last\": \"Walker\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5356,\n        \"name\": \"Cedar St\"\n      },\n      \"city\": \"Enterprise\",\n      \"state\": \"Newfoundland and Labrador\",\n      \"country\": \"Canada\",\n      \"postcode\": \"O4R 8O3\",\n      \"coordinates\": {\n        \"latitude\": \"-89.7427\",\n        \"longitude\": \"-50.7077\"\n      },\n      \"timezone\": {\n        \"offset\": \"-4:00\",\n        \"description\": \"Atlantic Time (Canada), Caracas, La Paz\"\n      }\n    },\n    \"email\": \"thomas.walker@example.com\",\n    \"login\": {\n      \"uuid\": \"06e3efe7-eb4d-4239-b280-e131cda5e930\",\n      \"username\": \"angryfrog285\",\n      \"password\": \"higgins\",\n      \"salt\": \"OSBTHAFD\",\n      \"md5\": \"49b1572f0f111c3f31d665b51c23c117\",\n      \"sha1\": \"70dda422a5fe027b6a5b65df41f9ff8302f600cf\",\n      \"sha256\": \"15fe662fbaeddcda37943706d37031254c6a54d71720169f4249b4bd6bff486e\"\n    },\n    \"dob\": {\n      \"date\": \"1996-04-27T06:40:57.344Z\",\n      \"age\": 27\n    },\n    \"registered\": {\n      \"date\": \"2018-12-30T12:45:38.935Z\",\n      \"age\": 4\n    },\n    \"phone\": \"C07 J25-1953\",\n    \"cell\": \"W33 N38-3420\",\n    \"id\": 156,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/81.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/81.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/81.jpg\"\n    },\n    \"nat\": \"CA\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Livio\",\n      \"last\": \"Leclercq\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7695,\n        \"name\": \"Rue des Jardins\"\n      },\n      \"city\": \"Saint-Denis\",\n      \"state\": \"Haute-Marne\",\n      \"country\": \"France\",\n      \"postcode\": 14393,\n      \"coordinates\": {\n        \"latitude\": \"59.3661\",\n        \"longitude\": \"-147.5639\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:30\",\n        \"description\": \"Kabul\"\n      }\n    },\n    \"email\": \"livio.leclercq@example.com\",\n    \"login\": {\n      \"uuid\": \"b28471be-f23c-4d91-8028-be9dbbb36063\",\n      \"username\": \"bigfrog499\",\n      \"password\": \"ncc1701d\",\n      \"salt\": \"8TnP1vr8\",\n      \"md5\": \"266480e0459961f6d4863508f403d610\",\n      \"sha1\": \"9d3ee4ca99fbe11c5ea42c7e868442b7a1cccfba\",\n      \"sha256\": \"2c49a34e303a92b572470c0aefe21fa05e23423817918ec54fff7a172fb06fff\"\n    },\n    \"dob\": {\n      \"date\": \"1993-07-12T06:30:24.916Z\",\n      \"age\": 29\n    },\n    \"registered\": {\n      \"date\": \"2004-09-25T02:05:44.274Z\",\n      \"age\": 18\n    },\n    \"phone\": \"01-50-93-18-83\",\n    \"cell\": \"06-94-04-68-52\",\n    \"id\": 157,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/90.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/90.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/90.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Nooa\",\n      \"last\": \"Heikkila\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1756,\n        \"name\": \"Otavalankatu\"\n      },\n      \"city\": \"Rautavaara\",\n      \"state\": \"Uusimaa\",\n      \"country\": \"Finland\",\n      \"postcode\": 19867,\n      \"coordinates\": {\n        \"latitude\": \"-53.6167\",\n        \"longitude\": \"-47.5631\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:00\",\n        \"description\": \"Tokyo, Seoul, Osaka, Sapporo, Yakutsk\"\n      }\n    },\n    \"email\": \"nooa.heikkila@example.com\",\n    \"login\": {\n      \"uuid\": \"91f1f7d4-7116-469e-bcc3-10df41bbadc2\",\n      \"username\": \"blackmouse342\",\n      \"password\": \"yummy\",\n      \"salt\": \"CaOpxYVk\",\n      \"md5\": \"d6acdcde9234daf0eaa204207d8fcf72\",\n      \"sha1\": \"a3db49717354a66ee514769e7eaf51441001953c\",\n      \"sha256\": \"6a66fe60b55e4c184c0c11434cb945c5b55c4ab68df7ffb8f32af96489081206\"\n    },\n    \"dob\": {\n      \"date\": \"1951-10-05T15:19:58.133Z\",\n      \"age\": 71\n    },\n    \"registered\": {\n      \"date\": \"2009-05-01T22:13:05.419Z\",\n      \"age\": 14\n    },\n    \"phone\": \"06-136-273\",\n    \"cell\": \"043-443-95-39\",\n    \"id\": 158,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/79.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/79.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/79.jpg\"\n    },\n    \"nat\": \"FI\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Sophia\",\n      \"last\": \"Johnson\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 54,\n        \"name\": \"Domain Road\"\n      },\n      \"city\": \"Invercargill\",\n      \"state\": \"Manawatu-Wanganui\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 48297,\n      \"coordinates\": {\n        \"latitude\": \"75.0914\",\n        \"longitude\": \"-23.6439\"\n      },\n      \"timezone\": {\n        \"offset\": \"-6:00\",\n        \"description\": \"Central Time (US & Canada), Mexico City\"\n      }\n    },\n    \"email\": \"sophia.johnson@example.com\",\n    \"login\": {\n      \"uuid\": \"11bcca1b-14e9-47ef-8df7-da0ff275cee8\",\n      \"username\": \"sadtiger927\",\n      \"password\": \"635241\",\n      \"salt\": \"7ASBCO97\",\n      \"md5\": \"3550c1deb38d40a4441f70c40ea34b8a\",\n      \"sha1\": \"d321f3d5ae435d5c5889bf797250e9fb411e9384\",\n      \"sha256\": \"27fba517dc5c7dac898e3429db421e2be8cebdfd27515e0b7f37e06ea7cc1c5f\"\n    },\n    \"dob\": {\n      \"date\": \"1983-07-03T10:50:12.318Z\",\n      \"age\": 39\n    },\n    \"registered\": {\n      \"date\": \"2018-03-20T12:24:33.782Z\",\n      \"age\": 5\n    },\n    \"phone\": \"(584)-017-2922\",\n    \"cell\": \"(098)-375-0742\",\n    \"id\": 159,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/50.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/50.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/50.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Joan\",\n      \"last\": \"Carrasco\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7988,\n        \"name\": \"Avenida de Burgos\"\n      },\n      \"city\": \"Cartagena\",\n      \"state\": \"Aragón\",\n      \"country\": \"Spain\",\n      \"postcode\": 29639,\n      \"coordinates\": {\n        \"latitude\": \"64.0529\",\n        \"longitude\": \"-53.6099\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"joan.carrasco@example.com\",\n    \"login\": {\n      \"uuid\": \"34781128-3ae2-4f3a-bd75-f6d46371cd9b\",\n      \"username\": \"redkoala263\",\n      \"password\": \"property\",\n      \"salt\": \"u4s3a9Eo\",\n      \"md5\": \"efdd0f1d3c1c3effac83a31f9afe8446\",\n      \"sha1\": \"c5d9c3a50cb40b8a2056e728657161356a519a47\",\n      \"sha256\": \"92db451be62e795d0050b62a867abd9d18fbabce5e4e9c0a49dacedfb4255b69\"\n    },\n    \"dob\": {\n      \"date\": \"1962-08-26T22:34:28.406Z\",\n      \"age\": 60\n    },\n    \"registered\": {\n      \"date\": \"2006-07-14T11:38:13.541Z\",\n      \"age\": 16\n    },\n    \"phone\": \"940-581-702\",\n    \"cell\": \"614-775-169\",\n    \"id\": 160,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/22.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/22.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/22.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Henrikke\",\n      \"last\": \"Heien\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9129,\n        \"name\": \"Siloveien\"\n      },\n      \"city\": \"Fetsund\",\n      \"state\": \"Buskerud\",\n      \"country\": \"Norway\",\n      \"postcode\": \"5109\",\n      \"coordinates\": {\n        \"latitude\": \"43.8905\",\n        \"longitude\": \"-115.3678\"\n      },\n      \"timezone\": {\n        \"offset\": \"+7:00\",\n        \"description\": \"Bangkok, Hanoi, Jakarta\"\n      }\n    },\n    \"email\": \"henrikke.heien@example.com\",\n    \"login\": {\n      \"uuid\": \"08f86958-30f4-430f-80fc-4b2dceb31a29\",\n      \"username\": \"purplebutterfly358\",\n      \"password\": \"vixen\",\n      \"salt\": \"Z6lzXC0T\",\n      \"md5\": \"4d14910f7e348e330ee0cad98fdf64c0\",\n      \"sha1\": \"d3a9a6639cdc9eef96dce70ed68284e53fcdc440\",\n      \"sha256\": \"82fc71658c735caae99cf517ef3aa1dc8ee93c628496526fe4a40d1ea0fbc71a\"\n    },\n    \"dob\": {\n      \"date\": \"1978-03-03T19:11:29.683Z\",\n      \"age\": 45\n    },\n    \"registered\": {\n      \"date\": \"2015-04-15T22:02:40.263Z\",\n      \"age\": 8\n    },\n    \"phone\": \"74878906\",\n    \"cell\": \"91341657\",\n    \"id\": 161,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/28.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/28.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/28.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Aaron\",\n      \"last\": \"Girard\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1937,\n        \"name\": \"Rue de L'Abbé-Grégoire\"\n      },\n      \"city\": \"Toulon\",\n      \"state\": \"Cher\",\n      \"country\": \"France\",\n      \"postcode\": 23408,\n      \"coordinates\": {\n        \"latitude\": \"56.5866\",\n        \"longitude\": \"-112.9952\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"aaron.girard@example.com\",\n    \"login\": {\n      \"uuid\": \"2173904a-5ec0-47a3-b8ba-d6753933f506\",\n      \"username\": \"sadkoala504\",\n      \"password\": \"hilton\",\n      \"salt\": \"PgicDhst\",\n      \"md5\": \"15046b6e1028643154c73f9d737dc221\",\n      \"sha1\": \"7bb92cf91e04530bb5ba6361fbd0a7ef81915a43\",\n      \"sha256\": \"bba188fa730727622f7a483a7f16875b5dfe14bbafc53898312d7fc09f1f1b6e\"\n    },\n    \"dob\": {\n      \"date\": \"1984-03-06T10:39:43.656Z\",\n      \"age\": 39\n    },\n    \"registered\": {\n      \"date\": \"2003-10-28T04:06:50.794Z\",\n      \"age\": 19\n    },\n    \"phone\": \"01-56-76-28-90\",\n    \"cell\": \"06-45-05-11-30\",\n    \"id\": 162,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/0.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/0.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/0.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mademoiselle\",\n      \"first\": \"Tatiana\",\n      \"last\": \"Legrand\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4415,\n        \"name\": \"Rue des Écoles\"\n      },\n      \"city\": \"Heiden\",\n      \"state\": \"Valais\",\n      \"country\": \"Switzerland\",\n      \"postcode\": 7287,\n      \"coordinates\": {\n        \"latitude\": \"67.7623\",\n        \"longitude\": \"88.8238\"\n      },\n      \"timezone\": {\n        \"offset\": \"+7:00\",\n        \"description\": \"Bangkok, Hanoi, Jakarta\"\n      }\n    },\n    \"email\": \"tatiana.legrand@example.com\",\n    \"login\": {\n      \"uuid\": \"e5eaede0-fd7a-4e77-9cb4-276847f225f3\",\n      \"username\": \"silverleopard979\",\n      \"password\": \"maddie\",\n      \"salt\": \"dfR4TnEq\",\n      \"md5\": \"21712da0b3ccd1e18741782e819eac52\",\n      \"sha1\": \"7a21d4c9b3b3fce4b2560e59d7e5a0fda691598f\",\n      \"sha256\": \"7efc7bfd25d75d76f42665272780849e0a05b6bd591a6ff46388abd96e37957e\"\n    },\n    \"dob\": {\n      \"date\": \"1966-10-29T00:54:15.730Z\",\n      \"age\": 56\n    },\n    \"registered\": {\n      \"date\": \"2010-06-03T13:51:08.033Z\",\n      \"age\": 12\n    },\n    \"phone\": \"075 436 13 69\",\n    \"cell\": \"076 043 83 19\",\n    \"id\": 163,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/80.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/80.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/80.jpg\"\n    },\n    \"nat\": \"CH\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Henner\",\n      \"last\": \"Sieg\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3271,\n        \"name\": \"Beethovenstraße\"\n      },\n      \"city\": \"Stutensee\",\n      \"state\": \"Sachsen-Anhalt\",\n      \"country\": \"Germany\",\n      \"postcode\": 60434,\n      \"coordinates\": {\n        \"latitude\": \"-56.9067\",\n        \"longitude\": \"159.4837\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"henner.sieg@example.com\",\n    \"login\": {\n      \"uuid\": \"fa1a05c6-49d3-4e07-8157-6b06f9d6d999\",\n      \"username\": \"redleopard624\",\n      \"password\": \"james\",\n      \"salt\": \"rLGUUSBc\",\n      \"md5\": \"482fdc2867db6bcf0612b6929bf9c453\",\n      \"sha1\": \"6233aff01f4826fe70ee029ba57bb1359855968a\",\n      \"sha256\": \"75caff9421de5a61f46f48c30f01acc4b9412731d274fc1023e5095b2535193e\"\n    },\n    \"dob\": {\n      \"date\": \"1983-06-10T11:16:57.267Z\",\n      \"age\": 39\n    },\n    \"registered\": {\n      \"date\": \"2008-05-23T05:21:34.106Z\",\n      \"age\": 14\n    },\n    \"phone\": \"0607-8833637\",\n    \"cell\": \"0173-3369318\",\n    \"id\": 164,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/84.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/84.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/84.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Valeri\",\n      \"last\": \"Metzner\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6098,\n        \"name\": \"Finkenweg\"\n      },\n      \"city\": \"Münstermaifeld\",\n      \"state\": \"Bremen\",\n      \"country\": \"Germany\",\n      \"postcode\": 97393,\n      \"coordinates\": {\n        \"latitude\": \"33.6144\",\n        \"longitude\": \"-20.3235\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:00\",\n        \"description\": \"Tokyo, Seoul, Osaka, Sapporo, Yakutsk\"\n      }\n    },\n    \"email\": \"valeri.metzner@example.com\",\n    \"login\": {\n      \"uuid\": \"1f4bafa5-52c9-4db8-adca-09ef1b915a18\",\n      \"username\": \"smallswan199\",\n      \"password\": \"vladimir\",\n      \"salt\": \"Uo9rnhz5\",\n      \"md5\": \"1531835c86cb5509be46a9f199a4c5d5\",\n      \"sha1\": \"8137f2a7d84cdfc52826b033de83497c48eb3032\",\n      \"sha256\": \"8b338c2a484d23e53981da59de826432d17a77d02f816ba7d34ff16d94e8f95d\"\n    },\n    \"dob\": {\n      \"date\": \"1983-09-16T23:36:39.208Z\",\n      \"age\": 39\n    },\n    \"registered\": {\n      \"date\": \"2006-08-26T21:05:27.638Z\",\n      \"age\": 16\n    },\n    \"phone\": \"0036-0477201\",\n    \"cell\": \"0170-2241536\",\n    \"id\": 165,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/42.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/42.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/42.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Filipe\",\n      \"last\": \"Monteiro\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9966,\n        \"name\": \"Rua Principal\"\n      },\n      \"city\": \"Osasco\",\n      \"state\": \"Acre\",\n      \"country\": \"Brazil\",\n      \"postcode\": 86996,\n      \"coordinates\": {\n        \"latitude\": \"-28.3268\",\n        \"longitude\": \"-129.0147\"\n      },\n      \"timezone\": {\n        \"offset\": \"-7:00\",\n        \"description\": \"Mountain Time (US & Canada)\"\n      }\n    },\n    \"email\": \"filipe.monteiro@example.com\",\n    \"login\": {\n      \"uuid\": \"41b4df78-7e6e-4482-82f2-fb5e1b07c99f\",\n      \"username\": \"yellowsnake287\",\n      \"password\": \"gggggg\",\n      \"salt\": \"rBkhMXVJ\",\n      \"md5\": \"eff61a1593d13fb6b30f31fc5aee7cd6\",\n      \"sha1\": \"f43f17c544165e04a18ca84fa17b33d1dec1ed5f\",\n      \"sha256\": \"724c06128ea07f77fae395a0c27b58fbd1e8cc40447544fa5045f1829ee429a5\"\n    },\n    \"dob\": {\n      \"date\": \"1966-09-23T21:55:22.471Z\",\n      \"age\": 56\n    },\n    \"registered\": {\n      \"date\": \"2012-04-22T06:47:06.216Z\",\n      \"age\": 11\n    },\n    \"phone\": \"(70) 5928-5991\",\n    \"cell\": \"(19) 4619-4364\",\n    \"id\": 166,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/18.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/18.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/18.jpg\"\n    },\n    \"nat\": \"BR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Taylor\",\n      \"last\": \"Beck\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2979,\n        \"name\": \"Timber Wolf Trail\"\n      },\n      \"city\": \"Elk Grove\",\n      \"state\": \"Mississippi\",\n      \"country\": \"United States\",\n      \"postcode\": 71694,\n      \"coordinates\": {\n        \"latitude\": \"20.3407\",\n        \"longitude\": \"35.7294\"\n      },\n      \"timezone\": {\n        \"offset\": \"-2:00\",\n        \"description\": \"Mid-Atlantic\"\n      }\n    },\n    \"email\": \"taylor.beck@example.com\",\n    \"login\": {\n      \"uuid\": \"dc729525-f260-44a4-b5ea-453266d309c7\",\n      \"username\": \"yellowmouse426\",\n      \"password\": \"moses\",\n      \"salt\": \"ZyGWORuf\",\n      \"md5\": \"0ce159f2bee7ad5283ee0dc7b1407976\",\n      \"sha1\": \"1942b8b8e62d9567090bbba164fcf841c5d3f630\",\n      \"sha256\": \"4e8521a5ddbe49397b77dd68d6675cd6966b61ba9c36485691e5e789df1fb817\"\n    },\n    \"dob\": {\n      \"date\": \"1991-02-20T12:24:40.017Z\",\n      \"age\": 32\n    },\n    \"registered\": {\n      \"date\": \"2002-08-03T01:21:33.478Z\",\n      \"age\": 20\n    },\n    \"phone\": \"(861) 564-7033\",\n    \"cell\": \"(570) 423-1449\",\n    \"id\": 167,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/65.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/65.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/65.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Rufina\",\n      \"last\": \"Korobka\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8574,\n        \"name\": \"Kavaleridze\"\n      },\n      \"city\": \"Novgorod-Siverskiy\",\n      \"state\": \"Ivano-Frankivska\",\n      \"country\": \"Ukraine\",\n      \"postcode\": 97239,\n      \"coordinates\": {\n        \"latitude\": \"-26.6742\",\n        \"longitude\": \"72.8696\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"rufina.korobka@example.com\",\n    \"login\": {\n      \"uuid\": \"c70a18ca-b945-4db1-8ed1-8c521c6c4471\",\n      \"username\": \"tinyduck759\",\n      \"password\": \"monkey1\",\n      \"salt\": \"lvNpeikX\",\n      \"md5\": \"382b7a0cea21b0394195a1f2cc3bbd46\",\n      \"sha1\": \"39287284e1d221d281b41e54ed63ffe2f6bca077\",\n      \"sha256\": \"70edd91724adf64dc5ec6ce3d545c9b7c58f9baf814dbeb4e0b8209d6517586a\"\n    },\n    \"dob\": {\n      \"date\": \"1996-10-06T16:52:12.824Z\",\n      \"age\": 26\n    },\n    \"registered\": {\n      \"date\": \"2022-03-01T16:45:47.078Z\",\n      \"age\": 1\n    },\n    \"phone\": \"(066) Z20-7482\",\n    \"cell\": \"(098) U04-3101\",\n    \"id\": 168,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/16.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/16.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/16.jpg\"\n    },\n    \"nat\": \"UA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"پارمیس\",\n      \"last\": \"علیزاده\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1921,\n        \"name\": \"ولیعصر / مصدق\"\n      },\n      \"city\": \"قدس\",\n      \"state\": \"اصفهان\",\n      \"country\": \"Iran\",\n      \"postcode\": 15329,\n      \"coordinates\": {\n        \"latitude\": \"87.5260\",\n        \"longitude\": \"39.3078\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"prmys.aalyzdh@example.com\",\n    \"login\": {\n      \"uuid\": \"e26656d8-7c40-4f51-b52e-1e21df8749ac\",\n      \"username\": \"greenfrog959\",\n      \"password\": \"dwight\",\n      \"salt\": \"5YEuNAsC\",\n      \"md5\": \"2e9eee1c400ad3b635e0773559e9f5e4\",\n      \"sha1\": \"2e031a4fe5e767a921898206366b5ba37e7ef4dc\",\n      \"sha256\": \"a6031180c78cf9adcfcbda37685b1e5e0aa88e0b1715bdb444a284e6d546915a\"\n    },\n    \"dob\": {\n      \"date\": \"1998-11-20T11:21:43.784Z\",\n      \"age\": 24\n    },\n    \"registered\": {\n      \"date\": \"2008-06-28T06:24:12.978Z\",\n      \"age\": 14\n    },\n    \"phone\": \"039-01923364\",\n    \"cell\": \"0991-496-1412\",\n    \"id\": 169,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/5.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/5.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/5.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Minttu\",\n      \"last\": \"Hakola\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4668,\n        \"name\": \"Mannerheimintie\"\n      },\n      \"city\": \"Oulunsalo\",\n      \"state\": \"Finland Proper\",\n      \"country\": \"Finland\",\n      \"postcode\": 70730,\n      \"coordinates\": {\n        \"latitude\": \"-73.8012\",\n        \"longitude\": \"32.7604\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"minttu.hakola@example.com\",\n    \"login\": {\n      \"uuid\": \"5244c331-f0e7-4795-93ce-289ed0b7c4d1\",\n      \"username\": \"angryleopard703\",\n      \"password\": \"choochoo\",\n      \"salt\": \"0H8ofOIg\",\n      \"md5\": \"26a889ebe3d6e3cd685739d7c28e41b4\",\n      \"sha1\": \"10eb66e8ff6f38d0deb8cea294db1804e2ff9d4e\",\n      \"sha256\": \"41c8a2205fb2fd82f29a76c8e764cde5b1e64ea31630c2a7c8a0c9587f3e4b3c\"\n    },\n    \"dob\": {\n      \"date\": \"1961-03-28T07:03:06.209Z\",\n      \"age\": 62\n    },\n    \"registered\": {\n      \"date\": \"2011-04-07T14:56:08.603Z\",\n      \"age\": 12\n    },\n    \"phone\": \"06-702-245\",\n    \"cell\": \"047-926-22-71\",\n    \"id\": 170,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/67.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/67.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/67.jpg\"\n    },\n    \"nat\": \"FI\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Shanaya\",\n      \"last\": \"Shayana\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7678,\n        \"name\": \"Shakespeare Sarani\"\n      },\n      \"city\": \"Gurgaon\",\n      \"state\": \"Bihar\",\n      \"country\": \"India\",\n      \"postcode\": 57954,\n      \"coordinates\": {\n        \"latitude\": \"-79.0915\",\n        \"longitude\": \"-161.3221\"\n      },\n      \"timezone\": {\n        \"offset\": \"+2:00\",\n        \"description\": \"Kaliningrad, South Africa\"\n      }\n    },\n    \"email\": \"shanaya.shayana@example.com\",\n    \"login\": {\n      \"uuid\": \"5619cc3e-3abd-46c7-be53-bd60668e8424\",\n      \"username\": \"purpleleopard710\",\n      \"password\": \"businessbabe\",\n      \"salt\": \"g3LOSTb9\",\n      \"md5\": \"95f301e118f2114c5a152e3b521cd334\",\n      \"sha1\": \"b932e8d1e6902b224f104dc6b5b54b079330b2cb\",\n      \"sha256\": \"a8c522395464ff2ac2c144a6278599de1d98bb993b5dfa5ed67d570c39c6caa1\"\n    },\n    \"dob\": {\n      \"date\": \"1981-07-13T17:09:07.979Z\",\n      \"age\": 41\n    },\n    \"registered\": {\n      \"date\": \"2004-08-24T12:48:41.442Z\",\n      \"age\": 18\n    },\n    \"phone\": \"8481744005\",\n    \"cell\": \"7304247795\",\n    \"id\": 171,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/86.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/86.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/86.jpg\"\n    },\n    \"nat\": \"IN\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"پوریا\",\n      \"last\": \"رضایی\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9079,\n        \"name\": \"قائم مقام فراهانی\"\n      },\n      \"city\": \"بوشهر\",\n      \"state\": \"یزد\",\n      \"country\": \"Iran\",\n      \"postcode\": 71917,\n      \"coordinates\": {\n        \"latitude\": \"-62.2817\",\n        \"longitude\": \"38.6694\"\n      },\n      \"timezone\": {\n        \"offset\": \"-4:00\",\n        \"description\": \"Atlantic Time (Canada), Caracas, La Paz\"\n      }\n    },\n    \"email\": \"pwry.rdyy@example.com\",\n    \"login\": {\n      \"uuid\": \"fffad3f3-0b55-4161-bea4-ef2892c695cf\",\n      \"username\": \"bluebutterfly995\",\n      \"password\": \"trample\",\n      \"salt\": \"OaLBA5Cj\",\n      \"md5\": \"cfd268268aa6337a18b6232d97684f95\",\n      \"sha1\": \"1a89ea26dafa7bbcc0aef7d5d52afc0c2543126b\",\n      \"sha256\": \"1ac12fd5cc6f869c4f7e176c7ea9e91a6fc7ad58d79091c54a45ea48b1ea9b30\"\n    },\n    \"dob\": {\n      \"date\": \"1957-01-29T06:19:44.622Z\",\n      \"age\": 66\n    },\n    \"registered\": {\n      \"date\": \"2009-08-27T07:58:58.248Z\",\n      \"age\": 13\n    },\n    \"phone\": \"048-19564060\",\n    \"cell\": \"0923-202-6156\",\n    \"id\": 172,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/60.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/60.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/60.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Ryan\",\n      \"last\": \"Kumar\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8742,\n        \"name\": \"Kazimar St\"\n      },\n      \"city\": \"Nizamabad\",\n      \"state\": \"Gujarat\",\n      \"country\": \"India\",\n      \"postcode\": 41221,\n      \"coordinates\": {\n        \"latitude\": \"-72.2242\",\n        \"longitude\": \"68.0265\"\n      },\n      \"timezone\": {\n        \"offset\": \"-5:00\",\n        \"description\": \"Eastern Time (US & Canada), Bogota, Lima\"\n      }\n    },\n    \"email\": \"ryan.kumar@example.com\",\n    \"login\": {\n      \"uuid\": \"8641692e-1049-4ac3-9b4a-7a83365bb193\",\n      \"username\": \"ticklishfish569\",\n      \"password\": \"alexa\",\n      \"salt\": \"2gHtSi69\",\n      \"md5\": \"e6636b603eaae9e4b87082f1e8617282\",\n      \"sha1\": \"be2ee2dd827cb54a1718a86516a5c0994453d355\",\n      \"sha256\": \"c01a49d8ce159edb05b19c8de01b8c473314e081f044c57c15b221f53d699236\"\n    },\n    \"dob\": {\n      \"date\": \"1963-09-27T11:12:30.141Z\",\n      \"age\": 59\n    },\n    \"registered\": {\n      \"date\": \"2017-06-25T18:18:55.852Z\",\n      \"age\": 5\n    },\n    \"phone\": \"8258624279\",\n    \"cell\": \"8141503578\",\n    \"id\": 173,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/1.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/1.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/1.jpg\"\n    },\n    \"nat\": \"IN\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Pereyaslav\",\n      \"last\": \"Tisovskiy\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8269,\n        \"name\": \"Darvina\"\n      },\n      \"city\": \"Vasilivka\",\n      \"state\": \"Sumska\",\n      \"country\": \"Ukraine\",\n      \"postcode\": 69641,\n      \"coordinates\": {\n        \"latitude\": \"30.0588\",\n        \"longitude\": \"-45.2155\"\n      },\n      \"timezone\": {\n        \"offset\": \"-7:00\",\n        \"description\": \"Mountain Time (US & Canada)\"\n      }\n    },\n    \"email\": \"pereyaslav.tisovskiy@example.com\",\n    \"login\": {\n      \"uuid\": \"160a612b-d59e-43d6-9d0f-b22b7d2afc17\",\n      \"username\": \"smallswan688\",\n      \"password\": \"ciccio\",\n      \"salt\": \"Ij39t6h8\",\n      \"md5\": \"54dd302c41dfc7eb8ac2eccae0e7ba81\",\n      \"sha1\": \"e946dab27cd2750f8c2d3fe7f4f7e9aa23b64a9d\",\n      \"sha256\": \"00628b99aaca9877f22050cbc3131c20793c8a883ff614ea6eddc5451d2c382c\"\n    },\n    \"dob\": {\n      \"date\": \"1948-05-13T12:23:37.312Z\",\n      \"age\": 75\n    },\n    \"registered\": {\n      \"date\": \"2008-09-29T17:36:36.691Z\",\n      \"age\": 14\n    },\n    \"phone\": \"(096) B34-9485\",\n    \"cell\": \"(097) M14-5957\",\n    \"id\": 174,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/29.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/29.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/29.jpg\"\n    },\n    \"nat\": \"UA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Lillian\",\n      \"last\": \"Moreno\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7240,\n        \"name\": \"Victoria Road\"\n      },\n      \"city\": \"Leicester\",\n      \"state\": \"Rutland\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"U60 9QZ\",\n      \"coordinates\": {\n        \"latitude\": \"-69.2180\",\n        \"longitude\": \"-103.1820\"\n      },\n      \"timezone\": {\n        \"offset\": \"+6:00\",\n        \"description\": \"Almaty, Dhaka, Colombo\"\n      }\n    },\n    \"email\": \"lillian.moreno@example.com\",\n    \"login\": {\n      \"uuid\": \"b302666b-9528-4877-8896-18a05ca1f315\",\n      \"username\": \"orangeostrich365\",\n      \"password\": \"mullet\",\n      \"salt\": \"QMPPg516\",\n      \"md5\": \"8c1071088cbaf6361fe105a39c1d69f4\",\n      \"sha1\": \"02e9c1892c69d1b13753107ea3eccc75df7645ef\",\n      \"sha256\": \"e375adb77b8967bb2bf8a31252b785caa6953d623936f8c1eaef35f16d88a611\"\n    },\n    \"dob\": {\n      \"date\": \"1950-12-11T05:14:12.208Z\",\n      \"age\": 72\n    },\n    \"registered\": {\n      \"date\": \"2012-11-10T11:37:10.479Z\",\n      \"age\": 10\n    },\n    \"phone\": \"01796 477439\",\n    \"cell\": \"07210 222112\",\n    \"id\": 175,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/64.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/64.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/64.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Maélie\",\n      \"last\": \"Gerard\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5412,\n        \"name\": \"Rue de L'Abbé-Migne\"\n      },\n      \"city\": \"Toulon\",\n      \"state\": \"Loire\",\n      \"country\": \"France\",\n      \"postcode\": 67033,\n      \"coordinates\": {\n        \"latitude\": \"-83.5650\",\n        \"longitude\": \"153.4203\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"maelie.gerard@example.com\",\n    \"login\": {\n      \"uuid\": \"0aef7c09-ac02-4f50-9f4a-f6d555c3bae7\",\n      \"username\": \"tinyleopard635\",\n      \"password\": \"pirates\",\n      \"salt\": \"UoRa2VMs\",\n      \"md5\": \"a070bbae887ae977142767ae38820185\",\n      \"sha1\": \"b7dcc315136d76a7cd5f47c0193a862b1e3df2a4\",\n      \"sha256\": \"2a4cd25d5feaa24ce3f9f859e3dcecbe98e42eec05da67513a71dd9dd5ccc450\"\n    },\n    \"dob\": {\n      \"date\": \"1994-08-31T01:14:00.827Z\",\n      \"age\": 28\n    },\n    \"registered\": {\n      \"date\": \"2007-07-03T19:08:02.549Z\",\n      \"age\": 15\n    },\n    \"phone\": \"05-56-41-38-84\",\n    \"cell\": \"06-99-28-92-95\",\n    \"id\": 176,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/45.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/45.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/45.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Dyllan\",\n      \"last\": \"Clemens\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1882,\n        \"name\": \"Bartelerweg\"\n      },\n      \"city\": \"Scheulder\",\n      \"state\": \"Zuid-Holland\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"7043 HP\",\n      \"coordinates\": {\n        \"latitude\": \"13.8722\",\n        \"longitude\": \"1.0540\"\n      },\n      \"timezone\": {\n        \"offset\": \"-10:00\",\n        \"description\": \"Hawaii\"\n      }\n    },\n    \"email\": \"dyllan.clemens@example.com\",\n    \"login\": {\n      \"uuid\": \"fefb5235-b5cd-4379-ae5e-6ea6412ab334\",\n      \"username\": \"purplebear813\",\n      \"password\": \"snowbird\",\n      \"salt\": \"YC6FS9qP\",\n      \"md5\": \"c588746b3af7ad88336e8b4973a5b4bf\",\n      \"sha1\": \"e2379b848309c8bfdc16567d615fb788120bda3a\",\n      \"sha256\": \"d5a593cbb7b2f2c6a5991b90f4d0badd0faf40889f9b9a533162ed322a5c75e9\"\n    },\n    \"dob\": {\n      \"date\": \"1995-03-22T18:32:05.010Z\",\n      \"age\": 28\n    },\n    \"registered\": {\n      \"date\": \"2020-12-19T06:19:04.540Z\",\n      \"age\": 2\n    },\n    \"phone\": \"(011) 1705094\",\n    \"cell\": \"(06) 54723556\",\n    \"id\": 177,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/37.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/37.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/37.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Deniz\",\n      \"last\": \"Baykam\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9806,\n        \"name\": \"Mevlana Cd\"\n      },\n      \"city\": \"Karabük\",\n      \"state\": \"Kütahya\",\n      \"country\": \"Turkey\",\n      \"postcode\": 79651,\n      \"coordinates\": {\n        \"latitude\": \"48.1495\",\n        \"longitude\": \"151.9267\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"deniz.baykam@example.com\",\n    \"login\": {\n      \"uuid\": \"fb95bca0-ec38-477c-84c9-5c7b64d8c347\",\n      \"username\": \"blackleopard956\",\n      \"password\": \"randolph\",\n      \"salt\": \"vXW44H2x\",\n      \"md5\": \"eb98c0f405175b53a06f5ff2c5569c79\",\n      \"sha1\": \"03ae23c4d17c29e7ad3af67cbc0b9e58eb5e0ce9\",\n      \"sha256\": \"688be7a0d1c756a0d0d72426bbe2f094f97136a6a9497e2d632a2e5531830d54\"\n    },\n    \"dob\": {\n      \"date\": \"1954-10-24T15:09:41.568Z\",\n      \"age\": 68\n    },\n    \"registered\": {\n      \"date\": \"2003-09-05T10:30:41.510Z\",\n      \"age\": 19\n    },\n    \"phone\": \"(169)-280-3054\",\n    \"cell\": \"(540)-993-2628\",\n    \"id\": 178,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/20.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/20.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/20.jpg\"\n    },\n    \"nat\": \"TR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Thomas\",\n      \"last\": \"Lo\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1840,\n        \"name\": \"Queen St\"\n      },\n      \"city\": \"Clinton\",\n      \"state\": \"New Brunswick\",\n      \"country\": \"Canada\",\n      \"postcode\": \"P1K 3C0\",\n      \"coordinates\": {\n        \"latitude\": \"52.4008\",\n        \"longitude\": \"-41.7602\"\n      },\n      \"timezone\": {\n        \"offset\": \"+6:00\",\n        \"description\": \"Almaty, Dhaka, Colombo\"\n      }\n    },\n    \"email\": \"thomas.lo@example.com\",\n    \"login\": {\n      \"uuid\": \"8bdb8c86-d716-4c6b-90d9-4930ebc66fbc\",\n      \"username\": \"goldentiger340\",\n      \"password\": \"casey\",\n      \"salt\": \"keP32uZa\",\n      \"md5\": \"808b76668a2c2069b17edc8b205b5be5\",\n      \"sha1\": \"91bd6eef3fec25d2917f0c2c3701cd71a72d3d4f\",\n      \"sha256\": \"d3f2dc129f09b00a0b1178e107241da67328bcb54a298bd610ff652fc37a5ea4\"\n    },\n    \"dob\": {\n      \"date\": \"1990-11-01T18:12:49.914Z\",\n      \"age\": 32\n    },\n    \"registered\": {\n      \"date\": \"2021-08-30T22:12:14.667Z\",\n      \"age\": 1\n    },\n    \"phone\": \"P90 P46-1220\",\n    \"cell\": \"B78 K02-0636\",\n    \"id\": 179,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/92.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/92.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/92.jpg\"\n    },\n    \"nat\": \"CA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Johanne\",\n      \"last\": \"Sørensen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6272,\n        \"name\": \"Vandværksvej\"\n      },\n      \"city\": \"Ølstykke\",\n      \"state\": \"Nordjylland\",\n      \"country\": \"Denmark\",\n      \"postcode\": 28542,\n      \"coordinates\": {\n        \"latitude\": \"-83.3602\",\n        \"longitude\": \"-86.6901\"\n      },\n      \"timezone\": {\n        \"offset\": \"-2:00\",\n        \"description\": \"Mid-Atlantic\"\n      }\n    },\n    \"email\": \"johanne.sorensen@example.com\",\n    \"login\": {\n      \"uuid\": \"70bbc61c-0728-4d4f-baf3-91b21c7f53cb\",\n      \"username\": \"ticklishmouse313\",\n      \"password\": \"shania\",\n      \"salt\": \"32df0q97\",\n      \"md5\": \"85288bb1c8a9ca0e68a362f723f51f33\",\n      \"sha1\": \"da157a38ee8ed77f9c8e609eaba752b55fca55ff\",\n      \"sha256\": \"2741c7088c0fe43f5baf5b28cf7518ea47026ca0b88a0a79881edb38561fcbd2\"\n    },\n    \"dob\": {\n      \"date\": \"1948-02-19T01:08:38.326Z\",\n      \"age\": 75\n    },\n    \"registered\": {\n      \"date\": \"2017-04-26T21:56:45.040Z\",\n      \"age\": 6\n    },\n    \"phone\": \"58900491\",\n    \"cell\": \"96605477\",\n    \"id\": 180,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/29.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/29.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/29.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Alyssa\",\n      \"last\": \"Leclerc\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6745,\n        \"name\": \"Rue Baraban\"\n      },\n      \"city\": \"Argenteuil\",\n      \"state\": \"Lozère\",\n      \"country\": \"France\",\n      \"postcode\": 97374,\n      \"coordinates\": {\n        \"latitude\": \"87.8879\",\n        \"longitude\": \"114.6542\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:00\",\n        \"description\": \"Brazil, Buenos Aires, Georgetown\"\n      }\n    },\n    \"email\": \"alyssa.leclerc@example.com\",\n    \"login\": {\n      \"uuid\": \"dfccdb42-ddbc-4a0b-99c7-3672b58f7701\",\n      \"username\": \"greenbird828\",\n      \"password\": \"down\",\n      \"salt\": \"dGFagTlp\",\n      \"md5\": \"efb8a3e2f7184d0bdf7411b67aca3892\",\n      \"sha1\": \"139a39f6257ed0afc073e42ddae9bfa91fc9c6b4\",\n      \"sha256\": \"2d4a9ee661b4bd41bf7a162ee1a5464107cd324841de1f3dc336bc47cdb76a31\"\n    },\n    \"dob\": {\n      \"date\": \"1958-10-17T11:38:38.559Z\",\n      \"age\": 64\n    },\n    \"registered\": {\n      \"date\": \"2019-03-19T04:02:04.602Z\",\n      \"age\": 4\n    },\n    \"phone\": \"03-37-35-72-90\",\n    \"cell\": \"06-09-89-11-00\",\n    \"id\": 181,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/79.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/79.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/79.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Misaela\",\n      \"last\": \"Nascimento\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6645,\n        \"name\": \"Travessa dos Açorianos\"\n      },\n      \"city\": \"Olinda\",\n      \"state\": \"Piauí\",\n      \"country\": \"Brazil\",\n      \"postcode\": 78149,\n      \"coordinates\": {\n        \"latitude\": \"-35.8056\",\n        \"longitude\": \"132.1059\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:30\",\n        \"description\": \"Tehran\"\n      }\n    },\n    \"email\": \"misaela.nascimento@example.com\",\n    \"login\": {\n      \"uuid\": \"798b9825-ddf2-4401-a58e-96d892d6734c\",\n      \"username\": \"blueswan749\",\n      \"password\": \"europa\",\n      \"salt\": \"s6YrofR3\",\n      \"md5\": \"33bfeb7c9644839026fc2bf18d90fabf\",\n      \"sha1\": \"6caa4f4a778fcaaf76826d9548e9ac58ffd4f87d\",\n      \"sha256\": \"5382687dbc74a547c1bc23b21c60fb92ba3d253099666aa047fb9ee426073d30\"\n    },\n    \"dob\": {\n      \"date\": \"1985-04-14T05:22:19.184Z\",\n      \"age\": 38\n    },\n    \"registered\": {\n      \"date\": \"2015-08-31T12:23:50.071Z\",\n      \"age\": 7\n    },\n    \"phone\": \"(78) 0860-3039\",\n    \"cell\": \"(58) 5754-2425\",\n    \"id\": 182,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/69.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/69.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/69.jpg\"\n    },\n    \"nat\": \"BR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Eemil\",\n      \"last\": \"Aho\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6368,\n        \"name\": \"Verkatehtaankatu\"\n      },\n      \"city\": \"Nilsiä\",\n      \"state\": \"Tavastia Proper\",\n      \"country\": \"Finland\",\n      \"postcode\": 74049,\n      \"coordinates\": {\n        \"latitude\": \"-78.3067\",\n        \"longitude\": \"-46.4378\"\n      },\n      \"timezone\": {\n        \"offset\": \"-5:00\",\n        \"description\": \"Eastern Time (US & Canada), Bogota, Lima\"\n      }\n    },\n    \"email\": \"eemil.aho@example.com\",\n    \"login\": {\n      \"uuid\": \"38b4f707-d910-470b-a2a6-46142eaff631\",\n      \"username\": \"ticklishmouse347\",\n      \"password\": \"katrin\",\n      \"salt\": \"ppqrb8v2\",\n      \"md5\": \"76049ba3cfb25bd68e8e81de75e3a2a4\",\n      \"sha1\": \"f00d88dff0dc8ef28806424303383c87edbc5cbc\",\n      \"sha256\": \"dbd96799da80dfac58cae51489e429d530947a43952082266254f98c63b7f514\"\n    },\n    \"dob\": {\n      \"date\": \"1950-03-03T07:56:16.172Z\",\n      \"age\": 73\n    },\n    \"registered\": {\n      \"date\": \"2016-02-15T10:31:38.970Z\",\n      \"age\": 7\n    },\n    \"phone\": \"02-066-243\",\n    \"cell\": \"045-637-57-99\",\n    \"id\": 183,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/95.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/95.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/95.jpg\"\n    },\n    \"nat\": \"FI\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Elena\",\n      \"last\": \"Petković\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8558,\n        \"name\": \"Čedomira Popova \"\n      },\n      \"city\": \"Negotin\",\n      \"state\": \"Raška\",\n      \"country\": \"Serbia\",\n      \"postcode\": 51069,\n      \"coordinates\": {\n        \"latitude\": \"30.8688\",\n        \"longitude\": \"78.4421\"\n      },\n      \"timezone\": {\n        \"offset\": \"+10:00\",\n        \"description\": \"Eastern Australia, Guam, Vladivostok\"\n      }\n    },\n    \"email\": \"elena.petkovic@example.com\",\n    \"login\": {\n      \"uuid\": \"2cbd4229-5dc7-4a9a-9a67-ea50d2e531e9\",\n      \"username\": \"smallmouse199\",\n      \"password\": \"cecile\",\n      \"salt\": \"jrJAQNv4\",\n      \"md5\": \"35e235ccc61ff051cc91f3cda0c57f98\",\n      \"sha1\": \"530eda48375f5e369f1ea21ded57b1d03f7fed43\",\n      \"sha256\": \"9b6fa0fb676a6c0e8a36028b11e712b62b96ccfbc7dffb7abcb3e91a8eae6f5a\"\n    },\n    \"dob\": {\n      \"date\": \"1998-04-19T00:23:53.278Z\",\n      \"age\": 25\n    },\n    \"registered\": {\n      \"date\": \"2015-05-24T05:04:48.867Z\",\n      \"age\": 7\n    },\n    \"phone\": \"016-3636-900\",\n    \"cell\": \"064-5071-879\",\n    \"id\": 184,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/32.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/32.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/32.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Jerome\",\n      \"last\": \"Marshall\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7565,\n        \"name\": \"Paddock Way\"\n      },\n      \"city\": \"Grapevine\",\n      \"state\": \"Delaware\",\n      \"country\": \"United States\",\n      \"postcode\": 60178,\n      \"coordinates\": {\n        \"latitude\": \"63.1135\",\n        \"longitude\": \"-107.6148\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"jerome.marshall@example.com\",\n    \"login\": {\n      \"uuid\": \"dae019e9-e642-48c2-bd70-ec8e78eb621e\",\n      \"username\": \"yellowzebra820\",\n      \"password\": \"hannah\",\n      \"salt\": \"aDzFQqv2\",\n      \"md5\": \"9efa37fb32ca616d2a5a6f0272ce944b\",\n      \"sha1\": \"030bebddb2ec4284601decc856b72c74b8df9319\",\n      \"sha256\": \"06289daeb89257202f4536ccec1df1f4dda09ede610fb239e2444be189c4a937\"\n    },\n    \"dob\": {\n      \"date\": \"1958-03-11T09:20:18.230Z\",\n      \"age\": 65\n    },\n    \"registered\": {\n      \"date\": \"2009-01-31T15:27:08.345Z\",\n      \"age\": 14\n    },\n    \"phone\": \"(905) 653-9729\",\n    \"cell\": \"(286) 307-4030\",\n    \"id\": 185,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/5.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/5.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/5.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"حامد\",\n      \"last\": \"حسینی\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3257,\n        \"name\": \"پارک ارم\"\n      },\n      \"city\": \"شیراز\",\n      \"state\": \"ایلام\",\n      \"country\": \"Iran\",\n      \"postcode\": 41539,\n      \"coordinates\": {\n        \"latitude\": \"-87.7359\",\n        \"longitude\": \"-95.1917\"\n      },\n      \"timezone\": {\n        \"offset\": \"-5:00\",\n        \"description\": \"Eastern Time (US & Canada), Bogota, Lima\"\n      }\n    },\n    \"email\": \"hmd.hsyny@example.com\",\n    \"login\": {\n      \"uuid\": \"1338fcf6-3966-477c-b4eb-e2ee69d4bf28\",\n      \"username\": \"crazywolf231\",\n      \"password\": \"camp\",\n      \"salt\": \"rCXC8de6\",\n      \"md5\": \"ec5d7894d020289122ccda1f3ce0c1b6\",\n      \"sha1\": \"242d0513a5955793bcb51c6885dfabb77df2f51d\",\n      \"sha256\": \"16bd269eb851b30dc6fed77ea4454c0bc715ab7ca84051cf9a014a45cd68f330\"\n    },\n    \"dob\": {\n      \"date\": \"1964-03-05T13:30:33.383Z\",\n      \"age\": 59\n    },\n    \"registered\": {\n      \"date\": \"2012-01-12T23:41:47.158Z\",\n      \"age\": 11\n    },\n    \"phone\": \"043-61914884\",\n    \"cell\": \"0967-059-2960\",\n    \"id\": 186,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/9.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/9.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/9.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Rahaf\",\n      \"last\": \"Svenkerud\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3505,\n        \"name\": \"Karl Johans gate\"\n      },\n      \"city\": \"Biri\",\n      \"state\": \"Buskerud\",\n      \"country\": \"Norway\",\n      \"postcode\": \"1636\",\n      \"coordinates\": {\n        \"latitude\": \"-25.2643\",\n        \"longitude\": \"-94.0120\"\n      },\n      \"timezone\": {\n        \"offset\": \"+10:00\",\n        \"description\": \"Eastern Australia, Guam, Vladivostok\"\n      }\n    },\n    \"email\": \"rahaf.svenkerud@example.com\",\n    \"login\": {\n      \"uuid\": \"dabb9d7c-25ee-485b-8d6f-64c181c148ea\",\n      \"username\": \"silverduck777\",\n      \"password\": \"macleod\",\n      \"salt\": \"9TuCUcVd\",\n      \"md5\": \"66c8393bd975c638b968edc42ce0ed5a\",\n      \"sha1\": \"586f5e70cb0f067687702493211e4db6ce7b1a2d\",\n      \"sha256\": \"dd957055eadb95073c8f941c3fdfe52ab053f8d8a05f50702c2797cd8b42c3a1\"\n    },\n    \"dob\": {\n      \"date\": \"1989-08-31T00:49:40.014Z\",\n      \"age\": 33\n    },\n    \"registered\": {\n      \"date\": \"2008-11-21T05:26:10.225Z\",\n      \"age\": 14\n    },\n    \"phone\": \"38410362\",\n    \"cell\": \"48578566\",\n    \"id\": 187,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/75.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/75.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/75.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Gabriel\",\n      \"last\": \"Chan\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7558,\n        \"name\": \"Arctic Way\"\n      },\n      \"city\": \"Port Elgin\",\n      \"state\": \"Ontario\",\n      \"country\": \"Canada\",\n      \"postcode\": \"G2J 5Q3\",\n      \"coordinates\": {\n        \"latitude\": \"68.0118\",\n        \"longitude\": \"-84.0419\"\n      },\n      \"timezone\": {\n        \"offset\": \"-7:00\",\n        \"description\": \"Mountain Time (US & Canada)\"\n      }\n    },\n    \"email\": \"gabriel.chan@example.com\",\n    \"login\": {\n      \"uuid\": \"3da2a74e-13c7-4625-aa82-9cbe5a928145\",\n      \"username\": \"redsnake402\",\n      \"password\": \"jakejake\",\n      \"salt\": \"6GH4HbJM\",\n      \"md5\": \"09c591ef635f434b8914c9699565ce1e\",\n      \"sha1\": \"be2cb502c503e0ed8ec84bf3c22247789ee711ce\",\n      \"sha256\": \"e81e545d6845a3eb1f0a09d18b10194e7de7749c77becab4cceed18f8d16ef6c\"\n    },\n    \"dob\": {\n      \"date\": \"1969-06-10T19:10:36.737Z\",\n      \"age\": 53\n    },\n    \"registered\": {\n      \"date\": \"2003-02-27T13:34:46.605Z\",\n      \"age\": 20\n    },\n    \"phone\": \"T07 Z58-9019\",\n    \"cell\": \"H83 X81-4078\",\n    \"id\": 188,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/15.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/15.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/15.jpg\"\n    },\n    \"nat\": \"CA\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Abdulahi\",\n      \"last\": \"Boef\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7557,\n        \"name\": \"Andoornhof\"\n      },\n      \"city\": \"Ankum\",\n      \"state\": \"Overijssel\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"6116 UI\",\n      \"coordinates\": {\n        \"latitude\": \"-8.6290\",\n        \"longitude\": \"138.3533\"\n      },\n      \"timezone\": {\n        \"offset\": \"+7:00\",\n        \"description\": \"Bangkok, Hanoi, Jakarta\"\n      }\n    },\n    \"email\": \"abdulahi.boef@example.com\",\n    \"login\": {\n      \"uuid\": \"fecede3b-f8d6-4214-94a1-48979ad0ebd4\",\n      \"username\": \"ticklishkoala932\",\n      \"password\": \"spanker\",\n      \"salt\": \"joy5Qync\",\n      \"md5\": \"6d0c0ad390119f977353e1f89bc22a8b\",\n      \"sha1\": \"7ee7c326a0a7ca6b4cff169d2d8d951d1e9da92c\",\n      \"sha256\": \"3e005ac709a1cc12e2989b773d89ff51febf079f0fe0dc8968ee26f243122dd3\"\n    },\n    \"dob\": {\n      \"date\": \"1954-06-11T17:41:55.170Z\",\n      \"age\": 68\n    },\n    \"registered\": {\n      \"date\": \"2002-08-05T21:32:45.782Z\",\n      \"age\": 20\n    },\n    \"phone\": \"(015) 0749024\",\n    \"cell\": \"(06) 89178813\",\n    \"id\": 189,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/11.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/11.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/11.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"مهدیس\",\n      \"last\": \"جعفری\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6567,\n        \"name\": \"میدان قیام\"\n      },\n      \"city\": \"گلستان\",\n      \"state\": \"کردستان\",\n      \"country\": \"Iran\",\n      \"postcode\": 82914,\n      \"coordinates\": {\n        \"latitude\": \"-37.4621\",\n        \"longitude\": \"59.4311\"\n      },\n      \"timezone\": {\n        \"offset\": \"+6:00\",\n        \"description\": \"Almaty, Dhaka, Colombo\"\n      }\n    },\n    \"email\": \"mhdys.jaafry@example.com\",\n    \"login\": {\n      \"uuid\": \"904176b7-67bc-4d91-83f0-9a1ad400e269\",\n      \"username\": \"lazyfrog123\",\n      \"password\": \"ddddd\",\n      \"salt\": \"oUlRtkDK\",\n      \"md5\": \"59debe72faa14ac52c617eb953ab4a4d\",\n      \"sha1\": \"7e0ea96df4d9c75719a66b71d5ac5b824c7d1c73\",\n      \"sha256\": \"714ad35ee1bb4b78b2ed9468afdfa8e533861a03d0c3a13e3aa80675b69976b3\"\n    },\n    \"dob\": {\n      \"date\": \"1975-04-30T05:11:19.057Z\",\n      \"age\": 48\n    },\n    \"registered\": {\n      \"date\": \"2013-10-24T17:50:40.697Z\",\n      \"age\": 9\n    },\n    \"phone\": \"037-82467124\",\n    \"cell\": \"0999-982-4964\",\n    \"id\": 190,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/9.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/9.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/9.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Asta\",\n      \"last\": \"Larsen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 253,\n        \"name\": \"Solvang\"\n      },\n      \"city\": \"Billum\",\n      \"state\": \"Danmark\",\n      \"country\": \"Denmark\",\n      \"postcode\": 61927,\n      \"coordinates\": {\n        \"latitude\": \"3.6309\",\n        \"longitude\": \"74.8056\"\n      },\n      \"timezone\": {\n        \"offset\": \"-11:00\",\n        \"description\": \"Midway Island, Samoa\"\n      }\n    },\n    \"email\": \"asta.larsen@example.com\",\n    \"login\": {\n      \"uuid\": \"985e7641-d550-488e-bc87-945307d7e65e\",\n      \"username\": \"brownrabbit173\",\n      \"password\": \"dalejr\",\n      \"salt\": \"49vQDGrw\",\n      \"md5\": \"facde3f2084628718a4cf2814cc97659\",\n      \"sha1\": \"a3cd571fe5a5c5ef2013172d3445910ed9733dfe\",\n      \"sha256\": \"91e5d6635469188db9396171935b845aa1ce13674a4aea2f0cfb79fa15753e84\"\n    },\n    \"dob\": {\n      \"date\": \"1954-04-08T18:44:56.638Z\",\n      \"age\": 69\n    },\n    \"registered\": {\n      \"date\": \"2013-07-19T06:50:12.391Z\",\n      \"age\": 9\n    },\n    \"phone\": \"26171169\",\n    \"cell\": \"45725963\",\n    \"id\": 191,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/58.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/58.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/58.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Antonio\",\n      \"last\": \"Wood\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8275,\n        \"name\": \"Poplar Dr\"\n      },\n      \"city\": \"Colorado Springs\",\n      \"state\": \"Kansas\",\n      \"country\": \"United States\",\n      \"postcode\": 60537,\n      \"coordinates\": {\n        \"latitude\": \"47.7868\",\n        \"longitude\": \"-11.3023\"\n      },\n      \"timezone\": {\n        \"offset\": \"-11:00\",\n        \"description\": \"Midway Island, Samoa\"\n      }\n    },\n    \"email\": \"antonio.wood@example.com\",\n    \"login\": {\n      \"uuid\": \"bfd7af29-6167-44c1-a2f8-fe0dd7654b53\",\n      \"username\": \"sadzebra808\",\n      \"password\": \"kristy\",\n      \"salt\": \"8JChzgpB\",\n      \"md5\": \"c856797df8e764a13dbd0a66dd26e3ef\",\n      \"sha1\": \"1d22f50f7ae0eabb5b7d4efe41a54327ecafde41\",\n      \"sha256\": \"8bcf975ebd0c16fdcb5b3daaffb107904c58b560d114cfa5f8e0f2ebf5fe8986\"\n    },\n    \"dob\": {\n      \"date\": \"1954-11-27T00:13:33.560Z\",\n      \"age\": 68\n    },\n    \"registered\": {\n      \"date\": \"2019-03-21T08:34:34.606Z\",\n      \"age\": 4\n    },\n    \"phone\": \"(819) 924-0274\",\n    \"cell\": \"(619) 822-8729\",\n    \"id\": 192,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/31.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/31.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/31.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Dragica\",\n      \"last\": \"Šarić\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5982,\n        \"name\": \"Mila Miranovića\"\n      },\n      \"city\": \"Rača\",\n      \"state\": \"Podunavlje\",\n      \"country\": \"Serbia\",\n      \"postcode\": 81130,\n      \"coordinates\": {\n        \"latitude\": \"87.1947\",\n        \"longitude\": \"-164.5265\"\n      },\n      \"timezone\": {\n        \"offset\": \"-5:00\",\n        \"description\": \"Eastern Time (US & Canada), Bogota, Lima\"\n      }\n    },\n    \"email\": \"dragica.saric@example.com\",\n    \"login\": {\n      \"uuid\": \"48ebb554-f636-48d1-8668-c07cdcbc8fa3\",\n      \"username\": \"smallmouse513\",\n      \"password\": \"dipper\",\n      \"salt\": \"dGfEuTje\",\n      \"md5\": \"06d273a373d31e32202c6fcf7646afeb\",\n      \"sha1\": \"036a488b7b4be7dd1131e6a4edf46962b3f38bc2\",\n      \"sha256\": \"cd89a3b4f18f82fe260e74f05c8523c1f2bf1f335a9f2df27429548365ef0ae3\"\n    },\n    \"dob\": {\n      \"date\": \"1950-04-21T20:12:16.602Z\",\n      \"age\": 73\n    },\n    \"registered\": {\n      \"date\": \"2020-11-16T23:52:36.442Z\",\n      \"age\": 2\n    },\n    \"phone\": \"018-8189-585\",\n    \"cell\": \"064-5197-432\",\n    \"id\": 193,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/40.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/40.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/40.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Sedef\",\n      \"last\": \"Eronat\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3430,\n        \"name\": \"Maçka Cd\"\n      },\n      \"city\": \"Van\",\n      \"state\": \"Bayburt\",\n      \"country\": \"Turkey\",\n      \"postcode\": 69046,\n      \"coordinates\": {\n        \"latitude\": \"-42.3120\",\n        \"longitude\": \"-11.9246\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:00\",\n        \"description\": \"Brazil, Buenos Aires, Georgetown\"\n      }\n    },\n    \"email\": \"sedef.eronat@example.com\",\n    \"login\": {\n      \"uuid\": \"4fd4cc77-5fd1-4b4b-be90-0fb788896c20\",\n      \"username\": \"heavyfrog357\",\n      \"password\": \"decker\",\n      \"salt\": \"89mwzn9w\",\n      \"md5\": \"2a84d5b357908bc6ce957461c63a2607\",\n      \"sha1\": \"af1a4fa9606b1e6b38ebd67790d7a49fa48155f8\",\n      \"sha256\": \"60549e74c9ce847f11b78d6f9eb967b0ca6c8292931923bb678fd1991881116d\"\n    },\n    \"dob\": {\n      \"date\": \"1972-08-22T01:29:55.980Z\",\n      \"age\": 50\n    },\n    \"registered\": {\n      \"date\": \"2022-03-01T10:05:06.953Z\",\n      \"age\": 1\n    },\n    \"phone\": \"(597)-148-2697\",\n    \"cell\": \"(560)-584-5737\",\n    \"id\": 194,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/41.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/41.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/41.jpg\"\n    },\n    \"nat\": \"TR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Norman\",\n      \"last\": \"Alvarez\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4276,\n        \"name\": \"Frances Ct\"\n      },\n      \"city\": \"Augusta\",\n      \"state\": \"Iowa\",\n      \"country\": \"United States\",\n      \"postcode\": 41225,\n      \"coordinates\": {\n        \"latitude\": \"-9.5417\",\n        \"longitude\": \"21.2371\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:30\",\n        \"description\": \"Bombay, Calcutta, Madras, New Delhi\"\n      }\n    },\n    \"email\": \"norman.alvarez@example.com\",\n    \"login\": {\n      \"uuid\": \"09d4eae2-27c6-4575-8cef-895e8a14c8d6\",\n      \"username\": \"crazylion840\",\n      \"password\": \"dunbar\",\n      \"salt\": \"Kjk9RjyP\",\n      \"md5\": \"0dbc888b7da6b21ac11d9cafd0ea45d0\",\n      \"sha1\": \"b8e83be6998056addf021055b566a607266c6e1a\",\n      \"sha256\": \"fab76a5f07b8aabd895c974e477f35d698060f243ca053cc043f56158652eee5\"\n    },\n    \"dob\": {\n      \"date\": \"1996-06-15T13:55:30.356Z\",\n      \"age\": 26\n    },\n    \"registered\": {\n      \"date\": \"2015-01-26T15:46:14.218Z\",\n      \"age\": 8\n    },\n    \"phone\": \"(654) 594-0084\",\n    \"cell\": \"(241) 224-1503\",\n    \"id\": 195,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/66.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/66.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/66.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Lucas\",\n      \"last\": \"Garrido\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5746,\n        \"name\": \"Calle de Téllez\"\n      },\n      \"city\": \"San Sebastián\",\n      \"state\": \"Islas Baleares\",\n      \"country\": \"Spain\",\n      \"postcode\": 47860,\n      \"coordinates\": {\n        \"latitude\": \"53.0599\",\n        \"longitude\": \"30.4796\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"lucas.garrido@example.com\",\n    \"login\": {\n      \"uuid\": \"b70ba89e-3658-4406-a94d-ad89cf69c71d\",\n      \"username\": \"lazyswan130\",\n      \"password\": \"\",\n      \"salt\": \"CQYprJmg\",\n      \"md5\": \"0f1fbe893c7fb7a1632b06af2c4fc554\",\n      \"sha1\": \"ea4205083ceea6a1bf0fc087b5be12938da57f65\",\n      \"sha256\": \"97b621ecb3902bd3dd8e8b8b8a8043f5573fabee7ee9c3306b2bdfce58ca447d\"\n    },\n    \"dob\": {\n      \"date\": \"1978-11-19T02:34:57.609Z\",\n      \"age\": 44\n    },\n    \"registered\": {\n      \"date\": \"2007-04-05T22:26:45.743Z\",\n      \"age\": 16\n    },\n    \"phone\": \"999-392-382\",\n    \"cell\": \"607-447-746\",\n    \"id\": 196,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/35.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/35.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/35.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Tammy\",\n      \"last\": \"Herrera\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8643,\n        \"name\": \"School Lane\"\n      },\n      \"city\": \"Ripon\",\n      \"state\": \"West Sussex\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"S6 2QN\",\n      \"coordinates\": {\n        \"latitude\": \"-9.8238\",\n        \"longitude\": \"-97.4762\"\n      },\n      \"timezone\": {\n        \"offset\": \"-8:00\",\n        \"description\": \"Pacific Time (US & Canada)\"\n      }\n    },\n    \"email\": \"tammy.herrera@example.com\",\n    \"login\": {\n      \"uuid\": \"f161464a-2e28-4e37-8553-e02738553d24\",\n      \"username\": \"orangedog495\",\n      \"password\": \"wiseguy\",\n      \"salt\": \"s4VNOB7j\",\n      \"md5\": \"cfdb18317ac8deabacfbae959f99d679\",\n      \"sha1\": \"b506f6bd36a63e72963591fb02867cb88074dd6b\",\n      \"sha256\": \"766386f4da04e95a4a711b5f28f939376ed4be67701b664ed14276306b85d340\"\n    },\n    \"dob\": {\n      \"date\": \"1974-12-20T10:27:09.397Z\",\n      \"age\": 48\n    },\n    \"registered\": {\n      \"date\": \"2020-11-02T04:13:38.535Z\",\n      \"age\": 2\n    },\n    \"phone\": \"015394 06624\",\n    \"cell\": \"07755 410943\",\n    \"id\": 197,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/91.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/91.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/91.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"ستایش\",\n      \"last\": \"قاسمی\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6646,\n        \"name\": \"دماوند\"\n      },\n      \"city\": \"اهواز\",\n      \"state\": \"چهارمحال و بختیاری\",\n      \"country\": \"Iran\",\n      \"postcode\": 95500,\n      \"coordinates\": {\n        \"latitude\": \"13.1211\",\n        \"longitude\": \"52.3744\"\n      },\n      \"timezone\": {\n        \"offset\": \"-5:00\",\n        \"description\": \"Eastern Time (US & Canada), Bogota, Lima\"\n      }\n    },\n    \"email\": \"stysh.qsmy@example.com\",\n    \"login\": {\n      \"uuid\": \"ccd0b4e8-9605-4ece-af51-12703fb7a0ff\",\n      \"username\": \"goldenwolf294\",\n      \"password\": \"kentucky\",\n      \"salt\": \"jomxXf93\",\n      \"md5\": \"d1fed6de5231297b59ea565f14f534a8\",\n      \"sha1\": \"435ecbd9635afb552b2ea6e7b0c1340ac14cd0cb\",\n      \"sha256\": \"9f4647d432e1d5dcc42bcc15bf84b37a2498955cc9648e5c8ef98ae21518d517\"\n    },\n    \"dob\": {\n      \"date\": \"2001-05-17T00:38:18.884Z\",\n      \"age\": 22\n    },\n    \"registered\": {\n      \"date\": \"2020-02-25T12:36:01.351Z\",\n      \"age\": 3\n    },\n    \"phone\": \"023-48118240\",\n    \"cell\": \"0954-558-4892\",\n    \"id\": 198,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/94.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/94.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/94.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Rosario\",\n      \"last\": \"Mora\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2958,\n        \"name\": \"Avenida de Salamanca\"\n      },\n      \"city\": \"Alcobendas\",\n      \"state\": \"Andalucía\",\n      \"country\": \"Spain\",\n      \"postcode\": 57070,\n      \"coordinates\": {\n        \"latitude\": \"-13.7271\",\n        \"longitude\": \"31.3279\"\n      },\n      \"timezone\": {\n        \"offset\": \"-5:00\",\n        \"description\": \"Eastern Time (US & Canada), Bogota, Lima\"\n      }\n    },\n    \"email\": \"rosario.mora@example.com\",\n    \"login\": {\n      \"uuid\": \"299f6038-8fe4-498b-87ee-718c154b561c\",\n      \"username\": \"purplepanda966\",\n      \"password\": \"mitch\",\n      \"salt\": \"Uu7JSRHH\",\n      \"md5\": \"b933265983b50dedff53e6dbd813be24\",\n      \"sha1\": \"8a355eaa231d649bd9367e3887040d9b1328fb09\",\n      \"sha256\": \"c045dfccd53d72802f305698ad0a48f8b0d035327fe9f6008c84745c5c22e9e7\"\n    },\n    \"dob\": {\n      \"date\": \"1947-05-12T13:21:12.143Z\",\n      \"age\": 76\n    },\n    \"registered\": {\n      \"date\": \"2011-12-01T14:26:22.755Z\",\n      \"age\": 11\n    },\n    \"phone\": \"942-042-815\",\n    \"cell\": \"682-021-852\",\n    \"id\": 199,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/80.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/80.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/80.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"آوین\",\n      \"last\": \"زارعی\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5576,\n        \"name\": \"دکتر علی شریعتی\"\n      },\n      \"city\": \"بابل\",\n      \"state\": \"خراسان رضوی\",\n      \"country\": \"Iran\",\n      \"postcode\": 52044,\n      \"coordinates\": {\n        \"latitude\": \"75.2360\",\n        \"longitude\": \"162.1923\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:30\",\n        \"description\": \"Kabul\"\n      }\n    },\n    \"email\": \"awyn.zraay@example.com\",\n    \"login\": {\n      \"uuid\": \"58139c3a-90fb-43ad-9a41-b22657111052\",\n      \"username\": \"yellowostrich228\",\n      \"password\": \"saturn\",\n      \"salt\": \"SI3sczHR\",\n      \"md5\": \"121efa80d7856c7f9db545b9073c1b2b\",\n      \"sha1\": \"a38c8709ebab0e9f4dd5f07182f436c674e60188\",\n      \"sha256\": \"db7bd6051615eb1dc03d6e4f74b446e8a560c75bbc6320469d7de85eb83087f9\"\n    },\n    \"dob\": {\n      \"date\": \"1999-09-30T00:50:34.202Z\",\n      \"age\": 23\n    },\n    \"registered\": {\n      \"date\": \"2010-12-26T17:01:23.352Z\",\n      \"age\": 12\n    },\n    \"phone\": \"073-63740033\",\n    \"cell\": \"0956-050-1294\",\n    \"id\": 200,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/7.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/7.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/7.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Yasin\",\n      \"last\": \"Geerligs\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4908,\n        \"name\": \"Achterbuorren\"\n      },\n      \"city\": \"Vledderveen Dr\",\n      \"state\": \"Limburg\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"7124 GA\",\n      \"coordinates\": {\n        \"latitude\": \"-17.8566\",\n        \"longitude\": \"103.6006\"\n      },\n      \"timezone\": {\n        \"offset\": \"-11:00\",\n        \"description\": \"Midway Island, Samoa\"\n      }\n    },\n    \"email\": \"yasin.geerligs@example.com\",\n    \"login\": {\n      \"uuid\": \"7e177ec4-3cdd-47c7-90e8-d55d9b3dcf4e\",\n      \"username\": \"smallgoose952\",\n      \"password\": \"bimmer\",\n      \"salt\": \"HRARQ69R\",\n      \"md5\": \"297857b16190d06281eac3ab0feee9c3\",\n      \"sha1\": \"a79ab2c0088ac469e5183a334cc1cfb895e3a87c\",\n      \"sha256\": \"01e67d34cd26afc436b3187838bf0e853d4aff786c9739d7d29651162ba93f5e\"\n    },\n    \"dob\": {\n      \"date\": \"1978-11-30T22:14:53.378Z\",\n      \"age\": 44\n    },\n    \"registered\": {\n      \"date\": \"2022-01-28T14:56:03.295Z\",\n      \"age\": 1\n    },\n    \"phone\": \"(0200) 236102\",\n    \"cell\": \"(06) 82796864\",\n    \"id\": 201,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/54.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/54.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/54.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Renee\",\n      \"last\": \"Montgomery\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9076,\n        \"name\": \"Groveland Terrace\"\n      },\n      \"city\": \"Omaha\",\n      \"state\": \"Indiana\",\n      \"country\": \"United States\",\n      \"postcode\": 13331,\n      \"coordinates\": {\n        \"latitude\": \"2.8141\",\n        \"longitude\": \"-85.6010\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"renee.montgomery@example.com\",\n    \"login\": {\n      \"uuid\": \"99afb367-afc4-4cd7-b678-7b010375aa26\",\n      \"username\": \"blackmouse405\",\n      \"password\": \"blink182\",\n      \"salt\": \"6SYYQPD9\",\n      \"md5\": \"86fbc69156b05fadbc1a9cecf139929a\",\n      \"sha1\": \"6fbfca96c2a43a5a5d26f8fb3e994cae13096159\",\n      \"sha256\": \"5d012bdc71dec064c27060e0b05f440902a69bd71b1edd58aa510dd2f093031d\"\n    },\n    \"dob\": {\n      \"date\": \"1976-09-25T01:42:28.420Z\",\n      \"age\": 46\n    },\n    \"registered\": {\n      \"date\": \"2019-10-16T02:17:18.156Z\",\n      \"age\": 3\n    },\n    \"phone\": \"(741) 644-4732\",\n    \"cell\": \"(379) 349-3862\",\n    \"id\": 202,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/34.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/34.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/34.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Monsieur\",\n      \"first\": \"Aurélien\",\n      \"last\": \"Mathieu\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7919,\n        \"name\": \"Montée Saint-Barthélémy\"\n      },\n      \"city\": \"Diessbach bei Büren\",\n      \"state\": \"Luzern\",\n      \"country\": \"Switzerland\",\n      \"postcode\": 7111,\n      \"coordinates\": {\n        \"latitude\": \"18.3518\",\n        \"longitude\": \"4.6698\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:30\",\n        \"description\": \"Tehran\"\n      }\n    },\n    \"email\": \"aurelien.mathieu@example.com\",\n    \"login\": {\n      \"uuid\": \"f3e1272b-d0a8-4425-8d8b-b08fc214c433\",\n      \"username\": \"ticklishsnake229\",\n      \"password\": \"robinson\",\n      \"salt\": \"hhkmsbdD\",\n      \"md5\": \"5e33db378f3a0f7a365ce0d00a36f525\",\n      \"sha1\": \"4be3960ddbeabc610a6e8a29fe333fc350df4964\",\n      \"sha256\": \"12b0fedfbd0bc1ffc1c5e0a8fe494a9d0a207e02d5552fc2872429d16c666214\"\n    },\n    \"dob\": {\n      \"date\": \"1953-05-10T19:41:30.661Z\",\n      \"age\": 70\n    },\n    \"registered\": {\n      \"date\": \"2008-03-09T21:01:41.223Z\",\n      \"age\": 15\n    },\n    \"phone\": \"079 867 72 12\",\n    \"cell\": \"075 190 31 83\",\n    \"id\": 203,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/12.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/12.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/12.jpg\"\n    },\n    \"nat\": \"CH\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Cesar\",\n      \"last\": \"Ortiz\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3113,\n        \"name\": \"Avenida de Burgos\"\n      },\n      \"city\": \"Oviedo\",\n      \"state\": \"Comunidad Valenciana\",\n      \"country\": \"Spain\",\n      \"postcode\": 55840,\n      \"coordinates\": {\n        \"latitude\": \"-34.6411\",\n        \"longitude\": \"-61.4246\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"cesar.ortiz@example.com\",\n    \"login\": {\n      \"uuid\": \"5a112442-24fe-4fee-b415-6a043eb82e59\",\n      \"username\": \"purplekoala893\",\n      \"password\": \"puppy\",\n      \"salt\": \"BXAOscco\",\n      \"md5\": \"d7b647b4e46b7b8394ab751643409651\",\n      \"sha1\": \"998db0734d5f2539ea7e3f8d265a3717442688dc\",\n      \"sha256\": \"819586aa2e74a31282631f87a1f9d26a94994a11449771bd56d6e110f3face76\"\n    },\n    \"dob\": {\n      \"date\": \"1968-11-24T07:35:56.271Z\",\n      \"age\": 54\n    },\n    \"registered\": {\n      \"date\": \"2008-05-13T15:49:35.235Z\",\n      \"age\": 15\n    },\n    \"phone\": \"966-142-214\",\n    \"cell\": \"674-351-281\",\n    \"id\": 204,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/31.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/31.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/31.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"بنیامین\",\n      \"last\": \"کوتی\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5788,\n        \"name\": \"اقبال لاهوری\"\n      },\n      \"city\": \"قائم‌شهر\",\n      \"state\": \"مازندران\",\n      \"country\": \"Iran\",\n      \"postcode\": 60187,\n      \"coordinates\": {\n        \"latitude\": \"-54.6498\",\n        \"longitude\": \"-178.7441\"\n      },\n      \"timezone\": {\n        \"offset\": \"+6:00\",\n        \"description\": \"Almaty, Dhaka, Colombo\"\n      }\n    },\n    \"email\": \"bnymyn.khwty@example.com\",\n    \"login\": {\n      \"uuid\": \"df72f866-62ea-4754-bb50-039d3717363e\",\n      \"username\": \"whiteostrich689\",\n      \"password\": \"flight\",\n      \"salt\": \"heBDDYhv\",\n      \"md5\": \"8ce09b131ba782adbe37994427390ba3\",\n      \"sha1\": \"81fb0b83872f2ad84e6f7008f59c29153137c259\",\n      \"sha256\": \"fc35f5fc8b6a65b8223c9a27b9dc1d77411a244c938125cf14b8fe3ccc3631a7\"\n    },\n    \"dob\": {\n      \"date\": \"1962-08-05T06:50:12.126Z\",\n      \"age\": 60\n    },\n    \"registered\": {\n      \"date\": \"2022-05-07T22:55:18.918Z\",\n      \"age\": 1\n    },\n    \"phone\": \"016-61112491\",\n    \"cell\": \"0947-357-0741\",\n    \"id\": 205,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/37.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/37.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/37.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Ane\",\n      \"last\": \"Rasmussen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9084,\n        \"name\": \"Skøyensvingen\"\n      },\n      \"city\": \"Høysand\",\n      \"state\": \"Akershus\",\n      \"country\": \"Norway\",\n      \"postcode\": \"0270\",\n      \"coordinates\": {\n        \"latitude\": \"63.6726\",\n        \"longitude\": \"177.8239\"\n      },\n      \"timezone\": {\n        \"offset\": \"-6:00\",\n        \"description\": \"Central Time (US & Canada), Mexico City\"\n      }\n    },\n    \"email\": \"ane.rasmussen@example.com\",\n    \"login\": {\n      \"uuid\": \"aa311e27-c436-458c-8f32-0a4a0b1258f6\",\n      \"username\": \"happybear547\",\n      \"password\": \"stupid1\",\n      \"salt\": \"yPdPdqiA\",\n      \"md5\": \"5100b3f79682e6a2205cdd191707f298\",\n      \"sha1\": \"bb748da23b663f23dbe399de1d2e7c3b0c0cfa4a\",\n      \"sha256\": \"4b8d3e4e6df5a193e4640762821628c3a60c2a0a32250d8ff75f0f41c282c55b\"\n    },\n    \"dob\": {\n      \"date\": \"1980-05-30T17:21:48.617Z\",\n      \"age\": 42\n    },\n    \"registered\": {\n      \"date\": \"2010-06-26T23:03:04.298Z\",\n      \"age\": 12\n    },\n    \"phone\": \"34409298\",\n    \"cell\": \"45426093\",\n    \"id\": 206,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/65.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/65.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/65.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Catalina\",\n      \"last\": \"Ortega\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8575,\n        \"name\": \"Avenida del Planetario\"\n      },\n      \"city\": \"Las Palmas de Gran Canaria\",\n      \"state\": \"Cantabria\",\n      \"country\": \"Spain\",\n      \"postcode\": 50507,\n      \"coordinates\": {\n        \"latitude\": \"4.4401\",\n        \"longitude\": \"-158.6685\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:30\",\n        \"description\": \"Bombay, Calcutta, Madras, New Delhi\"\n      }\n    },\n    \"email\": \"catalina.ortega@example.com\",\n    \"login\": {\n      \"uuid\": \"3d64b366-60f2-4414-a849-9f99301b083c\",\n      \"username\": \"redtiger508\",\n      \"password\": \"digital\",\n      \"salt\": \"jQbPac96\",\n      \"md5\": \"29b34df176ee1dc841010371f0517b2a\",\n      \"sha1\": \"4c382fb98de761597ee6177b3dd9366f18f42bce\",\n      \"sha256\": \"7dc5d04a1a20d7e29629515d1363532c87ff369504b4126029cc0c5ef0946515\"\n    },\n    \"dob\": {\n      \"date\": \"1997-08-23T09:01:55.007Z\",\n      \"age\": 25\n    },\n    \"registered\": {\n      \"date\": \"2003-05-03T04:39:08.647Z\",\n      \"age\": 20\n    },\n    \"phone\": \"926-760-027\",\n    \"cell\": \"674-324-963\",\n    \"id\": 207,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/74.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/74.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/74.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Ariadna\",\n      \"last\": \"Zaiec\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7402,\n        \"name\": \"Zelinskogo\"\n      },\n      \"city\": \"Druzhkivka\",\n      \"state\": \"Harkivska\",\n      \"country\": \"Ukraine\",\n      \"postcode\": 73087,\n      \"coordinates\": {\n        \"latitude\": \"28.8231\",\n        \"longitude\": \"70.2384\"\n      },\n      \"timezone\": {\n        \"offset\": \"-2:00\",\n        \"description\": \"Mid-Atlantic\"\n      }\n    },\n    \"email\": \"ariadna.zaiec@example.com\",\n    \"login\": {\n      \"uuid\": \"fb10b7ec-e5fa-43e8-8733-848e65a66366\",\n      \"username\": \"whiteleopard381\",\n      \"password\": \"crazybab\",\n      \"salt\": \"8vLVY36s\",\n      \"md5\": \"3d4d35eb39e22711b54ea649fd88f582\",\n      \"sha1\": \"a5429fa5bdb1a7e52e05b8402ae02298758ea3f3\",\n      \"sha256\": \"b9c9dbb4bf80550169f14285f5638967dc9cfba26eb8e73678a84292287604dc\"\n    },\n    \"dob\": {\n      \"date\": \"1971-09-24T23:39:18.081Z\",\n      \"age\": 51\n    },\n    \"registered\": {\n      \"date\": \"2011-03-06T01:41:11.666Z\",\n      \"age\": 12\n    },\n    \"phone\": \"(097) C77-8633\",\n    \"cell\": \"(067) M75-3190\",\n    \"id\": 208,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/37.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/37.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/37.jpg\"\n    },\n    \"nat\": \"UA\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Jezdimir\",\n      \"last\": \"Mandić\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5146,\n        \"name\": \"Businjska\"\n      },\n      \"city\": \"Knjaževac\",\n      \"state\": \"Central Banat\",\n      \"country\": \"Serbia\",\n      \"postcode\": 19521,\n      \"coordinates\": {\n        \"latitude\": \"-36.0500\",\n        \"longitude\": \"-79.9532\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:00\",\n        \"description\": \"Abu Dhabi, Muscat, Baku, Tbilisi\"\n      }\n    },\n    \"email\": \"jezdimir.mandic@example.com\",\n    \"login\": {\n      \"uuid\": \"2622c708-f8a8-4eb2-a5a0-dedee696edae\",\n      \"username\": \"crazymeercat495\",\n      \"password\": \"isaiah\",\n      \"salt\": \"7tc3fFRI\",\n      \"md5\": \"82cc3d21e5859e2bf7d2c4d11bd21fa1\",\n      \"sha1\": \"30ea7cc0075e55a7951af006a83d32c4eb4bcb4a\",\n      \"sha256\": \"75ace8d3518e967ff9c1e89851dc8dea3465f69242e0b70cc5f26bdcf201d773\"\n    },\n    \"dob\": {\n      \"date\": \"1969-08-18T20:30:15.025Z\",\n      \"age\": 53\n    },\n    \"registered\": {\n      \"date\": \"2019-01-26T22:11:03.331Z\",\n      \"age\": 4\n    },\n    \"phone\": \"030-6658-807\",\n    \"cell\": \"064-3346-112\",\n    \"id\": 209,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/54.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/54.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/54.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Olivier\",\n      \"last\": \"Andersen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6748,\n        \"name\": \"Vimy St\"\n      },\n      \"city\": \"Enterprise\",\n      \"state\": \"Newfoundland and Labrador\",\n      \"country\": \"Canada\",\n      \"postcode\": \"G4Z 4Z7\",\n      \"coordinates\": {\n        \"latitude\": \"-88.4656\",\n        \"longitude\": \"-153.8063\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:45\",\n        \"description\": \"Kathmandu\"\n      }\n    },\n    \"email\": \"olivier.andersen@example.com\",\n    \"login\": {\n      \"uuid\": \"7919f6c8-6cd4-427e-b2c9-ffc2c12450fc\",\n      \"username\": \"greenduck274\",\n      \"password\": \"bluebell\",\n      \"salt\": \"KXjT4qEb\",\n      \"md5\": \"f3a469f26b48a91bbf1586e985d22a51\",\n      \"sha1\": \"fcaf06b21f2468f7a9d7fce2ea945eb8f81969c7\",\n      \"sha256\": \"93f9081cc9af14d9039af5fd3087f15c23e3637079011e03da41e61c60f064bb\"\n    },\n    \"dob\": {\n      \"date\": \"1995-12-23T19:33:50.099Z\",\n      \"age\": 27\n    },\n    \"registered\": {\n      \"date\": \"2005-01-26T09:43:50.071Z\",\n      \"age\": 18\n    },\n    \"phone\": \"M54 N47-7754\",\n    \"cell\": \"U69 K42-0841\",\n    \"id\": 210,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/72.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/72.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/72.jpg\"\n    },\n    \"nat\": \"CA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Firdevs\",\n      \"last\": \"El Morabet\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 296,\n        \"name\": \"Emerald\"\n      },\n      \"city\": \"Hitzum\",\n      \"state\": \"Noord-Brabant\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"0252 LX\",\n      \"coordinates\": {\n        \"latitude\": \"-12.1500\",\n        \"longitude\": \"-11.6234\"\n      },\n      \"timezone\": {\n        \"offset\": \"+8:00\",\n        \"description\": \"Beijing, Perth, Singapore, Hong Kong\"\n      }\n    },\n    \"email\": \"firdevs.elmorabet@example.com\",\n    \"login\": {\n      \"uuid\": \"279f7c88-a352-438f-9321-875a4c2036f6\",\n      \"username\": \"lazygorilla986\",\n      \"password\": \"dog123\",\n      \"salt\": \"eODAzcCD\",\n      \"md5\": \"8a24975b67c1385a9ec5a72a9084a33c\",\n      \"sha1\": \"06b7aac92092a258daf56645ae33b59d183e6026\",\n      \"sha256\": \"be7e16c25a1603480f495485a8886fffc3018a51e757105c8e41d68e872661a7\"\n    },\n    \"dob\": {\n      \"date\": \"1984-04-12T06:14:57.931Z\",\n      \"age\": 39\n    },\n    \"registered\": {\n      \"date\": \"2003-01-17T04:44:14.121Z\",\n      \"age\": 20\n    },\n    \"phone\": \"(0977) 156984\",\n    \"cell\": \"(06) 55928530\",\n    \"id\": 211,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/75.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/75.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/75.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Yasemin\",\n      \"last\": \"Özdoğan\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6653,\n        \"name\": \"Vatan Cd\"\n      },\n      \"city\": \"Hakkâri\",\n      \"state\": \"Kars\",\n      \"country\": \"Turkey\",\n      \"postcode\": 23914,\n      \"coordinates\": {\n        \"latitude\": \"53.1585\",\n        \"longitude\": \"-91.3750\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:30\",\n        \"description\": \"Kabul\"\n      }\n    },\n    \"email\": \"yasemin.ozdogan@example.com\",\n    \"login\": {\n      \"uuid\": \"b733787a-9940-40ce-a707-ede3a190daab\",\n      \"username\": \"sadduck641\",\n      \"password\": \"merlin\",\n      \"salt\": \"roiDHfY9\",\n      \"md5\": \"c630a8180075770239e211d250a258af\",\n      \"sha1\": \"e339895f9fc6199b883d576421f809d9bd0d1368\",\n      \"sha256\": \"ec77a678b16e4c9c939b96999d15451919d1c187e71cd51b0155f66eecafea04\"\n    },\n    \"dob\": {\n      \"date\": \"1966-09-29T01:13:10.448Z\",\n      \"age\": 56\n    },\n    \"registered\": {\n      \"date\": \"2018-09-25T07:07:32.020Z\",\n      \"age\": 4\n    },\n    \"phone\": \"(785)-420-2990\",\n    \"cell\": \"(573)-704-7744\",\n    \"id\": 212,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/18.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/18.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/18.jpg\"\n    },\n    \"nat\": \"TR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Bertha\",\n      \"last\": \"Kennedy\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8761,\n        \"name\": \"Stevens Creek Blvd\"\n      },\n      \"city\": \"Raleigh\",\n      \"state\": \"Maine\",\n      \"country\": \"United States\",\n      \"postcode\": 73523,\n      \"coordinates\": {\n        \"latitude\": \"89.5983\",\n        \"longitude\": \"-69.3970\"\n      },\n      \"timezone\": {\n        \"offset\": \"-4:00\",\n        \"description\": \"Atlantic Time (Canada), Caracas, La Paz\"\n      }\n    },\n    \"email\": \"bertha.kennedy@example.com\",\n    \"login\": {\n      \"uuid\": \"6d71bbbb-5607-407f-a734-9769e0ac5651\",\n      \"username\": \"bluefrog253\",\n      \"password\": \"vienna\",\n      \"salt\": \"zlWOCfjx\",\n      \"md5\": \"00fd165d3b6e2dea1307d87b2ecc3b13\",\n      \"sha1\": \"54bda071af588f054f10bd8cfec29dd553c1287d\",\n      \"sha256\": \"5cf2137fbda8f8e8b9b3169fa0041c3c55c123388de4dc430d0cc3812aff686f\"\n    },\n    \"dob\": {\n      \"date\": \"1965-07-20T00:42:16.124Z\",\n      \"age\": 57\n    },\n    \"registered\": {\n      \"date\": \"2013-02-25T19:06:28.262Z\",\n      \"age\": 10\n    },\n    \"phone\": \"(479) 921-4023\",\n    \"cell\": \"(865) 771-5693\",\n    \"id\": 213,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/93.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/93.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/93.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Goran\",\n      \"last\": \"Terzić\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6373,\n        \"name\": \"Poganovska\"\n      },\n      \"city\": \"Smederevo\",\n      \"state\": \"Moravica\",\n      \"country\": \"Serbia\",\n      \"postcode\": 82167,\n      \"coordinates\": {\n        \"latitude\": \"-13.7367\",\n        \"longitude\": \"-85.2240\"\n      },\n      \"timezone\": {\n        \"offset\": \"-9:00\",\n        \"description\": \"Alaska\"\n      }\n    },\n    \"email\": \"goran.terzic@example.com\",\n    \"login\": {\n      \"uuid\": \"4b289dd6-7ccc-4f75-86b6-07254f026bf3\",\n      \"username\": \"tinytiger992\",\n      \"password\": \"tarpon\",\n      \"salt\": \"zPykmaXs\",\n      \"md5\": \"1a00e644c14816746ee5ae61b3f1a778\",\n      \"sha1\": \"475786230859a8d7ed8626257cb41c653a8b2553\",\n      \"sha256\": \"763ffe4665c629b6841199e372bfa95b91a02fc31b3a5d7f9527c16abf20645a\"\n    },\n    \"dob\": {\n      \"date\": \"1998-05-24T08:38:40.940Z\",\n      \"age\": 24\n    },\n    \"registered\": {\n      \"date\": \"2010-06-10T07:32:19.300Z\",\n      \"age\": 12\n    },\n    \"phone\": \"036-3265-654\",\n    \"cell\": \"062-7218-662\",\n    \"id\": 214,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/43.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/43.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/43.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Ella\",\n      \"last\": \"Seppanen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9665,\n        \"name\": \"Itsenäisyydenkatu\"\n      },\n      \"city\": \"Kankaanpää\",\n      \"state\": \"Finland Proper\",\n      \"country\": \"Finland\",\n      \"postcode\": 57801,\n      \"coordinates\": {\n        \"latitude\": \"-27.5446\",\n        \"longitude\": \"107.5280\"\n      },\n      \"timezone\": {\n        \"offset\": \"+6:00\",\n        \"description\": \"Almaty, Dhaka, Colombo\"\n      }\n    },\n    \"email\": \"ella.seppanen@example.com\",\n    \"login\": {\n      \"uuid\": \"279a6e8c-cddc-4752-93b1-afe10f4e3e95\",\n      \"username\": \"redzebra221\",\n      \"password\": \"police\",\n      \"salt\": \"k9gMFki1\",\n      \"md5\": \"ded36869e9c2eae14ca2ed0ce8b7fae3\",\n      \"sha1\": \"458efb26c9e66767d85534be0d6fec79404368f8\",\n      \"sha256\": \"a5623f788856420d3fddbc1facdaa3477d22c30820298a3945a60632b93cb6ad\"\n    },\n    \"dob\": {\n      \"date\": \"1964-04-08T05:39:33.251Z\",\n      \"age\": 59\n    },\n    \"registered\": {\n      \"date\": \"2011-02-11T01:04:24.790Z\",\n      \"age\": 12\n    },\n    \"phone\": \"06-396-876\",\n    \"cell\": \"048-387-46-25\",\n    \"id\": 215,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/89.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/89.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/89.jpg\"\n    },\n    \"nat\": \"FI\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Hugo\",\n      \"last\": \"Renaud\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3857,\n        \"name\": \"Place de la Mairie\"\n      },\n      \"city\": \"Saint-Denis\",\n      \"state\": \"Puy-de-Dôme\",\n      \"country\": \"France\",\n      \"postcode\": 23403,\n      \"coordinates\": {\n        \"latitude\": \"49.0868\",\n        \"longitude\": \"-57.5160\"\n      },\n      \"timezone\": {\n        \"offset\": \"-9:00\",\n        \"description\": \"Alaska\"\n      }\n    },\n    \"email\": \"hugo.renaud@example.com\",\n    \"login\": {\n      \"uuid\": \"f011674a-fe04-4596-9356-b6e78592a042\",\n      \"username\": \"angryfrog742\",\n      \"password\": \"bearbear\",\n      \"salt\": \"Wksp7ko2\",\n      \"md5\": \"70d5f37fadfa312c78c0486c71a76b7d\",\n      \"sha1\": \"a77ef555036db31dbdf8bf5a3659d645d500de19\",\n      \"sha256\": \"b211ac7cfedef0b59b2d79ba7e3f9ad519731a8289db92567da42c403bc6433a\"\n    },\n    \"dob\": {\n      \"date\": \"1974-06-04T03:15:08.209Z\",\n      \"age\": 48\n    },\n    \"registered\": {\n      \"date\": \"2018-06-14T12:31:38.383Z\",\n      \"age\": 4\n    },\n    \"phone\": \"03-34-98-15-04\",\n    \"cell\": \"06-17-69-22-89\",\n    \"id\": 216,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/61.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/61.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/61.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Louis\",\n      \"last\": \"Patterson\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7587,\n        \"name\": \"Alexander Road\"\n      },\n      \"city\": \"Ely\",\n      \"state\": \"Hampshire\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"NI7 3JG\",\n      \"coordinates\": {\n        \"latitude\": \"-47.5608\",\n        \"longitude\": \"158.4306\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:30\",\n        \"description\": \"Tehran\"\n      }\n    },\n    \"email\": \"louis.patterson@example.com\",\n    \"login\": {\n      \"uuid\": \"76a04633-5062-4e49-b07d-9bc53cc21374\",\n      \"username\": \"ticklishkoala824\",\n      \"password\": \"windmill\",\n      \"salt\": \"qeboE6sE\",\n      \"md5\": \"66d5531f349a94c97b4e04f668e029b6\",\n      \"sha1\": \"e222b275b0716e9c43286af7f8f32804d673b4c8\",\n      \"sha256\": \"825c9c11f80924fa9c4a3af2b505f86d9fc0912d57d5651f8a06c5e42cff4239\"\n    },\n    \"dob\": {\n      \"date\": \"1953-07-13T06:49:41.055Z\",\n      \"age\": 69\n    },\n    \"registered\": {\n      \"date\": \"2017-01-01T11:40:34.339Z\",\n      \"age\": 6\n    },\n    \"phone\": \"015395 77724\",\n    \"cell\": \"07267 943877\",\n    \"id\": 217,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/67.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/67.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/67.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Coline\",\n      \"last\": \"Muller\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5975,\n        \"name\": \"Avenue de la République\"\n      },\n      \"city\": \"Roubaix\",\n      \"state\": \"Seine-Saint-Denis\",\n      \"country\": \"France\",\n      \"postcode\": 27602,\n      \"coordinates\": {\n        \"latitude\": \"85.8264\",\n        \"longitude\": \"95.0471\"\n      },\n      \"timezone\": {\n        \"offset\": \"-8:00\",\n        \"description\": \"Pacific Time (US & Canada)\"\n      }\n    },\n    \"email\": \"coline.muller@example.com\",\n    \"login\": {\n      \"uuid\": \"5eb6500b-ad76-492c-b24b-6fa23313db11\",\n      \"username\": \"blueduck799\",\n      \"password\": \"carlos1\",\n      \"salt\": \"cNKwpxGu\",\n      \"md5\": \"92907242ba5cf9373ccd0aae85519e64\",\n      \"sha1\": \"ce24cfd435a2ae2ff464943dd09fb71bddcb3ef0\",\n      \"sha256\": \"981ff9b0e4acdc2175cbbca21117b1afa44f716d70ddc53a47e70496da35cb80\"\n    },\n    \"dob\": {\n      \"date\": \"1991-01-09T21:22:22.126Z\",\n      \"age\": 32\n    },\n    \"registered\": {\n      \"date\": \"2008-11-25T11:53:43.939Z\",\n      \"age\": 14\n    },\n    \"phone\": \"03-35-77-52-35\",\n    \"cell\": \"06-62-21-86-66\",\n    \"id\": 218,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/70.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/70.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/70.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Lisa\",\n      \"last\": \"Durand\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 808,\n        \"name\": \"Place du 8 Novembre 1942\"\n      },\n      \"city\": \"Lyon\",\n      \"state\": \"Corrèze\",\n      \"country\": \"France\",\n      \"postcode\": 89315,\n      \"coordinates\": {\n        \"latitude\": \"-26.3018\",\n        \"longitude\": \"148.2606\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:30\",\n        \"description\": \"Bombay, Calcutta, Madras, New Delhi\"\n      }\n    },\n    \"email\": \"lisa.durand@example.com\",\n    \"login\": {\n      \"uuid\": \"e58e195f-ce47-4b14-ba2b-d357a9a733a4\",\n      \"username\": \"bluedog211\",\n      \"password\": \"inferno\",\n      \"salt\": \"dnJYzIp8\",\n      \"md5\": \"ab8265a506b4837076e4f9d251f1abdc\",\n      \"sha1\": \"e35af0be94d22d9137a1d7dd7c8acc010b17e299\",\n      \"sha256\": \"02011eabeb7687eab79fc51e1b35ea799f764a0312a5f9cf5185672570fdc2df\"\n    },\n    \"dob\": {\n      \"date\": \"1974-01-19T23:16:21.922Z\",\n      \"age\": 49\n    },\n    \"registered\": {\n      \"date\": \"2017-11-10T00:31:39.558Z\",\n      \"age\": 5\n    },\n    \"phone\": \"05-03-31-90-33\",\n    \"cell\": \"06-64-48-87-86\",\n    \"id\": 219,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/9.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/9.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/9.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Sergio\",\n      \"last\": \"Sánchez\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1054,\n        \"name\": \"Calle de Toledo\"\n      },\n      \"city\": \"Lugo\",\n      \"state\": \"Región de Murcia\",\n      \"country\": \"Spain\",\n      \"postcode\": 69600,\n      \"coordinates\": {\n        \"latitude\": \"10.1490\",\n        \"longitude\": \"94.9006\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:30\",\n        \"description\": \"Tehran\"\n      }\n    },\n    \"email\": \"sergio.sanchez@example.com\",\n    \"login\": {\n      \"uuid\": \"1223c9de-de68-411a-9aaa-ededb7fbdf94\",\n      \"username\": \"happylion901\",\n      \"password\": \"gryphon\",\n      \"salt\": \"bBwRkV0M\",\n      \"md5\": \"2c7eecb3a776c870b1f2cb25749d101f\",\n      \"sha1\": \"dae8b6467c8ad73321fcf699a9776fd0aeaa6cd3\",\n      \"sha256\": \"da0dce4f1d3d736681f3f26371a940b8dcfc97acd37dfc2409fc1deb9074178b\"\n    },\n    \"dob\": {\n      \"date\": \"1971-11-30T05:25:50.196Z\",\n      \"age\": 51\n    },\n    \"registered\": {\n      \"date\": \"2011-04-24T04:55:49.734Z\",\n      \"age\": 12\n    },\n    \"phone\": \"903-832-306\",\n    \"cell\": \"682-600-290\",\n    \"id\": 220,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/89.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/89.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/89.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Tobias\",\n      \"last\": \"Christensen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6122,\n        \"name\": \"Grønlandsvej\"\n      },\n      \"city\": \"Århus C.\",\n      \"state\": \"Midtjylland\",\n      \"country\": \"Denmark\",\n      \"postcode\": 66394,\n      \"coordinates\": {\n        \"latitude\": \"-88.8589\",\n        \"longitude\": \"141.9570\"\n      },\n      \"timezone\": {\n        \"offset\": \"-6:00\",\n        \"description\": \"Central Time (US & Canada), Mexico City\"\n      }\n    },\n    \"email\": \"tobias.christensen@example.com\",\n    \"login\": {\n      \"uuid\": \"f02358e3-22dd-40bb-93d3-d846215c6df0\",\n      \"username\": \"silverladybug307\",\n      \"password\": \"canuck\",\n      \"salt\": \"CzQqMEHi\",\n      \"md5\": \"0d937531ba6ca576cc41fb44f0847d56\",\n      \"sha1\": \"268f96cc4b2d64facf3693615a8cc884c0e3ee1a\",\n      \"sha256\": \"03a4ea83bdec422a8427cf86662c677385fcce6b06e7f204dcad94cfdb6a0db1\"\n    },\n    \"dob\": {\n      \"date\": \"1959-03-13T22:38:49.447Z\",\n      \"age\": 64\n    },\n    \"registered\": {\n      \"date\": \"2015-06-05T09:51:40.684Z\",\n      \"age\": 7\n    },\n    \"phone\": \"91528623\",\n    \"cell\": \"40993402\",\n    \"id\": 221,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/17.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/17.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/17.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Félix\",\n      \"last\": \"Velasco\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9443,\n        \"name\": \"Calle de Toledo\"\n      },\n      \"city\": \"Gandía\",\n      \"state\": \"Cantabria\",\n      \"country\": \"Spain\",\n      \"postcode\": 61060,\n      \"coordinates\": {\n        \"latitude\": \"58.3021\",\n        \"longitude\": \"-62.1211\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:30\",\n        \"description\": \"Tehran\"\n      }\n    },\n    \"email\": \"felix.velasco@example.com\",\n    \"login\": {\n      \"uuid\": \"d9398513-a189-40e4-b57d-cc9023c8cc75\",\n      \"username\": \"heavylion641\",\n      \"password\": \"uuuuu\",\n      \"salt\": \"fP8wmDPc\",\n      \"md5\": \"5afcae58df97644ad68a51707d76abbc\",\n      \"sha1\": \"a6b7ac01d01f37c975045659e37b5dfbda6f92b9\",\n      \"sha256\": \"f6fde447e567c2496b22cacca46b419a4edc4d59f023b95b1c5467df4f77be3c\"\n    },\n    \"dob\": {\n      \"date\": \"1946-05-22T17:54:46.543Z\",\n      \"age\": 76\n    },\n    \"registered\": {\n      \"date\": \"2019-01-14T07:45:39.801Z\",\n      \"age\": 4\n    },\n    \"phone\": \"951-602-732\",\n    \"cell\": \"604-605-726\",\n    \"id\": 222,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/48.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/48.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/48.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Friederike\",\n      \"last\": \"Häuser\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5746,\n        \"name\": \"Beethovenstraße\"\n      },\n      \"city\": \"Pfaffenhofen an der Ilm\",\n      \"state\": \"Bremen\",\n      \"country\": \"Germany\",\n      \"postcode\": 94453,\n      \"coordinates\": {\n        \"latitude\": \"-67.5710\",\n        \"longitude\": \"-4.8554\"\n      },\n      \"timezone\": {\n        \"offset\": \"0:00\",\n        \"description\": \"Western Europe Time, London, Lisbon, Casablanca\"\n      }\n    },\n    \"email\": \"friederike.hauser@example.com\",\n    \"login\": {\n      \"uuid\": \"c4c7494f-0ae3-412d-81ba-56c18f578f02\",\n      \"username\": \"tinymouse658\",\n      \"password\": \"vector\",\n      \"salt\": \"UDADXLYW\",\n      \"md5\": \"150d3bf87556e3ee050a7f714c984e8a\",\n      \"sha1\": \"7051d17e66384809d244296e783eb64da08089d1\",\n      \"sha256\": \"a7e922c6dfe8faeb7cc4173d5a735ca81c312233e66ad964bb2d48fb3f33b225\"\n    },\n    \"dob\": {\n      \"date\": \"1994-06-04T14:27:59.815Z\",\n      \"age\": 28\n    },\n    \"registered\": {\n      \"date\": \"2011-06-04T04:18:48.363Z\",\n      \"age\": 11\n    },\n    \"phone\": \"0709-6175481\",\n    \"cell\": \"0179-3837154\",\n    \"id\": 223,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/85.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/85.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/85.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Dobromisl\",\n      \"last\": \"Chubatiy\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 537,\n        \"name\": \"Anatoliya Shulgi\"\n      },\n      \"city\": \"Bokovo-Hrustalne\",\n      \"state\": \"Ternopilska\",\n      \"country\": \"Ukraine\",\n      \"postcode\": 58651,\n      \"coordinates\": {\n        \"latitude\": \"-40.8129\",\n        \"longitude\": \"-75.3276\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"dobromisl.chubatiy@example.com\",\n    \"login\": {\n      \"uuid\": \"2d128d61-87d2-407d-b388-4177717920fd\",\n      \"username\": \"tinymouse966\",\n      \"password\": \"princess\",\n      \"salt\": \"o0AdkvKv\",\n      \"md5\": \"0ba3281c73b423aee33e77de33a83bf2\",\n      \"sha1\": \"1adfd3338637362d50ffc06616219a3e9913019e\",\n      \"sha256\": \"8350aab2a7cea67c62c7601d910b8b867c18dbf16c961a73867dfbc7454b2281\"\n    },\n    \"dob\": {\n      \"date\": \"1983-01-05T11:57:26.939Z\",\n      \"age\": 40\n    },\n    \"registered\": {\n      \"date\": \"2014-08-02T16:02:25.398Z\",\n      \"age\": 8\n    },\n    \"phone\": \"(098) M56-4256\",\n    \"cell\": \"(097) U30-1970\",\n    \"id\": 224,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/40.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/40.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/40.jpg\"\n    },\n    \"nat\": \"UA\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Momčilo\",\n      \"last\": \"Jakšić\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8849,\n        \"name\": \"Gligorija Jovanovića \"\n      },\n      \"city\": \"Preševo\",\n      \"state\": \"Jablanica\",\n      \"country\": \"Serbia\",\n      \"postcode\": 40215,\n      \"coordinates\": {\n        \"latitude\": \"59.8371\",\n        \"longitude\": \"150.9460\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"momcilo.jaksic@example.com\",\n    \"login\": {\n      \"uuid\": \"923465c9-74fe-4132-8007-3b666b9caf4a\",\n      \"username\": \"yellowfrog868\",\n      \"password\": \"55555\",\n      \"salt\": \"JrWpfVTo\",\n      \"md5\": \"2039b387d90955125c3c97ceb8f57472\",\n      \"sha1\": \"b49b7a88b252a56f708390b6ab4563cdad52b677\",\n      \"sha256\": \"807f94b35ba81afeed9fe322c8e5c676a8b93092050af7de34c627b3ffa9e7ab\"\n    },\n    \"dob\": {\n      \"date\": \"1954-01-15T07:47:32.630Z\",\n      \"age\": 69\n    },\n    \"registered\": {\n      \"date\": \"2004-07-25T20:56:54.243Z\",\n      \"age\": 18\n    },\n    \"phone\": \"020-7153-536\",\n    \"cell\": \"066-7081-645\",\n    \"id\": 225,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/30.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/30.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/30.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Phoebe\",\n      \"last\": \"Hale\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6689,\n        \"name\": \"Dame Street\"\n      },\n      \"city\": \"Blessington\",\n      \"state\": \"South Dublin\",\n      \"country\": \"Ireland\",\n      \"postcode\": 97888,\n      \"coordinates\": {\n        \"latitude\": \"12.4712\",\n        \"longitude\": \"-57.1149\"\n      },\n      \"timezone\": {\n        \"offset\": \"-6:00\",\n        \"description\": \"Central Time (US & Canada), Mexico City\"\n      }\n    },\n    \"email\": \"phoebe.hale@example.com\",\n    \"login\": {\n      \"uuid\": \"70d855b8-997d-4bab-a12b-578e3191a394\",\n      \"username\": \"crazyladybug182\",\n      \"password\": \"motor\",\n      \"salt\": \"xKgesbWA\",\n      \"md5\": \"52185aa4c1308d0d151a9f3d9f438556\",\n      \"sha1\": \"e826c150ced7e0ffd3a299ee64f318432413435f\",\n      \"sha256\": \"63653ab347294d545339728965de9c3aee4e46a3e7e6c568abe0a3c151d3a294\"\n    },\n    \"dob\": {\n      \"date\": \"1975-06-23T05:08:57.343Z\",\n      \"age\": 47\n    },\n    \"registered\": {\n      \"date\": \"2002-09-14T01:55:03.816Z\",\n      \"age\": 20\n    },\n    \"phone\": \"041-330-0382\",\n    \"cell\": \"081-321-6419\",\n    \"id\": 226,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/66.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/66.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/66.jpg\"\n    },\n    \"nat\": \"IE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Niva\",\n      \"last\": \"Babu\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1741,\n        \"name\": \"S.A Rd\"\n      },\n      \"city\": \"Loni\",\n      \"state\": \"Mizoram\",\n      \"country\": \"India\",\n      \"postcode\": 22780,\n      \"coordinates\": {\n        \"latitude\": \"-55.5349\",\n        \"longitude\": \"-106.6712\"\n      },\n      \"timezone\": {\n        \"offset\": \"+7:00\",\n        \"description\": \"Bangkok, Hanoi, Jakarta\"\n      }\n    },\n    \"email\": \"niva.babu@example.com\",\n    \"login\": {\n      \"uuid\": \"e1f3d5d6-ea16-4af7-95f6-a8aa45f90eee\",\n      \"username\": \"heavygoose936\",\n      \"password\": \"submit\",\n      \"salt\": \"gjQAmb3V\",\n      \"md5\": \"afd00e33e88fb319bf4c1fd4a5b54c0c\",\n      \"sha1\": \"9179503c391f190563138db35505dbd0c40b1a8c\",\n      \"sha256\": \"68c9740e3f80407a59190e6735f09f714beae9a1bd6de03c858f249b71e12d18\"\n    },\n    \"dob\": {\n      \"date\": \"1984-05-17T03:47:37.096Z\",\n      \"age\": 39\n    },\n    \"registered\": {\n      \"date\": \"2021-09-06T05:10:39.127Z\",\n      \"age\": 1\n    },\n    \"phone\": \"8485324119\",\n    \"cell\": \"9713849531\",\n    \"id\": 227,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/64.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/64.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/64.jpg\"\n    },\n    \"nat\": \"IN\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Violet\",\n      \"last\": \"Thompson\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5629,\n        \"name\": \"Prestons Road\"\n      },\n      \"city\": \"Whangarei\",\n      \"state\": \"Manawatu-Wanganui\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 66464,\n      \"coordinates\": {\n        \"latitude\": \"-33.0813\",\n        \"longitude\": \"167.4961\"\n      },\n      \"timezone\": {\n        \"offset\": \"-5:00\",\n        \"description\": \"Eastern Time (US & Canada), Bogota, Lima\"\n      }\n    },\n    \"email\": \"violet.thompson@example.com\",\n    \"login\": {\n      \"uuid\": \"b51612ec-34f8-4798-a484-2ca616cc97a0\",\n      \"username\": \"bigdog946\",\n      \"password\": \"jaeger\",\n      \"salt\": \"u828j6JN\",\n      \"md5\": \"8f6e4e8ffa358dbb7f369021b0459b22\",\n      \"sha1\": \"9beac3d3fcfef4dfb1048b3532f4ff3a4d41c679\",\n      \"sha256\": \"44ac09176d2bfdbfd1980a31410ad01fc7d33743051572f743393c6cb36d6465\"\n    },\n    \"dob\": {\n      \"date\": \"1984-07-22T10:24:30.105Z\",\n      \"age\": 38\n    },\n    \"registered\": {\n      \"date\": \"2007-02-14T04:39:11.976Z\",\n      \"age\": 16\n    },\n    \"phone\": \"(615)-668-5139\",\n    \"cell\": \"(558)-520-4206\",\n    \"id\": 228,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/90.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/90.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/90.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Simona\",\n      \"last\": \"Lampert\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9501,\n        \"name\": \"Römerstraße\"\n      },\n      \"city\": \"Olching\",\n      \"state\": \"Mecklenburg-Vorpommern\",\n      \"country\": \"Germany\",\n      \"postcode\": 89585,\n      \"coordinates\": {\n        \"latitude\": \"74.0726\",\n        \"longitude\": \"149.9520\"\n      },\n      \"timezone\": {\n        \"offset\": \"-10:00\",\n        \"description\": \"Hawaii\"\n      }\n    },\n    \"email\": \"simona.lampert@example.com\",\n    \"login\": {\n      \"uuid\": \"5f86e5a1-d353-403c-b255-95212122df19\",\n      \"username\": \"happyfish959\",\n      \"password\": \"celine\",\n      \"salt\": \"5NQcfLxo\",\n      \"md5\": \"b02cbff7a4704052694f845d4b439918\",\n      \"sha1\": \"0bed1d1950689ca67664b12b22b861639729a7f4\",\n      \"sha256\": \"4251447c23930f7f4bd53a79b485f02d711dfd610374ad7d3eab903d94846ca1\"\n    },\n    \"dob\": {\n      \"date\": \"1984-12-30T21:01:36.150Z\",\n      \"age\": 38\n    },\n    \"registered\": {\n      \"date\": \"2006-07-02T04:14:43.903Z\",\n      \"age\": 16\n    },\n    \"phone\": \"0777-9624339\",\n    \"cell\": \"0177-6176685\",\n    \"id\": 229,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/2.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/2.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/2.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Ranko\",\n      \"last\": \"Rajković\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2473,\n        \"name\": \"Moštanička\"\n      },\n      \"city\": \"Čačak\",\n      \"state\": \"Toplica\",\n      \"country\": \"Serbia\",\n      \"postcode\": 95969,\n      \"coordinates\": {\n        \"latitude\": \"-1.3067\",\n        \"longitude\": \"83.9331\"\n      },\n      \"timezone\": {\n        \"offset\": \"+10:00\",\n        \"description\": \"Eastern Australia, Guam, Vladivostok\"\n      }\n    },\n    \"email\": \"ranko.rajkovic@example.com\",\n    \"login\": {\n      \"uuid\": \"e6734815-bf63-4f44-be4d-96babd32fb1f\",\n      \"username\": \"purplecat759\",\n      \"password\": \"767676\",\n      \"salt\": \"EaOvYtRf\",\n      \"md5\": \"7a517bc0381f5fbbc4925442bc5e6f8d\",\n      \"sha1\": \"16d2c9a5db3c27b7b860724425c3db153a9ba76c\",\n      \"sha256\": \"c4ae6e8fadd94f78bf855d4d1b8162a37c14adcbda24acc392c6f2db36ec87be\"\n    },\n    \"dob\": {\n      \"date\": \"1966-03-31T21:36:11.611Z\",\n      \"age\": 57\n    },\n    \"registered\": {\n      \"date\": \"2014-12-18T02:23:49.642Z\",\n      \"age\": 8\n    },\n    \"phone\": \"021-2633-849\",\n    \"cell\": \"060-5744-285\",\n    \"id\": 230,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/65.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/65.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/65.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Marisela\",\n      \"last\": \"Alcaraz\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5131,\n        \"name\": \"Avenida Riojas\"\n      },\n      \"city\": \"Bacame Nuevo\",\n      \"state\": \"Ciudad de Mexico\",\n      \"country\": \"Mexico\",\n      \"postcode\": 14995,\n      \"coordinates\": {\n        \"latitude\": \"-78.7096\",\n        \"longitude\": \"110.1607\"\n      },\n      \"timezone\": {\n        \"offset\": \"+8:00\",\n        \"description\": \"Beijing, Perth, Singapore, Hong Kong\"\n      }\n    },\n    \"email\": \"marisela.alcaraz@example.com\",\n    \"login\": {\n      \"uuid\": \"61ee4ab5-f158-4d55-91f3-9e1f19964d0c\",\n      \"username\": \"lazydog843\",\n      \"password\": \"kittie\",\n      \"salt\": \"pg5fYQqM\",\n      \"md5\": \"8b432ff6d991e35748c3c31d2c7d5c82\",\n      \"sha1\": \"7c2cfe101b27bb666f57e378bd532e135e4b4b4b\",\n      \"sha256\": \"9ceb2a1f45f6d8bb9c7dc13a3a858ebb57b4fb52b414355bbe9b7e906eb7193f\"\n    },\n    \"dob\": {\n      \"date\": \"1949-07-17T01:17:34.184Z\",\n      \"age\": 73\n    },\n    \"registered\": {\n      \"date\": \"2012-08-01T14:47:53.059Z\",\n      \"age\": 10\n    },\n    \"phone\": \"(655) 841 3679\",\n    \"cell\": \"(699) 312 9288\",\n    \"id\": 231,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/95.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/95.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/95.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Alex\",\n      \"last\": \"Jackson\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 20,\n        \"name\": \"Park Lane\"\n      },\n      \"city\": \"Skerries\",\n      \"state\": \"Leitrim\",\n      \"country\": \"Ireland\",\n      \"postcode\": 12898,\n      \"coordinates\": {\n        \"latitude\": \"23.7279\",\n        \"longitude\": \"34.3504\"\n      },\n      \"timezone\": {\n        \"offset\": \"+2:00\",\n        \"description\": \"Kaliningrad, South Africa\"\n      }\n    },\n    \"email\": \"alex.jackson@example.com\",\n    \"login\": {\n      \"uuid\": \"d76f8ca1-7e06-4525-a3ea-bd43d0cd2079\",\n      \"username\": \"tinyrabbit578\",\n      \"password\": \"marie1\",\n      \"salt\": \"jVjWohTV\",\n      \"md5\": \"37e025ec5b9e0795a00f6c4046f7ce71\",\n      \"sha1\": \"164f211c3edd03a6f8ee769ec5b47f23f65e469d\",\n      \"sha256\": \"4d5f6983e8ed6bb46c4f8e78216ae5b31340fa5d47dffdaa9575b856bfb9b1d2\"\n    },\n    \"dob\": {\n      \"date\": \"1964-05-28T05:44:45.590Z\",\n      \"age\": 58\n    },\n    \"registered\": {\n      \"date\": \"2016-12-23T23:53:02.860Z\",\n      \"age\": 6\n    },\n    \"phone\": \"031-010-2317\",\n    \"cell\": \"081-988-9759\",\n    \"id\": 232,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/21.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/21.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/21.jpg\"\n    },\n    \"nat\": \"IE\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"امیر\",\n      \"last\": \"قاسمی\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8295,\n        \"name\": \"آیت الله کاشانی\"\n      },\n      \"city\": \"زاهدان\",\n      \"state\": \"تهران\",\n      \"country\": \"Iran\",\n      \"postcode\": 48874,\n      \"coordinates\": {\n        \"latitude\": \"26.8597\",\n        \"longitude\": \"-113.0668\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"myr.qsmy@example.com\",\n    \"login\": {\n      \"uuid\": \"7b9941a5-7419-4fa1-b49c-ad1ee4cdcd72\",\n      \"username\": \"brownzebra454\",\n      \"password\": \"talisman\",\n      \"salt\": \"jXAg2mvc\",\n      \"md5\": \"ad247be364e435249a9e4af159cc3ba6\",\n      \"sha1\": \"6b740eec998d0d74858788627b59588a659a21b7\",\n      \"sha256\": \"9af5855eba03a6d49f401ef4b2859bc63b0909eafc7786b67ac9f5e401213fe4\"\n    },\n    \"dob\": {\n      \"date\": \"1976-11-14T01:41:50.045Z\",\n      \"age\": 46\n    },\n    \"registered\": {\n      \"date\": \"2022-03-05T13:56:46.575Z\",\n      \"age\": 1\n    },\n    \"phone\": \"000-57745658\",\n    \"cell\": \"0933-089-1960\",\n    \"id\": 233,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/80.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/80.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/80.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Paula\",\n      \"last\": \"Navarro\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8360,\n        \"name\": \"Avenida del Planetario\"\n      },\n      \"city\": \"San Sebastián de Los Reyes\",\n      \"state\": \"Comunidad de Madrid\",\n      \"country\": \"Spain\",\n      \"postcode\": 91656,\n      \"coordinates\": {\n        \"latitude\": \"-15.5174\",\n        \"longitude\": \"-134.2642\"\n      },\n      \"timezone\": {\n        \"offset\": \"-7:00\",\n        \"description\": \"Mountain Time (US & Canada)\"\n      }\n    },\n    \"email\": \"paula.navarro@example.com\",\n    \"login\": {\n      \"uuid\": \"a3014572-d4c1-497d-910a-b1ecbdc15d30\",\n      \"username\": \"brownmeercat178\",\n      \"password\": \"wood\",\n      \"salt\": \"jcpgYQO9\",\n      \"md5\": \"3509071bbb04b2f290471c4692361e5d\",\n      \"sha1\": \"ed285bcef857633065e8f04086de512927a875f5\",\n      \"sha256\": \"39cd4728d2424e2d8053e32ae52d39a1c8d69545349555a689000be8f5061f0f\"\n    },\n    \"dob\": {\n      \"date\": \"1990-02-01T10:35:47.384Z\",\n      \"age\": 33\n    },\n    \"registered\": {\n      \"date\": \"2011-09-25T08:10:50.413Z\",\n      \"age\": 11\n    },\n    \"phone\": \"938-339-085\",\n    \"cell\": \"614-534-744\",\n    \"id\": 234,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/37.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/37.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/37.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Virgil\",\n      \"last\": \"Hanson\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6483,\n        \"name\": \"North Road\"\n      },\n      \"city\": \"Carrigtwohill\",\n      \"state\": \"Mayo\",\n      \"country\": \"Ireland\",\n      \"postcode\": 12718,\n      \"coordinates\": {\n        \"latitude\": \"71.7231\",\n        \"longitude\": \"-21.4219\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:30\",\n        \"description\": \"Kabul\"\n      }\n    },\n    \"email\": \"virgil.hanson@example.com\",\n    \"login\": {\n      \"uuid\": \"65a329ec-f512-4a5f-994a-dbe871c90172\",\n      \"username\": \"organicpanda897\",\n      \"password\": \"raptor\",\n      \"salt\": \"UVFi61Zp\",\n      \"md5\": \"d41d8442f3d6056a24782ab469142166\",\n      \"sha1\": \"c8a18761b07da7f5a7710b5fda2365b0666941e3\",\n      \"sha256\": \"69fb55839ad3bd0418e060f93361da5434642a37259d41eeac2cb390f1ffb4a7\"\n    },\n    \"dob\": {\n      \"date\": \"1966-01-08T00:26:19.698Z\",\n      \"age\": 57\n    },\n    \"registered\": {\n      \"date\": \"2021-03-26T06:50:20.875Z\",\n      \"age\": 2\n    },\n    \"phone\": \"041-888-5111\",\n    \"cell\": \"081-391-9572\",\n    \"id\": 235,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/15.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/15.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/15.jpg\"\n    },\n    \"nat\": \"IE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Sofija\",\n      \"last\": \"Zeljković\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6508,\n        \"name\": \"Stevana Stevanovića\"\n      },\n      \"city\": \"Ub\",\n      \"state\": \"North Bačka\",\n      \"country\": \"Serbia\",\n      \"postcode\": 31076,\n      \"coordinates\": {\n        \"latitude\": \"-17.5960\",\n        \"longitude\": \"40.0606\"\n      },\n      \"timezone\": {\n        \"offset\": \"+6:00\",\n        \"description\": \"Almaty, Dhaka, Colombo\"\n      }\n    },\n    \"email\": \"sofija.zeljkovic@example.com\",\n    \"login\": {\n      \"uuid\": \"4a5dcffc-64bc-4390-9b95-758c890b48e6\",\n      \"username\": \"purplezebra995\",\n      \"password\": \"caliente\",\n      \"salt\": \"g0cP51mI\",\n      \"md5\": \"eacef0362c942e4a23aeecc59848b251\",\n      \"sha1\": \"b45e9d940ee2f33dbbee45a843d0c2487d18cb1c\",\n      \"sha256\": \"9e9fec8fb2b3771731c005708de04cbe95fd754615a98b31645b971a997beca7\"\n    },\n    \"dob\": {\n      \"date\": \"1957-06-03T10:30:17.343Z\",\n      \"age\": 65\n    },\n    \"registered\": {\n      \"date\": \"2022-04-05T03:08:13.557Z\",\n      \"age\": 1\n    },\n    \"phone\": \"031-9087-063\",\n    \"cell\": \"063-1984-834\",\n    \"id\": 236,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/10.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/10.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/10.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Walburga\",\n      \"last\": \"Lang\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5000,\n        \"name\": \"Lindenweg\"\n      },\n      \"city\": \"Neustadt an der Orla\",\n      \"state\": \"Mecklenburg-Vorpommern\",\n      \"country\": \"Germany\",\n      \"postcode\": 90791,\n      \"coordinates\": {\n        \"latitude\": \"25.4320\",\n        \"longitude\": \"163.8059\"\n      },\n      \"timezone\": {\n        \"offset\": \"-5:00\",\n        \"description\": \"Eastern Time (US & Canada), Bogota, Lima\"\n      }\n    },\n    \"email\": \"walburga.lang@example.com\",\n    \"login\": {\n      \"uuid\": \"7ed7fc56-bc0d-4d3f-854f-e0779743fb7a\",\n      \"username\": \"crazyleopard759\",\n      \"password\": \"sixty\",\n      \"salt\": \"vFfwuruF\",\n      \"md5\": \"1101f6f32a476a5ade75c8ac6e228032\",\n      \"sha1\": \"f5be520ecf76df985b44999774acff33d66df054\",\n      \"sha256\": \"7dd34f1b7e1f102a3047274841edd727fcbe5bcd67c2a620b173558ab472f2af\"\n    },\n    \"dob\": {\n      \"date\": \"1957-09-28T23:59:12.886Z\",\n      \"age\": 65\n    },\n    \"registered\": {\n      \"date\": \"2009-06-20T06:53:06.509Z\",\n      \"age\": 13\n    },\n    \"phone\": \"0926-5260383\",\n    \"cell\": \"0174-8867621\",\n    \"id\": 237,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/82.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/82.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/82.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Isla\",\n      \"last\": \"Jackson\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 683,\n        \"name\": \"Opawa Road\"\n      },\n      \"city\": \"Hastings\",\n      \"state\": \"Hawke'S Bay\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 37059,\n      \"coordinates\": {\n        \"latitude\": \"48.8450\",\n        \"longitude\": \"-175.8407\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:30\",\n        \"description\": \"Tehran\"\n      }\n    },\n    \"email\": \"isla.jackson@example.com\",\n    \"login\": {\n      \"uuid\": \"826691c4-7d75-4271-a08b-036d44add8af\",\n      \"username\": \"lazymouse991\",\n      \"password\": \"hover\",\n      \"salt\": \"xrQrGluq\",\n      \"md5\": \"9d512e9444eed5fa97fb5d3eef85bf06\",\n      \"sha1\": \"8a72b82d9d7bbf2e4d6187f655e1ca835feb3730\",\n      \"sha256\": \"821bfa7eec8b68631bec40702f3addcb8ae076b466d47cf866b92ffd917d0427\"\n    },\n    \"dob\": {\n      \"date\": \"1996-12-15T20:34:43.296Z\",\n      \"age\": 26\n    },\n    \"registered\": {\n      \"date\": \"2014-04-15T10:33:36.139Z\",\n      \"age\": 9\n    },\n    \"phone\": \"(910)-244-9329\",\n    \"cell\": \"(962)-995-9037\",\n    \"id\": 238,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/96.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/96.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/96.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Thibault\",\n      \"last\": \"Roux\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 548,\n        \"name\": \"Avenue Tony-Garnier\"\n      },\n      \"city\": \"Champigny-sur-Marne\",\n      \"state\": \"Aisne\",\n      \"country\": \"France\",\n      \"postcode\": 76924,\n      \"coordinates\": {\n        \"latitude\": \"15.7621\",\n        \"longitude\": \"27.7879\"\n      },\n      \"timezone\": {\n        \"offset\": \"-2:00\",\n        \"description\": \"Mid-Atlantic\"\n      }\n    },\n    \"email\": \"thibault.roux@example.com\",\n    \"login\": {\n      \"uuid\": \"7baf2619-bd5b-409a-8192-92600c44f7f2\",\n      \"username\": \"blackbird116\",\n      \"password\": \"senior\",\n      \"salt\": \"rCFQ9eGX\",\n      \"md5\": \"044a90bf6066e340f9c0b3341c51b7e6\",\n      \"sha1\": \"0d0eaddd8fe9dc678bd3e4b10d55ba4567affc5e\",\n      \"sha256\": \"f7e8405a7eb4ba80e5eb8550a856fb387b6b3b2ed1104fbd325550fb881b11cb\"\n    },\n    \"dob\": {\n      \"date\": \"1958-03-28T09:39:25.700Z\",\n      \"age\": 65\n    },\n    \"registered\": {\n      \"date\": \"2019-01-20T23:26:07.665Z\",\n      \"age\": 4\n    },\n    \"phone\": \"04-33-31-89-32\",\n    \"cell\": \"06-32-92-69-35\",\n    \"id\": 239,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/22.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/22.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/22.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Sarah\",\n      \"last\": \"Skailand\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 560,\n        \"name\": \"Torjusbakken\"\n      },\n      \"city\": \"Rafsbotn\",\n      \"state\": \"Vestfold\",\n      \"country\": \"Norway\",\n      \"postcode\": \"3218\",\n      \"coordinates\": {\n        \"latitude\": \"-8.1667\",\n        \"longitude\": \"-11.0283\"\n      },\n      \"timezone\": {\n        \"offset\": \"+2:00\",\n        \"description\": \"Kaliningrad, South Africa\"\n      }\n    },\n    \"email\": \"sarah.skailand@example.com\",\n    \"login\": {\n      \"uuid\": \"09475995-714b-4758-9755-7e50a76795ee\",\n      \"username\": \"heavymeercat715\",\n      \"password\": \"fortress\",\n      \"salt\": \"28blsfvg\",\n      \"md5\": \"4bbc69cb49c2ec7e1ac23976b02057e1\",\n      \"sha1\": \"5726bebf98226a2ba9172239660fa2fc37ee3d98\",\n      \"sha256\": \"8519465931c58551d326ab800a21f2b5d77fdf3e74981fd982bde96049b66a34\"\n    },\n    \"dob\": {\n      \"date\": \"1963-11-19T01:31:14.063Z\",\n      \"age\": 59\n    },\n    \"registered\": {\n      \"date\": \"2003-01-07T06:28:02.736Z\",\n      \"age\": 20\n    },\n    \"phone\": \"86172743\",\n    \"cell\": \"96787786\",\n    \"id\": 240,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/37.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/37.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/37.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Kitty\",\n      \"last\": \"Wallace\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1103,\n        \"name\": \"Valley View Ln\"\n      },\n      \"city\": \"Bridgeport\",\n      \"state\": \"Minnesota\",\n      \"country\": \"United States\",\n      \"postcode\": 66298,\n      \"coordinates\": {\n        \"latitude\": \"-64.0863\",\n        \"longitude\": \"-155.0095\"\n      },\n      \"timezone\": {\n        \"offset\": \"-5:00\",\n        \"description\": \"Eastern Time (US & Canada), Bogota, Lima\"\n      }\n    },\n    \"email\": \"kitty.wallace@example.com\",\n    \"login\": {\n      \"uuid\": \"8446bc94-b9ed-48fe-9f8c-d019f9773622\",\n      \"username\": \"happygoose415\",\n      \"password\": \"serpent\",\n      \"salt\": \"WSNalFmE\",\n      \"md5\": \"60c3fcb0a3f3dcf89d3f92114fdd5ff6\",\n      \"sha1\": \"14386c2620ce0b6dfa0fffe2b3a7e96f343a2fad\",\n      \"sha256\": \"efe713ecc2d2f397d555410c4bf73171ea87b490b52dd56fda71d7792b0a7978\"\n    },\n    \"dob\": {\n      \"date\": \"1992-06-09T00:45:45.208Z\",\n      \"age\": 30\n    },\n    \"registered\": {\n      \"date\": \"2003-11-12T02:12:21.435Z\",\n      \"age\": 19\n    },\n    \"phone\": \"(922) 317-0181\",\n    \"cell\": \"(615) 978-0634\",\n    \"id\": 241,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/54.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/54.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/54.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Jochem\",\n      \"last\": \"Marschall\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3115,\n        \"name\": \"Schulstraße\"\n      },\n      \"city\": \"Spenge\",\n      \"state\": \"Brandenburg\",\n      \"country\": \"Germany\",\n      \"postcode\": 47610,\n      \"coordinates\": {\n        \"latitude\": \"-38.1399\",\n        \"longitude\": \"-141.7462\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:30\",\n        \"description\": \"Kabul\"\n      }\n    },\n    \"email\": \"jochem.marschall@example.com\",\n    \"login\": {\n      \"uuid\": \"0a876885-1d34-4914-9768-1d63b8010b9d\",\n      \"username\": \"silvermouse638\",\n      \"password\": \"romero\",\n      \"salt\": \"vZPsKMtX\",\n      \"md5\": \"e4077431c380f8342fd229f35e61a585\",\n      \"sha1\": \"7dd98b27db31a5e764ce895cd4394c2019e9a63c\",\n      \"sha256\": \"45bdd348b33602d5614338407bb4049f5b12d41bec2af7e58c5f864d718dbe85\"\n    },\n    \"dob\": {\n      \"date\": \"1970-04-02T10:19:48.764Z\",\n      \"age\": 53\n    },\n    \"registered\": {\n      \"date\": \"2008-01-15T21:32:22.823Z\",\n      \"age\": 15\n    },\n    \"phone\": \"0224-2698423\",\n    \"cell\": \"0179-9057168\",\n    \"id\": 242,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/23.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/23.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/23.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Bahri\",\n      \"last\": \"Spijkerboer\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5610,\n        \"name\": \"Biggekerksestraat\"\n      },\n      \"city\": \"Marienberg\",\n      \"state\": \"Utrecht\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"9323 LR\",\n      \"coordinates\": {\n        \"latitude\": \"29.3682\",\n        \"longitude\": \"-54.8681\"\n      },\n      \"timezone\": {\n        \"offset\": \"-6:00\",\n        \"description\": \"Central Time (US & Canada), Mexico City\"\n      }\n    },\n    \"email\": \"bahri.spijkerboer@example.com\",\n    \"login\": {\n      \"uuid\": \"2698747c-f2d0-470a-ae53-eb245fb9c8ba\",\n      \"username\": \"crazypanda101\",\n      \"password\": \"cindy\",\n      \"salt\": \"uWh75UV6\",\n      \"md5\": \"dc21cc808b6009285cb657f9d91bc813\",\n      \"sha1\": \"1f5da8bfc7b3d6128c25ab02359c7e2c1586856f\",\n      \"sha256\": \"b458cfee1204f31866b17f1b010497f1e624e763801ecd64cdd24dda1080b1d1\"\n    },\n    \"dob\": {\n      \"date\": \"1966-03-21T15:00:53.171Z\",\n      \"age\": 57\n    },\n    \"registered\": {\n      \"date\": \"2022-04-01T20:11:11.673Z\",\n      \"age\": 1\n    },\n    \"phone\": \"(013) 9805306\",\n    \"cell\": \"(06) 05177073\",\n    \"id\": 243,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/12.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/12.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/12.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Lily\",\n      \"last\": \"French\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9377,\n        \"name\": \"Oak St\"\n      },\n      \"city\": \"Beaumont\",\n      \"state\": \"Alberta\",\n      \"country\": \"Canada\",\n      \"postcode\": \"O8U 3A3\",\n      \"coordinates\": {\n        \"latitude\": \"-6.4221\",\n        \"longitude\": \"16.0583\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:30\",\n        \"description\": \"Kabul\"\n      }\n    },\n    \"email\": \"lily.french@example.com\",\n    \"login\": {\n      \"uuid\": \"00a1f24a-0519-446a-96c5-932386616bca\",\n      \"username\": \"blackkoala363\",\n      \"password\": \"generic\",\n      \"salt\": \"1rLmaAXd\",\n      \"md5\": \"9a9dffe118208969b9925cca480ee282\",\n      \"sha1\": \"e7d57fb59784b87277d57e3c3608fb9f9d5c0116\",\n      \"sha256\": \"9d532885697376a1aef3b5849baa38d355d2c5984390732150e340ad62329c77\"\n    },\n    \"dob\": {\n      \"date\": \"1985-10-20T06:18:09.989Z\",\n      \"age\": 37\n    },\n    \"registered\": {\n      \"date\": \"2009-07-13T21:48:27.304Z\",\n      \"age\": 13\n    },\n    \"phone\": \"D27 I52-9345\",\n    \"cell\": \"G67 W68-1096\",\n    \"id\": 244,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/79.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/79.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/79.jpg\"\n    },\n    \"nat\": \"CA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Emma\",\n      \"last\": \"Hansen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8076,\n        \"name\": \"Nørrevang\"\n      },\n      \"city\": \"Gl. Rye\",\n      \"state\": \"Syddanmark\",\n      \"country\": \"Denmark\",\n      \"postcode\": 91032,\n      \"coordinates\": {\n        \"latitude\": \"43.2234\",\n        \"longitude\": \"69.6636\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:00\",\n        \"description\": \"Brazil, Buenos Aires, Georgetown\"\n      }\n    },\n    \"email\": \"emma.hansen@example.com\",\n    \"login\": {\n      \"uuid\": \"45b2464c-0555-4c60-94eb-5dd8f1fdba4e\",\n      \"username\": \"brownkoala632\",\n      \"password\": \"kaylee\",\n      \"salt\": \"OOMipFMl\",\n      \"md5\": \"e44caf457e7c6e6772df949beaf2e7a5\",\n      \"sha1\": \"175be19be74c8f223ad4195f18fce21abb6053dd\",\n      \"sha256\": \"0e6c2e1dcc4e9d9fc9618580520b407e04b457a9623c55dca1c461d6bf814956\"\n    },\n    \"dob\": {\n      \"date\": \"1997-01-21T00:45:19.286Z\",\n      \"age\": 26\n    },\n    \"registered\": {\n      \"date\": \"2008-03-27T10:31:11.494Z\",\n      \"age\": 15\n    },\n    \"phone\": \"03983793\",\n    \"cell\": \"25010562\",\n    \"id\": 245,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/59.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/59.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/59.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Wesley\",\n      \"last\": \"Douglas\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1555,\n        \"name\": \"West Street\"\n      },\n      \"city\": \"Tuam\",\n      \"state\": \"Monaghan\",\n      \"country\": \"Ireland\",\n      \"postcode\": 32515,\n      \"coordinates\": {\n        \"latitude\": \"25.5070\",\n        \"longitude\": \"-142.1671\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"wesley.douglas@example.com\",\n    \"login\": {\n      \"uuid\": \"d672bee6-b73d-4340-95a7-bf6e6b1545fd\",\n      \"username\": \"crazypeacock608\",\n      \"password\": \"link\",\n      \"salt\": \"TGSSvCDE\",\n      \"md5\": \"b75bbd63838135b19e4f5682e7d9932c\",\n      \"sha1\": \"1df6bdc46e349aeded84c60349c568272f3c97bc\",\n      \"sha256\": \"b287bddc7ec5288e6d1aebe8925a4e931eab08dcb195d1cfaaf5bf26c913a219\"\n    },\n    \"dob\": {\n      \"date\": \"1980-09-21T01:11:32.657Z\",\n      \"age\": 42\n    },\n    \"registered\": {\n      \"date\": \"2004-06-12T18:11:46.543Z\",\n      \"age\": 18\n    },\n    \"phone\": \"061-604-9791\",\n    \"cell\": \"081-006-8721\",\n    \"id\": 246,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/55.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/55.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/55.jpg\"\n    },\n    \"nat\": \"IE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Sam\",\n      \"last\": \"Silva\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4850,\n        \"name\": \"Albert Road\"\n      },\n      \"city\": \"Canterbury\",\n      \"state\": \"County Down\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"GC7H 7UU\",\n      \"coordinates\": {\n        \"latitude\": \"-54.4268\",\n        \"longitude\": \"-126.3776\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"sam.silva@example.com\",\n    \"login\": {\n      \"uuid\": \"a3e65d51-350f-4375-b4ea-9c0593f2b3e3\",\n      \"username\": \"purplemouse130\",\n      \"password\": \"jaguar1\",\n      \"salt\": \"mnSxliAc\",\n      \"md5\": \"737d65a90169fc4b1b34ad50a585aeeb\",\n      \"sha1\": \"cbc0850737bb563c48e966e8ce155a846bceed65\",\n      \"sha256\": \"77e171552482861923bef3ba055523dadcf9c730b8639bd7edc77eb91281e3b4\"\n    },\n    \"dob\": {\n      \"date\": \"1990-11-08T10:57:33.855Z\",\n      \"age\": 32\n    },\n    \"registered\": {\n      \"date\": \"2002-08-17T07:42:53.632Z\",\n      \"age\": 20\n    },\n    \"phone\": \"017683 69455\",\n    \"cell\": \"07141 644577\",\n    \"id\": 247,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/67.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/67.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/67.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Jovan\",\n      \"last\": \"Cvejić\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1954,\n        \"name\": \"Panatinska\"\n      },\n      \"city\": \"Ivanjica\",\n      \"state\": \"Pirot\",\n      \"country\": \"Serbia\",\n      \"postcode\": 54634,\n      \"coordinates\": {\n        \"latitude\": \"58.1077\",\n        \"longitude\": \"-50.4210\"\n      },\n      \"timezone\": {\n        \"offset\": \"-11:00\",\n        \"description\": \"Midway Island, Samoa\"\n      }\n    },\n    \"email\": \"jovan.cvejic@example.com\",\n    \"login\": {\n      \"uuid\": \"18ba1da0-22fe-4b33-a389-91eafcb11752\",\n      \"username\": \"heavyleopard127\",\n      \"password\": \"marsha\",\n      \"salt\": \"FSGrm8rv\",\n      \"md5\": \"3ede92b5f209fc4da7d2fedb536bb11a\",\n      \"sha1\": \"9a0e2607e1cd2bb8b4181a149a9987e1e2a9ae64\",\n      \"sha256\": \"630dfc254e88234d94f59a05ce49889ec88387fe835941d27072231b407c2bf6\"\n    },\n    \"dob\": {\n      \"date\": \"1990-07-18T03:01:21.153Z\",\n      \"age\": 32\n    },\n    \"registered\": {\n      \"date\": \"2013-10-12T12:48:21.089Z\",\n      \"age\": 9\n    },\n    \"phone\": \"028-4295-815\",\n    \"cell\": \"060-2544-544\",\n    \"id\": 248,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/2.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/2.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/2.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Anthony\",\n      \"last\": \"Ross\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 811,\n        \"name\": \"Regent Ave\"\n      },\n      \"city\": \"Enterprise\",\n      \"state\": \"Prince Edward Island\",\n      \"country\": \"Canada\",\n      \"postcode\": \"N9C 8E8\",\n      \"coordinates\": {\n        \"latitude\": \"47.1249\",\n        \"longitude\": \"-15.9591\"\n      },\n      \"timezone\": {\n        \"offset\": \"-8:00\",\n        \"description\": \"Pacific Time (US & Canada)\"\n      }\n    },\n    \"email\": \"anthony.ross@example.com\",\n    \"login\": {\n      \"uuid\": \"88b71725-7d9f-4d04-957b-de5c559dc368\",\n      \"username\": \"yellowswan875\",\n      \"password\": \"newpass\",\n      \"salt\": \"HJIvwpO3\",\n      \"md5\": \"8f7af64554687bed4e1e3ca8c333d2db\",\n      \"sha1\": \"256c723b31236433b1ed3415e6e4d391850f30b7\",\n      \"sha256\": \"30bffbf2adfe0942e437e24a2cffe84e6152a609b3af65b645ad0d56aecd1c4f\"\n    },\n    \"dob\": {\n      \"date\": \"1981-11-13T10:37:05.680Z\",\n      \"age\": 41\n    },\n    \"registered\": {\n      \"date\": \"2021-07-26T12:06:18.579Z\",\n      \"age\": 1\n    },\n    \"phone\": \"L99 V94-4063\",\n    \"cell\": \"Z80 L05-9008\",\n    \"id\": 249,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/90.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/90.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/90.jpg\"\n    },\n    \"nat\": \"CA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Ece\",\n      \"last\": \"Tunaboylu\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7324,\n        \"name\": \"Kushimoto Sk\"\n      },\n      \"city\": \"Gaziantep\",\n      \"state\": \"Ağrı\",\n      \"country\": \"Turkey\",\n      \"postcode\": 91494,\n      \"coordinates\": {\n        \"latitude\": \"-25.4878\",\n        \"longitude\": \"57.8249\"\n      },\n      \"timezone\": {\n        \"offset\": \"+10:00\",\n        \"description\": \"Eastern Australia, Guam, Vladivostok\"\n      }\n    },\n    \"email\": \"ece.tunaboylu@example.com\",\n    \"login\": {\n      \"uuid\": \"c66a53b5-4f0c-4207-88e2-0c298f3ff978\",\n      \"username\": \"angrypanda443\",\n      \"password\": \"hambone\",\n      \"salt\": \"jJpQeRfR\",\n      \"md5\": \"8a7d577bd295d1d5c6c83739265cbd7d\",\n      \"sha1\": \"946aa27faa83dfaa5a1578bcb3d5727382beefd5\",\n      \"sha256\": \"1fde0d8f8f9816ce2d09e8588fe47151e8cf4fe267a9e340c4beffcdcf6d13bd\"\n    },\n    \"dob\": {\n      \"date\": \"1963-07-22T16:52:13.851Z\",\n      \"age\": 59\n    },\n    \"registered\": {\n      \"date\": \"2011-06-29T02:15:01.487Z\",\n      \"age\": 11\n    },\n    \"phone\": \"(137)-006-6469\",\n    \"cell\": \"(280)-876-9274\",\n    \"id\": 250,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/21.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/21.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/21.jpg\"\n    },\n    \"nat\": \"TR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Margie\",\n      \"last\": \"Cook\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9823,\n        \"name\": \"Walnut Hill Ln\"\n      },\n      \"city\": \"Traralgon\",\n      \"state\": \"South Australia\",\n      \"country\": \"Australia\",\n      \"postcode\": 2575,\n      \"coordinates\": {\n        \"latitude\": \"75.2591\",\n        \"longitude\": \"107.0930\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"margie.cook@example.com\",\n    \"login\": {\n      \"uuid\": \"9598ca80-08a3-4840-899a-48e7b64878a4\",\n      \"username\": \"bluemeercat263\",\n      \"password\": \"trident\",\n      \"salt\": \"4HxQxI71\",\n      \"md5\": \"05fde5090c3eadc47e2e9f880f87d828\",\n      \"sha1\": \"27c71b30c5c03e8b92c1ee5bc4f08ef957de7e92\",\n      \"sha256\": \"6fd5ef9a382335fcb12e703fd071e000a0ab740feb3ed064f9953efc1f7bd3f5\"\n    },\n    \"dob\": {\n      \"date\": \"1949-12-06T13:57:35.151Z\",\n      \"age\": 73\n    },\n    \"registered\": {\n      \"date\": \"2021-02-12T20:23:29.677Z\",\n      \"age\": 2\n    },\n    \"phone\": \"09-8765-1611\",\n    \"cell\": \"0430-548-516\",\n    \"id\": 251,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/20.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/20.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/20.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Joel\",\n      \"last\": \"Tervo\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 43,\n        \"name\": \"Rotuaari\"\n      },\n      \"city\": \"Vieremä\",\n      \"state\": \"Central Ostrobothnia\",\n      \"country\": \"Finland\",\n      \"postcode\": 27804,\n      \"coordinates\": {\n        \"latitude\": \"69.3284\",\n        \"longitude\": \"73.3590\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:00\",\n        \"description\": \"Brazil, Buenos Aires, Georgetown\"\n      }\n    },\n    \"email\": \"joel.tervo@example.com\",\n    \"login\": {\n      \"uuid\": \"5e9d5940-2695-42ab-b131-16195a91a376\",\n      \"username\": \"ticklishbear566\",\n      \"password\": \"vauxhall\",\n      \"salt\": \"zMQor8dd\",\n      \"md5\": \"96c79d43a27c466c81c19dc71290584e\",\n      \"sha1\": \"cb30f5313df2b72e6f42bc6b3b1a8cc71c4eeb88\",\n      \"sha256\": \"f900684258a1e93cb575727ae7c461987b32c185e937c662f834a41e01435134\"\n    },\n    \"dob\": {\n      \"date\": \"1961-12-23T01:52:46.623Z\",\n      \"age\": 61\n    },\n    \"registered\": {\n      \"date\": \"2015-04-25T03:35:34.836Z\",\n      \"age\": 8\n    },\n    \"phone\": \"05-620-727\",\n    \"cell\": \"049-247-19-76\",\n    \"id\": 252,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/98.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/98.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/98.jpg\"\n    },\n    \"nat\": \"FI\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Gabrielle\",\n      \"last\": \"Singh\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1550,\n        \"name\": \"Dieppe Ave\"\n      },\n      \"city\": \"Armstrong\",\n      \"state\": \"Saskatchewan\",\n      \"country\": \"Canada\",\n      \"postcode\": \"G5L 2H6\",\n      \"coordinates\": {\n        \"latitude\": \"-59.5903\",\n        \"longitude\": \"172.8801\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:30\",\n        \"description\": \"Kabul\"\n      }\n    },\n    \"email\": \"gabrielle.singh@example.com\",\n    \"login\": {\n      \"uuid\": \"c1381c07-63e1-4d5e-9c4a-b2ffe03aeccd\",\n      \"username\": \"ticklishsnake594\",\n      \"password\": \"stretch\",\n      \"salt\": \"gW1Fs7YJ\",\n      \"md5\": \"5a40754568ccc0dfb2684c574895eb41\",\n      \"sha1\": \"e8269522f0b5f1114f840f2cf032e989cc84a919\",\n      \"sha256\": \"ddaca77c6fe983d40b8eb983f5267459c9c612bc788e5af2a02958c326634d38\"\n    },\n    \"dob\": {\n      \"date\": \"1952-03-01T20:30:01.127Z\",\n      \"age\": 71\n    },\n    \"registered\": {\n      \"date\": \"2015-07-14T01:14:13.282Z\",\n      \"age\": 7\n    },\n    \"phone\": \"M48 P56-8311\",\n    \"cell\": \"K69 W32-9923\",\n    \"id\": 253,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/66.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/66.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/66.jpg\"\n    },\n    \"nat\": \"CA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Alexis\",\n      \"last\": \"Williams\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3853,\n        \"name\": \"Devonport Road\"\n      },\n      \"city\": \"Upper Hutt\",\n      \"state\": \"Hawke'S Bay\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 77534,\n      \"coordinates\": {\n        \"latitude\": \"-25.6010\",\n        \"longitude\": \"94.7797\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:30\",\n        \"description\": \"Adelaide, Darwin\"\n      }\n    },\n    \"email\": \"alexis.williams@example.com\",\n    \"login\": {\n      \"uuid\": \"375a9173-d91d-4448-bddb-4463eb0f04fa\",\n      \"username\": \"bluelion737\",\n      \"password\": \"piano\",\n      \"salt\": \"OiMneTpW\",\n      \"md5\": \"08c677647036cbf9442720720141fd46\",\n      \"sha1\": \"6323e2644b0827a897a1dafc87b60c90c9622eb1\",\n      \"sha256\": \"324bd810f7ec755c0a66a63667b1528305604ca271211521eb9fdfbd072aba42\"\n    },\n    \"dob\": {\n      \"date\": \"1953-11-25T07:00:14.483Z\",\n      \"age\": 69\n    },\n    \"registered\": {\n      \"date\": \"2019-01-26T02:04:12.418Z\",\n      \"age\": 4\n    },\n    \"phone\": \"(561)-150-0930\",\n    \"cell\": \"(878)-373-1332\",\n    \"id\": 254,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/34.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/34.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/34.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Laura\",\n      \"last\": \"Andersen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2437,\n        \"name\": \"Jernbanevej\"\n      },\n      \"city\": \"Juelsminde\",\n      \"state\": \"Nordjylland\",\n      \"country\": \"Denmark\",\n      \"postcode\": 10642,\n      \"coordinates\": {\n        \"latitude\": \"14.7708\",\n        \"longitude\": \"34.3992\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:00\",\n        \"description\": \"Brazil, Buenos Aires, Georgetown\"\n      }\n    },\n    \"email\": \"laura.andersen@example.com\",\n    \"login\": {\n      \"uuid\": \"b1df120b-7335-4af2-8d63-535e9be1b223\",\n      \"username\": \"silvercat900\",\n      \"password\": \"smeller\",\n      \"salt\": \"p4KoRc5x\",\n      \"md5\": \"cb1f91ebb25d8c919ce3b4c59db1e021\",\n      \"sha1\": \"df3a5710803f93ba88415783ba2d3b6dd59cb625\",\n      \"sha256\": \"42431ae7cfc38819a2dcbc55d61013557fd3ef4a985dedae3c0e3e4e50be9ef6\"\n    },\n    \"dob\": {\n      \"date\": \"1985-04-12T10:05:08.321Z\",\n      \"age\": 38\n    },\n    \"registered\": {\n      \"date\": \"2003-05-26T19:47:06.320Z\",\n      \"age\": 19\n    },\n    \"phone\": \"79762705\",\n    \"cell\": \"62633909\",\n    \"id\": 255,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/10.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/10.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/10.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Britney\",\n      \"last\": \"Stevens\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3754,\n        \"name\": \"School Lane\"\n      },\n      \"city\": \"Fermoy\",\n      \"state\": \"Kilkenny\",\n      \"country\": \"Ireland\",\n      \"postcode\": 82716,\n      \"coordinates\": {\n        \"latitude\": \"12.4577\",\n        \"longitude\": \"-137.8114\"\n      },\n      \"timezone\": {\n        \"offset\": \"-6:00\",\n        \"description\": \"Central Time (US & Canada), Mexico City\"\n      }\n    },\n    \"email\": \"britney.stevens@example.com\",\n    \"login\": {\n      \"uuid\": \"e4f46e7f-60d8-444e-b002-4c16df5bbbbc\",\n      \"username\": \"goldenfrog864\",\n      \"password\": \"woofwoof\",\n      \"salt\": \"GwUZ23xM\",\n      \"md5\": \"ea859c8f9d629fae1f4fbb2ab440c67a\",\n      \"sha1\": \"65d08b5978a1f7dec50c2da5520903acb81860f3\",\n      \"sha256\": \"f0322f9a18bf624993a14d17f274e50b97644d407212b59848e5f46ee5cfca7a\"\n    },\n    \"dob\": {\n      \"date\": \"1964-03-10T08:45:22.626Z\",\n      \"age\": 59\n    },\n    \"registered\": {\n      \"date\": \"2005-10-26T16:28:08.929Z\",\n      \"age\": 17\n    },\n    \"phone\": \"061-070-1506\",\n    \"cell\": \"081-744-7786\",\n    \"id\": 256,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/49.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/49.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/49.jpg\"\n    },\n    \"nat\": \"IE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Juliette\",\n      \"last\": \"Knight\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6123,\n        \"name\": \"Dufferin St\"\n      },\n      \"city\": \"Keswick\",\n      \"state\": \"Alberta\",\n      \"country\": \"Canada\",\n      \"postcode\": \"U6M 7R3\",\n      \"coordinates\": {\n        \"latitude\": \"-56.5166\",\n        \"longitude\": \"87.8137\"\n      },\n      \"timezone\": {\n        \"offset\": \"-5:00\",\n        \"description\": \"Eastern Time (US & Canada), Bogota, Lima\"\n      }\n    },\n    \"email\": \"juliette.knight@example.com\",\n    \"login\": {\n      \"uuid\": \"94287092-8520-4536-bba3-2c49e36b196e\",\n      \"username\": \"organicbird724\",\n      \"password\": \"sailor\",\n      \"salt\": \"B9yaR8ie\",\n      \"md5\": \"d7b4763dd4f29b0f9ea651ba349e544f\",\n      \"sha1\": \"f415ac40ca597835fb41ef1c90f0fd6ff4b711a5\",\n      \"sha256\": \"64125410e19e91428bd092e5ffa77fc26a643e20be29066872186c3fcd06ef81\"\n    },\n    \"dob\": {\n      \"date\": \"1962-10-02T04:17:22.425Z\",\n      \"age\": 60\n    },\n    \"registered\": {\n      \"date\": \"2012-04-21T12:40:41.067Z\",\n      \"age\": 11\n    },\n    \"phone\": \"Z18 J61-7195\",\n    \"cell\": \"Y26 V28-1941\",\n    \"id\": 257,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/10.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/10.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/10.jpg\"\n    },\n    \"nat\": \"CA\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Oliver\",\n      \"last\": \"Selaković\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9816,\n        \"name\": \"Bobovačka\"\n      },\n      \"city\": \"Senta\",\n      \"state\": \"Srem\",\n      \"country\": \"Serbia\",\n      \"postcode\": 65692,\n      \"coordinates\": {\n        \"latitude\": \"-82.2916\",\n        \"longitude\": \"107.8019\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:30\",\n        \"description\": \"Adelaide, Darwin\"\n      }\n    },\n    \"email\": \"oliver.selakovic@example.com\",\n    \"login\": {\n      \"uuid\": \"8a286dde-84f0-422c-8752-dcc174099ba3\",\n      \"username\": \"yellowwolf786\",\n      \"password\": \"moore\",\n      \"salt\": \"BWEUUSWN\",\n      \"md5\": \"044c5eecb53365212d95bb465f40706e\",\n      \"sha1\": \"a8d0360f91de0a87fd0c25b138d27d7f73744dad\",\n      \"sha256\": \"cd64a3af204c8988e04fcb519de38c0417e757cac40ff52bd3e5da796e275487\"\n    },\n    \"dob\": {\n      \"date\": \"1945-06-25T08:07:08.463Z\",\n      \"age\": 77\n    },\n    \"registered\": {\n      \"date\": \"2010-09-25T20:24:19.421Z\",\n      \"age\": 12\n    },\n    \"phone\": \"034-2497-421\",\n    \"cell\": \"064-7164-588\",\n    \"id\": 258,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/72.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/72.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/72.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Dhruv\",\n      \"last\": \"Manjunath\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9005,\n        \"name\": \"Rajaji Salai\"\n      },\n      \"city\": \"Ichalkaranji\",\n      \"state\": \"Nagaland\",\n      \"country\": \"India\",\n      \"postcode\": 10883,\n      \"coordinates\": {\n        \"latitude\": \"-20.9739\",\n        \"longitude\": \"0.3789\"\n      },\n      \"timezone\": {\n        \"offset\": \"0:00\",\n        \"description\": \"Western Europe Time, London, Lisbon, Casablanca\"\n      }\n    },\n    \"email\": \"dhruv.manjunath@example.com\",\n    \"login\": {\n      \"uuid\": \"65f4e02c-43fc-49fc-80d5-d3e9a8c3bc1e\",\n      \"username\": \"angrygoose509\",\n      \"password\": \"tequila\",\n      \"salt\": \"HuTJIiDa\",\n      \"md5\": \"ec05a74dc9b15e0b53b54a1ea611f8fe\",\n      \"sha1\": \"4f74108ffc9bd0fb84f8e1a476b49288bda54333\",\n      \"sha256\": \"d356f560d1dc613d03d7c949cc327394eec36d1ba2ad27d0ebbe8f224fbda9b3\"\n    },\n    \"dob\": {\n      \"date\": \"1951-01-22T01:54:10.192Z\",\n      \"age\": 72\n    },\n    \"registered\": {\n      \"date\": \"2013-09-18T05:57:08.071Z\",\n      \"age\": 9\n    },\n    \"phone\": \"9825493639\",\n    \"cell\": \"9741493043\",\n    \"id\": 259,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/2.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/2.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/2.jpg\"\n    },\n    \"nat\": \"IN\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Kaya\",\n      \"last\": \"Bolatlı\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4098,\n        \"name\": \"Abanoz Sk\"\n      },\n      \"city\": \"Ankara\",\n      \"state\": \"Kilis\",\n      \"country\": \"Turkey\",\n      \"postcode\": 21369,\n      \"coordinates\": {\n        \"latitude\": \"-79.1355\",\n        \"longitude\": \"93.3457\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"kaya.bolatli@example.com\",\n    \"login\": {\n      \"uuid\": \"8bc3f121-c6f8-4f24-a6d4-769cd3bdbf09\",\n      \"username\": \"goldenmeercat190\",\n      \"password\": \"wood\",\n      \"salt\": \"JjbXPx9h\",\n      \"md5\": \"b4b31f6d20b168538e13acba0ce2dc73\",\n      \"sha1\": \"247b4e318d68f80878850cea971a9755a363c1d5\",\n      \"sha256\": \"60fbdd343128693c8aa16f3e63b3f63ed4fa2599827525067534793265250cc9\"\n    },\n    \"dob\": {\n      \"date\": \"1952-09-23T04:37:11.704Z\",\n      \"age\": 70\n    },\n    \"registered\": {\n      \"date\": \"2009-09-07T01:42:42.605Z\",\n      \"age\": 13\n    },\n    \"phone\": \"(482)-212-2288\",\n    \"cell\": \"(030)-800-5018\",\n    \"id\": 260,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/67.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/67.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/67.jpg\"\n    },\n    \"nat\": \"TR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Vukota\",\n      \"last\": \"Trajković\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6125,\n        \"name\": \"Ilije Čalića\"\n      },\n      \"city\": \"Lebane\",\n      \"state\": \"West Bačka\",\n      \"country\": \"Serbia\",\n      \"postcode\": 49912,\n      \"coordinates\": {\n        \"latitude\": \"5.0708\",\n        \"longitude\": \"4.2008\"\n      },\n      \"timezone\": {\n        \"offset\": \"-9:00\",\n        \"description\": \"Alaska\"\n      }\n    },\n    \"email\": \"vukota.trajkovic@example.com\",\n    \"login\": {\n      \"uuid\": \"02bf3e76-10bc-4295-a114-36740a4c007b\",\n      \"username\": \"whitegorilla823\",\n      \"password\": \"techno\",\n      \"salt\": \"9BZzmXXd\",\n      \"md5\": \"741b9f5743622100d62e5ea1be04727d\",\n      \"sha1\": \"b1f69e273efa64f5bad0ff77bee98f2d0a7a510e\",\n      \"sha256\": \"6cdcd9f1bcfb1a2a105eb899f5106b6ce1c4771a0e0a396de38b6956dfb1b0ba\"\n    },\n    \"dob\": {\n      \"date\": \"1985-07-05T18:58:08.001Z\",\n      \"age\": 37\n    },\n    \"registered\": {\n      \"date\": \"2008-07-16T05:28:57.812Z\",\n      \"age\": 14\n    },\n    \"phone\": \"026-3288-937\",\n    \"cell\": \"067-7869-814\",\n    \"id\": 261,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/19.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/19.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/19.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Kuzey\",\n      \"last\": \"Ertürk\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6202,\n        \"name\": \"Kushimoto Sk\"\n      },\n      \"city\": \"Adana\",\n      \"state\": \"Siirt\",\n      \"country\": \"Turkey\",\n      \"postcode\": 30988,\n      \"coordinates\": {\n        \"latitude\": \"36.5030\",\n        \"longitude\": \"-74.4240\"\n      },\n      \"timezone\": {\n        \"offset\": \"-11:00\",\n        \"description\": \"Midway Island, Samoa\"\n      }\n    },\n    \"email\": \"kuzey.erturk@example.com\",\n    \"login\": {\n      \"uuid\": \"b84fff88-ce28-4d09-acba-6edf866d3b70\",\n      \"username\": \"goldenostrich942\",\n      \"password\": \"place\",\n      \"salt\": \"qRY6ABQ3\",\n      \"md5\": \"7d663c2d4da7ac92505bd382664be32f\",\n      \"sha1\": \"cbe856363f35c7aab0b978f2f8382ea069cf79b5\",\n      \"sha256\": \"b36018bb585c814b7c29821265d0f489cc4f045601eabb8cbee9f2c9cf9bb606\"\n    },\n    \"dob\": {\n      \"date\": \"1945-02-14T12:17:25.052Z\",\n      \"age\": 78\n    },\n    \"registered\": {\n      \"date\": \"2004-07-27T09:44:37.887Z\",\n      \"age\": 18\n    },\n    \"phone\": \"(237)-778-2919\",\n    \"cell\": \"(727)-637-0840\",\n    \"id\": 262,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/62.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/62.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/62.jpg\"\n    },\n    \"nat\": \"TR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Maria\",\n      \"last\": \"Mortensen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2594,\n        \"name\": \"Arendalsvej\"\n      },\n      \"city\": \"Støvring \",\n      \"state\": \"Danmark\",\n      \"country\": \"Denmark\",\n      \"postcode\": 99366,\n      \"coordinates\": {\n        \"latitude\": \"-14.5724\",\n        \"longitude\": \"-102.1149\"\n      },\n      \"timezone\": {\n        \"offset\": \"-9:00\",\n        \"description\": \"Alaska\"\n      }\n    },\n    \"email\": \"maria.mortensen@example.com\",\n    \"login\": {\n      \"uuid\": \"9483c2cb-c47d-4951-a825-8a184c90c02d\",\n      \"username\": \"crazybear244\",\n      \"password\": \"credit\",\n      \"salt\": \"7U4JF88h\",\n      \"md5\": \"c0b883b07cc64416b9d8cc042fa8b9f8\",\n      \"sha1\": \"ab73727b3c71ab5c9c2eb9e5f70a8eeb290ea94f\",\n      \"sha256\": \"5325922980ea971aca5e858ec8bc82e6603c5a55ca1c409dfea51387207ce1b8\"\n    },\n    \"dob\": {\n      \"date\": \"1966-09-20T15:49:48.292Z\",\n      \"age\": 56\n    },\n    \"registered\": {\n      \"date\": \"2006-08-28T01:23:13.034Z\",\n      \"age\": 16\n    },\n    \"phone\": \"67177481\",\n    \"cell\": \"46312805\",\n    \"id\": 263,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/9.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/9.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/9.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Antonia\",\n      \"last\": \"Mora\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8741,\n        \"name\": \"Calle de Téllez\"\n      },\n      \"city\": \"Gijón\",\n      \"state\": \"Castilla y León\",\n      \"country\": \"Spain\",\n      \"postcode\": 93729,\n      \"coordinates\": {\n        \"latitude\": \"-47.8156\",\n        \"longitude\": \"-73.5432\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"antonia.mora@example.com\",\n    \"login\": {\n      \"uuid\": \"ea575443-cae9-423d-b538-dc3e79dc674f\",\n      \"username\": \"silverduck992\",\n      \"password\": \"nellie\",\n      \"salt\": \"LhHmiTng\",\n      \"md5\": \"6291b3ff8abdf9c02c41a498fcf6f8bd\",\n      \"sha1\": \"36d0f6154edf1ac8492530c823d72d9d4a0b28fe\",\n      \"sha256\": \"c55863433df405030517ae12c0f97cb2f6d7d1cbed232480c00f074d52df0bee\"\n    },\n    \"dob\": {\n      \"date\": \"1977-01-09T17:40:52.068Z\",\n      \"age\": 46\n    },\n    \"registered\": {\n      \"date\": \"2006-08-16T14:10:47.342Z\",\n      \"age\": 16\n    },\n    \"phone\": \"936-383-213\",\n    \"cell\": \"683-814-888\",\n    \"id\": 264,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/87.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/87.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/87.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mademoiselle\",\n      \"first\": \"Beate\",\n      \"last\": \"Perrin\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4567,\n        \"name\": \"Rue du Village\"\n      },\n      \"city\": \"San Vittore\",\n      \"state\": \"Thurgau\",\n      \"country\": \"Switzerland\",\n      \"postcode\": 3264,\n      \"coordinates\": {\n        \"latitude\": \"-67.1044\",\n        \"longitude\": \"-169.6184\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"beate.perrin@example.com\",\n    \"login\": {\n      \"uuid\": \"f7577653-a1bf-4341-a4cf-f83094ec6678\",\n      \"username\": \"organicfrog821\",\n      \"password\": \"lawman\",\n      \"salt\": \"BhgUxZFT\",\n      \"md5\": \"23d577fa6f40b7b4b0239703577e4bd5\",\n      \"sha1\": \"52ee8d8688cd387624f4ab77d74774e33af6a4ef\",\n      \"sha256\": \"caf8b702cdbd391d960bedd84c5df561b579e1b2d0e018ee54de2a6989c35ce3\"\n    },\n    \"dob\": {\n      \"date\": \"1996-02-02T00:11:36.305Z\",\n      \"age\": 27\n    },\n    \"registered\": {\n      \"date\": \"2019-04-14T09:11:44.709Z\",\n      \"age\": 4\n    },\n    \"phone\": \"077 038 41 68\",\n    \"cell\": \"075 814 05 33\",\n    \"id\": 265,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/43.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/43.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/43.jpg\"\n    },\n    \"nat\": \"CH\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Peter\",\n      \"last\": \"Allen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4580,\n        \"name\": \"Cork Street\"\n      },\n      \"city\": \"Youghal\",\n      \"state\": \"Longford\",\n      \"country\": \"Ireland\",\n      \"postcode\": 70324,\n      \"coordinates\": {\n        \"latitude\": \"39.2232\",\n        \"longitude\": \"-47.8918\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:00\",\n        \"description\": \"Tokyo, Seoul, Osaka, Sapporo, Yakutsk\"\n      }\n    },\n    \"email\": \"peter.allen@example.com\",\n    \"login\": {\n      \"uuid\": \"e27766c3-7043-4e3e-9ff4-b7fd5879b5ca\",\n      \"username\": \"angrysnake222\",\n      \"password\": \"33333333\",\n      \"salt\": \"WMyf5yu9\",\n      \"md5\": \"d4d04bfaeb887809bb62fa6f1ef31f96\",\n      \"sha1\": \"5c2009d7181926cffaab55c7ab00719b901efdd0\",\n      \"sha256\": \"1fbe861db98a3e5130da356fa47c9f06c53bb6231f286b7cfde28876d320c5c5\"\n    },\n    \"dob\": {\n      \"date\": \"1984-04-25T12:56:54.374Z\",\n      \"age\": 39\n    },\n    \"registered\": {\n      \"date\": \"2018-03-26T18:32:52.670Z\",\n      \"age\": 5\n    },\n    \"phone\": \"041-828-6216\",\n    \"cell\": \"081-904-5492\",\n    \"id\": 266,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/50.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/50.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/50.jpg\"\n    },\n    \"nat\": \"IE\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Yuhim\",\n      \"last\": \"Trinus\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4899,\n        \"name\": \"Zadesenka\"\n      },\n      \"city\": \"Skvira\",\n      \"state\": \"Harkivska\",\n      \"country\": \"Ukraine\",\n      \"postcode\": 63843,\n      \"coordinates\": {\n        \"latitude\": \"37.7459\",\n        \"longitude\": \"-94.7054\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:00\",\n        \"description\": \"Abu Dhabi, Muscat, Baku, Tbilisi\"\n      }\n    },\n    \"email\": \"yuhim.trinus@example.com\",\n    \"login\": {\n      \"uuid\": \"323da208-9669-4fd1-9854-d5663d8a24f4\",\n      \"username\": \"greenkoala242\",\n      \"password\": \"jing\",\n      \"salt\": \"4ODv3S3v\",\n      \"md5\": \"5ae3af71d5064c7464a65ba04fb4932d\",\n      \"sha1\": \"b2a09d4eb5fad18517ad3216982c776a30e0a3dd\",\n      \"sha256\": \"0a51390d8b4415cd9f69eaec208d91e101cf3d2f511a923da16c4d3ad3b6d5a1\"\n    },\n    \"dob\": {\n      \"date\": \"1967-01-19T21:44:43.740Z\",\n      \"age\": 56\n    },\n    \"registered\": {\n      \"date\": \"2006-06-15T19:25:02.006Z\",\n      \"age\": 16\n    },\n    \"phone\": \"(066) B87-1405\",\n    \"cell\": \"(098) S70-1478\",\n    \"id\": 267,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/41.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/41.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/41.jpg\"\n    },\n    \"nat\": \"UA\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Cecil\",\n      \"last\": \"Hart\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7221,\n        \"name\": \"Paddock Way\"\n      },\n      \"city\": \"Rockhampton\",\n      \"state\": \"South Australia\",\n      \"country\": \"Australia\",\n      \"postcode\": 1222,\n      \"coordinates\": {\n        \"latitude\": \"57.3787\",\n        \"longitude\": \"-89.6049\"\n      },\n      \"timezone\": {\n        \"offset\": \"-7:00\",\n        \"description\": \"Mountain Time (US & Canada)\"\n      }\n    },\n    \"email\": \"cecil.hart@example.com\",\n    \"login\": {\n      \"uuid\": \"446d188f-99bd-4bdc-9701-37c2a3827019\",\n      \"username\": \"redpanda453\",\n      \"password\": \"sinclair\",\n      \"salt\": \"QYkiPwRA\",\n      \"md5\": \"036c85c381257a65e7ac079891d50e3d\",\n      \"sha1\": \"b1184ce1eb246e7b3d6b6ee66fb4a61b5cd6d2b7\",\n      \"sha256\": \"ac812a516145a1fac41fc5f63eb5619a026f39f7a6e911b57b4469d52cef0169\"\n    },\n    \"dob\": {\n      \"date\": \"1993-03-23T20:25:35.003Z\",\n      \"age\": 30\n    },\n    \"registered\": {\n      \"date\": \"2012-09-24T13:44:43.380Z\",\n      \"age\": 10\n    },\n    \"phone\": \"04-0843-5574\",\n    \"cell\": \"0478-623-253\",\n    \"id\": 268,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/56.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/56.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/56.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Erika\",\n      \"last\": \"Fernandez\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3485,\n        \"name\": \"W Campbell Ave\"\n      },\n      \"city\": \"Utica\",\n      \"state\": \"Georgia\",\n      \"country\": \"United States\",\n      \"postcode\": 93602,\n      \"coordinates\": {\n        \"latitude\": \"61.3134\",\n        \"longitude\": \"70.9506\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"erika.fernandez@example.com\",\n    \"login\": {\n      \"uuid\": \"afe888d3-6f4b-4ee0-ae46-11a3a8e9dea7\",\n      \"username\": \"purplebird565\",\n      \"password\": \"camero1\",\n      \"salt\": \"uoGTjeJ4\",\n      \"md5\": \"ae58ff3c12414fd10f1ede633042d39a\",\n      \"sha1\": \"54be573c015c47c0c97357dd1cf9fe636bf1efbb\",\n      \"sha256\": \"7e2c323ef4349d4ebb28dae327e730b3f909904549e4a804e22f8826078cdece\"\n    },\n    \"dob\": {\n      \"date\": \"1966-09-20T16:18:36.841Z\",\n      \"age\": 56\n    },\n    \"registered\": {\n      \"date\": \"2015-12-17T04:10:49.830Z\",\n      \"age\": 7\n    },\n    \"phone\": \"(212) 898-4656\",\n    \"cell\": \"(538) 431-9404\",\n    \"id\": 269,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/80.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/80.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/80.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Jardi\",\n      \"last\": \"Alsemgeest\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4004,\n        \"name\": \"Geelgieterhof\"\n      },\n      \"city\": \"'s-Gravenhage\",\n      \"state\": \"Gelderland\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"2880 EY\",\n      \"coordinates\": {\n        \"latitude\": \"-37.3928\",\n        \"longitude\": \"26.0453\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"jardi.alsemgeest@example.com\",\n    \"login\": {\n      \"uuid\": \"4d6b5aac-019f-4714-9e4e-c7ab2778c071\",\n      \"username\": \"purpleladybug177\",\n      \"password\": \"pornographic\",\n      \"salt\": \"hPboQmV4\",\n      \"md5\": \"b45af6fa51c2fd91ce2b74e8c482ba2b\",\n      \"sha1\": \"e9489ed77c3a4f8349664dbcff6f5ff9ecb4c5dd\",\n      \"sha256\": \"151239549ea853a816a183d581b76493d8a0fdfd6ce77141e7ad2b4f2c990630\"\n    },\n    \"dob\": {\n      \"date\": \"1995-08-24T02:43:54.249Z\",\n      \"age\": 27\n    },\n    \"registered\": {\n      \"date\": \"2007-02-19T18:18:27.576Z\",\n      \"age\": 16\n    },\n    \"phone\": \"(0086) 769101\",\n    \"cell\": \"(06) 70480273\",\n    \"id\": 270,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/4.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/4.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/4.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"مانی\",\n      \"last\": \"سالاری\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2931,\n        \"name\": \"پارک ولیعصر\"\n      },\n      \"city\": \"آمل\",\n      \"state\": \"بوشهر\",\n      \"country\": \"Iran\",\n      \"postcode\": 17955,\n      \"coordinates\": {\n        \"latitude\": \"-88.2801\",\n        \"longitude\": \"1.6472\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"mny.slry@example.com\",\n    \"login\": {\n      \"uuid\": \"0f6b8124-e51a-4af1-bbdf-4cd14cb9931d\",\n      \"username\": \"heavyfish292\",\n      \"password\": \"kicker\",\n      \"salt\": \"7emtltjN\",\n      \"md5\": \"597d119a4d52c99d1406dbffe5164ed3\",\n      \"sha1\": \"51f3c4305399a1b660c8a57b12dc14bea4fccd47\",\n      \"sha256\": \"bc37a28c7ed9d55ebe09c019dcf1dae6e91c1b7ba9b67bb5196bea4d2fbaacb9\"\n    },\n    \"dob\": {\n      \"date\": \"1945-06-04T14:59:01.586Z\",\n      \"age\": 77\n    },\n    \"registered\": {\n      \"date\": \"2019-10-27T06:13:45.473Z\",\n      \"age\": 3\n    },\n    \"phone\": \"035-24371493\",\n    \"cell\": \"0922-765-8311\",\n    \"id\": 271,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/38.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/38.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/38.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Sara\",\n      \"last\": \"Mora\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4115,\n        \"name\": \"Avenida de Castilla\"\n      },\n      \"city\": \"Murcia\",\n      \"state\": \"La Rioja\",\n      \"country\": \"Spain\",\n      \"postcode\": 17778,\n      \"coordinates\": {\n        \"latitude\": \"10.9148\",\n        \"longitude\": \"134.2717\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"sara.mora@example.com\",\n    \"login\": {\n      \"uuid\": \"a78048a9-7c4d-4d05-800d-29882de74221\",\n      \"username\": \"happyzebra661\",\n      \"password\": \"payday\",\n      \"salt\": \"j2f1i4i8\",\n      \"md5\": \"eaf7f1b9a201ed5d732c8e6008d74d7a\",\n      \"sha1\": \"9a30699a6f0a6e2065c3f4edc79f1a0a1ba09aaa\",\n      \"sha256\": \"1eaab01df1294cfc3a6c47426716121dc9b6579d52ec61b8869e2003d8a86ae0\"\n    },\n    \"dob\": {\n      \"date\": \"1971-01-22T17:03:12.145Z\",\n      \"age\": 52\n    },\n    \"registered\": {\n      \"date\": \"2014-10-12T17:01:13.499Z\",\n      \"age\": 8\n    },\n    \"phone\": \"983-936-077\",\n    \"cell\": \"652-612-211\",\n    \"id\": 272,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/81.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/81.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/81.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Eeli\",\n      \"last\": \"Toro\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3864,\n        \"name\": \"Nordenskiöldinkatu\"\n      },\n      \"city\": \"Muurame\",\n      \"state\": \"North Karelia\",\n      \"country\": \"Finland\",\n      \"postcode\": 13441,\n      \"coordinates\": {\n        \"latitude\": \"50.5271\",\n        \"longitude\": \"-24.3669\"\n      },\n      \"timezone\": {\n        \"offset\": \"+6:00\",\n        \"description\": \"Almaty, Dhaka, Colombo\"\n      }\n    },\n    \"email\": \"eeli.toro@example.com\",\n    \"login\": {\n      \"uuid\": \"67b97cbb-5d84-48ad-8b90-c42c443b2a9f\",\n      \"username\": \"silversnake483\",\n      \"password\": \"simple\",\n      \"salt\": \"2FzxNvmS\",\n      \"md5\": \"cd80f2c0751bcc6e18e230391cbab076\",\n      \"sha1\": \"633c0c0d27139baf54af4f5e3756e5a4c1548d8b\",\n      \"sha256\": \"2b4dc7cdc3d0b5d1f73bf28d1146bad454a4c748f791370e4a626512357033e7\"\n    },\n    \"dob\": {\n      \"date\": \"1987-09-28T22:06:17.419Z\",\n      \"age\": 35\n    },\n    \"registered\": {\n      \"date\": \"2019-04-05T20:22:53.939Z\",\n      \"age\": 4\n    },\n    \"phone\": \"03-135-307\",\n    \"cell\": \"041-392-35-63\",\n    \"id\": 273,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/55.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/55.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/55.jpg\"\n    },\n    \"nat\": \"FI\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Gerarda\",\n      \"last\": \"Baas\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8993,\n        \"name\": \"Aloelaan\"\n      },\n      \"city\": \"'t Zandt Gn\",\n      \"state\": \"Groningen\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"8160 DW\",\n      \"coordinates\": {\n        \"latitude\": \"-79.2247\",\n        \"longitude\": \"89.0230\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"gerarda.baas@example.com\",\n    \"login\": {\n      \"uuid\": \"d6d3c8b7-fb56-4f17-b7be-08699e15fd4f\",\n      \"username\": \"purpleleopard447\",\n      \"password\": \"stefanie\",\n      \"salt\": \"llb4OV5L\",\n      \"md5\": \"ab0264d3cbc7b9b00e5f5cb2d3e32735\",\n      \"sha1\": \"3ca522e6fff92602fd053d1b37a988fa3149e95e\",\n      \"sha256\": \"377d97c76d85ea166374102f2faadfaa7ead190d963454719329d732e142bb15\"\n    },\n    \"dob\": {\n      \"date\": \"1979-11-29T01:29:43.804Z\",\n      \"age\": 43\n    },\n    \"registered\": {\n      \"date\": \"2016-06-21T11:57:53.448Z\",\n      \"age\": 6\n    },\n    \"phone\": \"(0946) 028162\",\n    \"cell\": \"(06) 58948316\",\n    \"id\": 274,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/41.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/41.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/41.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Azuma\",\n      \"last\": \"Ureña\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3133,\n        \"name\": \"Retorno Malta\"\n      },\n      \"city\": \"Palo Verde\",\n      \"state\": \"Aguascalientes\",\n      \"country\": \"Mexico\",\n      \"postcode\": 41686,\n      \"coordinates\": {\n        \"latitude\": \"-49.9052\",\n        \"longitude\": \"28.5958\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:30\",\n        \"description\": \"Kabul\"\n      }\n    },\n    \"email\": \"azuma.urena@example.com\",\n    \"login\": {\n      \"uuid\": \"7937b622-8ce8-4ad9-95c9-488b6eed32cf\",\n      \"username\": \"blackleopard870\",\n      \"password\": \"handyman\",\n      \"salt\": \"t7YTaoe0\",\n      \"md5\": \"245db3b505c75e1c02da607ba63a82d4\",\n      \"sha1\": \"9e9d313fe55d00c7dce4bbc5ed5e00f391601e38\",\n      \"sha256\": \"a61a6b9a5565a646eae46e0b7bf1219d1061c6733d25dcfd5579521e45dfcce3\"\n    },\n    \"dob\": {\n      \"date\": \"1955-12-31T23:08:22.670Z\",\n      \"age\": 67\n    },\n    \"registered\": {\n      \"date\": \"2008-11-18T09:16:57.248Z\",\n      \"age\": 14\n    },\n    \"phone\": \"(648) 227 0885\",\n    \"cell\": \"(653) 379 3829\",\n    \"id\": 275,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/99.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/99.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/99.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Emile\",\n      \"last\": \"Vidal\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8210,\n        \"name\": \"Rue du Village\"\n      },\n      \"city\": \"Le Havre\",\n      \"state\": \"Nord\",\n      \"country\": \"France\",\n      \"postcode\": 84053,\n      \"coordinates\": {\n        \"latitude\": \"62.7748\",\n        \"longitude\": \"120.5607\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"emile.vidal@example.com\",\n    \"login\": {\n      \"uuid\": \"a58da171-c400-4da5-9624-7a24aa078f6a\",\n      \"username\": \"crazyelephant374\",\n      \"password\": \"5150\",\n      \"salt\": \"vdRtmiqA\",\n      \"md5\": \"f76f12d3eca48f25baeaeae193ec5a80\",\n      \"sha1\": \"8df6714809795f70c7d4203b34b3ff04bcf9a9c9\",\n      \"sha256\": \"3208f5288344b0f0d3528b9106908fda6edcfd5762c4f25419c3a1e9cfd35be0\"\n    },\n    \"dob\": {\n      \"date\": \"1951-07-18T01:55:18.383Z\",\n      \"age\": 71\n    },\n    \"registered\": {\n      \"date\": \"2004-05-22T20:45:09.956Z\",\n      \"age\": 18\n    },\n    \"phone\": \"01-42-57-17-24\",\n    \"cell\": \"06-11-75-75-69\",\n    \"id\": 276,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/45.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/45.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/45.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mademoiselle\",\n      \"first\": \"Océane\",\n      \"last\": \"Martinez\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7893,\n        \"name\": \"Avenue Tony-Garnier\"\n      },\n      \"city\": \"Pampigny\",\n      \"state\": \"Solothurn\",\n      \"country\": \"Switzerland\",\n      \"postcode\": 6302,\n      \"coordinates\": {\n        \"latitude\": \"-52.9935\",\n        \"longitude\": \"-151.8231\"\n      },\n      \"timezone\": {\n        \"offset\": \"-8:00\",\n        \"description\": \"Pacific Time (US & Canada)\"\n      }\n    },\n    \"email\": \"oceane.martinez@example.com\",\n    \"login\": {\n      \"uuid\": \"10831f5c-c993-4137-b04b-a62e86753b7e\",\n      \"username\": \"happydog682\",\n      \"password\": \"carpente\",\n      \"salt\": \"pk6oYNCZ\",\n      \"md5\": \"751ee5ca9dd60a1d3ebc2cc3d7f6be0e\",\n      \"sha1\": \"5a5a3845f43968dce93c741c35133ab9420f53cf\",\n      \"sha256\": \"e4b73fbf06d501b14d097738c03108b516800a157c76cf23d5a257664be46be9\"\n    },\n    \"dob\": {\n      \"date\": \"1968-09-24T10:43:49.673Z\",\n      \"age\": 54\n    },\n    \"registered\": {\n      \"date\": \"2021-07-21T21:32:43.142Z\",\n      \"age\": 1\n    },\n    \"phone\": \"076 577 55 39\",\n    \"cell\": \"075 260 01 74\",\n    \"id\": 277,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/49.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/49.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/49.jpg\"\n    },\n    \"nat\": \"CH\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Zuzanna\",\n      \"last\": \"Granmo\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4716,\n        \"name\": \"Løkkalia\"\n      },\n      \"city\": \"Myre\",\n      \"state\": \"Buskerud\",\n      \"country\": \"Norway\",\n      \"postcode\": \"3126\",\n      \"coordinates\": {\n        \"latitude\": \"-64.1783\",\n        \"longitude\": \"-123.4792\"\n      },\n      \"timezone\": {\n        \"offset\": \"+2:00\",\n        \"description\": \"Kaliningrad, South Africa\"\n      }\n    },\n    \"email\": \"zuzanna.granmo@example.com\",\n    \"login\": {\n      \"uuid\": \"d22d781b-1981-4410-be61-2f793a1e0c88\",\n      \"username\": \"smallbird679\",\n      \"password\": \"camaro\",\n      \"salt\": \"YRXtP9MK\",\n      \"md5\": \"8c735adcf5c2c2ae9f69921c1ef58926\",\n      \"sha1\": \"7c61b2dc1b793f4283a011f853b80a6a03b24122\",\n      \"sha256\": \"218e34d9eef3eddfb6fc3e5691064a55f104bceecc5f1c0c159f786b19a403dc\"\n    },\n    \"dob\": {\n      \"date\": \"1975-12-18T09:26:41.837Z\",\n      \"age\": 47\n    },\n    \"registered\": {\n      \"date\": \"2016-05-14T17:31:01.884Z\",\n      \"age\": 7\n    },\n    \"phone\": \"77689585\",\n    \"cell\": \"94282232\",\n    \"id\": 278,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/61.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/61.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/61.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Ruby\",\n      \"last\": \"Williams\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2072,\n        \"name\": \"Cuba Street\"\n      },\n      \"city\": \"Palmerston North\",\n      \"state\": \"Hawke'S Bay\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 61146,\n      \"coordinates\": {\n        \"latitude\": \"-33.5795\",\n        \"longitude\": \"138.3022\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:00\",\n        \"description\": \"Abu Dhabi, Muscat, Baku, Tbilisi\"\n      }\n    },\n    \"email\": \"ruby.williams@example.com\",\n    \"login\": {\n      \"uuid\": \"362cb181-499a-4d02-bc47-ccfa86d73703\",\n      \"username\": \"heavygoose272\",\n      \"password\": \"lesbean\",\n      \"salt\": \"MJOf7sw1\",\n      \"md5\": \"4f777758b2997cf0b10198908d085856\",\n      \"sha1\": \"30cdfb6f216662127c1f7d05468360cce43aafce\",\n      \"sha256\": \"8e3ddefffaaf972f4b06d66916c3e03cc2de569f533496d9ae171330f2ba5e29\"\n    },\n    \"dob\": {\n      \"date\": \"1957-10-28T18:05:21.130Z\",\n      \"age\": 65\n    },\n    \"registered\": {\n      \"date\": \"2011-10-31T18:38:13.710Z\",\n      \"age\": 11\n    },\n    \"phone\": \"(648)-809-3444\",\n    \"cell\": \"(611)-268-8473\",\n    \"id\": 279,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/70.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/70.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/70.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Vernon\",\n      \"last\": \"Van Groeningen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1388,\n        \"name\": \"Buitenlanden\"\n      },\n      \"city\": \"Sommelsdijk\",\n      \"state\": \"Noord-Brabant\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"9470 FF\",\n      \"coordinates\": {\n        \"latitude\": \"5.7019\",\n        \"longitude\": \"-124.1560\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"vernon.vangroeningen@example.com\",\n    \"login\": {\n      \"uuid\": \"4518791b-97c7-4e9e-8b5d-9a59b9eebaaf\",\n      \"username\": \"beautifulfish180\",\n      \"password\": \"slayer1\",\n      \"salt\": \"QVI1Cfvj\",\n      \"md5\": \"1fb0e57dc55a3aa759712eee0720b50c\",\n      \"sha1\": \"e66f64f96476704ddc6d953c43fdb64f0de5073a\",\n      \"sha256\": \"e3eb441c4d3a9f17c5c3a8b3427fc0d6a25c21e8087e03dd765f5d413cdc6e5f\"\n    },\n    \"dob\": {\n      \"date\": \"1979-08-08T07:21:02.363Z\",\n      \"age\": 43\n    },\n    \"registered\": {\n      \"date\": \"2003-02-02T11:55:28.045Z\",\n      \"age\": 20\n    },\n    \"phone\": \"(0767) 711927\",\n    \"cell\": \"(06) 80170041\",\n    \"id\": 280,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/1.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/1.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/1.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Bob\",\n      \"last\": \"Riley\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3521,\n        \"name\": \"Richmond Park\"\n      },\n      \"city\": \"Carrickmacross\",\n      \"state\": \"Westmeath\",\n      \"country\": \"Ireland\",\n      \"postcode\": 45065,\n      \"coordinates\": {\n        \"latitude\": \"-85.4367\",\n        \"longitude\": \"-67.4716\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:00\",\n        \"description\": \"Baghdad, Riyadh, Moscow, St. Petersburg\"\n      }\n    },\n    \"email\": \"bob.riley@example.com\",\n    \"login\": {\n      \"uuid\": \"d8fa8ec8-7a50-48b0-bde1-5ee48346aab7\",\n      \"username\": \"orangemouse815\",\n      \"password\": \"miranda\",\n      \"salt\": \"UH57SouE\",\n      \"md5\": \"5e0e8b9b7846bc07abb671985649608e\",\n      \"sha1\": \"e2e2621b346e609a06ec9269fe8eec9b0aac2ebd\",\n      \"sha256\": \"8b884cdf88fb46c8226b33c7ab75d29c863f49a2a487f5783aa9b16b7e623163\"\n    },\n    \"dob\": {\n      \"date\": \"1963-03-08T04:53:55.338Z\",\n      \"age\": 60\n    },\n    \"registered\": {\n      \"date\": \"2016-06-14T16:27:04.936Z\",\n      \"age\": 6\n    },\n    \"phone\": \"031-773-2822\",\n    \"cell\": \"081-720-1527\",\n    \"id\": 281,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/41.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/41.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/41.jpg\"\n    },\n    \"nat\": \"IE\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Julio\",\n      \"last\": \"Duran\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8697,\n        \"name\": \"Calle del Pez\"\n      },\n      \"city\": \"Castellón de la Plana\",\n      \"state\": \"Comunidad Valenciana\",\n      \"country\": \"Spain\",\n      \"postcode\": 29639,\n      \"coordinates\": {\n        \"latitude\": \"42.0671\",\n        \"longitude\": \"14.3805\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:30\",\n        \"description\": \"Adelaide, Darwin\"\n      }\n    },\n    \"email\": \"julio.duran@example.com\",\n    \"login\": {\n      \"uuid\": \"6876053e-dc11-4c64-91e9-6e5585d6741b\",\n      \"username\": \"tinybear477\",\n      \"password\": \"vegitta\",\n      \"salt\": \"IHJTOsOX\",\n      \"md5\": \"3f3fe22e74047b9f7091ac73f4879c2a\",\n      \"sha1\": \"9faa8bff22b1b25630b689dee327c816a8185937\",\n      \"sha256\": \"01a6cebf0a0ff81723afc8af281d2524462c9fccc75091b9507322d444e9c5e3\"\n    },\n    \"dob\": {\n      \"date\": \"1969-04-19T09:46:00.693Z\",\n      \"age\": 54\n    },\n    \"registered\": {\n      \"date\": \"2015-11-11T16:37:00.354Z\",\n      \"age\": 7\n    },\n    \"phone\": \"986-033-297\",\n    \"cell\": \"684-395-152\",\n    \"id\": 282,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/86.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/86.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/86.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Isabella\",\n      \"last\": \"White\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9508,\n        \"name\": \"Beach Road\"\n      },\n      \"city\": \"Tauranga\",\n      \"state\": \"Nelson\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 61466,\n      \"coordinates\": {\n        \"latitude\": \"-87.0529\",\n        \"longitude\": \"123.1134\"\n      },\n      \"timezone\": {\n        \"offset\": \"+8:00\",\n        \"description\": \"Beijing, Perth, Singapore, Hong Kong\"\n      }\n    },\n    \"email\": \"isabella.white@example.com\",\n    \"login\": {\n      \"uuid\": \"2350dfc3-36f8-410a-bc09-9563f84a7e26\",\n      \"username\": \"silvercat422\",\n      \"password\": \"redleg\",\n      \"salt\": \"KxL7u2k3\",\n      \"md5\": \"b139641dc42e61662a7b567be74d0d02\",\n      \"sha1\": \"82b680ccd4c00c7055d1d566ef6d3403db39096a\",\n      \"sha256\": \"a83955fc8314293cdf27cc86dd1d7fed537024d6b3eeb0a027578b6e5ab57b9e\"\n    },\n    \"dob\": {\n      \"date\": \"1978-08-20T07:02:20.478Z\",\n      \"age\": 44\n    },\n    \"registered\": {\n      \"date\": \"2015-09-24T05:28:44.648Z\",\n      \"age\": 7\n    },\n    \"phone\": \"(979)-083-3850\",\n    \"cell\": \"(549)-521-1769\",\n    \"id\": 283,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/65.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/65.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/65.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Simon\",\n      \"last\": \"Jørgensen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6347,\n        \"name\": \"Kongelundsvej\"\n      },\n      \"city\": \"Øster Assels\",\n      \"state\": \"Midtjylland\",\n      \"country\": \"Denmark\",\n      \"postcode\": 18182,\n      \"coordinates\": {\n        \"latitude\": \"-43.9288\",\n        \"longitude\": \"76.0233\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:00\",\n        \"description\": \"Abu Dhabi, Muscat, Baku, Tbilisi\"\n      }\n    },\n    \"email\": \"simon.jorgensen@example.com\",\n    \"login\": {\n      \"uuid\": \"d9de8aa4-6d99-4107-b0b1-17491825bb31\",\n      \"username\": \"beautifulkoala535\",\n      \"password\": \"walrus\",\n      \"salt\": \"gFfP16KV\",\n      \"md5\": \"6b59579a9ab3946ec60d750072770859\",\n      \"sha1\": \"7d19a0f253525e9d6750e24ede0601c4cb0736a9\",\n      \"sha256\": \"84c487bd12dcb578817269282ae985444b3fe3a5f17a54c139d754d4ee97798e\"\n    },\n    \"dob\": {\n      \"date\": \"1975-09-30T09:18:26.766Z\",\n      \"age\": 47\n    },\n    \"registered\": {\n      \"date\": \"2008-02-14T20:25:42.420Z\",\n      \"age\": 15\n    },\n    \"phone\": \"39089262\",\n    \"cell\": \"92095612\",\n    \"id\": 284,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/73.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/73.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/73.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Annaliese\",\n      \"last\": \"Ahrens\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1790,\n        \"name\": \"Hauptstraße\"\n      },\n      \"city\": \"Krautheim\",\n      \"state\": \"Rheinland-Pfalz\",\n      \"country\": \"Germany\",\n      \"postcode\": 94235,\n      \"coordinates\": {\n        \"latitude\": \"64.8606\",\n        \"longitude\": \"-94.0170\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:45\",\n        \"description\": \"Kathmandu\"\n      }\n    },\n    \"email\": \"annaliese.ahrens@example.com\",\n    \"login\": {\n      \"uuid\": \"c74dfc9f-bd6d-4682-840a-a8e68ea2e118\",\n      \"username\": \"browngoose422\",\n      \"password\": \"coral\",\n      \"salt\": \"dVWDEwFe\",\n      \"md5\": \"01ffd10db562f694832cfb1c25c2bf9f\",\n      \"sha1\": \"523d2db18efdcab96b9dbb6f4f40edbe8db12f2b\",\n      \"sha256\": \"35426186ad20f98dc9fe448b20647aa7644ccc38b5ddb9d8aa96e6b4e5fdaee3\"\n    },\n    \"dob\": {\n      \"date\": \"1951-02-10T20:38:40.807Z\",\n      \"age\": 72\n    },\n    \"registered\": {\n      \"date\": \"2006-09-03T07:42:34.523Z\",\n      \"age\": 16\n    },\n    \"phone\": \"0518-7299399\",\n    \"cell\": \"0171-5883776\",\n    \"id\": 285,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/49.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/49.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/49.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Sophia\",\n      \"last\": \"Da Silva\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6224,\n        \"name\": \"Rue Cyrus-Hugues\"\n      },\n      \"city\": \"Nîmes\",\n      \"state\": \"Cher\",\n      \"country\": \"France\",\n      \"postcode\": 64838,\n      \"coordinates\": {\n        \"latitude\": \"-77.7015\",\n        \"longitude\": \"98.9250\"\n      },\n      \"timezone\": {\n        \"offset\": \"-9:00\",\n        \"description\": \"Alaska\"\n      }\n    },\n    \"email\": \"sophia.dasilva@example.com\",\n    \"login\": {\n      \"uuid\": \"a1555d06-b6d4-4bff-852e-8963c87ad856\",\n      \"username\": \"ticklishpanda272\",\n      \"password\": \"attila\",\n      \"salt\": \"0gGFpkC9\",\n      \"md5\": \"009184f67f56f9020be81d0699a12200\",\n      \"sha1\": \"f9d7eefcbfca5128743528e574352c3d6f495f82\",\n      \"sha256\": \"ef27dd322a5fb8dd4abbd07cd6ba7172d2615931137db3a51cff624d87f04548\"\n    },\n    \"dob\": {\n      \"date\": \"1972-10-29T02:02:03.601Z\",\n      \"age\": 50\n    },\n    \"registered\": {\n      \"date\": \"2019-09-27T13:37:17.778Z\",\n      \"age\": 3\n    },\n    \"phone\": \"04-39-70-81-21\",\n    \"cell\": \"06-92-03-91-24\",\n    \"id\": 286,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/90.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/90.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/90.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Blagoje\",\n      \"last\": \"Živković\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5661,\n        \"name\": \"Banovdolska\"\n      },\n      \"city\": \"Pirot\",\n      \"state\": \"Raška\",\n      \"country\": \"Serbia\",\n      \"postcode\": 92997,\n      \"coordinates\": {\n        \"latitude\": \"-18.5281\",\n        \"longitude\": \"-11.4834\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"blagoje.zivkovic@example.com\",\n    \"login\": {\n      \"uuid\": \"8acbd60f-b3ad-454f-a157-d1e180e62ce6\",\n      \"username\": \"orangeswan252\",\n      \"password\": \"concorde\",\n      \"salt\": \"kP2HhbGd\",\n      \"md5\": \"fa47e4453aaf8edc6142cfce3d062425\",\n      \"sha1\": \"1af9ab6c678693a8958be60d1c4b4921b5b48692\",\n      \"sha256\": \"8d61a7fe351bd44c785d20148d6b31c4482eec73be65e29d243ab857a2c57418\"\n    },\n    \"dob\": {\n      \"date\": \"1992-12-04T09:15:42.115Z\",\n      \"age\": 30\n    },\n    \"registered\": {\n      \"date\": \"2021-10-25T17:22:40.087Z\",\n      \"age\": 1\n    },\n    \"phone\": \"011-0692-328\",\n    \"cell\": \"062-9035-801\",\n    \"id\": 287,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/21.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/21.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/21.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Tim\",\n      \"last\": \"Menard\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 934,\n        \"name\": \"Montée Saint-Barthélémy\"\n      },\n      \"city\": \"Créteil\",\n      \"state\": \"Haute-Corse\",\n      \"country\": \"France\",\n      \"postcode\": 12900,\n      \"coordinates\": {\n        \"latitude\": \"84.0861\",\n        \"longitude\": \"-25.1617\"\n      },\n      \"timezone\": {\n        \"offset\": \"+2:00\",\n        \"description\": \"Kaliningrad, South Africa\"\n      }\n    },\n    \"email\": \"tim.menard@example.com\",\n    \"login\": {\n      \"uuid\": \"079d9348-ece5-4535-ba2e-28be170a45dc\",\n      \"username\": \"heavywolf772\",\n      \"password\": \"monica\",\n      \"salt\": \"b2p2RxMW\",\n      \"md5\": \"e79c06c66f9ee33799498aace5bc2ed4\",\n      \"sha1\": \"dbc31a2e911b143680e47a87fb9e0796ec65d2b0\",\n      \"sha256\": \"c5493142240ce2ca9e0f5dd6e344903ed3667a5f6b72c066a6ab9d4337e20460\"\n    },\n    \"dob\": {\n      \"date\": \"1997-07-22T09:44:51.114Z\",\n      \"age\": 25\n    },\n    \"registered\": {\n      \"date\": \"2015-01-26T04:35:52.389Z\",\n      \"age\": 8\n    },\n    \"phone\": \"02-49-19-47-47\",\n    \"cell\": \"06-81-06-29-05\",\n    \"id\": 288,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/35.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/35.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/35.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Nicklas\",\n      \"last\": \"Petersen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1763,\n        \"name\": \"Mosevangen\"\n      },\n      \"city\": \"Nørrebro\",\n      \"state\": \"Sjælland\",\n      \"country\": \"Denmark\",\n      \"postcode\": 87638,\n      \"coordinates\": {\n        \"latitude\": \"-60.4495\",\n        \"longitude\": \"176.1883\"\n      },\n      \"timezone\": {\n        \"offset\": \"-4:00\",\n        \"description\": \"Atlantic Time (Canada), Caracas, La Paz\"\n      }\n    },\n    \"email\": \"nicklas.petersen@example.com\",\n    \"login\": {\n      \"uuid\": \"2a425c92-5a3c-4567-b6f8-5e0a3cfe5a30\",\n      \"username\": \"heavyleopard495\",\n      \"password\": \"southern\",\n      \"salt\": \"jvvZlNku\",\n      \"md5\": \"2eedb2d7e8d4428619bd20ca01c3c6bf\",\n      \"sha1\": \"65f8d54282fb5509ffbc5cca77a600abc2ead2cf\",\n      \"sha256\": \"4d4f95ad040449ee1b1e58bf52588c1299fea29626e63d799273939b9ac41839\"\n    },\n    \"dob\": {\n      \"date\": \"1980-09-04T06:14:42.415Z\",\n      \"age\": 42\n    },\n    \"registered\": {\n      \"date\": \"2014-11-10T12:50:00.880Z\",\n      \"age\": 8\n    },\n    \"phone\": \"18269207\",\n    \"cell\": \"43640516\",\n    \"id\": 289,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/96.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/96.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/96.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Lino\",\n      \"last\": \"Leclercq\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4490,\n        \"name\": \"Rue de L'Église\"\n      },\n      \"city\": \"Paris\",\n      \"state\": \"Yvelines\",\n      \"country\": \"France\",\n      \"postcode\": 95799,\n      \"coordinates\": {\n        \"latitude\": \"-52.8419\",\n        \"longitude\": \"-56.7991\"\n      },\n      \"timezone\": {\n        \"offset\": \"-11:00\",\n        \"description\": \"Midway Island, Samoa\"\n      }\n    },\n    \"email\": \"lino.leclercq@example.com\",\n    \"login\": {\n      \"uuid\": \"56f6b77a-ff0b-4eea-888d-602c3f431fe5\",\n      \"username\": \"goldenrabbit691\",\n      \"password\": \"wolfpac\",\n      \"salt\": \"yt8fKcdt\",\n      \"md5\": \"42415c8b7927ca4324897e5e9ccd999e\",\n      \"sha1\": \"c013830edcccf29b0da0602855084777fbcc11d1\",\n      \"sha256\": \"d253db858451a50d986099f52dac204c7ce959556f91ed4d8466d3076f310a97\"\n    },\n    \"dob\": {\n      \"date\": \"1955-07-30T07:34:35.532Z\",\n      \"age\": 67\n    },\n    \"registered\": {\n      \"date\": \"2008-09-17T11:41:35.720Z\",\n      \"age\": 14\n    },\n    \"phone\": \"02-21-82-50-29\",\n    \"cell\": \"06-74-03-76-15\",\n    \"id\": 290,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/61.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/61.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/61.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Simona\",\n      \"last\": \"Miljeteig\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9526,\n        \"name\": \"Romsåsveien\"\n      },\n      \"city\": \"Prestmoen\",\n      \"state\": \"Sør-Trøndelag\",\n      \"country\": \"Norway\",\n      \"postcode\": \"8414\",\n      \"coordinates\": {\n        \"latitude\": \"40.8198\",\n        \"longitude\": \"26.8363\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:00\",\n        \"description\": \"Abu Dhabi, Muscat, Baku, Tbilisi\"\n      }\n    },\n    \"email\": \"simona.miljeteig@example.com\",\n    \"login\": {\n      \"uuid\": \"0c645182-4c02-4135-a4e0-f73ba7253370\",\n      \"username\": \"happyzebra719\",\n      \"password\": \"demons\",\n      \"salt\": \"nfNaKPVg\",\n      \"md5\": \"9139232cd2cc752e3a0c1621d387eba2\",\n      \"sha1\": \"b23b462a678496f9940e2aa088f8364183a99369\",\n      \"sha256\": \"419a25a7743ce23bd333d8279d556e3bcf413eeac40d9429dd6a819caa1e4dd9\"\n    },\n    \"dob\": {\n      \"date\": \"1996-10-07T23:07:08.896Z\",\n      \"age\": 26\n    },\n    \"registered\": {\n      \"date\": \"2004-05-31T02:20:45.704Z\",\n      \"age\": 18\n    },\n    \"phone\": \"84018395\",\n    \"cell\": \"96369289\",\n    \"id\": 291,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/51.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/51.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/51.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Elzo\",\n      \"last\": \"Melo\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 992,\n        \"name\": \"Travessa dos Açorianos\"\n      },\n      \"city\": \"Rio das Ostras\",\n      \"state\": \"Espírito Santo\",\n      \"country\": \"Brazil\",\n      \"postcode\": 92373,\n      \"coordinates\": {\n        \"latitude\": \"0.7763\",\n        \"longitude\": \"135.3472\"\n      },\n      \"timezone\": {\n        \"offset\": \"-4:00\",\n        \"description\": \"Atlantic Time (Canada), Caracas, La Paz\"\n      }\n    },\n    \"email\": \"elzo.melo@example.com\",\n    \"login\": {\n      \"uuid\": \"2b1327bc-82ae-43a2-aec4-34be659deb22\",\n      \"username\": \"yellowduck328\",\n      \"password\": \"winter1\",\n      \"salt\": \"AGMccwo0\",\n      \"md5\": \"7ba7855dde3aea46a4e363cd9e395da5\",\n      \"sha1\": \"71896819cc689ac473d8388a1eb3755366d39b52\",\n      \"sha256\": \"16a56804cc3cf0d0a9931954dfc6bd0868050be61765e50dc02a316be78603ec\"\n    },\n    \"dob\": {\n      \"date\": \"1973-02-16T05:05:53.765Z\",\n      \"age\": 50\n    },\n    \"registered\": {\n      \"date\": \"2006-03-13T09:51:53.005Z\",\n      \"age\": 17\n    },\n    \"phone\": \"(48) 9754-5323\",\n    \"cell\": \"(94) 8777-0743\",\n    \"id\": 292,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/94.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/94.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/94.jpg\"\n    },\n    \"nat\": \"BR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Luna\",\n      \"last\": \"Berger\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5713,\n        \"name\": \"Place Paul-Duquaire\"\n      },\n      \"city\": \"Asnières-sur-Seine\",\n      \"state\": \"Saône-et-Loire\",\n      \"country\": \"France\",\n      \"postcode\": 14116,\n      \"coordinates\": {\n        \"latitude\": \"11.1848\",\n        \"longitude\": \"116.1778\"\n      },\n      \"timezone\": {\n        \"offset\": \"-4:00\",\n        \"description\": \"Atlantic Time (Canada), Caracas, La Paz\"\n      }\n    },\n    \"email\": \"luna.berger@example.com\",\n    \"login\": {\n      \"uuid\": \"e26c7fbf-9149-4a4d-becd-f0ae1562a8c7\",\n      \"username\": \"sadpeacock507\",\n      \"password\": \"skiing\",\n      \"salt\": \"VAqIEX8K\",\n      \"md5\": \"0a43ce4b8f7b6c26bb7ead05dfd9c992\",\n      \"sha1\": \"6199dfd65a2fa7bcff129405cfda61f34120cf6e\",\n      \"sha256\": \"051834a0ceed7267adf3ead193e0afafbbac5560727e40499e2e14033f9508ae\"\n    },\n    \"dob\": {\n      \"date\": \"1995-10-28T03:47:48.320Z\",\n      \"age\": 27\n    },\n    \"registered\": {\n      \"date\": \"2007-11-24T20:06:35.890Z\",\n      \"age\": 15\n    },\n    \"phone\": \"04-56-00-70-11\",\n    \"cell\": \"06-21-95-65-61\",\n    \"id\": 293,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/74.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/74.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/74.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Pelle\",\n      \"last\": \"Sandbæk\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 141,\n        \"name\": \"Tyslevkroken\"\n      },\n      \"city\": \"Heggenes\",\n      \"state\": \"Vestfold\",\n      \"country\": \"Norway\",\n      \"postcode\": \"4076\",\n      \"coordinates\": {\n        \"latitude\": \"7.9621\",\n        \"longitude\": \"-41.0145\"\n      },\n      \"timezone\": {\n        \"offset\": \"+2:00\",\n        \"description\": \"Kaliningrad, South Africa\"\n      }\n    },\n    \"email\": \"pelle.sandbaek@example.com\",\n    \"login\": {\n      \"uuid\": \"606a38e2-2a12-4071-856b-77b1009ac93d\",\n      \"username\": \"beautifulwolf692\",\n      \"password\": \"abcde\",\n      \"salt\": \"585i6vMH\",\n      \"md5\": \"4bc08a3970037181086efac1dcd4b8f3\",\n      \"sha1\": \"2965acc11b2b35ff854654d924ba2f37ddaf4823\",\n      \"sha256\": \"46e4005a4aef606b6fed267975644c2cc2538bcc3369525b6b4ff3c66ce3b401\"\n    },\n    \"dob\": {\n      \"date\": \"1969-04-16T16:11:41.813Z\",\n      \"age\": 54\n    },\n    \"registered\": {\n      \"date\": \"2013-05-30T13:04:18.487Z\",\n      \"age\": 9\n    },\n    \"phone\": \"24543066\",\n    \"cell\": \"42370848\",\n    \"id\": 294,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/81.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/81.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/81.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"David\",\n      \"last\": \"Roussel\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5001,\n        \"name\": \"Avenue Debourg\"\n      },\n      \"city\": \"Metz\",\n      \"state\": \"Maine-et-Loire\",\n      \"country\": \"France\",\n      \"postcode\": 82021,\n      \"coordinates\": {\n        \"latitude\": \"81.9646\",\n        \"longitude\": \"-168.3147\"\n      },\n      \"timezone\": {\n        \"offset\": \"-9:00\",\n        \"description\": \"Alaska\"\n      }\n    },\n    \"email\": \"david.roussel@example.com\",\n    \"login\": {\n      \"uuid\": \"78082361-87ea-4414-829e-83d7b6da01be\",\n      \"username\": \"silverkoala102\",\n      \"password\": \"temptress\",\n      \"salt\": \"QYSsDLn3\",\n      \"md5\": \"40eb83c6d849b02fec0e1a853c24ae51\",\n      \"sha1\": \"169c3241296d0d265af81c83f12aed2c3dbf4f3e\",\n      \"sha256\": \"46bbf302151ef2e58f95b2d6e052f5ecac34163a554b9ed011c5bf0678fe0ea5\"\n    },\n    \"dob\": {\n      \"date\": \"1989-12-13T20:41:13.190Z\",\n      \"age\": 33\n    },\n    \"registered\": {\n      \"date\": \"2014-02-17T13:15:22.970Z\",\n      \"age\": 9\n    },\n    \"phone\": \"02-26-34-87-74\",\n    \"cell\": \"06-31-64-92-88\",\n    \"id\": 295,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/79.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/79.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/79.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Nixon\",\n      \"last\": \"Thompson\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2034,\n        \"name\": \"North Street\"\n      },\n      \"city\": \"Whangarei\",\n      \"state\": \"Canterbury\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 12248,\n      \"coordinates\": {\n        \"latitude\": \"43.2819\",\n        \"longitude\": \"-103.2833\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:00\",\n        \"description\": \"Brazil, Buenos Aires, Georgetown\"\n      }\n    },\n    \"email\": \"nixon.thompson@example.com\",\n    \"login\": {\n      \"uuid\": \"748c8f66-d5b0-475a-a6ae-4076d52fbde0\",\n      \"username\": \"brownmeercat251\",\n      \"password\": \"omega\",\n      \"salt\": \"uhfRTEJX\",\n      \"md5\": \"0eef68069a51195165f71028d694d2dc\",\n      \"sha1\": \"5440663a508cbcccf66b64ac6628d9e5e35ea70c\",\n      \"sha256\": \"200e276fae8969fbb96ff9327aa73aa55e2f72dc8b3dae8e4d1fa981a4b205a0\"\n    },\n    \"dob\": {\n      \"date\": \"1973-05-19T00:00:28.045Z\",\n      \"age\": 50\n    },\n    \"registered\": {\n      \"date\": \"2018-12-31T07:22:28.535Z\",\n      \"age\": 4\n    },\n    \"phone\": \"(773)-869-5222\",\n    \"cell\": \"(564)-320-1862\",\n    \"id\": 296,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/32.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/32.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/32.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Sushma\",\n      \"last\": \"Anand\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1617,\n        \"name\": \"Bandstand Promenade\"\n      },\n      \"city\": \"Farrukhabad\",\n      \"state\": \"Tripura\",\n      \"country\": \"India\",\n      \"postcode\": 57623,\n      \"coordinates\": {\n        \"latitude\": \"37.1543\",\n        \"longitude\": \"94.7674\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"sushma.anand@example.com\",\n    \"login\": {\n      \"uuid\": \"1040337d-a51d-4d84-98bc-b707b89a4d91\",\n      \"username\": \"goldencat770\",\n      \"password\": \"woodman\",\n      \"salt\": \"emEflRoB\",\n      \"md5\": \"e123b5f664efc28801263d196ceb88da\",\n      \"sha1\": \"b0e34eef3aae7391dde57d3fc0439bba40852ec2\",\n      \"sha256\": \"c8f80b2fd1eaceff4a958d28a49cecad7f2e11a54268c9f08030fa5737cb6f1d\"\n    },\n    \"dob\": {\n      \"date\": \"1964-06-02T06:41:45.155Z\",\n      \"age\": 58\n    },\n    \"registered\": {\n      \"date\": \"2012-08-01T15:04:13.620Z\",\n      \"age\": 10\n    },\n    \"phone\": \"7287015018\",\n    \"cell\": \"9878918464\",\n    \"id\": 297,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/1.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/1.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/1.jpg\"\n    },\n    \"nat\": \"IN\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Everett\",\n      \"last\": \"Hill\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4787,\n        \"name\": \"Richmond Road\"\n      },\n      \"city\": \"Lincoln\",\n      \"state\": \"Devon\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"DG52 7LH\",\n      \"coordinates\": {\n        \"latitude\": \"50.3303\",\n        \"longitude\": \"130.4586\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:30\",\n        \"description\": \"Kabul\"\n      }\n    },\n    \"email\": \"everett.hill@example.com\",\n    \"login\": {\n      \"uuid\": \"d6695c55-5af5-42d1-bd3e-f99d9494fb3f\",\n      \"username\": \"organicbutterfly635\",\n      \"password\": \"tartar\",\n      \"salt\": \"xj2Nwy4q\",\n      \"md5\": \"f7ef9e821e80adff99fb901ec8497122\",\n      \"sha1\": \"0e08e7b61acecf1f80198f0ae0a40b893734ae68\",\n      \"sha256\": \"b100ced00bb9c135491969904d91d46bee5e1b947275e2953669a602fafda385\"\n    },\n    \"dob\": {\n      \"date\": \"1966-11-03T19:18:01.459Z\",\n      \"age\": 56\n    },\n    \"registered\": {\n      \"date\": \"2020-06-02T09:21:07.802Z\",\n      \"age\": 2\n    },\n    \"phone\": \"017687 80968\",\n    \"cell\": \"07140 562619\",\n    \"id\": 298,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/95.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/95.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/95.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Nuria\",\n      \"last\": \"Garrido\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7064,\n        \"name\": \"Calle de Arturo Soria\"\n      },\n      \"city\": \"Torrente\",\n      \"state\": \"Aragón\",\n      \"country\": \"Spain\",\n      \"postcode\": 14283,\n      \"coordinates\": {\n        \"latitude\": \"-40.5350\",\n        \"longitude\": \"-101.7092\"\n      },\n      \"timezone\": {\n        \"offset\": \"-9:00\",\n        \"description\": \"Alaska\"\n      }\n    },\n    \"email\": \"nuria.garrido@example.com\",\n    \"login\": {\n      \"uuid\": \"16efcd1b-3606-4a07-bb31-20437195ad77\",\n      \"username\": \"bluebear625\",\n      \"password\": \"trapper\",\n      \"salt\": \"zN9GOVu7\",\n      \"md5\": \"68686aae7fb5764c9d3433bd8a8fdfe4\",\n      \"sha1\": \"25406a64077f9ea465666bf23c49008e7a7b7d9d\",\n      \"sha256\": \"1e39339e21e0f722291992bebd748add39294292c4c05466db4e41a41fbdb540\"\n    },\n    \"dob\": {\n      \"date\": \"1983-09-15T18:27:46.080Z\",\n      \"age\": 39\n    },\n    \"registered\": {\n      \"date\": \"2013-11-05T16:17:11.604Z\",\n      \"age\": 9\n    },\n    \"phone\": \"950-515-354\",\n    \"cell\": \"632-371-407\",\n    \"id\": 299,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/74.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/74.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/74.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Brankica\",\n      \"last\": \"Teodosić\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7562,\n        \"name\": \"Nikole ćuka \"\n      },\n      \"city\": \"Kuršumlija\",\n      \"state\": \"North Banat\",\n      \"country\": \"Serbia\",\n      \"postcode\": 16924,\n      \"coordinates\": {\n        \"latitude\": \"-74.9054\",\n        \"longitude\": \"-23.2231\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"brankica.teodosic@example.com\",\n    \"login\": {\n      \"uuid\": \"692f890d-4721-49cc-96fd-3682b08f4d9f\",\n      \"username\": \"beautifulsnake903\",\n      \"password\": \"fritz\",\n      \"salt\": \"cvpXOem1\",\n      \"md5\": \"e06a10c3278f2b38f4c84e5b7cf5f777\",\n      \"sha1\": \"11f62bae2b2b69dd13ab2304c992c5b4eea48eeb\",\n      \"sha256\": \"481393498873e90736241506af5ced4d275e80e081ce4575348553bb680397c8\"\n    },\n    \"dob\": {\n      \"date\": \"1984-04-18T17:31:32.262Z\",\n      \"age\": 39\n    },\n    \"registered\": {\n      \"date\": \"2021-04-03T06:12:59.226Z\",\n      \"age\": 2\n    },\n    \"phone\": \"014-0879-654\",\n    \"cell\": \"062-6332-182\",\n    \"id\": 300,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/85.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/85.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/85.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Radim\",\n      \"last\": \"Dorosh\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5775,\n        \"name\": \"Chuguyivskiy provulok\"\n      },\n      \"city\": \"Rovenki\",\n      \"state\": \"Ternopilska\",\n      \"country\": \"Ukraine\",\n      \"postcode\": 93824,\n      \"coordinates\": {\n        \"latitude\": \"76.8634\",\n        \"longitude\": \"-127.0544\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:00\",\n        \"description\": \"Abu Dhabi, Muscat, Baku, Tbilisi\"\n      }\n    },\n    \"email\": \"radim.dorosh@example.com\",\n    \"login\": {\n      \"uuid\": \"2f7a2f65-a784-465d-99ff-09fde0c64d47\",\n      \"username\": \"goldenwolf422\",\n      \"password\": \"spring\",\n      \"salt\": \"Wfrqb6qE\",\n      \"md5\": \"c11198eeb9f4bbe2d0609ee37e1c8283\",\n      \"sha1\": \"81b6dd717de5a800262120e6ba3a84f3fca13fe3\",\n      \"sha256\": \"aa4186e805090751c39496f82264f27eaedc469f90acac230d3b550ca151253d\"\n    },\n    \"dob\": {\n      \"date\": \"1967-10-19T22:04:06.508Z\",\n      \"age\": 55\n    },\n    \"registered\": {\n      \"date\": \"2021-05-16T10:10:33.709Z\",\n      \"age\": 2\n    },\n    \"phone\": \"(099) W94-1733\",\n    \"cell\": \"(099) V57-3189\",\n    \"id\": 301,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/27.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/27.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/27.jpg\"\n    },\n    \"nat\": \"UA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Remedios\",\n      \"last\": \"Nieto\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7674,\n        \"name\": \"Calle de Ferraz\"\n      },\n      \"city\": \"Murcia\",\n      \"state\": \"La Rioja\",\n      \"country\": \"Spain\",\n      \"postcode\": 67139,\n      \"coordinates\": {\n        \"latitude\": \"33.3882\",\n        \"longitude\": \"119.2015\"\n      },\n      \"timezone\": {\n        \"offset\": \"+2:00\",\n        \"description\": \"Kaliningrad, South Africa\"\n      }\n    },\n    \"email\": \"remedios.nieto@example.com\",\n    \"login\": {\n      \"uuid\": \"68cab519-fa5d-40ac-b279-7b0567c14462\",\n      \"username\": \"brownkoala137\",\n      \"password\": \"coke\",\n      \"salt\": \"RuBmDzcH\",\n      \"md5\": \"042da52205ba32cd31a489d63fb6c779\",\n      \"sha1\": \"d69d27d9f0b2482624664ba395566c953a7565e0\",\n      \"sha256\": \"300adc7607afd8d0099c3e9527f418f6dfe792b343aa44d4531b655f314631a1\"\n    },\n    \"dob\": {\n      \"date\": \"1960-03-10T19:28:32.366Z\",\n      \"age\": 63\n    },\n    \"registered\": {\n      \"date\": \"2018-09-08T20:58:21.173Z\",\n      \"age\": 4\n    },\n    \"phone\": \"915-115-810\",\n    \"cell\": \"699-020-125\",\n    \"id\": 302,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/95.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/95.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/95.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Catherine\",\n      \"last\": \"Nichols\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3013,\n        \"name\": \"Avondale Ave\"\n      },\n      \"city\": \"Tamworth\",\n      \"state\": \"New South Wales\",\n      \"country\": \"Australia\",\n      \"postcode\": 7014,\n      \"coordinates\": {\n        \"latitude\": \"-17.2838\",\n        \"longitude\": \"-12.3405\"\n      },\n      \"timezone\": {\n        \"offset\": \"-10:00\",\n        \"description\": \"Hawaii\"\n      }\n    },\n    \"email\": \"catherine.nichols@example.com\",\n    \"login\": {\n      \"uuid\": \"f6a792a1-a6fc-4c6f-8d69-5f25a4122c9e\",\n      \"username\": \"brownsnake754\",\n      \"password\": \"yamaha\",\n      \"salt\": \"4B6jpzgf\",\n      \"md5\": \"6cf5d3b7fe0faeea5fad190dfb424aa2\",\n      \"sha1\": \"1be67d7e6eb97e4276a9e66f268f2b16038a88c6\",\n      \"sha256\": \"26c7261bb1072e4ba6761e2d700270995e9199399a710df664f73ccbfe5d7fa3\"\n    },\n    \"dob\": {\n      \"date\": \"1975-09-08T10:42:49.145Z\",\n      \"age\": 47\n    },\n    \"registered\": {\n      \"date\": \"2016-09-22T00:00:37.305Z\",\n      \"age\": 6\n    },\n    \"phone\": \"02-2421-3087\",\n    \"cell\": \"0493-258-189\",\n    \"id\": 303,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/64.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/64.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/64.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"پارسا\",\n      \"last\": \"احمدی\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3086,\n        \"name\": \"30 تیر\"\n      },\n      \"city\": \"خوی\",\n      \"state\": \"خوزستان\",\n      \"country\": \"Iran\",\n      \"postcode\": 23130,\n      \"coordinates\": {\n        \"latitude\": \"-48.6580\",\n        \"longitude\": \"83.6593\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"prs.hmdy@example.com\",\n    \"login\": {\n      \"uuid\": \"ef21f30b-7d3d-4c16-a102-99d7ab3ea10e\",\n      \"username\": \"goldenrabbit349\",\n      \"password\": \"bloody\",\n      \"salt\": \"rzMv0XJx\",\n      \"md5\": \"bf964d6386c32ed9d27832f6562a11c3\",\n      \"sha1\": \"5784c9773e4a5e348f9ba5c40e925f602181f673\",\n      \"sha256\": \"dd16555a7dfbd2c774ac066d92306223217afeaa224fc70d2007ba83855af7ec\"\n    },\n    \"dob\": {\n      \"date\": \"1995-12-31T00:26:53.171Z\",\n      \"age\": 27\n    },\n    \"registered\": {\n      \"date\": \"2010-12-22T21:06:07.196Z\",\n      \"age\": 12\n    },\n    \"phone\": \"054-68910783\",\n    \"cell\": \"0943-239-8042\",\n    \"id\": 304,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/14.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/14.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/14.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Miriam\",\n      \"last\": \"King\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7716,\n        \"name\": \"Hunters Creek Dr\"\n      },\n      \"city\": \"Jacksonville\",\n      \"state\": \"Texas\",\n      \"country\": \"United States\",\n      \"postcode\": 61476,\n      \"coordinates\": {\n        \"latitude\": \"57.8833\",\n        \"longitude\": \"-2.6316\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:00\",\n        \"description\": \"Brazil, Buenos Aires, Georgetown\"\n      }\n    },\n    \"email\": \"miriam.king@example.com\",\n    \"login\": {\n      \"uuid\": \"5a647555-ff40-46f1-af35-6a7f16eb1723\",\n      \"username\": \"lazypeacock856\",\n      \"password\": \"darrell\",\n      \"salt\": \"oVX2h3PE\",\n      \"md5\": \"ec1c54f8a894e6be3d23736705d13c55\",\n      \"sha1\": \"0ab9a31b265d59482c455fe263339ab9177e2844\",\n      \"sha256\": \"2381741b07a7c87294c46d4d7f3c8fa7b35f5349a22496677ee6ac4b323e65ad\"\n    },\n    \"dob\": {\n      \"date\": \"1988-07-17T22:16:06.363Z\",\n      \"age\": 34\n    },\n    \"registered\": {\n      \"date\": \"2010-03-25T15:35:18.963Z\",\n      \"age\": 13\n    },\n    \"phone\": \"(685) 867-3292\",\n    \"cell\": \"(914) 403-4334\",\n    \"id\": 305,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/16.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/16.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/16.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"ماهان\",\n      \"last\": \"كامياران\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6638,\n        \"name\": \"شهید رحمانی\"\n      },\n      \"city\": \"مشهد\",\n      \"state\": \"آذربایجان شرقی\",\n      \"country\": \"Iran\",\n      \"postcode\": 31783,\n      \"coordinates\": {\n        \"latitude\": \"-24.1676\",\n        \"longitude\": \"13.1987\"\n      },\n      \"timezone\": {\n        \"offset\": \"-8:00\",\n        \"description\": \"Pacific Time (US & Canada)\"\n      }\n    },\n    \"email\": \"mhn.kmyrn@example.com\",\n    \"login\": {\n      \"uuid\": \"a1777692-af8f-431a-8130-8a47b8c13379\",\n      \"username\": \"heavyduck237\",\n      \"password\": \"bluejay\",\n      \"salt\": \"U9pcrHQY\",\n      \"md5\": \"b694daa8257589e691b5ed8f1eca0c0e\",\n      \"sha1\": \"e7a061a8af45b03a8b196e045ecf02d367c1e2ac\",\n      \"sha256\": \"2da4cda1633c8b0c574895e9edf68cf8cdecbd4b82c8d2d2ecbafea4a756d3e1\"\n    },\n    \"dob\": {\n      \"date\": \"1987-08-27T20:05:50.631Z\",\n      \"age\": 35\n    },\n    \"registered\": {\n      \"date\": \"2007-07-02T15:45:53.136Z\",\n      \"age\": 15\n    },\n    \"phone\": \"061-21349393\",\n    \"cell\": \"0905-550-0667\",\n    \"id\": 306,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/1.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/1.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/1.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"John\",\n      \"last\": \"Moore\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6596,\n        \"name\": \"Montreal Street\"\n      },\n      \"city\": \"Whanganui\",\n      \"state\": \"Waikato\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 92350,\n      \"coordinates\": {\n        \"latitude\": \"50.9155\",\n        \"longitude\": \"154.1720\"\n      },\n      \"timezone\": {\n        \"offset\": \"-8:00\",\n        \"description\": \"Pacific Time (US & Canada)\"\n      }\n    },\n    \"email\": \"john.moore@example.com\",\n    \"login\": {\n      \"uuid\": \"4a33c33c-38db-4da8-8d52-81d9abb0f2a8\",\n      \"username\": \"yellowgoose946\",\n      \"password\": \"jojojo\",\n      \"salt\": \"6QbNucKo\",\n      \"md5\": \"d6c3dc53713bb9394af34f1e1c80f2e8\",\n      \"sha1\": \"28d25cf0b9bc521dbd13bffa237ffcd4dd22feb8\",\n      \"sha256\": \"a354cad4e685ebfedeec66924857b335229300ffb1b15c692af6ce2e335db480\"\n    },\n    \"dob\": {\n      \"date\": \"1957-07-22T21:05:34.316Z\",\n      \"age\": 65\n    },\n    \"registered\": {\n      \"date\": \"2009-09-21T09:28:59.453Z\",\n      \"age\": 13\n    },\n    \"phone\": \"(903)-475-5071\",\n    \"cell\": \"(502)-437-5105\",\n    \"id\": 307,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/23.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/23.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/23.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Cathy\",\n      \"last\": \"Wallace\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6615,\n        \"name\": \"Nowlin Rd\"\n      },\n      \"city\": \"Eugene\",\n      \"state\": \"Nevada\",\n      \"country\": \"United States\",\n      \"postcode\": 38759,\n      \"coordinates\": {\n        \"latitude\": \"32.0584\",\n        \"longitude\": \"53.9367\"\n      },\n      \"timezone\": {\n        \"offset\": \"-4:00\",\n        \"description\": \"Atlantic Time (Canada), Caracas, La Paz\"\n      }\n    },\n    \"email\": \"cathy.wallace@example.com\",\n    \"login\": {\n      \"uuid\": \"1e66d2b7-6108-4440-a47c-ce82d01f6a17\",\n      \"username\": \"redbutterfly626\",\n      \"password\": \"middle\",\n      \"salt\": \"reL25IKp\",\n      \"md5\": \"b51c708470d0783179d346c1e916eb45\",\n      \"sha1\": \"babf58eb1130a3b65e2140b98611042f42dc3104\",\n      \"sha256\": \"8eced9a347de0936f8c1afdfb9a32dda1da5e15925b7b9ca022b6e3bbc3d3f4c\"\n    },\n    \"dob\": {\n      \"date\": \"1966-03-02T08:00:38.798Z\",\n      \"age\": 57\n    },\n    \"registered\": {\n      \"date\": \"2016-02-01T07:00:01.680Z\",\n      \"age\": 7\n    },\n    \"phone\": \"(360) 634-8507\",\n    \"cell\": \"(444) 279-8793\",\n    \"id\": 308,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/14.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/14.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/14.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"یاسمن\",\n      \"last\": \"نكو نظر\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2973,\n        \"name\": \"سمیه\"\n      },\n      \"city\": \"بجنورد\",\n      \"state\": \"گیلان\",\n      \"country\": \"Iran\",\n      \"postcode\": 84074,\n      \"coordinates\": {\n        \"latitude\": \"-7.6768\",\n        \"longitude\": \"-120.7872\"\n      },\n      \"timezone\": {\n        \"offset\": \"+10:00\",\n        \"description\": \"Eastern Australia, Guam, Vladivostok\"\n      }\n    },\n    \"email\": \"ysmn.nkwnzr@example.com\",\n    \"login\": {\n      \"uuid\": \"e93f24e9-4fba-4097-ae72-e31f3597d3f8\",\n      \"username\": \"blackpanda416\",\n      \"password\": \"meowmeow\",\n      \"salt\": \"mpVTAV0f\",\n      \"md5\": \"22589f993b0c7a22b4fbf4d204a9a27a\",\n      \"sha1\": \"19514b5654f3f5963857aa114a5c52c9c65f3acd\",\n      \"sha256\": \"953d09171b01906fcf111f29d74e8c07277ff77000b9b488f280df8f9323fbc7\"\n    },\n    \"dob\": {\n      \"date\": \"1984-10-21T05:36:59.546Z\",\n      \"age\": 38\n    },\n    \"registered\": {\n      \"date\": \"2016-11-30T12:56:17.367Z\",\n      \"age\": 6\n    },\n    \"phone\": \"058-71197563\",\n    \"cell\": \"0951-288-0176\",\n    \"id\": 309,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/15.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/15.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/15.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Blessing\",\n      \"last\": \"Becking\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6188,\n        \"name\": \"De Wiersse\"\n      },\n      \"city\": \"Berg en Terblijt\",\n      \"state\": \"Noord-Holland\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"8377 WX\",\n      \"coordinates\": {\n        \"latitude\": \"26.2712\",\n        \"longitude\": \"-26.7929\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:30\",\n        \"description\": \"Adelaide, Darwin\"\n      }\n    },\n    \"email\": \"blessing.becking@example.com\",\n    \"login\": {\n      \"uuid\": \"0a136413-929b-493d-b4d6-a55d184b2ef1\",\n      \"username\": \"redtiger221\",\n      \"password\": \"musashi\",\n      \"salt\": \"XEsJCq3p\",\n      \"md5\": \"c645b226e2f14bc1393c501f3c5de952\",\n      \"sha1\": \"66856dbc4d84f2108baabda40d89b996769b6cc3\",\n      \"sha256\": \"87c699a699ed3b7d0decc310c66e637e4039a0f484db027606d163f669b8d34c\"\n    },\n    \"dob\": {\n      \"date\": \"1967-12-12T11:12:37.191Z\",\n      \"age\": 55\n    },\n    \"registered\": {\n      \"date\": \"2012-11-03T16:57:42.841Z\",\n      \"age\": 10\n    },\n    \"phone\": \"(0021) 431977\",\n    \"cell\": \"(06) 73935964\",\n    \"id\": 310,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/16.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/16.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/16.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Daryl\",\n      \"last\": \"Cole\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2016,\n        \"name\": \"Grove Road\"\n      },\n      \"city\": \"Wells\",\n      \"state\": \"Fife\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"U2 6AN\",\n      \"coordinates\": {\n        \"latitude\": \"64.4737\",\n        \"longitude\": \"-80.2911\"\n      },\n      \"timezone\": {\n        \"offset\": \"+10:00\",\n        \"description\": \"Eastern Australia, Guam, Vladivostok\"\n      }\n    },\n    \"email\": \"daryl.cole@example.com\",\n    \"login\": {\n      \"uuid\": \"85c0a38c-9474-4be9-a729-069bdebffec4\",\n      \"username\": \"ticklishpanda479\",\n      \"password\": \"panic\",\n      \"salt\": \"u0yTN66p\",\n      \"md5\": \"2c9f6d606c9c39035cd87c8245d090c7\",\n      \"sha1\": \"ecee2eb14a9032e8c6d4be1b11774fb0220f7515\",\n      \"sha256\": \"f84f5206355444abbc517ad5162601830d4db51aca1a8e64bd16236f405a54fe\"\n    },\n    \"dob\": {\n      \"date\": \"1959-02-23T15:08:49.310Z\",\n      \"age\": 64\n    },\n    \"registered\": {\n      \"date\": \"2004-08-08T03:35:07.318Z\",\n      \"age\": 18\n    },\n    \"phone\": \"015242 72982\",\n    \"cell\": \"07566 942927\",\n    \"id\": 311,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/88.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/88.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/88.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Esperanza\",\n      \"last\": \"Martin\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7599,\n        \"name\": \"Calle de Arturo Soria\"\n      },\n      \"city\": \"Las Palmas de Gran Canaria\",\n      \"state\": \"Cataluña\",\n      \"country\": \"Spain\",\n      \"postcode\": 21804,\n      \"coordinates\": {\n        \"latitude\": \"46.2999\",\n        \"longitude\": \"54.5178\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:30\",\n        \"description\": \"Bombay, Calcutta, Madras, New Delhi\"\n      }\n    },\n    \"email\": \"esperanza.martin@example.com\",\n    \"login\": {\n      \"uuid\": \"c7bf7ad2-d42b-4a82-af4e-1f3dda154704\",\n      \"username\": \"whitemouse351\",\n      \"password\": \"macaroni\",\n      \"salt\": \"6Ha6QXUB\",\n      \"md5\": \"d4f2d0b4c55c52275b169b9f1f21a090\",\n      \"sha1\": \"c3bcc79f9162d7e302893142dd8bd13e9eb444d9\",\n      \"sha256\": \"8e1dc5e7042e72b98e3ecf3dbc9d3440e07fa2501d3a5e623cf6fe609c4c0ecc\"\n    },\n    \"dob\": {\n      \"date\": \"1976-04-07T09:09:37.531Z\",\n      \"age\": 47\n    },\n    \"registered\": {\n      \"date\": \"2011-01-11T22:31:52.335Z\",\n      \"age\": 12\n    },\n    \"phone\": \"901-559-869\",\n    \"cell\": \"697-642-830\",\n    \"id\": 312,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/67.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/67.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/67.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Siham\",\n      \"last\": \"Søbstad\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9289,\n        \"name\": \"Iver Olsens vei\"\n      },\n      \"city\": \"Aukra\",\n      \"state\": \"Description\",\n      \"country\": \"Norway\",\n      \"postcode\": \"9272\",\n      \"coordinates\": {\n        \"latitude\": \"-10.3202\",\n        \"longitude\": \"153.8874\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"siham.sobstad@example.com\",\n    \"login\": {\n      \"uuid\": \"7d9a7378-f8b7-4999-bcbe-7b1baaa1ede9\",\n      \"username\": \"yellowlion839\",\n      \"password\": \"fighter\",\n      \"salt\": \"ehZD4xl5\",\n      \"md5\": \"044c10b8167d76f0626202f8bbf4509f\",\n      \"sha1\": \"9e41a2af83215f1be648a0258e37903e0d8293e2\",\n      \"sha256\": \"0ecb6c19aed91fe2edee7432c9ad8cdf95704e338cc6723c8582f7901e05ea97\"\n    },\n    \"dob\": {\n      \"date\": \"1959-03-03T00:07:28.208Z\",\n      \"age\": 64\n    },\n    \"registered\": {\n      \"date\": \"2011-05-19T13:23:34.761Z\",\n      \"age\": 12\n    },\n    \"phone\": \"81448863\",\n    \"cell\": \"98698498\",\n    \"id\": 313,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/94.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/94.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/94.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Leonel\",\n      \"last\": \"Pedraza\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7630,\n        \"name\": \"Circunvalación Norte Ontiveros\"\n      },\n      \"city\": \"Poncitlán\",\n      \"state\": \"Chiapas\",\n      \"country\": \"Mexico\",\n      \"postcode\": 46878,\n      \"coordinates\": {\n        \"latitude\": \"10.8922\",\n        \"longitude\": \"63.8748\"\n      },\n      \"timezone\": {\n        \"offset\": \"-1:00\",\n        \"description\": \"Azores, Cape Verde Islands\"\n      }\n    },\n    \"email\": \"leonel.pedraza@example.com\",\n    \"login\": {\n      \"uuid\": \"418a4f26-aa8e-4cfa-bbb6-6f6c105202cc\",\n      \"username\": \"browntiger125\",\n      \"password\": \"4runner\",\n      \"salt\": \"lD7NoKpt\",\n      \"md5\": \"b2f1c23f8bfe73ee167c1a1777c6a960\",\n      \"sha1\": \"30b4cb4edb803f057a4341fef513bfb2cd9a32b4\",\n      \"sha256\": \"e16e900f9e23b0c95518c413877ef699a587f275ce2722ae6dd752edc23c54bf\"\n    },\n    \"dob\": {\n      \"date\": \"2000-01-07T04:16:15.147Z\",\n      \"age\": 23\n    },\n    \"registered\": {\n      \"date\": \"2004-12-24T23:13:21.299Z\",\n      \"age\": 18\n    },\n    \"phone\": \"(642) 072 1863\",\n    \"cell\": \"(658) 250 4034\",\n    \"id\": 314,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/92.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/92.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/92.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Nikolaj\",\n      \"last\": \"Poulsen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 411,\n        \"name\": \"Sneppevej\"\n      },\n      \"city\": \"Agerbæk\",\n      \"state\": \"Syddanmark\",\n      \"country\": \"Denmark\",\n      \"postcode\": 32978,\n      \"coordinates\": {\n        \"latitude\": \"71.8084\",\n        \"longitude\": \"4.2859\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:00\",\n        \"description\": \"Tokyo, Seoul, Osaka, Sapporo, Yakutsk\"\n      }\n    },\n    \"email\": \"nikolaj.poulsen@example.com\",\n    \"login\": {\n      \"uuid\": \"f8651ab2-da12-45be-8b0b-d1a34ef57127\",\n      \"username\": \"whiterabbit682\",\n      \"password\": \"field\",\n      \"salt\": \"8IFbtNWk\",\n      \"md5\": \"b00d4ec4152c4c86648087cc928a258e\",\n      \"sha1\": \"e103d51d31e1bbb3fed5ea18602129d14f16fc40\",\n      \"sha256\": \"059af50e2fc1ebac69671c5b4a9ea0b39fb79ea46dd616be1d30168310e0c545\"\n    },\n    \"dob\": {\n      \"date\": \"1999-12-08T17:42:53.267Z\",\n      \"age\": 23\n    },\n    \"registered\": {\n      \"date\": \"2014-04-09T06:47:12.938Z\",\n      \"age\": 9\n    },\n    \"phone\": \"31961748\",\n    \"cell\": \"11239396\",\n    \"id\": 315,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/15.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/15.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/15.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Maja\",\n      \"last\": \"Novak\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6569,\n        \"name\": \"Waldstraße\"\n      },\n      \"city\": \"Dorsten\",\n      \"state\": \"Thüringen\",\n      \"country\": \"Germany\",\n      \"postcode\": 13757,\n      \"coordinates\": {\n        \"latitude\": \"-78.5869\",\n        \"longitude\": \"133.7524\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:30\",\n        \"description\": \"Bombay, Calcutta, Madras, New Delhi\"\n      }\n    },\n    \"email\": \"maja.novak@example.com\",\n    \"login\": {\n      \"uuid\": \"5b7e6341-96b3-4620-803a-f1b7b92f03e5\",\n      \"username\": \"greenkoala687\",\n      \"password\": \"matador\",\n      \"salt\": \"oHE3xfP8\",\n      \"md5\": \"06b285318d67298e42b7c1b7658add0c\",\n      \"sha1\": \"a9dff59cc5741fd09c673e9fe4d3475a496379ff\",\n      \"sha256\": \"701504cfd596cf9255007d8dba8cb148880187e1aa0adb3c0cd32080d5df18f2\"\n    },\n    \"dob\": {\n      \"date\": \"1976-01-04T09:05:45.602Z\",\n      \"age\": 47\n    },\n    \"registered\": {\n      \"date\": \"2022-05-04T09:10:35.780Z\",\n      \"age\": 1\n    },\n    \"phone\": \"0817-4192041\",\n    \"cell\": \"0172-0025900\",\n    \"id\": 316,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/3.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/3.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/3.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Lola\",\n      \"last\": \"Stephens\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1652,\n        \"name\": \"Strand Road\"\n      },\n      \"city\": \"Malahide\",\n      \"state\": \"Cavan\",\n      \"country\": \"Ireland\",\n      \"postcode\": 67716,\n      \"coordinates\": {\n        \"latitude\": \"-54.3890\",\n        \"longitude\": \"-164.1841\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:30\",\n        \"description\": \"Kabul\"\n      }\n    },\n    \"email\": \"lola.stephens@example.com\",\n    \"login\": {\n      \"uuid\": \"f1650bcf-4b1e-4720-b314-44123fa67ece\",\n      \"username\": \"greentiger362\",\n      \"password\": \"fettish\",\n      \"salt\": \"S5CKSlWP\",\n      \"md5\": \"b42619f937146b0c86c12b2f6dcb82af\",\n      \"sha1\": \"01ba54dbb51c1635976b692cd823aa83553acf14\",\n      \"sha256\": \"7642d42d9ef043c341f57265a34d41b7f50a8333623376929a405590a6ef7790\"\n    },\n    \"dob\": {\n      \"date\": \"2000-05-28T02:13:23.704Z\",\n      \"age\": 22\n    },\n    \"registered\": {\n      \"date\": \"2017-12-25T06:06:52.264Z\",\n      \"age\": 5\n    },\n    \"phone\": \"051-580-8994\",\n    \"cell\": \"081-989-5874\",\n    \"id\": 317,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/93.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/93.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/93.jpg\"\n    },\n    \"nat\": \"IE\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Olegário\",\n      \"last\": \"da Cunha\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3880,\n        \"name\": \"Rua São José \"\n      },\n      \"city\": \"Salto\",\n      \"state\": \"Amapá\",\n      \"country\": \"Brazil\",\n      \"postcode\": 77638,\n      \"coordinates\": {\n        \"latitude\": \"23.6000\",\n        \"longitude\": \"-155.8335\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:00\",\n        \"description\": \"Tokyo, Seoul, Osaka, Sapporo, Yakutsk\"\n      }\n    },\n    \"email\": \"olegario.dacunha@example.com\",\n    \"login\": {\n      \"uuid\": \"09ca1f8f-29e3-4eb6-a8d3-cb0ef4a7d50f\",\n      \"username\": \"goldenfrog102\",\n      \"password\": \"blueball\",\n      \"salt\": \"IZpHwnYy\",\n      \"md5\": \"2b18716ed2ed8352ad1df8f5315bf0ea\",\n      \"sha1\": \"44a2c9941eb84db74aff96d444ad32d63eb44b6d\",\n      \"sha256\": \"2ed9b9626b7b91fc7894957dce9f4394494303a64e0a346d7dd8a3e586fe0cd2\"\n    },\n    \"dob\": {\n      \"date\": \"1969-07-06T18:25:31.855Z\",\n      \"age\": 53\n    },\n    \"registered\": {\n      \"date\": \"2020-06-22T03:40:06.141Z\",\n      \"age\": 2\n    },\n    \"phone\": \"(49) 1298-3740\",\n    \"cell\": \"(36) 4216-9461\",\n    \"id\": 318,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/20.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/20.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/20.jpg\"\n    },\n    \"nat\": \"BR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Cameron\",\n      \"last\": \"Henry\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1649,\n        \"name\": \"Daisy Dr\"\n      },\n      \"city\": \"Cairns\",\n      \"state\": \"Tasmania\",\n      \"country\": \"Australia\",\n      \"postcode\": 8747,\n      \"coordinates\": {\n        \"latitude\": \"-13.8848\",\n        \"longitude\": \"162.6556\"\n      },\n      \"timezone\": {\n        \"offset\": \"-11:00\",\n        \"description\": \"Midway Island, Samoa\"\n      }\n    },\n    \"email\": \"cameron.henry@example.com\",\n    \"login\": {\n      \"uuid\": \"808776db-6bb8-49e8-ac3b-0dc94be89e47\",\n      \"username\": \"goldenfrog235\",\n      \"password\": \"speed1\",\n      \"salt\": \"YBJ6R7sV\",\n      \"md5\": \"f905c446f1c3d4c57fc31c36d1fc91b2\",\n      \"sha1\": \"e4907bfbdf4c040d392530950ecd9dff602b57c1\",\n      \"sha256\": \"3e66a5f3738e0d052b6f04360080a9cd8161834cf3a947fc6b500d97071aecbb\"\n    },\n    \"dob\": {\n      \"date\": \"1983-12-06T02:42:41.574Z\",\n      \"age\": 39\n    },\n    \"registered\": {\n      \"date\": \"2021-04-01T06:10:01.883Z\",\n      \"age\": 2\n    },\n    \"phone\": \"02-4585-2991\",\n    \"cell\": \"0491-383-638\",\n    \"id\": 319,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/4.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/4.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/4.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Adam\",\n      \"last\": \"White\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2275,\n        \"name\": \"White Swan Road\"\n      },\n      \"city\": \"New Plymouth\",\n      \"state\": \"Canterbury\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 84860,\n      \"coordinates\": {\n        \"latitude\": \"84.3703\",\n        \"longitude\": \"32.6958\"\n      },\n      \"timezone\": {\n        \"offset\": \"-8:00\",\n        \"description\": \"Pacific Time (US & Canada)\"\n      }\n    },\n    \"email\": \"adam.white@example.com\",\n    \"login\": {\n      \"uuid\": \"9714dc6f-f4df-43e8-b2a9-302da531131c\",\n      \"username\": \"bluebutterfly107\",\n      \"password\": \"arcadia\",\n      \"salt\": \"dzg6YqbY\",\n      \"md5\": \"876e988396233d606d9bbd4eb4cde438\",\n      \"sha1\": \"f8de7795d121be951f3effb3b36ba7d91eb7cd45\",\n      \"sha256\": \"8f26e136d7895c87ef689e03a00defcc4466d898d9f5c61dc0983b46de86656e\"\n    },\n    \"dob\": {\n      \"date\": \"1973-07-06T20:24:30.050Z\",\n      \"age\": 49\n    },\n    \"registered\": {\n      \"date\": \"2008-10-13T16:16:25.149Z\",\n      \"age\": 14\n    },\n    \"phone\": \"(125)-560-9577\",\n    \"cell\": \"(669)-443-7056\",\n    \"id\": 320,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/61.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/61.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/61.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Efigênia\",\n      \"last\": \"Fogaça\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1399,\n        \"name\": \"Rua Dezenove de Outubro\"\n      },\n      \"city\": \"Nova Iguaçu\",\n      \"state\": \"Rio Grande do Norte\",\n      \"country\": \"Brazil\",\n      \"postcode\": 38300,\n      \"coordinates\": {\n        \"latitude\": \"84.5274\",\n        \"longitude\": \"-38.9951\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"efigenia.fogaca@example.com\",\n    \"login\": {\n      \"uuid\": \"d7e8bf4a-da0c-4ee5-a22c-180e77ebfdd9\",\n      \"username\": \"greenkoala370\",\n      \"password\": \"rugger\",\n      \"salt\": \"ZiNMcMCr\",\n      \"md5\": \"8ca167b1dc0523ed34ba9153d2762a3d\",\n      \"sha1\": \"5c1e193d2753003f0bb10424522441c0cda519af\",\n      \"sha256\": \"81d57d54a52b3946c88c0215e775e53d4d68ea25058f0dae71bfe2dbb4140a62\"\n    },\n    \"dob\": {\n      \"date\": \"1983-03-29T22:03:39.176Z\",\n      \"age\": 40\n    },\n    \"registered\": {\n      \"date\": \"2002-10-22T01:58:15.370Z\",\n      \"age\": 20\n    },\n    \"phone\": \"(14) 1090-0748\",\n    \"cell\": \"(99) 8025-4209\",\n    \"id\": 321,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/64.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/64.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/64.jpg\"\n    },\n    \"nat\": \"BR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Georgije\",\n      \"last\": \"Raspopović\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6961,\n        \"name\": \"Vitalija Ginzburga\"\n      },\n      \"city\": \"Dimitrovgrad\",\n      \"state\": \"Central Banat\",\n      \"country\": \"Serbia\",\n      \"postcode\": 48569,\n      \"coordinates\": {\n        \"latitude\": \"70.1264\",\n        \"longitude\": \"173.9309\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:30\",\n        \"description\": \"Bombay, Calcutta, Madras, New Delhi\"\n      }\n    },\n    \"email\": \"georgije.raspopovic@example.com\",\n    \"login\": {\n      \"uuid\": \"787b4598-a307-47b5-bec1-7549da43fffe\",\n      \"username\": \"orangepeacock507\",\n      \"password\": \"tekken\",\n      \"salt\": \"drhu8bd1\",\n      \"md5\": \"0e0b3e63941a8878708cb661708395be\",\n      \"sha1\": \"24df65a521b398c5561c1c72d84590a26d0de803\",\n      \"sha256\": \"d58223e4e7b13a4b4d81a20667beba486a99a2109fb157b5f48f3b664d73f827\"\n    },\n    \"dob\": {\n      \"date\": \"1972-07-31T21:12:35.476Z\",\n      \"age\": 50\n    },\n    \"registered\": {\n      \"date\": \"2010-11-12T07:46:39.063Z\",\n      \"age\": 12\n    },\n    \"phone\": \"015-1172-679\",\n    \"cell\": \"064-4893-875\",\n    \"id\": 322,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/14.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/14.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/14.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Vernon\",\n      \"last\": \"Fox\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 728,\n        \"name\": \"Northaven Rd\"\n      },\n      \"city\": \"Syracuse\",\n      \"state\": \"Minnesota\",\n      \"country\": \"United States\",\n      \"postcode\": 92036,\n      \"coordinates\": {\n        \"latitude\": \"85.3055\",\n        \"longitude\": \"9.4760\"\n      },\n      \"timezone\": {\n        \"offset\": \"-4:00\",\n        \"description\": \"Atlantic Time (Canada), Caracas, La Paz\"\n      }\n    },\n    \"email\": \"vernon.fox@example.com\",\n    \"login\": {\n      \"uuid\": \"c5ccee8d-6b28-4f21-b1be-3d04086870fe\",\n      \"username\": \"happyleopard801\",\n      \"password\": \"swedish\",\n      \"salt\": \"Qy1ZZkbM\",\n      \"md5\": \"234d287017ea25b6e7abffd1652059e0\",\n      \"sha1\": \"3aa41d6758ef7b6c5d7fcbd12d1ac83ffa7ed86f\",\n      \"sha256\": \"47424621376d96f13267ccb566705eeea1a0d7e05d21328c7c712bfce754bbe3\"\n    },\n    \"dob\": {\n      \"date\": \"1958-02-02T11:21:01.628Z\",\n      \"age\": 65\n    },\n    \"registered\": {\n      \"date\": \"2021-09-04T18:03:45.018Z\",\n      \"age\": 1\n    },\n    \"phone\": \"(807) 271-9735\",\n    \"cell\": \"(983) 672-2489\",\n    \"id\": 323,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/48.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/48.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/48.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Adriano\",\n      \"last\": \"Koerts\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1441,\n        \"name\": \"G.K. van Hogendorplaan\"\n      },\n      \"city\": \"Eemster\",\n      \"state\": \"Zeeland\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"7359 UY\",\n      \"coordinates\": {\n        \"latitude\": \"-18.9356\",\n        \"longitude\": \"-73.4781\"\n      },\n      \"timezone\": {\n        \"offset\": \"-11:00\",\n        \"description\": \"Midway Island, Samoa\"\n      }\n    },\n    \"email\": \"adriano.koerts@example.com\",\n    \"login\": {\n      \"uuid\": \"b4e24e9c-2c34-4d21-aed5-d035e4dfe9f0\",\n      \"username\": \"bigpeacock844\",\n      \"password\": \"sandiego\",\n      \"salt\": \"KrBpqNX9\",\n      \"md5\": \"d0add2feee05261537946b47b7272d07\",\n      \"sha1\": \"06f038fa8a8d48d025e1520a1bc63e9e98cdbde3\",\n      \"sha256\": \"753c3091155e4eddbaedbb608af89033aa2643716deae2ac7e84f3a3420e51e7\"\n    },\n    \"dob\": {\n      \"date\": \"1982-06-20T15:46:00.186Z\",\n      \"age\": 40\n    },\n    \"registered\": {\n      \"date\": \"2020-04-04T05:19:01.600Z\",\n      \"age\": 3\n    },\n    \"phone\": \"(0933) 738529\",\n    \"cell\": \"(06) 84181627\",\n    \"id\": 324,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/56.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/56.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/56.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Marilyn\",\n      \"last\": \"Reid\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5160,\n        \"name\": \"Bollinger Rd\"\n      },\n      \"city\": \"Coffs Harbour\",\n      \"state\": \"Australian Capital Territory\",\n      \"country\": \"Australia\",\n      \"postcode\": 7463,\n      \"coordinates\": {\n        \"latitude\": \"18.1454\",\n        \"longitude\": \"-24.7536\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"marilyn.reid@example.com\",\n    \"login\": {\n      \"uuid\": \"a23301cd-6040-495a-8894-cf72e2bf364a\",\n      \"username\": \"organicmeercat479\",\n      \"password\": \"corey\",\n      \"salt\": \"7NK8Mc6t\",\n      \"md5\": \"ac15905399978bde00b9ac94d43903a8\",\n      \"sha1\": \"850ffce6d73e327e19375cd4b04ef09e7801dbee\",\n      \"sha256\": \"35f8b476126a71d00afebe7e2c19792122bd725c15dae371d7d8f3bb5cf92917\"\n    },\n    \"dob\": {\n      \"date\": \"1970-05-02T05:27:22.216Z\",\n      \"age\": 53\n    },\n    \"registered\": {\n      \"date\": \"2009-05-09T16:56:02.168Z\",\n      \"age\": 14\n    },\n    \"phone\": \"07-9890-8302\",\n    \"cell\": \"0491-615-889\",\n    \"id\": 325,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/49.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/49.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/49.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Namitha\",\n      \"last\": \"Nair\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2015,\n        \"name\": \"Bhootnath Rd\"\n      },\n      \"city\": \"Raichur\",\n      \"state\": \"Tripura\",\n      \"country\": \"India\",\n      \"postcode\": 57313,\n      \"coordinates\": {\n        \"latitude\": \"-0.1431\",\n        \"longitude\": \"160.4381\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"namitha.nair@example.com\",\n    \"login\": {\n      \"uuid\": \"93651039-6ed5-4aef-83ed-01f4ffcd930b\",\n      \"username\": \"organiclion713\",\n      \"password\": \"zeppelin\",\n      \"salt\": \"OT30GG1q\",\n      \"md5\": \"9817d665f92a24899a441b3a5247c190\",\n      \"sha1\": \"8a0ce001e9d6e85267a3a92f29cad99f124b7cf9\",\n      \"sha256\": \"47a2f19ec16551cd0311b0ad817af618aa96b862071ca73acb216cfbdef24db0\"\n    },\n    \"dob\": {\n      \"date\": \"1990-02-27T01:52:24.005Z\",\n      \"age\": 33\n    },\n    \"registered\": {\n      \"date\": \"2005-01-10T16:35:08.331Z\",\n      \"age\": 18\n    },\n    \"phone\": \"9495335513\",\n    \"cell\": \"9407390885\",\n    \"id\": 326,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/30.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/30.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/30.jpg\"\n    },\n    \"nat\": \"IN\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Lisa\",\n      \"last\": \"Yusuf\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1916,\n        \"name\": \"Hammergata\"\n      },\n      \"city\": \"Liabø\",\n      \"state\": \"Sogn og Fjordane\",\n      \"country\": \"Norway\",\n      \"postcode\": \"6971\",\n      \"coordinates\": {\n        \"latitude\": \"-34.4200\",\n        \"longitude\": \"20.4923\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"lisa.yusuf@example.com\",\n    \"login\": {\n      \"uuid\": \"df107e1e-aa18-46bb-972d-6d0845a619f0\",\n      \"username\": \"organicladybug847\",\n      \"password\": \"6464\",\n      \"salt\": \"Kay7ALTj\",\n      \"md5\": \"65e926f90afa7aa80b97a2f3901a7b8f\",\n      \"sha1\": \"c8997a20dcaf17c606eab315c355434574daccc6\",\n      \"sha256\": \"e6ce1b2818dad1954666f4532e2cd9e7fec2bd4ab2a406889b17e9f0d1847b06\"\n    },\n    \"dob\": {\n      \"date\": \"1983-12-01T14:32:43.526Z\",\n      \"age\": 39\n    },\n    \"registered\": {\n      \"date\": \"2014-10-29T01:24:17.592Z\",\n      \"age\": 8\n    },\n    \"phone\": \"79502427\",\n    \"cell\": \"94663173\",\n    \"id\": 327,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/50.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/50.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/50.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"سورنا\",\n      \"last\": \"کامروا\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9009,\n        \"name\": \"ایران\"\n      },\n      \"city\": \"دزفول\",\n      \"state\": \"سمنان\",\n      \"country\": \"Iran\",\n      \"postcode\": 47292,\n      \"coordinates\": {\n        \"latitude\": \"2.9432\",\n        \"longitude\": \"5.6372\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:30\",\n        \"description\": \"Bombay, Calcutta, Madras, New Delhi\"\n      }\n    },\n    \"email\": \"swrn.khmrw@example.com\",\n    \"login\": {\n      \"uuid\": \"01b23450-c3dd-484c-a9c4-e00edf3111e4\",\n      \"username\": \"goldenpeacock196\",\n      \"password\": \"asgard\",\n      \"salt\": \"okFnLz4j\",\n      \"md5\": \"67c89bb25a50cb93b02f3ce65c8d4739\",\n      \"sha1\": \"e5c3168d342776065c89f225b620c5b2cb894304\",\n      \"sha256\": \"0ae55495725565d3937620a521dd269030a292ffbe6a97af04556008f3130cba\"\n    },\n    \"dob\": {\n      \"date\": \"1979-07-04T08:46:38.807Z\",\n      \"age\": 43\n    },\n    \"registered\": {\n      \"date\": \"2004-10-03T11:22:20.497Z\",\n      \"age\": 18\n    },\n    \"phone\": \"034-11300893\",\n    \"cell\": \"0925-192-9859\",\n    \"id\": 328,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/51.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/51.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/51.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Shahistha\",\n      \"last\": \"Kumar\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8905,\n        \"name\": \"Ranganathan St\"\n      },\n      \"city\": \"Raichur\",\n      \"state\": \"Odisha\",\n      \"country\": \"India\",\n      \"postcode\": 39703,\n      \"coordinates\": {\n        \"latitude\": \"-65.9138\",\n        \"longitude\": \"-71.9039\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:00\",\n        \"description\": \"Abu Dhabi, Muscat, Baku, Tbilisi\"\n      }\n    },\n    \"email\": \"shahistha.kumar@example.com\",\n    \"login\": {\n      \"uuid\": \"65831aba-79af-49ac-8ec4-31be53dbbabc\",\n      \"username\": \"silverrabbit940\",\n      \"password\": \"believe\",\n      \"salt\": \"jOjpS8mK\",\n      \"md5\": \"1cbe4f6c6d4a2618243cf24ca2b52455\",\n      \"sha1\": \"8237ba946f945e9f44f606912bc3ab31d9cf1132\",\n      \"sha256\": \"ab9eda4cb7fb0bc9889a8ae41db5e706ec612cf87dbbe5fbb4de1d91d8d0cc70\"\n    },\n    \"dob\": {\n      \"date\": \"1946-06-12T10:28:14.992Z\",\n      \"age\": 76\n    },\n    \"registered\": {\n      \"date\": \"2018-04-06T10:55:36.468Z\",\n      \"age\": 5\n    },\n    \"phone\": \"9515393236\",\n    \"cell\": \"8432076716\",\n    \"id\": 329,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/87.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/87.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/87.jpg\"\n    },\n    \"nat\": \"IN\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Alicia\",\n      \"last\": \"Miller\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8336,\n        \"name\": \"20th Ave\"\n      },\n      \"city\": \"Chesterville\",\n      \"state\": \"Manitoba\",\n      \"country\": \"Canada\",\n      \"postcode\": \"H6Z 7G3\",\n      \"coordinates\": {\n        \"latitude\": \"64.0386\",\n        \"longitude\": \"-172.9371\"\n      },\n      \"timezone\": {\n        \"offset\": \"+8:00\",\n        \"description\": \"Beijing, Perth, Singapore, Hong Kong\"\n      }\n    },\n    \"email\": \"alicia.miller@example.com\",\n    \"login\": {\n      \"uuid\": \"e91405e8-d8c8-4647-b933-59dbe0a60523\",\n      \"username\": \"redostrich300\",\n      \"password\": \"planet\",\n      \"salt\": \"Z12qEG5S\",\n      \"md5\": \"4afd2f23fee371f267644a50cdfe9af4\",\n      \"sha1\": \"7606b5b7535de7dea654a197ff6073548c78625c\",\n      \"sha256\": \"3d7e0cf5b66e1ee1392f1f617e3ea06bb7b9295abba87720dda809019f20a92b\"\n    },\n    \"dob\": {\n      \"date\": \"1982-11-24T13:42:12.859Z\",\n      \"age\": 40\n    },\n    \"registered\": {\n      \"date\": \"2017-06-17T21:27:33.360Z\",\n      \"age\": 5\n    },\n    \"phone\": \"K34 J70-1084\",\n    \"cell\": \"K25 I13-0616\",\n    \"id\": 330,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/22.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/22.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/22.jpg\"\n    },\n    \"nat\": \"CA\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Kaya\",\n      \"last\": \"Özberk\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4739,\n        \"name\": \"Vatan Cd\"\n      },\n      \"city\": \"Erzurum\",\n      \"state\": \"Muş\",\n      \"country\": \"Turkey\",\n      \"postcode\": 51196,\n      \"coordinates\": {\n        \"latitude\": \"-88.7435\",\n        \"longitude\": \"-89.4144\"\n      },\n      \"timezone\": {\n        \"offset\": \"-1:00\",\n        \"description\": \"Azores, Cape Verde Islands\"\n      }\n    },\n    \"email\": \"kaya.ozberk@example.com\",\n    \"login\": {\n      \"uuid\": \"af8eb444-40f5-4d8d-a41b-f009a3658a5b\",\n      \"username\": \"yellowladybug427\",\n      \"password\": \"200000\",\n      \"salt\": \"zj549d6c\",\n      \"md5\": \"4272f177c64d1e2a480f56947036d7f7\",\n      \"sha1\": \"40399d1e32f0abaab5886a8155ed167dc94a7f41\",\n      \"sha256\": \"0ca4d3622c51c97af7e782a2ccf72129bfff1f141b4de88476d7f65f691b0154\"\n    },\n    \"dob\": {\n      \"date\": \"1952-08-22T21:44:33.720Z\",\n      \"age\": 70\n    },\n    \"registered\": {\n      \"date\": \"2006-05-05T16:13:42.204Z\",\n      \"age\": 17\n    },\n    \"phone\": \"(341)-087-3609\",\n    \"cell\": \"(606)-181-1917\",\n    \"id\": 331,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/33.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/33.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/33.jpg\"\n    },\n    \"nat\": \"TR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Elif\",\n      \"last\": \"Bakırcıoğlu\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7206,\n        \"name\": \"Talak Göktepe Cd\"\n      },\n      \"city\": \"Yalova\",\n      \"state\": \"Afyonkarahisar\",\n      \"country\": \"Turkey\",\n      \"postcode\": 96366,\n      \"coordinates\": {\n        \"latitude\": \"3.7325\",\n        \"longitude\": \"80.6656\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"elif.bakircioglu@example.com\",\n    \"login\": {\n      \"uuid\": \"eeb70ce3-86fd-428b-b249-6ba5e3ca1fa5\",\n      \"username\": \"browndog664\",\n      \"password\": \"subaru\",\n      \"salt\": \"OOOmjW8Z\",\n      \"md5\": \"205c1d536cd26570c15f4f175312496c\",\n      \"sha1\": \"df9ae7b8337ab302a90872ad2ae9b6a23cb2655b\",\n      \"sha256\": \"35471eca6efc04a8ee51f7e8e1d2bac494039078cf8bd54d436a1ec0aa64f228\"\n    },\n    \"dob\": {\n      \"date\": \"1965-11-05T03:45:05.988Z\",\n      \"age\": 57\n    },\n    \"registered\": {\n      \"date\": \"2021-08-23T20:37:09.056Z\",\n      \"age\": 1\n    },\n    \"phone\": \"(734)-687-0777\",\n    \"cell\": \"(128)-212-0737\",\n    \"id\": 332,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/41.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/41.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/41.jpg\"\n    },\n    \"nat\": \"TR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Monsieur\",\n      \"first\": \"Mark\",\n      \"last\": \"Leclerc\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4735,\n        \"name\": \"Rue des Cuirassiers\"\n      },\n      \"city\": \"Besenbüren\",\n      \"state\": \"Thurgau\",\n      \"country\": \"Switzerland\",\n      \"postcode\": 6973,\n      \"coordinates\": {\n        \"latitude\": \"-40.3578\",\n        \"longitude\": \"62.2556\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"mark.leclerc@example.com\",\n    \"login\": {\n      \"uuid\": \"595af007-90c3-4ccf-ab02-780acf778ac9\",\n      \"username\": \"greendog122\",\n      \"password\": \"liverpoo\",\n      \"salt\": \"8jR1CZuz\",\n      \"md5\": \"10ae2b6d229cbdfc77ce07c304b0a6e8\",\n      \"sha1\": \"ddc5d01e6c11874523ef3d420bbc5687ead4a32d\",\n      \"sha256\": \"8417f92c48a81461b65971d483455b8de098a0f2d9783291ee0c84b9dc18e12d\"\n    },\n    \"dob\": {\n      \"date\": \"1970-10-07T06:38:30.972Z\",\n      \"age\": 52\n    },\n    \"registered\": {\n      \"date\": \"2020-08-09T12:54:14.522Z\",\n      \"age\": 2\n    },\n    \"phone\": \"078 220 13 63\",\n    \"cell\": \"076 308 17 93\",\n    \"id\": 333,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/41.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/41.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/41.jpg\"\n    },\n    \"nat\": \"CH\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Madame\",\n      \"first\": \"Rose\",\n      \"last\": \"Dumas\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4659,\n        \"name\": \"Rue du 8 Mai 1945\"\n      },\n      \"city\": \"Thundorf\",\n      \"state\": \"Appenzell Innerrhoden\",\n      \"country\": \"Switzerland\",\n      \"postcode\": 1886,\n      \"coordinates\": {\n        \"latitude\": \"-22.4044\",\n        \"longitude\": \"-123.6749\"\n      },\n      \"timezone\": {\n        \"offset\": \"-8:00\",\n        \"description\": \"Pacific Time (US & Canada)\"\n      }\n    },\n    \"email\": \"rose.dumas@example.com\",\n    \"login\": {\n      \"uuid\": \"80768a45-d6ff-4c35-8f08-885fb4e0da30\",\n      \"username\": \"bigfish310\",\n      \"password\": \"cruiser\",\n      \"salt\": \"cHgbendW\",\n      \"md5\": \"7c2f8b7a4b2ce4c4eff8742a8c068f54\",\n      \"sha1\": \"61bba1f7b2bb3b12c37677c5247b6be3858f0f9f\",\n      \"sha256\": \"087a9b2f19a6da60249ed55cb18ec3cf1df9da24f2b23c8683f0295d54c48f17\"\n    },\n    \"dob\": {\n      \"date\": \"1950-11-17T18:29:02.561Z\",\n      \"age\": 72\n    },\n    \"registered\": {\n      \"date\": \"2010-03-23T15:21:03.158Z\",\n      \"age\": 13\n    },\n    \"phone\": \"076 998 87 46\",\n    \"cell\": \"078 184 45 16\",\n    \"id\": 334,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/26.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/26.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/26.jpg\"\n    },\n    \"nat\": \"CH\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Nicklas\",\n      \"last\": \"Thomsen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7138,\n        \"name\": \"Østerskovvej\"\n      },\n      \"city\": \"København N\",\n      \"state\": \"Syddanmark\",\n      \"country\": \"Denmark\",\n      \"postcode\": 89589,\n      \"coordinates\": {\n        \"latitude\": \"46.4875\",\n        \"longitude\": \"-8.6642\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:00\",\n        \"description\": \"Baghdad, Riyadh, Moscow, St. Petersburg\"\n      }\n    },\n    \"email\": \"nicklas.thomsen@example.com\",\n    \"login\": {\n      \"uuid\": \"1505cf92-7863-4905-935e-92547c7f01e3\",\n      \"username\": \"silvermeercat273\",\n      \"password\": \"carmen\",\n      \"salt\": \"lNd7mejL\",\n      \"md5\": \"bfb757bd82bfeffe695fd9a89015333d\",\n      \"sha1\": \"47c71321581eefa39340d4a61953c43657dfd5c0\",\n      \"sha256\": \"e3a6354a99d0ef387d9ddaa9d57f001ac1a54a55127f197629be7e508ab578de\"\n    },\n    \"dob\": {\n      \"date\": \"1981-05-27T10:39:48.350Z\",\n      \"age\": 41\n    },\n    \"registered\": {\n      \"date\": \"2014-12-16T20:25:00.480Z\",\n      \"age\": 8\n    },\n    \"phone\": \"87818935\",\n    \"cell\": \"67034114\",\n    \"id\": 335,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/38.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/38.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/38.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Willie\",\n      \"last\": \"Hale\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8346,\n        \"name\": \"Mockingbird Hill\"\n      },\n      \"city\": \"Evansville\",\n      \"state\": \"Wisconsin\",\n      \"country\": \"United States\",\n      \"postcode\": 45692,\n      \"coordinates\": {\n        \"latitude\": \"-38.9006\",\n        \"longitude\": \"153.7917\"\n      },\n      \"timezone\": {\n        \"offset\": \"0:00\",\n        \"description\": \"Western Europe Time, London, Lisbon, Casablanca\"\n      }\n    },\n    \"email\": \"willie.hale@example.com\",\n    \"login\": {\n      \"uuid\": \"257176a2-f17c-4c79-b08e-4fb1bccd9e56\",\n      \"username\": \"sadrabbit428\",\n      \"password\": \"wind\",\n      \"salt\": \"50W3g3gK\",\n      \"md5\": \"76d50c1a6517a777d1ba61e71def4bda\",\n      \"sha1\": \"58890a4dce24db6f3929d633181c5eb8424c6ec4\",\n      \"sha256\": \"28a205c8238d88f7f72c4416ff68f2a0e21b11a1408a1c01a108571ea280f0ae\"\n    },\n    \"dob\": {\n      \"date\": \"1967-09-05T17:38:50.022Z\",\n      \"age\": 55\n    },\n    \"registered\": {\n      \"date\": \"2003-05-23T21:21:31.180Z\",\n      \"age\": 19\n    },\n    \"phone\": \"(910) 861-4419\",\n    \"cell\": \"(489) 926-6736\",\n    \"id\": 336,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/5.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/5.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/5.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Molly\",\n      \"last\": \"Røgeberg\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9752,\n        \"name\": \"Østerdalsgata\"\n      },\n      \"city\": \"Slevik\",\n      \"state\": \"Finnmark - Finnmárku\",\n      \"country\": \"Norway\",\n      \"postcode\": \"8158\",\n      \"coordinates\": {\n        \"latitude\": \"-81.1878\",\n        \"longitude\": \"-113.5488\"\n      },\n      \"timezone\": {\n        \"offset\": \"-7:00\",\n        \"description\": \"Mountain Time (US & Canada)\"\n      }\n    },\n    \"email\": \"molly.rogeberg@example.com\",\n    \"login\": {\n      \"uuid\": \"5fb57b0c-08b3-4cc5-84d6-206933c8bd9a\",\n      \"username\": \"happyfrog531\",\n      \"password\": \"blueberr\",\n      \"salt\": \"EEXYwsgi\",\n      \"md5\": \"4c809f74f1fac50c1588d619b74b4cdb\",\n      \"sha1\": \"5a4c8b585f71812004ae986ba6f3d218c92d57ee\",\n      \"sha256\": \"8fa8befefa14be1661570b72aad6cbbf11ca91deaf40ada1dd5a9aad5713a8f1\"\n    },\n    \"dob\": {\n      \"date\": \"1948-11-27T22:39:24.182Z\",\n      \"age\": 74\n    },\n    \"registered\": {\n      \"date\": \"2020-01-06T09:25:40.959Z\",\n      \"age\": 3\n    },\n    \"phone\": \"74789382\",\n    \"cell\": \"94258573\",\n    \"id\": 337,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/19.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/19.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/19.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Maxim\",\n      \"last\": \"Rikstad\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 896,\n        \"name\": \"Ullernkammen\"\n      },\n      \"city\": \"Kiberg\",\n      \"state\": \"Nordland\",\n      \"country\": \"Norway\",\n      \"postcode\": \"9951\",\n      \"coordinates\": {\n        \"latitude\": \"19.7369\",\n        \"longitude\": \"43.6661\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"maxim.rikstad@example.com\",\n    \"login\": {\n      \"uuid\": \"a211522c-2aa4-4e88-a809-97ad5602c0bf\",\n      \"username\": \"blackzebra491\",\n      \"password\": \"reserve\",\n      \"salt\": \"RRyJAUBO\",\n      \"md5\": \"2164b32f0c2b988fbe7bbbe955d0e37c\",\n      \"sha1\": \"77c6188354b992c31f8bc7b2a98995c3d0a8a907\",\n      \"sha256\": \"2309d47e821146dca78c1b84806a388afbc91f7d350e7b099a6f60040ee72d2b\"\n    },\n    \"dob\": {\n      \"date\": \"1973-10-09T04:59:09.628Z\",\n      \"age\": 49\n    },\n    \"registered\": {\n      \"date\": \"2003-10-29T22:58:47.237Z\",\n      \"age\": 19\n    },\n    \"phone\": \"23080653\",\n    \"cell\": \"41732377\",\n    \"id\": 338,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/30.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/30.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/30.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Eric\",\n      \"last\": \"Esquivel\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1372,\n        \"name\": \"Cerrada Sur Rico\"\n      },\n      \"city\": \"Amatlán\",\n      \"state\": \"Baja California\",\n      \"country\": \"Mexico\",\n      \"postcode\": 63602,\n      \"coordinates\": {\n        \"latitude\": \"8.8840\",\n        \"longitude\": \"143.9276\"\n      },\n      \"timezone\": {\n        \"offset\": \"0:00\",\n        \"description\": \"Western Europe Time, London, Lisbon, Casablanca\"\n      }\n    },\n    \"email\": \"eric.esquivel@example.com\",\n    \"login\": {\n      \"uuid\": \"e02f4d6e-d160-4cec-bc4f-3f61763a5986\",\n      \"username\": \"silverzebra282\",\n      \"password\": \"sinclair\",\n      \"salt\": \"Hcx4HQF5\",\n      \"md5\": \"43f27e594ba69e1a1cd2a61e38f356a7\",\n      \"sha1\": \"6fa75e361ca09b35b39f4b2717a5bf9e9b16ad9f\",\n      \"sha256\": \"175cc90f9a182c48103173274b1639e3dd8c4970810f75c9000c7ba1061a74d8\"\n    },\n    \"dob\": {\n      \"date\": \"1977-02-16T15:08:44.907Z\",\n      \"age\": 46\n    },\n    \"registered\": {\n      \"date\": \"2008-03-18T01:47:24.739Z\",\n      \"age\": 15\n    },\n    \"phone\": \"(685) 008 4574\",\n    \"cell\": \"(672) 214 6929\",\n    \"id\": 339,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/58.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/58.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/58.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"بردیا\",\n      \"last\": \"یاسمی\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4647,\n        \"name\": \"پارک دانشجو\"\n      },\n      \"city\": \"آمل\",\n      \"state\": \"البرز\",\n      \"country\": \"Iran\",\n      \"postcode\": 61463,\n      \"coordinates\": {\n        \"latitude\": \"9.3596\",\n        \"longitude\": \"-150.8410\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:00\",\n        \"description\": \"Brazil, Buenos Aires, Georgetown\"\n      }\n    },\n    \"email\": \"brdy.ysmy@example.com\",\n    \"login\": {\n      \"uuid\": \"8482c317-a7fc-4c8b-a5c4-55604a958a28\",\n      \"username\": \"lazyladybug327\",\n      \"password\": \"qbg26i\",\n      \"salt\": \"6zhq5bik\",\n      \"md5\": \"9731b75fe286bb22fc0750419777372d\",\n      \"sha1\": \"62c205d79747abe24919ee2b6db2f5f5f4eebd1c\",\n      \"sha256\": \"593a549811d2ed2870d42ac0de66d69f2ac0ac7a9a6a0a68b8cbdd96ebee78e7\"\n    },\n    \"dob\": {\n      \"date\": \"1961-04-29T20:29:34.977Z\",\n      \"age\": 62\n    },\n    \"registered\": {\n      \"date\": \"2017-12-14T12:33:40.418Z\",\n      \"age\": 5\n    },\n    \"phone\": \"055-52653414\",\n    \"cell\": \"0929-808-5681\",\n    \"id\": 340,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/39.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/39.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/39.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Macit\",\n      \"last\": \"Örge\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6462,\n        \"name\": \"Atatürk Sk\"\n      },\n      \"city\": \"Batman\",\n      \"state\": \"Kırıkkale\",\n      \"country\": \"Turkey\",\n      \"postcode\": 92778,\n      \"coordinates\": {\n        \"latitude\": \"-79.2783\",\n        \"longitude\": \"-89.4529\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:30\",\n        \"description\": \"Bombay, Calcutta, Madras, New Delhi\"\n      }\n    },\n    \"email\": \"macit.orge@example.com\",\n    \"login\": {\n      \"uuid\": \"4487634a-799c-44fb-8943-a67374063f43\",\n      \"username\": \"bluebutterfly654\",\n      \"password\": \"1717\",\n      \"salt\": \"Qq8mPHkp\",\n      \"md5\": \"0eb06f9defe9cd76cef84c72bca8ae6f\",\n      \"sha1\": \"07bbc4490a02f7efb306f5ed67552404c3631445\",\n      \"sha256\": \"813e1dc6cd8e40250158f6c112be21b176c97fb654b1191d6892484431218949\"\n    },\n    \"dob\": {\n      \"date\": \"1945-05-31T11:35:34.070Z\",\n      \"age\": 77\n    },\n    \"registered\": {\n      \"date\": \"2011-11-10T12:32:27.361Z\",\n      \"age\": 11\n    },\n    \"phone\": \"(009)-769-9794\",\n    \"cell\": \"(889)-812-2902\",\n    \"id\": 341,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/29.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/29.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/29.jpg\"\n    },\n    \"nat\": \"TR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Milovana\",\n      \"last\": \"Ruban\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 798,\n        \"name\": \"Ohtirska\"\n      },\n      \"city\": \"Perevalsk\",\n      \"state\": \"Hmelnicka\",\n      \"country\": \"Ukraine\",\n      \"postcode\": 74675,\n      \"coordinates\": {\n        \"latitude\": \"-25.5184\",\n        \"longitude\": \"34.8719\"\n      },\n      \"timezone\": {\n        \"offset\": \"-2:00\",\n        \"description\": \"Mid-Atlantic\"\n      }\n    },\n    \"email\": \"milovana.ruban@example.com\",\n    \"login\": {\n      \"uuid\": \"a5b201dc-00bc-4236-aa63-0dd7e201181c\",\n      \"username\": \"heavydog441\",\n      \"password\": \"quan\",\n      \"salt\": \"pUZpGAT6\",\n      \"md5\": \"8337bce88a424aa4d524a87b7aa2a8e3\",\n      \"sha1\": \"49d66e9288d7a0caa3ed2d43f188e5f17a64de3d\",\n      \"sha256\": \"f0b0ff4857ed922fa69126e40676e10adca87de061b03a29a791eca67ae319d4\"\n    },\n    \"dob\": {\n      \"date\": \"1974-11-28T08:37:38.164Z\",\n      \"age\": 48\n    },\n    \"registered\": {\n      \"date\": \"2003-08-03T06:39:13.445Z\",\n      \"age\": 19\n    },\n    \"phone\": \"(066) P73-1765\",\n    \"cell\": \"(066) U81-4158\",\n    \"id\": 342,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/7.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/7.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/7.jpg\"\n    },\n    \"nat\": \"UA\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Kajus\",\n      \"last\": \"Kverneland\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4389,\n        \"name\": \"Wolffs gate\"\n      },\n      \"city\": \"Davanger\",\n      \"state\": \"Finnmark - Finnmárku\",\n      \"country\": \"Norway\",\n      \"postcode\": \"4150\",\n      \"coordinates\": {\n        \"latitude\": \"-13.6230\",\n        \"longitude\": \"171.5765\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"kajus.kverneland@example.com\",\n    \"login\": {\n      \"uuid\": \"13779ab2-c22d-41ef-9bed-2551c6e5d1a2\",\n      \"username\": \"tinyleopard149\",\n      \"password\": \"newcastl\",\n      \"salt\": \"BipN3lDa\",\n      \"md5\": \"f8584a8da5218bcd5ea236fb06738c9d\",\n      \"sha1\": \"84c26d0144649faa9c3914e449d23da1d037b225\",\n      \"sha256\": \"deb435ea96c6d032d632b7688b16e872b308a2e8016a61f86c8b372e4355f648\"\n    },\n    \"dob\": {\n      \"date\": \"1953-05-28T09:56:11.467Z\",\n      \"age\": 69\n    },\n    \"registered\": {\n      \"date\": \"2004-04-13T19:02:17.841Z\",\n      \"age\": 19\n    },\n    \"phone\": \"76098036\",\n    \"cell\": \"47905519\",\n    \"id\": 343,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/25.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/25.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/25.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Adam\",\n      \"last\": \"Lewis\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4590,\n        \"name\": \"Manchester Street\"\n      },\n      \"city\": \"Christchurch\",\n      \"state\": \"Nelson\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 13971,\n      \"coordinates\": {\n        \"latitude\": \"-70.7692\",\n        \"longitude\": \"65.8173\"\n      },\n      \"timezone\": {\n        \"offset\": \"-7:00\",\n        \"description\": \"Mountain Time (US & Canada)\"\n      }\n    },\n    \"email\": \"adam.lewis@example.com\",\n    \"login\": {\n      \"uuid\": \"c59db1fc-acfc-4c3c-bb52-7947508915cd\",\n      \"username\": \"smallladybug778\",\n      \"password\": \"jacob\",\n      \"salt\": \"HNB1JfPL\",\n      \"md5\": \"752f37c483231243cf1b4f4486ae9711\",\n      \"sha1\": \"c25edae76e42251f9d93c5ef81d926aa9dfab021\",\n      \"sha256\": \"3e126e684482ba5a33133bd7f8df88169c572a02387a4c0cbbff0680a7256f15\"\n    },\n    \"dob\": {\n      \"date\": \"1988-06-14T21:30:25.129Z\",\n      \"age\": 34\n    },\n    \"registered\": {\n      \"date\": \"2008-08-03T08:17:50.341Z\",\n      \"age\": 14\n    },\n    \"phone\": \"(111)-596-3545\",\n    \"cell\": \"(517)-293-9844\",\n    \"id\": 344,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/85.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/85.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/85.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Alberte\",\n      \"last\": \"Kristensen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7198,\n        \"name\": \"Højmarksvej\"\n      },\n      \"city\": \"Sommersted\",\n      \"state\": \"Sjælland\",\n      \"country\": \"Denmark\",\n      \"postcode\": 53017,\n      \"coordinates\": {\n        \"latitude\": \"-45.1506\",\n        \"longitude\": \"-29.1236\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:00\",\n        \"description\": \"Brazil, Buenos Aires, Georgetown\"\n      }\n    },\n    \"email\": \"alberte.kristensen@example.com\",\n    \"login\": {\n      \"uuid\": \"ac147fee-e36f-4a73-817c-00c219ef5a78\",\n      \"username\": \"blacktiger430\",\n      \"password\": \"steeler\",\n      \"salt\": \"jMDUXs2t\",\n      \"md5\": \"785944f44782d7574e0dd9e89ab40d34\",\n      \"sha1\": \"827f64a25a2044fe55fa9340cdb161706d9ecc6b\",\n      \"sha256\": \"5da968a0bd20f1bdf46c9e2c887d6b27767c107226b077a94dff8925de65c9cd\"\n    },\n    \"dob\": {\n      \"date\": \"1947-09-02T20:58:43.062Z\",\n      \"age\": 75\n    },\n    \"registered\": {\n      \"date\": \"2010-09-04T04:20:16.472Z\",\n      \"age\": 12\n    },\n    \"phone\": \"59046858\",\n    \"cell\": \"22826072\",\n    \"id\": 345,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/70.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/70.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/70.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Aylin\",\n      \"last\": \"Adriaens\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2250,\n        \"name\": \"Augustinushof\"\n      },\n      \"city\": \"Angerlo\",\n      \"state\": \"Drenthe\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"8651 EQ\",\n      \"coordinates\": {\n        \"latitude\": \"-40.2483\",\n        \"longitude\": \"-47.1167\"\n      },\n      \"timezone\": {\n        \"offset\": \"+2:00\",\n        \"description\": \"Kaliningrad, South Africa\"\n      }\n    },\n    \"email\": \"aylin.adriaens@example.com\",\n    \"login\": {\n      \"uuid\": \"43c12894-92b2-41af-a8c3-9f95f340f20f\",\n      \"username\": \"yellowpeacock952\",\n      \"password\": \"daylight\",\n      \"salt\": \"siFRhGtD\",\n      \"md5\": \"c237a42e3f194b9145e71b2a85c94839\",\n      \"sha1\": \"e2d31a1b25dd8e2b1f2ae8ae7ea0ca6c118d8397\",\n      \"sha256\": \"9e9b985505622a79a40aac5f31ea33ee5441354fc3f379da82ccd09ebed7fb66\"\n    },\n    \"dob\": {\n      \"date\": \"1960-01-23T13:41:59.080Z\",\n      \"age\": 63\n    },\n    \"registered\": {\n      \"date\": \"2005-02-17T11:41:57.118Z\",\n      \"age\": 18\n    },\n    \"phone\": \"(0323) 561158\",\n    \"cell\": \"(06) 98484517\",\n    \"id\": 346,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/92.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/92.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/92.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Kenzo\",\n      \"last\": \"Chevalier\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6454,\n        \"name\": \"Rue de L'Abbé-Grégoire\"\n      },\n      \"city\": \"Paris\",\n      \"state\": \"Yvelines\",\n      \"country\": \"France\",\n      \"postcode\": 18602,\n      \"coordinates\": {\n        \"latitude\": \"-82.4703\",\n        \"longitude\": \"117.9280\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:30\",\n        \"description\": \"Bombay, Calcutta, Madras, New Delhi\"\n      }\n    },\n    \"email\": \"kenzo.chevalier@example.com\",\n    \"login\": {\n      \"uuid\": \"a358f971-6137-48bf-82d5-c2ff4704b782\",\n      \"username\": \"blackbear743\",\n      \"password\": \"operator\",\n      \"salt\": \"DSzSCcfP\",\n      \"md5\": \"f61cc85c08de296636134ed568edb608\",\n      \"sha1\": \"3adb935d538c0f959af7b77553aadbe6801d1249\",\n      \"sha256\": \"96576a0383e1bdd50fec9c0baf875fc313fd9cd3e02ce7c760f65121ed6ad619\"\n    },\n    \"dob\": {\n      \"date\": \"1961-04-08T02:26:21.630Z\",\n      \"age\": 62\n    },\n    \"registered\": {\n      \"date\": \"2007-07-22T22:54:00.102Z\",\n      \"age\": 15\n    },\n    \"phone\": \"03-70-58-64-91\",\n    \"cell\": \"06-60-60-00-09\",\n    \"id\": 347,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/96.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/96.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/96.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Adrian\",\n      \"last\": \"Newman\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6531,\n        \"name\": \"North Street\"\n      },\n      \"city\": \"Winchester\",\n      \"state\": \"Kent\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"G9 5WR\",\n      \"coordinates\": {\n        \"latitude\": \"85.1857\",\n        \"longitude\": \"101.9616\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:30\",\n        \"description\": \"Kabul\"\n      }\n    },\n    \"email\": \"adrian.newman@example.com\",\n    \"login\": {\n      \"uuid\": \"34dc3f5e-dbc8-4d8b-9d3a-0497a8c08175\",\n      \"username\": \"smallsnake600\",\n      \"password\": \"travis1\",\n      \"salt\": \"XT1FSNRD\",\n      \"md5\": \"5c4d06961e3c06c7550e18cbeac970c7\",\n      \"sha1\": \"074baa2662c0ca6025a6ad6b4d7f11db74efbafe\",\n      \"sha256\": \"69d748bf6159062b8dbda15b6215d295722013a3d6dc33046a25ce4666a61136\"\n    },\n    \"dob\": {\n      \"date\": \"1974-12-28T13:52:06.238Z\",\n      \"age\": 48\n    },\n    \"registered\": {\n      \"date\": \"2014-07-05T02:54:09.842Z\",\n      \"age\": 8\n    },\n    \"phone\": \"016974 34398\",\n    \"cell\": \"07652 905563\",\n    \"id\": 348,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/90.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/90.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/90.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Valentin\",\n      \"last\": \"Barrios\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9544,\n        \"name\": \"Diagonal Sur Apodaca\"\n      },\n      \"city\": \"El Zacatón\",\n      \"state\": \"Quintana Roo\",\n      \"country\": \"Mexico\",\n      \"postcode\": 81079,\n      \"coordinates\": {\n        \"latitude\": \"40.6721\",\n        \"longitude\": \"-127.6980\"\n      },\n      \"timezone\": {\n        \"offset\": \"+6:00\",\n        \"description\": \"Almaty, Dhaka, Colombo\"\n      }\n    },\n    \"email\": \"valentin.barrios@example.com\",\n    \"login\": {\n      \"uuid\": \"14d971e6-1ee1-4ef8-9879-2fc75352b8a9\",\n      \"username\": \"ticklishlion276\",\n      \"password\": \"rebels\",\n      \"salt\": \"SxSZx45P\",\n      \"md5\": \"6c37e2c4107e4928526a9cf07bbcde93\",\n      \"sha1\": \"5755af846b4b1283d7e866c9d82aa77998e3b98f\",\n      \"sha256\": \"0eae66139415330a8a6293ca8cbde98cc1aaa8fbef5720f2430422581efce6f9\"\n    },\n    \"dob\": {\n      \"date\": \"1977-08-09T23:23:32.627Z\",\n      \"age\": 45\n    },\n    \"registered\": {\n      \"date\": \"2018-07-29T03:44:14.216Z\",\n      \"age\": 4\n    },\n    \"phone\": \"(628) 539 5367\",\n    \"cell\": \"(627) 819 7982\",\n    \"id\": 349,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/16.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/16.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/16.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Jayanti\",\n      \"last\": \"De Raad\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2862,\n        \"name\": \"Argusstraat\"\n      },\n      \"city\": \"De Zilk\",\n      \"state\": \"Overijssel\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"9695 NK\",\n      \"coordinates\": {\n        \"latitude\": \"-77.1180\",\n        \"longitude\": \"29.8474\"\n      },\n      \"timezone\": {\n        \"offset\": \"+2:00\",\n        \"description\": \"Kaliningrad, South Africa\"\n      }\n    },\n    \"email\": \"jayanti.deraad@example.com\",\n    \"login\": {\n      \"uuid\": \"4ece6e55-bcda-4ff3-963f-547547f68eb2\",\n      \"username\": \"bigzebra932\",\n      \"password\": \"easy\",\n      \"salt\": \"3PlmU40c\",\n      \"md5\": \"2d18cb723a1df4bc4c310ff893617dfa\",\n      \"sha1\": \"dcd3dfeb73e6994f0d8cf536109efe2a37a2dc2d\",\n      \"sha256\": \"60fe966fd5059a51add2e0d298a4e214ebcfdba1b633220e9349cd8457684da1\"\n    },\n    \"dob\": {\n      \"date\": \"1958-04-23T21:29:05.461Z\",\n      \"age\": 65\n    },\n    \"registered\": {\n      \"date\": \"2008-02-23T09:20:51.183Z\",\n      \"age\": 15\n    },\n    \"phone\": \"(0953) 872630\",\n    \"cell\": \"(06) 94220834\",\n    \"id\": 350,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/91.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/91.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/91.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Tristan\",\n      \"last\": \"Møller\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5311,\n        \"name\": \"Skovbrynet\"\n      },\n      \"city\": \"Lundby\",\n      \"state\": \"Nordjylland\",\n      \"country\": \"Denmark\",\n      \"postcode\": 18556,\n      \"coordinates\": {\n        \"latitude\": \"-3.9048\",\n        \"longitude\": \"124.3717\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:00\",\n        \"description\": \"Tokyo, Seoul, Osaka, Sapporo, Yakutsk\"\n      }\n    },\n    \"email\": \"tristan.moller@example.com\",\n    \"login\": {\n      \"uuid\": \"39fb9919-d78c-46bf-9b0b-64045922fb26\",\n      \"username\": \"bigfrog424\",\n      \"password\": \"dwayne\",\n      \"salt\": \"jWkXRGRM\",\n      \"md5\": \"09baf6081b0f1a27c87dff8b28dbc59a\",\n      \"sha1\": \"245009b2a69937b47416c5ac126befbd03e133cc\",\n      \"sha256\": \"c847b2be524cb51cd53d1af7d3488e351fc5886ef271e56e3f706f96a090ec10\"\n    },\n    \"dob\": {\n      \"date\": \"1955-12-28T20:02:02.191Z\",\n      \"age\": 67\n    },\n    \"registered\": {\n      \"date\": \"2006-08-03T10:38:02.707Z\",\n      \"age\": 16\n    },\n    \"phone\": \"29114314\",\n    \"cell\": \"90385442\",\n    \"id\": 351,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/15.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/15.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/15.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Liva\",\n      \"last\": \"Olsen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1584,\n        \"name\": \"Ryttervej\"\n      },\n      \"city\": \"Pandrup\",\n      \"state\": \"Nordjylland\",\n      \"country\": \"Denmark\",\n      \"postcode\": 54781,\n      \"coordinates\": {\n        \"latitude\": \"30.3095\",\n        \"longitude\": \"-66.2631\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:45\",\n        \"description\": \"Kathmandu\"\n      }\n    },\n    \"email\": \"liva.olsen@example.com\",\n    \"login\": {\n      \"uuid\": \"49deaa89-77f6-411c-b072-1471805874f8\",\n      \"username\": \"redlion865\",\n      \"password\": \"celeb\",\n      \"salt\": \"6LshbUMy\",\n      \"md5\": \"b2bcd0414cff386be3d98f3c92b47b9e\",\n      \"sha1\": \"91b4aed4fe3b8d12ef5207238147a49744426a7d\",\n      \"sha256\": \"9e7fcf390bfaa67dae85944aa7be68c79e503f31e07c7aa2566a415d40f0c7aa\"\n    },\n    \"dob\": {\n      \"date\": \"1949-11-16T09:00:53.813Z\",\n      \"age\": 73\n    },\n    \"registered\": {\n      \"date\": \"2009-12-19T20:32:52.538Z\",\n      \"age\": 13\n    },\n    \"phone\": \"00621278\",\n    \"cell\": \"05153138\",\n    \"id\": 352,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/16.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/16.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/16.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Jovanny\",\n      \"last\": \"Bakkenes\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1539,\n        \"name\": \"Egbert van Drielststraat\"\n      },\n      \"city\": \"Ubbenga\",\n      \"state\": \"Groningen\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"6146 VO\",\n      \"coordinates\": {\n        \"latitude\": \"62.8621\",\n        \"longitude\": \"71.6179\"\n      },\n      \"timezone\": {\n        \"offset\": \"-5:00\",\n        \"description\": \"Eastern Time (US & Canada), Bogota, Lima\"\n      }\n    },\n    \"email\": \"jovanny.bakkenes@example.com\",\n    \"login\": {\n      \"uuid\": \"1746a5f9-bbb6-47ac-b493-1d8e0935ef5f\",\n      \"username\": \"greenlion973\",\n      \"password\": \"maggie\",\n      \"salt\": \"Ie8tJgKS\",\n      \"md5\": \"901a87fe85c5e5de0fe9780ca4d8c35e\",\n      \"sha1\": \"cc8cb79104c50c17549e2260001f4ddc07d73745\",\n      \"sha256\": \"80692de6660615566548b14bb8638892649989c44ae3614a361401b3afdfe851\"\n    },\n    \"dob\": {\n      \"date\": \"1974-04-09T15:41:03.746Z\",\n      \"age\": 49\n    },\n    \"registered\": {\n      \"date\": \"2006-07-08T14:58:15.943Z\",\n      \"age\": 16\n    },\n    \"phone\": \"(017) 3028696\",\n    \"cell\": \"(06) 96468553\",\n    \"id\": 353,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/38.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/38.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/38.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Abigail\",\n      \"last\": \"Garza\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4833,\n        \"name\": \"The Crescent\"\n      },\n      \"city\": \"Winchester\",\n      \"state\": \"Hertfordshire\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"H2 4RD\",\n      \"coordinates\": {\n        \"latitude\": \"-44.2486\",\n        \"longitude\": \"-52.2062\"\n      },\n      \"timezone\": {\n        \"offset\": \"+2:00\",\n        \"description\": \"Kaliningrad, South Africa\"\n      }\n    },\n    \"email\": \"abigail.garza@example.com\",\n    \"login\": {\n      \"uuid\": \"d41c67cb-6a46-4ad0-b367-7df602dbbfb4\",\n      \"username\": \"goldenbird778\",\n      \"password\": \"azerty\",\n      \"salt\": \"impgquRp\",\n      \"md5\": \"d662c5d76939cd728369defdc1523e16\",\n      \"sha1\": \"511086c8f59daa9a642a13376ea95b733e304d32\",\n      \"sha256\": \"6444c618c9bdab664528294e3b2b7dfeb5872c53b50cf4961ba6987f65c2a767\"\n    },\n    \"dob\": {\n      \"date\": \"1974-04-25T14:12:19.146Z\",\n      \"age\": 49\n    },\n    \"registered\": {\n      \"date\": \"2012-05-03T22:59:54.072Z\",\n      \"age\": 11\n    },\n    \"phone\": \"016977 5942\",\n    \"cell\": \"07414 979892\",\n    \"id\": 354,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/39.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/39.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/39.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Nellie\",\n      \"last\": \"Koerhuis\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 949,\n        \"name\": \"Centimehof\"\n      },\n      \"city\": \"Vredepeel\",\n      \"state\": \"Gelderland\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"3136 GN\",\n      \"coordinates\": {\n        \"latitude\": \"71.0032\",\n        \"longitude\": \"98.7049\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:30\",\n        \"description\": \"Adelaide, Darwin\"\n      }\n    },\n    \"email\": \"nellie.koerhuis@example.com\",\n    \"login\": {\n      \"uuid\": \"aa7f2f82-78ef-47aa-a7a3-54bf102b32f8\",\n      \"username\": \"happyladybug979\",\n      \"password\": \"earth\",\n      \"salt\": \"YhTeuCSv\",\n      \"md5\": \"29861822877ea2558cf06a48a18be03b\",\n      \"sha1\": \"caf42ab436e64311561f3200c876598660838152\",\n      \"sha256\": \"3bc23e604d5f603e22c458fd127aa41d8ad916c6d362a5034a8ab0ceb99cdfcd\"\n    },\n    \"dob\": {\n      \"date\": \"1962-02-23T00:06:01.848Z\",\n      \"age\": 61\n    },\n    \"registered\": {\n      \"date\": \"2010-07-31T09:20:23.044Z\",\n      \"age\": 12\n    },\n    \"phone\": \"(0698) 191014\",\n    \"cell\": \"(06) 49637605\",\n    \"id\": 355,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/58.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/58.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/58.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Dimitrije\",\n      \"last\": \"Tešić\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 61,\n        \"name\": \"Platana\"\n      },\n      \"city\": \"Petrovac na Mlavi\",\n      \"state\": \"Toplica\",\n      \"country\": \"Serbia\",\n      \"postcode\": 27924,\n      \"coordinates\": {\n        \"latitude\": \"53.5340\",\n        \"longitude\": \"-48.1693\"\n      },\n      \"timezone\": {\n        \"offset\": \"+10:00\",\n        \"description\": \"Eastern Australia, Guam, Vladivostok\"\n      }\n    },\n    \"email\": \"dimitrije.tesic@example.com\",\n    \"login\": {\n      \"uuid\": \"d304a352-b26d-4996-b230-064e441b947e\",\n      \"username\": \"angryrabbit475\",\n      \"password\": \"monkey12\",\n      \"salt\": \"EiSvT8MP\",\n      \"md5\": \"7f03f25024bff5c6b3dd3b7ab41f5407\",\n      \"sha1\": \"82259de7d33b14ec547b23f88a4b34c30f7d88e1\",\n      \"sha256\": \"03620bea1e92d2e02a0e07f709745d5a589c27cd95663eee823e0fe8d6793e13\"\n    },\n    \"dob\": {\n      \"date\": \"1971-04-23T23:16:54.387Z\",\n      \"age\": 52\n    },\n    \"registered\": {\n      \"date\": \"2006-05-14T23:34:38.559Z\",\n      \"age\": 17\n    },\n    \"phone\": \"020-4800-402\",\n    \"cell\": \"065-3676-365\",\n    \"id\": 356,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/74.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/74.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/74.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"عرشيا\",\n      \"last\": \"کوتی\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4859,\n        \"name\": \"جمهوری اسلامی\"\n      },\n      \"city\": \"بیرجند\",\n      \"state\": \"آذربایجان غربی\",\n      \"country\": \"Iran\",\n      \"postcode\": 94162,\n      \"coordinates\": {\n        \"latitude\": \"-67.5448\",\n        \"longitude\": \"-53.1664\"\n      },\n      \"timezone\": {\n        \"offset\": \"+2:00\",\n        \"description\": \"Kaliningrad, South Africa\"\n      }\n    },\n    \"email\": \"aarshy.khwty@example.com\",\n    \"login\": {\n      \"uuid\": \"42bf6d90-506b-4154-a81d-62825f239f71\",\n      \"username\": \"redgoose249\",\n      \"password\": \"premier\",\n      \"salt\": \"LlQL2vk5\",\n      \"md5\": \"8e3e34a5d85a140f079b802fbc71a9b6\",\n      \"sha1\": \"7bde2d884de1a478159b23b8088d018c8b9bf063\",\n      \"sha256\": \"fa54192a7c68f6e85c56529d452ab383adf07ba216188072294880582e13f322\"\n    },\n    \"dob\": {\n      \"date\": \"1960-12-05T12:26:38.354Z\",\n      \"age\": 62\n    },\n    \"registered\": {\n      \"date\": \"2021-10-25T18:50:06.496Z\",\n      \"age\": 1\n    },\n    \"phone\": \"005-02124372\",\n    \"cell\": \"0955-691-7871\",\n    \"id\": 357,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/30.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/30.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/30.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Gerko\",\n      \"last\": \"Van Woudenberg\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2821,\n        \"name\": \"Beetke van Rasquertstraat\"\n      },\n      \"city\": \"Rietmolen\",\n      \"state\": \"Noord-Holland\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"4746 EE\",\n      \"coordinates\": {\n        \"latitude\": \"13.0114\",\n        \"longitude\": \"139.4149\"\n      },\n      \"timezone\": {\n        \"offset\": \"-9:00\",\n        \"description\": \"Alaska\"\n      }\n    },\n    \"email\": \"gerko.vanwoudenberg@example.com\",\n    \"login\": {\n      \"uuid\": \"2f0294b6-4998-4287-a7b0-b3c5b88711e6\",\n      \"username\": \"whiteswan122\",\n      \"password\": \"madison1\",\n      \"salt\": \"ijCNP7dH\",\n      \"md5\": \"daad9d0e027520b7939b2f8a4a682d83\",\n      \"sha1\": \"39badfe6f9325181eba51cdb3d20b9fb502c17a4\",\n      \"sha256\": \"9309c8ab2b8801850e2e7244611745e3e1324f9745d7e6fa6fff44f220e01f18\"\n    },\n    \"dob\": {\n      \"date\": \"1969-02-19T00:35:15.939Z\",\n      \"age\": 54\n    },\n    \"registered\": {\n      \"date\": \"2022-02-25T06:01:32.848Z\",\n      \"age\": 1\n    },\n    \"phone\": \"(072) 3734261\",\n    \"cell\": \"(06) 44124905\",\n    \"id\": 358,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/3.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/3.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/3.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Ramiro\",\n      \"last\": \"Regalado\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4128,\n        \"name\": \"Callejón Sur Naranjo\"\n      },\n      \"city\": \"Cañadas de Obregón\",\n      \"state\": \"Veracruz\",\n      \"country\": \"Mexico\",\n      \"postcode\": 86882,\n      \"coordinates\": {\n        \"latitude\": \"-32.0625\",\n        \"longitude\": \"72.1508\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:00\",\n        \"description\": \"Abu Dhabi, Muscat, Baku, Tbilisi\"\n      }\n    },\n    \"email\": \"ramiro.regalado@example.com\",\n    \"login\": {\n      \"uuid\": \"9387a699-c325-40e1-91f3-2919283884e7\",\n      \"username\": \"redmouse854\",\n      \"password\": \"camelot\",\n      \"salt\": \"fw34qTTu\",\n      \"md5\": \"049d115dabd51aa8e419e77f52c3fa58\",\n      \"sha1\": \"b9bf49eb54e89b5d97ead81f2b2707b726021677\",\n      \"sha256\": \"04be906f5d06eefd7d39435936ce29ef847f5799967497acb8b94b203ae29f25\"\n    },\n    \"dob\": {\n      \"date\": \"1946-04-30T18:41:12.409Z\",\n      \"age\": 77\n    },\n    \"registered\": {\n      \"date\": \"2009-04-09T14:36:40.684Z\",\n      \"age\": 14\n    },\n    \"phone\": \"(604) 852 1587\",\n    \"cell\": \"(612) 470 8813\",\n    \"id\": 359,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/46.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/46.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/46.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Vivan\",\n      \"last\": \"Spencer\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7376,\n        \"name\": \"Crockett St\"\n      },\n      \"city\": \"Maitland\",\n      \"state\": \"New South Wales\",\n      \"country\": \"Australia\",\n      \"postcode\": 9983,\n      \"coordinates\": {\n        \"latitude\": \"20.7871\",\n        \"longitude\": \"25.1616\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:30\",\n        \"description\": \"Bombay, Calcutta, Madras, New Delhi\"\n      }\n    },\n    \"email\": \"vivan.spencer@example.com\",\n    \"login\": {\n      \"uuid\": \"63126618-13b4-4198-b764-a42cf2336c1f\",\n      \"username\": \"redcat939\",\n      \"password\": \"quest1\",\n      \"salt\": \"GHPYGDsG\",\n      \"md5\": \"a217e8f53a804b6c612d47c503a0d5fb\",\n      \"sha1\": \"7949aa09a5f13215accd523bca623902f259533d\",\n      \"sha256\": \"755c04b7b844b0d99393fc3b98da9dfdeac1952a9e2fd299a278739f2dd0c503\"\n    },\n    \"dob\": {\n      \"date\": \"1997-06-09T02:42:59.496Z\",\n      \"age\": 25\n    },\n    \"registered\": {\n      \"date\": \"2020-01-26T18:32:13.472Z\",\n      \"age\": 3\n    },\n    \"phone\": \"03-4243-3858\",\n    \"cell\": \"0444-720-760\",\n    \"id\": 360,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/12.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/12.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/12.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Saïd\",\n      \"last\": \"Roes\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2283,\n        \"name\": \"Gravin Margarethastraat\"\n      },\n      \"city\": \"Tilburg\",\n      \"state\": \"Limburg\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"6710 CG\",\n      \"coordinates\": {\n        \"latitude\": \"66.8905\",\n        \"longitude\": \"3.0331\"\n      },\n      \"timezone\": {\n        \"offset\": \"+6:00\",\n        \"description\": \"Almaty, Dhaka, Colombo\"\n      }\n    },\n    \"email\": \"said.roes@example.com\",\n    \"login\": {\n      \"uuid\": \"5e3fef35-7d21-4d47-8878-9c7de35cd924\",\n      \"username\": \"greenpeacock126\",\n      \"password\": \"monty\",\n      \"salt\": \"YsFyGLY4\",\n      \"md5\": \"f938cc647ad8df48e5e666bcb7fca851\",\n      \"sha1\": \"941755346e6dc914e43908f42e0cf59ebd072216\",\n      \"sha256\": \"b9be8a734195d7587d03a26801812aa6df59f8fd984a5f556c46a35dd7676b71\"\n    },\n    \"dob\": {\n      \"date\": \"1987-08-14T11:26:30.299Z\",\n      \"age\": 35\n    },\n    \"registered\": {\n      \"date\": \"2008-12-18T17:39:15.785Z\",\n      \"age\": 14\n    },\n    \"phone\": \"(074) 8710958\",\n    \"cell\": \"(06) 68678029\",\n    \"id\": 361,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/83.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/83.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/83.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Lily\",\n      \"last\": \"Jackson\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8076,\n        \"name\": \"South Western Arterial\"\n      },\n      \"city\": \"Napier\",\n      \"state\": \"Taranaki\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 73674,\n      \"coordinates\": {\n        \"latitude\": \"-36.7513\",\n        \"longitude\": \"-125.3168\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:30\",\n        \"description\": \"Tehran\"\n      }\n    },\n    \"email\": \"lily.jackson@example.com\",\n    \"login\": {\n      \"uuid\": \"008b5f9b-b889-4abf-87d7-3073d38d4141\",\n      \"username\": \"lazykoala381\",\n      \"password\": \"cococo\",\n      \"salt\": \"GBaOgmDZ\",\n      \"md5\": \"4e1f8eab1589898fc80a2c9d938bed74\",\n      \"sha1\": \"d234287be19fcf13d34570e87a5124e24592ccf5\",\n      \"sha256\": \"832373e906d39f5c8ebf1b9e2e83d861c6f52062d6e9b32b0818272646088899\"\n    },\n    \"dob\": {\n      \"date\": \"2000-11-01T20:03:14.595Z\",\n      \"age\": 22\n    },\n    \"registered\": {\n      \"date\": \"2015-01-01T15:22:46.557Z\",\n      \"age\": 8\n    },\n    \"phone\": \"(386)-792-8675\",\n    \"cell\": \"(520)-283-6726\",\n    \"id\": 362,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/13.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/13.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/13.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Ella\",\n      \"last\": \"Anderson\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6664,\n        \"name\": \"York St\"\n      },\n      \"city\": \"Alma\",\n      \"state\": \"New Brunswick\",\n      \"country\": \"Canada\",\n      \"postcode\": \"F1F 7K2\",\n      \"coordinates\": {\n        \"latitude\": \"67.8222\",\n        \"longitude\": \"0.1770\"\n      },\n      \"timezone\": {\n        \"offset\": \"+7:00\",\n        \"description\": \"Bangkok, Hanoi, Jakarta\"\n      }\n    },\n    \"email\": \"ella.anderson@example.com\",\n    \"login\": {\n      \"uuid\": \"37feaebf-1c9c-4144-a843-47b8e4068bcf\",\n      \"username\": \"whitefrog562\",\n      \"password\": \"expert\",\n      \"salt\": \"18j0tIxr\",\n      \"md5\": \"0dccd206b1e9d231314fa50a3dbf0396\",\n      \"sha1\": \"a2f4d10cd149bc1a038c7774367d0c524f855eb8\",\n      \"sha256\": \"7b59de457aba726150fde9e75ca541795c1eaf428c10da5de6cf516344e94d80\"\n    },\n    \"dob\": {\n      \"date\": \"1996-09-07T15:53:56.031Z\",\n      \"age\": 26\n    },\n    \"registered\": {\n      \"date\": \"2021-10-04T17:38:47.232Z\",\n      \"age\": 1\n    },\n    \"phone\": \"C61 G16-2722\",\n    \"cell\": \"P17 Q93-9540\",\n    \"id\": 363,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/61.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/61.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/61.jpg\"\n    },\n    \"nat\": \"CA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Alyssa\",\n      \"last\": \"Fernandez\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2369,\n        \"name\": \"Avenue du Château\"\n      },\n      \"city\": \"Vitry-sur-Seine\",\n      \"state\": \"Ille-et-Vilaine\",\n      \"country\": \"France\",\n      \"postcode\": 16765,\n      \"coordinates\": {\n        \"latitude\": \"33.1472\",\n        \"longitude\": \"-128.4805\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:00\",\n        \"description\": \"Brazil, Buenos Aires, Georgetown\"\n      }\n    },\n    \"email\": \"alyssa.fernandez@example.com\",\n    \"login\": {\n      \"uuid\": \"f61c4a5b-7005-458b-8902-3e7a1f3070e7\",\n      \"username\": \"organicleopard639\",\n      \"password\": \"sinatra\",\n      \"salt\": \"S5D1d5rl\",\n      \"md5\": \"f58bc3d24cf4d3217ba168a1d5ba59f1\",\n      \"sha1\": \"7acaef2548cd6522f55824dc27094c225d82f56c\",\n      \"sha256\": \"7b24972b1c588eaf292518bb6d136ab282d5c76dc0e731de1fb704b48b2dcaf9\"\n    },\n    \"dob\": {\n      \"date\": \"1968-10-03T05:10:35.720Z\",\n      \"age\": 54\n    },\n    \"registered\": {\n      \"date\": \"2005-03-16T00:26:27.507Z\",\n      \"age\": 18\n    },\n    \"phone\": \"03-07-87-57-63\",\n    \"cell\": \"06-02-61-49-88\",\n    \"id\": 364,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/78.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/78.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/78.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Reginald\",\n      \"last\": \"Burke\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 330,\n        \"name\": \"Queensway\"\n      },\n      \"city\": \"Dundee\",\n      \"state\": \"Cambridgeshire\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"OA38 2AP\",\n      \"coordinates\": {\n        \"latitude\": \"-26.3132\",\n        \"longitude\": \"16.3170\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:30\",\n        \"description\": \"Bombay, Calcutta, Madras, New Delhi\"\n      }\n    },\n    \"email\": \"reginald.burke@example.com\",\n    \"login\": {\n      \"uuid\": \"b6baefb2-c5f9-4f8c-9406-172040146a20\",\n      \"username\": \"tinypanda703\",\n      \"password\": \"hubert\",\n      \"salt\": \"dAqrcbt3\",\n      \"md5\": \"e9beaf9c60bde89c68e1652344786cb6\",\n      \"sha1\": \"01d66dff68ab25b951f90ff6a05fdf4979efe021\",\n      \"sha256\": \"850d9c4c70f9f170434ae69f94a3aab0c43026e5591e0da1d8a9c0ecbcd65487\"\n    },\n    \"dob\": {\n      \"date\": \"1988-06-19T15:04:51.765Z\",\n      \"age\": 34\n    },\n    \"registered\": {\n      \"date\": \"2003-08-11T14:15:55.127Z\",\n      \"age\": 19\n    },\n    \"phone\": \"01964 72473\",\n    \"cell\": \"07939 169430\",\n    \"id\": 365,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/29.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/29.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/29.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Monsieur\",\n      \"first\": \"Manuel\",\n      \"last\": \"Dupuis\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6021,\n        \"name\": \"Place Paul-Duquaire\"\n      },\n      \"city\": \"Lommis\",\n      \"state\": \"Obwalden\",\n      \"country\": \"Switzerland\",\n      \"postcode\": 2412,\n      \"coordinates\": {\n        \"latitude\": \"-38.3713\",\n        \"longitude\": \"134.5561\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"manuel.dupuis@example.com\",\n    \"login\": {\n      \"uuid\": \"e3be9da7-503a-410d-9c24-740fdc9c7e5a\",\n      \"username\": \"heavyladybug354\",\n      \"password\": \"stupid1\",\n      \"salt\": \"k582Dzjk\",\n      \"md5\": \"882c9ad7517b451bc0279ee28881e581\",\n      \"sha1\": \"ac535a85fb07c6b858dceefed24f20dc9ec9edf6\",\n      \"sha256\": \"2407916c3b77db8d5f0791c58bf842672bc21df83d28559172b8d38d19e6a384\"\n    },\n    \"dob\": {\n      \"date\": \"1965-05-01T16:18:36.686Z\",\n      \"age\": 58\n    },\n    \"registered\": {\n      \"date\": \"2009-06-13T14:00:53.663Z\",\n      \"age\": 13\n    },\n    \"phone\": \"075 268 86 45\",\n    \"cell\": \"079 930 99 60\",\n    \"id\": 366,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/50.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/50.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/50.jpg\"\n    },\n    \"nat\": \"CH\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Dennis\",\n      \"last\": \"Campbell\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4267,\n        \"name\": \"Park Avenue\"\n      },\n      \"city\": \"York\",\n      \"state\": \"Buckinghamshire\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"T5O 0XT\",\n      \"coordinates\": {\n        \"latitude\": \"-40.4971\",\n        \"longitude\": \"-166.6753\"\n      },\n      \"timezone\": {\n        \"offset\": \"-6:00\",\n        \"description\": \"Central Time (US & Canada), Mexico City\"\n      }\n    },\n    \"email\": \"dennis.campbell@example.com\",\n    \"login\": {\n      \"uuid\": \"ebcdba7f-22a5-49d5-b719-777c542cf27f\",\n      \"username\": \"smallgoose892\",\n      \"password\": \"radiohea\",\n      \"salt\": \"QMiZXWQE\",\n      \"md5\": \"b2d7d102a60309b744899780b0104596\",\n      \"sha1\": \"2434b163700b93f0dc4ac5e0fd251c5e0a7e11f9\",\n      \"sha256\": \"9976414aa2180f0f5ae9186a53e1d004743c3963cda69d354b375369c5e2da7d\"\n    },\n    \"dob\": {\n      \"date\": \"1955-09-18T01:49:30.052Z\",\n      \"age\": 67\n    },\n    \"registered\": {\n      \"date\": \"2017-02-11T05:30:29.682Z\",\n      \"age\": 6\n    },\n    \"phone\": \"015396 56665\",\n    \"cell\": \"07205 825413\",\n    \"id\": 367,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/61.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/61.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/61.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Tamara\",\n      \"last\": \"Ivanović\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9627,\n        \"name\": \"Smederevski Put\"\n      },\n      \"city\": \"Prizren\",\n      \"state\": \"Prizren\",\n      \"country\": \"Serbia\",\n      \"postcode\": 35553,\n      \"coordinates\": {\n        \"latitude\": \"-28.4089\",\n        \"longitude\": \"129.0641\"\n      },\n      \"timezone\": {\n        \"offset\": \"0:00\",\n        \"description\": \"Western Europe Time, London, Lisbon, Casablanca\"\n      }\n    },\n    \"email\": \"tamara.ivanovic@example.com\",\n    \"login\": {\n      \"uuid\": \"a32164ef-b712-411a-9c33-6611234017cd\",\n      \"username\": \"ticklishswan801\",\n      \"password\": \"roofer\",\n      \"salt\": \"F1PN44D2\",\n      \"md5\": \"63dfe30aa0064e6aea33a59fd525e955\",\n      \"sha1\": \"b1a993e4870be40495ba891796764592a7b9514e\",\n      \"sha256\": \"ccfbcc694ddb8a6c79bbcb6f01c59e09b0458f83a6a209453557cc5b07c59486\"\n    },\n    \"dob\": {\n      \"date\": \"1987-11-04T09:24:17.651Z\",\n      \"age\": 35\n    },\n    \"registered\": {\n      \"date\": \"2003-08-13T05:52:30.198Z\",\n      \"age\": 19\n    },\n    \"phone\": \"028-5523-693\",\n    \"cell\": \"064-8564-427\",\n    \"id\": 368,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/52.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/52.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/52.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Daniel\",\n      \"last\": \"Seppala\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9335,\n        \"name\": \"Pyynikintie\"\n      },\n      \"city\": \"Nastola\",\n      \"state\": \"Kainuu\",\n      \"country\": \"Finland\",\n      \"postcode\": 93915,\n      \"coordinates\": {\n        \"latitude\": \"59.0344\",\n        \"longitude\": \"-128.3987\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"daniel.seppala@example.com\",\n    \"login\": {\n      \"uuid\": \"242afdac-b323-402f-851d-696c6217f074\",\n      \"username\": \"angrybear727\",\n      \"password\": \"bull\",\n      \"salt\": \"V6fjEUeE\",\n      \"md5\": \"d4e7975823191f808046805883e72865\",\n      \"sha1\": \"a202c2e333acb78f317853ec85f67047bb7f893b\",\n      \"sha256\": \"4e2e4f5bd2e5558592742b31ff4dbe3d586ab35a4cae7d8492ae6ca146a71b7e\"\n    },\n    \"dob\": {\n      \"date\": \"2000-06-28T18:57:08.840Z\",\n      \"age\": 22\n    },\n    \"registered\": {\n      \"date\": \"2021-05-04T13:30:43.945Z\",\n      \"age\": 2\n    },\n    \"phone\": \"03-867-283\",\n    \"cell\": \"042-197-62-86\",\n    \"id\": 369,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/67.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/67.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/67.jpg\"\n    },\n    \"nat\": \"FI\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Debbie\",\n      \"last\": \"Fowler\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1942,\n        \"name\": \"Fincher Rd\"\n      },\n      \"city\": \"Hobart\",\n      \"state\": \"New South Wales\",\n      \"country\": \"Australia\",\n      \"postcode\": 8856,\n      \"coordinates\": {\n        \"latitude\": \"-71.5400\",\n        \"longitude\": \"-104.7324\"\n      },\n      \"timezone\": {\n        \"offset\": \"+2:00\",\n        \"description\": \"Kaliningrad, South Africa\"\n      }\n    },\n    \"email\": \"debbie.fowler@example.com\",\n    \"login\": {\n      \"uuid\": \"a541a886-c6a4-4003-ba7e-6449a164426b\",\n      \"username\": \"smallkoala433\",\n      \"password\": \"tototo\",\n      \"salt\": \"r8n3lKKF\",\n      \"md5\": \"c5e29e52e5cae9e2fd743969c2567c5a\",\n      \"sha1\": \"f9004cc359772656b1463472411281daa1dc6d54\",\n      \"sha256\": \"b09f8c37841fc916303fc9dfd96b9deecaa78b555d01a96c2f74698a77c38a06\"\n    },\n    \"dob\": {\n      \"date\": \"1992-10-16T13:38:31.660Z\",\n      \"age\": 30\n    },\n    \"registered\": {\n      \"date\": \"2007-09-12T13:42:48.428Z\",\n      \"age\": 15\n    },\n    \"phone\": \"09-5221-8547\",\n    \"cell\": \"0405-078-527\",\n    \"id\": 370,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/5.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/5.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/5.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Regine\",\n      \"last\": \"Dittmer\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3139,\n        \"name\": \"Gartenweg\"\n      },\n      \"city\": \"Gransee\",\n      \"state\": \"Hessen\",\n      \"country\": \"Germany\",\n      \"postcode\": 56981,\n      \"coordinates\": {\n        \"latitude\": \"-2.2873\",\n        \"longitude\": \"-70.6465\"\n      },\n      \"timezone\": {\n        \"offset\": \"-5:00\",\n        \"description\": \"Eastern Time (US & Canada), Bogota, Lima\"\n      }\n    },\n    \"email\": \"regine.dittmer@example.com\",\n    \"login\": {\n      \"uuid\": \"924e3dca-0f31-4ea9-94ec-91aa821777d1\",\n      \"username\": \"purplesnake325\",\n      \"password\": \"contract\",\n      \"salt\": \"kQvmPSOl\",\n      \"md5\": \"4c55818c31cf5a1488965ef817e286a4\",\n      \"sha1\": \"ebbb3c71dfc1d134ef14dfce5b418fe5bbff7e68\",\n      \"sha256\": \"491284fdceb09ebdb8701442eedcc0df04d588ea7f83b2f5a3af22bc8635df4e\"\n    },\n    \"dob\": {\n      \"date\": \"1946-05-30T01:30:04.118Z\",\n      \"age\": 76\n    },\n    \"registered\": {\n      \"date\": \"2013-06-08T00:52:14.127Z\",\n      \"age\": 9\n    },\n    \"phone\": \"0950-5718543\",\n    \"cell\": \"0178-9281309\",\n    \"id\": 371,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/74.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/74.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/74.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Brooke\",\n      \"last\": \"Spencer\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5739,\n        \"name\": \"Park Avenue\"\n      },\n      \"city\": \"Kinsealy-Drinan\",\n      \"state\": \"Mayo\",\n      \"country\": \"Ireland\",\n      \"postcode\": 54785,\n      \"coordinates\": {\n        \"latitude\": \"-28.9499\",\n        \"longitude\": \"-51.3399\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"brooke.spencer@example.com\",\n    \"login\": {\n      \"uuid\": \"faa5f51a-a321-446f-a6c5-8c0b62ba1a93\",\n      \"username\": \"brownelephant410\",\n      \"password\": \"stacey\",\n      \"salt\": \"ZLoOiQjc\",\n      \"md5\": \"1e1c042f1e21833d553f2a9a859b3e3e\",\n      \"sha1\": \"7a62fc0245035a47eb56d743a6995184b4465e90\",\n      \"sha256\": \"792ab098b6f76b69c8c534854ead636a8ef0182469b2703a95c5c1f5cc634930\"\n    },\n    \"dob\": {\n      \"date\": \"1983-08-05T06:47:39.724Z\",\n      \"age\": 39\n    },\n    \"registered\": {\n      \"date\": \"2013-06-01T18:07:26.876Z\",\n      \"age\": 9\n    },\n    \"phone\": \"061-565-3783\",\n    \"cell\": \"081-017-8793\",\n    \"id\": 372,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/86.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/86.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/86.jpg\"\n    },\n    \"nat\": \"IE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Vanesa\",\n      \"last\": \"Blanco\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9542,\n        \"name\": \"Ronda de Toledo\"\n      },\n      \"city\": \"Alcalá de Henares\",\n      \"state\": \"Comunidad Valenciana\",\n      \"country\": \"Spain\",\n      \"postcode\": 83670,\n      \"coordinates\": {\n        \"latitude\": \"73.5202\",\n        \"longitude\": \"98.1390\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:45\",\n        \"description\": \"Kathmandu\"\n      }\n    },\n    \"email\": \"vanesa.blanco@example.com\",\n    \"login\": {\n      \"uuid\": \"50f6a0a0-426d-4607-a6a4-670e3ed78749\",\n      \"username\": \"redleopard417\",\n      \"password\": \"juventus\",\n      \"salt\": \"28vgeK22\",\n      \"md5\": \"1dca3a5dbb7c3745fb0ae2eead3d2a8d\",\n      \"sha1\": \"d07817c97989465306922e1fd1aa1634ce9529a5\",\n      \"sha256\": \"391df05f696aaf39f3f94e318bf621e1891ddabda238d861591b213ba846da54\"\n    },\n    \"dob\": {\n      \"date\": \"1997-12-13T21:09:24.742Z\",\n      \"age\": 25\n    },\n    \"registered\": {\n      \"date\": \"2003-08-04T11:34:05.300Z\",\n      \"age\": 19\n    },\n    \"phone\": \"996-370-439\",\n    \"cell\": \"620-812-531\",\n    \"id\": 373,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/33.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/33.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/33.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Audun\",\n      \"last\": \"Skarstad\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3738,\n        \"name\": \"Rønningveien\"\n      },\n      \"city\": \"Sånum\",\n      \"state\": \"Oppland\",\n      \"country\": \"Norway\",\n      \"postcode\": \"3920\",\n      \"coordinates\": {\n        \"latitude\": \"-80.8092\",\n        \"longitude\": \"179.4290\"\n      },\n      \"timezone\": {\n        \"offset\": \"0:00\",\n        \"description\": \"Western Europe Time, London, Lisbon, Casablanca\"\n      }\n    },\n    \"email\": \"audun.skarstad@example.com\",\n    \"login\": {\n      \"uuid\": \"4e0483ac-bd36-4372-a0a0-0fe4ae7e0c39\",\n      \"username\": \"brownsnake433\",\n      \"password\": \"lancelot\",\n      \"salt\": \"EqB9AWyT\",\n      \"md5\": \"31abc035018b8edeb2f2c627929e579a\",\n      \"sha1\": \"a62db116297f63d83a77a550d7fe2a11bbe7b431\",\n      \"sha256\": \"9ad44f256b7e39ffc782a8afdf97379fae9889a8fd40ade74210a927782beeaa\"\n    },\n    \"dob\": {\n      \"date\": \"1969-12-23T13:01:25.337Z\",\n      \"age\": 53\n    },\n    \"registered\": {\n      \"date\": \"2016-01-25T08:31:46.187Z\",\n      \"age\": 7\n    },\n    \"phone\": \"88886145\",\n    \"cell\": \"91971020\",\n    \"id\": 374,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/3.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/3.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/3.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"بهاره\",\n      \"last\": \"زارعی\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5070,\n        \"name\": \"15 خرداد\"\n      },\n      \"city\": \"کرمانشاه\",\n      \"state\": \"یزد\",\n      \"country\": \"Iran\",\n      \"postcode\": 23943,\n      \"coordinates\": {\n        \"latitude\": \"36.3365\",\n        \"longitude\": \"69.8723\"\n      },\n      \"timezone\": {\n        \"offset\": \"-11:00\",\n        \"description\": \"Midway Island, Samoa\"\n      }\n    },\n    \"email\": \"bhrh.zraay@example.com\",\n    \"login\": {\n      \"uuid\": \"004bb653-7ea5-427f-89f4-b2ee1526b54c\",\n      \"username\": \"bigmouse374\",\n      \"password\": \"courtney\",\n      \"salt\": \"hPHbqiSR\",\n      \"md5\": \"4d44b980e54fbb30fbb906dcb893de6a\",\n      \"sha1\": \"5a1233d923d21ca2f43ecf0acea140d6b496cc16\",\n      \"sha256\": \"803523929f2e528236b09eae114615f929181e58fca3e9024e9925f4bb854a25\"\n    },\n    \"dob\": {\n      \"date\": \"1965-04-19T05:08:34.021Z\",\n      \"age\": 58\n    },\n    \"registered\": {\n      \"date\": \"2013-03-03T16:55:57.581Z\",\n      \"age\": 10\n    },\n    \"phone\": \"011-34531878\",\n    \"cell\": \"0917-133-0074\",\n    \"id\": 375,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/52.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/52.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/52.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Jordi\",\n      \"last\": \"Guerrero\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2755,\n        \"name\": \"Calle Mota\"\n      },\n      \"city\": \"Palma de Mallorca\",\n      \"state\": \"Castilla y León\",\n      \"country\": \"Spain\",\n      \"postcode\": 73904,\n      \"coordinates\": {\n        \"latitude\": \"36.1750\",\n        \"longitude\": \"164.7910\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"jordi.guerrero@example.com\",\n    \"login\": {\n      \"uuid\": \"59ccee44-f857-476a-9cbd-b5527b852e1d\",\n      \"username\": \"sadpanda391\",\n      \"password\": \"recon\",\n      \"salt\": \"8nOliVD1\",\n      \"md5\": \"1421c748e8b7f3b229a8c1182aa4c3d7\",\n      \"sha1\": \"376dea1d355bb9592470fc3de65c571f3320b878\",\n      \"sha256\": \"26320db996a415bed6588865883ce49f366f464660e0a5af72bd5e7b1a10ef08\"\n    },\n    \"dob\": {\n      \"date\": \"1956-07-02T01:36:04.065Z\",\n      \"age\": 66\n    },\n    \"registered\": {\n      \"date\": \"2021-03-26T12:16:59.941Z\",\n      \"age\": 2\n    },\n    \"phone\": \"921-728-117\",\n    \"cell\": \"654-080-184\",\n    \"id\": 376,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/4.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/4.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/4.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Otoniel\",\n      \"last\": \"Mendes\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2029,\n        \"name\": \"Rua Dois\"\n      },\n      \"city\": \"Magé\",\n      \"state\": \"Paraná\",\n      \"country\": \"Brazil\",\n      \"postcode\": 93814,\n      \"coordinates\": {\n        \"latitude\": \"-50.7870\",\n        \"longitude\": \"-51.5222\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:00\",\n        \"description\": \"Baghdad, Riyadh, Moscow, St. Petersburg\"\n      }\n    },\n    \"email\": \"otoniel.mendes@example.com\",\n    \"login\": {\n      \"uuid\": \"6a82511f-50d1-48b8-b497-7d8c0aa8ce1c\",\n      \"username\": \"brownleopard464\",\n      \"password\": \"ttttttt\",\n      \"salt\": \"fCJqnZIR\",\n      \"md5\": \"643009836ba3220b6aaf98a4a09ce450\",\n      \"sha1\": \"197e2956aaf62371f20f4d0c0e347e810374344a\",\n      \"sha256\": \"ca7556c1ee14dc3c5f63ede972716b65068062a4a59cee64969dd96a9b5c95b1\"\n    },\n    \"dob\": {\n      \"date\": \"1982-12-23T13:32:12.845Z\",\n      \"age\": 40\n    },\n    \"registered\": {\n      \"date\": \"2015-02-28T05:01:27.460Z\",\n      \"age\": 8\n    },\n    \"phone\": \"(38) 5761-4205\",\n    \"cell\": \"(19) 3633-2848\",\n    \"id\": 377,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/94.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/94.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/94.jpg\"\n    },\n    \"nat\": \"BR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Ali\",\n      \"last\": \"Biçer\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7592,\n        \"name\": \"Tunalı Hilmi Cd\"\n      },\n      \"city\": \"Antalya\",\n      \"state\": \"Malatya\",\n      \"country\": \"Turkey\",\n      \"postcode\": 88436,\n      \"coordinates\": {\n        \"latitude\": \"-15.0347\",\n        \"longitude\": \"-56.0224\"\n      },\n      \"timezone\": {\n        \"offset\": \"+10:00\",\n        \"description\": \"Eastern Australia, Guam, Vladivostok\"\n      }\n    },\n    \"email\": \"ali.bicer@example.com\",\n    \"login\": {\n      \"uuid\": \"56b223ee-0243-4e83-91b0-cae4689c2be4\",\n      \"username\": \"purpleladybug521\",\n      \"password\": \"4444\",\n      \"salt\": \"DI3l7eaZ\",\n      \"md5\": \"52434c3feacab0110780c87a62ad41c2\",\n      \"sha1\": \"66a67abec8301942855b97a523a46b78f2af3d11\",\n      \"sha256\": \"b31785afb61a6a286f93bbea3b01d16dcf4d770471106f528cd8407f93d234d9\"\n    },\n    \"dob\": {\n      \"date\": \"1960-03-20T22:03:42.758Z\",\n      \"age\": 63\n    },\n    \"registered\": {\n      \"date\": \"2007-06-12T22:52:17.579Z\",\n      \"age\": 15\n    },\n    \"phone\": \"(520)-343-1733\",\n    \"cell\": \"(801)-041-5447\",\n    \"id\": 378,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/15.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/15.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/15.jpg\"\n    },\n    \"nat\": \"TR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Hadrien\",\n      \"last\": \"Gauthier\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 17,\n        \"name\": \"Place de L'Abbé-Georges-Hénocque\"\n      },\n      \"city\": \"Toulouse\",\n      \"state\": \"Vienne\",\n      \"country\": \"France\",\n      \"postcode\": 24919,\n      \"coordinates\": {\n        \"latitude\": \"-1.5087\",\n        \"longitude\": \"-173.5674\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:00\",\n        \"description\": \"Tokyo, Seoul, Osaka, Sapporo, Yakutsk\"\n      }\n    },\n    \"email\": \"hadrien.gauthier@example.com\",\n    \"login\": {\n      \"uuid\": \"2533e2b7-8787-4bbc-87ca-e6741d713fc3\",\n      \"username\": \"angrywolf120\",\n      \"password\": \"haley\",\n      \"salt\": \"gi8C6tlX\",\n      \"md5\": \"8dcd44b13b05e41b831f461b9e43b88f\",\n      \"sha1\": \"a2bac99973869ffcfd8eb01ee6ceb6de25eb800f\",\n      \"sha256\": \"129799c1d69602d602b3d5a02d66100d9b4bd519d7c8fb6e8434196f48e559a4\"\n    },\n    \"dob\": {\n      \"date\": \"1963-12-24T09:02:32.013Z\",\n      \"age\": 59\n    },\n    \"registered\": {\n      \"date\": \"2021-08-14T05:08:39.816Z\",\n      \"age\": 1\n    },\n    \"phone\": \"05-53-57-25-30\",\n    \"cell\": \"06-05-71-04-31\",\n    \"id\": 379,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/26.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/26.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/26.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Noham\",\n      \"last\": \"Simon\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7225,\n        \"name\": \"Rue du 8 Mai 1945\"\n      },\n      \"city\": \"Courbevoie\",\n      \"state\": \"Charente-Maritime\",\n      \"country\": \"France\",\n      \"postcode\": 77683,\n      \"coordinates\": {\n        \"latitude\": \"15.0900\",\n        \"longitude\": \"146.7959\"\n      },\n      \"timezone\": {\n        \"offset\": \"-7:00\",\n        \"description\": \"Mountain Time (US & Canada)\"\n      }\n    },\n    \"email\": \"noham.simon@example.com\",\n    \"login\": {\n      \"uuid\": \"ea9ff671-b190-44e9-b4d7-1916948fd564\",\n      \"username\": \"whitekoala656\",\n      \"password\": \"valdez\",\n      \"salt\": \"JliNv9ZL\",\n      \"md5\": \"0b8299c6727909730d69d3f09749e19c\",\n      \"sha1\": \"3d1a97ce75903c9bfa4c39ff2ba956761c0fd7b4\",\n      \"sha256\": \"4772e124d985e57e8f9f8a5a9bb32b001dc792d0bc938872384f1c9835e2714d\"\n    },\n    \"dob\": {\n      \"date\": \"1983-09-27T11:44:03.708Z\",\n      \"age\": 39\n    },\n    \"registered\": {\n      \"date\": \"2010-06-20T01:47:51.609Z\",\n      \"age\": 12\n    },\n    \"phone\": \"01-86-53-46-91\",\n    \"cell\": \"06-82-21-58-31\",\n    \"id\": 380,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/48.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/48.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/48.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Frederick\",\n      \"last\": \"Cunningham\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5801,\n        \"name\": \"Washington Ave\"\n      },\n      \"city\": \"Warragul\",\n      \"state\": \"Australian Capital Territory\",\n      \"country\": \"Australia\",\n      \"postcode\": 7473,\n      \"coordinates\": {\n        \"latitude\": \"-12.2214\",\n        \"longitude\": \"177.0423\"\n      },\n      \"timezone\": {\n        \"offset\": \"+10:00\",\n        \"description\": \"Eastern Australia, Guam, Vladivostok\"\n      }\n    },\n    \"email\": \"frederick.cunningham@example.com\",\n    \"login\": {\n      \"uuid\": \"7fcab432-d085-4801-a766-077476fb0c82\",\n      \"username\": \"angrywolf283\",\n      \"password\": \"uranus\",\n      \"salt\": \"KgkkXb9Y\",\n      \"md5\": \"96c377303f4fbb54b97b0de6b5236071\",\n      \"sha1\": \"55b42778df49defb976572e9a9fb2b20d1c611c5\",\n      \"sha256\": \"340db4b503fa4148273a467051fc17ba56c6c541e676362c935d01ed764f10b0\"\n    },\n    \"dob\": {\n      \"date\": \"1981-09-25T05:30:50.861Z\",\n      \"age\": 41\n    },\n    \"registered\": {\n      \"date\": \"2017-03-17T19:46:40.925Z\",\n      \"age\": 6\n    },\n    \"phone\": \"04-0553-2208\",\n    \"cell\": \"0418-198-920\",\n    \"id\": 381,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/68.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/68.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/68.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Tobias\",\n      \"last\": \"Andersen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 665,\n        \"name\": \"Fabriksvej\"\n      },\n      \"city\": \"Vipperød\",\n      \"state\": \"Syddanmark\",\n      \"country\": \"Denmark\",\n      \"postcode\": 76061,\n      \"coordinates\": {\n        \"latitude\": \"41.3543\",\n        \"longitude\": \"-102.1184\"\n      },\n      \"timezone\": {\n        \"offset\": \"-2:00\",\n        \"description\": \"Mid-Atlantic\"\n      }\n    },\n    \"email\": \"tobias.andersen@example.com\",\n    \"login\": {\n      \"uuid\": \"2220afbb-19af-4e7f-89e3-d8508b19ee28\",\n      \"username\": \"orangefish838\",\n      \"password\": \"420420\",\n      \"salt\": \"MzI7lnLD\",\n      \"md5\": \"4f063c2fd0fd8fa4db2b0713600a80a9\",\n      \"sha1\": \"17eda0e7c3c6fe5514dac031c1cd93f737db611a\",\n      \"sha256\": \"128f854e40e9a9b8d3a1c9f13f83b7bf992d89fd1ec323460dabb0d3879a751b\"\n    },\n    \"dob\": {\n      \"date\": \"1984-08-17T09:55:29.791Z\",\n      \"age\": 38\n    },\n    \"registered\": {\n      \"date\": \"2008-12-08T05:28:51.761Z\",\n      \"age\": 14\n    },\n    \"phone\": \"15530355\",\n    \"cell\": \"26637408\",\n    \"id\": 382,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/44.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/44.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/44.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Eiril\",\n      \"last\": \"Blomberg\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7873,\n        \"name\": \"Bolette Brygge\"\n      },\n      \"city\": \"Ølen\",\n      \"state\": \"Sør-Trøndelag\",\n      \"country\": \"Norway\",\n      \"postcode\": \"5908\",\n      \"coordinates\": {\n        \"latitude\": \"-89.5765\",\n        \"longitude\": \"-81.3493\"\n      },\n      \"timezone\": {\n        \"offset\": \"-2:00\",\n        \"description\": \"Mid-Atlantic\"\n      }\n    },\n    \"email\": \"eiril.blomberg@example.com\",\n    \"login\": {\n      \"uuid\": \"836eecff-eaaf-4572-8327-81df9b396d3b\",\n      \"username\": \"bluezebra261\",\n      \"password\": \"theater\",\n      \"salt\": \"8x0dtYSg\",\n      \"md5\": \"bdc14c5c868033a92588e07980ae6281\",\n      \"sha1\": \"46c88106ed682140bac0fcbc3d59efa18adae537\",\n      \"sha256\": \"a0a974bba810c8e4471cf08475f99b064827f1baab3f8b72a63573b0690f2390\"\n    },\n    \"dob\": {\n      \"date\": \"1985-12-15T15:22:33.838Z\",\n      \"age\": 37\n    },\n    \"registered\": {\n      \"date\": \"2021-11-23T04:36:20.895Z\",\n      \"age\": 1\n    },\n    \"phone\": \"58621059\",\n    \"cell\": \"95919759\",\n    \"id\": 383,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/33.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/33.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/33.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Atanásio\",\n      \"last\": \"Duarte\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9398,\n        \"name\": \"Rua Maranhão \"\n      },\n      \"city\": \"Pouso Alegre\",\n      \"state\": \"Goiás\",\n      \"country\": \"Brazil\",\n      \"postcode\": 88283,\n      \"coordinates\": {\n        \"latitude\": \"65.3515\",\n        \"longitude\": \"11.7302\"\n      },\n      \"timezone\": {\n        \"offset\": \"-7:00\",\n        \"description\": \"Mountain Time (US & Canada)\"\n      }\n    },\n    \"email\": \"atanasio.duarte@example.com\",\n    \"login\": {\n      \"uuid\": \"7414fe19-c5b0-47cc-a7f8-1784ecb5b63c\",\n      \"username\": \"goldenostrich500\",\n      \"password\": \"yankees\",\n      \"salt\": \"RZlwE1Pp\",\n      \"md5\": \"ebccef8f159dfe583b950c5d993046a3\",\n      \"sha1\": \"9a5d94795c7fd9495ce252464f7ebe6c72171915\",\n      \"sha256\": \"68b5b5e6a4f7884ded014a47a238b9b73e24ae3895f73f55fa005a3d234ff7ec\"\n    },\n    \"dob\": {\n      \"date\": \"1950-03-25T02:06:58.233Z\",\n      \"age\": 73\n    },\n    \"registered\": {\n      \"date\": \"2022-01-03T14:04:00.876Z\",\n      \"age\": 1\n    },\n    \"phone\": \"(40) 7479-6368\",\n    \"cell\": \"(84) 6498-5106\",\n    \"id\": 384,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/52.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/52.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/52.jpg\"\n    },\n    \"nat\": \"BR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"David\",\n      \"last\": \"Oquendo\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5023,\n        \"name\": \"Calle Papua Nueva Guinea\"\n      },\n      \"city\": \"San Cristóbal (El Cerrito)\",\n      \"state\": \"Tabasco\",\n      \"country\": \"Mexico\",\n      \"postcode\": 56383,\n      \"coordinates\": {\n        \"latitude\": \"26.4465\",\n        \"longitude\": \"-11.7779\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:30\",\n        \"description\": \"Bombay, Calcutta, Madras, New Delhi\"\n      }\n    },\n    \"email\": \"david.oquendo@example.com\",\n    \"login\": {\n      \"uuid\": \"126f3525-8f5c-4ff3-9703-5ca8bc18af58\",\n      \"username\": \"purplelion125\",\n      \"password\": \"august\",\n      \"salt\": \"bTNeK4j3\",\n      \"md5\": \"339add09927e973a61f180162f1bf628\",\n      \"sha1\": \"c5fff6d1f9ec9c48c12ffeb866e744d1647c567b\",\n      \"sha256\": \"775e00410d390cdd75181a64a9870d06d4bd5285ef952d3245a44c72869b77dd\"\n    },\n    \"dob\": {\n      \"date\": \"1996-06-24T18:45:31.440Z\",\n      \"age\": 26\n    },\n    \"registered\": {\n      \"date\": \"2007-08-19T06:56:31.579Z\",\n      \"age\": 15\n    },\n    \"phone\": \"(611) 419 0312\",\n    \"cell\": \"(636) 738 0034\",\n    \"id\": 385,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/14.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/14.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/14.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Jonathan\",\n      \"last\": \"Granados\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4526,\n        \"name\": \"Callejón Norte de la Garza\"\n      },\n      \"city\": \"Buenavista de Cuellar\",\n      \"state\": \"Sonora\",\n      \"country\": \"Mexico\",\n      \"postcode\": 63320,\n      \"coordinates\": {\n        \"latitude\": \"-2.5634\",\n        \"longitude\": \"166.6873\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:00\",\n        \"description\": \"Brazil, Buenos Aires, Georgetown\"\n      }\n    },\n    \"email\": \"jonathan.granados@example.com\",\n    \"login\": {\n      \"uuid\": \"7d1c27d6-4d1a-4ac5-86a6-230c4eeeff66\",\n      \"username\": \"yellowbutterfly791\",\n      \"password\": \"batman1\",\n      \"salt\": \"PT93u4KZ\",\n      \"md5\": \"0e9c68340d53f1962b5652a5d781cbed\",\n      \"sha1\": \"2cb38ce884824af16b984f1d95efaf8b44b41d7b\",\n      \"sha256\": \"354f1211f4b993a0a502cd89f6ad5bbdbe7a5b22f73c57e9554dc04031bf7716\"\n    },\n    \"dob\": {\n      \"date\": \"1989-11-11T03:01:05.269Z\",\n      \"age\": 33\n    },\n    \"registered\": {\n      \"date\": \"2016-11-14T03:14:33.832Z\",\n      \"age\": 6\n    },\n    \"phone\": \"(611) 616 1780\",\n    \"cell\": \"(679) 412 7276\",\n    \"id\": 386,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/56.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/56.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/56.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Jonathan\",\n      \"last\": \"Andersen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9713,\n        \"name\": \"Toftevangen\"\n      },\n      \"city\": \"Stoevring\",\n      \"state\": \"Hovedstaden\",\n      \"country\": \"Denmark\",\n      \"postcode\": 53567,\n      \"coordinates\": {\n        \"latitude\": \"87.1879\",\n        \"longitude\": \"66.1809\"\n      },\n      \"timezone\": {\n        \"offset\": \"-6:00\",\n        \"description\": \"Central Time (US & Canada), Mexico City\"\n      }\n    },\n    \"email\": \"jonathan.andersen@example.com\",\n    \"login\": {\n      \"uuid\": \"53a8a874-b32d-49a3-97b4-de50a5c2dccf\",\n      \"username\": \"whiteleopard299\",\n      \"password\": \"4you\",\n      \"salt\": \"T8Lo2mBC\",\n      \"md5\": \"4c565a95f83663b5935686d1bcf7c1d2\",\n      \"sha1\": \"230a6b4eeac721068b35dfaf641df0f7c729347f\",\n      \"sha256\": \"44f42f2f213d055df3e7833860fcaceaa7929d6c39f2d0573b2fadd8c8872ec7\"\n    },\n    \"dob\": {\n      \"date\": \"1988-09-10T07:21:16.251Z\",\n      \"age\": 34\n    },\n    \"registered\": {\n      \"date\": \"2021-09-23T01:52:35.400Z\",\n      \"age\": 1\n    },\n    \"phone\": \"12438072\",\n    \"cell\": \"45936482\",\n    \"id\": 387,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/77.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/77.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/77.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Julio\",\n      \"last\": \"Monroy\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4913,\n        \"name\": \"Calzada Islas Marshall\"\n      },\n      \"city\": \"Cosamaloapan\",\n      \"state\": \"Hidalgo\",\n      \"country\": \"Mexico\",\n      \"postcode\": 66593,\n      \"coordinates\": {\n        \"latitude\": \"-37.7885\",\n        \"longitude\": \"-95.5790\"\n      },\n      \"timezone\": {\n        \"offset\": \"-6:00\",\n        \"description\": \"Central Time (US & Canada), Mexico City\"\n      }\n    },\n    \"email\": \"julio.monroy@example.com\",\n    \"login\": {\n      \"uuid\": \"182f1982-2dba-4f25-be86-f9dbad5dc693\",\n      \"username\": \"orangebear717\",\n      \"password\": \"mulder\",\n      \"salt\": \"JMhiLzu2\",\n      \"md5\": \"08fe81c36451f6a8268ce987835d0969\",\n      \"sha1\": \"70f3c0f543bac7bb69e7b670e4f01115520a86bf\",\n      \"sha256\": \"d28137da89ce92fd524088f0492f18db8e6a49687a740a4ad21f374213d8e872\"\n    },\n    \"dob\": {\n      \"date\": \"1999-01-17T19:35:12.375Z\",\n      \"age\": 24\n    },\n    \"registered\": {\n      \"date\": \"2020-06-30T10:32:51.945Z\",\n      \"age\": 2\n    },\n    \"phone\": \"(696) 779 7880\",\n    \"cell\": \"(687) 039 3382\",\n    \"id\": 388,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/69.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/69.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/69.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Vural\",\n      \"last\": \"Van der Schoot\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8749,\n        \"name\": \"Bunsinglaan\"\n      },\n      \"city\": \"Paasloo\",\n      \"state\": \"Groningen\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"9874 LX\",\n      \"coordinates\": {\n        \"latitude\": \"4.1362\",\n        \"longitude\": \"95.7219\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"vural.vanderschoot@example.com\",\n    \"login\": {\n      \"uuid\": \"cc635d16-4dc2-4c24-bf23-d104b8c9967e\",\n      \"username\": \"redpeacock359\",\n      \"password\": \"ladybug\",\n      \"salt\": \"ogMwT60y\",\n      \"md5\": \"b8883c56dff009700554a1697bd0bcf3\",\n      \"sha1\": \"60b8313ec3f2d32d020586f4f0b47d2d5031152a\",\n      \"sha256\": \"da2101bb3fc6eb21c4d2b3b3db86249edbdb52f0affdd5d3f85e359ab5d07937\"\n    },\n    \"dob\": {\n      \"date\": \"1982-11-28T05:42:52.726Z\",\n      \"age\": 40\n    },\n    \"registered\": {\n      \"date\": \"2002-12-31T19:04:29.618Z\",\n      \"age\": 20\n    },\n    \"phone\": \"(036) 7870223\",\n    \"cell\": \"(06) 58713495\",\n    \"id\": 389,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/18.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/18.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/18.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Georgia\",\n      \"last\": \"Cooper\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7258,\n        \"name\": \"Lambie Drive\"\n      },\n      \"city\": \"Nelson\",\n      \"state\": \"Northland\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 55035,\n      \"coordinates\": {\n        \"latitude\": \"63.4802\",\n        \"longitude\": \"-117.8911\"\n      },\n      \"timezone\": {\n        \"offset\": \"-4:00\",\n        \"description\": \"Atlantic Time (Canada), Caracas, La Paz\"\n      }\n    },\n    \"email\": \"georgia.cooper@example.com\",\n    \"login\": {\n      \"uuid\": \"8072bae3-3ce2-4793-aba3-75aa9c057d41\",\n      \"username\": \"angrypanda168\",\n      \"password\": \"gina\",\n      \"salt\": \"Vgz626Lf\",\n      \"md5\": \"de1434c0609aaef9c8b444c3b86f20f1\",\n      \"sha1\": \"a003cb11f948f48020283700d9423be1f533c498\",\n      \"sha256\": \"e5d0de49a8f0f3cb984e91cc7f202abcf78287ea391e6e3c019f4002956e3491\"\n    },\n    \"dob\": {\n      \"date\": \"1969-03-27T06:59:31.645Z\",\n      \"age\": 54\n    },\n    \"registered\": {\n      \"date\": \"2018-09-26T13:40:37.766Z\",\n      \"age\": 4\n    },\n    \"phone\": \"(043)-623-7694\",\n    \"cell\": \"(172)-498-8634\",\n    \"id\": 390,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/62.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/62.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/62.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Neeti\",\n      \"last\": \"Shayana\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4762,\n        \"name\": \"Lamington Rd\"\n      },\n      \"city\": \"Ozhukarai\",\n      \"state\": \"Madhya Pradesh\",\n      \"country\": \"India\",\n      \"postcode\": 35351,\n      \"coordinates\": {\n        \"latitude\": \"-84.8506\",\n        \"longitude\": \"-97.1745\"\n      },\n      \"timezone\": {\n        \"offset\": \"-1:00\",\n        \"description\": \"Azores, Cape Verde Islands\"\n      }\n    },\n    \"email\": \"neeti.shayana@example.com\",\n    \"login\": {\n      \"uuid\": \"7e47fd7c-2bae-4d21-8aee-ef7d06860f49\",\n      \"username\": \"blueostrich636\",\n      \"password\": \"georgie\",\n      \"salt\": \"HBSrm7kr\",\n      \"md5\": \"0593e8b7c2a42f8892bec12bb6824b02\",\n      \"sha1\": \"8aced013bd469bd9426829e9f28ad6106246f92a\",\n      \"sha256\": \"ab58aa6191c70c43a675ba6a395e977f8913c4466c06478a18d9433604f6cba5\"\n    },\n    \"dob\": {\n      \"date\": \"1951-10-24T12:48:40.934Z\",\n      \"age\": 71\n    },\n    \"registered\": {\n      \"date\": \"2021-11-20T10:42:07.664Z\",\n      \"age\": 1\n    },\n    \"phone\": \"9094143352\",\n    \"cell\": \"9409358329\",\n    \"id\": 391,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/81.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/81.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/81.jpg\"\n    },\n    \"nat\": \"IN\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Madison\",\n      \"last\": \"Johnson\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4514,\n        \"name\": \"Victoria Avenue\"\n      },\n      \"city\": \"Hamilton\",\n      \"state\": \"Hawke'S Bay\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 74607,\n      \"coordinates\": {\n        \"latitude\": \"24.0637\",\n        \"longitude\": \"-177.4470\"\n      },\n      \"timezone\": {\n        \"offset\": \"0:00\",\n        \"description\": \"Western Europe Time, London, Lisbon, Casablanca\"\n      }\n    },\n    \"email\": \"madison.johnson@example.com\",\n    \"login\": {\n      \"uuid\": \"adb5844d-9b63-4ce1-83fa-ebe66c1fc6bc\",\n      \"username\": \"tinyrabbit686\",\n      \"password\": \"musicman\",\n      \"salt\": \"1dXCcDtH\",\n      \"md5\": \"a9e0bb9e64370b8841768b8d2944b362\",\n      \"sha1\": \"f9c0299a5a9c5d49db77c3761fe68bee847b73c1\",\n      \"sha256\": \"1c2514d3f65bfb70fcbb755f16be77865a2f9096dd63d6269576182aeb7d30d4\"\n    },\n    \"dob\": {\n      \"date\": \"1973-12-08T20:48:55.013Z\",\n      \"age\": 49\n    },\n    \"registered\": {\n      \"date\": \"2011-12-08T13:46:23.284Z\",\n      \"age\": 11\n    },\n    \"phone\": \"(403)-058-0535\",\n    \"cell\": \"(375)-814-0621\",\n    \"id\": 392,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/72.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/72.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/72.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Corsino\",\n      \"last\": \"da Luz\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5648,\n        \"name\": \"Rua São Luiz \"\n      },\n      \"city\": \"Açailândia\",\n      \"state\": \"Rio de Janeiro\",\n      \"country\": \"Brazil\",\n      \"postcode\": 78621,\n      \"coordinates\": {\n        \"latitude\": \"40.5922\",\n        \"longitude\": \"-97.8382\"\n      },\n      \"timezone\": {\n        \"offset\": \"-7:00\",\n        \"description\": \"Mountain Time (US & Canada)\"\n      }\n    },\n    \"email\": \"corsino.daluz@example.com\",\n    \"login\": {\n      \"uuid\": \"70c597d2-7f1e-470f-baea-64ff6d4779f8\",\n      \"username\": \"lazypanda120\",\n      \"password\": \"delaware\",\n      \"salt\": \"tPHOaS8K\",\n      \"md5\": \"335163a1d08ae15180ca47e032959e9e\",\n      \"sha1\": \"7e49b94195697ba7722f63106d5fce1e4c0e85e3\",\n      \"sha256\": \"7659045370d39918a2a64f41d1578bb96e86930fb3a055a32c28a567f011118c\"\n    },\n    \"dob\": {\n      \"date\": \"1967-09-20T18:28:17.535Z\",\n      \"age\": 55\n    },\n    \"registered\": {\n      \"date\": \"2005-04-18T01:44:53.280Z\",\n      \"age\": 18\n    },\n    \"phone\": \"(66) 8402-4182\",\n    \"cell\": \"(19) 8175-6158\",\n    \"id\": 393,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/85.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/85.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/85.jpg\"\n    },\n    \"nat\": \"BR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Hannelore\",\n      \"last\": \"Münster\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7128,\n        \"name\": \"Wiesenstraße\"\n      },\n      \"city\": \"Witten\",\n      \"state\": \"Schleswig-Holstein\",\n      \"country\": \"Germany\",\n      \"postcode\": 77496,\n      \"coordinates\": {\n        \"latitude\": \"44.7005\",\n        \"longitude\": \"93.8748\"\n      },\n      \"timezone\": {\n        \"offset\": \"-8:00\",\n        \"description\": \"Pacific Time (US & Canada)\"\n      }\n    },\n    \"email\": \"hannelore.munster@example.com\",\n    \"login\": {\n      \"uuid\": \"2452cee6-4222-425c-9b88-15639ce75dbc\",\n      \"username\": \"blackpeacock571\",\n      \"password\": \"quest1\",\n      \"salt\": \"A1znq7RS\",\n      \"md5\": \"e9b6f2baa7ffd669191508a87c9b0a4b\",\n      \"sha1\": \"f500acc3990cb19a0964c9ab99e72b9e1fd0d4d1\",\n      \"sha256\": \"e16516af1c11c5a91760096cca9219c08f0a62ef513a172a416ea9c593bfb0d8\"\n    },\n    \"dob\": {\n      \"date\": \"1992-10-19T08:35:04.307Z\",\n      \"age\": 30\n    },\n    \"registered\": {\n      \"date\": \"2020-08-05T16:56:14.273Z\",\n      \"age\": 2\n    },\n    \"phone\": \"0822-2109047\",\n    \"cell\": \"0174-8554151\",\n    \"id\": 394,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/87.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/87.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/87.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Evelyn\",\n      \"last\": \"Edwards\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1735,\n        \"name\": \"Mahia Road\"\n      },\n      \"city\": \"Rotorua\",\n      \"state\": \"Waikato\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 54262,\n      \"coordinates\": {\n        \"latitude\": \"-79.3364\",\n        \"longitude\": \"22.6393\"\n      },\n      \"timezone\": {\n        \"offset\": \"-11:00\",\n        \"description\": \"Midway Island, Samoa\"\n      }\n    },\n    \"email\": \"evelyn.edwards@example.com\",\n    \"login\": {\n      \"uuid\": \"c0e85c56-498a-4b69-a352-e39bbd1ca56a\",\n      \"username\": \"ticklishmouse385\",\n      \"password\": \"leigh\",\n      \"salt\": \"V7J9MprI\",\n      \"md5\": \"5588f63ab084da911ac8fce7284a62a8\",\n      \"sha1\": \"9fe3a95c32e786253200f25c9e3512c02af4cf28\",\n      \"sha256\": \"7ef849391419ea53c754017073406719101d7852466010afdc5861eeb3de7c40\"\n    },\n    \"dob\": {\n      \"date\": \"1992-08-14T01:36:37.701Z\",\n      \"age\": 30\n    },\n    \"registered\": {\n      \"date\": \"2019-06-21T04:10:28.733Z\",\n      \"age\": 3\n    },\n    \"phone\": \"(231)-333-4591\",\n    \"cell\": \"(624)-814-7161\",\n    \"id\": 395,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/76.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/76.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/76.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Isaac\",\n      \"last\": \"Webb\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6612,\n        \"name\": \"Bruce St\"\n      },\n      \"city\": \"Chula Vista\",\n      \"state\": \"Indiana\",\n      \"country\": \"United States\",\n      \"postcode\": 98564,\n      \"coordinates\": {\n        \"latitude\": \"18.1467\",\n        \"longitude\": \"41.4596\"\n      },\n      \"timezone\": {\n        \"offset\": \"-9:00\",\n        \"description\": \"Alaska\"\n      }\n    },\n    \"email\": \"isaac.webb@example.com\",\n    \"login\": {\n      \"uuid\": \"f14b8928-cd11-46f3-ba29-0cd30a953685\",\n      \"username\": \"happyrabbit456\",\n      \"password\": \"waters\",\n      \"salt\": \"I8zLaeWb\",\n      \"md5\": \"651c5bb50fff9ff4a5cc4eb19db97cf1\",\n      \"sha1\": \"163f0b9a6f3b51c4bdab314d4d16e46825bad527\",\n      \"sha256\": \"bb81b33f68d9f0e446aa17e43bc6ab58ade93eefc3e98ad3a1ad85f4dfa62a82\"\n    },\n    \"dob\": {\n      \"date\": \"1961-08-29T11:24:24.138Z\",\n      \"age\": 61\n    },\n    \"registered\": {\n      \"date\": \"2010-07-21T14:51:56.811Z\",\n      \"age\": 12\n    },\n    \"phone\": \"(407) 713-7260\",\n    \"cell\": \"(933) 891-6860\",\n    \"id\": 396,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/80.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/80.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/80.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Ingeborg\",\n      \"last\": \"Ebel\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1127,\n        \"name\": \"Ringstraße\"\n      },\n      \"city\": \"Ellrich\",\n      \"state\": \"Schleswig-Holstein\",\n      \"country\": \"Germany\",\n      \"postcode\": 31564,\n      \"coordinates\": {\n        \"latitude\": \"-53.8108\",\n        \"longitude\": \"-105.7467\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:00\",\n        \"description\": \"Brazil, Buenos Aires, Georgetown\"\n      }\n    },\n    \"email\": \"ingeborg.ebel@example.com\",\n    \"login\": {\n      \"uuid\": \"3cd5b769-bb94-4599-b32e-99aef2eb8c16\",\n      \"username\": \"tinyzebra723\",\n      \"password\": \"1003\",\n      \"salt\": \"AdpUFBGT\",\n      \"md5\": \"210cec5ca287b14200ef7438ab7c8385\",\n      \"sha1\": \"a6f01f99f1890885d22da3219a711df83fc3e2ba\",\n      \"sha256\": \"9723885e562a4b4e94088951f1529620d2eddb74ac9d6042d9303498e59eb43f\"\n    },\n    \"dob\": {\n      \"date\": \"1982-04-17T16:12:51.481Z\",\n      \"age\": 41\n    },\n    \"registered\": {\n      \"date\": \"2002-12-01T04:48:16.116Z\",\n      \"age\": 20\n    },\n    \"phone\": \"0324-8505912\",\n    \"cell\": \"0170-6509374\",\n    \"id\": 397,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/64.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/64.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/64.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Daniel\",\n      \"last\": \"Erkkila\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6232,\n        \"name\": \"Mannerheimintie\"\n      },\n      \"city\": \"Toholampi\",\n      \"state\": \"Satakunta\",\n      \"country\": \"Finland\",\n      \"postcode\": 57615,\n      \"coordinates\": {\n        \"latitude\": \"24.0527\",\n        \"longitude\": \"22.9287\"\n      },\n      \"timezone\": {\n        \"offset\": \"-10:00\",\n        \"description\": \"Hawaii\"\n      }\n    },\n    \"email\": \"daniel.erkkila@example.com\",\n    \"login\": {\n      \"uuid\": \"49b1472e-039d-4684-b732-18c1d0652e16\",\n      \"username\": \"angryswan970\",\n      \"password\": \"jesse\",\n      \"salt\": \"SVxCTmJr\",\n      \"md5\": \"2efd3183c41e994be4c8e7f0e091d5da\",\n      \"sha1\": \"b509a76f7fb3abb2fb1d04d00819d0efa3a6b996\",\n      \"sha256\": \"c0c3f32f1530adb535e8ef855ff752dcdb8f0f71b1f18f3476084796818c6a5b\"\n    },\n    \"dob\": {\n      \"date\": \"1984-01-28T20:07:10.277Z\",\n      \"age\": 39\n    },\n    \"registered\": {\n      \"date\": \"2006-03-28T19:43:43.006Z\",\n      \"age\": 17\n    },\n    \"phone\": \"08-310-872\",\n    \"cell\": \"045-129-67-42\",\n    \"id\": 398,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/74.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/74.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/74.jpg\"\n    },\n    \"nat\": \"FI\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Rosa\",\n      \"last\": \"Andersen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 584,\n        \"name\": \"Nørre Alle\"\n      },\n      \"city\": \"Aarhus\",\n      \"state\": \"Syddanmark\",\n      \"country\": \"Denmark\",\n      \"postcode\": 54105,\n      \"coordinates\": {\n        \"latitude\": \"-26.8807\",\n        \"longitude\": \"58.5660\"\n      },\n      \"timezone\": {\n        \"offset\": \"+2:00\",\n        \"description\": \"Kaliningrad, South Africa\"\n      }\n    },\n    \"email\": \"rosa.andersen@example.com\",\n    \"login\": {\n      \"uuid\": \"67deceb3-4507-406e-96fd-91a7fa075b2c\",\n      \"username\": \"heavymouse363\",\n      \"password\": \"handsome\",\n      \"salt\": \"IKfabYd7\",\n      \"md5\": \"a92aa99d770afca804fb38cce977305b\",\n      \"sha1\": \"7d62e6da188353e222abca4135762161d8c825ce\",\n      \"sha256\": \"d9e333d4a3412cf451d6cce01cf124ae67788418e8b92d10e042f7ffbd88a385\"\n    },\n    \"dob\": {\n      \"date\": \"1957-04-07T03:42:52.212Z\",\n      \"age\": 66\n    },\n    \"registered\": {\n      \"date\": \"2010-09-25T09:40:21.610Z\",\n      \"age\": 12\n    },\n    \"phone\": \"02092047\",\n    \"cell\": \"21824342\",\n    \"id\": 399,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/4.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/4.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/4.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Brajan\",\n      \"last\": \"Blažić\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4207,\n        \"name\": \"Draginje Petrović \"\n      },\n      \"city\": \"Gadžin Han\",\n      \"state\": \"South Banat\",\n      \"country\": \"Serbia\",\n      \"postcode\": 97794,\n      \"coordinates\": {\n        \"latitude\": \"87.1183\",\n        \"longitude\": \"44.9447\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"brajan.blazic@example.com\",\n    \"login\": {\n      \"uuid\": \"669e77e0-5c54-460a-a4a0-13f021cc63f0\",\n      \"username\": \"yellowmouse285\",\n      \"password\": \"polo\",\n      \"salt\": \"1LTn6anK\",\n      \"md5\": \"df66edf6980f61d7673baa60ea84622e\",\n      \"sha1\": \"0911204938433c4bb343c7010855befd71fc75a3\",\n      \"sha256\": \"dd89c29a3193457083d544e2e81b0f511ce8c4023546110a92c52aa65611df91\"\n    },\n    \"dob\": {\n      \"date\": \"1966-12-08T11:57:31.128Z\",\n      \"age\": 56\n    },\n    \"registered\": {\n      \"date\": \"2021-03-23T01:26:21.890Z\",\n      \"age\": 2\n    },\n    \"phone\": \"019-3806-059\",\n    \"cell\": \"069-6232-797\",\n    \"id\": 400,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/77.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/77.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/77.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Alexandra\",\n      \"last\": \"Snyder\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6638,\n        \"name\": \"High Street\"\n      },\n      \"city\": \"Preston\",\n      \"state\": \"Devon\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"W7 7WG\",\n      \"coordinates\": {\n        \"latitude\": \"-45.9026\",\n        \"longitude\": \"-83.2077\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"alexandra.snyder@example.com\",\n    \"login\": {\n      \"uuid\": \"5e0394f7-a76b-4497-823b-734a2f284d94\",\n      \"username\": \"blackdog192\",\n      \"password\": \"daewoo\",\n      \"salt\": \"ZIXUlgU8\",\n      \"md5\": \"0ad8dd34fefd481b988df0d7ef42e3b4\",\n      \"sha1\": \"1dc4d04737debe1831b588001dba1f1d18b0d953\",\n      \"sha256\": \"b2c8a786a31bbdc66464426b4dac8e93a1b45cfe5d2147bac5f05d2d72db353e\"\n    },\n    \"dob\": {\n      \"date\": \"1965-01-31T00:20:46.730Z\",\n      \"age\": 58\n    },\n    \"registered\": {\n      \"date\": \"2007-05-29T17:59:31.725Z\",\n      \"age\": 15\n    },\n    \"phone\": \"016977 2685\",\n    \"cell\": \"07735 417184\",\n    \"id\": 401,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/59.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/59.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/59.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Blanca\",\n      \"last\": \"Hernández\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7434,\n        \"name\": \"Calle de Argumosa\"\n      },\n      \"city\": \"Torrejón de Ardoz\",\n      \"state\": \"La Rioja\",\n      \"country\": \"Spain\",\n      \"postcode\": 79743,\n      \"coordinates\": {\n        \"latitude\": \"-18.6449\",\n        \"longitude\": \"-11.5064\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"blanca.hernandez@example.com\",\n    \"login\": {\n      \"uuid\": \"0ff57149-3cd4-465f-9fa4-491af537a0e7\",\n      \"username\": \"blackladybug730\",\n      \"password\": \"comanche\",\n      \"salt\": \"t43RGzed\",\n      \"md5\": \"e4efde321aeea462c13edb991a9a6e72\",\n      \"sha1\": \"c4c93b6835e4e18576ad8ef0b7832beb31a67b16\",\n      \"sha256\": \"edf4daf23618a4c3e810012dd26d6200a76b7c0f2197589521ddf8cfbbcc7980\"\n    },\n    \"dob\": {\n      \"date\": \"1986-07-08T07:06:39.407Z\",\n      \"age\": 36\n    },\n    \"registered\": {\n      \"date\": \"2017-10-27T03:05:52.160Z\",\n      \"age\": 5\n    },\n    \"phone\": \"925-126-600\",\n    \"cell\": \"617-206-345\",\n    \"id\": 402,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/67.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/67.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/67.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Philip\",\n      \"last\": \"Jørgensen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3056,\n        \"name\": \"Lykkegårdsvej\"\n      },\n      \"city\": \"Klitmøller\",\n      \"state\": \"Midtjylland\",\n      \"country\": \"Denmark\",\n      \"postcode\": 24244,\n      \"coordinates\": {\n        \"latitude\": \"7.4873\",\n        \"longitude\": \"36.7074\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:00\",\n        \"description\": \"Abu Dhabi, Muscat, Baku, Tbilisi\"\n      }\n    },\n    \"email\": \"philip.jorgensen@example.com\",\n    \"login\": {\n      \"uuid\": \"0d791b03-b530-46a0-8c49-7db3d8af43a5\",\n      \"username\": \"greenswan544\",\n      \"password\": \"gogo\",\n      \"salt\": \"HRJNezSK\",\n      \"md5\": \"47f8da05a575fec06d3b7d013314fd36\",\n      \"sha1\": \"a85ea367e5427762eacef0da8360a864a33d6165\",\n      \"sha256\": \"32170fe4628c590b7223f1e22758a5988f90a22b0318c51c70825f10b53abe2d\"\n    },\n    \"dob\": {\n      \"date\": \"1956-04-30T19:10:07.945Z\",\n      \"age\": 67\n    },\n    \"registered\": {\n      \"date\": \"2008-05-29T07:47:57.671Z\",\n      \"age\": 14\n    },\n    \"phone\": \"70393024\",\n    \"cell\": \"14729414\",\n    \"id\": 403,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/85.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/85.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/85.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Fátima\",\n      \"last\": \"Muñoz\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5165,\n        \"name\": \"Avenida de Salamanca\"\n      },\n      \"city\": \"Alcobendas\",\n      \"state\": \"Galicia\",\n      \"country\": \"Spain\",\n      \"postcode\": 20805,\n      \"coordinates\": {\n        \"latitude\": \"-22.3282\",\n        \"longitude\": \"-88.0098\"\n      },\n      \"timezone\": {\n        \"offset\": \"+6:00\",\n        \"description\": \"Almaty, Dhaka, Colombo\"\n      }\n    },\n    \"email\": \"fatima.munoz@example.com\",\n    \"login\": {\n      \"uuid\": \"791a4fc7-67c9-4dcf-aa9e-7ec0fb2b97d2\",\n      \"username\": \"browncat642\",\n      \"password\": \"monalisa\",\n      \"salt\": \"IspwaKOs\",\n      \"md5\": \"3c3acd5e8c212f6ce427bd0e4a8bc79b\",\n      \"sha1\": \"b6866adf2e0d5ba71d7eceb59d5cd1cc1b5767eb\",\n      \"sha256\": \"ed89cd4dc724aa705c869b6a7d0485c4d8ec5f53fca48fd61c2807242aa6bc6d\"\n    },\n    \"dob\": {\n      \"date\": \"1947-08-02T10:39:33.322Z\",\n      \"age\": 75\n    },\n    \"registered\": {\n      \"date\": \"2012-06-18T23:52:09.018Z\",\n      \"age\": 10\n    },\n    \"phone\": \"984-093-372\",\n    \"cell\": \"631-083-648\",\n    \"id\": 404,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/62.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/62.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/62.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"مهدیس\",\n      \"last\": \"علیزاده\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1276,\n        \"name\": \"شهید شواخ\"\n      },\n      \"city\": \"بابل\",\n      \"state\": \"کهگیلویه و بویراحمد\",\n      \"country\": \"Iran\",\n      \"postcode\": 65830,\n      \"coordinates\": {\n        \"latitude\": \"80.8258\",\n        \"longitude\": \"-42.9265\"\n      },\n      \"timezone\": {\n        \"offset\": \"-11:00\",\n        \"description\": \"Midway Island, Samoa\"\n      }\n    },\n    \"email\": \"mhdys.aalyzdh@example.com\",\n    \"login\": {\n      \"uuid\": \"d4c186cf-df35-4e70-a1c8-3f602595beaf\",\n      \"username\": \"organicrabbit168\",\n      \"password\": \"jameson\",\n      \"salt\": \"tF2dj1TG\",\n      \"md5\": \"d7a1710a31fe80e843f395c3c6b383af\",\n      \"sha1\": \"f935cac57940c903dea634158b7b14e0a7972961\",\n      \"sha256\": \"71fbd841f55552e92c38fbbe58925acb890773a3ded12d183be7deaf11a23ad6\"\n    },\n    \"dob\": {\n      \"date\": \"1992-10-25T04:05:42.604Z\",\n      \"age\": 30\n    },\n    \"registered\": {\n      \"date\": \"2003-12-24T18:26:10.721Z\",\n      \"age\": 19\n    },\n    \"phone\": \"090-12261959\",\n    \"cell\": \"0947-747-6866\",\n    \"id\": 405,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/29.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/29.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/29.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Daniel\",\n      \"last\": \"Brown\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8773,\n        \"name\": \"Arctic Way\"\n      },\n      \"city\": \"Radisson\",\n      \"state\": \"British Columbia\",\n      \"country\": \"Canada\",\n      \"postcode\": \"L7O 1O2\",\n      \"coordinates\": {\n        \"latitude\": \"31.6640\",\n        \"longitude\": \"40.7009\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"daniel.brown@example.com\",\n    \"login\": {\n      \"uuid\": \"6c78a638-aac5-412e-81d4-830e4a2594c3\",\n      \"username\": \"heavyzebra875\",\n      \"password\": \"sound\",\n      \"salt\": \"j67Fjfnb\",\n      \"md5\": \"ca2ab49302efb604f964a3e7ca227fba\",\n      \"sha1\": \"d924f814be02dd59282ff8e7e0d7733b4910cc20\",\n      \"sha256\": \"afaa7a92bb83538d70df936cf126a048f4773a38aded8cea4e7cf4be141f05c1\"\n    },\n    \"dob\": {\n      \"date\": \"1997-09-01T16:05:29.552Z\",\n      \"age\": 25\n    },\n    \"registered\": {\n      \"date\": \"2020-06-29T17:17:54.044Z\",\n      \"age\": 2\n    },\n    \"phone\": \"P02 A11-1420\",\n    \"cell\": \"Q54 N55-9052\",\n    \"id\": 406,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/78.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/78.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/78.jpg\"\n    },\n    \"nat\": \"CA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"درسا\",\n      \"last\": \"نكو نظر\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8545,\n        \"name\": \"اجاره دار\"\n      },\n      \"city\": \"کاشان\",\n      \"state\": \"هرمزگان\",\n      \"country\": \"Iran\",\n      \"postcode\": 99401,\n      \"coordinates\": {\n        \"latitude\": \"-75.2895\",\n        \"longitude\": \"95.4974\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"drs.nkwnzr@example.com\",\n    \"login\": {\n      \"uuid\": \"b30f5d21-450b-4285-869b-c1d29686de16\",\n      \"username\": \"biggorilla681\",\n      \"password\": \"leroy\",\n      \"salt\": \"gkVvbO0u\",\n      \"md5\": \"d281d0281ee79a14248548b7417c34a0\",\n      \"sha1\": \"aca90d1a84fddb9cb2f012e2d9b15751d04b67c9\",\n      \"sha256\": \"e72f5d11c40b934ad3cb675ab87c32adcf1e5d6605054d8dfef51b1b6d051cfe\"\n    },\n    \"dob\": {\n      \"date\": \"1950-08-02T07:59:30.725Z\",\n      \"age\": 72\n    },\n    \"registered\": {\n      \"date\": \"2004-11-25T22:14:17.044Z\",\n      \"age\": 18\n    },\n    \"phone\": \"064-13391779\",\n    \"cell\": \"0920-547-9394\",\n    \"id\": 407,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/37.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/37.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/37.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Erik\",\n      \"last\": \"White\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1396,\n        \"name\": \"Grange Road\"\n      },\n      \"city\": \"St Davids\",\n      \"state\": \"Cambridgeshire\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"EW9 1FQ\",\n      \"coordinates\": {\n        \"latitude\": \"-51.1001\",\n        \"longitude\": \"140.9254\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:30\",\n        \"description\": \"Bombay, Calcutta, Madras, New Delhi\"\n      }\n    },\n    \"email\": \"erik.white@example.com\",\n    \"login\": {\n      \"uuid\": \"b28ac5f3-a21d-4f69-9140-c6947180b655\",\n      \"username\": \"beautifulelephant903\",\n      \"password\": \"doofus\",\n      \"salt\": \"ej1bFMf8\",\n      \"md5\": \"39aef631c331791437c95217d728b949\",\n      \"sha1\": \"8bd6a66554269f6f13397d38dfd039a1cd116283\",\n      \"sha256\": \"3f42bcd0fd38e7938099252c3372e6a8f2fab562ac9144646ebc63c94b5a2e53\"\n    },\n    \"dob\": {\n      \"date\": \"1974-08-15T09:29:45.001Z\",\n      \"age\": 48\n    },\n    \"registered\": {\n      \"date\": \"2010-11-11T00:30:01.898Z\",\n      \"age\": 12\n    },\n    \"phone\": \"016974 59884\",\n    \"cell\": \"07471 223978\",\n    \"id\": 408,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/49.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/49.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/49.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Sofía\",\n      \"last\": \"Ríos\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9811,\n        \"name\": \"Peatonal Garza\"\n      },\n      \"city\": \"José Guadalupe Rodríguez\",\n      \"state\": \"Tlaxcala\",\n      \"country\": \"Mexico\",\n      \"postcode\": 60306,\n      \"coordinates\": {\n        \"latitude\": \"-76.2728\",\n        \"longitude\": \"-162.0694\"\n      },\n      \"timezone\": {\n        \"offset\": \"-2:00\",\n        \"description\": \"Mid-Atlantic\"\n      }\n    },\n    \"email\": \"sofia.rios@example.com\",\n    \"login\": {\n      \"uuid\": \"5e454297-3e63-4cdd-bf8d-710c2c8a212b\",\n      \"username\": \"happymouse328\",\n      \"password\": \"enternow\",\n      \"salt\": \"hCXP3ZYU\",\n      \"md5\": \"3cce416bbeec9d3720a78dedec3663a7\",\n      \"sha1\": \"0b7b82e79cee77e7f86e5b4101ce30b1effd0467\",\n      \"sha256\": \"1d01d1f31d472292a5b106324e98a863d361da474ac12bdefa9ffa43fea1826b\"\n    },\n    \"dob\": {\n      \"date\": \"1946-06-04T03:50:26.674Z\",\n      \"age\": 76\n    },\n    \"registered\": {\n      \"date\": \"2008-03-19T16:38:15.721Z\",\n      \"age\": 15\n    },\n    \"phone\": \"(603) 469 3509\",\n    \"cell\": \"(621) 317 6274\",\n    \"id\": 409,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/79.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/79.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/79.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Ella\",\n      \"last\": \"Morrison\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8424,\n        \"name\": \"High Street\"\n      },\n      \"city\": \"Greystones\",\n      \"state\": \"Kerry\",\n      \"country\": \"Ireland\",\n      \"postcode\": 62075,\n      \"coordinates\": {\n        \"latitude\": \"-13.7226\",\n        \"longitude\": \"-104.8366\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:00\",\n        \"description\": \"Baghdad, Riyadh, Moscow, St. Petersburg\"\n      }\n    },\n    \"email\": \"ella.morrison@example.com\",\n    \"login\": {\n      \"uuid\": \"0ecd75eb-fa86-4e86-8721-eec25d7e8522\",\n      \"username\": \"ticklishbutterfly645\",\n      \"password\": \"latino\",\n      \"salt\": \"UJDzO8kE\",\n      \"md5\": \"1ff188e7e0cf632c28600bd40724588a\",\n      \"sha1\": \"b2c20b060b78d52bc9d5dbea8e5411b7ab8406df\",\n      \"sha256\": \"b7d962c121692af02644a3879821c237824a23ef4fc8a4b9f12816615ca3f750\"\n    },\n    \"dob\": {\n      \"date\": \"1989-11-11T10:24:20.316Z\",\n      \"age\": 33\n    },\n    \"registered\": {\n      \"date\": \"2021-08-18T05:40:21.016Z\",\n      \"age\": 1\n    },\n    \"phone\": \"041-065-2801\",\n    \"cell\": \"081-206-8080\",\n    \"id\": 410,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/46.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/46.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/46.jpg\"\n    },\n    \"nat\": \"IE\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"سینا\",\n      \"last\": \"كامياران\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4288,\n        \"name\": \"میدان قیام\"\n      },\n      \"city\": \"اهواز\",\n      \"state\": \"مازندران\",\n      \"country\": \"Iran\",\n      \"postcode\": 71814,\n      \"coordinates\": {\n        \"latitude\": \"84.0630\",\n        \"longitude\": \"44.5004\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:00\",\n        \"description\": \"Brazil, Buenos Aires, Georgetown\"\n      }\n    },\n    \"email\": \"syn.kmyrn@example.com\",\n    \"login\": {\n      \"uuid\": \"85891610-4c9f-4c34-9bf5-a5fdf2e9a712\",\n      \"username\": \"greentiger702\",\n      \"password\": \"millions\",\n      \"salt\": \"tziDLMYv\",\n      \"md5\": \"3fc46ebb00a5225e524ada3ddbf73ca6\",\n      \"sha1\": \"031ba8554c69e080086543f2982265aa843a9656\",\n      \"sha256\": \"f41c50bb66350cc309e8196a09648456455cb117ec2a9264bb58e3edfd312730\"\n    },\n    \"dob\": {\n      \"date\": \"1958-10-16T08:49:26.703Z\",\n      \"age\": 64\n    },\n    \"registered\": {\n      \"date\": \"2022-01-19T08:28:18.693Z\",\n      \"age\": 1\n    },\n    \"phone\": \"067-82244611\",\n    \"cell\": \"0908-716-2628\",\n    \"id\": 411,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/76.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/76.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/76.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Monsieur\",\n      \"first\": \"Marc\",\n      \"last\": \"Muller\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 357,\n        \"name\": \"Rue Pasteur\"\n      },\n      \"city\": \"Laufen-Uhwiesen\",\n      \"state\": \"Obwalden\",\n      \"country\": \"Switzerland\",\n      \"postcode\": 4896,\n      \"coordinates\": {\n        \"latitude\": \"79.2098\",\n        \"longitude\": \"73.1212\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:00\",\n        \"description\": \"Baghdad, Riyadh, Moscow, St. Petersburg\"\n      }\n    },\n    \"email\": \"marc.muller@example.com\",\n    \"login\": {\n      \"uuid\": \"3fa28a9e-825f-488d-8417-40a3cd871fda\",\n      \"username\": \"brownsnake782\",\n      \"password\": \"monster\",\n      \"salt\": \"6dQtbplk\",\n      \"md5\": \"0a0f2aaa42625059bb29a8a2e7976f4d\",\n      \"sha1\": \"c82ec55f949d297d4442b768c710d2b235b18467\",\n      \"sha256\": \"f5253f9930f0b49bdc179790db2b0df8e79c5cc679a57e32a4e46d4e5d4da732\"\n    },\n    \"dob\": {\n      \"date\": \"1984-03-06T07:07:24.522Z\",\n      \"age\": 39\n    },\n    \"registered\": {\n      \"date\": \"2014-05-12T20:17:02.784Z\",\n      \"age\": 9\n    },\n    \"phone\": \"078 674 84 03\",\n    \"cell\": \"079 413 88 66\",\n    \"id\": 412,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/95.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/95.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/95.jpg\"\n    },\n    \"nat\": \"CH\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Jezabel\",\n      \"last\": \"Gomes\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3858,\n        \"name\": \"Avenida Vinícius de Morais\"\n      },\n      \"city\": \"Itabira\",\n      \"state\": \"Amapá\",\n      \"country\": \"Brazil\",\n      \"postcode\": 81328,\n      \"coordinates\": {\n        \"latitude\": \"-4.0157\",\n        \"longitude\": \"138.3417\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:30\",\n        \"description\": \"Adelaide, Darwin\"\n      }\n    },\n    \"email\": \"jezabel.gomes@example.com\",\n    \"login\": {\n      \"uuid\": \"eaa01963-364f-4b30-bcbf-b4755fb92caa\",\n      \"username\": \"goldenfish704\",\n      \"password\": \"gabber\",\n      \"salt\": \"lJt84tV0\",\n      \"md5\": \"923f42a5fca2fe97fbfba9a281a1096e\",\n      \"sha1\": \"854fcb3b1eae2da4b2f17d33512bba76482614a0\",\n      \"sha256\": \"85349587f545dfa175930fff5d618b6fe4e0057cd3f56f8b57c23cf04b934b0d\"\n    },\n    \"dob\": {\n      \"date\": \"1962-10-18T07:17:49.434Z\",\n      \"age\": 60\n    },\n    \"registered\": {\n      \"date\": \"2013-11-25T10:46:17.254Z\",\n      \"age\": 9\n    },\n    \"phone\": \"(03) 8140-3598\",\n    \"cell\": \"(88) 6679-3548\",\n    \"id\": 413,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/75.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/75.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/75.jpg\"\n    },\n    \"nat\": \"BR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Ignjatije\",\n      \"last\": \"Subašić\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3758,\n        \"name\": \"Jelene Mrnjavčević \"\n      },\n      \"city\": \"Novi Bečej\",\n      \"state\": \"Šumadija\",\n      \"country\": \"Serbia\",\n      \"postcode\": 79658,\n      \"coordinates\": {\n        \"latitude\": \"68.7951\",\n        \"longitude\": \"4.3068\"\n      },\n      \"timezone\": {\n        \"offset\": \"+10:00\",\n        \"description\": \"Eastern Australia, Guam, Vladivostok\"\n      }\n    },\n    \"email\": \"ignjatije.subasic@example.com\",\n    \"login\": {\n      \"uuid\": \"319d5a9f-392e-4f70-a5d5-b10a2b6aaa23\",\n      \"username\": \"ticklishsnake685\",\n      \"password\": \"717171\",\n      \"salt\": \"NYCxTerI\",\n      \"md5\": \"e5971bbe7a3ac3faf369de300fa05bd7\",\n      \"sha1\": \"55491d745b8e0ae64c8789830a01e4566e885bec\",\n      \"sha256\": \"e1a6da27e000c861d6c33dfe8b99ca8122317d629d5d695d924ebedb122e9bf2\"\n    },\n    \"dob\": {\n      \"date\": \"1990-11-06T06:54:22.068Z\",\n      \"age\": 32\n    },\n    \"registered\": {\n      \"date\": \"2015-02-04T20:09:21.653Z\",\n      \"age\": 8\n    },\n    \"phone\": \"037-4597-277\",\n    \"cell\": \"069-4485-801\",\n    \"id\": 414,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/64.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/64.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/64.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Xavier\",\n      \"last\": \"Patel\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2569,\n        \"name\": \"Pine Rd\"\n      },\n      \"city\": \"Fauquier\",\n      \"state\": \"Alberta\",\n      \"country\": \"Canada\",\n      \"postcode\": \"C8I 8E3\",\n      \"coordinates\": {\n        \"latitude\": \"29.1194\",\n        \"longitude\": \"-61.2970\"\n      },\n      \"timezone\": {\n        \"offset\": \"-8:00\",\n        \"description\": \"Pacific Time (US & Canada)\"\n      }\n    },\n    \"email\": \"xavier.patel@example.com\",\n    \"login\": {\n      \"uuid\": \"5c7f19b6-73c8-4a44-810d-4fada08d8113\",\n      \"username\": \"crazylion753\",\n      \"password\": \"rochelle\",\n      \"salt\": \"YSKsutsy\",\n      \"md5\": \"e5db4ecc7f7ca0a771c4cda71f086002\",\n      \"sha1\": \"7f2dc917d0d03f68b728342af278adbc27a276f4\",\n      \"sha256\": \"008a8aed064a98846c1d3b63a1929d9da7943ff0580c382a25af6a4a50aa1a23\"\n    },\n    \"dob\": {\n      \"date\": \"1960-12-07T16:00:30.316Z\",\n      \"age\": 62\n    },\n    \"registered\": {\n      \"date\": \"2011-03-22T07:01:09.029Z\",\n      \"age\": 12\n    },\n    \"phone\": \"A29 C12-3907\",\n    \"cell\": \"K22 T72-3948\",\n    \"id\": 415,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/89.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/89.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/89.jpg\"\n    },\n    \"nat\": \"CA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"بهاره\",\n      \"last\": \"حسینی\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9725,\n        \"name\": \"موحد دانش\"\n      },\n      \"city\": \"زنجان\",\n      \"state\": \"کهگیلویه و بویراحمد\",\n      \"country\": \"Iran\",\n      \"postcode\": 39512,\n      \"coordinates\": {\n        \"latitude\": \"-80.0084\",\n        \"longitude\": \"-91.1263\"\n      },\n      \"timezone\": {\n        \"offset\": \"-7:00\",\n        \"description\": \"Mountain Time (US & Canada)\"\n      }\n    },\n    \"email\": \"bhrh.hsyny@example.com\",\n    \"login\": {\n      \"uuid\": \"1e1ca498-72d1-48f9-8c62-59cfee413f4d\",\n      \"username\": \"lazyzebra327\",\n      \"password\": \"tyrone\",\n      \"salt\": \"jdVtoaJx\",\n      \"md5\": \"edc1bf9ce17ca28a36c8147419a299c1\",\n      \"sha1\": \"4c24b2265e2b29079c86434f7bc801b2056c9b53\",\n      \"sha256\": \"33821794ffc09066afb4779c524b645d584a0d184ff630199037de5875ebb1f8\"\n    },\n    \"dob\": {\n      \"date\": \"1979-05-27T13:57:53.230Z\",\n      \"age\": 43\n    },\n    \"registered\": {\n      \"date\": \"2021-02-05T07:14:57.297Z\",\n      \"age\": 2\n    },\n    \"phone\": \"098-92764550\",\n    \"cell\": \"0941-738-4353\",\n    \"id\": 416,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/19.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/19.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/19.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Alberte\",\n      \"last\": \"Petersen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 863,\n        \"name\": \"Elme Alle\"\n      },\n      \"city\": \"Amager\",\n      \"state\": \"Nordjylland\",\n      \"country\": \"Denmark\",\n      \"postcode\": 59359,\n      \"coordinates\": {\n        \"latitude\": \"62.8127\",\n        \"longitude\": \"21.5077\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:00\",\n        \"description\": \"Brazil, Buenos Aires, Georgetown\"\n      }\n    },\n    \"email\": \"alberte.petersen@example.com\",\n    \"login\": {\n      \"uuid\": \"9cb65489-ae7e-4075-809d-802c2c31bc9e\",\n      \"username\": \"happybear268\",\n      \"password\": \"europe\",\n      \"salt\": \"LMXJL8Ry\",\n      \"md5\": \"db61175eb6cb124501d49fc8a57f0911\",\n      \"sha1\": \"d55ac9a821d7c39b84d65551ad0f96147906e5a7\",\n      \"sha256\": \"cfe0160af749c0a84c0714d44c67ccd6cc04b0b437b5c981ebdc60c1d2310823\"\n    },\n    \"dob\": {\n      \"date\": \"1948-08-08T08:44:04.711Z\",\n      \"age\": 74\n    },\n    \"registered\": {\n      \"date\": \"2020-05-04T08:46:44.246Z\",\n      \"age\": 3\n    },\n    \"phone\": \"58957118\",\n    \"cell\": \"56941526\",\n    \"id\": 417,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/29.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/29.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/29.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Hildeberto\",\n      \"last\": \"Fernandes\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4658,\n        \"name\": \"Rua Amazonas \"\n      },\n      \"city\": \"Joinville\",\n      \"state\": \"Pernambuco\",\n      \"country\": \"Brazil\",\n      \"postcode\": 29944,\n      \"coordinates\": {\n        \"latitude\": \"49.8171\",\n        \"longitude\": \"11.2914\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"hildeberto.fernandes@example.com\",\n    \"login\": {\n      \"uuid\": \"5b351104-51bf-4edf-b8fa-3948d891375d\",\n      \"username\": \"biggorilla729\",\n      \"password\": \"watcher\",\n      \"salt\": \"DJNEeKlX\",\n      \"md5\": \"d500d16b993b03cf63bd916a5310167b\",\n      \"sha1\": \"d6f1550061b598620ce47248a8ed8ed6ec380546\",\n      \"sha256\": \"6a1369a7396a32bb8899b96ef2f1e0734beb367cb04a57257324fc40dbe7b75a\"\n    },\n    \"dob\": {\n      \"date\": \"1955-10-18T08:47:59.668Z\",\n      \"age\": 67\n    },\n    \"registered\": {\n      \"date\": \"2011-10-11T17:30:11.697Z\",\n      \"age\": 11\n    },\n    \"phone\": \"(03) 7968-2156\",\n    \"cell\": \"(79) 3409-7018\",\n    \"id\": 418,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/4.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/4.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/4.jpg\"\n    },\n    \"nat\": \"BR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Imogen\",\n      \"last\": \"White\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2447,\n        \"name\": \"Kamo Road\"\n      },\n      \"city\": \"Nelson\",\n      \"state\": \"Hawke'S Bay\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 83526,\n      \"coordinates\": {\n        \"latitude\": \"-77.2257\",\n        \"longitude\": \"-20.9752\"\n      },\n      \"timezone\": {\n        \"offset\": \"-6:00\",\n        \"description\": \"Central Time (US & Canada), Mexico City\"\n      }\n    },\n    \"email\": \"imogen.white@example.com\",\n    \"login\": {\n      \"uuid\": \"362c61d3-50e3-4f69-bc10-8cc7899e560d\",\n      \"username\": \"angrypanda763\",\n      \"password\": \"1357\",\n      \"salt\": \"B7qA1HGt\",\n      \"md5\": \"0a43bb421e53d6818c8094b7f13f6fcc\",\n      \"sha1\": \"5afbcb3ed9d5048dbfae9df8459c5b19244dd8d5\",\n      \"sha256\": \"a1c029a4b5e3add76c5a9ecd0f370f5eee96a16c2c332140b794946de4ce6e53\"\n    },\n    \"dob\": {\n      \"date\": \"1956-10-29T19:33:41.442Z\",\n      \"age\": 66\n    },\n    \"registered\": {\n      \"date\": \"2005-03-17T09:11:01.321Z\",\n      \"age\": 18\n    },\n    \"phone\": \"(188)-577-8978\",\n    \"cell\": \"(267)-415-5582\",\n    \"id\": 419,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/68.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/68.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/68.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Silvano\",\n      \"last\": \"Puente\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1098,\n        \"name\": \"Diagonal Reino Unido de Gran Bretaña e Irlanda del Norte\"\n      },\n      \"city\": \"Paraíso La Reforma\",\n      \"state\": \"Veracruz\",\n      \"country\": \"Mexico\",\n      \"postcode\": 99259,\n      \"coordinates\": {\n        \"latitude\": \"83.8084\",\n        \"longitude\": \"-118.6088\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:00\",\n        \"description\": \"Abu Dhabi, Muscat, Baku, Tbilisi\"\n      }\n    },\n    \"email\": \"silvano.puente@example.com\",\n    \"login\": {\n      \"uuid\": \"f905fca2-3d3c-48e2-831d-baff391c765d\",\n      \"username\": \"tinydog498\",\n      \"password\": \"boston1\",\n      \"salt\": \"Du4YW83s\",\n      \"md5\": \"ecbe889b1662196469f5772963efe101\",\n      \"sha1\": \"d7478147618f26cfee061fe933e47879b49b6bd2\",\n      \"sha256\": \"a31a0d5bb0b3f8b8668600012217a1d4e68a4b81190eebbf0d576537f8bd25fe\"\n    },\n    \"dob\": {\n      \"date\": \"1996-09-27T08:17:26.974Z\",\n      \"age\": 26\n    },\n    \"registered\": {\n      \"date\": \"2017-01-12T16:08:05.389Z\",\n      \"age\": 6\n    },\n    \"phone\": \"(691) 296 8643\",\n    \"cell\": \"(670) 698 5830\",\n    \"id\": 420,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/62.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/62.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/62.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Madame\",\n      \"first\": \"Chantal\",\n      \"last\": \"Vincent\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 115,\n        \"name\": \"Avenue Vauban\"\n      },\n      \"city\": \"La Neuveville\",\n      \"state\": \"Glarus\",\n      \"country\": \"Switzerland\",\n      \"postcode\": 1077,\n      \"coordinates\": {\n        \"latitude\": \"-20.8608\",\n        \"longitude\": \"-46.4171\"\n      },\n      \"timezone\": {\n        \"offset\": \"-9:00\",\n        \"description\": \"Alaska\"\n      }\n    },\n    \"email\": \"chantal.vincent@example.com\",\n    \"login\": {\n      \"uuid\": \"f0d82785-7c67-4381-bedc-e676f5aa73a0\",\n      \"username\": \"goldenbird890\",\n      \"password\": \"herbert\",\n      \"salt\": \"1QBflkBn\",\n      \"md5\": \"5b1890a9e58d8ecf015facf4a471cc67\",\n      \"sha1\": \"326254e4d5a01fe2b1a0b542962fcffdf38beb4a\",\n      \"sha256\": \"2ed4d6d9268dfaa13f2348a903b9bbdd355b6e0daf7d3ad97a8e1e59f8d013fc\"\n    },\n    \"dob\": {\n      \"date\": \"1954-06-05T23:07:59.341Z\",\n      \"age\": 68\n    },\n    \"registered\": {\n      \"date\": \"2020-08-02T23:54:37.514Z\",\n      \"age\": 2\n    },\n    \"phone\": \"076 135 66 39\",\n    \"cell\": \"075 268 10 05\",\n    \"id\": 421,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/13.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/13.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/13.jpg\"\n    },\n    \"nat\": \"CH\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Tomasz\",\n      \"last\": \"Schmitz\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9743,\n        \"name\": \"Heideweg\"\n      },\n      \"city\": \"Adorf/Vogtl.\",\n      \"state\": \"Brandenburg\",\n      \"country\": \"Germany\",\n      \"postcode\": 57444,\n      \"coordinates\": {\n        \"latitude\": \"45.2365\",\n        \"longitude\": \"96.5041\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:30\",\n        \"description\": \"Adelaide, Darwin\"\n      }\n    },\n    \"email\": \"tomasz.schmitz@example.com\",\n    \"login\": {\n      \"uuid\": \"82edd3b9-be6f-427d-8e81-225f2f9c4da3\",\n      \"username\": \"purpleelephant751\",\n      \"password\": \"626262\",\n      \"salt\": \"JCyKhBWW\",\n      \"md5\": \"7dc1f4d4ee7ee365705d0f0e58450328\",\n      \"sha1\": \"f19d611a323a6775b646ae3cfe88585e9fde43e6\",\n      \"sha256\": \"171127ff2b306f866c4147349c0456d1228cbff111eaab2f841a93d9eacb4435\"\n    },\n    \"dob\": {\n      \"date\": \"1989-05-12T05:39:21.938Z\",\n      \"age\": 34\n    },\n    \"registered\": {\n      \"date\": \"2010-03-21T01:12:37.085Z\",\n      \"age\": 13\n    },\n    \"phone\": \"0260-2037829\",\n    \"cell\": \"0174-0358115\",\n    \"id\": 422,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/32.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/32.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/32.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Alicia\",\n      \"last\": \"Lévesque\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1908,\n        \"name\": \"36th Ave\"\n      },\n      \"city\": \"Field\",\n      \"state\": \"Nova Scotia\",\n      \"country\": \"Canada\",\n      \"postcode\": \"M5Z 8G1\",\n      \"coordinates\": {\n        \"latitude\": \"-47.0444\",\n        \"longitude\": \"92.8113\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:45\",\n        \"description\": \"Kathmandu\"\n      }\n    },\n    \"email\": \"alicia.levesque@example.com\",\n    \"login\": {\n      \"uuid\": \"50cccfec-add7-431f-8aed-383aff3f1d2f\",\n      \"username\": \"yellowleopard282\",\n      \"password\": \"magnus\",\n      \"salt\": \"62MBVWn7\",\n      \"md5\": \"50a6085e313d5b968dc39e10d615d3cc\",\n      \"sha1\": \"6511347f451da76d737bbbb2182c1cdbdc56187d\",\n      \"sha256\": \"62a7751c12365c7a4988c7b1d93f9f9c6a4b5722f22462922baca85941d3d671\"\n    },\n    \"dob\": {\n      \"date\": \"1960-03-17T18:26:16.531Z\",\n      \"age\": 63\n    },\n    \"registered\": {\n      \"date\": \"2018-09-20T07:29:04.544Z\",\n      \"age\": 4\n    },\n    \"phone\": \"R86 Q68-6441\",\n    \"cell\": \"D89 Q43-4086\",\n    \"id\": 423,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/75.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/75.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/75.jpg\"\n    },\n    \"nat\": \"CA\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Alfredo\",\n      \"last\": \"García\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2809,\n        \"name\": \"Calle de Ángel García\"\n      },\n      \"city\": \"Alcobendas\",\n      \"state\": \"Galicia\",\n      \"country\": \"Spain\",\n      \"postcode\": 19522,\n      \"coordinates\": {\n        \"latitude\": \"-81.3328\",\n        \"longitude\": \"109.7280\"\n      },\n      \"timezone\": {\n        \"offset\": \"-7:00\",\n        \"description\": \"Mountain Time (US & Canada)\"\n      }\n    },\n    \"email\": \"alfredo.garcia@example.com\",\n    \"login\": {\n      \"uuid\": \"c1a652ec-7c57-4d6a-af21-d63bf8a48997\",\n      \"username\": \"tinyfrog477\",\n      \"password\": \"lips\",\n      \"salt\": \"vMkViuJQ\",\n      \"md5\": \"6e5d409ea9699e37e785ab6e49179acf\",\n      \"sha1\": \"acfb65b76975271c2714c9d8f5021a597e7b1311\",\n      \"sha256\": \"026fcbd465eb70464c8b55250f38d5c6218be12c40c2962d4f2ab7ef3a5f649a\"\n    },\n    \"dob\": {\n      \"date\": \"1960-01-10T03:05:41.549Z\",\n      \"age\": 63\n    },\n    \"registered\": {\n      \"date\": \"2008-11-11T07:09:37.197Z\",\n      \"age\": 14\n    },\n    \"phone\": \"975-191-907\",\n    \"cell\": \"676-349-791\",\n    \"id\": 424,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/25.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/25.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/25.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Kayla\",\n      \"last\": \"Lilleland\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2159,\n        \"name\": \"Nedre Prinsdals vei\"\n      },\n      \"city\": \"Moane\",\n      \"state\": \"Oppland\",\n      \"country\": \"Norway\",\n      \"postcode\": \"9038\",\n      \"coordinates\": {\n        \"latitude\": \"71.5836\",\n        \"longitude\": \"-55.3261\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"kayla.lilleland@example.com\",\n    \"login\": {\n      \"uuid\": \"8155458d-48b3-45df-8b84-905d57ed9cb3\",\n      \"username\": \"greengorilla917\",\n      \"password\": \"456123\",\n      \"salt\": \"LtwXxXmw\",\n      \"md5\": \"18682e6b361ca1104a582f025fb851de\",\n      \"sha1\": \"61afc31759666e883029ce5ee7276523fdb15c0f\",\n      \"sha256\": \"80b3a930ad9a4c7bbdf3c74ffbb5ee60ede591832cf4b837f4eaf8f398e6e8d5\"\n    },\n    \"dob\": {\n      \"date\": \"1966-04-02T22:47:15.893Z\",\n      \"age\": 57\n    },\n    \"registered\": {\n      \"date\": \"2006-01-13T02:59:32.811Z\",\n      \"age\": 17\n    },\n    \"phone\": \"56612708\",\n    \"cell\": \"41856452\",\n    \"id\": 425,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/92.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/92.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/92.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Amandine\",\n      \"last\": \"Gonzalez\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4969,\n        \"name\": \"Rue de la Mairie\"\n      },\n      \"city\": \"Angers\",\n      \"state\": \"Côte-D'Or\",\n      \"country\": \"France\",\n      \"postcode\": 47987,\n      \"coordinates\": {\n        \"latitude\": \"-54.5609\",\n        \"longitude\": \"-33.0463\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"amandine.gonzalez@example.com\",\n    \"login\": {\n      \"uuid\": \"a0cc74e9-1944-4464-a482-5477afe9fe21\",\n      \"username\": \"silvergoose625\",\n      \"password\": \"moonshin\",\n      \"salt\": \"SLxqsccd\",\n      \"md5\": \"38ff145b1477bab3475b6f875e8a6648\",\n      \"sha1\": \"8cc8bafb5106c131d8b9b41abee81f7b830d55d7\",\n      \"sha256\": \"0a5a4fa6ef85bd0a9bdeb26637235b11d327a1ad5b863abdf64b8570575648a2\"\n    },\n    \"dob\": {\n      \"date\": \"1992-02-05T05:19:29.990Z\",\n      \"age\": 31\n    },\n    \"registered\": {\n      \"date\": \"2009-08-07T09:53:23.685Z\",\n      \"age\": 13\n    },\n    \"phone\": \"03-43-09-61-41\",\n    \"cell\": \"06-01-18-78-18\",\n    \"id\": 426,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/85.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/85.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/85.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Adam\",\n      \"last\": \"Brown\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7486,\n        \"name\": \"Mockingbird Hill\"\n      },\n      \"city\": \"San Jose\",\n      \"state\": \"Alabama\",\n      \"country\": \"United States\",\n      \"postcode\": 35430,\n      \"coordinates\": {\n        \"latitude\": \"-37.2653\",\n        \"longitude\": \"-1.4248\"\n      },\n      \"timezone\": {\n        \"offset\": \"-9:00\",\n        \"description\": \"Alaska\"\n      }\n    },\n    \"email\": \"adam.brown@example.com\",\n    \"login\": {\n      \"uuid\": \"7f53efa4-ff8e-406b-a4ee-60130b478bf1\",\n      \"username\": \"yellowbear549\",\n      \"password\": \"threesom\",\n      \"salt\": \"YtrORFFQ\",\n      \"md5\": \"2c6d63884e8ab03c004202c243a9da3f\",\n      \"sha1\": \"b0819879b665e2357f4d1db83bc25c8dc3c6cd42\",\n      \"sha256\": \"ce3ff5cf3f51c48bef2702bd7a2d779b76656c7d8de512b0e52905be99e8b72a\"\n    },\n    \"dob\": {\n      \"date\": \"1958-11-28T17:39:15.896Z\",\n      \"age\": 64\n    },\n    \"registered\": {\n      \"date\": \"2022-04-19T05:19:15.043Z\",\n      \"age\": 1\n    },\n    \"phone\": \"(258) 547-4342\",\n    \"cell\": \"(972) 701-6643\",\n    \"id\": 427,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/24.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/24.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/24.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Apolline\",\n      \"last\": \"Roger\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6025,\n        \"name\": \"Rue des Abbesses\"\n      },\n      \"city\": \"Angers\",\n      \"state\": \"Puy-de-Dôme\",\n      \"country\": \"France\",\n      \"postcode\": 92551,\n      \"coordinates\": {\n        \"latitude\": \"5.7843\",\n        \"longitude\": \"105.1572\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:30\",\n        \"description\": \"Bombay, Calcutta, Madras, New Delhi\"\n      }\n    },\n    \"email\": \"apolline.roger@example.com\",\n    \"login\": {\n      \"uuid\": \"c2003d3c-5553-4de5-863e-4ae58324be7a\",\n      \"username\": \"redpanda684\",\n      \"password\": \"miriam\",\n      \"salt\": \"aXqBHZnv\",\n      \"md5\": \"d4836d4d31b2c1739d939b35da25bfb9\",\n      \"sha1\": \"3f7d128590ad0a51d3f5c8f73c34f52da81b84d1\",\n      \"sha256\": \"a859bf41ef6df5efa3657fb7a2bc053e232dfc1eefa8bd29de6bcc8cb066cd93\"\n    },\n    \"dob\": {\n      \"date\": \"1987-11-10T03:39:35.031Z\",\n      \"age\": 35\n    },\n    \"registered\": {\n      \"date\": \"2021-12-17T12:58:06.800Z\",\n      \"age\": 1\n    },\n    \"phone\": \"03-44-49-55-75\",\n    \"cell\": \"06-01-44-08-55\",\n    \"id\": 428,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/92.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/92.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/92.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Frederik\",\n      \"last\": \"Hinna\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8476,\n        \"name\": \"Ensjøveien\"\n      },\n      \"city\": \"Oma\",\n      \"state\": \"Bergen\",\n      \"country\": \"Norway\",\n      \"postcode\": \"3480\",\n      \"coordinates\": {\n        \"latitude\": \"-45.7036\",\n        \"longitude\": \"84.8391\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"frederik.hinna@example.com\",\n    \"login\": {\n      \"uuid\": \"8dc480e9-f8df-4024-9515-79a506ea3c3c\",\n      \"username\": \"brownfish992\",\n      \"password\": \"2004\",\n      \"salt\": \"WL1vohHb\",\n      \"md5\": \"da29c7f06a024f23c191cd57afd30816\",\n      \"sha1\": \"cc918884389ec19a33669547a65eac53bc97bdc9\",\n      \"sha256\": \"b080fd53fd0f59f5e080756133f70c5b5b6e50bdc9d715047c1dd73d7ce47712\"\n    },\n    \"dob\": {\n      \"date\": \"1985-10-13T14:21:43.505Z\",\n      \"age\": 37\n    },\n    \"registered\": {\n      \"date\": \"2013-03-03T09:59:58.559Z\",\n      \"age\": 10\n    },\n    \"phone\": \"62603931\",\n    \"cell\": \"94648989\",\n    \"id\": 429,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/16.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/16.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/16.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Aloisia\",\n      \"last\": \"Beier\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8599,\n        \"name\": \"Mozartstraße\"\n      },\n      \"city\": \"Kaltenkirchen\",\n      \"state\": \"Niedersachsen\",\n      \"country\": \"Germany\",\n      \"postcode\": 49331,\n      \"coordinates\": {\n        \"latitude\": \"-11.4777\",\n        \"longitude\": \"-42.9495\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"aloisia.beier@example.com\",\n    \"login\": {\n      \"uuid\": \"aabdccda-35f8-48ee-81d1-7acba02837c6\",\n      \"username\": \"angryrabbit577\",\n      \"password\": \"1982\",\n      \"salt\": \"lxn2xIBe\",\n      \"md5\": \"6b53aaf7da88e46563d82421257a1218\",\n      \"sha1\": \"830c072b5dae7549c9d7cc94c78092d8298f3ae9\",\n      \"sha256\": \"236dfbc9ec1f0046677b086410c87a7e9a6dcdbcaacfc3ceb7f526911429b78a\"\n    },\n    \"dob\": {\n      \"date\": \"1973-04-26T03:00:50.808Z\",\n      \"age\": 50\n    },\n    \"registered\": {\n      \"date\": \"2020-12-29T23:47:33.262Z\",\n      \"age\": 2\n    },\n    \"phone\": \"0384-3270465\",\n    \"cell\": \"0175-8478397\",\n    \"id\": 430,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/32.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/32.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/32.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Asta\",\n      \"last\": \"Jørgensen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3211,\n        \"name\": \"Krokusvej\"\n      },\n      \"city\": \"Noerre Alslev\",\n      \"state\": \"Danmark\",\n      \"country\": \"Denmark\",\n      \"postcode\": 17713,\n      \"coordinates\": {\n        \"latitude\": \"-24.6495\",\n        \"longitude\": \"-53.7651\"\n      },\n      \"timezone\": {\n        \"offset\": \"-8:00\",\n        \"description\": \"Pacific Time (US & Canada)\"\n      }\n    },\n    \"email\": \"asta.jorgensen@example.com\",\n    \"login\": {\n      \"uuid\": \"d18e4331-c01d-4292-8ebd-1a471e3ac0bb\",\n      \"username\": \"tinymeercat796\",\n      \"password\": \"1030\",\n      \"salt\": \"CdGXBPAY\",\n      \"md5\": \"c88c29dbe35ab8c01e552c3608690cec\",\n      \"sha1\": \"920c849559bac8e45403b87193458939727a0138\",\n      \"sha256\": \"31a3c3ca88a6f89b0aec06f519e118ea77d307c22b43be39121aa04378f66df7\"\n    },\n    \"dob\": {\n      \"date\": \"1959-05-09T04:25:18.645Z\",\n      \"age\": 64\n    },\n    \"registered\": {\n      \"date\": \"2004-12-29T14:51:18.353Z\",\n      \"age\": 18\n    },\n    \"phone\": \"82698546\",\n    \"cell\": \"62287668\",\n    \"id\": 431,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/63.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/63.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/63.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Cory\",\n      \"last\": \"Sullivan\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6861,\n        \"name\": \"Queens Road\"\n      },\n      \"city\": \"Kingston upon Hull\",\n      \"state\": \"County Down\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"E7 5JB\",\n      \"coordinates\": {\n        \"latitude\": \"-79.7422\",\n        \"longitude\": \"-109.4518\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:45\",\n        \"description\": \"Kathmandu\"\n      }\n    },\n    \"email\": \"cory.sullivan@example.com\",\n    \"login\": {\n      \"uuid\": \"589a4dd3-65da-449a-9ccc-997434473afe\",\n      \"username\": \"heavylion724\",\n      \"password\": \"brucelee\",\n      \"salt\": \"KWgcmqId\",\n      \"md5\": \"61b0ba87600db90369439ef758384166\",\n      \"sha1\": \"9c52aa9c3107c97cf2083871209eb799b05828d7\",\n      \"sha256\": \"abc5f8dd52e1cbfa2451cdd3fdcf22a1aac3e794c8dc462f8b91eda8e3c8743e\"\n    },\n    \"dob\": {\n      \"date\": \"1946-04-06T17:06:56.285Z\",\n      \"age\": 77\n    },\n    \"registered\": {\n      \"date\": \"2011-04-07T14:02:58.481Z\",\n      \"age\": 12\n    },\n    \"phone\": \"015394 86667\",\n    \"cell\": \"07475 813287\",\n    \"id\": 432,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/29.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/29.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/29.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Hugo\",\n      \"last\": \"Cano\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7727,\n        \"name\": \"Calle del Pez\"\n      },\n      \"city\": \"Las Palmas de Gran Canaria\",\n      \"state\": \"Comunidad Valenciana\",\n      \"country\": \"Spain\",\n      \"postcode\": 58995,\n      \"coordinates\": {\n        \"latitude\": \"-5.7858\",\n        \"longitude\": \"-73.6614\"\n      },\n      \"timezone\": {\n        \"offset\": \"0:00\",\n        \"description\": \"Western Europe Time, London, Lisbon, Casablanca\"\n      }\n    },\n    \"email\": \"hugo.cano@example.com\",\n    \"login\": {\n      \"uuid\": \"4ee09c3a-d6c9-4a01-a382-8c15c2eebce3\",\n      \"username\": \"redgoose589\",\n      \"password\": \"lauren\",\n      \"salt\": \"7gV1wUgj\",\n      \"md5\": \"62018beb9a005fda6e9e0bdfae9efad4\",\n      \"sha1\": \"4000858d759df303c94923b6bed41c4f1bc74add\",\n      \"sha256\": \"37d8294b1374f3a8499d34d48e023a3446ff135ace5b90395ab172072559f8fc\"\n    },\n    \"dob\": {\n      \"date\": \"1983-09-03T21:50:30.728Z\",\n      \"age\": 39\n    },\n    \"registered\": {\n      \"date\": \"2012-08-30T01:43:03.454Z\",\n      \"age\": 10\n    },\n    \"phone\": \"969-803-267\",\n    \"cell\": \"653-911-074\",\n    \"id\": 433,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/43.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/43.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/43.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Hernán\",\n      \"last\": \"Candelaria\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7615,\n        \"name\": \"Eje vial Lucio\"\n      },\n      \"city\": \"División del Norte\",\n      \"state\": \"Tlaxcala\",\n      \"country\": \"Mexico\",\n      \"postcode\": 54801,\n      \"coordinates\": {\n        \"latitude\": \"-38.4101\",\n        \"longitude\": \"74.7735\"\n      },\n      \"timezone\": {\n        \"offset\": \"-7:00\",\n        \"description\": \"Mountain Time (US & Canada)\"\n      }\n    },\n    \"email\": \"hernan.candelaria@example.com\",\n    \"login\": {\n      \"uuid\": \"06f134fd-0850-4a7c-93db-e5c3082bc1b5\",\n      \"username\": \"greenladybug792\",\n      \"password\": \"compass\",\n      \"salt\": \"0uBU7e76\",\n      \"md5\": \"6159ab2382bb09e194eaf1953c6cef59\",\n      \"sha1\": \"b10c7da84fae3facb42a07eca8106802c46d9195\",\n      \"sha256\": \"3033cd5002ff8f83bee91ad27fdc436e2e2a7d63e29ab242e7fcbb9230335139\"\n    },\n    \"dob\": {\n      \"date\": \"1977-12-29T01:20:40.975Z\",\n      \"age\": 45\n    },\n    \"registered\": {\n      \"date\": \"2004-03-06T22:05:13.565Z\",\n      \"age\": 19\n    },\n    \"phone\": \"(692) 486 5103\",\n    \"cell\": \"(638) 235 6036\",\n    \"id\": 434,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/70.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/70.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/70.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Ömür\",\n      \"last\": \"Topaloğlu\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1473,\n        \"name\": \"Atatürk Sk\"\n      },\n      \"city\": \"Isparta\",\n      \"state\": \"Hakkâri\",\n      \"country\": \"Turkey\",\n      \"postcode\": 64357,\n      \"coordinates\": {\n        \"latitude\": \"34.1551\",\n        \"longitude\": \"-72.1016\"\n      },\n      \"timezone\": {\n        \"offset\": \"-11:00\",\n        \"description\": \"Midway Island, Samoa\"\n      }\n    },\n    \"email\": \"omur.topaloglu@example.com\",\n    \"login\": {\n      \"uuid\": \"57bf3af5-367a-41cb-8baf-a006d49306c0\",\n      \"username\": \"ticklishswan586\",\n      \"password\": \"stinger\",\n      \"salt\": \"8CDR9CLS\",\n      \"md5\": \"97195ec122d7d9c201dd2da833376c5a\",\n      \"sha1\": \"93d75a81144f6e27ecbbde482317e9649f927a7f\",\n      \"sha256\": \"4410a63f6f5425d48874a30c1fcd7461aa8421fb3794d847e3707ee559ef5f62\"\n    },\n    \"dob\": {\n      \"date\": \"1970-06-15T18:18:36.939Z\",\n      \"age\": 52\n    },\n    \"registered\": {\n      \"date\": \"2012-03-01T12:23:28.738Z\",\n      \"age\": 11\n    },\n    \"phone\": \"(361)-213-5912\",\n    \"cell\": \"(441)-152-9452\",\n    \"id\": 435,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/86.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/86.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/86.jpg\"\n    },\n    \"nat\": \"TR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Nelli\",\n      \"last\": \"Lauri\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7927,\n        \"name\": \"Korkeavuorenkatu\"\n      },\n      \"city\": \"Tampere\",\n      \"state\": \"Tavastia Proper\",\n      \"country\": \"Finland\",\n      \"postcode\": 91310,\n      \"coordinates\": {\n        \"latitude\": \"-21.0766\",\n        \"longitude\": \"-122.4655\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:00\",\n        \"description\": \"Brazil, Buenos Aires, Georgetown\"\n      }\n    },\n    \"email\": \"nelli.lauri@example.com\",\n    \"login\": {\n      \"uuid\": \"74b5d23b-584e-4679-bacd-ad20fafcb60f\",\n      \"username\": \"greenwolf482\",\n      \"password\": \"lauren\",\n      \"salt\": \"7eB38g8g\",\n      \"md5\": \"59301def0fcb0bfae61f21d8b4961220\",\n      \"sha1\": \"0abb4534d8fe7bfada813fcd92783601693fb098\",\n      \"sha256\": \"33a7850b1a48b632709de6f40e73154d939bcd762164e72ae52d00a24df14fc1\"\n    },\n    \"dob\": {\n      \"date\": \"1990-07-29T19:45:39.654Z\",\n      \"age\": 32\n    },\n    \"registered\": {\n      \"date\": \"2002-05-05T06:00:34.883Z\",\n      \"age\": 21\n    },\n    \"phone\": \"05-683-252\",\n    \"cell\": \"044-303-25-85\",\n    \"id\": 436,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/79.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/79.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/79.jpg\"\n    },\n    \"nat\": \"FI\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Rocío\",\n      \"last\": \"de Jesús\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 539,\n        \"name\": \"Diagonal Sur Ponce\"\n      },\n      \"city\": \"Nuevo Tantoán\",\n      \"state\": \"Tabasco\",\n      \"country\": \"Mexico\",\n      \"postcode\": 23058,\n      \"coordinates\": {\n        \"latitude\": \"37.8659\",\n        \"longitude\": \"157.0056\"\n      },\n      \"timezone\": {\n        \"offset\": \"-1:00\",\n        \"description\": \"Azores, Cape Verde Islands\"\n      }\n    },\n    \"email\": \"rocio.dejesus@example.com\",\n    \"login\": {\n      \"uuid\": \"e3ecfcfa-03a5-4c9e-9fa8-144d1b5bba4d\",\n      \"username\": \"greenfrog993\",\n      \"password\": \"beaches\",\n      \"salt\": \"JrIa1wUx\",\n      \"md5\": \"9a33b4da6d79ac5b5d5ba12676d4a47b\",\n      \"sha1\": \"17a3167a94837bf30f3f69bf10c131eed323eebc\",\n      \"sha256\": \"3325dc0808b48eb4b6c2f3097c98da2d2589d33ea1c8e08ba1fd2d6b653ed847\"\n    },\n    \"dob\": {\n      \"date\": \"1951-09-14T03:32:40.575Z\",\n      \"age\": 71\n    },\n    \"registered\": {\n      \"date\": \"2016-08-17T11:53:00.744Z\",\n      \"age\": 6\n    },\n    \"phone\": \"(624) 497 5877\",\n    \"cell\": \"(651) 540 3312\",\n    \"id\": 437,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/75.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/75.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/75.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Maya\",\n      \"last\": \"Flesland\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5561,\n        \"name\": \"Bjørnslettveien\"\n      },\n      \"city\": \"Bratsberg\",\n      \"state\": \"Finnmark - Finnmárku\",\n      \"country\": \"Norway\",\n      \"postcode\": \"7748\",\n      \"coordinates\": {\n        \"latitude\": \"84.6514\",\n        \"longitude\": \"-21.5836\"\n      },\n      \"timezone\": {\n        \"offset\": \"+10:00\",\n        \"description\": \"Eastern Australia, Guam, Vladivostok\"\n      }\n    },\n    \"email\": \"maya.flesland@example.com\",\n    \"login\": {\n      \"uuid\": \"495fad0e-6235-4a30-b8f6-0f28cc5054e4\",\n      \"username\": \"ticklishkoala119\",\n      \"password\": \"chubby\",\n      \"salt\": \"poPq3AnA\",\n      \"md5\": \"1013d00dfce7d490b1699ffdfa3fdbbc\",\n      \"sha1\": \"dd709f3badf61a3e94b5a5919d9d3de620b7f401\",\n      \"sha256\": \"83f4f8b5cd6072f44a7d4320e1897abe7c7a11e4be2f981893f41738c9c4ecf0\"\n    },\n    \"dob\": {\n      \"date\": \"1972-04-19T17:47:40.739Z\",\n      \"age\": 51\n    },\n    \"registered\": {\n      \"date\": \"2019-09-04T12:52:34.037Z\",\n      \"age\": 3\n    },\n    \"phone\": \"70521438\",\n    \"cell\": \"90300253\",\n    \"id\": 438,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/77.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/77.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/77.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Tvorimira\",\n      \"last\": \"Pryadchenko\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1239,\n        \"name\": \"Agnona\"\n      },\n      \"city\": \"Skadovsk\",\n      \"state\": \"Ternopilska\",\n      \"country\": \"Ukraine\",\n      \"postcode\": 32627,\n      \"coordinates\": {\n        \"latitude\": \"-55.4404\",\n        \"longitude\": \"-47.8359\"\n      },\n      \"timezone\": {\n        \"offset\": \"-1:00\",\n        \"description\": \"Azores, Cape Verde Islands\"\n      }\n    },\n    \"email\": \"tvorimira.pryadchenko@example.com\",\n    \"login\": {\n      \"uuid\": \"5c93feaa-9238-4938-b79e-4905ed5ce439\",\n      \"username\": \"crazylion819\",\n      \"password\": \"dogger\",\n      \"salt\": \"nVQ6dNK3\",\n      \"md5\": \"d17598def913f6b60d5ca93d39ec5288\",\n      \"sha1\": \"7b61e80337e74e2316ff70d73e9e3bfbd8253367\",\n      \"sha256\": \"a6476fe64751bd84823f89519bc63f23bf8430710a35a0d5d4e1befaa5d0656c\"\n    },\n    \"dob\": {\n      \"date\": \"1951-10-20T13:25:45.237Z\",\n      \"age\": 71\n    },\n    \"registered\": {\n      \"date\": \"2021-04-24T20:40:34.419Z\",\n      \"age\": 2\n    },\n    \"phone\": \"(068) I43-1561\",\n    \"cell\": \"(096) J88-0977\",\n    \"id\": 439,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/67.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/67.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/67.jpg\"\n    },\n    \"nat\": \"UA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Madison\",\n      \"last\": \"Ma\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9890,\n        \"name\": \"Concession Road 23\"\n      },\n      \"city\": \"Sherbrooke\",\n      \"state\": \"New Brunswick\",\n      \"country\": \"Canada\",\n      \"postcode\": \"Y0E 0Y5\",\n      \"coordinates\": {\n        \"latitude\": \"-84.7339\",\n        \"longitude\": \"-139.4851\"\n      },\n      \"timezone\": {\n        \"offset\": \"-4:00\",\n        \"description\": \"Atlantic Time (Canada), Caracas, La Paz\"\n      }\n    },\n    \"email\": \"madison.ma@example.com\",\n    \"login\": {\n      \"uuid\": \"19a3487b-75f3-452f-ab4b-8bb577784b9a\",\n      \"username\": \"blackdog109\",\n      \"password\": \"4545\",\n      \"salt\": \"frnWnaG8\",\n      \"md5\": \"0df136f8281e2482465dd12324a961dd\",\n      \"sha1\": \"3efbb3c752c74d65fc3e1289b646ca52181bd347\",\n      \"sha256\": \"740fd15fd60867f2715a28a66e891d978841e172f26ea836d6a5cf6d7bc73c0b\"\n    },\n    \"dob\": {\n      \"date\": \"1987-01-15T13:43:09.040Z\",\n      \"age\": 36\n    },\n    \"registered\": {\n      \"date\": \"2019-09-05T21:22:24.827Z\",\n      \"age\": 3\n    },\n    \"phone\": \"R02 S94-7196\",\n    \"cell\": \"Y19 S61-8965\",\n    \"id\": 440,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/81.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/81.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/81.jpg\"\n    },\n    \"nat\": \"CA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Amelia\",\n      \"last\": \"Da Silva\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1481,\n        \"name\": \"Avenue de l'Abbé-Roussel\"\n      },\n      \"city\": \"Strasbourg\",\n      \"state\": \"Tarn\",\n      \"country\": \"France\",\n      \"postcode\": 72939,\n      \"coordinates\": {\n        \"latitude\": \"-70.1030\",\n        \"longitude\": \"19.4670\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"amelia.dasilva@example.com\",\n    \"login\": {\n      \"uuid\": \"cb16ecf1-11ad-4b32-872f-3156edd5a702\",\n      \"username\": \"happysnake669\",\n      \"password\": \"4200\",\n      \"salt\": \"F5hukpsD\",\n      \"md5\": \"f155a58a321ce0e119aa233631e8cff2\",\n      \"sha1\": \"fa6ff23eed49ef0a950fbb8f138a713a6c2ff3b6\",\n      \"sha256\": \"e6dd41840756971a6183e648739d80879501dd029e9f2c5aeb6d788550bcd564\"\n    },\n    \"dob\": {\n      \"date\": \"1959-09-28T06:04:48.513Z\",\n      \"age\": 63\n    },\n    \"registered\": {\n      \"date\": \"2008-06-03T19:57:53.168Z\",\n      \"age\": 14\n    },\n    \"phone\": \"02-44-87-15-86\",\n    \"cell\": \"06-01-04-68-85\",\n    \"id\": 441,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/50.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/50.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/50.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Klaudia\",\n      \"last\": \"Klug\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8151,\n        \"name\": \"Schlossstraße\"\n      },\n      \"city\": \"Krakow am See\",\n      \"state\": \"Sachsen\",\n      \"country\": \"Germany\",\n      \"postcode\": 51189,\n      \"coordinates\": {\n        \"latitude\": \"-55.3409\",\n        \"longitude\": \"116.3609\"\n      },\n      \"timezone\": {\n        \"offset\": \"-7:00\",\n        \"description\": \"Mountain Time (US & Canada)\"\n      }\n    },\n    \"email\": \"klaudia.klug@example.com\",\n    \"login\": {\n      \"uuid\": \"33b53260-79a0-4d0b-980c-1b0babd47ab1\",\n      \"username\": \"yellowmeercat789\",\n      \"password\": \"zerocool\",\n      \"salt\": \"DPYw9lIn\",\n      \"md5\": \"0d9de9d9eacf0999595c62cb803b0dd5\",\n      \"sha1\": \"f4d2fe49afd5cd126dc5f0bd42304b4aa956b797\",\n      \"sha256\": \"b9f93b042b34541f4822e263b84d0e0543ff454dd014e8d1eeb8591253ddd474\"\n    },\n    \"dob\": {\n      \"date\": \"1972-12-09T19:24:06.517Z\",\n      \"age\": 50\n    },\n    \"registered\": {\n      \"date\": \"2007-09-18T10:20:00.895Z\",\n      \"age\": 15\n    },\n    \"phone\": \"0041-1939335\",\n    \"cell\": \"0178-0491445\",\n    \"id\": 442,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/22.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/22.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/22.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Monsieur\",\n      \"first\": \"Nino\",\n      \"last\": \"Roger\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6136,\n        \"name\": \"Rue du Moulin\"\n      },\n      \"city\": \"Russikon\",\n      \"state\": \"Neuchâtel\",\n      \"country\": \"Switzerland\",\n      \"postcode\": 8273,\n      \"coordinates\": {\n        \"latitude\": \"0.3224\",\n        \"longitude\": \"-101.7906\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:30\",\n        \"description\": \"Tehran\"\n      }\n    },\n    \"email\": \"nino.roger@example.com\",\n    \"login\": {\n      \"uuid\": \"74a5bf95-9a22-452c-8d94-7800feb9d056\",\n      \"username\": \"purplewolf446\",\n      \"password\": \"playtime\",\n      \"salt\": \"G9X0bWyC\",\n      \"md5\": \"97430f22df76547261ddb7cf4dc3f6ed\",\n      \"sha1\": \"71480a323197d2a495b6e115b4e2d100871649ea\",\n      \"sha256\": \"99ce8d27125494c6c78ac8bd955a13c0ed254954fb9b94974780608459318c2c\"\n    },\n    \"dob\": {\n      \"date\": \"1956-05-24T07:03:30.228Z\",\n      \"age\": 66\n    },\n    \"registered\": {\n      \"date\": \"2011-06-25T09:18:40.807Z\",\n      \"age\": 11\n    },\n    \"phone\": \"078 730 88 14\",\n    \"cell\": \"079 069 38 41\",\n    \"id\": 443,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/30.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/30.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/30.jpg\"\n    },\n    \"nat\": \"CH\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Deveney\",\n      \"last\": \"Van der Scheer\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8754,\n        \"name\": \"Katerveerdijk\"\n      },\n      \"city\": \"Schoonebeek\",\n      \"state\": \"Noord-Holland\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"8029 OJ\",\n      \"coordinates\": {\n        \"latitude\": \"-16.1449\",\n        \"longitude\": \"154.5578\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"deveney.vanderscheer@example.com\",\n    \"login\": {\n      \"uuid\": \"76d0c595-05df-4f7c-b642-3c92d83b7daf\",\n      \"username\": \"reddog277\",\n      \"password\": \"russian\",\n      \"salt\": \"XoVanszK\",\n      \"md5\": \"fa900f8262f009b4b4542d33d8301589\",\n      \"sha1\": \"71ad9623e47110b5716d1de87cfd250b13804ac8\",\n      \"sha256\": \"c9b16524c574fa59338bd0912523524cc24a5d0b8f6b409cf2e766f0dcceb3ce\"\n    },\n    \"dob\": {\n      \"date\": \"1953-11-04T20:07:40.042Z\",\n      \"age\": 69\n    },\n    \"registered\": {\n      \"date\": \"2007-01-31T08:14:23.857Z\",\n      \"age\": 16\n    },\n    \"phone\": \"(017) 9412905\",\n    \"cell\": \"(06) 14596090\",\n    \"id\": 444,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/91.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/91.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/91.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Abitha\",\n      \"last\": \"Saldanha\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 848,\n        \"name\": \"Chimanlal Girdharlal Rd\"\n      },\n      \"city\": \"Ozhukarai\",\n      \"state\": \"Mizoram\",\n      \"country\": \"India\",\n      \"postcode\": 60046,\n      \"coordinates\": {\n        \"latitude\": \"-8.6340\",\n        \"longitude\": \"15.7480\"\n      },\n      \"timezone\": {\n        \"offset\": \"-4:00\",\n        \"description\": \"Atlantic Time (Canada), Caracas, La Paz\"\n      }\n    },\n    \"email\": \"abitha.saldanha@example.com\",\n    \"login\": {\n      \"uuid\": \"9b6fb574-939e-4281-aeab-88c45dc26296\",\n      \"username\": \"bluepanda747\",\n      \"password\": \"fowler\",\n      \"salt\": \"E4JagTcP\",\n      \"md5\": \"c5ebaeaac413e7059b6fa8d615c169ed\",\n      \"sha1\": \"e28de91eb94ce3501238518227032cb40c567582\",\n      \"sha256\": \"0e1c631240731de0715e35b5cbcafa60c9d128f7429c6e7da3b1b928a917da9f\"\n    },\n    \"dob\": {\n      \"date\": \"1957-07-29T20:11:03.875Z\",\n      \"age\": 65\n    },\n    \"registered\": {\n      \"date\": \"2008-07-28T11:34:41.077Z\",\n      \"age\": 14\n    },\n    \"phone\": \"8088241383\",\n    \"cell\": \"8667721258\",\n    \"id\": 445,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/6.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/6.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/6.jpg\"\n    },\n    \"nat\": \"IN\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Jonathan\",\n      \"last\": \"Larsen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6908,\n        \"name\": \"Kvædevej\"\n      },\n      \"city\": \"Sønder Stenderup\",\n      \"state\": \"Sjælland\",\n      \"country\": \"Denmark\",\n      \"postcode\": 69751,\n      \"coordinates\": {\n        \"latitude\": \"-4.4012\",\n        \"longitude\": \"8.9867\"\n      },\n      \"timezone\": {\n        \"offset\": \"-9:00\",\n        \"description\": \"Alaska\"\n      }\n    },\n    \"email\": \"jonathan.larsen@example.com\",\n    \"login\": {\n      \"uuid\": \"cc707baa-0c2a-46d2-84cd-fb0446041c4c\",\n      \"username\": \"brownladybug282\",\n      \"password\": \"troy\",\n      \"salt\": \"ddIni9Qx\",\n      \"md5\": \"f62018374fb7efdcad97b1de5f9840d1\",\n      \"sha1\": \"a3ff9a481b9591306423e3bf7e31889e05ec2fbe\",\n      \"sha256\": \"1db6031d25083115fe0aa53db8e1db232c9ada07bac6bccc9c1f4992d7486583\"\n    },\n    \"dob\": {\n      \"date\": \"1983-08-08T18:26:08.337Z\",\n      \"age\": 39\n    },\n    \"registered\": {\n      \"date\": \"2005-08-12T20:01:54.369Z\",\n      \"age\": 17\n    },\n    \"phone\": \"43148436\",\n    \"cell\": \"86735386\",\n    \"id\": 446,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/90.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/90.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/90.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Margot\",\n      \"last\": \"Pierre\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3057,\n        \"name\": \"Rue de L'Abbé-Grégoire\"\n      },\n      \"city\": \"Roubaix\",\n      \"state\": \"Moselle\",\n      \"country\": \"France\",\n      \"postcode\": 10375,\n      \"coordinates\": {\n        \"latitude\": \"49.0156\",\n        \"longitude\": \"95.1540\"\n      },\n      \"timezone\": {\n        \"offset\": \"-8:00\",\n        \"description\": \"Pacific Time (US & Canada)\"\n      }\n    },\n    \"email\": \"margot.pierre@example.com\",\n    \"login\": {\n      \"uuid\": \"4013dbd3-e7d3-4ec8-8d75-103a4878b843\",\n      \"username\": \"organicfrog524\",\n      \"password\": \"nylons\",\n      \"salt\": \"8gdyGWRp\",\n      \"md5\": \"09905fe9cc43c12a392c35655d3effb8\",\n      \"sha1\": \"cbffe68cd1632973e093f9d6115a51489919affc\",\n      \"sha256\": \"d9088c55b5b4e12f0eca51350a76fff70df618125fa0ff0eb36beed9ab4ea4a2\"\n    },\n    \"dob\": {\n      \"date\": \"1976-04-02T12:41:48.325Z\",\n      \"age\": 47\n    },\n    \"registered\": {\n      \"date\": \"2022-05-22T17:01:57.804Z\",\n      \"age\": 0\n    },\n    \"phone\": \"05-00-08-89-55\",\n    \"cell\": \"06-31-13-52-97\",\n    \"id\": 447,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/87.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/87.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/87.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Tom\",\n      \"last\": \"Garza\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 968,\n        \"name\": \"Walnut Hill Ln\"\n      },\n      \"city\": \"Mildura\",\n      \"state\": \"Western Australia\",\n      \"country\": \"Australia\",\n      \"postcode\": 3748,\n      \"coordinates\": {\n        \"latitude\": \"81.7807\",\n        \"longitude\": \"-75.5866\"\n      },\n      \"timezone\": {\n        \"offset\": \"-10:00\",\n        \"description\": \"Hawaii\"\n      }\n    },\n    \"email\": \"tom.garza@example.com\",\n    \"login\": {\n      \"uuid\": \"59780c90-9d63-4f9d-b803-876977344750\",\n      \"username\": \"beautifulkoala355\",\n      \"password\": \"squeeze\",\n      \"salt\": \"TUovvjut\",\n      \"md5\": \"bdfe97d06f9d2b642a419ffaa37367ba\",\n      \"sha1\": \"8202d82c9de09264e3e9bda947052c695ee949b8\",\n      \"sha256\": \"dc9587010f6b80168d75cbd76fd9fb2d1147a96d0f27aae4c2bd504003fea054\"\n    },\n    \"dob\": {\n      \"date\": \"1982-12-09T03:59:33.635Z\",\n      \"age\": 40\n    },\n    \"registered\": {\n      \"date\": \"2013-11-13T20:23:41.478Z\",\n      \"age\": 9\n    },\n    \"phone\": \"02-7518-5629\",\n    \"cell\": \"0486-362-738\",\n    \"id\": 448,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/42.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/42.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/42.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Louis\",\n      \"last\": \"Steeves \"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9984,\n        \"name\": \"Wycliff Ave\"\n      },\n      \"city\": \"Durham\",\n      \"state\": \"Michigan\",\n      \"country\": \"United States\",\n      \"postcode\": 30223,\n      \"coordinates\": {\n        \"latitude\": \"-4.7493\",\n        \"longitude\": \"-124.1766\"\n      },\n      \"timezone\": {\n        \"offset\": \"-1:00\",\n        \"description\": \"Azores, Cape Verde Islands\"\n      }\n    },\n    \"email\": \"louis.steeves@example.com\",\n    \"login\": {\n      \"uuid\": \"a251c21c-4b18-4995-94ae-afddafe6efdf\",\n      \"username\": \"redfrog847\",\n      \"password\": \"justin1\",\n      \"salt\": \"uNUPIpQ6\",\n      \"md5\": \"a291a9dbf930c344f3e7547326578dfa\",\n      \"sha1\": \"fa507e5730ee8df6b464eb7217dc562d2c87be8d\",\n      \"sha256\": \"a669b4fb2262b19c0ee0e0a4b0a09187483053018e40dc168c2943626b27ca15\"\n    },\n    \"dob\": {\n      \"date\": \"1957-02-18T02:14:26.724Z\",\n      \"age\": 66\n    },\n    \"registered\": {\n      \"date\": \"2017-01-27T05:15:48.383Z\",\n      \"age\": 6\n    },\n    \"phone\": \"(913) 685-2820\",\n    \"cell\": \"(808) 537-6928\",\n    \"id\": 449,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/51.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/51.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/51.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Tracey\",\n      \"last\": \"Wells\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7453,\n        \"name\": \"Karen Dr\"\n      },\n      \"city\": \"Houston\",\n      \"state\": \"Florida\",\n      \"country\": \"United States\",\n      \"postcode\": 17840,\n      \"coordinates\": {\n        \"latitude\": \"-17.3854\",\n        \"longitude\": \"-32.9690\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:30\",\n        \"description\": \"Adelaide, Darwin\"\n      }\n    },\n    \"email\": \"tracey.wells@example.com\",\n    \"login\": {\n      \"uuid\": \"094fe060-8f10-4dd9-8845-4b21f4080dbf\",\n      \"username\": \"happyrabbit447\",\n      \"password\": \"edwards\",\n      \"salt\": \"4NWLB1hS\",\n      \"md5\": \"9c93f067e4cf0298300da96275602771\",\n      \"sha1\": \"76f4feaa435441db5899e4331973bad031355b47\",\n      \"sha256\": \"29ae2dbe790fa07c33b2560e7e4b445cbcc8be246003f7dc47d0633460def257\"\n    },\n    \"dob\": {\n      \"date\": \"1978-03-10T03:42:46.023Z\",\n      \"age\": 45\n    },\n    \"registered\": {\n      \"date\": \"2005-06-23T08:56:26.999Z\",\n      \"age\": 17\n    },\n    \"phone\": \"(771) 578-6834\",\n    \"cell\": \"(639) 441-3938\",\n    \"id\": 450,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/63.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/63.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/63.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Acúrsio\",\n      \"last\": \"Moreira\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4265,\n        \"name\": \"Avenida da Democracia\"\n      },\n      \"city\": \"Franco da Rocha\",\n      \"state\": \"Pernambuco\",\n      \"country\": \"Brazil\",\n      \"postcode\": 71351,\n      \"coordinates\": {\n        \"latitude\": \"54.5800\",\n        \"longitude\": \"-140.2681\"\n      },\n      \"timezone\": {\n        \"offset\": \"+8:00\",\n        \"description\": \"Beijing, Perth, Singapore, Hong Kong\"\n      }\n    },\n    \"email\": \"acursio.moreira@example.com\",\n    \"login\": {\n      \"uuid\": \"f80e550f-5371-45d7-a3b5-43037489e602\",\n      \"username\": \"redmeercat714\",\n      \"password\": \"swimmer\",\n      \"salt\": \"4kJGx408\",\n      \"md5\": \"2e9631af718f04e4098b457b8e83a356\",\n      \"sha1\": \"1e8d79c88ffb62cc92bf7b1d913ab331cbdb4c96\",\n      \"sha256\": \"a079ee0f4e837b7639de519d1b9f14a37bb1e168af183ae7c035e08d657120ef\"\n    },\n    \"dob\": {\n      \"date\": \"1959-10-20T07:31:28.584Z\",\n      \"age\": 63\n    },\n    \"registered\": {\n      \"date\": \"2007-12-17T11:42:09.667Z\",\n      \"age\": 15\n    },\n    \"phone\": \"(72) 3626-5679\",\n    \"cell\": \"(60) 5910-5855\",\n    \"id\": 451,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/39.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/39.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/39.jpg\"\n    },\n    \"nat\": \"BR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Yan\",\n      \"last\": \"Tokarchuk\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3489,\n        \"name\": \"Prospekt Trubnikiv\"\n      },\n      \"city\": \"Shostka\",\n      \"state\": \"Avtonomna Respublika Krim\",\n      \"country\": \"Ukraine\",\n      \"postcode\": 59820,\n      \"coordinates\": {\n        \"latitude\": \"-11.9791\",\n        \"longitude\": \"-70.3910\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"yan.tokarchuk@example.com\",\n    \"login\": {\n      \"uuid\": \"efe33155-83c9-45bd-8c47-48182f5678e1\",\n      \"username\": \"bigelephant916\",\n      \"password\": \"carlton\",\n      \"salt\": \"gxspXvE5\",\n      \"md5\": \"ecbbecae351bad8d0c92c01b2b62649d\",\n      \"sha1\": \"9b92fa2375e0d0830cf82c7013419c67443be958\",\n      \"sha256\": \"85a4a5f48a7781ba4cf7d288b9723551e31c71d2cd33c8c75e667d40fb821339\"\n    },\n    \"dob\": {\n      \"date\": \"1987-05-08T21:18:36.937Z\",\n      \"age\": 36\n    },\n    \"registered\": {\n      \"date\": \"2018-11-30T05:55:46.979Z\",\n      \"age\": 4\n    },\n    \"phone\": \"(098) T42-5020\",\n    \"cell\": \"(066) X70-4230\",\n    \"id\": 452,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/7.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/7.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/7.jpg\"\n    },\n    \"nat\": \"UA\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Domingo\",\n      \"last\": \"León\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 329,\n        \"name\": \"Avenida de La Albufera\"\n      },\n      \"city\": \"Lugo\",\n      \"state\": \"Melilla\",\n      \"country\": \"Spain\",\n      \"postcode\": 77516,\n      \"coordinates\": {\n        \"latitude\": \"56.7200\",\n        \"longitude\": \"-123.0324\"\n      },\n      \"timezone\": {\n        \"offset\": \"-1:00\",\n        \"description\": \"Azores, Cape Verde Islands\"\n      }\n    },\n    \"email\": \"domingo.leon@example.com\",\n    \"login\": {\n      \"uuid\": \"ce96c1fb-350e-4293-a1b1-b60b657324c0\",\n      \"username\": \"heavywolf250\",\n      \"password\": \"blacklab\",\n      \"salt\": \"jBsBszew\",\n      \"md5\": \"73ee9bf81c59a1ca204ce9fea1f2d66b\",\n      \"sha1\": \"c5d4b3f228e399cba0dd228672ee0fad37326536\",\n      \"sha256\": \"aac75c66af745026623b81b31c37b8a10ab924e4a390d3356857d8c6ba449b16\"\n    },\n    \"dob\": {\n      \"date\": \"1970-03-27T16:49:24.917Z\",\n      \"age\": 53\n    },\n    \"registered\": {\n      \"date\": \"2002-09-15T09:59:45.150Z\",\n      \"age\": 20\n    },\n    \"phone\": \"964-952-629\",\n    \"cell\": \"652-270-974\",\n    \"id\": 453,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/3.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/3.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/3.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Tugba\",\n      \"last\": \"Van Kommer\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9626,\n        \"name\": \"Kerkebreek\"\n      },\n      \"city\": \"Riethoven\",\n      \"state\": \"Utrecht\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"6502 KL\",\n      \"coordinates\": {\n        \"latitude\": \"-87.6076\",\n        \"longitude\": \"36.2767\"\n      },\n      \"timezone\": {\n        \"offset\": \"+6:00\",\n        \"description\": \"Almaty, Dhaka, Colombo\"\n      }\n    },\n    \"email\": \"tugba.vankommer@example.com\",\n    \"login\": {\n      \"uuid\": \"969e4d1c-bbf4-4c70-8a2a-ffed90e86a68\",\n      \"username\": \"angrybird421\",\n      \"password\": \"longjohn\",\n      \"salt\": \"o8O2hx2o\",\n      \"md5\": \"07ebbac201ca5469f9de8cd713890902\",\n      \"sha1\": \"f71f1033bfca629d1717e5372160fba3e8d43160\",\n      \"sha256\": \"c083b73c6598f87926d6d32756fcd74078bb89db1692c8cc18c14ce9ad95a743\"\n    },\n    \"dob\": {\n      \"date\": \"1952-11-18T07:39:47.565Z\",\n      \"age\": 70\n    },\n    \"registered\": {\n      \"date\": \"2019-02-01T08:56:40.081Z\",\n      \"age\": 4\n    },\n    \"phone\": \"(0535) 575025\",\n    \"cell\": \"(06) 39561413\",\n    \"id\": 454,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/85.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/85.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/85.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Savitha\",\n      \"last\": \"Hiremath\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6796,\n        \"name\": \"MG Rd Bangalore\"\n      },\n      \"city\": \"Dehradun\",\n      \"state\": \"Tripura\",\n      \"country\": \"India\",\n      \"postcode\": 78593,\n      \"coordinates\": {\n        \"latitude\": \"79.0886\",\n        \"longitude\": \"126.9267\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"savitha.hiremath@example.com\",\n    \"login\": {\n      \"uuid\": \"e3921e3f-eb98-42b1-a509-7c82a2cae419\",\n      \"username\": \"brownduck452\",\n      \"password\": \"roman\",\n      \"salt\": \"Qo1prcFw\",\n      \"md5\": \"64005b60f3d649a7c8822cf68afa95f0\",\n      \"sha1\": \"38741629903083c39c94e8a0ed58f2abaeae3968\",\n      \"sha256\": \"f78acd892d65c3dd230b2b882c7ccd8d56a63ac0e66787c796a16d2ee47d3576\"\n    },\n    \"dob\": {\n      \"date\": \"1973-07-29T09:36:35.171Z\",\n      \"age\": 49\n    },\n    \"registered\": {\n      \"date\": \"2009-08-22T18:28:45.727Z\",\n      \"age\": 13\n    },\n    \"phone\": \"7070234304\",\n    \"cell\": \"9734592425\",\n    \"id\": 455,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/0.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/0.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/0.jpg\"\n    },\n    \"nat\": \"IN\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Alexandra\",\n      \"last\": \"Wood\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3134,\n        \"name\": \"Anzac Parade\"\n      },\n      \"city\": \"Timaru\",\n      \"state\": \"Taranaki\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 40774,\n      \"coordinates\": {\n        \"latitude\": \"-6.2983\",\n        \"longitude\": \"2.8745\"\n      },\n      \"timezone\": {\n        \"offset\": \"+6:00\",\n        \"description\": \"Almaty, Dhaka, Colombo\"\n      }\n    },\n    \"email\": \"alexandra.wood@example.com\",\n    \"login\": {\n      \"uuid\": \"3535e50b-f136-49b3-8f10-fd084af7a30c\",\n      \"username\": \"goldenpeacock180\",\n      \"password\": \"cooler\",\n      \"salt\": \"nk8tB18E\",\n      \"md5\": \"19089989f9023c910af04c142adf026c\",\n      \"sha1\": \"e84d39461bf43e02f5f1864dbaaa099037af90c4\",\n      \"sha256\": \"e7cf53e9259d2c332ef814e9d5720bb9e5905d91873fb05b1418b61828224eec\"\n    },\n    \"dob\": {\n      \"date\": \"1950-07-18T06:31:09.984Z\",\n      \"age\": 72\n    },\n    \"registered\": {\n      \"date\": \"2020-12-03T15:47:53.690Z\",\n      \"age\": 2\n    },\n    \"phone\": \"(562)-432-4644\",\n    \"cell\": \"(996)-507-7300\",\n    \"id\": 456,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/45.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/45.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/45.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Danka\",\n      \"last\": \"Karadžić\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4482,\n        \"name\": \"Prvog Maja\"\n      },\n      \"city\": \"Šabac\",\n      \"state\": \"Bor\",\n      \"country\": \"Serbia\",\n      \"postcode\": 94970,\n      \"coordinates\": {\n        \"latitude\": \"-45.4318\",\n        \"longitude\": \"107.0126\"\n      },\n      \"timezone\": {\n        \"offset\": \"-9:00\",\n        \"description\": \"Alaska\"\n      }\n    },\n    \"email\": \"danka.karadzic@example.com\",\n    \"login\": {\n      \"uuid\": \"f36c2eba-7851-487d-8a25-0e21cd84fc9d\",\n      \"username\": \"angryostrich131\",\n      \"password\": \"duchess\",\n      \"salt\": \"SO1GDukH\",\n      \"md5\": \"8010d02598738a11802e32c7a686e4ff\",\n      \"sha1\": \"2442dba664c911bc35498dcd8f0cc3f59aac6529\",\n      \"sha256\": \"eba708f5bfe58ceb366d0a8e6a918002e2aaa555a30f008a8d7e109a14dd7349\"\n    },\n    \"dob\": {\n      \"date\": \"1949-04-15T01:53:30.446Z\",\n      \"age\": 74\n    },\n    \"registered\": {\n      \"date\": \"2022-03-27T18:28:24.374Z\",\n      \"age\": 1\n    },\n    \"phone\": \"036-3977-651\",\n    \"cell\": \"069-8549-088\",\n    \"id\": 457,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/3.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/3.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/3.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Madame\",\n      \"first\": \"Olga\",\n      \"last\": \"Guerin\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1335,\n        \"name\": \"Rue du Dauphiné\"\n      },\n      \"city\": \"Grancia\",\n      \"state\": \"Vaud\",\n      \"country\": \"Switzerland\",\n      \"postcode\": 9018,\n      \"coordinates\": {\n        \"latitude\": \"63.5322\",\n        \"longitude\": \"111.2149\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:45\",\n        \"description\": \"Kathmandu\"\n      }\n    },\n    \"email\": \"olga.guerin@example.com\",\n    \"login\": {\n      \"uuid\": \"82ab77d9-9ae4-4216-9fd5-3ff45dd4403a\",\n      \"username\": \"sadfish837\",\n      \"password\": \"raistlin\",\n      \"salt\": \"dsIovTSE\",\n      \"md5\": \"691b2a8fac44dd13a8c1e2c1d7e0e401\",\n      \"sha1\": \"223218a24828604ee04b3e308304f510111d934f\",\n      \"sha256\": \"88720cfbd30993776231abbeaed6eb392d474427bc71f45b2380ac6fe629898e\"\n    },\n    \"dob\": {\n      \"date\": \"1994-06-13T10:18:43.049Z\",\n      \"age\": 28\n    },\n    \"registered\": {\n      \"date\": \"2011-10-18T12:40:35.212Z\",\n      \"age\": 11\n    },\n    \"phone\": \"077 696 37 14\",\n    \"cell\": \"076 141 77 47\",\n    \"id\": 458,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/20.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/20.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/20.jpg\"\n    },\n    \"nat\": \"CH\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Wendelin\",\n      \"last\": \"Janik\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 9133,\n        \"name\": \"Schlossstraße\"\n      },\n      \"city\": \"Dahlen\",\n      \"state\": \"Hamburg\",\n      \"country\": \"Germany\",\n      \"postcode\": 96541,\n      \"coordinates\": {\n        \"latitude\": \"-64.4717\",\n        \"longitude\": \"-142.1060\"\n      },\n      \"timezone\": {\n        \"offset\": \"+2:00\",\n        \"description\": \"Kaliningrad, South Africa\"\n      }\n    },\n    \"email\": \"wendelin.janik@example.com\",\n    \"login\": {\n      \"uuid\": \"da61e9f8-5812-4146-92e3-8744aca0e9e6\",\n      \"username\": \"redpeacock460\",\n      \"password\": \"native\",\n      \"salt\": \"ltup1mxa\",\n      \"md5\": \"847dfdfe8cc20c703b2f14832607b5cb\",\n      \"sha1\": \"857cafbb2ded1c471b59a1f23cc10c1e118d5518\",\n      \"sha256\": \"2bde60a9d512b2a7f25f43fee3a39ba3b713e851c98188f6cecf307aa4686c55\"\n    },\n    \"dob\": {\n      \"date\": \"1950-08-02T23:50:40.359Z\",\n      \"age\": 72\n    },\n    \"registered\": {\n      \"date\": \"2002-10-27T04:56:57.573Z\",\n      \"age\": 20\n    },\n    \"phone\": \"0973-7237965\",\n    \"cell\": \"0178-7451928\",\n    \"id\": 459,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/34.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/34.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/34.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Carli\",\n      \"last\": \"De Kruijf\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 478,\n        \"name\": \"Karkdiekie\"\n      },\n      \"city\": \"Lage Mierde\",\n      \"state\": \"Groningen\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"7442 MP\",\n      \"coordinates\": {\n        \"latitude\": \"-54.2088\",\n        \"longitude\": \"124.8937\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"carli.dekruijf@example.com\",\n    \"login\": {\n      \"uuid\": \"4ca2931b-3cb2-49b2-959a-32800f60dce5\",\n      \"username\": \"angryrabbit920\",\n      \"password\": \"chainsaw\",\n      \"salt\": \"gYLCEXUK\",\n      \"md5\": \"6ac6fc8d041931299959dd9299393d36\",\n      \"sha1\": \"d53bdc9f00f901ab2c78e85027aaef451eec2c88\",\n      \"sha256\": \"7ded769c58fe18249c8d0d33c1852105f44ee561997dc3fa8518bfdabb8337a4\"\n    },\n    \"dob\": {\n      \"date\": \"1970-12-27T07:32:37.793Z\",\n      \"age\": 52\n    },\n    \"registered\": {\n      \"date\": \"2019-01-08T20:20:34.585Z\",\n      \"age\": 4\n    },\n    \"phone\": \"(0983) 956759\",\n    \"cell\": \"(06) 39911236\",\n    \"id\": 460,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/4.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/4.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/4.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Travis\",\n      \"last\": \"Ross\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1012,\n        \"name\": \"Denny Street\"\n      },\n      \"city\": \"Trim\",\n      \"state\": \"Cork\",\n      \"country\": \"Ireland\",\n      \"postcode\": 82507,\n      \"coordinates\": {\n        \"latitude\": \"50.2956\",\n        \"longitude\": \"-64.3310\"\n      },\n      \"timezone\": {\n        \"offset\": \"-7:00\",\n        \"description\": \"Mountain Time (US & Canada)\"\n      }\n    },\n    \"email\": \"travis.ross@example.com\",\n    \"login\": {\n      \"uuid\": \"35533d80-e536-4580-be93-b0e6dc2eb01c\",\n      \"username\": \"yellowdog172\",\n      \"password\": \"strawber\",\n      \"salt\": \"5B4r4zIK\",\n      \"md5\": \"78ead35318de23901b52af845299ccef\",\n      \"sha1\": \"315b3d60c6f099c63172931c7fda771976601a6f\",\n      \"sha256\": \"20667d36ffb9820704e40ac1f059a1a035755d20b22e2c2777b4d05d35ce439e\"\n    },\n    \"dob\": {\n      \"date\": \"1968-10-11T06:33:47.618Z\",\n      \"age\": 54\n    },\n    \"registered\": {\n      \"date\": \"2005-05-27T06:17:09.582Z\",\n      \"age\": 17\n    },\n    \"phone\": \"041-098-8523\",\n    \"cell\": \"081-107-5095\",\n    \"id\": 461,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/14.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/14.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/14.jpg\"\n    },\n    \"nat\": \"IE\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Marcus\",\n      \"last\": \"Stone\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3194,\n        \"name\": \"Victoria Road\"\n      },\n      \"city\": \"Peterborough\",\n      \"state\": \"Clwyd\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"EH8 5GX\",\n      \"coordinates\": {\n        \"latitude\": \"77.8459\",\n        \"longitude\": \"98.6672\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"marcus.stone@example.com\",\n    \"login\": {\n      \"uuid\": \"a4b08a4a-55f1-4eeb-bb7e-2da36b66c85c\",\n      \"username\": \"yellowswan159\",\n      \"password\": \"napoleon\",\n      \"salt\": \"yQQ62H0n\",\n      \"md5\": \"b77d419e937b920b4122768d180f9eaf\",\n      \"sha1\": \"e63d88df43f606ec861253090fb72f07083f26b6\",\n      \"sha256\": \"c487268270a171523ce3a849e4d952f10b795a7f47bbe776d857a517f0729d27\"\n    },\n    \"dob\": {\n      \"date\": \"1960-10-23T03:04:55.456Z\",\n      \"age\": 62\n    },\n    \"registered\": {\n      \"date\": \"2010-01-30T10:42:34.201Z\",\n      \"age\": 13\n    },\n    \"phone\": \"025 1510 3662\",\n    \"cell\": \"07530 141417\",\n    \"id\": 462,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/18.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/18.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/18.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Nathan\",\n      \"last\": \"Gardner\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3779,\n        \"name\": \"Park Avenue\"\n      },\n      \"city\": \"Truro\",\n      \"state\": \"Tayside\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"G09 0DT\",\n      \"coordinates\": {\n        \"latitude\": \"58.1917\",\n        \"longitude\": \"128.7821\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"nathan.gardner@example.com\",\n    \"login\": {\n      \"uuid\": \"d6af55d5-28b0-4c02-80ac-76bcda37cd5b\",\n      \"username\": \"lazybutterfly846\",\n      \"password\": \"public\",\n      \"salt\": \"OPrfGbwT\",\n      \"md5\": \"b65cab20a7dac5400bfe11eb1b223c6d\",\n      \"sha1\": \"fdf94f60d4b3758f941a3ed885537a0336fe4d67\",\n      \"sha256\": \"affe57f968eee1b417f4fa8e67bd9cbf53562efe7cd747c0e9dd76f365ee7ede\"\n    },\n    \"dob\": {\n      \"date\": \"1964-08-28T09:32:33.660Z\",\n      \"age\": 58\n    },\n    \"registered\": {\n      \"date\": \"2014-05-07T04:17:16.286Z\",\n      \"age\": 9\n    },\n    \"phone\": \"01445 160753\",\n    \"cell\": \"07526 620839\",\n    \"id\": 463,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/0.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/0.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/0.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Océane\",\n      \"last\": \"Gonzalez\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7472,\n        \"name\": \"Rue Abel-Ferry\"\n      },\n      \"city\": \"Strasbourg\",\n      \"state\": \"Corrèze\",\n      \"country\": \"France\",\n      \"postcode\": 16079,\n      \"coordinates\": {\n        \"latitude\": \"3.5351\",\n        \"longitude\": \"-136.0024\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:00\",\n        \"description\": \"Tokyo, Seoul, Osaka, Sapporo, Yakutsk\"\n      }\n    },\n    \"email\": \"oceane.gonzalez@example.com\",\n    \"login\": {\n      \"uuid\": \"997a3967-016f-460b-b21c-91b571f2c5a2\",\n      \"username\": \"orangeladybug993\",\n      \"password\": \"partner\",\n      \"salt\": \"HITBc63U\",\n      \"md5\": \"1ed79c47f92c6861bf4bb567ceecdd44\",\n      \"sha1\": \"800ad765c20ab020895f0b1934a581c029712d9b\",\n      \"sha256\": \"ebbb5b4568d58f6023fdbecb2ebd4247b15a5d9e2bb098ae19d2e9c577f4d441\"\n    },\n    \"dob\": {\n      \"date\": \"1953-06-30T18:46:27.768Z\",\n      \"age\": 69\n    },\n    \"registered\": {\n      \"date\": \"2019-08-06T00:14:01.917Z\",\n      \"age\": 3\n    },\n    \"phone\": \"02-48-35-90-95\",\n    \"cell\": \"06-20-19-34-91\",\n    \"id\": 464,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/65.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/65.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/65.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Filomeno\",\n      \"last\": \"Dias\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7432,\n        \"name\": \"Rua Minas Gerais \"\n      },\n      \"city\": \"Muriaé\",\n      \"state\": \"Goiás\",\n      \"country\": \"Brazil\",\n      \"postcode\": 42598,\n      \"coordinates\": {\n        \"latitude\": \"43.3077\",\n        \"longitude\": \"-128.6953\"\n      },\n      \"timezone\": {\n        \"offset\": \"-1:00\",\n        \"description\": \"Azores, Cape Verde Islands\"\n      }\n    },\n    \"email\": \"filomeno.dias@example.com\",\n    \"login\": {\n      \"uuid\": \"f8e39d4d-1f71-43c6-abeb-025cb342d93c\",\n      \"username\": \"brownbear931\",\n      \"password\": \"gonzo\",\n      \"salt\": \"3CUjyrJU\",\n      \"md5\": \"77e8c0d99a952920de129de9730e498c\",\n      \"sha1\": \"8ccc6e0b62e42292e78b4038c5a1505e87310393\",\n      \"sha256\": \"013f251630bb90949ccac7ec8d1b697b27d4dc83f689dcadbaa4125da6183a31\"\n    },\n    \"dob\": {\n      \"date\": \"2000-06-27T19:26:00.809Z\",\n      \"age\": 22\n    },\n    \"registered\": {\n      \"date\": \"2009-01-06T12:07:33.750Z\",\n      \"age\": 14\n    },\n    \"phone\": \"(67) 8879-6634\",\n    \"cell\": \"(98) 0482-3674\",\n    \"id\": 465,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/32.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/32.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/32.jpg\"\n    },\n    \"nat\": \"BR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Salvador\",\n      \"last\": \"Brooks\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6254,\n        \"name\": \"Paddock Way\"\n      },\n      \"city\": \"Spokane\",\n      \"state\": \"Virginia\",\n      \"country\": \"United States\",\n      \"postcode\": 55587,\n      \"coordinates\": {\n        \"latitude\": \"-68.9185\",\n        \"longitude\": \"-31.2564\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:30\",\n        \"description\": \"Tehran\"\n      }\n    },\n    \"email\": \"salvador.brooks@example.com\",\n    \"login\": {\n      \"uuid\": \"990e76f3-af83-4456-ab27-1e2e38c8538d\",\n      \"username\": \"greenfrog189\",\n      \"password\": \"ffffff\",\n      \"salt\": \"K1pNMHgV\",\n      \"md5\": \"4a356dde94bdfd74dc8deadee7b09c86\",\n      \"sha1\": \"83978d202ef112b0a83a28072e721373e657bf46\",\n      \"sha256\": \"b44bad7b0350b30edb224f8162a09f18cb1282d573b3572304927d5356d3f1ef\"\n    },\n    \"dob\": {\n      \"date\": \"1983-12-21T09:19:52.191Z\",\n      \"age\": 39\n    },\n    \"registered\": {\n      \"date\": \"2018-08-23T23:31:38.131Z\",\n      \"age\": 4\n    },\n    \"phone\": \"(569) 548-1953\",\n    \"cell\": \"(975) 448-6567\",\n    \"id\": 466,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/54.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/54.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/54.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Esperanza\",\n      \"last\": \"Esparza\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1552,\n        \"name\": \"Eje vial Sur Borrego\"\n      },\n      \"city\": \"General Enrique Estrada\",\n      \"state\": \"Tlaxcala\",\n      \"country\": \"Mexico\",\n      \"postcode\": 90375,\n      \"coordinates\": {\n        \"latitude\": \"-43.3199\",\n        \"longitude\": \"-100.1722\"\n      },\n      \"timezone\": {\n        \"offset\": \"+7:00\",\n        \"description\": \"Bangkok, Hanoi, Jakarta\"\n      }\n    },\n    \"email\": \"esperanza.esparza@example.com\",\n    \"login\": {\n      \"uuid\": \"a52d4679-e052-42c3-a5e6-8e2dcb1a3907\",\n      \"username\": \"ticklishmouse292\",\n      \"password\": \"ccbill\",\n      \"salt\": \"U2ZXkV8F\",\n      \"md5\": \"374ec82fb3c0e7af68c264bc38bb3613\",\n      \"sha1\": \"7757035207481d24c27397986faf23b0f4de7387\",\n      \"sha256\": \"152ffcdf88f0b213ec9307f68839a0b25776898eec4ab9a066e93f6159c32b70\"\n    },\n    \"dob\": {\n      \"date\": \"1995-04-20T21:03:54.477Z\",\n      \"age\": 28\n    },\n    \"registered\": {\n      \"date\": \"2012-12-21T02:55:52.038Z\",\n      \"age\": 10\n    },\n    \"phone\": \"(694) 012 0113\",\n    \"cell\": \"(610) 917 7139\",\n    \"id\": 467,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/82.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/82.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/82.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Martín\",\n      \"last\": \"Ureña\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3634,\n        \"name\": \"Viaducto Cardenas\"\n      },\n      \"city\": \"San Vicente de Juárez\",\n      \"state\": \"Baja California\",\n      \"country\": \"Mexico\",\n      \"postcode\": 88512,\n      \"coordinates\": {\n        \"latitude\": \"-2.1086\",\n        \"longitude\": \"-163.7849\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:30\",\n        \"description\": \"Tehran\"\n      }\n    },\n    \"email\": \"martin.urena@example.com\",\n    \"login\": {\n      \"uuid\": \"3ed98f0f-9fe2-4892-9e22-9aee8199dbbe\",\n      \"username\": \"goldentiger580\",\n      \"password\": \"winston1\",\n      \"salt\": \"sTDOt3Ug\",\n      \"md5\": \"09afe317c55c9736c29ab8a656bbf911\",\n      \"sha1\": \"d447ca11548bf507ae264571d3412b1b1bc251be\",\n      \"sha256\": \"a2d2f294b7a7b7fa6bba9abf3cc8ae0217bc1f81155616e1a7d0188c49471cb8\"\n    },\n    \"dob\": {\n      \"date\": \"1986-05-26T00:40:37.945Z\",\n      \"age\": 36\n    },\n    \"registered\": {\n      \"date\": \"2018-05-07T13:16:55.900Z\",\n      \"age\": 5\n    },\n    \"phone\": \"(676) 113 7491\",\n    \"cell\": \"(635) 585 0210\",\n    \"id\": 468,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/53.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/53.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/53.jpg\"\n    },\n    \"nat\": \"MX\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Viljami\",\n      \"last\": \"Koistinen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5059,\n        \"name\": \"Pispalan Valtatie\"\n      },\n      \"city\": \"Hollola\",\n      \"state\": \"Satakunta\",\n      \"country\": \"Finland\",\n      \"postcode\": 57192,\n      \"coordinates\": {\n        \"latitude\": \"-74.9473\",\n        \"longitude\": \"-130.6757\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:00\",\n        \"description\": \"Tokyo, Seoul, Osaka, Sapporo, Yakutsk\"\n      }\n    },\n    \"email\": \"viljami.koistinen@example.com\",\n    \"login\": {\n      \"uuid\": \"d24816ca-7ba6-4d39-aef1-bd97c7bcbca9\",\n      \"username\": \"ticklishpeacock381\",\n      \"password\": \"dixie1\",\n      \"salt\": \"pfaJQXXA\",\n      \"md5\": \"8d6b62a9777462be421da3bb3726b32a\",\n      \"sha1\": \"405a5595ce88611c5ccdee3c583eff6d1ddc6863\",\n      \"sha256\": \"b7fd2bbb58fce5b01a53a209aecdb9e1d7aadbe306c98c9cc3efa1debc524fe2\"\n    },\n    \"dob\": {\n      \"date\": \"1995-02-12T16:54:32.805Z\",\n      \"age\": 28\n    },\n    \"registered\": {\n      \"date\": \"2007-10-03T20:56:11.678Z\",\n      \"age\": 15\n    },\n    \"phone\": \"06-574-684\",\n    \"cell\": \"041-934-07-53\",\n    \"id\": 469,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/55.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/55.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/55.jpg\"\n    },\n    \"nat\": \"FI\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Miodrag\",\n      \"last\": \"Simić\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 141,\n        \"name\": \"Rekovačka Ulica\"\n      },\n      \"city\": \"Arilje\",\n      \"state\": \"Srem\",\n      \"country\": \"Serbia\",\n      \"postcode\": 67803,\n      \"coordinates\": {\n        \"latitude\": \"87.4603\",\n        \"longitude\": \"162.2569\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:00\",\n        \"description\": \"Tokyo, Seoul, Osaka, Sapporo, Yakutsk\"\n      }\n    },\n    \"email\": \"miodrag.simic@example.com\",\n    \"login\": {\n      \"uuid\": \"c06be647-fc63-426b-9a78-ed783084c6f9\",\n      \"username\": \"yellowwolf684\",\n      \"password\": \"teddy\",\n      \"salt\": \"Qf3z1YI8\",\n      \"md5\": \"3185db600f4b44a8cc400d9541e5f6dc\",\n      \"sha1\": \"f64ad38045fba77ecbfd75983c5d203bfb34114b\",\n      \"sha256\": \"c5b93d29e22bb9061786449983e1f2d4ca41ced1f1c5779515b86cd2b4cfe983\"\n    },\n    \"dob\": {\n      \"date\": \"1988-08-12T02:22:39.733Z\",\n      \"age\": 34\n    },\n    \"registered\": {\n      \"date\": \"2007-05-28T12:11:45.017Z\",\n      \"age\": 15\n    },\n    \"phone\": \"033-3101-184\",\n    \"cell\": \"060-6262-606\",\n    \"id\": 470,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/62.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/62.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/62.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Loke\",\n      \"last\": \"Brunborg\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3417,\n        \"name\": \"Karlsrudveien\"\n      },\n      \"city\": \"Øverbø\",\n      \"state\": \"Description\",\n      \"country\": \"Norway\",\n      \"postcode\": \"3780\",\n      \"coordinates\": {\n        \"latitude\": \"-20.5658\",\n        \"longitude\": \"-58.2728\"\n      },\n      \"timezone\": {\n        \"offset\": \"-11:00\",\n        \"description\": \"Midway Island, Samoa\"\n      }\n    },\n    \"email\": \"loke.brunborg@example.com\",\n    \"login\": {\n      \"uuid\": \"76ea6b08-5b98-4270-a057-190fd397e4a6\",\n      \"username\": \"beautifulbird617\",\n      \"password\": \"000001\",\n      \"salt\": \"PP3IITYx\",\n      \"md5\": \"2822c710bd52253f22f2793d31109dba\",\n      \"sha1\": \"beec0fde92dec2d8ba81a0fe38edd83c9e5ce0ea\",\n      \"sha256\": \"eeb37772d28c644c39a6fe404fc512142f4478dbd4caf6c590131d959f22dc0b\"\n    },\n    \"dob\": {\n      \"date\": \"1950-03-11T15:18:48.849Z\",\n      \"age\": 73\n    },\n    \"registered\": {\n      \"date\": \"2019-06-07T04:59:32.392Z\",\n      \"age\": 3\n    },\n    \"phone\": \"61523852\",\n    \"cell\": \"45179392\",\n    \"id\": 471,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/36.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/36.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/36.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Mark\",\n      \"last\": \"Murphy\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7756,\n        \"name\": \"Highfield Road\"\n      },\n      \"city\": \"Coventry\",\n      \"state\": \"Buckinghamshire\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"Z0P 2QU\",\n      \"coordinates\": {\n        \"latitude\": \"72.6458\",\n        \"longitude\": \"71.6909\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"mark.murphy@example.com\",\n    \"login\": {\n      \"uuid\": \"c727f617-6183-40d6-8b34-cee1937661f2\",\n      \"username\": \"brownswan797\",\n      \"password\": \"skiing\",\n      \"salt\": \"OqQB0bVG\",\n      \"md5\": \"3ce2f9c5dc65eec71720faf49bb1bfb6\",\n      \"sha1\": \"dc50cf8b2f44a6eb3920d381ee8c4034a9904b11\",\n      \"sha256\": \"99fc582f46124996c16956ceb0319b83f7fd77ef7a7455b10f7752c2d768bc47\"\n    },\n    \"dob\": {\n      \"date\": \"1999-07-14T22:47:06.854Z\",\n      \"age\": 23\n    },\n    \"registered\": {\n      \"date\": \"2008-05-09T09:29:40.598Z\",\n      \"age\": 15\n    },\n    \"phone\": \"01869 198083\",\n    \"cell\": \"07614 519276\",\n    \"id\": 472,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/93.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/93.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/93.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Aryan\",\n      \"last\": \"Hjørnevik\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5549,\n        \"name\": \"Grefsenveien\"\n      },\n      \"city\": \"Sjøvegan\",\n      \"state\": \"Nord-Trøndelag\",\n      \"country\": \"Norway\",\n      \"postcode\": \"4250\",\n      \"coordinates\": {\n        \"latitude\": \"12.6099\",\n        \"longitude\": \"-126.5989\"\n      },\n      \"timezone\": {\n        \"offset\": \"+9:00\",\n        \"description\": \"Tokyo, Seoul, Osaka, Sapporo, Yakutsk\"\n      }\n    },\n    \"email\": \"aryan.hjornevik@example.com\",\n    \"login\": {\n      \"uuid\": \"0ca6f1f5-9125-4a7c-8414-34dc151d0191\",\n      \"username\": \"whitegorilla619\",\n      \"password\": \"snickers\",\n      \"salt\": \"4SKzRCKd\",\n      \"md5\": \"a7d76d42304e8c530151e3418155a78b\",\n      \"sha1\": \"2e7ae4dc8da63b9f0ed67d45e4fa1ca0e9dabcfe\",\n      \"sha256\": \"aad7f186ce27231604d9eb8fd683f44a29b06f24d4d7790584e54d1485b583e6\"\n    },\n    \"dob\": {\n      \"date\": \"1946-09-28T07:05:29.407Z\",\n      \"age\": 76\n    },\n    \"registered\": {\n      \"date\": \"2007-01-19T06:06:51.139Z\",\n      \"age\": 16\n    },\n    \"phone\": \"72179057\",\n    \"cell\": \"41337251\",\n    \"id\": 473,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/7.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/7.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/7.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Monsieur\",\n      \"first\": \"Nino\",\n      \"last\": \"Vidal\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6910,\n        \"name\": \"Rue Duguesclin\"\n      },\n      \"city\": \"Kleinlützel\",\n      \"state\": \"Uri\",\n      \"country\": \"Switzerland\",\n      \"postcode\": 5226,\n      \"coordinates\": {\n        \"latitude\": \"-66.0864\",\n        \"longitude\": \"134.8121\"\n      },\n      \"timezone\": {\n        \"offset\": \"-2:00\",\n        \"description\": \"Mid-Atlantic\"\n      }\n    },\n    \"email\": \"nino.vidal@example.com\",\n    \"login\": {\n      \"uuid\": \"d2fd2946-f7f7-4d63-8c0e-f6cb53aa44dd\",\n      \"username\": \"silverkoala652\",\n      \"password\": \"excess\",\n      \"salt\": \"ZoD1CdE9\",\n      \"md5\": \"eb305324da347b971c8126cd53f81aa8\",\n      \"sha1\": \"e42c5a3a90c3cbc27215968c5060995f697c9a79\",\n      \"sha256\": \"5452751c64073693c63e3c3c2bc8ad845f3a6fd6c00d984a8c4565f8144d3088\"\n    },\n    \"dob\": {\n      \"date\": \"1946-09-06T00:44:31.866Z\",\n      \"age\": 76\n    },\n    \"registered\": {\n      \"date\": \"2015-08-21T17:33:54.359Z\",\n      \"age\": 7\n    },\n    \"phone\": \"079 811 47 70\",\n    \"cell\": \"076 251 09 71\",\n    \"id\": 474,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/59.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/59.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/59.jpg\"\n    },\n    \"nat\": \"CH\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Radimir\",\n      \"last\": \"Timchenko\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2123,\n        \"name\": \"Sim'yi Steshenkiv\"\n      },\n      \"city\": \"Vashkivci\",\n      \"state\": \"Chernivecka\",\n      \"country\": \"Ukraine\",\n      \"postcode\": 62918,\n      \"coordinates\": {\n        \"latitude\": \"89.8614\",\n        \"longitude\": \"-63.0097\"\n      },\n      \"timezone\": {\n        \"offset\": \"-6:00\",\n        \"description\": \"Central Time (US & Canada), Mexico City\"\n      }\n    },\n    \"email\": \"radimir.timchenko@example.com\",\n    \"login\": {\n      \"uuid\": \"bcbdaec3-63ad-41f8-8c0e-3861930b34bc\",\n      \"username\": \"crazyrabbit524\",\n      \"password\": \"infantry\",\n      \"salt\": \"WbXj715B\",\n      \"md5\": \"5d5d151441725a4392bfe5a5a9e25a6f\",\n      \"sha1\": \"00d8239b80999a516566693599704e1a8d697417\",\n      \"sha256\": \"c329e94336bba5da29829a693b7a8d6750ac99cbf57a802ec13e0e34c2ca406c\"\n    },\n    \"dob\": {\n      \"date\": \"1994-12-12T00:44:22.383Z\",\n      \"age\": 28\n    },\n    \"registered\": {\n      \"date\": \"2017-08-14T17:14:47.211Z\",\n      \"age\": 5\n    },\n    \"phone\": \"(067) Z42-4682\",\n    \"cell\": \"(098) D44-7302\",\n    \"id\": 475,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/66.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/66.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/66.jpg\"\n    },\n    \"nat\": \"UA\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"آدرینا\",\n      \"last\": \"قاسمی\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7929,\n        \"name\": \"آیت الله کاشانی\"\n      },\n      \"city\": \"خرم‌آباد\",\n      \"state\": \"سمنان\",\n      \"country\": \"Iran\",\n      \"postcode\": 74841,\n      \"coordinates\": {\n        \"latitude\": \"76.3594\",\n        \"longitude\": \"-28.8625\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"adryn.qsmy@example.com\",\n    \"login\": {\n      \"uuid\": \"6aeb4ae0-1a45-4bbc-83e2-fb3ca5c0e604\",\n      \"username\": \"bluebear240\",\n      \"password\": \"neutron\",\n      \"salt\": \"c5hPbqWb\",\n      \"md5\": \"f72cebac9407f41802a4e4af80986ca5\",\n      \"sha1\": \"e7d3b482c2832566d98b77c0ecddd64102b129d9\",\n      \"sha256\": \"f594fc264a38108a57ee21feb389b15b43fae18d5fdf8dcad9ee95cf8f0a717d\"\n    },\n    \"dob\": {\n      \"date\": \"1967-06-17T01:21:14.059Z\",\n      \"age\": 55\n    },\n    \"registered\": {\n      \"date\": \"2017-09-05T17:53:10.040Z\",\n      \"age\": 5\n    },\n    \"phone\": \"000-61603534\",\n    \"cell\": \"0960-337-6618\",\n    \"id\": 476,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/17.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/17.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/17.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Ramon\",\n      \"last\": \"Daniels\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2467,\n        \"name\": \"Poplar Dr\"\n      },\n      \"city\": \"Albany\",\n      \"state\": \"Western Australia\",\n      \"country\": \"Australia\",\n      \"postcode\": 1406,\n      \"coordinates\": {\n        \"latitude\": \"68.4885\",\n        \"longitude\": \"45.1892\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:00\",\n        \"description\": \"Ekaterinburg, Islamabad, Karachi, Tashkent\"\n      }\n    },\n    \"email\": \"ramon.daniels@example.com\",\n    \"login\": {\n      \"uuid\": \"80140d1f-ebe9-48ff-a440-2631ac3bc6d2\",\n      \"username\": \"yellowpeacock166\",\n      \"password\": \"stylus\",\n      \"salt\": \"MrWacMTa\",\n      \"md5\": \"b96a0a22331e805984ee15922d2444af\",\n      \"sha1\": \"9716b2509e755f7d980f6360639f0d92f9e038cb\",\n      \"sha256\": \"c67744b5eef4e8972242431b296ab7c8cebcdc53afe70b9713a066a1c9ab8155\"\n    },\n    \"dob\": {\n      \"date\": \"1952-05-13T10:48:52.969Z\",\n      \"age\": 71\n    },\n    \"registered\": {\n      \"date\": \"2008-12-14T02:43:14.689Z\",\n      \"age\": 14\n    },\n    \"phone\": \"00-3742-8447\",\n    \"cell\": \"0451-115-049\",\n    \"id\": 477,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/14.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/14.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/14.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Louis\",\n      \"last\": \"Lopez\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5456,\n        \"name\": \"Avenue de l'Abbé-Roussel\"\n      },\n      \"city\": \"Asnières-sur-Seine\",\n      \"state\": \"Rhône\",\n      \"country\": \"France\",\n      \"postcode\": 14624,\n      \"coordinates\": {\n        \"latitude\": \"-1.8396\",\n        \"longitude\": \"64.1140\"\n      },\n      \"timezone\": {\n        \"offset\": \"+11:00\",\n        \"description\": \"Magadan, Solomon Islands, New Caledonia\"\n      }\n    },\n    \"email\": \"louis.lopez@example.com\",\n    \"login\": {\n      \"uuid\": \"513e0994-265e-4194-8da5-5e91832b31ac\",\n      \"username\": \"silvertiger404\",\n      \"password\": \"columbus\",\n      \"salt\": \"tfwhjoQx\",\n      \"md5\": \"1391a1d300895767a56db5d70da53b10\",\n      \"sha1\": \"4c19ace8f8d7c0a92a46f2dbcd03e64094337a1b\",\n      \"sha256\": \"b0fc79e2b5c5c852cf16a2feb078ee9ef2924dd7f277bf0cdf47012805124262\"\n    },\n    \"dob\": {\n      \"date\": \"1986-11-10T22:29:47.591Z\",\n      \"age\": 36\n    },\n    \"registered\": {\n      \"date\": \"2006-12-10T17:57:12.024Z\",\n      \"age\": 16\n    },\n    \"phone\": \"01-17-09-06-89\",\n    \"cell\": \"06-22-09-47-66\",\n    \"id\": 478,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/6.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/6.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/6.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Malgorzata\",\n      \"last\": \"Blaschke\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6924,\n        \"name\": \"Am Bahnhof\"\n      },\n      \"city\": \"Joachimsthal\",\n      \"state\": \"Niedersachsen\",\n      \"country\": \"Germany\",\n      \"postcode\": 97718,\n      \"coordinates\": {\n        \"latitude\": \"-51.7191\",\n        \"longitude\": \"177.1229\"\n      },\n      \"timezone\": {\n        \"offset\": \"+6:00\",\n        \"description\": \"Almaty, Dhaka, Colombo\"\n      }\n    },\n    \"email\": \"malgorzata.blaschke@example.com\",\n    \"login\": {\n      \"uuid\": \"93e6a5e5-336d-45d2-bdcd-4b2baf7342e1\",\n      \"username\": \"ticklishelephant247\",\n      \"password\": \"mancity\",\n      \"salt\": \"scxLUsXN\",\n      \"md5\": \"ee1afb429e798b1abb3680848479fbce\",\n      \"sha1\": \"6c95f966a9753566ae61ec5ce67a0291389328e8\",\n      \"sha256\": \"3e14c60a6f403e0df3d2635d45755f863467468505ddaa658344ed7a14677766\"\n    },\n    \"dob\": {\n      \"date\": \"1980-06-26T18:55:09.444Z\",\n      \"age\": 42\n    },\n    \"registered\": {\n      \"date\": \"2004-10-24T19:48:55.742Z\",\n      \"age\": 18\n    },\n    \"phone\": \"0486-6037320\",\n    \"cell\": \"0173-0110108\",\n    \"id\": 479,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/72.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/72.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/72.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Valeri\",\n      \"last\": \"Dressel\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5022,\n        \"name\": \"Mittelweg\"\n      },\n      \"city\": \"Breckerfeld\",\n      \"state\": \"Thüringen\",\n      \"country\": \"Germany\",\n      \"postcode\": 74249,\n      \"coordinates\": {\n        \"latitude\": \"51.4603\",\n        \"longitude\": \"-101.1598\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"valeri.dressel@example.com\",\n    \"login\": {\n      \"uuid\": \"57dcb361-1b6d-48b8-95ce-d734915e72ac\",\n      \"username\": \"yellowostrich357\",\n      \"password\": \"jjjjjjjj\",\n      \"salt\": \"Q1xFUztd\",\n      \"md5\": \"09c4145b87ae30fd2910b62edd741caa\",\n      \"sha1\": \"b1240d6458954d74a595921841fbb04e409a06b4\",\n      \"sha256\": \"40330c7c0c06fa0fbbaf6dc97e4a35fcd5e6c4979b17f64776b1ebc730f91688\"\n    },\n    \"dob\": {\n      \"date\": \"1944-12-02T04:26:50.629Z\",\n      \"age\": 78\n    },\n    \"registered\": {\n      \"date\": \"2021-08-30T07:24:04.324Z\",\n      \"age\": 1\n    },\n    \"phone\": \"0697-6481157\",\n    \"cell\": \"0174-0544090\",\n    \"id\": 480,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/9.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/9.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/9.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Lynn\",\n      \"last\": \"Elliott\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1810,\n        \"name\": \"Brown Terrace\"\n      },\n      \"city\": \"Adelaide\",\n      \"state\": \"Australian Capital Territory\",\n      \"country\": \"Australia\",\n      \"postcode\": 6400,\n      \"coordinates\": {\n        \"latitude\": \"-87.6221\",\n        \"longitude\": \"127.6002\"\n      },\n      \"timezone\": {\n        \"offset\": \"0:00\",\n        \"description\": \"Western Europe Time, London, Lisbon, Casablanca\"\n      }\n    },\n    \"email\": \"lynn.elliott@example.com\",\n    \"login\": {\n      \"uuid\": \"2609567e-670d-4d98-970c-0e71f9ac961e\",\n      \"username\": \"bluepanda474\",\n      \"password\": \"flint\",\n      \"salt\": \"fosiyHx0\",\n      \"md5\": \"24a7fec7252b62cf3eb31a31affb08eb\",\n      \"sha1\": \"7bb609f9cfb19f999f40d0f85b8e86e14bf69250\",\n      \"sha256\": \"12128cd31a149da3e7922f1be5ed17b6f6fc5dcc841b207e113575e9e08b10ab\"\n    },\n    \"dob\": {\n      \"date\": \"1989-02-27T23:20:33.766Z\",\n      \"age\": 34\n    },\n    \"registered\": {\n      \"date\": \"2006-02-16T13:05:48.067Z\",\n      \"age\": 17\n    },\n    \"phone\": \"08-3443-8813\",\n    \"cell\": \"0498-100-863\",\n    \"id\": 481,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/6.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/6.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/6.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Guy\",\n      \"last\": \"Willis\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3373,\n        \"name\": \"Preston Rd\"\n      },\n      \"city\": \"Burbank\",\n      \"state\": \"Idaho\",\n      \"country\": \"United States\",\n      \"postcode\": 38980,\n      \"coordinates\": {\n        \"latitude\": \"-17.9638\",\n        \"longitude\": \"-58.4539\"\n      },\n      \"timezone\": {\n        \"offset\": \"+2:00\",\n        \"description\": \"Kaliningrad, South Africa\"\n      }\n    },\n    \"email\": \"guy.willis@example.com\",\n    \"login\": {\n      \"uuid\": \"f00c2bc8-8e3d-4a32-af07-87f4f3475d4f\",\n      \"username\": \"angrycat191\",\n      \"password\": \"adams\",\n      \"salt\": \"KDp3YUk8\",\n      \"md5\": \"c1849919c8dcf588ca5a778fc972acc0\",\n      \"sha1\": \"a052be6ca477bbd62ac612dab5ea42be0dca9fe1\",\n      \"sha256\": \"9d412af2d02bf1a58e0b3f40e33ab5817547d912eb5a790bd65c7e8589705b78\"\n    },\n    \"dob\": {\n      \"date\": \"1991-10-01T21:28:39.063Z\",\n      \"age\": 31\n    },\n    \"registered\": {\n      \"date\": \"2005-06-22T17:42:31.624Z\",\n      \"age\": 17\n    },\n    \"phone\": \"(533) 748-0638\",\n    \"cell\": \"(406) 614-2735\",\n    \"id\": 482,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/75.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/75.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/75.jpg\"\n    },\n    \"nat\": \"US\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Grayson\",\n      \"last\": \"White\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 3880,\n        \"name\": \"Montreal Street\"\n      },\n      \"city\": \"Whangarei\",\n      \"state\": \"Bay of Plenty\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 22245,\n      \"coordinates\": {\n        \"latitude\": \"-8.8669\",\n        \"longitude\": \"165.9683\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"grayson.white@example.com\",\n    \"login\": {\n      \"uuid\": \"da73cc9e-a75e-4be5-b562-63620db2708c\",\n      \"username\": \"sadlion683\",\n      \"password\": \"design\",\n      \"salt\": \"WlY5yiB9\",\n      \"md5\": \"3dceadc6f8b20ebec450d71526c1b112\",\n      \"sha1\": \"4af2f8648eb0853c05a99820c62d175426b3a0e3\",\n      \"sha256\": \"3eafeea7731bd2edb1a6ee9e023411c5e11680ec9e894d280c4d0b158fc1e9b1\"\n    },\n    \"dob\": {\n      \"date\": \"1980-06-03T23:59:50.196Z\",\n      \"age\": 42\n    },\n    \"registered\": {\n      \"date\": \"2003-12-08T00:42:58.361Z\",\n      \"age\": 19\n    },\n    \"phone\": \"(872)-151-6787\",\n    \"cell\": \"(663)-846-1738\",\n    \"id\": 483,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/88.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/88.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/88.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Rubén\",\n      \"last\": \"Castillo\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7860,\n        \"name\": \"Calle de Toledo\"\n      },\n      \"city\": \"Murcia\",\n      \"state\": \"Ceuta\",\n      \"country\": \"Spain\",\n      \"postcode\": 19635,\n      \"coordinates\": {\n        \"latitude\": \"39.3974\",\n        \"longitude\": \"94.1091\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"ruben.castillo@example.com\",\n    \"login\": {\n      \"uuid\": \"017cd072-62b9-4b80-ad22-a5b6dab6d896\",\n      \"username\": \"whitetiger213\",\n      \"password\": \"qwe123\",\n      \"salt\": \"7qnp3gZV\",\n      \"md5\": \"7004da9df23f859cddc5b34a957d2422\",\n      \"sha1\": \"a7ebe01f5d017041039b6321144b36e325d6cd8b\",\n      \"sha256\": \"9a0bbcf6aab90165a3712efa7821c11e7a05f1c77abd3e784d10952cfd637bd0\"\n    },\n    \"dob\": {\n      \"date\": \"1993-08-03T03:01:35.790Z\",\n      \"age\": 29\n    },\n    \"registered\": {\n      \"date\": \"2008-01-30T17:52:31.922Z\",\n      \"age\": 15\n    },\n    \"phone\": \"921-198-889\",\n    \"cell\": \"631-307-252\",\n    \"id\": 484,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/97.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/97.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/97.jpg\"\n    },\n    \"nat\": \"ES\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Maud\",\n      \"last\": \"Skårdal\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 7117,\n        \"name\": \"Solbakkeveien\"\n      },\n      \"city\": \"Eidbukta\",\n      \"state\": \"Oslo\",\n      \"country\": \"Norway\",\n      \"postcode\": \"1745\",\n      \"coordinates\": {\n        \"latitude\": \"-86.7340\",\n        \"longitude\": \"111.0505\"\n      },\n      \"timezone\": {\n        \"offset\": \"-3:30\",\n        \"description\": \"Newfoundland\"\n      }\n    },\n    \"email\": \"maud.skardal@example.com\",\n    \"login\": {\n      \"uuid\": \"6688b6bd-9344-4847-9582-25001fe53a75\",\n      \"username\": \"happycat261\",\n      \"password\": \"buddah\",\n      \"salt\": \"qFU8oGeJ\",\n      \"md5\": \"a5da0995e00667b3bf73e60a54dad9fb\",\n      \"sha1\": \"283d1b33cfcbfb93dfb6959398447c0a3135248b\",\n      \"sha256\": \"ea862d36e57ac5a02bd0f3a6674fda6c6a1939617ffe88bf59bff7ecf186a9e5\"\n    },\n    \"dob\": {\n      \"date\": \"1999-07-06T13:58:56.905Z\",\n      \"age\": 23\n    },\n    \"registered\": {\n      \"date\": \"2009-06-07T02:39:00.306Z\",\n      \"age\": 13\n    },\n    \"phone\": \"50699563\",\n    \"cell\": \"49238520\",\n    \"id\": 485,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/90.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/90.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/90.jpg\"\n    },\n    \"nat\": \"NO\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Mathilde\",\n      \"last\": \"Laurent\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 8815,\n        \"name\": \"Rue Courbet\"\n      },\n      \"city\": \"Poitiers\",\n      \"state\": \"Haute-Saône\",\n      \"country\": \"France\",\n      \"postcode\": 90166,\n      \"coordinates\": {\n        \"latitude\": \"69.9075\",\n        \"longitude\": \"151.5283\"\n      },\n      \"timezone\": {\n        \"offset\": \"+10:00\",\n        \"description\": \"Eastern Australia, Guam, Vladivostok\"\n      }\n    },\n    \"email\": \"mathilde.laurent@example.com\",\n    \"login\": {\n      \"uuid\": \"3e538b21-9e39-4086-ad12-4dfd7a9a75c4\",\n      \"username\": \"heavysnake814\",\n      \"password\": \"blabla\",\n      \"salt\": \"QSKSmFRc\",\n      \"md5\": \"d458c0a40cb919c0cb70d4e20a0c4929\",\n      \"sha1\": \"38ce3c564171d8821300ed164c0191982ff00522\",\n      \"sha256\": \"ca14f963debb8cb2184b69bf96d9705ad925209bf6912e8bf76025201b29b70e\"\n    },\n    \"dob\": {\n      \"date\": \"1968-12-14T20:00:33.311Z\",\n      \"age\": 54\n    },\n    \"registered\": {\n      \"date\": \"2010-11-02T13:28:40.596Z\",\n      \"age\": 12\n    },\n    \"phone\": \"02-78-17-87-26\",\n    \"cell\": \"06-53-28-32-91\",\n    \"id\": 486,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/18.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/18.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/18.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Jayden\",\n      \"last\": \"Wright\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1338,\n        \"name\": \"Mt Albert Road\"\n      },\n      \"city\": \"Invercargill\",\n      \"state\": \"Nelson\",\n      \"country\": \"New Zealand\",\n      \"postcode\": 78410,\n      \"coordinates\": {\n        \"latitude\": \"-30.9813\",\n        \"longitude\": \"-133.2235\"\n      },\n      \"timezone\": {\n        \"offset\": \"0:00\",\n        \"description\": \"Western Europe Time, London, Lisbon, Casablanca\"\n      }\n    },\n    \"email\": \"jayden.wright@example.com\",\n    \"login\": {\n      \"uuid\": \"f7079249-9fcb-4db5-a0a6-904b1a03a3ce\",\n      \"username\": \"yellowostrich170\",\n      \"password\": \"terminat\",\n      \"salt\": \"Us7ba3Ev\",\n      \"md5\": \"86c2de6921a5cdcfc742f5c15a558efb\",\n      \"sha1\": \"055bf08e6308b1c803284b6cb8ab906d7aa7ca15\",\n      \"sha256\": \"314f14b27d8dc232a8ade624d044e085ca88b4b95080792b5de680417eb70353\"\n    },\n    \"dob\": {\n      \"date\": \"1971-07-08T23:51:31.884Z\",\n      \"age\": 51\n    },\n    \"registered\": {\n      \"date\": \"2004-06-06T01:58:43.784Z\",\n      \"age\": 18\n    },\n    \"phone\": \"(193)-404-8146\",\n    \"cell\": \"(392)-063-2990\",\n    \"id\": 487,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/22.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/22.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/22.jpg\"\n    },\n    \"nat\": \"NZ\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Felix\",\n      \"last\": \"Heinzelmann\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6869,\n        \"name\": \"Hauptstraße\"\n      },\n      \"city\": \"Stollberg\",\n      \"state\": \"Rheinland-Pfalz\",\n      \"country\": \"Germany\",\n      \"postcode\": 58739,\n      \"coordinates\": {\n        \"latitude\": \"37.5887\",\n        \"longitude\": \"46.4235\"\n      },\n      \"timezone\": {\n        \"offset\": \"+2:00\",\n        \"description\": \"Kaliningrad, South Africa\"\n      }\n    },\n    \"email\": \"felix.heinzelmann@example.com\",\n    \"login\": {\n      \"uuid\": \"71e30e4c-b6bb-4690-99ba-f2139c07e13b\",\n      \"username\": \"sadzebra686\",\n      \"password\": \"stars\",\n      \"salt\": \"iG0YF971\",\n      \"md5\": \"fe06335c94121b73159541fa8aff400f\",\n      \"sha1\": \"dff08758f3899818fb23130368cff64c642c928c\",\n      \"sha256\": \"6644e73806e4717657869f580aafd1e5aefd3ed172e526f39918930299a15511\"\n    },\n    \"dob\": {\n      \"date\": \"1965-01-23T23:46:15.976Z\",\n      \"age\": 58\n    },\n    \"registered\": {\n      \"date\": \"2005-12-20T13:10:26.438Z\",\n      \"age\": 17\n    },\n    \"phone\": \"0774-2636558\",\n    \"cell\": \"0173-5595965\",\n    \"id\": 488,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/4.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/4.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/4.jpg\"\n    },\n    \"nat\": \"DE\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Emilie\",\n      \"last\": \"Mortensen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4459,\n        \"name\": \"Kløvermarken\"\n      },\n      \"city\": \"Vesterborg\",\n      \"state\": \"Midtjylland\",\n      \"country\": \"Denmark\",\n      \"postcode\": 91767,\n      \"coordinates\": {\n        \"latitude\": \"-29.7828\",\n        \"longitude\": \"-116.8559\"\n      },\n      \"timezone\": {\n        \"offset\": \"+5:30\",\n        \"description\": \"Bombay, Calcutta, Madras, New Delhi\"\n      }\n    },\n    \"email\": \"emilie.mortensen@example.com\",\n    \"login\": {\n      \"uuid\": \"1abbba24-de12-4e93-b474-e031f134242a\",\n      \"username\": \"orangeswan450\",\n      \"password\": \"austin1\",\n      \"salt\": \"Km5H2NzP\",\n      \"md5\": \"ca48bf60f6ceadd71a3c40464279402c\",\n      \"sha1\": \"e203739e67208ca948ae132185ca1f25c008b291\",\n      \"sha256\": \"abf81b028e4cf7ec6b27315e5c343565ba8d2925b2f9b66460b3d4c510620d20\"\n    },\n    \"dob\": {\n      \"date\": \"1980-11-12T16:10:18.198Z\",\n      \"age\": 42\n    },\n    \"registered\": {\n      \"date\": \"2011-07-24T02:36:45.088Z\",\n      \"age\": 11\n    },\n    \"phone\": \"92019874\",\n    \"cell\": \"43642881\",\n    \"id\": 489,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/58.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/58.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/58.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Dragana\",\n      \"last\": \"Teodosić\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5957,\n        \"name\": \"Šumske Ekonomije\"\n      },\n      \"city\": \"Ljubovija\",\n      \"state\": \"Zaječar\",\n      \"country\": \"Serbia\",\n      \"postcode\": 47614,\n      \"coordinates\": {\n        \"latitude\": \"1.8758\",\n        \"longitude\": \"-18.9305\"\n      },\n      \"timezone\": {\n        \"offset\": \"+4:00\",\n        \"description\": \"Abu Dhabi, Muscat, Baku, Tbilisi\"\n      }\n    },\n    \"email\": \"dragana.teodosic@example.com\",\n    \"login\": {\n      \"uuid\": \"430d6594-75c3-47f5-b3cb-9d5214cd9af6\",\n      \"username\": \"happyelephant997\",\n      \"password\": \"videoes\",\n      \"salt\": \"IFVrxDgN\",\n      \"md5\": \"5eb008563fa7c10bbf06376afc8ce8e0\",\n      \"sha1\": \"3dc2114c5111b9a90042533fbd45d2578a9f068d\",\n      \"sha256\": \"c62ef45a1cc9c1fee50baa7d4664d6e0c74a8e4bed076b92e41f159fe83b5104\"\n    },\n    \"dob\": {\n      \"date\": \"1980-06-12T05:31:03.877Z\",\n      \"age\": 42\n    },\n    \"registered\": {\n      \"date\": \"2011-04-14T01:28:54.051Z\",\n      \"age\": 12\n    },\n    \"phone\": \"017-1949-546\",\n    \"cell\": \"064-7177-291\",\n    \"id\": 490,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/26.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/26.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/26.jpg\"\n    },\n    \"nat\": \"RS\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Hitesh\",\n      \"last\": \"Shetty\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4409,\n        \"name\": \"NAD X Rd\"\n      },\n      \"city\": \"Jaunpur\",\n      \"state\": \"Telangana\",\n      \"country\": \"India\",\n      \"postcode\": 12245,\n      \"coordinates\": {\n        \"latitude\": \"-71.4204\",\n        \"longitude\": \"11.1804\"\n      },\n      \"timezone\": {\n        \"offset\": \"+7:00\",\n        \"description\": \"Bangkok, Hanoi, Jakarta\"\n      }\n    },\n    \"email\": \"hitesh.shetty@example.com\",\n    \"login\": {\n      \"uuid\": \"b12d1d2e-2fa6-4f97-9dd6-f6a0bc939233\",\n      \"username\": \"angrybutterfly987\",\n      \"password\": \"denali\",\n      \"salt\": \"fABSO5yM\",\n      \"md5\": \"e4cf58420b35653441c7532268c620c2\",\n      \"sha1\": \"4b7be34925b69fad145620236ac9d168cce6c4cd\",\n      \"sha256\": \"21ea291565c60f3ecf3d07cc64981c518d534c0cba5c1d34ddaa5d3d8781bf82\"\n    },\n    \"dob\": {\n      \"date\": \"1973-09-21T11:06:06.047Z\",\n      \"age\": 49\n    },\n    \"registered\": {\n      \"date\": \"2014-03-25T20:51:01.853Z\",\n      \"age\": 9\n    },\n    \"phone\": \"9946473593\",\n    \"cell\": \"7790927664\",\n    \"id\": 491,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/58.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/58.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/58.jpg\"\n    },\n    \"nat\": \"IN\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"میلاد\",\n      \"last\": \"نجاتی\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4321,\n        \"name\": \"پارک لاله\"\n      },\n      \"city\": \"نیشابور\",\n      \"state\": \"کرمان\",\n      \"country\": \"Iran\",\n      \"postcode\": 20254,\n      \"coordinates\": {\n        \"latitude\": \"-59.7186\",\n        \"longitude\": \"-138.0595\"\n      },\n      \"timezone\": {\n        \"offset\": \"-2:00\",\n        \"description\": \"Mid-Atlantic\"\n      }\n    },\n    \"email\": \"myld.njty@example.com\",\n    \"login\": {\n      \"uuid\": \"defef333-9572-4ec6-b850-d866a53bdcc6\",\n      \"username\": \"happykoala625\",\n      \"password\": \"athens\",\n      \"salt\": \"Pm3Sprhn\",\n      \"md5\": \"c64c5fc7be0c505f008a22a2ddbe2872\",\n      \"sha1\": \"005bb83b8b49fca69f17728d00b53d849af94b63\",\n      \"sha256\": \"c748225507db83c5508bdb40cd54615951d8fd870aa3b9f54d08cab15cea43de\"\n    },\n    \"dob\": {\n      \"date\": \"1947-10-10T06:21:59.040Z\",\n      \"age\": 75\n    },\n    \"registered\": {\n      \"date\": \"2017-01-28T02:49:26.127Z\",\n      \"age\": 6\n    },\n    \"phone\": \"052-77686378\",\n    \"cell\": \"0963-354-8200\",\n    \"id\": 492,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/26.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/26.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/26.jpg\"\n    },\n    \"nat\": \"IR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Madame\",\n      \"first\": \"Luciana\",\n      \"last\": \"Le Gall\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 6588,\n        \"name\": \"Avenue Debrousse\"\n      },\n      \"city\": \"Pfaffnau\",\n      \"state\": \"Glarus\",\n      \"country\": \"Switzerland\",\n      \"postcode\": 8062,\n      \"coordinates\": {\n        \"latitude\": \"46.6632\",\n        \"longitude\": \"124.1057\"\n      },\n      \"timezone\": {\n        \"offset\": \"-8:00\",\n        \"description\": \"Pacific Time (US & Canada)\"\n      }\n    },\n    \"email\": \"luciana.legall@example.com\",\n    \"login\": {\n      \"uuid\": \"8315850c-26f4-459a-94ae-ac5074e00553\",\n      \"username\": \"orangerabbit602\",\n      \"password\": \"ferret\",\n      \"salt\": \"0x2WjqIj\",\n      \"md5\": \"8e59d740915d2405bc475e82a9a99d3d\",\n      \"sha1\": \"a8478f86ba9d3b5fba6ff2de696fe16e11c534d7\",\n      \"sha256\": \"19cbb3d1f7348c76eab114f31a7b167f0a74a5ad6ff148120e77d8ba1bb7782c\"\n    },\n    \"dob\": {\n      \"date\": \"1954-02-09T07:01:49.466Z\",\n      \"age\": 69\n    },\n    \"registered\": {\n      \"date\": \"2004-02-03T00:59:35.877Z\",\n      \"age\": 19\n    },\n    \"phone\": \"076 302 17 81\",\n    \"cell\": \"078 806 93 30\",\n    \"id\": 493,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/42.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/42.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/42.jpg\"\n    },\n    \"nat\": \"CH\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Ms\",\n      \"first\": \"Ninke\",\n      \"last\": \"Hiddink\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 2090,\n        \"name\": \"Komeetstraat\"\n      },\n      \"city\": \"Baarn\",\n      \"state\": \"Drenthe\",\n      \"country\": \"Netherlands\",\n      \"postcode\": \"6524 YL\",\n      \"coordinates\": {\n        \"latitude\": \"-55.5292\",\n        \"longitude\": \"-173.4180\"\n      },\n      \"timezone\": {\n        \"offset\": \"+1:00\",\n        \"description\": \"Brussels, Copenhagen, Madrid, Paris\"\n      }\n    },\n    \"email\": \"ninke.hiddink@example.com\",\n    \"login\": {\n      \"uuid\": \"eace9d98-69b6-486f-8aed-79f7b14d2a3f\",\n      \"username\": \"bigbutterfly266\",\n      \"password\": \"speedo\",\n      \"salt\": \"ujEFG9Tw\",\n      \"md5\": \"ecf8672a7034d8da5bdcdc37001f023f\",\n      \"sha1\": \"25388b2bd4b5735375667dfb3299150dc1c21104\",\n      \"sha256\": \"189a34e19fbb75f0edb99775e660ec45f0788c98f623cb7ca03c32046e0ff78d\"\n    },\n    \"dob\": {\n      \"date\": \"1953-12-28T21:51:53.750Z\",\n      \"age\": 69\n    },\n    \"registered\": {\n      \"date\": \"2009-11-28T14:03:29.466Z\",\n      \"age\": 13\n    },\n    \"phone\": \"(060) 0120304\",\n    \"cell\": \"(06) 92577085\",\n    \"id\": 494,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/8.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/8.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/8.jpg\"\n    },\n    \"nat\": \"NL\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Sasha\",\n      \"last\": \"Lemaire\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 580,\n        \"name\": \"Rue de la Baleine\"\n      },\n      \"city\": \"Colombes\",\n      \"state\": \"Guadeloupe\",\n      \"country\": \"France\",\n      \"postcode\": 87108,\n      \"coordinates\": {\n        \"latitude\": \"0.4864\",\n        \"longitude\": \"120.4778\"\n      },\n      \"timezone\": {\n        \"offset\": \"-2:00\",\n        \"description\": \"Mid-Atlantic\"\n      }\n    },\n    \"email\": \"sasha.lemaire@example.com\",\n    \"login\": {\n      \"uuid\": \"f6d52a16-cc1e-4f2e-9a12-da01ea5e9055\",\n      \"username\": \"ticklishpeacock647\",\n      \"password\": \"julian\",\n      \"salt\": \"7pnndagh\",\n      \"md5\": \"c14ef85eba56c7a5ae86c83d018e547a\",\n      \"sha1\": \"648f9b340c21f5aa131dc9cbfe8c76d1cb7a1040\",\n      \"sha256\": \"3fcceecbcaf2d55fb65da7b2abb813f13c6f54a078146251674f812c6477664e\"\n    },\n    \"dob\": {\n      \"date\": \"1970-11-24T10:19:02.347Z\",\n      \"age\": 52\n    },\n    \"registered\": {\n      \"date\": \"2012-07-22T21:31:28.558Z\",\n      \"age\": 10\n    },\n    \"phone\": \"05-29-00-63-04\",\n    \"cell\": \"06-83-70-64-70\",\n    \"id\": 495,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/41.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/41.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/41.jpg\"\n    },\n    \"nat\": \"FR\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Miss\",\n      \"first\": \"Glenda\",\n      \"last\": \"Chambers\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 308,\n        \"name\": \"Hillcrest Rd\"\n      },\n      \"city\": \"Albany\",\n      \"state\": \"Queensland\",\n      \"country\": \"Australia\",\n      \"postcode\": 7296,\n      \"coordinates\": {\n        \"latitude\": \"80.4622\",\n        \"longitude\": \"116.1079\"\n      },\n      \"timezone\": {\n        \"offset\": \"+10:00\",\n        \"description\": \"Eastern Australia, Guam, Vladivostok\"\n      }\n    },\n    \"email\": \"glenda.chambers@example.com\",\n    \"login\": {\n      \"uuid\": \"b031f628-d35f-47e4-8c0c-d9945cf5d4fd\",\n      \"username\": \"bigostrich793\",\n      \"password\": \"camero\",\n      \"salt\": \"8naTFz7i\",\n      \"md5\": \"68d4e0dcb558b5a48c211bbfbfa6461b\",\n      \"sha1\": \"13787bafbd6f6b2e7c28923cb8f33361c925a8c8\",\n      \"sha256\": \"de132f46deb067715cbc3197e9aea54be9fc356cf5980978de9ffad5fc5a36d7\"\n    },\n    \"dob\": {\n      \"date\": \"1978-08-17T09:16:25.048Z\",\n      \"age\": 44\n    },\n    \"registered\": {\n      \"date\": \"2008-09-22T06:14:18.922Z\",\n      \"age\": 14\n    },\n    \"phone\": \"02-9026-4604\",\n    \"cell\": \"0477-845-328\",\n    \"id\": 496,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/25.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/25.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/25.jpg\"\n    },\n    \"nat\": \"AU\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Olena\",\n      \"last\": \"Kiva\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5732,\n        \"name\": \"Provulok Saltikova-Shchedrina\"\n      },\n      \"city\": \"Molodogvardiysk\",\n      \"state\": \"Lvivska\",\n      \"country\": \"Ukraine\",\n      \"postcode\": 29331,\n      \"coordinates\": {\n        \"latitude\": \"-83.6760\",\n        \"longitude\": \"42.3861\"\n      },\n      \"timezone\": {\n        \"offset\": \"+6:00\",\n        \"description\": \"Almaty, Dhaka, Colombo\"\n      }\n    },\n    \"email\": \"olena.kiva@example.com\",\n    \"login\": {\n      \"uuid\": \"2a0bf5b2-664f-44dd-abd5-0b4324604341\",\n      \"username\": \"smallsnake718\",\n      \"password\": \"zapper\",\n      \"salt\": \"1NSdSNRG\",\n      \"md5\": \"0c591eee751365f457208becfa709c11\",\n      \"sha1\": \"f7115daccca321221c3cac7954c523d5776da280\",\n      \"sha256\": \"a65365ffd45daddaa23365db5497d7ecb1b775f71f04bd306fb7832e0572bcc4\"\n    },\n    \"dob\": {\n      \"date\": \"1953-06-28T13:24:38.231Z\",\n      \"age\": 69\n    },\n    \"registered\": {\n      \"date\": \"2012-04-08T05:44:23.371Z\",\n      \"age\": 11\n    },\n    \"phone\": \"(096) O47-1828\",\n    \"cell\": \"(068) O92-3554\",\n    \"id\": 497,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/7.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/7.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/7.jpg\"\n    },\n    \"nat\": \"UA\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Philip\",\n      \"last\": \"Andersen\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 5525,\n        \"name\": \"Grønlandsvej\"\n      },\n      \"city\": \"Gørløse\",\n      \"state\": \"Sjælland\",\n      \"country\": \"Denmark\",\n      \"postcode\": 57818,\n      \"coordinates\": {\n        \"latitude\": \"-70.6134\",\n        \"longitude\": \"-16.9334\"\n      },\n      \"timezone\": {\n        \"offset\": \"-12:00\",\n        \"description\": \"Eniwetok, Kwajalein\"\n      }\n    },\n    \"email\": \"philip.andersen@example.com\",\n    \"login\": {\n      \"uuid\": \"0639b1c4-712b-48b9-afb0-92dd482bca32\",\n      \"username\": \"redfish378\",\n      \"password\": \"ludwig\",\n      \"salt\": \"MJCsx2Hz\",\n      \"md5\": \"f61cbe3b8ae54a524bd692a17f55193e\",\n      \"sha1\": \"fdd0d0d2a00e314d25015dafa9ff253e2aabfa74\",\n      \"sha256\": \"e48ff320ed10f50e5cea85ae9a73aedaa42d952fee28a6988ca621ddf0a8011f\"\n    },\n    \"dob\": {\n      \"date\": \"1955-11-08T18:18:57.374Z\",\n      \"age\": 67\n    },\n    \"registered\": {\n      \"date\": \"2021-03-31T03:47:58.385Z\",\n      \"age\": 2\n    },\n    \"phone\": \"59505746\",\n    \"cell\": \"61456956\",\n    \"id\": 498,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/60.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/60.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/60.jpg\"\n    },\n    \"nat\": \"DK\"\n  },\n  {\n    \"gender\": \"female\",\n    \"name\": {\n      \"title\": \"Mrs\",\n      \"first\": \"Alex\",\n      \"last\": \"Lewis\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 1498,\n        \"name\": \"North Street\"\n      },\n      \"city\": \"Wakefield\",\n      \"state\": \"Greater Manchester\",\n      \"country\": \"United Kingdom\",\n      \"postcode\": \"DU54 2SZ\",\n      \"coordinates\": {\n        \"latitude\": \"52.0754\",\n        \"longitude\": \"-136.4143\"\n      },\n      \"timezone\": {\n        \"offset\": \"-10:00\",\n        \"description\": \"Hawaii\"\n      }\n    },\n    \"email\": \"alex.lewis@example.com\",\n    \"login\": {\n      \"uuid\": \"aa332e3d-a7d3-462a-af80-948cc995f24a\",\n      \"username\": \"goldenladybug270\",\n      \"password\": \"anton\",\n      \"salt\": \"D4iOmHbt\",\n      \"md5\": \"e60ea9996f4798d3065e0e74205f707d\",\n      \"sha1\": \"f98f2e4816ffad84a9a12b355ef174190965429f\",\n      \"sha256\": \"9a0a29e47873abf966110f90eb5ebef373ca517394565793a354b6fdd7a948d8\"\n    },\n    \"dob\": {\n      \"date\": \"1996-08-27T04:16:11.457Z\",\n      \"age\": 26\n    },\n    \"registered\": {\n      \"date\": \"2016-09-03T03:28:59.848Z\",\n      \"age\": 6\n    },\n    \"phone\": \"015395 33660\",\n    \"cell\": \"07413 805541\",\n    \"id\": 499,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/women/52.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/women/52.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/women/52.jpg\"\n    },\n    \"nat\": \"GB\"\n  },\n  {\n    \"gender\": \"male\",\n    \"name\": {\n      \"title\": \"Mr\",\n      \"first\": \"Samarth\",\n      \"last\": \"Mugeraya\"\n    },\n    \"location\": {\n      \"street\": {\n        \"number\": 4806,\n        \"name\": \"Commercial St\"\n      },\n      \"city\": \"Ajmer\",\n      \"state\": \"Telangana\",\n      \"country\": \"India\",\n      \"postcode\": 61857,\n      \"coordinates\": {\n        \"latitude\": \"-76.8564\",\n        \"longitude\": \"-170.6313\"\n      },\n      \"timezone\": {\n        \"offset\": \"+3:00\",\n        \"description\": \"Baghdad, Riyadh, Moscow, St. Petersburg\"\n      }\n    },\n    \"email\": \"samarth.mugeraya@example.com\",\n    \"login\": {\n      \"uuid\": \"3b65a5b7-83d3-41b9-b458-7882cdbc5af9\",\n      \"username\": \"heavybutterfly101\",\n      \"password\": \"karma\",\n      \"salt\": \"DUWJqzqU\",\n      \"md5\": \"9a42261fc3e2eee9011f267f7c60ccc6\",\n      \"sha1\": \"f7a40765e8225130ab2f75e85c9c5085a851d434\",\n      \"sha256\": \"6a00432977757e3dc2e4d3147349516e1210dd3ff22eb70e76fd52680f65eccd\"\n    },\n    \"dob\": {\n      \"date\": \"1974-08-17T12:02:33.857Z\",\n      \"age\": 48\n    },\n    \"registered\": {\n      \"date\": \"2007-05-01T23:27:15.073Z\",\n      \"age\": 16\n    },\n    \"phone\": \"8244935770\",\n    \"cell\": \"7944539031\",\n    \"id\": 500,\n    \"picture\": {\n      \"large\": \"https://randomuser.me/api/portraits/men/94.jpg\",\n      \"medium\": \"https://randomuser.me/api/portraits/med/men/94.jpg\",\n      \"thumbnail\": \"https://randomuser.me/api/portraits/thumb/men/94.jpg\"\n    },\n    \"nat\": \"IN\"\n  }\n]\n"
  },
  {
    "path": "src/json/status-codes.json",
    "content": "{\n  \"100\": {\n    \"statusCode\": 100,\n    \"statusMessage\": \"Continue\",\n    \"description\": \"The initial part of the request has been received, and the client should proceed with the rest of the request.\",\n    \"category\": \"Informational\"\n  },\n  \"101\": {\n    \"statusCode\": 101,\n    \"statusMessage\": \"Switching Protocols\",\n    \"description\": \"The server agrees to switch protocols specified in the Upgrade header field of the request.\",\n    \"category\": \"Informational\"\n  },\n  \"102\": {\n    \"statusCode\": 102,\n    \"statusMessage\": \"Processing\",\n    \"description\": \"The server has received and is processing the request but has not yet completed the process.\",\n    \"category\": \"Informational\"\n  },\n  \"103\": {\n    \"statusCode\": 103,\n    \"statusMessage\": \"Early Hints\",\n    \"description\": \"The server is sending some hints to the client even before the final response is available.\",\n    \"category\": \"Informational\"\n  },\n  \"200\": {\n    \"statusCode\": 200,\n    \"statusMessage\": \"OK\",\n    \"description\": \"The request has succeeded, and the requested resource is returned as the response.\",\n    \"category\": \"Success\"\n  },\n  \"201\": {\n    \"statusCode\": 201,\n    \"statusMessage\": \"Created\",\n    \"description\": \"The request has been fulfilled, and a new resource has been created as a result.\",\n    \"category\": \"Success\"\n  },\n  \"202\": {\n    \"statusCode\": 202,\n    \"statusMessage\": \"Accepted\",\n    \"description\": \"The request has been accepted for processing, but the processing is not complete.\",\n    \"category\": \"Success\"\n  },\n  \"203\": {\n    \"statusCode\": 203,\n    \"statusMessage\": \"Non-Authoritative Information\",\n    \"description\": \"The server is a transforming proxy that has received the request but has modified the response.\",\n    \"category\": \"Success\"\n  },\n  \"204\": {\n    \"statusCode\": 204,\n    \"statusMessage\": \"No Content\",\n    \"description\": \"The server has successfully processed the request, but there is no content to return.\",\n    \"category\": \"Success\"\n  },\n  \"205\": {\n    \"statusCode\": 205,\n    \"statusMessage\": \"Reset Content\",\n    \"description\": \"The server instructs the client to reset the current resource.\",\n    \"category\": \"Success\"\n  },\n  \"206\": {\n    \"statusCode\": 206,\n    \"statusMessage\": \"Partial Content\",\n    \"description\": \"The server has fulfilled the partial GET request for the resource.\",\n    \"category\": \"Success\"\n  },\n  \"207\": {\n    \"statusCode\": 207,\n    \"statusMessage\": \"Multi-Status\",\n    \"description\": \"The response status is a collection of independent responses, potentially differing in status.\",\n    \"category\": \"Success\"\n  },\n  \"208\": {\n    \"statusCode\": 208,\n    \"statusMessage\": \"Already Reported\",\n    \"description\": \"The members of a DAV binding have already been enumerated in a preceding part of the (multistatus) response, and are not being included again.\",\n    \"category\": \"Success\"\n  },\n  \"218\": {\n    \"statusCode\": 218,\n    \"statusMessage\": \"This Is Fine\",\n    \"description\": \"Used as an Easter egg or joke, indicating that the server is returning a response despite encountering an error or problematic situation.\",\n    \"category\": \"Unofficial\"\n  },\n  \"226\": {\n    \"statusCode\": 226,\n    \"statusMessage\": \"IM Used\",\n    \"description\": \"The server has fulfilled a request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.\",\n    \"category\": \"Success\"\n  },\n  \"300\": {\n    \"statusCode\": 300,\n    \"statusMessage\": \"Multiple Choices\",\n    \"description\": \"The requested resource has multiple choices, each with its own URI and representation.\",\n    \"category\": \"Redirection\"\n  },\n  \"301\": {\n    \"statusCode\": 301,\n    \"statusMessage\": \"Moved Permanently\",\n    \"description\": \"The requested resource has been permanently moved to a new location.\",\n    \"category\": \"Redirection\"\n  },\n  \"302\": {\n    \"statusCode\": 302,\n    \"statusMessage\": \"Found\",\n    \"description\": \"The requested resource has been temporarily moved to a different location.\",\n    \"category\": \"Redirection\"\n  },\n  \"303\": {\n    \"statusCode\": 303,\n    \"statusMessage\": \"See Other\",\n    \"description\": \"The response to the request can be found at a different URI.\",\n    \"category\": \"Redirection\"\n  },\n  \"304\": {\n    \"statusCode\": 304,\n    \"statusMessage\": \"Not Modified\",\n    \"description\": \"The client can use a cached version of the response.\",\n    \"category\": \"Redirection\"\n  },\n  \"307\": {\n    \"statusCode\": 307,\n    \"statusMessage\": \"Temporary Redirect\",\n    \"description\": \"The requested resource is temporarily located at a different URI.\",\n    \"category\": \"Redirection\"\n  },\n  \"308\": {\n    \"statusCode\": 308,\n    \"statusMessage\": \"Permanent Redirect\",\n    \"description\": \"The requested resource has been permanently moved to a different URI.\",\n    \"category\": \"Redirection\"\n  },\n  \"400\": {\n    \"statusCode\": 400,\n    \"statusMessage\": \"Bad Request\",\n    \"description\": \"The server cannot process the request due to client error.\",\n    \"category\": \"Client Error\"\n  },\n  \"401\": {\n    \"statusCode\": 401,\n    \"statusMessage\": \"Unauthorized\",\n    \"description\": \"The request requires user authentication.\",\n    \"category\": \"Client Error\"\n  },\n  \"402\": {\n    \"statusCode\": 402,\n    \"statusMessage\": \"Payment Required\",\n    \"description\": \"Reserved for future use.\",\n    \"category\": \"Client Error\"\n  },\n  \"403\": {\n    \"statusCode\": 403,\n    \"statusMessage\": \"Forbidden\",\n    \"description\": \"The server understands the request but refuses to fulfill it.\",\n    \"category\": \"Client Error\"\n  },\n  \"404\": {\n    \"statusCode\": 404,\n    \"statusMessage\": \"Not Found\",\n    \"description\": \"The requested resource could not be found on the server.\",\n    \"category\": \"Client Error\"\n  },\n  \"405\": {\n    \"statusCode\": 405,\n    \"statusMessage\": \"Method Not Allowed\",\n    \"description\": \"The requested method is not allowed for the resource.\",\n    \"category\": \"Client Error\"\n  },\n  \"406\": {\n    \"statusCode\": 406,\n    \"statusMessage\": \"Not Acceptable\",\n    \"description\": \"The server cannot produce a response matching the client's requested characteristics.\",\n    \"category\": \"Client Error\"\n  },\n  \"407\": {\n    \"statusCode\": 407,\n    \"statusMessage\": \"Proxy Authentication Required\",\n    \"description\": \"The client must authenticate itself to a proxy server.\",\n    \"category\": \"Client Error\"\n  },\n  \"408\": {\n    \"statusCode\": 408,\n    \"statusMessage\": \"Request Timeout\",\n    \"description\": \"The server timed out waiting for the request from the client.\",\n    \"category\": \"Client Error\"\n  },\n  \"409\": {\n    \"statusCode\": 409,\n    \"statusMessage\": \"Conflict\",\n    \"description\": \"The request could not be completed due to a conflict with the current state of the target resource.\",\n    \"category\": \"Client Error\"\n  },\n  \"410\": {\n    \"statusCode\": 410,\n    \"statusMessage\": \"Gone\",\n    \"description\": \"The requested resource is no longer available and has been permanently removed.\",\n    \"category\": \"Client Error\"\n  },\n  \"411\": {\n    \"statusCode\": 411,\n    \"statusMessage\": \"Length Required\",\n    \"description\": \"The server requires a Content-Length header in the request.\",\n    \"category\": \"Client Error\"\n  },\n  \"412\": {\n    \"statusCode\": 412,\n    \"statusMessage\": \"Precondition Failed\",\n    \"description\": \"One or more conditions in the request header fields evaluated to false.\",\n    \"category\": \"Client Error\"\n  },\n  \"413\": {\n    \"statusCode\": 413,\n    \"statusMessage\": \"Payload Too Large\",\n    \"description\": \"The server refused to process the request because the payload is too large.\",\n    \"category\": \"Client Error\"\n  },\n  \"414\": {\n    \"statusCode\": 414,\n    \"statusMessage\": \"URI Too Long\",\n    \"description\": \"The server refused the request because the URI is too long.\",\n    \"category\": \"Client Error\"\n  },\n  \"415\": {\n    \"statusCode\": 415,\n    \"statusMessage\": \"Unsupported Media Type\",\n    \"description\": \"The server does not support the request's media type.\",\n    \"category\": \"Client Error\"\n  },\n  \"416\": {\n    \"statusCode\": 416,\n    \"statusMessage\": \"Range Not Satisfiable\",\n    \"description\": \"The requested range is not satisfiable.\",\n    \"category\": \"Client Error\"\n  },\n  \"417\": {\n    \"statusCode\": 417,\n    \"statusMessage\": \"Expectation Failed\",\n    \"description\": \"The server cannot meet the requirements specified by the Expect request header.\",\n    \"category\": \"Client Error\"\n  },\n  \"418\": {\n    \"statusCode\": 418,\n    \"statusMessage\": \"I'm a teapot\",\n    \"description\": \"This code was defined in 1998 as one of the traditional IETF April Fools' jokes, in RFC 2324, Hyper Text Coffee Pot Control Protocol, and is not expected to be implemented by actual HTTP servers. However, known implementations do exist.\",\n    \"category\": \"Client Error\"\n  },\n  \"419\": {\n    \"statusCode\": 419,\n    \"statusMessage\": \"Authentication Timeout\",\n    \"description\": \"Similar to 401 Unauthorized, but indicates that the client's session has expired and needs to reauthenticate.\",\n    \"category\": \"Unofficial\"\n  },\n  \"420\": {\n    \"statusCode\": 420,\n    \"statusMessage\": \"Method Failure\",\n    \"description\": \"A non-standard status code typically used to indicate that a method failed on the server.\",\n    \"category\": \"Unofficial\"\n  },\n  \"422\": {\n    \"statusCode\": 422,\n    \"statusMessage\": \"Unprocessable Entity\",\n    \"description\": \"The server understands the content of the request but cannot process it due to semantic errors or business logic failures.\",\n    \"category\": \"Unofficial\"\n  },\n  \"423\": {\n    \"statusCode\": 423,\n    \"statusMessage\": \"Locked\",\n    \"description\": \"The requested resource is locked and cannot be accessed until a specified condition is met.\",\n    \"category\": \"Unofficial\"\n  },\n  \"424\": {\n    \"statusCode\": 424,\n    \"statusMessage\": \"Failed Dependency\",\n    \"description\": \"The request failed due to the failure of a previous request.\",\n    \"category\": \"Unofficial\"\n  },\n  \"428\": {\n    \"statusCode\": 428,\n    \"statusMessage\": \"Precondition Required\",\n    \"description\": \"The server requires the request to be conditional, typically requiring the inclusion of a specific header field.\",\n    \"category\": \"Unofficial\"\n  },\n  \"429\": {\n    \"statusCode\": 429,\n    \"statusMessage\": \"Too Many Requests\",\n    \"description\": \"The user has sent too many requests in a given amount of time, exceeding the server's rate limit.\",\n    \"category\": \"Unofficial\"\n  },\n  \"431\": {\n    \"statusCode\": 431,\n    \"statusMessage\": \"Request Header Fields Too Large\",\n    \"description\": \"The server refuses to process the request because the request headers are too large.\",\n    \"category\": \"Unofficial\"\n  },\n  \"451\": {\n    \"statusCode\": 451,\n    \"statusMessage\": \"Unavailable For Legal Reasons\",\n    \"description\": \"The server is denying access to the resource due to legal reasons, such as censorship or government-mandated restrictions.\",\n    \"category\": \"Unofficial\"\n  },\n  \"500\": {\n    \"statusCode\": 500,\n    \"statusMessage\": \"Internal Server Error\",\n    \"description\": \"A generic server error has occurred.\",\n    \"category\": \"Server Error\"\n  },\n  \"501\": {\n    \"statusCode\": 501,\n    \"statusMessage\": \"Not Implemented\",\n    \"description\": \"The server does not support the functionality required to fulfill the request.\",\n    \"category\": \"Server Error\"\n  },\n  \"502\": {\n    \"statusCode\": 502,\n    \"statusMessage\": \"Bad Gateway\",\n    \"description\": \"The server, while acting as a gateway or proxy, received an invalid response from an upstream server.\",\n    \"category\": \"Server Error\"\n  },\n  \"503\": {\n    \"statusCode\": 503,\n    \"statusMessage\": \"Service Unavailable\",\n    \"description\": \"The server is currently unable to handle the request due to temporary overloading or maintenance.\",\n    \"category\": \"Server Error\"\n  },\n  \"504\": {\n    \"statusCode\": 504,\n    \"statusMessage\": \"Gateway Timeout\",\n    \"description\": \"The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server.\",\n    \"category\": \"Server Error\"\n  },\n  \"505\": {\n    \"statusCode\": 505,\n    \"statusMessage\": \"HTTP Version Not Supported\",\n    \"description\": \"The server does not support the HTTP protocol version used in the request.\",\n    \"category\": \"Server Error\"\n  },\n  \"506\": {\n    \"statusCode\": 506,\n    \"statusMessage\": \"Variant Also Negotiates\",\n    \"description\": \"The server has an internal configuration error: the chosen variant resource is configured to engage in transparent content negotiation itself and is therefore not a proper end point in the negotiation process.\",\n    \"category\": \"Server Error\"\n  },\n  \"507\": {\n    \"statusCode\": 507,\n    \"statusMessage\": \"Insufficient Storage\",\n    \"description\": \"The server is unable to store the representation needed to complete the request.\",\n    \"category\": \"Server Error\"\n  },\n  \"508\": {\n    \"statusCode\": 508,\n    \"statusMessage\": \"Loop Detected\",\n    \"description\": \"The server detected an infinite loop while processing the request.\",\n    \"category\": \"Server Error\"\n  },\n  \"510\": {\n    \"statusCode\": 510,\n    \"statusMessage\": \"Not Extended\",\n    \"description\": \"The policy for accessing the requested resource requires further extensions to be made by the client.\",\n    \"category\": \"Server Error\"\n  },\n  \"511\": {\n    \"statusCode\": 511,\n    \"statusMessage\": \"Network Authentication Required\",\n    \"description\": \"The client needs to authenticate to gain network access.\",\n    \"category\": \"Server Error\"\n  }\n}\n"
  },
  {
    "path": "src/json/youtube/channel.json",
    "content": "{\n  \"channel\": {\n    \"kind\": \"youtube#channelListResponse\",\n    \"info\": {\n      \"kind\": \"youtube#channel\",\n      \"id\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"snippet\": {\n        \"title\": \"Hitesh Choudhary\",\n        \"description\": \"Website: https://hiteshchoudhary.com\\nHey there everyone, Hitesh here back again with another video!\\nThis means I create a lot of videos, every single week. I cover a wide range of subjects like programming, what's latest in tech, new frameworks, open-source products etc. I keep my interest in a wide area of tech like Javascript, Python, PHP, Machine Learning, etc.\\n\\nFor the Business purpose, Sponsorships and invitation, reach out at team@hiteshchoudhary.com\\n\\nNOTE: Personal questions and code-related questions are not answered at this email. Post them in the course discussion section or react me out at social platforms.\\n\\n#iWriteCode\\n\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nFacebook: www.fb.com/HiteshChoudharyPage\",\n        \"customUrl\": \"@hiteshchoudharydotcom\",\n        \"publishedAt\": \"2011-10-24T10:25:16Z\",\n        \"thumbnails\": {\n          \"default\": {\n            \"url\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s88-c-k-c0x00ffffff-no-rj\",\n            \"width\": 88,\n            \"height\": 88\n          },\n          \"medium\": {\n            \"url\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s240-c-k-c0x00ffffff-no-rj\",\n            \"width\": 240,\n            \"height\": 240\n          },\n          \"high\": {\n            \"url\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s800-c-k-c0x00ffffff-no-rj\",\n            \"width\": 800,\n            \"height\": 800\n          }\n        },\n        \"localized\": {\n          \"title\": \"Hitesh Choudhary\",\n          \"description\": \"Website: https://hiteshchoudhary.com\\nHey there everyone, Hitesh here back again with another video!\\nThis means I create a lot of videos, every single week. I cover a wide range of subjects like programming, what's latest in tech, new frameworks, open-source products etc. I keep my interest in a wide area of tech like Javascript, Python, PHP, Machine Learning, etc.\\n\\nFor the Business purpose, Sponsorships and invitation, reach out at team@hiteshchoudhary.com\\n\\nNOTE: Personal questions and code-related questions are not answered at this email. Post them in the course discussion section or react me out at social platforms.\\n\\n#iWriteCode\\n\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nFacebook: www.fb.com/HiteshChoudharyPage\"\n        },\n        \"country\": \"IN\"\n      },\n      \"statistics\": {\n        \"viewCount\": \"54384618\",\n        \"subscriberCount\": \"801000\",\n        \"hiddenSubscriberCount\": false,\n        \"videoCount\": \"1442\"\n      },\n      \"brandingSettings\": {\n        \"channel\": {\n          \"title\": \"Hitesh Choudhary\",\n          \"description\": \"Website: https://hiteshchoudhary.com\\nHey there everyone, Hitesh here back again with another video!\\nThis means I create a lot of videos, every single week. I cover a wide range of subjects like programming, what's latest in tech, new frameworks, open-source products etc. I keep my interest in a wide area of tech like Javascript, Python, PHP, Machine Learning, etc.\\n\\nFor the Business purpose, Sponsorships and invitation, reach out at team@hiteshchoudhary.com\\n\\nNOTE: Personal questions and code-related questions are not answered at this email. Post them in the course discussion section or react me out at social platforms.\\n\\n#iWriteCode\\n\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nFacebook: www.fb.com/HiteshChoudharyPage\",\n          \"keywords\": \"Programming computers code hitesh udemy Udacity Edx \\\"machine learning\\\" python javascript devops cloud\",\n          \"unsubscribedTrailer\": \"xJq0EQMFGyg\",\n          \"country\": \"IN\"\n        },\n        \"image\": {\n          \"bannerExternalUrl\": \"https://yt3.googleusercontent.com/xGlR3Vz-RYHgwRj50-VEdBksVyjyJhvzQUEVttMCd5iRVdw-OXdFkPBPswF2nG_13QR2UfXnCQ\"\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "src/json/youtube/comments.json",
    "content": "{\n  \"YnOtfyluLBw\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyB0IUx9pEnaUnoVwN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"YnOtfyluLBw\",\n          \"topLevelComment\": {\n            \"id\": \"UgyB0IUx9pEnaUnoVwN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"its as same as aap kali ko kabhi maar nahi sakte kali amar hai woh harr wakt apna roop aur sharir badalta hai\",\n              \"textOriginal\": \"its as same as aap kali ko kabhi maar nahi sakte kali amar hai woh harr wakt apna roop aur sharir badalta hai\",\n              \"authorDisplayName\": \"Amit Singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTf0rpPtIeBZ6shI2FLLbmxR9EnJf7v3Gjj4ZoJTg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-18T11:32:53Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyRJEWiKkIi8k2BiLx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"YnOtfyluLBw\",\n          \"topLevelComment\": {\n            \"id\": \"UgyRJEWiKkIi8k2BiLx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sadly it&#39;s true. However, the message is conveyed through the same format. Lol 😅\",\n              \"textOriginal\": \"Sadly it's true. However, the message is conveyed through the same format. Lol 😅\",\n              \"authorDisplayName\": \"Swarup R. Mondal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTYBulBUn3YM85wAosnrkln0M0H-67mSwN57B03Fg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-16T08:13:08Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyKpIKG_wpu5UkXBoJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"YnOtfyluLBw\",\n          \"topLevelComment\": {\n            \"id\": \"UgyKpIKG_wpu5UkXBoJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Its a social media scam which have targeted youth and giving hopes to them to be influencer. Which in turn affects the consumption of knowledge source. I doubt that newspaper will be long gone in coming years 😅\",\n              \"textOriginal\": \"Its a social media scam which have targeted youth and giving hopes to them to be influencer. Which in turn affects the consumption of knowledge source. I doubt that newspaper will be long gone in coming years 😅\",\n              \"authorDisplayName\": \"AYUSH RAJ PILLAI\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQPGvTCOukGoCmUeRPOSRtELNapFtx4t0jkGg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-15T15:24:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw6J12PYRVP1Y2ItsF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"YnOtfyluLBw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw6J12PYRVP1Y2ItsF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"i was away from tiktok but reels and shorts caught me\",\n              \"textOriginal\": \"i was away from tiktok but reels and shorts caught me\",\n              \"authorDisplayName\": \"Ashish Singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/C10jB6T0ehweJBAselnrc5AFX8B1iuxD0S0pKuII1H37E7Xfu_IvcnMQ_8uPC5o49HjB8O-5Cw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 9,\n              \"publishedAt\": \"2023-07-15T12:34:47Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      },\n      {\n        \"id\": \"UgwgJRb8ibZO6WJAfHh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"YnOtfyluLBw\",\n          \"topLevelComment\": {\n            \"id\": \"UgwgJRb8ibZO6WJAfHh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sadly. Everything is collapsing, even people&#39;s capacity to know the truth and what&#39;s sensible. The good news is this is one of the signs that the return of the Lord Jesus Christ is near.\",\n              \"textOriginal\": \"Sadly. Everything is collapsing, even people's capacity to know the truth and what's sensible. The good news is this is one of the signs that the return of the Lord Jesus Christ is near.\",\n              \"authorDisplayName\": \"Sam Bee\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQwE2gSJ2Let9dwq6uSFBHAy95-ariolSFfgg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-07-15T10:40:41Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwghoE3QbUZDYe1gnR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"YnOtfyluLBw\",\n          \"topLevelComment\": {\n            \"id\": \"UgwghoE3QbUZDYe1gnR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This is also a short form\",\n              \"textOriginal\": \"This is also a short form\",\n              \"authorDisplayName\": \"Aman Raj\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSfrC11ByAxzH3BP_igC7lejl06cYtaSSU2xxO8vg4uhR4Z7hiCa_BmDCMJaf7N=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-15T10:20:43Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      },\n      {\n        \"id\": \"UgzgiP_n_A6eus4LmyF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"YnOtfyluLBw\",\n          \"topLevelComment\": {\n            \"id\": \"UgzgiP_n_A6eus4LmyF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This is currently world emergency, should start a campaign against it , seriously\",\n              \"textOriginal\": \"This is currently world emergency, should start a campaign against it , seriously\",\n              \"authorDisplayName\": \"Jebin Shaju\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRQcQMD5LlgA538c_oAchZUQp2WOK-MQf-COL09L1c=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-15T09:54:41Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxDBQ2Sd7_c0RbMXSZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"YnOtfyluLBw\",\n          \"topLevelComment\": {\n            \"id\": \"UgxDBQ2Sd7_c0RbMXSZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I am watching on YouTube shorts 😂😂\",\n              \"textOriginal\": \"I am watching on YouTube shorts 😂😂\",\n              \"authorDisplayName\": \"Gyanshree\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT_X3z3rgWZdhGcHRqV5XVOSWAoNPVmqcOCe0eblg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 3,\n              \"publishedAt\": \"2023-07-15T09:04:48Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"zg06ec5arCs\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugx77V0M8sEMTz6KqHB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zg06ec5arCs\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx77V0M8sEMTz6KqHB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"which vs code theme you are using .\",\n              \"textOriginal\": \"which vs code theme you are using .\",\n              \"authorDisplayName\": \"Yash Bansod\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/NqwO5BK7mT0wKGWWgpF2WkcDqE6Bv5jAEQFQ-hJWZz2-K-lDZ3ioRmZJMhXJSZ2g0-1zFYd7B1U=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-21T06:39:40Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxOq-hBwYxPmLlaHkF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zg06ec5arCs\",\n          \"topLevelComment\": {\n            \"id\": \"UgxOq-hBwYxPmLlaHkF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"❤\",\n              \"textOriginal\": \"❤\",\n              \"authorDisplayName\": \"Rishabh Dhawad\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSxABhdupWcoQnNA2G6UMh_tEEQKc-cJplTrShOLvw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T10:30:54Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwkHPA68_N_UELUF9t4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zg06ec5arCs\",\n          \"topLevelComment\": {\n            \"id\": \"UgwkHPA68_N_UELUF9t4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Can you make a follow-up video explaining Payment gateways, now that RazorPay and Cashfree are not onboarding new customers? Is it the same case for Paytm payment gateway??\",\n              \"textOriginal\": \"Can you make a follow-up video explaining Payment gateways, now that RazorPay and Cashfree are not onboarding new customers? Is it the same case for Paytm payment gateway??\",\n              \"authorDisplayName\": \"Michael k\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRORe-gCDVktDsHjP5IWYzj8u9W9lc5v_Ed=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-17T11:06:36Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxXvXz9h6lcLJPNalx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zg06ec5arCs\",\n          \"topLevelComment\": {\n            \"id\": \"UgxXvXz9h6lcLJPNalx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"please have a look at your MERN stack paid course, not able to play any of the &quot;trial&quot; introduction videos starting from Section 2, please fix it asap\",\n              \"textOriginal\": \"please have a look at your MERN stack paid course, not able to play any of the \\\"trial\\\" introduction videos starting from Section 2, please fix it asap\",\n              \"authorDisplayName\": \"Krypto\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaScLTC0IkvaqRH6wEikyo6rU4waYxJUDJ9nWOEKXA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-16T11:09:28Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwEXNYQqgFRO_GHdgZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zg06ec5arCs\",\n          \"topLevelComment\": {\n            \"id\": \"UgwEXNYQqgFRO_GHdgZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"hey pls make a video on next auth\",\n              \"textOriginal\": \"hey pls make a video on next auth\",\n              \"authorDisplayName\": \"ARUN RAWAT\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSmzkgBy2al6rxl23CjcwMpNkxx4YzUNBpWuZuNSaPlnuiMT4rwYrVZ3nUgRaGR=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-15T07:47:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwxFpmHft7b67zHns54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zg06ec5arCs\",\n          \"topLevelComment\": {\n            \"id\": \"UgwxFpmHft7b67zHns54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"thank you so much\",\n              \"textOriginal\": \"thank you so much\",\n              \"authorDisplayName\": \"Soraya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSo4mnW5ZSJeddYv3QAg0uRKm9sLFW-cTyRqPXrIu4W4ZmgP5B5F2M7wmfo0qd5=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-15T01:31:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzTgti9NXvC180JJ4h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zg06ec5arCs\",\n          \"topLevelComment\": {\n            \"id\": \"UgzTgti9NXvC180JJ4h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Now that amazing, it is something that I was looking for🌟🧑‍💻\",\n              \"textOriginal\": \"Now that amazing, it is something that I was looking for🌟🧑‍💻\",\n              \"authorDisplayName\": \"sandeep dev\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/0PH1Ai_uXvXaXuOKfxOeD7Do4PELdTQnkIFrgG7cvhsaUCrff8ohOaFBMCRme6UwB8lbuFBDDA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-14T12:02:19Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy87Mc0ATC0eQPungd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zg06ec5arCs\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy87Mc0ATC0eQPungd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hii sir could you make a video on which programming language is best to learn android development in 2023\",\n              \"textOriginal\": \"Hii sir could you make a video on which programming language is best to learn android development in 2023\",\n              \"authorDisplayName\": \"Sumit Verma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQLh4wmc13_t5BJeQH5qC2hG-skgKUM_i8juw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-14T11:19:19Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwp_5w4puWT-1kJ3dt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zg06ec5arCs\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwp_5w4puWT-1kJ3dt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thats amazing learned alot 🎉\",\n              \"textOriginal\": \"Thats amazing learned alot 🎉\",\n              \"authorDisplayName\": \"Ashish maurya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSOSuJtiKSGNCvU2AJD__YjzHYrGE4pwwq2Z_ozRg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-13T17:15:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"eLyISYdoVac\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugzkg68p7tH-Cx7vHy54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eLyISYdoVac\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzkg68p7tH-Cx7vHy54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Here is how I see.<br>There is a &quot;Ustad&quot; and a &quot;Chotu.&quot;<br>So AI is replacing &quot;Chotu&#39;s &quot;  job .Sp basically we will have to do a lot better and become and start with level of &quot;Ustad &quot; with the job of a &quot;Chotu&quot;.<br>The required displacement is increased by distance is still the same.<br>Stay strong guys and keep learning.\",\n              \"textOriginal\": \"Here is how I see.\\nThere is a \\\"Ustad\\\" and a \\\"Chotu.\\\"\\nSo AI is replacing \\\"Chotu's \\\"  job .Sp basically we will have to do a lot better and become and start with level of \\\"Ustad \\\" with the job of a \\\"Chotu\\\".\\nThe required displacement is increased by distance is still the same.\\nStay strong guys and keep learning.\",\n              \"authorDisplayName\": \"Root User\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/2Z8j0aNgrA_fZk2aEV_RQyy7ojkfb8se8IrPrqeBnPpXhL2jOb7VU-AtfU72p954KJXnHMmj=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-18T19:56:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgziXsSuOFHZTpJnQhR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eLyISYdoVac\",\n          \"topLevelComment\": {\n            \"id\": \"UgziXsSuOFHZTpJnQhR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Exclusive Replay Reveals How To Avoid The &quot;AI Content Penalty&quot; And How My NEW Web-App Makes ALL Your AI Content Undetectable!<br>(+Huge Discount with Insane Bonuses)\",\n              \"textOriginal\": \"Exclusive Replay Reveals How To Avoid The \\\"AI Content Penalty\\\" And How My NEW Web-App Makes ALL Your AI Content Undetectable!\\n(+Huge Discount with Insane Bonuses)\",\n              \"authorDisplayName\": \"mon\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/tBOVxhJtIGgs5cB4MMUlePn3IaYR_vWBgtjDRi5saYdBQ-w7ccx5qZeiKnF8d-rgibI8kyLs=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-18T05:24:40Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzOTKdur9evUvsQPVR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eLyISYdoVac\",\n          \"topLevelComment\": {\n            \"id\": \"UgzOTKdur9evUvsQPVR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Should I learn Java DSA now?\",\n              \"textOriginal\": \"Should I learn Java DSA now?\",\n              \"authorDisplayName\": \"Abrar Jamadar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQX6nTE9k0lwLoYfyLKBl6gL4ASX-fTYtvkGqDy1w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-17T12:42:17Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz9cIl66bO3nxcKvOx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eLyISYdoVac\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz9cIl66bO3nxcKvOx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"AI is a KILLER! A monster who will make many programmers go hungry!\",\n              \"textOriginal\": \"AI is a KILLER! A monster who will make many programmers go hungry!\",\n              \"authorDisplayName\": \"Beau Lunn\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS1QU_aHcW8BwwynJRTgtPsG4QpyorFW7LgHw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-14T20:22:44Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugza1NTzBTPD7p2BA1V4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eLyISYdoVac\",\n          \"topLevelComment\": {\n            \"id\": \"Ugza1NTzBTPD7p2BA1V4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"What&#39;s the solution for this? You are only making people afraid. Provide a solution too.\",\n              \"textOriginal\": \"What's the solution for this? You are only making people afraid. Provide a solution too.\",\n              \"authorDisplayName\": \"Neeraj Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR5HAuPKRDP8WUMSljL0tk8BtAmyB8M_7U6yQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-14T15:36:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxx2AjvLLH6PgVWGtN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eLyISYdoVac\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxx2AjvLLH6PgVWGtN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir it&#39;s is not good please don&#39;t scary us by making these kind of videos.\",\n              \"textOriginal\": \"Sir it's is not good please don't scary us by making these kind of videos.\",\n              \"authorDisplayName\": \"Mukul Verma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTJ_SQ-UyoRBuiF7TAmYSkWTqUIZM755sRkLKV9=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-14T15:30:26Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxH_i3Lj1Qoaq-jCFh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eLyISYdoVac\",\n          \"topLevelComment\": {\n            \"id\": \"UgxH_i3Lj1Qoaq-jCFh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"trpc with nextjs please\",\n              \"textOriginal\": \"trpc with nextjs please\",\n              \"authorDisplayName\": \"AayushMaan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSQVD0h5V7V7gp5ya-uXwNEsuhMxziB7A3IL04MPV2a1xJXzVB7S6ft5kMT_RHc=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-13T11:39:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwgxMHukGRL6Y2s8VV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eLyISYdoVac\",\n          \"topLevelComment\": {\n            \"id\": \"UgwgxMHukGRL6Y2s8VV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"even data scientist are not safe , is it true ?\",\n              \"textOriginal\": \"even data scientist are not safe , is it true ?\",\n              \"authorDisplayName\": \"2K20_SE_161_Vishal Roy Roy\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRvX6A9uPtCp9C91JL9YD6hVwuHZN2g4A0NO2loyQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-13T08:25:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxLaTAJ0f8IUjgWF-F4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eLyISYdoVac\",\n          \"topLevelComment\": {\n            \"id\": \"UgxLaTAJ0f8IUjgWF-F4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir plz make vdos on how to become financially independent as a beginner developer who dont get job or any opportunity, like me , sometime somethings not going as we plan ,  plz guide us on freelancing career\",\n              \"textOriginal\": \"Sir plz make vdos on how to become financially independent as a beginner developer who dont get job or any opportunity, like me , sometime somethings not going as we plan ,  plz guide us on freelancing career\",\n              \"authorDisplayName\": \"Vaibhav\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/S_Fgj9eBokU7e73cilGRva28jvGO-jm0V_-1jSZ8O5smWFLN9aWOuj0tlz2dB0O2IWHGAOYazrA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-12T16:06:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"P1xDCeg10FY\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugwb3esoCzTeHABMfTd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"P1xDCeg10FY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwb3esoCzTeHABMfTd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This is big, really really big<br><b>*That&#39;s what she said*</b>\",\n              \"textOriginal\": \"This is big, really really big\\n**That's what she said**\",\n              \"authorDisplayName\": \"मनिष प्रसाई\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRdgg2m8h3C2t7pb2fANyyEEykkF1I4iicbzppWsAY=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T03:14:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzs2JzWCl24q1KN1TR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"P1xDCeg10FY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzs2JzWCl24q1KN1TR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"coding is sometimes hard . This guy inspires to become a code writer\",\n              \"textOriginal\": \"coding is sometimes hard . This guy inspires to become a code writer\",\n              \"authorDisplayName\": \"Balu Balaji\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTAr-ORbTCmRV2d3CaFseKi9ald401v3xQnofMxRA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-19T09:23:00Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzr6QPg-meQYrauF9l4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"P1xDCeg10FY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzr6QPg-meQYrauF9l4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Your blue background hurts my eyes so much.\",\n              \"textOriginal\": \"Your blue background hurts my eyes so much.\",\n              \"authorDisplayName\": \"Gazi Tarique Mahmud\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQGnbBFdrJaFwWqen70TzpKWM_ruoe4U-pIIwBz2zI=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-17T13:04:42Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy3GbUG7U4sqi3Wq7t4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"P1xDCeg10FY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy3GbUG7U4sqi3Wq7t4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"ePaper: yes<br>no audio: No\",\n              \"textOriginal\": \"ePaper: yes\\nno audio: No\",\n              \"authorDisplayName\": \"Manpreet Dhaliwal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRLy2yVBEQ2swyigRc9_kwwKjTts6Vcj4RifQ_mNw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-17T03:48:00Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzvxa7lQ0bzwBMQK5N4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"P1xDCeg10FY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzvxa7lQ0bzwBMQK5N4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"These day you are talking about monitors, keybords... etc.. I think now you have time to do normal things\",\n              \"textOriginal\": \"These day you are talking about monitors, keybords... etc.. I think now you have time to do normal things\",\n              \"authorDisplayName\": \"__________________________________________________\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/f3UJN-s5T3vob99-kzpeVv_ScpwgXXmYEZJQa2IoZ41-mhi67ueoLh2gmoo7ZcGN_mgOMZC4srI=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-14T10:42:11Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwDmWkNfjoGJdpFsn14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"P1xDCeg10FY\",\n          \"topLevelComment\": {\n            \"id\": \"UgwDmWkNfjoGJdpFsn14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"8-bit , 10-bit - 12-bit color ?\",\n              \"textOriginal\": \"8-bit , 10-bit - 12-bit color ?\",\n              \"authorDisplayName\": \"Dipaditya Das\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Z1F23AVikcI1M116euIfgtgzYuLEuQY0F6HObSFD8gyzpCyytgHSUAjgu7UjzaP1oYx4OmhegZ4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-12T13:39:38Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwP7MNYDAI4WRk4YBJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"P1xDCeg10FY\",\n          \"topLevelComment\": {\n            \"id\": \"UgwP7MNYDAI4WRk4YBJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I bought Keychron K8 Pro❤❤👨‍💻👨‍💻\",\n              \"textOriginal\": \"I bought Keychron K8 Pro❤❤👨‍💻👨‍💻\",\n              \"authorDisplayName\": \"Dipaditya Das\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Z1F23AVikcI1M116euIfgtgzYuLEuQY0F6HObSFD8gyzpCyytgHSUAjgu7UjzaP1oYx4OmhegZ4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-12T13:19:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxvRoM366I75P0gg4h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"P1xDCeg10FY\",\n          \"topLevelComment\": {\n            \"id\": \"UgxvRoM366I75P0gg4h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"is hitesh a part of illuminati 😶, oh the tatoo is different\",\n              \"textOriginal\": \"is hitesh a part of illuminati 😶, oh the tatoo is different\",\n              \"authorDisplayName\": \"Lokesh Mishra\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSg5yFEFyKyR9zCErWRfqEap6W_b5xyHfGh7Ta3oA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-11T17:06:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwUmlb936q504-0sBd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"P1xDCeg10FY\",\n          \"topLevelComment\": {\n            \"id\": \"UgwUmlb936q504-0sBd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This product is giveaway product many youtubers get it already.\",\n              \"textOriginal\": \"This product is giveaway product many youtubers get it already.\",\n              \"authorDisplayName\": \"Sourav Biswas\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRFW6MuJ_9ZuK2M8onhOkhB_4rJal27w0oeqj5MulMQdaBeMeyxYEREyKWrU8zO=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-10T15:54:44Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      }\n    ]\n  },\n  \"8KgQEk22sYY\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyLe9VgezONM_WO7TB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8KgQEk22sYY\",\n          \"topLevelComment\": {\n            \"id\": \"UgyLe9VgezONM_WO7TB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you Hitesh Bhagwan\",\n              \"textOriginal\": \"Thank you Hitesh Bhagwan\",\n              \"authorDisplayName\": \"Gaurav\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/0V1ZjsjH-L2vlZRNdB381gmFbo2WbDOfYlZXzdQnBmvFPYJMhSkf7BX9Pn3wE8z_2-1IxYmVFQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-22T05:20:23Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzVi4Kk8Hr7yKAR_qx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8KgQEk22sYY\",\n          \"topLevelComment\": {\n            \"id\": \"UgzVi4Kk8Hr7yKAR_qx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Promo-SM 😈\",\n              \"textOriginal\": \"Promo-SM 😈\",\n              \"authorDisplayName\": \"Jan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQe_qQGlsflNFmCveRG5tFylubW6chgr11JK4B2=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-12T18:52:56Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzUG987Gs5MfdXaEGR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8KgQEk22sYY\",\n          \"topLevelComment\": {\n            \"id\": \"UgzUG987Gs5MfdXaEGR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir kabhi college m miliye ,as a student not a professional 😂😂😇\",\n              \"textOriginal\": \"Sir kabhi college m miliye ,as a student not a professional 😂😂😇\",\n              \"authorDisplayName\": \"A_yu Codes\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/3yEGQ_E1JVf4MNfkrDFZ83Qjjiz55IdOeZpHhe3sj7Fb6QUweko1sHN97ER1Vixmk9oIMUf5=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-07T07:30:09Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugx8HxE-wYMKWbrMvNF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8KgQEk22sYY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx8HxE-wYMKWbrMvNF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Amazing\",\n              \"textOriginal\": \"Amazing\",\n              \"authorDisplayName\": \"soluion proider\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTl-tg9EN4eR8OAdkAgDQxJmN_j9DVkNG1mvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-04T14:49:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgywjonvwlumMPep1S14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8KgQEk22sYY\",\n          \"topLevelComment\": {\n            \"id\": \"UgywjonvwlumMPep1S14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Nice one sir..\",\n              \"textOriginal\": \"Nice one sir..\",\n              \"authorDisplayName\": \"Venkatesh Nambi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ62DonwJg7J_p1dGApCES5qzGle48zJ4MrX1YEOQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-29T17:21:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwkVwI5uREdh7pMw1F4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8KgQEk22sYY\",\n          \"topLevelComment\": {\n            \"id\": \"UgwkVwI5uREdh7pMw1F4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"We have power toys for windows\",\n              \"textOriginal\": \"We have power toys for windows\",\n              \"authorDisplayName\": \"Jebin Shaju\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRQcQMD5LlgA538c_oAchZUQp2WOK-MQf-COL09L1c=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-26T13:09:03Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx-izi0OU3Sxela-yR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8KgQEk22sYY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx-izi0OU3Sxela-yR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Blackbox do the same right\",\n              \"textOriginal\": \"Blackbox do the same right\",\n              \"authorDisplayName\": \"Rs Editography\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTyFHmcZf5ra3wWCqaWGkTHhDujIX9s9wsLMtuo=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-24T17:29:17Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxo_lMt0l7a-n5as6p4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8KgQEk22sYY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxo_lMt0l7a-n5as6p4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"seems like sponsored content\",\n              \"textOriginal\": \"seems like sponsored content\",\n              \"authorDisplayName\": \"Zaved Hussain Sikdar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTHRup5meFKL1Q-MUPmzzbemjTERzAPOZGEltL_9A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-06-24T08:47:13Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwL52Kdm-QZA6jSdLF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8KgQEk22sYY\",\n          \"topLevelComment\": {\n            \"id\": \"UgwL52Kdm-QZA6jSdLF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Why did Carl Sagan show up when you said developer?\",\n              \"textOriginal\": \"Why did Carl Sagan show up when you said developer?\",\n              \"authorDisplayName\": \"Ezio\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/_6fwpsvPhwFfNMQupVofpH82XFPOVhCLCgqj0w6sqhI-xAjM90PmJwxsHkQSzCKabFjhMDHwxd4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-24T05:31:11Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzgJg4qgMLCnMczmXN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8KgQEk22sYY\",\n          \"topLevelComment\": {\n            \"id\": \"UgzgJg4qgMLCnMczmXN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"🔥\",\n              \"textOriginal\": \"🔥\",\n              \"authorDisplayName\": \"Nayan Jaiswal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTHGkdqWnuo77A2Gluc45zy0W1qMWMEV70KmOkoRA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-23T13:28:47Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"mPpHs5C-Qaw\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgzF4qFMUsbTUDfphml4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mPpHs5C-Qaw\",\n          \"topLevelComment\": {\n            \"id\": \"UgzF4qFMUsbTUDfphml4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Use this link to check out illa cloud<br><a href=\\\"https://bit.ly/44d2Jux\\\">https://bit.ly/44d2Jux</a>\",\n              \"textOriginal\": \"Use this link to check out illa cloud\\nhttps://bit.ly/44d2Jux\",\n              \"authorDisplayName\": \"Hitesh Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 4,\n              \"publishedAt\": \"2023-06-22T13:42:21Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgwHAmZ_Kv5rttQSytN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mPpHs5C-Qaw\",\n          \"topLevelComment\": {\n            \"id\": \"UgwHAmZ_Kv5rttQSytN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"why you don&#39;t show us the deployment?\",\n              \"textOriginal\": \"why you don't show us the deployment?\",\n              \"authorDisplayName\": \"Sand Of Vega\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSJPwLurzDdAad00c4JTTX0QPkj7g65Fx6RaB0xMPo=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-04T10:36:10Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz_1Oo0GyKnPLxqcBt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mPpHs5C-Qaw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz_1Oo0GyKnPLxqcBt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Great video love to watch these new tech videos ...\",\n              \"textOriginal\": \"Great video love to watch these new tech videos ...\",\n              \"authorDisplayName\": \"Jay Sood\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRkf4ab5OPq1pWwB63Ja54EtLAdIkesaSdpbilc_w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-25T07:44:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxQKSER_ISs6dzZQsp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mPpHs5C-Qaw\",\n          \"topLevelComment\": {\n            \"id\": \"UgxQKSER_ISs6dzZQsp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir, your Eyes are same as Actor &quot;ARVIND SWAMI&quot;😲😱\",\n              \"textOriginal\": \"sir, your Eyes are same as Actor \\\"ARVIND SWAMI\\\"😲😱\",\n              \"authorDisplayName\": \"Ajit Kumbhar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQR5jebArVpMZYI1k3Bnf-GIDYHiHyNMeSeYxmaEY5sOvoRa-w00MrTkSBOZ5bq=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-24T22:28:49Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxIsvVfG854IYu_0JN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mPpHs5C-Qaw\",\n          \"topLevelComment\": {\n            \"id\": \"UgxIsvVfG854IYu_0JN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Collection Id not showing while creating new db. Please help 🙏\",\n              \"textOriginal\": \"Collection Id not showing while creating new db. Please help 🙏\",\n              \"authorDisplayName\": \"ANIME WORLD \",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/7PUq61Skid_CoFn7wI3T55oUhZpIg8VpeX-kHOdoJxNh1rujoylWbQoFokMSHiYEFLgfJVgCgsQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-24T15:03:36Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyPdPc3GU6v66EKe4F4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mPpHs5C-Qaw\",\n          \"topLevelComment\": {\n            \"id\": \"UgyPdPc3GU6v66EKe4F4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Looking forward for more such videos\",\n              \"textOriginal\": \"Looking forward for more such videos\",\n              \"authorDisplayName\": \"Tejas Sawant\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRvP6xjMpqBYIxBwDUd0ssX8nBOPDYoVUoh3gyJhw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-23T17:45:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxyXJp7QfqM4V3KoCV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mPpHs5C-Qaw\",\n          \"topLevelComment\": {\n            \"id\": \"UgxyXJp7QfqM4V3KoCV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This is a super amazing amd informatory video that even a non coder can understand all the things and create something out of it.\",\n              \"textOriginal\": \"This is a super amazing amd informatory video that even a non coder can understand all the things and create something out of it.\",\n              \"authorDisplayName\": \"Nikhil Sachdeva\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ3bzLIcfMHe0LN2ixxHXogO7Xj7jvpNn7-ByIQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-23T16:19:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"RdEmvav6ZpE\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgwDPNcVPXHJ8L1O2aV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"RdEmvav6ZpE\",\n          \"topLevelComment\": {\n            \"id\": \"UgwDPNcVPXHJ8L1O2aV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"https://twitter.com/wesscope\\\">https://twitter.com/wesscope</a><br><a href=\\\"https://www.youtube.com/@freshfullstack\\\">https://www.youtube.com/@freshfullstack</a><br>To connect with wess. Also <a href=\\\"https://hitesh.ai/appwrite\\\">https://hitesh.ai/appwrite</a>\",\n              \"textOriginal\": \"https://twitter.com/wesscope\\nhttps://www.youtube.com/@freshfullstack\\nTo connect with wess. Also https://hitesh.ai/appwrite\",\n              \"authorDisplayName\": \"Hitesh Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-17T16:34:56Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgynDt4bqSOhi6ca2Q54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"RdEmvav6ZpE\",\n          \"topLevelComment\": {\n            \"id\": \"UgynDt4bqSOhi6ca2Q54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Really enjoyed this conversation.\",\n              \"textOriginal\": \"Really enjoyed this conversation.\",\n              \"authorDisplayName\": \"Dennis Ivy\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRYDmFeW15xdieLdvxXXspEidhG6zvZ_k3iUiOoRg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-06-19T00:35:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxjjm2s6k_Zy5MGbh54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"RdEmvav6ZpE\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxjjm2s6k_Zy5MGbh54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"hallo ich mag deine Nase ist sehr interesant\",\n              \"textOriginal\": \"hallo ich mag deine Nase ist sehr interesant\",\n              \"authorDisplayName\": \"safin\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQNou73opLtephaKIIAGa6mzljq9N342I-1lkJqZXamRbfcp_BPCBMGyRGD8kb6=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-17T20:03:34Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwC5AmVU7qJ1bdifx14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"RdEmvav6ZpE\",\n          \"topLevelComment\": {\n            \"id\": \"UgwC5AmVU7qJ1bdifx14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you so much both of you sharing your knowledge ✨💥💯\",\n              \"textOriginal\": \"Thank you so much both of you sharing your knowledge ✨💥💯\",\n              \"authorDisplayName\": \"Aniket Patidar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTkjr0VewZcbHrMP09RIbWgwmMszgZVMlmVakwaPsf2xVs_eOBcyz737iGhtXeG=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-17T18:56:57Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxsHbdCTw0_cIRtCzB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"RdEmvav6ZpE\",\n          \"topLevelComment\": {\n            \"id\": \"UgxsHbdCTw0_cIRtCzB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Good day<br>I&#39;m Sahid from Sierra Leone I am a beginner in coding and i have passion for it. I am presenting struggling to develop a school management system website\",\n              \"textOriginal\": \"Good day\\nI'm Sahid from Sierra Leone I am a beginner in coding and i have passion for it. I am presenting struggling to develop a school management system website\",\n              \"authorDisplayName\": \"Sahid Ahmad\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS8iByistlE8VEi_g9yjBAnpeGjMzPqR1DFhkkReA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-17T18:52:52Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"ddWVGyXPgNs\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgwS7Z7CZVhNjFEsSQB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ddWVGyXPgNs\",\n          \"topLevelComment\": {\n            \"id\": \"UgwS7Z7CZVhNjFEsSQB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"True. I watch a video to get general idea fast and easy. Then read the docs for deeper knowledge, and buy thick books to use as a reference or go to specific chapters for extreme details. Though Videos are always great help because they always show how things connect, which is always hard to get from docs or books. Man great videos you produce. Keep it up\",\n              \"textOriginal\": \"True. I watch a video to get general idea fast and easy. Then read the docs for deeper knowledge, and buy thick books to use as a reference or go to specific chapters for extreme details. Though Videos are always great help because they always show how things connect, which is always hard to get from docs or books. Man great videos you produce. Keep it up\",\n              \"authorDisplayName\": \"Lex Semenenko\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRRVeZ3XCTo5dWwjYZCu_8UPYfjiHGPvK_j_1Um=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-16T16:32:44Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwuVzAgQaXUpoKlB5d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ddWVGyXPgNs\",\n          \"topLevelComment\": {\n            \"id\": \"UgwuVzAgQaXUpoKlB5d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"chat gpt ask\",\n              \"textOriginal\": \"chat gpt ask\",\n              \"authorDisplayName\": \"Cristiano Johnaldo\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTkESh9m9SFtspW2zbk8-bHS20uW-qfRFOn6SSeTw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-14T09:04:26Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwHlEN6llWwS-tvRiJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ddWVGyXPgNs\",\n          \"topLevelComment\": {\n            \"id\": \"UgwHlEN6llWwS-tvRiJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"But then i move here and there between links. Feel overwhelmed. How can i overcome this?\",\n              \"textOriginal\": \"But then i move here and there between links. Feel overwhelmed. How can i overcome this?\",\n              \"authorDisplayName\": \"husler\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS7IiTb2suCbumBdOEWRdxMnMKS5k5r2pFcJATnBg6kZPO_wuDA1LjMR5j_GvzX=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-04T13:15:43Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyfB8U6KFmiAZvc4o54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ddWVGyXPgNs\",\n          \"topLevelComment\": {\n            \"id\": \"UgyfB8U6KFmiAZvc4o54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Nice videos, Hitesh! Little request, from a fan of yours: please, lower the volume of the background music 🙏<br>Thank you for sharing!!\",\n              \"textOriginal\": \"Nice videos, Hitesh! Little request, from a fan of yours: please, lower the volume of the background music 🙏\\nThank you for sharing!!\",\n              \"authorDisplayName\": \"Tutor Island\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS6UWB1sokzuXFciHVNo-RIE3q8s4pfzEAxog-y=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-06-26T14:02:58Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzOtJUMTM99MwUdOfp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ddWVGyXPgNs\",\n          \"topLevelComment\": {\n            \"id\": \"UgzOtJUMTM99MwUdOfp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Docs and hover on methods, classes is fastest way to understand things\",\n              \"textOriginal\": \"Docs and hover on methods, classes is fastest way to understand things\",\n              \"authorDisplayName\": \"Praxss\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTrBqS54nSpJaZ2ekWypBHnDuWkXoOOJeYidd7rFQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-16T16:13:16Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyZ4mQG3Z0jyOizRsd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ddWVGyXPgNs\",\n          \"topLevelComment\": {\n            \"id\": \"UgyZ4mQG3Z0jyOizRsd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"for seniors, it is easier to read docs but for the juniors? hell naw. they hate docs\",\n              \"textOriginal\": \"for seniors, it is easier to read docs but for the juniors? hell naw. they hate docs\",\n              \"authorDisplayName\": \"ArifDev Coding\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/YFcLKaCqC_TXq61-WHHjgkCckTUDU3JifsHzTj24y2P_ENT4ip8vjR8zxMVxLFKEAivSXpGheQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 5,\n              \"publishedAt\": \"2023-06-16T09:20:23Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxgQMSK9wrjtYPducJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ddWVGyXPgNs\",\n          \"topLevelComment\": {\n            \"id\": \"UgxgQMSK9wrjtYPducJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Pro tip<br>Feed the document to ai and ask it to explain it according to your needs.\",\n              \"textOriginal\": \"Pro tip\\nFeed the document to ai and ask it to explain it according to your needs.\",\n              \"authorDisplayName\": \"Sounak Roy\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTAW8aV5WxAN6zU0v5pzD6JQ-wX53Jni55-gg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 4,\n              \"publishedAt\": \"2023-06-16T08:21:02Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      },\n      {\n        \"id\": \"UgxpW4HCafuHdJ7ccNp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ddWVGyXPgNs\",\n          \"topLevelComment\": {\n            \"id\": \"UgxpW4HCafuHdJ7ccNp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Nice information sir❤\",\n              \"textOriginal\": \"Nice information sir❤\",\n              \"authorDisplayName\": \"ankit tiwari\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTf-pfEbilZcp6xPtloLvQW1Ff1UMvA7lPgzTWd3w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-15T02:48:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzx6BBA6V04WNMU7gh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ddWVGyXPgNs\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzx6BBA6V04WNMU7gh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"For editing, which software/service you use if may I ask\",\n              \"textOriginal\": \"For editing, which software/service you use if may I ask\",\n              \"authorDisplayName\": \"rikunj sindhwad\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT3aicsrlcqY2A26k7wcCJ_Pw5qADfLtg4OqFuXW_g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-14T16:04:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwVA3vr8msw6qzxFmh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ddWVGyXPgNs\",\n          \"topLevelComment\": {\n            \"id\": \"UgwVA3vr8msw6qzxFmh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"There is no need to watch your videos on YouTube again. I have a doc to read 😂😂😂😂\",\n              \"textOriginal\": \"There is no need to watch your videos on YouTube again. I have a doc to read 😂😂😂😂\",\n              \"authorDisplayName\": \"JavaScript Enabled\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/6exWjIk3mzFLp-XyKdGWwLXbdsP2NviO6LDWesCuYoXS4Ywz7E102ruTVa5-q8ynbbPv02XY4g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-14T15:50:52Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"y2Fz0dkI4v8\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyZOyKgWrlD-5sWh9Z4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"y2Fz0dkI4v8\",\n          \"topLevelComment\": {\n            \"id\": \"UgyZOyKgWrlD-5sWh9Z4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Goog\",\n              \"textOriginal\": \"Goog\",\n              \"authorDisplayName\": \"Mashada Hewani\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSpKq-j7RHaBTCwuPXSkIF3WtUj6kH4lnNane-KMsM573EsJ55n8y_kFszfbUz_=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-16T04:44:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzy-nuJfcbvNINNIul4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"y2Fz0dkI4v8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzy-nuJfcbvNINNIul4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"chatGPT can also do this.\",\n              \"textOriginal\": \"chatGPT can also do this.\",\n              \"authorDisplayName\": \"Gokul Suthar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/txJb6TRepgcGbtIid2S1MOnctT1ZkQugHwnVmeN2_ssTapDhhHgZ-LYFCqZa71gk-eTC0hsB=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-30T10:59:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwuMkcQx7nDoS05q4x4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"y2Fz0dkI4v8\",\n          \"topLevelComment\": {\n            \"id\": \"UgwuMkcQx7nDoS05q4x4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I don&#39;t know why you are so excited. behind the scene it is using open AI, we are all using chat GPT for these things, why not continue with that instead of these tools? where is it better than chat GPT? please create valuable contents instead this repetitive topic.\",\n              \"textOriginal\": \"I don't know why you are so excited. behind the scene it is using open AI, we are all using chat GPT for these things, why not continue with that instead of these tools? where is it better than chat GPT? please create valuable contents instead this repetitive topic.\",\n              \"authorDisplayName\": \"Shahidullah Muffakir\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQKKfPm_1uBOszQzUzlmMthhaqa2F5Z7sTaFBFJxg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-29T23:16:51Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxvI2h-La1hW4jjtIV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"y2Fz0dkI4v8\",\n          \"topLevelComment\": {\n            \"id\": \"UgxvI2h-La1hW4jjtIV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"There is a limitation of 2500 characters per input. The output is similar to ChatGPT. Why use this new tool? Just because of the new UI?\",\n              \"textOriginal\": \"There is a limitation of 2500 characters per input. The output is similar to ChatGPT. Why use this new tool? Just because of the new UI?\",\n              \"authorDisplayName\": \"Kallol C\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSulfDYr6aNzuzS6BfxKcpMGnHu-HFUjvZuR43izHNcHMHq_dGjWGCSRbpznMNt=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-27T21:35:17Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyeTAw5MeyXyafj63B4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"y2Fz0dkI4v8\",\n          \"topLevelComment\": {\n            \"id\": \"UgyeTAw5MeyXyafj63B4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"chatgpt is the dad of all chat ai or chat bot\",\n              \"textOriginal\": \"chatgpt is the dad of all chat ai or chat bot\",\n              \"authorDisplayName\": \"shanaya gupta\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSJR468pemp4aehKY-0E6uUyXHEg7J_C2LBxH2vfGFjV5YX_vNjlD7p46zik9cD=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-25T14:31:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxUKEkzSLuyFUOvryZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"y2Fz0dkI4v8\",\n          \"topLevelComment\": {\n            \"id\": \"UgxUKEkzSLuyFUOvryZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I think chatGPT can also do the same thing right?but tbh  GPT sometimes do not give accurate results hope this works better\",\n              \"textOriginal\": \"I think chatGPT can also do the same thing right?but tbh  GPT sometimes do not give accurate results hope this works better\",\n              \"authorDisplayName\": \"Dinesh Singuluri\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/MhCPNX_vDeIP_JIR8pfOkXF7_tqKLzFslO9oyi9KXL7Z71LxJCTMvR2ySJjy9ScGioXBn2sqew=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-25T14:07:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw4vFs-g4mbL-TE0Mt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"y2Fz0dkI4v8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw4vFs-g4mbL-TE0Mt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"chatgpt can be used here\",\n              \"textOriginal\": \"chatgpt can be used here\",\n              \"authorDisplayName\": \"Da Cratos\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRf9NBOK0xxk56dMPOmxncXNaf1zFS4JkLNUVtd=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-18T13:26:56Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgwPCYkBh36e5lT-wKt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"y2Fz0dkI4v8\",\n          \"topLevelComment\": {\n            \"id\": \"UgwPCYkBh36e5lT-wKt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I&#39;m happy I discovered your channel. Kudos from USA!\",\n              \"textOriginal\": \"I'm happy I discovered your channel. Kudos from USA!\",\n              \"authorDisplayName\": \"Sajan Aryal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Q7QwwDl_eN5REqiaR49djQvcCLdYFFEiTnV3s-OwQHoDWKFn6OnWPX_kZYOoFVq92FxMTJNw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-06-16T21:10:07Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxO7ommDo3cl1Cz5Fl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"y2Fz0dkI4v8\",\n          \"topLevelComment\": {\n            \"id\": \"UgxO7ommDo3cl1Cz5Fl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"https://www.youtube.com/watch?v=y2Fz0dkI4v8&amp;t=13m00s\\\">13:00</a> you forgot to add &#39;please&#39; here too\",\n              \"textOriginal\": \"13:00 you forgot to add 'please' here too\",\n              \"authorDisplayName\": \"Pritam Saini\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQA2sM4JxlluE2RqIHRmyP7DvYvyDKdebfUNHq-=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-16T11:27:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"rWv0zzEYB2w\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugy8jMEvbudhUgInfgh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rWv0zzEYB2w\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy8jMEvbudhUgInfgh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir make video react js in hindi please .\",\n              \"textOriginal\": \"sir make video react js in hindi please .\",\n              \"authorDisplayName\": \"ֆɪʟᴇɴᴛܔᏴᴏʏ♡.\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/7i3YeVNcRRnwy3rVzpn2XYDypA7cfzdO8F8yTnfRQtJiPKZ8g4v8olxZlcpOvWLIGuQ60uQoVA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-07T12:59:36Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxm3O7uabFe7ff9ngZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rWv0zzEYB2w\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxm3O7uabFe7ff9ngZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Loved it sir\",\n              \"textOriginal\": \"Loved it sir\",\n              \"authorDisplayName\": \"Krishna Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS7YT77QQCGCTiqcvmTsCnvClLXDfoZylYLGcHjEw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-07T12:55:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxEltekdPYn_NB-chl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rWv0zzEYB2w\",\n          \"topLevelComment\": {\n            \"id\": \"UgxEltekdPYn_NB-chl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"appwrite is so easy to integrate with anything\",\n              \"textOriginal\": \"appwrite is so easy to integrate with anything\",\n              \"authorDisplayName\": \"hentra kstro\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQi_mfmi-Mg7chsOcsF3Y9Twx16lxo8iwzw4Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-07T12:50:14Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwQwk1oo18o9B6QB0h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rWv0zzEYB2w\",\n          \"topLevelComment\": {\n            \"id\": \"UgwQwk1oo18o9B6QB0h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"wow, new video on react native ❤\",\n              \"textOriginal\": \"wow, new video on react native ❤\",\n              \"authorDisplayName\": \"OutSpoken Millennials\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTmH0drz9-REQ7rZ1ChPtKrgUIqvD-4E_JKSWukBK00igXV-K51hd30cAWqluB-=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-07T12:49:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx6E8QyjGaEYIYNe3h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rWv0zzEYB2w\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx6E8QyjGaEYIYNe3h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"well explained Sir, thanks for making this video 😍\",\n              \"textOriginal\": \"well explained Sir, thanks for making this video 😍\",\n              \"authorDisplayName\": \"Deepesh Gupta\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRou2o3uPOzorikAqDqCW7NFS9xQFDFJmSSfUb714c=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-06-07T12:49:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzM4TJ8WwsOd9GFIuN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rWv0zzEYB2w\",\n          \"topLevelComment\": {\n            \"id\": \"UgzM4TJ8WwsOd9GFIuN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"🙏\",\n              \"textOriginal\": \"🙏\",\n              \"authorDisplayName\": \"john jonathan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRd6cHGgWKFPpg37WZHmjiOfktKUYRNMIRDAb31LA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-07T12:26:09Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxBko4wXOi80oW-kS14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rWv0zzEYB2w\",\n          \"topLevelComment\": {\n            \"id\": \"UgxBko4wXOi80oW-kS14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"❤❤\",\n              \"textOriginal\": \"❤❤\",\n              \"authorDisplayName\": \"Akshay Borsaniya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQeJ02qJm0NPj0Pacvsiu2utqZPrHhukf2XAw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-07T12:16:12Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyLahEXgBwQNW3R-014AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rWv0zzEYB2w\",\n          \"topLevelComment\": {\n            \"id\": \"UgyLahEXgBwQNW3R-014AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Good day greetings\",\n              \"textOriginal\": \"Good day greetings\",\n              \"authorDisplayName\": \"Rishi Raj\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTTSELBkqZHa16Ra4q7EkD7TjnNt89PBJbFGmYI1uzMfb2AMH3TBHo4ZdUs7JV2=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-06-07T12:16:09Z\"\n            }\n          },\n          \"totalReplyCount\": 4\n        }\n      }\n    ]\n  },\n  \"_uZCOeWCK7g\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgzE42ih2OkqUqUZmRV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_uZCOeWCK7g\",\n          \"topLevelComment\": {\n            \"id\": \"UgzE42ih2OkqUqUZmRV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Spends 2 min talking about why it&#39;s not on Apple&#39;s indian website - it&#39;s not on any country&#39;s website besides from the U.S., reason being that it&#39;s only going to be for sale in the U.S.................\",\n              \"textOriginal\": \"Spends 2 min talking about why it's not on Apple's indian website - it's not on any country's website besides from the U.S., reason being that it's only going to be for sale in the U.S.................\",\n              \"authorDisplayName\": \"Kim Neeper Rasmussen\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQGAzJTZahHYqQtyctE6wld6yNibyWMf62vKg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-17T14:09:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw2dp27y6Fkedecu514AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_uZCOeWCK7g\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw2dp27y6Fkedecu514AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"That&#39;s a very interesting raw video , Quirky industries quite good way to express the raw facts 😂😂🔥 , Very Nice insights you share it&#39;s a nice informative videos Thanks Hitesh Sir We really Liked all your videos and these raw videos where you share your thoughts 🙌🔥 Thanks ❤️✨ , would like to have a video related to how we can benefit and Build application on this new apple playstore.\",\n              \"textOriginal\": \"That's a very interesting raw video , Quirky industries quite good way to express the raw facts 😂😂🔥 , Very Nice insights you share it's a nice informative videos Thanks Hitesh Sir We really Liked all your videos and these raw videos where you share your thoughts 🙌🔥 Thanks ❤️✨ , would like to have a video related to how we can benefit and Build application on this new apple playstore.\",\n              \"authorDisplayName\": \"Vishesh Gupta\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTXiSgDlz72CrgvSlk6x8zX1soO-WeR6nSy35nDnA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-15T03:39:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyM28AQqZvNwrgCFst4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_uZCOeWCK7g\",\n          \"topLevelComment\": {\n            \"id\": \"UgyM28AQqZvNwrgCFst4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"It’s not mentioned on the UK Apple site either. It’s because it’s only releasing in the US initially. Then as your country gets a release date they will update the regional site. Also I heard that the yields they get of usable headsets is quite low hence the high price to cover losses. As yields get better the price will come down.\",\n              \"textOriginal\": \"It’s not mentioned on the UK Apple site either. It’s because it’s only releasing in the US initially. Then as your country gets a release date they will update the regional site. Also I heard that the yields they get of usable headsets is quite low hence the high price to cover losses. As yields get better the price will come down.\",\n              \"authorDisplayName\": \"mawhiuk\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTKmYh9mZDoROTOQKCfQyHPOgLJ1Q90iAnpTw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-11T08:29:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz0NtF7T4SrP_POdrF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_uZCOeWCK7g\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz0NtF7T4SrP_POdrF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"THE POINT of not showing the vision pro on the Indian or all other countries websites is that the vision pro will only be available to buy in the US in 2024 - and not globally.<br><br>Makes perfect sense to not promote a product to countries that can’t buy it until probably 2025!\",\n              \"textOriginal\": \"THE POINT of not showing the vision pro on the Indian or all other countries websites is that the vision pro will only be available to buy in the US in 2024 - and not globally.\\n\\nMakes perfect sense to not promote a product to countries that can’t buy it until probably 2025!\",\n              \"authorDisplayName\": \"MR THINQ\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Lv7l2aPj7r8V32hG-C_ulG5v52Cn_Nym7Rv-lwFTBT_cWu36iBnbQIROjas8rh5CQQHTcI1cJw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-10T05:11:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx5IlTU7LVFdLF64Ox4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_uZCOeWCK7g\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx5IlTU7LVFdLF64Ox4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I think because apps experience will be built on unity it is not exclusive to apple the experience Or apps can easily be published on other vr platforms of course apple will do something that prevent it.<br> Just create content for vr and publish it everywhere if you r a developer that will make the competition spicy🌶. <br>I feel like apple may buy unity fully in the future or similar other company. And unreal is out of question for apple right now.\",\n              \"textOriginal\": \"I think because apps experience will be built on unity it is not exclusive to apple the experience Or apps can easily be published on other vr platforms of course apple will do something that prevent it.\\n Just create content for vr and publish it everywhere if you r a developer that will make the competition spicy🌶. \\nI feel like apple may buy unity fully in the future or similar other company. And unreal is out of question for apple right now.\",\n              \"authorDisplayName\": \"Samuel Marndi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTU66j-BpLh6emkINoQsz8MTpdHLS-9OeTSJ11BJA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-09T16:49:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw_23mwpIVgXF9D7Sh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_uZCOeWCK7g\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw_23mwpIVgXF9D7Sh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"What do u think about hololens and mesh?\",\n              \"textOriginal\": \"What do u think about hololens and mesh?\",\n              \"authorDisplayName\": \"Samuel Marndi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTU66j-BpLh6emkINoQsz8MTpdHLS-9OeTSJ11BJA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-09T16:40:43Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw1rjQi6Su3gMJHIxl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_uZCOeWCK7g\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw1rjQi6Su3gMJHIxl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Raw, but interesting as always.\",\n              \"textOriginal\": \"Raw, but interesting as always.\",\n              \"authorDisplayName\": \"Aman Ghanghoriya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT0uuNafDxjCorGGr50FpvHNsECYBc1Lmd8EGIFF2s4NrHDoeJXg8se3SYEjsrJ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-09T15:26:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzTZE0KtcUDT4sCB194AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_uZCOeWCK7g\",\n          \"topLevelComment\": {\n            \"id\": \"UgzTZE0KtcUDT4sCB194AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"It will be only available in the US for now that&#39;s why they didn&#39;t put it in the India website\",\n              \"textOriginal\": \"It will be only available in the US for now that's why they didn't put it in the India website\",\n              \"authorDisplayName\": \"Sachin Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTKQVq9wCi7teeAIy2uzHVdcPkweLN-isLGxWuFcg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-09T12:10:46Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"cv-6bAeYsOY\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugy7jJj0-yhsx8HHMFd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"cv-6bAeYsOY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy7jJj0-yhsx8HHMFd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Here is a sample snippet that I saved and everyone can use:<br><a href=\\\"https://hitesh.pieces.cloud/?p=3fcb449271\\\">https://hitesh.pieces.cloud/?p=3fcb449271</a><br>Try out, it&#39;s free and fun. 😁\",\n              \"textOriginal\": \"Here is a sample snippet that I saved and everyone can use:\\nhttps://hitesh.pieces.cloud/?p=3fcb449271\\nTry out, it's free and fun. 😁\",\n              \"authorDisplayName\": \"Hitesh Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 7,\n              \"publishedAt\": \"2023-06-05T13:40:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzPqnl9cLUYCapS2B94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"cv-6bAeYsOY\",\n          \"topLevelComment\": {\n            \"id\": \"UgzPqnl9cLUYCapS2B94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"The privacy is bothering me. It needs to manage other apps directly\",\n              \"textOriginal\": \"The privacy is bothering me. It needs to manage other apps directly\",\n              \"authorDisplayName\": \"Souvik\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRFW6MuJ_9ZuK2M8onhOkhB_4rJal27w0oeqj5MulMQdaBeMeyxYEREyKWrU8zO=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-18T08:12:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxiJ5aavyaL8aliC4Z4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"cv-6bAeYsOY\",\n          \"topLevelComment\": {\n            \"id\": \"UgxiJ5aavyaL8aliC4Z4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Bro try usiing codepen and you will see pieces break the codepen text editor section 😢😢\",\n              \"textOriginal\": \"Bro try usiing codepen and you will see pieces break the codepen text editor section 😢😢\",\n              \"authorDisplayName\": \"SinniS _\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/uCg_8znbQm013IRtjuhh_j3dGuZLfCaA5UAGc3S0rAqFexMX6Cuu3lUMq7GuUE0tv5wQl-K29Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-16T15:40:52Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxm1dkMJkpXZw303EZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"cv-6bAeYsOY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxm1dkMJkpXZw303EZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Love from Pakistan\",\n              \"textOriginal\": \"Love from Pakistan\",\n              \"authorDisplayName\": \"Zeeshan Mukhtar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRYCUMTNcfnyi7yZ-CEuLduLHalFVgKHYQaLeCX9A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-08T15:52:50Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwG5ZXUE5ha7F1LH9t4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"cv-6bAeYsOY\",\n          \"topLevelComment\": {\n            \"id\": \"UgwG5ZXUE5ha7F1LH9t4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you for the nice video, sir. How did you capture the screen shot? Can you tell me what tool you used?\",\n              \"textOriginal\": \"Thank you for the nice video, sir. How did you capture the screen shot? Can you tell me what tool you used?\",\n              \"authorDisplayName\": \"Md Monirul Islam\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRL1YDHzjBWX-Yfaqgad99MK3WjsX04uxzPOHbK=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-13T12:05:28Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyQtSikGpg6IJNtzZ14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"cv-6bAeYsOY\",\n          \"topLevelComment\": {\n            \"id\": \"UgyQtSikGpg6IJNtzZ14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I love this app, to be honest, it has changed my coding career in just one day, I can note the codes quickly, and other things. I have a suggestion. But I found a couple of problems there, first, its difficult to arrange the frame on the windows, I cannot arrange it, like maximizing. Second, wrapping text, I cannot wrap the text, it is put in a long line...\",\n              \"textOriginal\": \"I love this app, to be honest, it has changed my coding career in just one day, I can note the codes quickly, and other things. I have a suggestion. But I found a couple of problems there, first, its difficult to arrange the frame on the windows, I cannot arrange it, like maximizing. Second, wrapping text, I cannot wrap the text, it is put in a long line...\",\n              \"authorDisplayName\": \"Saboor Hamedi (Muhammad)\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/gA5mKTNGikMdBOSki5PWo3bZfy8h6k6243kxXcgiFs7jKQBPKL5-LAmc2jTEl9LN_c4XuU_6=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-06-12T05:49:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugye5hCxMMzr_9X91F94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"cv-6bAeYsOY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugye5hCxMMzr_9X91F94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I&#39;m curious why does Pieces require these permissions? <br>• Manage other apps directly\\r<br>• Gathers diagnostic information about other apps\",\n              \"textOriginal\": \"I'm curious why does Pieces require these permissions? \\n• Manage other apps directly\\r\\n• Gathers diagnostic information about other apps\",\n              \"authorDisplayName\": \"Imtiaz Hussain\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQqqur1SJ8YJPiE6SDWIyaK6GU5Q1mAAe9MIeWc=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-11T15:11:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"zlojM-Jbux4\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugzl19oxxWQPllwQYSJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zlojM-Jbux4\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzl19oxxWQPllwQYSJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"what&#39;s the right way to switch from an anonymous session to an email session in appwrite, i tried it by account.deleteSession(&#39;current&#39;) and then account.createEmailSession() but the listener only executes getUserData function after session deletion, not after session creation\",\n              \"textOriginal\": \"what's the right way to switch from an anonymous session to an email session in appwrite, i tried it by account.deleteSession('current') and then account.createEmailSession() but the listener only executes getUserData function after session deletion, not after session creation\",\n              \"authorDisplayName\": \"Abdulkerim Awad\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/UFF_wx3z1HArIV_u_snI3M0MVqSxcaoZlrzLdscCJVsTLaoiZB_0z84LvSJKC0JQVfeVSrrpiQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-02T10:59:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyEJHMwnQmszu7pHbd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zlojM-Jbux4\",\n          \"topLevelComment\": {\n            \"id\": \"UgyEJHMwnQmszu7pHbd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Getting error : [AppwriteException: User (role: guests) missing scope (account)]<br>Please suggest solution\",\n              \"textOriginal\": \"Getting error : [AppwriteException: User (role: guests) missing scope (account)]\\nPlease suggest solution\",\n              \"authorDisplayName\": \"Ashish Khedar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQRFj--AZ8D_NMwsWviS26DsdotsWm0YgeC64o8Qg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-10T10:35:23Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwhgpDSvk8qe_p5DZx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zlojM-Jbux4\",\n          \"topLevelComment\": {\n            \"id\": \"UgwhgpDSvk8qe_p5DZx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Please do more of appwrite videos. I enjoy the web apps projects\",\n              \"textOriginal\": \"Please do more of appwrite videos. I enjoy the web apps projects\",\n              \"authorDisplayName\": \"Bernard Yamoah\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQx2wT6DCQZSyAVG0Q2s-rrdPVc415ELXl1vLKdxvs=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-30T22:24:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyCIK68fPQZtG9jWBZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zlojM-Jbux4\",\n          \"topLevelComment\": {\n            \"id\": \"UgyCIK68fPQZtG9jWBZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi, thanks for this tutorial!. <br>Quick question, does appwrite still support an attribute type of reference? I can see it in the documentation, but can not find it as part of the drop down options.\",\n              \"textOriginal\": \"Hi, thanks for this tutorial!. \\nQuick question, does appwrite still support an attribute type of reference? I can see it in the documentation, but can not find it as part of the drop down options.\",\n              \"authorDisplayName\": \"Headquarters\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Z3Jmsj3z2laVcwRjLwNRSG15AE8tExvD_sHb1TLkyGKR0y5xX4dHD2RJTCexwhvQutVGGKL03Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-27T15:58:25Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx6IB4ybPUVsLsjek14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zlojM-Jbux4\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx6IB4ybPUVsLsjek14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir please share your coding journey from  your 18teens  to till now,  how you  work hard, what you do when code dont work, how much Decipline you maintain throughout this journey who motivates you  how you become so successful programmer as well as good teacher and mentor in short please share your short autobiography. Because this was really boost us and  give a powerful motivation in our learnings <a href=\\\"http://www.youtube.com/results?search_query=%23hitesh_sir\\\">#hitesh_sir</a>\",\n              \"textOriginal\": \"Sir please share your coding journey from  your 18teens  to till now,  how you  work hard, what you do when code dont work, how much Decipline you maintain throughout this journey who motivates you  how you become so successful programmer as well as good teacher and mentor in short please share your short autobiography. Because this was really boost us and  give a powerful motivation in our learnings #hitesh_sir\",\n              \"authorDisplayName\": \"akshay\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/uk2WeImnpu70uzmbRR-IGlAEWz-a-rInceuOLy5nWFPtaU7MbNhlBUWxRoFD_QvLsTT58gZTFes=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-24T19:06:21Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugyj52qa0B6WI7nXYut4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zlojM-Jbux4\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyj52qa0B6WI7nXYut4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"After v0.63 we don&#39;t need manually linking the modules. Just for iOS you would need to run pod install inside iOS folder.\",\n              \"textOriginal\": \"After v0.63 we don't need manually linking the modules. Just for iOS you would need to run pod install inside iOS folder.\",\n              \"authorDisplayName\": \"Arshie\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSi3UFECVLPZipI97ViYs8EPWK9769oLYgzQJKFCg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-24T17:04:31Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxCoHHvpM_8sV58_Zp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zlojM-Jbux4\",\n          \"topLevelComment\": {\n            \"id\": \"UgxCoHHvpM_8sV58_Zp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Appwriter dead 😢\",\n              \"textOriginal\": \"Appwriter dead 😢\",\n              \"authorDisplayName\": \"sai karaka\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQmJCtBnFF04lKH9jFVheOOZ24hAeN-CNnTeiBDdg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-23T13:11:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyUVuf5rYEW-2s5uhF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zlojM-Jbux4\",\n          \"topLevelComment\": {\n            \"id\": \"UgyUVuf5rYEW-2s5uhF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"great!!!!\",\n              \"textOriginal\": \"great!!!!\",\n              \"authorDisplayName\": \"Abdullah\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS7Vay8GiBtR_3HS44TTmfm575Bwhc1ciUpv11j5IfRV_Naa38bKGA5rHaHPR6y=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-23T02:43:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgziEmtH6rOu-aAoUmd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zlojM-Jbux4\",\n          \"topLevelComment\": {\n            \"id\": \"UgziEmtH6rOu-aAoUmd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Finally! Was tired of seeing react this react that everyday. Appwrite is outstanding.\",\n              \"textOriginal\": \"Finally! Was tired of seeing react this react that everyday. Appwrite is outstanding.\",\n              \"authorDisplayName\": \"Simmons\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/bEv6CCtFeXKQLW5HVzS7XNX5elxjjEXccSo2i1vV5P_th4ChwXE1oXrbfx-PaaNhvBUGEOTdGA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-22T19:16:29Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxhxgFo-QArnM-tu6N4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zlojM-Jbux4\",\n          \"topLevelComment\": {\n            \"id\": \"UgxhxgFo-QArnM-tu6N4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This is great Hitesh...I learnt something new today... more power to you.\",\n              \"textOriginal\": \"This is great Hitesh...I learnt something new today... more power to you.\",\n              \"authorDisplayName\": \"Ruptapas\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRyUHmwQA6p6VziNz7gxHigmnC84B09-vXF7sNSeA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-22T17:20:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyvODRDh7p4kTZApkN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zlojM-Jbux4\",\n          \"topLevelComment\": {\n            \"id\": \"UgyvODRDh7p4kTZApkN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"will the get method work for oauth too?<br>Is it same for login with oauth, just we have to make some more function to handle each?\",\n              \"textOriginal\": \"will the get method work for oauth too?\\nIs it same for login with oauth, just we have to make some more function to handle each?\",\n              \"authorDisplayName\": \"Niraj Modi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/tmT_XR1sIiZDhboLmQbQvjGk0VKth6uByPLSXkvkW_inWiKErjkXYRgO1xyfmQ-oD_180KSbtA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-22T16:45:07Z\"\n            }\n          },\n          \"totalReplyCount\": 4\n        }\n      },\n      {\n        \"id\": \"Ugwc4cTvUgCstZGyUcV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zlojM-Jbux4\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwc4cTvUgCstZGyUcV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Wow, this is a fantastic tutorial! Thank you for providing a comprehensive walkthrough on AppWrite authentication. Your step-by-step explanations and clear demonstrations made it so much easier for me to understand the process. I feel confident now to implement AppWrite authentication in my own projects. Keep up the amazing work, and I can&#39;t wait to see more insightful content like this in the future!\",\n              \"textOriginal\": \"Wow, this is a fantastic tutorial! Thank you for providing a comprehensive walkthrough on AppWrite authentication. Your step-by-step explanations and clear demonstrations made it so much easier for me to understand the process. I feel confident now to implement AppWrite authentication in my own projects. Keep up the amazing work, and I can't wait to see more insightful content like this in the future!\",\n              \"authorDisplayName\": \"Rajat sharma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQWLuPuOjl8zly3OVZefcAyDNxfLQZz8I0zzlEQEg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-05-22T16:20:41Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      }\n    ]\n  },\n  \"VeSUgWHbphk\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyI2sQe_5xnT7s6XZh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VeSUgWHbphk\",\n          \"topLevelComment\": {\n            \"id\": \"UgyI2sQe_5xnT7s6XZh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Ok naaa\",\n              \"textOriginal\": \"Ok naaa\",\n              \"authorDisplayName\": \"Feeba P\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/kziN2tX9NVddeJHT8EZZqR-nOyWRTQm28LcxSgN0TnjQjO0BLKGpXqnid_rYlaNxQzh8kJ3ATw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-27T17:31:46Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy7xbQOUt-J70ZdE1d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VeSUgWHbphk\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy7xbQOUt-J70ZdE1d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Stop ur chanal\",\n              \"textOriginal\": \"Stop ur chanal\",\n              \"authorDisplayName\": \"Feeba P\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/kziN2tX9NVddeJHT8EZZqR-nOyWRTQm28LcxSgN0TnjQjO0BLKGpXqnid_rYlaNxQzh8kJ3ATw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-27T17:31:38Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxVZOsb4PeuP7yWwf14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VeSUgWHbphk\",\n          \"topLevelComment\": {\n            \"id\": \"UgxVZOsb4PeuP7yWwf14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Please bhaiya if u have time ,then try to make video on react animation and database\",\n              \"textOriginal\": \"Please bhaiya if u have time ,then try to make video on react animation and database\",\n              \"authorDisplayName\": \"Jayprakash Jaiswal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/G2MNAioOBrMSTSgvKQU4-YKXuLF-TJ8q_o-D3XfsLVFybLZdtC3Zv2DVhYpZ3nPi3UcRTZwYQPM=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-25T18:52:56Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw-9iNVW3-PDTcRdqZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VeSUgWHbphk\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw-9iNVW3-PDTcRdqZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir please share your coding journey from  your 18teens  to till now,  how you  work hard, what you do when code dont work, how much Decipline you maintain throughout this journey who motivates you  how you become so successful programmer as well as good teacher and mentor in short please share your short autobiography. Because this was really boost us and  give a powerful motivation in our learnings <a href=\\\"http://www.youtube.com/results?search_query=%23hitesh_sir\\\">#hitesh_sir</a>\",\n              \"textOriginal\": \"Sir please share your coding journey from  your 18teens  to till now,  how you  work hard, what you do when code dont work, how much Decipline you maintain throughout this journey who motivates you  how you become so successful programmer as well as good teacher and mentor in short please share your short autobiography. Because this was really boost us and  give a powerful motivation in our learnings #hitesh_sir\",\n              \"authorDisplayName\": \"akshay\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/uk2WeImnpu70uzmbRR-IGlAEWz-a-rInceuOLy5nWFPtaU7MbNhlBUWxRoFD_QvLsTT58gZTFes=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-24T19:06:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxIGpydd7L7q6GahCB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VeSUgWHbphk\",\n          \"topLevelComment\": {\n            \"id\": \"UgxIGpydd7L7q6GahCB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hii sir you are missing the functionality of reset password. What about if someone not remember the password 🔑.\",\n              \"textOriginal\": \"Hii sir you are missing the functionality of reset password. What about if someone not remember the password 🔑.\",\n              \"authorDisplayName\": \"Mandeep Singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRkhMG90GW-ePWrHSWq3fA1kF3PSUqytSEgo23V9w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-23T08:50:55Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxeyXCUkvu-2wMMFIR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VeSUgWHbphk\",\n          \"topLevelComment\": {\n            \"id\": \"UgxeyXCUkvu-2wMMFIR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"👍\",\n              \"textOriginal\": \"👍\",\n              \"authorDisplayName\": \"Aman saxena\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSojEuwoQ5jq27i-3dhW0luy5SP8BR9dsTvBcxkfec=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-22T18:51:28Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxdSwO6QG27I3okF4p4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VeSUgWHbphk\",\n          \"topLevelComment\": {\n            \"id\": \"UgxdSwO6QG27I3okF4p4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks for free stuff. It&#39;s helps a lot.\",\n              \"textOriginal\": \"Thanks for free stuff. It's helps a lot.\",\n              \"authorDisplayName\": \"Somnath Golui\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRLLKZ4QTeJOBCY9H3T-6N9_tTYwHoR_mgmV4ANoA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-22T12:47:56Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxk-9ZtxfbUQDQefex4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VeSUgWHbphk\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxk-9ZtxfbUQDQefex4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Best❤\",\n              \"textOriginal\": \"Best❤\",\n              \"authorDisplayName\": \"akshay gurjar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSwqTNLARGEUWcCChYEl48MnX-kwi42zEGRr31Y3A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-22T12:19:52Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyT7OcVfPOd8DJBfyB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VeSUgWHbphk\",\n          \"topLevelComment\": {\n            \"id\": \"UgyT7OcVfPOd8DJBfyB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"For some serious project or startup , should I use Baas such as Appwrite, Supabase or custom backend on Node PostgreSQL?\",\n              \"textOriginal\": \"For some serious project or startup , should I use Baas such as Appwrite, Supabase or custom backend on Node PostgreSQL?\",\n              \"authorDisplayName\": \"Rahul Agarwal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQvoIF6Y6SE2gjL3rAVp-wgpfMeBAA4gMq4WEYYWA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-22T11:13:25Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzqT5rdWrRfJ2wVQEh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VeSUgWHbphk\",\n          \"topLevelComment\": {\n            \"id\": \"UgzqT5rdWrRfJ2wVQEh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hitesh Sir your React Native CLI Series is amazing. Hats off to you for providing such quality content on youtube.\",\n              \"textOriginal\": \"Hitesh Sir your React Native CLI Series is amazing. Hats off to you for providing such quality content on youtube.\",\n              \"authorDisplayName\": \"jain vinay\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQd6xJBaS-LgzCVdTyRmpMcxEo8QE8oKm8YbeCZYY0=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-22T10:00:55Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzbypVF2fct27lU2Bx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VeSUgWHbphk\",\n          \"topLevelComment\": {\n            \"id\": \"UgzbypVF2fct27lU2Bx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"so easy with appwrite. I will definitely going to implement it.\",\n              \"textOriginal\": \"so easy with appwrite. I will definitely going to implement it.\",\n              \"authorDisplayName\": \"OutSpoken Millennials\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTmH0drz9-REQ7rZ1ChPtKrgUIqvD-4E_JKSWukBK00igXV-K51hd30cAWqluB-=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-22T09:55:14Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxt5FdsEDalg66IcZV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VeSUgWHbphk\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxt5FdsEDalg66IcZV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"best video ever on authentication\",\n              \"textOriginal\": \"best video ever on authentication\",\n              \"authorDisplayName\": \"hentra kstro\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQi_mfmi-Mg7chsOcsF3Y9Twx16lxo8iwzw4Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-22T09:54:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"BCQwMXZ4Cy8\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugx01MH1p-csqoOQo7J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BCQwMXZ4Cy8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx01MH1p-csqoOQo7J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I strongly feel Zed is going to replace my code editor in large part. And the best part is it&#39;ll have the best support for Rust, which is the language I sue. :)\",\n              \"textOriginal\": \"I strongly feel Zed is going to replace my code editor in large part. And the best part is it'll have the best support for Rust, which is the language I sue. :)\",\n              \"authorDisplayName\": \"Aqua\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRaIhM5uJqBDmJLwXmcK6BpdZsjxdNpQmABRgvL0A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-15T17:23:44Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwhosfJKlPKZHGt7Q14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BCQwMXZ4Cy8\",\n          \"topLevelComment\": {\n            \"id\": \"UgwhosfJKlPKZHGt7Q14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Well the whole rust project is in shambles. Zedd dosen&#39;t seemed any different from VSCode.\",\n              \"textOriginal\": \"Well the whole rust project is in shambles. Zedd dosen't seemed any different from VSCode.\",\n              \"authorDisplayName\": \"Alan Bosco\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSO-edxaERSPfShgThO_cj08JEnk07dt-FkEYHNvQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-09T17:57:57Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwGYRRNNo8GwUO4gZV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BCQwMXZ4Cy8\",\n          \"topLevelComment\": {\n            \"id\": \"UgwGYRRNNo8GwUO4gZV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I am no VSCode fan but it is the most versatile editor available. With no intellisense and plugins, Zed doesn&#39;t look nearly as appealing at the moment\",\n              \"textOriginal\": \"I am no VSCode fan but it is the most versatile editor available. With no intellisense and plugins, Zed doesn't look nearly as appealing at the moment\",\n              \"authorDisplayName\": \"Shekher Mudgal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSVbvsGkZhLJDbVH0Ex0vMUA4lFfadpKQPNSIBWfg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-09T06:56:08Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw3CVcLH1PF9yk-XgN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BCQwMXZ4Cy8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw3CVcLH1PF9yk-XgN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Try all ide finally ur heart says only vs code i bet amd you will be end up in vscode only\",\n              \"textOriginal\": \"Try all ide finally ur heart says only vs code i bet amd you will be end up in vscode only\",\n              \"authorDisplayName\": \"pain tech\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/0S9uHUU8q3qNq9oxvp3GKOKtO3EFyW89sJgrHiJhg7XADSw3BmZ0GlgcBz5hkWi_S4qwSUZoDQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-08T13:08:18Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx1F3jwODB-MPXx03d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BCQwMXZ4Cy8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx1F3jwODB-MPXx03d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Vim forever!!!\",\n              \"textOriginal\": \"Vim forever!!!\",\n              \"authorDisplayName\": \"anurag3301\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/8-CSdMZSL0uO0hAiVYDxHmpXVpd9Vd2nZ50AhzfzNT6W0mrkGwUdr53JJL3CetW3k7AuIJcUqg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-06-08T06:28:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzsdGirrNbQGXMFyVF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BCQwMXZ4Cy8\",\n          \"topLevelComment\": {\n            \"id\": \"UgzsdGirrNbQGXMFyVF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Zed is not open source.\",\n              \"textOriginal\": \"Zed is not open source.\",\n              \"authorDisplayName\": \"john wick\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQnGP6OcMVC7wIJ4QK90TCFlON2LWVWYcwIiLQ2IYtexDYZxNeq7i6jkRDPjOeG=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-07T11:36:11Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwzbeOttxgZUiginWh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BCQwMXZ4Cy8\",\n          \"topLevelComment\": {\n            \"id\": \"UgwzbeOttxgZUiginWh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I didn&#39;t find any comparison between vs code. stop promoting...\",\n              \"textOriginal\": \"I didn't find any comparison between vs code. stop promoting...\",\n              \"authorDisplayName\": \"Surendra Tarai\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTAyrFXOnJMTTW7nFrqLUCyD0TSuEWM7wCt9VHLmg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-05T07:01:10Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugykv5vq_ays_wwIw1V4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BCQwMXZ4Cy8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugykv5vq_ays_wwIw1V4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"https://www.youtube.com/watch?v=1ZfO149BJvg\\\">https://www.youtube.com/watch?v=1ZfO149BJvg</a>\",\n              \"textOriginal\": \"https://www.youtube.com/watch?v=1ZfO149BJvg\",\n              \"authorDisplayName\": \"GMS -DE-\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ_bpcuh_unaBiLNG0qWSA19M4oizlMutqkFbAY=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-05T06:24:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyIjpTFpafvWp5VEtR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BCQwMXZ4Cy8\",\n          \"topLevelComment\": {\n            \"id\": \"UgyIjpTFpafvWp5VEtR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"lmao what? no code suggestions? every heard of nvim-cmp?\",\n              \"textOriginal\": \"lmao what? no code suggestions? every heard of nvim-cmp?\",\n              \"authorDisplayName\": \"Khoderant\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Yuf9uUigQpp_p4jtEpuQVubKERNKwS1au7lqarSd7nqy8kxjLdG-P9swf_NGVHI5KOz9_ot25Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-04T11:23:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzYStPKH-rZPFnCy9h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BCQwMXZ4Cy8\",\n          \"topLevelComment\": {\n            \"id\": \"UgzYStPKH-rZPFnCy9h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I dont like it , he is like an ide from 2012\",\n              \"textOriginal\": \"I dont like it , he is like an ide from 2012\",\n              \"authorDisplayName\": \"Khamzat Eedira\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQNzprLrFLJmMLefVt_xClXDDoviNSv9GqExhlYr1f-I6l1APq7-P1v5H0BrQf8=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-04T00:35:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzrrJCFsFk4_r2-K_N4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BCQwMXZ4Cy8\",\n          \"topLevelComment\": {\n            \"id\": \"UgzrrJCFsFk4_r2-K_N4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Vim/Neovim FTW\",\n              \"textOriginal\": \"Vim/Neovim FTW\",\n              \"authorDisplayName\": \"mohit kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTBBM0N4vm1D5J6Tpx5Ny5xekvKgYtMoCbgzAP5VA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-03T23:51:46Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"zLdcmJDIXt8\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugw3gbI5HEhttEntPAt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zLdcmJDIXt8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw3gbI5HEhttEntPAt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"71,270 users 🎉\",\n              \"textOriginal\": \"71,270 users 🎉\",\n              \"authorDisplayName\": \"bidyasagar mohapatra\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaStXv5gUJDzmBbTdRS-ivltvc4BjpJlDCukJS_d_g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-19T20:13:38Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyZ_k-QhRBcxpv11zd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zLdcmJDIXt8\",\n          \"topLevelComment\": {\n            \"id\": \"UgyZ_k-QhRBcxpv11zd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you for the video Hitesh, love seeing people exploring newly released features! We&#39;ve just added support for Collections and Environment in the extension, if you wanted to give it another look. 👀\",\n              \"textOriginal\": \"Thank you for the video Hitesh, love seeing people exploring newly released features! We've just added support for Collections and Environment in the extension, if you wanted to give it another look. 👀\",\n              \"authorDisplayName\": \"Postman\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/X-rhKMndFm9hT9wIaJns1StBfGbFdLTkAROwm4UZ3n9ucrBky5CFIeeZhSszFXBgQjItzCD0SA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 3,\n              \"publishedAt\": \"2023-07-19T14:00:41Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxYIukxvpRNIhWvKUl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zLdcmJDIXt8\",\n          \"topLevelComment\": {\n            \"id\": \"UgxYIukxvpRNIhWvKUl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"On this day of 6/30/2023 there are now 56,270 ppl using postman in VS code.😃\",\n              \"textOriginal\": \"On this day of 6/30/2023 there are now 56,270 ppl using postman in VS code.😃\",\n              \"authorDisplayName\": \"Darin Askew\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRBwXhQLJNgWmXBqUeXMxPjhndiyMvqLXB0eQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-30T14:38:48Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw_5RGXWxwzljAWms94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zLdcmJDIXt8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw_5RGXWxwzljAWms94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"52301 downloads now\",\n              \"textOriginal\": \"52301 downloads now\",\n              \"authorDisplayName\": \"Yatin Patel\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTKAJZQRdVoxXuLYPlBRx0hQgeF8NUTceUfUw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-27T04:16:13Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxsLEayAfp3KcYgGjp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zLdcmJDIXt8\",\n          \"topLevelComment\": {\n            \"id\": \"UgxsLEayAfp3KcYgGjp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"27,849\",\n              \"textOriginal\": \"27,849\",\n              \"authorDisplayName\": \"Reju Raj\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/lardl0vbcUrh_NrwIbTjIG-H0xB2flNqkWUCmBaDvKwOLAimOupRwDNUHsU44TUGNjqyAoxo=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-29T12:11:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwDJ7vxdjqcLVpipxx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zLdcmJDIXt8\",\n          \"topLevelComment\": {\n            \"id\": \"UgwDJ7vxdjqcLVpipxx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir please share your coding journey from  your 18teens  to till now,  how you  work hard, what you do when code dont work, how much Decipline you maintain throughout this journey who motivates you  how you become so successful programmer as well as good teacher and mentor in short please share your short autobiography. Because this was really boost us and  give a powerful motivation in our learnings <a href=\\\"http://www.youtube.com/results?search_query=%23hitesh_sir\\\">#hitesh_sir</a>\",\n              \"textOriginal\": \"Sir please share your coding journey from  your 18teens  to till now,  how you  work hard, what you do when code dont work, how much Decipline you maintain throughout this journey who motivates you  how you become so successful programmer as well as good teacher and mentor in short please share your short autobiography. Because this was really boost us and  give a powerful motivation in our learnings #hitesh_sir\",\n              \"authorDisplayName\": \"akshay\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/uk2WeImnpu70uzmbRR-IGlAEWz-a-rInceuOLy5nWFPtaU7MbNhlBUWxRoFD_QvLsTT58gZTFes=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-05-24T19:08:11Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz1OYt9rOrRhIedvPV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zLdcmJDIXt8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz1OYt9rOrRhIedvPV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"18,490 downloads at 11:24 am EST, 22 May\",\n              \"textOriginal\": \"18,490 downloads at 11:24 am EST, 22 May\",\n              \"authorDisplayName\": \"sahil9821\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSchS4BEMiJmWt7ondrr3cgCFpJZ2EPQwT6s3do=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-22T15:24:40Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"N5EbQyRUFYs\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugzv-SJAZOtoaHp9ych4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzv-SJAZOtoaHp9ych4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"https://hitesh.ai/hackathon\\\">https://hitesh.ai/hackathon</a><br><a href=\\\"https://hitesh.ai/appwrite\\\">https://hitesh.ai/appwrite</a>\",\n              \"textOriginal\": \"https://hitesh.ai/hackathon\\nhttps://hitesh.ai/appwrite\",\n              \"authorDisplayName\": \"Hitesh Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 4,\n              \"publishedAt\": \"2023-05-16T11:03:46Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwiy9V_mBeWNyepS5B4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwiy9V_mBeWNyepS5B4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks Hitesh, I got motivated after watching this, learnt the tech and I finally won the hackathon as well !\",\n              \"textOriginal\": \"Thanks Hitesh, I got motivated after watching this, learnt the tech and I finally won the hackathon as well !\",\n              \"authorDisplayName\": \"Aryan Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/DlkzLZ76j0D-RygKpG91NXUYp34ZvGWYjVhX7z3euW3xTle06e42dobhMDEruVEkU3htCiAa1g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-12T06:07:11Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzR-wpdwS6ZZGD-rRx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgzR-wpdwS6ZZGD-rRx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Is this one a group participation or an individual one\",\n              \"textOriginal\": \"Is this one a group participation or an individual one\",\n              \"authorDisplayName\": \"Naveen G\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRpKjGv8i425R63jaNt7AANupGZ1rhpNZiw9Sf3fQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-18T00:51:16Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwofvNVc7PodWCuaAJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgwofvNVc7PodWCuaAJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Can me and my friend take part as a team ?\",\n              \"textOriginal\": \"Can me and my friend take part as a team ?\",\n              \"authorDisplayName\": \"D_15 _GITESH SARVAIYA\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR4Kx66XEcLtrWh3B1cb8oHjexup239HlCd-oxIIWs=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-17T21:23:46Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgydL-A6x3tMbd_Pe7t4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgydL-A6x3tMbd_Pe7t4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"there are age limit ! 13 to 17 years old \\r<br>is that true ?\",\n              \"textOriginal\": \"there are age limit ! 13 to 17 years old \\r\\nis that true ?\",\n              \"authorDisplayName\": \"Jahidul Hasan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQYzl5naD4TDK7zjO4dJ-3N6D5lQ9-UDvyW7T7lfyVYP8EC-SJh2fFDLlAZ9dB5=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-17T14:14:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxyixXy5mjeqvXGf9l4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgxyixXy5mjeqvXGf9l4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir, I am a front-end web developer but do not have too much experience,  but I really want to participate in this Hackathon. So should I register myself or not?\",\n              \"textOriginal\": \"Sir, I am a front-end web developer but do not have too much experience,  but I really want to participate in this Hackathon. So should I register myself or not?\",\n              \"authorDisplayName\": \"Uneeb Bhatti\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTzVmWcZcWWGub_d4oHHuQSxbfrsIUy_NOEa-dx056UWOerZ7NWEXIk38DM5_nA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-17T05:09:20Z\"\n            }\n          },\n          \"totalReplyCount\": 3\n        }\n      },\n      {\n        \"id\": \"UgzNpM-cD-9v4hrUDmh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgzNpM-cD-9v4hrUDmh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you for the motiavtion to complete my own project I was looking for an opportunity like this and stumbled upon this video. Could you also share some resources where beginners like me could learn more techniques for creating projects that actually are worth something.\",\n              \"textOriginal\": \"Thank you for the motiavtion to complete my own project I was looking for an opportunity like this and stumbled upon this video. Could you also share some resources where beginners like me could learn more techniques for creating projects that actually are worth something.\",\n              \"authorDisplayName\": \"chaitanya arora\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQF2YUYgGD1NMG9ftgyB8nT07GNGv0-dWkxxh3nqPE=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-16T15:52:59Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxRihZYy9g3ZDjYf0p4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgxRihZYy9g3ZDjYf0p4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Niceeeee!!\",\n              \"textOriginal\": \"Niceeeee!!\",\n              \"authorDisplayName\": \"sumit kachare\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTRFSCseov8qAV6KIfcxgZc1Yk3wuvwoUoMPDGGgk4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T15:41:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyNSSYd_8FILT9TJi14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgyNSSYd_8FILT9TJi14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I have exams till 24th but after that I will try to build some good project. Thanks for the info HItesh\",\n              \"textOriginal\": \"I have exams till 24th but after that I will try to build some good project. Thanks for the info HItesh\",\n              \"authorDisplayName\": \"Jitx\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSSv3y9aSAiJRZH3ChlCioTHQMxCjO3D7WgPTXbqQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T13:54:49Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwJIOTm8DlllHK4NEd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgwJIOTm8DlllHK4NEd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Website is ok?\",\n              \"textOriginal\": \"Website is ok?\",\n              \"authorDisplayName\": \"Sanjay Balnad\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ4ssmBMNHGIUR9QRNp4EOoZqliRz2K8NK6dBw7og=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T13:36:50Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyxO2tJvcc0SIC2P_V4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgyxO2tJvcc0SIC2P_V4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"&quot;A $10,000 prize for the AppWrite hackathon? Count me in! Let&#39;s see some revolutionary apps and may the best one win!&quot;\",\n              \"textOriginal\": \"\\\"A $10,000 prize for the AppWrite hackathon? Count me in! Let's see some revolutionary apps and may the best one win!\\\"\",\n              \"authorDisplayName\": \"Kamala Puree\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRwQWk-NS1OkW-Ovqqve8zgJwC94QBeEclLArwiBLrmMAaNybv9pqXOMNm4kzjj=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T12:04:25Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyHeORzIy1INt337k14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgyHeORzIy1INt337k14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Killing 🔥 background music and awesome information 😎.\",\n              \"textOriginal\": \"Killing 🔥 background music and awesome information 😎.\",\n              \"authorDisplayName\": \"Sapta Thirta Choudhury\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRN6ko0JxwF9qhGBWd8g846ZasOL7UQw5xS2WXyoA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T12:00:18Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw75TvL9Ta7JvmVqe54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw75TvL9Ta7JvmVqe54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"another nice opportunity\",\n              \"textOriginal\": \"another nice opportunity\",\n              \"authorDisplayName\": \"Utkarsh Umre\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/yczC6zkPly9jzG7D0NNZ3Ztdr9OAMIzBV_jjLGEZCSZqZQIBysI5b_MldzBkZQjKd8q15CUBTg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T11:58:40Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzRXzmw6RlrKNt53al4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgzRXzmw6RlrKNt53al4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Super excited! 😍\",\n              \"textOriginal\": \"Super excited! 😍\",\n              \"authorDisplayName\": \"hentra kstro\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQi_mfmi-Mg7chsOcsF3Y9Twx16lxo8iwzw4Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T11:43:40Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxVGwMmaXhvjJI3zNx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgxVGwMmaXhvjJI3zNx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"is it for solo developer or a team can work on the project\",\n              \"textOriginal\": \"is it for solo developer or a team can work on the project\",\n              \"authorDisplayName\": \"SKYSPARKO\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSE8AN6rSRB7pyYEHaQtMWM9sYQtx6EbtXORBjHmg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T11:41:28Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugyo3NvOxmOSoNeyv254AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyo3NvOxmOSoNeyv254AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I&#39;m always looking for opportunities to test my skills and collaborate with other developers. Thanks Hitesh Sir\",\n              \"textOriginal\": \"I'm always looking for opportunities to test my skills and collaborate with other developers. Thanks Hitesh Sir\",\n              \"authorDisplayName\": \"OutSpoken Millennials\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTmH0drz9-REQ7rZ1ChPtKrgUIqvD-4E_JKSWukBK00igXV-K51hd30cAWqluB-=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T11:41:17Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugxoo-bgKmwBPFjOfqt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxoo-bgKmwBPFjOfqt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"already started preparation🤘🏻\",\n              \"textOriginal\": \"already started preparation🤘🏻\",\n              \"authorDisplayName\": \"Akshay\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS5n7w5ZqnKjUCVQ7vOAuEAawnwfyw3ufZFJqlPa9phM7amD9YaPR4QAL1vZTUw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T11:29:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzfbVqUd-m8PK5TJ814AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgzfbVqUd-m8PK5TJ814AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Submitting my project asap !!\",\n              \"textOriginal\": \"Submitting my project asap !!\",\n              \"authorDisplayName\": \"Naka moto\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSuKDyjMpDHcNPLfVnEPM_cL_etxXYmNs6-2T7o2w2B6YopnM8elMyWaejWL30J=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T11:27:42Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw6V6MWa2HDTLFYB0x4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw6V6MWa2HDTLFYB0x4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir I know html, vas and basic of javascript, so please tell can I participate in this hackathon.\",\n              \"textOriginal\": \"Sir I know html, vas and basic of javascript, so please tell can I participate in this hackathon.\",\n              \"authorDisplayName\": \"Alex goyal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/wFZA59dK9hafJ6F1SlSUHDeQWOChsNRwKkS41xmcLzoZaIav97AxQAPy1gk0R66ZU6Oz5rBh1g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-16T11:27:01Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxNR1_5ZpLvQK66ilF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgxNR1_5ZpLvQK66ilF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Always delivering for the community 🎉 Kudos to the team\",\n              \"textOriginal\": \"Always delivering for the community 🎉 Kudos to the team\",\n              \"authorDisplayName\": \"Upcoming coder\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSPvzmIYCjhWwpO4yoJBDzP9S8glhBZSF-LgLhyH1CxJmvuXQhpc1UzIryJkvbY=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-05-16T11:17:02Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgwQrq_ttAT-bG4y1rd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgwQrq_ttAT-bG4y1rd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Registered.\",\n              \"textOriginal\": \"Registered.\",\n              \"authorDisplayName\": \"Venkatesh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/EX1myCawchhxYY3tCOL_yeYKa1infWTQE3WBf1JHfWiQ56562N2m6EiHntBE8s7MpkWWBdAFxg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T11:17:00Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgwxSuYNN5Cr-mHxFwp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgwxSuYNN5Cr-mHxFwp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"So Exciting! Can&#39;t wait to participate and unleash creativity with their powerful platform.\",\n              \"textOriginal\": \"So Exciting! Can't wait to participate and unleash creativity with their powerful platform.\",\n              \"authorDisplayName\": \"Deepesh Gupta\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRou2o3uPOzorikAqDqCW7NFS9xQFDFJmSSfUb714c=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-16T11:16:59Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgwfrPHczL_q226Gr1d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgwfrPHczL_q226Gr1d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Such a great price of money, and amazing efforts for the programming community.\",\n              \"textOriginal\": \"Such a great price of money, and amazing efforts for the programming community.\",\n              \"authorDisplayName\": \"Deepender Singh Tanwar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT8-Ljts6b5SVLtgxtKRlZ6cWXUOkTE6Jo69BzmvemrN_TXybzRVAcAeI829rHW=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-16T11:16:48Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugy6_zcqYwsJp76QGC14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy6_zcqYwsJp76QGC14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I&#39;ve been enjoying your videos since long time. Learned a lot from you. Thanks for such awesome giveaways! Motivates the community! 👍🏼🤝🏻\",\n              \"textOriginal\": \"I've been enjoying your videos since long time. Learned a lot from you. Thanks for such awesome giveaways! Motivates the community! 👍🏼🤝🏻\",\n              \"authorDisplayName\": \"Karl Cooper\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQZmbDxmklXKSaz-fPDfeGA-00YN2qxvBwOpAAF0Z-Zgm9mPvVmAl2BkNE0LEtz=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T11:15:43Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgyTnLJk3cAif4kHIxp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgyTnLJk3cAif4kHIxp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Best for the coders❤\",\n              \"textOriginal\": \"Best for the coders❤\",\n              \"authorDisplayName\": \"akshay gurjar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSwqTNLARGEUWcCChYEl48MnX-kwi42zEGRr31Y3A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T11:14:56Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxfcJ90Zhmlg-b7xMJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgxfcJ90Zhmlg-b7xMJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Somethings cooking good with coding industry! Excited to participate! 👨‍💻\",\n              \"textOriginal\": \"Somethings cooking good with coding industry! Excited to participate! 👨‍💻\",\n              \"authorDisplayName\": \"Stuart Dillon\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQXQAHPlWOc8vcjMOzvoSSIB3hzVgViBqtb8E136VMK44bJvpjZ2TVOWycIVCJu=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T11:14:13Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzS76UFr5OtKv4Zp1d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgzS76UFr5OtKv4Zp1d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Will be exciting to see what other developers come up with. Great opportunity &amp; huge cash prize 💰 Count me in !!\",\n              \"textOriginal\": \"Will be exciting to see what other developers come up with. Great opportunity & huge cash prize 💰 Count me in !!\",\n              \"authorDisplayName\": \"Lavish\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTHEeIiTQsG6AalXzBzx6KErZeKy-dupNkXQb3K6UDlo1yY8r_kvrOuEdMvhpY3=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T11:13:59Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxeF6TqnGdLzeSV3CB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgxeF6TqnGdLzeSV3CB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"🎉🎉\",\n              \"textOriginal\": \"🎉🎉\",\n              \"authorDisplayName\": \"SuryaRajput\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ERGIvnYAaoq07_K0u9pMHzsFrkAbHYsRZ1v8suRuL-OmpLnr4KW5CjHMkycDOr8tYSp-SqIViw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T11:12:57Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwGvkLFafmWd3IMXQV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgwGvkLFafmWd3IMXQV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"That&#39;s cool\",\n              \"textOriginal\": \"That's cool\",\n              \"authorDisplayName\": \"Scripty Vijay\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSVFzBTz-U9w_dTdlUnM27ukzQU_sW9qIVpd-thHjc=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T11:12:21Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwBPbZeksDX5nmqqrx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgwBPbZeksDX5nmqqrx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Will love to participate.\",\n              \"textOriginal\": \"Will love to participate.\",\n              \"authorDisplayName\": \"Save Soil Save Generations\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/G1LQ47QpPcTUxoXKM_CdZPo690bUpx1gpl_GFb-V6aEXIJ-eYH9Ax6wfuzV6zlyvNgLX0YkAo_s=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T11:12:13Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugz-2yEMVmJGzbg8PdV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz-2yEMVmJGzbg8PdV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Excited to take part in this massive giveaway! Awaiting anxiously for the result! 🙌🏻🙌🏻🤓\",\n              \"textOriginal\": \"Excited to take part in this massive giveaway! Awaiting anxiously for the result! 🙌🏻🙌🏻🤓\",\n              \"authorDisplayName\": \"psyyhill\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/DGI4O-QrqxaHl3ldP9WR7sTpK6RDmz5lUE0hYvbDjUEyBh_hQ7WIPJnbDcy3ATJlfEQmKmqi=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T11:12:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzLfL3ZIodrnA-nCLJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgzLfL3ZIodrnA-nCLJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"wooow. Starting my project right now..\",\n              \"textOriginal\": \"wooow. Starting my project right now..\",\n              \"authorDisplayName\": \"Deepender singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR8YerYhSoIo8j0V7CZmcTOmFEXUXWWptlHC0Ry=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T11:11:31Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzmFwBKu0I-aJOWzvR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N5EbQyRUFYs\",\n          \"topLevelComment\": {\n            \"id\": \"UgzmFwBKu0I-aJOWzvR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Crazy folks altogether with crazy stash of money for programmers 🤑🤑💲💲💲\",\n              \"textOriginal\": \"Crazy folks altogether with crazy stash of money for programmers 🤑🤑💲💲💲\",\n              \"authorDisplayName\": \"Saksham Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/3iqn_3k1Df1CuBThXvMa_sGIdUq-WLPpMfOaERgPHhOcMocTE_WOI3vs2ZdQdH1siVDBZ_eapYM=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-16T11:10:08Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"uRqSJ8eqFII\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyyGk3SNoJ_rHEPTeZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"uRqSJ8eqFII\",\n          \"topLevelComment\": {\n            \"id\": \"UgyyGk3SNoJ_rHEPTeZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Exactly ...\",\n              \"textOriginal\": \"Exactly ...\",\n              \"authorDisplayName\": \"Jeyanthan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/agmODY8BpKJ-lQssvFl75zMstH9F4Uvu5DxKrcNScKBUXv_f_pkX9BAi8kuhCleRDTzoPL4oyw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-11T12:34:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwFmFbd9tnCJ__wcS54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"uRqSJ8eqFII\",\n          \"topLevelComment\": {\n            \"id\": \"UgwFmFbd9tnCJ__wcS54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Please help me 😭😭😭😭😭<br>Does software company accept colour blindness? <br>Software company jobs want colour vision test? <br>I am colour blind and cleared 12th and now want to take addmission  in btech cse and want to software developer. Please tell me software company accept colour blindness 😭😭😭😭😭<br>Please help <br>🙏🙏🙏🙏 😭\",\n              \"textOriginal\": \"Please help me 😭😭😭😭😭\\nDoes software company accept colour blindness? \\nSoftware company jobs want colour vision test? \\nI am colour blind and cleared 12th and now want to take addmission  in btech cse and want to software developer. Please tell me software company accept colour blindness 😭😭😭😭😭\\nPlease help \\n🙏🙏🙏🙏 😭\",\n              \"authorDisplayName\": \"Ayush\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSnjNfuSuWiWe6xinAtchfMP7FI9ppWsf6-ds_Ed678to0WBwgG3s6QMKlmrkZu=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-09T07:06:02Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      },\n      {\n        \"id\": \"UgwwNlFDAmleQhDvYGZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"uRqSJ8eqFII\",\n          \"topLevelComment\": {\n            \"id\": \"UgwwNlFDAmleQhDvYGZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I totally agree with you sir.. main purpose of programming is to create something new that help the world in solving problems and have entertainment in life..  programming is not just a job it&#39;s a innovative work that we contribute to the world.\",\n              \"textOriginal\": \"I totally agree with you sir.. main purpose of programming is to create something new that help the world in solving problems and have entertainment in life..  programming is not just a job it's a innovative work that we contribute to the world.\",\n              \"authorDisplayName\": \"Yash Raj\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/kmSrqq6-NIxvG4EzD3-bhPJyqGfWpqw4cx2a_HZkES1u7vgZaGVVw39Bc2KiBnSE5oIiABYTVw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-31T01:20:52Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwItv-pqAVx_embloB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"uRqSJ8eqFII\",\n          \"topLevelComment\": {\n            \"id\": \"UgwItv-pqAVx_embloB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks, Hitesh. This video was helpful.\",\n              \"textOriginal\": \"Thanks, Hitesh. This video was helpful.\",\n              \"authorDisplayName\": \"gyanAsh ekka\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTvGMC3QE-5eZ1EfpU_IN55zbZEcV2pbtBLzK98=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-19T16:26:54Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwC-VTV9wyBpiJEhLV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"uRqSJ8eqFII\",\n          \"topLevelComment\": {\n            \"id\": \"UgwC-VTV9wyBpiJEhLV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Brother, I am in 12th class now and I have completed my front end development, now tell me will I get any job.\",\n              \"textOriginal\": \"Brother, I am in 12th class now and I have completed my front end development, now tell me will I get any job.\",\n              \"authorDisplayName\": \"Birju Shaw\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS-CX6kaJxMxStI0QGB4zWbCltSO87dfInKh1hf5Fk7SHKPS6VWgeHLnmcmVUes=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-18T06:59:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzVvmovRVG3cCNW7Q14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"uRqSJ8eqFII\",\n          \"topLevelComment\": {\n            \"id\": \"UgzVvmovRVG3cCNW7Q14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Yess boss\",\n              \"textOriginal\": \"Yess boss\",\n              \"authorDisplayName\": \"Nilotpal Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTP9VdnV0ByvvBp9gjIVfjdFZ5z8jgDCpxvQYgQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-17T10:26:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzZybF94B9lLmpX4F54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"uRqSJ8eqFII\",\n          \"topLevelComment\": {\n            \"id\": \"UgzZybF94B9lLmpX4F54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"But it is\",\n              \"textOriginal\": \"But it is\",\n              \"authorDisplayName\": \"Fernando Galarcio\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQAvuT9OvNik3sDjs2owJrUAUECDmFpoKsAOfy07h4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-15T13:51:07Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxdQkTglTC6O9YmPzF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"uRqSJ8eqFII\",\n          \"topLevelComment\": {\n            \"id\": \"UgxdQkTglTC6O9YmPzF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"very true\",\n              \"textOriginal\": \"very true\",\n              \"authorDisplayName\": \"Arkodeep Chatterjee\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRRa7qEeoow61AJP8cSEoWDp48xdpfQW3BM7S-PUA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-15T13:32:08Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzRDboOn5nRV5hVPdJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"uRqSJ8eqFII\",\n          \"topLevelComment\": {\n            \"id\": \"UgzRDboOn5nRV5hVPdJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Absolutely, just think about solving your own problem.. I made a web project for myself to watch anime movies ads free without paying netflix, now I am getting as some profits from it too\",\n              \"textOriginal\": \"Absolutely, just think about solving your own problem.. I made a web project for myself to watch anime movies ads free without paying netflix, now I am getting as some profits from it too\",\n              \"authorDisplayName\": \"ArifDev Coding\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/YFcLKaCqC_TXq61-WHHjgkCckTUDU3JifsHzTj24y2P_ENT4ip8vjR8zxMVxLFKEAivSXpGheQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 4,\n              \"publishedAt\": \"2023-05-12T21:25:45Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgygTc1EaPqVkQubcFR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"uRqSJ8eqFII\",\n          \"topLevelComment\": {\n            \"id\": \"UgygTc1EaPqVkQubcFR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I like this new Ali Abdaal style of shorts! That got me more interested 😅\",\n              \"textOriginal\": \"I like this new Ali Abdaal style of shorts! That got me more interested 😅\",\n              \"authorDisplayName\": \"Max Programming\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQGxgDD7IUhrUg5fIloGTukDl8zmM5pD5RUfy7gyA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-11T16:14:10Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw66AI0r1s27y96_Vh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"uRqSJ8eqFII\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw66AI0r1s27y96_Vh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"So true. Employers will fall asleep if you show them your to-do or Netflix clone like every other applicant.\",\n              \"textOriginal\": \"So true. Employers will fall asleep if you show them your to-do or Netflix clone like every other applicant.\",\n              \"authorDisplayName\": \"Tom Nook\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTfyKG9r0Ux852nKEikpTFpIjCx32kf3uCDRGwl=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 13,\n              \"publishedAt\": \"2023-05-11T11:37:35Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzdllWIXqFgmCxUUvZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"uRqSJ8eqFII\",\n          \"topLevelComment\": {\n            \"id\": \"UgzdllWIXqFgmCxUUvZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"So how about giving an example of problem and solution coz fun doesn&#39;t pay bills\",\n              \"textOriginal\": \"So how about giving an example of problem and solution coz fun doesn't pay bills\",\n              \"authorDisplayName\": \"Harshit Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRq4TNtoMaS_eX8n35aS8LfIb75-reQcyiJNA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-05-11T09:42:09Z\"\n            }\n          },\n          \"totalReplyCount\": 10\n        }\n      }\n    ]\n  },\n  \"daURe-AI5qQ\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgzcX7qzT7mjrji_rQV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"daURe-AI5qQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgzcX7qzT7mjrji_rQV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Your name was indian and accent was american 🇺🇸\",\n              \"textOriginal\": \"Your name was indian and accent was american 🇺🇸\",\n              \"authorDisplayName\": \"Virendra vlog\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/CN0Ct2_jcpzP80U3mOpEQSDjnYMhN4R37P6-83PQVxyxMfukIlxGlmdhOHD4fDi_w2cWt_kc=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-21T14:31:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwJsm77xVjOL9JEYnZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"daURe-AI5qQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgwJsm77xVjOL9JEYnZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir my mackbook air M1 is consuming too much off internet bandwidth.I think nsurlsessiond is consuming it what to do sir ??\",\n              \"textOriginal\": \"Sir my mackbook air M1 is consuming too much off internet bandwidth.I think nsurlsessiond is consuming it what to do sir ??\",\n              \"authorDisplayName\": \"Sahnawaz Alam\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS5LiasG7Pkie3Oyt4dSf_xQ7g7qLz29UMX4nalqQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-18T10:52:00Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy34nkWlLoDL7Zj2MJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"daURe-AI5qQ\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy34nkWlLoDL7Zj2MJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"i need guidance....i want to buy mac device for react native developement.....wher i will use xcode,Android studio, vs code, browser, both Android ios simulators. So can you please suggest me mac device for it my budget is max 1.5 lac rupees\",\n              \"textOriginal\": \"i need guidance....i want to buy mac device for react native developement.....wher i will use xcode,Android studio, vs code, browser, both Android ios simulators. So can you please suggest me mac device for it my budget is max 1.5 lac rupees\",\n              \"authorDisplayName\": \"show dog\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR0v0-50AbvTKGNCBQf6WlOhu2gQNSPbMy6yg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-15T17:09:31Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz3W20VHls4Hhx_LvB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"daURe-AI5qQ\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz3W20VHls4Hhx_LvB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"how to avoid xcode if we avoid xcode brew not installed\",\n              \"textOriginal\": \"how to avoid xcode if we avoid xcode brew not installed\",\n              \"authorDisplayName\": \"Sharankumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR5QskSRniplbGaFohL3b8LyjmBtOODgqjkJ2mi9g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-14T09:57:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxpO2WbiPIAAws1MGN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"daURe-AI5qQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgxpO2WbiPIAAws1MGN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"do you charge your macbook all the time??\",\n              \"textOriginal\": \"do you charge your macbook all the time??\",\n              \"authorDisplayName\": \"heatengine\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT8UgXtvvWYPs4ACLG69yx-vKp30UgeNrtVg_VBmDqml_aiKFMyJ2vxsz5hCiKw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-14T05:21:25Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwb5-Ev44LIYzwjvkB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"daURe-AI5qQ\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwb5-Ev44LIYzwjvkB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir please share your coding journey from  your 18teens  to till now,  how you  work hard, what you do when code dont work, how much Decipline you maintain throughout this journey who motivates you  how you become so successful programmer as well as good teacher and mentor in short please share your short autobiography. Because this was really boost us and  give a powerful motivation in our learnings <a href=\\\"http://www.youtube.com/results?search_query=%23hitesh_sir\\\">#hitesh_sir</a>\",\n              \"textOriginal\": \"Sir please share your coding journey from  your 18teens  to till now,  how you  work hard, what you do when code dont work, how much Decipline you maintain throughout this journey who motivates you  how you become so successful programmer as well as good teacher and mentor in short please share your short autobiography. Because this was really boost us and  give a powerful motivation in our learnings #hitesh_sir\",\n              \"authorDisplayName\": \"akshay\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/uk2WeImnpu70uzmbRR-IGlAEWz-a-rInceuOLy5nWFPtaU7MbNhlBUWxRoFD_QvLsTT58gZTFes=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-24T19:08:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyFcoAvVYNzv-_Xmzx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"daURe-AI5qQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgyFcoAvVYNzv-_Xmzx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"hey sir I am new to coding and want to install brew and its showing error what to do? please help me out\",\n              \"textOriginal\": \"hey sir I am new to coding and want to install brew and its showing error what to do? please help me out\",\n              \"authorDisplayName\": \"Kavya Bathla\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT387MJs0rmvkRLYwOo5We2eus--3FhzULHbA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-22T20:17:18Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxXsSlrBqLbn5ZpOCJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"daURe-AI5qQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgxXsSlrBqLbn5ZpOCJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I think Apple deserves to be the most valuable company in the world. They really have created something worthy. But expensive too🥲\",\n              \"textOriginal\": \"I think Apple deserves to be the most valuable company in the world. They really have created something worthy. But expensive too🥲\",\n              \"authorDisplayName\": \"Souvik\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRFW6MuJ_9ZuK2M8onhOkhB_4rJal27w0oeqj5MulMQdaBeMeyxYEREyKWrU8zO=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-20T08:43:38Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzvotNGR_OsM84d6WJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"daURe-AI5qQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgzvotNGR_OsM84d6WJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Disclaimer: This video is for rich developers\",\n              \"textOriginal\": \"Disclaimer: This video is for rich developers\",\n              \"authorDisplayName\": \"Tech Life Journal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/rg6SciW9pNxwpw03Cnm9WE8-asy3lWMbT3XPTq1ckv0aegrC1a6sVAFR7VByHExOPo2vYOc6=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-18T10:20:14Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxodt4IuA0GgkciXhV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"daURe-AI5qQ\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxodt4IuA0GgkciXhV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi ,Which ram your MacBook use ? 16gb or 8gb\",\n              \"textOriginal\": \"Hi ,Which ram your MacBook use ? 16gb or 8gb\",\n              \"authorDisplayName\": \"Tai Ng\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR1tjMJottslbc0zrdQjwoT76O4vtvXCHpcwA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-05-18T09:39:50Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxO-_c13pL1K4W4tId4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"daURe-AI5qQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgxO-_c13pL1K4W4tId4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you for this sir. Really needed this. 🙌\",\n              \"textOriginal\": \"Thank you for this sir. Really needed this. 🙌\",\n              \"authorDisplayName\": \"Rajat sharma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQWLuPuOjl8zly3OVZefcAyDNxfLQZz8I0zzlEQEg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-18T07:51:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxpGSqEAPQONt2wA654AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"daURe-AI5qQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgxpGSqEAPQONt2wA654AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Macbook Air with 8 GB is enough to develop React native with emulator?\",\n              \"textOriginal\": \"Macbook Air with 8 GB is enough to develop React native with emulator?\",\n              \"authorDisplayName\": \"Saw Rabin\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQRYPgoY6_c6134aoc3Q2JVrIOxKQBNGxEagapQ6rLWo_hdavozP1QxTILUuh8O=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-18T03:15:40Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"ZHfkaaUjj8o\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugx8Wyby9CbE38AIdYR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZHfkaaUjj8o\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx8Wyby9CbE38AIdYR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir what date  going to start new full stack web development bootcamp Ineuron ? It&#39;s not showing on website and you going to teach new batch ? Please reply it&#39;s even going to star or not ?\",\n              \"textOriginal\": \"Sir what date  going to start new full stack web development bootcamp Ineuron ? It's not showing on website and you going to teach new batch ? Please reply it's even going to star or not ?\",\n              \"authorDisplayName\": \"Akshay Dabade\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTgx6y3IY_tfdGRPZLzBwpWtgBGNAZ3noiSQfVwjQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-09T06:53:14Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzpgqqsUVm4paURKFt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZHfkaaUjj8o\",\n          \"topLevelComment\": {\n            \"id\": \"UgzpgqqsUVm4paURKFt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"When you learn python that&#39;s not transferable skill when you learn dsa that&#39;s transferable skill because python will die as MOJO came up. So when you learn programming learn dsa that&#39;s transferable skill but not just syntax of the language which is not transferable skill\",\n              \"textOriginal\": \"When you learn python that's not transferable skill when you learn dsa that's transferable skill because python will die as MOJO came up. So when you learn programming learn dsa that's transferable skill but not just syntax of the language which is not transferable skill\",\n              \"authorDisplayName\": \"Tech Life Journal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/rg6SciW9pNxwpw03Cnm9WE8-asy3lWMbT3XPTq1ckv0aegrC1a6sVAFR7VByHExOPo2vYOc6=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-08T06:55:05Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugz3ye_B8PSldscFdlV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZHfkaaUjj8o\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz3ye_B8PSldscFdlV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Yes by learning python oops and other concepts we can make our own frameworks\",\n              \"textOriginal\": \"Yes by learning python oops and other concepts we can make our own frameworks\",\n              \"authorDisplayName\": \"meher prudhvi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRtMDaZseC4Nr_SU6mUw2vW9O38WVnBsGGDRg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-07T19:42:47Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx7YzcpcxGWI6rO4nR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZHfkaaUjj8o\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx7YzcpcxGWI6rO4nR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Good luck finding a job with just css and javascript lol\",\n              \"textOriginal\": \"Good luck finding a job with just css and javascript lol\",\n              \"authorDisplayName\": \"nlmaster\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRiPG9onuem5DdLUkztRU3Iw5fh-y9-9klCmmw5=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-05-07T10:55:40Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgwVLNfgUpPF8RuDM1R4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZHfkaaUjj8o\",\n          \"topLevelComment\": {\n            \"id\": \"UgwVLNfgUpPF8RuDM1R4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"so u did it\",\n              \"textOriginal\": \"so u did it\",\n              \"authorDisplayName\": \"ALL GAMES\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/4dovy793vFRXHBgOuG3IHhv-RwB7oSdkbqL1t5vsNmUro_NdlIMOaz_n9QdytFMPTRrjYGg0ng=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-07T09:00:40Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxnw5o6Ijsi85opvOh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZHfkaaUjj8o\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxnw5o6Ijsi85opvOh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Good and useful advice.\",\n              \"textOriginal\": \"Good and useful advice.\",\n              \"authorDisplayName\": \"Chaitanya Asati\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ6pvzqM0kafSTrEN8NScBfjT78Yx8bTzrw8vTjEjs=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-07T06:57:43Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzevvbH-G6PYVOcuwB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZHfkaaUjj8o\",\n          \"topLevelComment\": {\n            \"id\": \"UgzevvbH-G6PYVOcuwB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"react is also transferable skill<br>NextJS😅😂😂💥💥\",\n              \"textOriginal\": \"react is also transferable skill\\nNextJS😅😂😂💥💥\",\n              \"authorDisplayName\": \"Dheeraj\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/X3gEp9N8D-En0G1wbiAc3XVMoJhhI_oI58QPa-7dbUHgka3p01bmBbS-f_vlTa3DqlSYS_ZV=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-07T06:55:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwFaqWXMVxFEUSCeKB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZHfkaaUjj8o\",\n          \"topLevelComment\": {\n            \"id\": \"UgwFaqWXMVxFEUSCeKB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I don&#39;t really know how many or what tech skills are transferrable, please help me.\",\n              \"textOriginal\": \"I don't really know how many or what tech skills are transferrable, please help me.\",\n              \"authorDisplayName\": \"Gdkzs\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS7ezYLZIirYBzmj8HMURHGJ0ezsaOQ_B2nE-TBbQF5l6jVeR7PnnTq2spp6w7J=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-07T05:05:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzTSuWjmLsarf6EVmt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZHfkaaUjj8o\",\n          \"topLevelComment\": {\n            \"id\": \"UgzTSuWjmLsarf6EVmt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"How to learn English speaking like you, sir?😶\",\n              \"textOriginal\": \"How to learn English speaking like you, sir?😶\",\n              \"authorDisplayName\": \"Vikash Jalandra\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSx0JI1HY9mN3eaIDhDWTag5T7BZckhj2vVWwgT2g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-07T02:49:58Z\"\n            }\n          },\n          \"totalReplyCount\": 3\n        }\n      },\n      {\n        \"id\": \"UgyYMFQ8y-Fxvmi9_Yx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZHfkaaUjj8o\",\n          \"topLevelComment\": {\n            \"id\": \"UgyYMFQ8y-Fxvmi9_Yx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"If bootstrap and tailwind die, then what is there to code the Frontend design\",\n              \"textOriginal\": \"If bootstrap and tailwind die, then what is there to code the Frontend design\",\n              \"authorDisplayName\": \"james\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQdbwrYSshhKYmPuYK-1xOEBs0n-cVA7xdhnTLarwBTqltmcR_C49PsuXQWIA2c=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-07T02:43:37Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugw9kZWSL-OKM6WtcEp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZHfkaaUjj8o\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw9kZWSL-OKM6WtcEp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Your haircut is hilarious,  your haircut taking all the attention 😂\",\n              \"textOriginal\": \"Your haircut is hilarious,  your haircut taking all the attention 😂\",\n              \"authorDisplayName\": \"Pradeep Kundar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRhhFahAuvvWtnldtS17zI5bXBDyFtpI7p89Xiluw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 3,\n              \"publishedAt\": \"2023-05-06T19:53:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzgMqwfxunYIPTGfTp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZHfkaaUjj8o\",\n          \"topLevelComment\": {\n            \"id\": \"UgzgMqwfxunYIPTGfTp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"what does transferable mean?\",\n              \"textOriginal\": \"what does transferable mean?\",\n              \"authorDisplayName\": \"SAK\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/topDIcZQxTzy3KJoUnauB8rlX-WgAHc72dGT1uzAQVEaQZlTcPMb18oxYQNaZll-e8RAAeZTXTg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-05-06T19:30:16Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      }\n    ]\n  },\n  \"brTO1smAI04\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": []\n  },\n  \"7MwkKBqy3oM\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugy2s9nIRTN10jkU8uV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"7MwkKBqy3oM\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy2s9nIRTN10jkU8uV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hitesh Bhaiya Job nahi mil rhi hai\",\n              \"textOriginal\": \"Hitesh Bhaiya Job nahi mil rhi hai\",\n              \"authorDisplayName\": \"Amit Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/jNGax7_2l6DScpD0ZlxJ2VlseiwlzxVEjEVaastoOs3QbNBBZjRybnQVFOx-ZnPaf9EAajVjI60=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-09T16:38:53Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxLrQLKtaquKGnnufl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"7MwkKBqy3oM\",\n          \"topLevelComment\": {\n            \"id\": \"UgxLrQLKtaquKGnnufl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Amazing as always\",\n              \"textOriginal\": \"Amazing as always\",\n              \"authorDisplayName\": \"Break-\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/u5Ca6stbj0KPyqZwI8pMgGRpiEnZZ6RtEBMpmWYj7MUA8u8NQZQgfF5TUzcx4HGl-6c8tce5Yg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-07T10:07:36Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxTOOtF9Yi0C9j8s9B4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"7MwkKBqy3oM\",\n          \"topLevelComment\": {\n            \"id\": \"UgxTOOtF9Yi0C9j8s9B4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"33 ki age me web development me carrier banana sahi decision hai ya nhi please answer\",\n              \"textOriginal\": \"33 ki age me web development me carrier banana sahi decision hai ya nhi please answer\",\n              \"authorDisplayName\": \"Surya Singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/WUYy-SDE1b25Or_5FoNFHLUMKqQbeml5kbGamdXgb-FhjwGpUkMUOkqt32WXMX_F9T0yEGEydEg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-06T17:49:51Z\"\n            }\n          },\n          \"totalReplyCount\": 6\n        }\n      },\n      {\n        \"id\": \"Ugx2bXPMKwOwfaM85mZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"7MwkKBqy3oM\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx2bXPMKwOwfaM85mZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"👉Sir in 4 years degree program If we didn&#39;t make any project or not grap any particular technology (web/app ) are fine or wrong in universitiy 4 years degree or just exploring that would okay if i do\",\n              \"textOriginal\": \"👉Sir in 4 years degree program If we didn't make any project or not grap any particular technology (web/app ) are fine or wrong in universitiy 4 years degree or just exploring that would okay if i do\",\n              \"authorDisplayName\": \"Sohail Ahmed\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRZxO65PpszGib-uOOuarz-7R001lRW-KENSQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-06T16:19:26Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxtHLqbEX93pn3lNRZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"7MwkKBqy3oM\",\n          \"topLevelComment\": {\n            \"id\": \"UgxtHLqbEX93pn3lNRZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"SIR I HAVE BEEN COMMENTING YOU FOR HALF AN HOUR IN LIVE STREAM. <br><br><b>SIR PLEADE ANSWRR MY QUESTION</b> IT is long that&#39;s why you agnor it\",\n              \"textOriginal\": \"SIR I HAVE BEEN COMMENTING YOU FOR HALF AN HOUR IN LIVE STREAM. \\n\\n*SIR PLEADE ANSWRR MY QUESTION* IT is long that's why you agnor it\",\n              \"authorDisplayName\": \"Sohail Ahmed\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRZxO65PpszGib-uOOuarz-7R001lRW-KENSQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-06T16:19:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"9BfMfDJpbjI\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgwjHxZGRn3bIEm8Lw94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9BfMfDJpbjI\",\n          \"topLevelComment\": {\n            \"id\": \"UgwjHxZGRn3bIEm8Lw94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello from San Jose!  Thank you for this content, am a backend dev normally but working with RN for this project… very valuable content for both new and experienced devs looking to start work with react native!  Godspeed and good luck, sir\",\n              \"textOriginal\": \"Hello from San Jose!  Thank you for this content, am a backend dev normally but working with RN for this project… very valuable content for both new and experienced devs looking to start work with react native!  Godspeed and good luck, sir\",\n              \"authorDisplayName\": \"Ben Shapiro\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRIg4I5TwTwCjZqcplSsRc1TSEpmZoZNVhcgdPeqQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-11T12:31:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy85rtxAO9sGCVNI454AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9BfMfDJpbjI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy85rtxAO9sGCVNI454AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thankyou sir\",\n              \"textOriginal\": \"Thankyou sir\",\n              \"authorDisplayName\": \"Hrushikesh Marathe\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSIIceTJyvyXoZFDBz5Yc9ndlT5zeL_tFC80Qmtpw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-04T18:59:34Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxdnUkdk0vPfTYQmnx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9BfMfDJpbjI\",\n          \"topLevelComment\": {\n            \"id\": \"UgxdnUkdk0vPfTYQmnx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Great content ❤\",\n              \"textOriginal\": \"Great content ❤\",\n              \"authorDisplayName\": \"Majji Kishore\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT-9R-YijOuRCCGZUXKNDQnccjVz2jZI43DS8_HiQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-04T16:37:31Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwjugKG_dKvLYsPoIZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9BfMfDJpbjI\",\n          \"topLevelComment\": {\n            \"id\": \"UgwjugKG_dKvLYsPoIZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanq×10000\",\n              \"textOriginal\": \"Thanq×10000\",\n              \"authorDisplayName\": \"Abhishek Pandey\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRFaTIz5jJakogtvsKVo94g8jGN6Hh29TLBjw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-04T12:43:57Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx9q8DDidVkgqqWeXp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9BfMfDJpbjI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx9q8DDidVkgqqWeXp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"It would be great if you show the output as the code is being introduced or a small example at the end of the video good the emulsion looks like.. cheers\",\n              \"textOriginal\": \"It would be great if you show the output as the code is being introduced or a small example at the end of the video good the emulsion looks like.. cheers\",\n              \"authorDisplayName\": \"Balasubramanian Nagarajan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTdjwt1sRtDzOF79oK8-Fiyez8bj_ocZ1YNHkBNkw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-04T04:58:44Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwl8nUlrghsTWfKWQN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9BfMfDJpbjI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwl8nUlrghsTWfKWQN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you sir ❤\",\n              \"textOriginal\": \"Thank you sir ❤\",\n              \"authorDisplayName\": \"Pankaj Rana\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/nyAoaEZ4Wl8HqCg8pE5tO4q_fdbDMB-946u_9FMY5usd8xd22pgkpIVpsTb7hOTfkd4pwdvPkmE=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-03T21:15:07Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyxALvIHGfwBPNTKYp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9BfMfDJpbjI\",\n          \"topLevelComment\": {\n            \"id\": \"UgyxALvIHGfwBPNTKYp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Your content is very valuable sir ❤\",\n              \"textOriginal\": \"Your content is very valuable sir ❤\",\n              \"authorDisplayName\": \"Install wizard\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSqxHrMPj_mFq1z5QZvhGgx85LQj8q0-_UOii59rV3qRvVF2WOHF2RZ-fHOT_Ri=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-03T19:25:40Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxlVD7ALteTaJjrBYl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9BfMfDJpbjI\",\n          \"topLevelComment\": {\n            \"id\": \"UgxlVD7ALteTaJjrBYl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"hello sir it&#39;s pleasure to see the video\",\n              \"textOriginal\": \"hello sir it's pleasure to see the video\",\n              \"authorDisplayName\": \"DIPANJAN MANDAL\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQZgi7VZCA_kS-2-jpDavUZ4SvppG1TfXKWGJ3W3A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-03T19:23:47Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxffn7gAbyrQ1gFxrR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9BfMfDJpbjI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxffn7gAbyrQ1gFxrR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"You&#39;re getting unstoppable in react native series ❤\",\n              \"textOriginal\": \"You're getting unstoppable in react native series ❤\",\n              \"authorDisplayName\": \"Saksham Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/3iqn_3k1Df1CuBThXvMa_sGIdUq-WLPpMfOaERgPHhOcMocTE_WOI3vs2ZdQdH1siVDBZ_eapYM=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-03T19:19:10Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz4S51V5yh7UlDtsGJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9BfMfDJpbjI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz4S51V5yh7UlDtsGJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you for effort bro.\",\n              \"textOriginal\": \"Thank you for effort bro.\",\n              \"authorDisplayName\": \"موسي ابل\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRZd4aPF18b8Gdl7MnwwTvdHP0A2LTZhyPRbhDac5cne9NVSeDlYnOWT8PrymVOvQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-03T18:31:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwietC6AO705CoWPUh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9BfMfDJpbjI\",\n          \"topLevelComment\": {\n            \"id\": \"UgwietC6AO705CoWPUh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"❤\",\n              \"textOriginal\": \"❤\",\n              \"authorDisplayName\": \"Soumadip Banerjee 🌟\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/SNzK0CjRh8ryYQdP9USK4HBorL2I1Zb_TwMe-_oT1HAWbzcpYgCMxe34PRj-Rrvz22-cfunzD8s=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-03T18:31:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"iZloRI4LVYY\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyrU3ql-w9tIgccnzF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iZloRI4LVYY\",\n          \"topLevelComment\": {\n            \"id\": \"UgyrU3ql-w9tIgccnzF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Irony..amount of  people commented i can&#39;t find 8 people is more than  8\",\n              \"textOriginal\": \"Irony..amount of  people commented i can't find 8 people is more than  8\",\n              \"authorDisplayName\": \"god\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/1d1nZfzbBQvUmFd-THQmS3XefsmNmfMAWl_6DgZUztKl48DzclPuGVZ2dYn9DJWC5IaaLQ3xJA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-23T05:45:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwZYH_-l7RUPkOvOFd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iZloRI4LVYY\",\n          \"topLevelComment\": {\n            \"id\": \"UgwZYH_-l7RUPkOvOFd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"BS idea\",\n              \"textOriginal\": \"BS idea\",\n              \"authorDisplayName\": \"AkA RAZE\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRuvW-4T8ZabLYaYi0Itk9ssRvroYkRAcNQJORgzg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-08T06:32:16Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw3afbDLCmNsTS9nWJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iZloRI4LVYY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw3afbDLCmNsTS9nWJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"@YouTube algo Kindly do not suggest such useless videos as I don&#39;t have any friends.. I&#39;m alone...<br>The video is no use for me.\",\n              \"textOriginal\": \"@YouTube algo Kindly do not suggest such useless videos as I don't have any friends.. I'm alone...\\nThe video is no use for me.\",\n              \"authorDisplayName\": \"Techie BD_Plyr_WB\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQs_yRtwGFmrrnZCJDtHr86K7ih7dKxRGPwLBzNfyCIaXYYKsdOmUDf9gw0Mvb4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-08T05:40:45Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzvjIUzKpDn27wzRXN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iZloRI4LVYY\",\n          \"topLevelComment\": {\n            \"id\": \"UgzvjIUzKpDn27wzRXN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This exact is difference between tier 1 and tier 3 colleges , it&#39;s all about the 5 people you hangout with .\",\n              \"textOriginal\": \"This exact is difference between tier 1 and tier 3 colleges , it's all about the 5 people you hangout with .\",\n              \"authorDisplayName\": \"Hartaj Singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQLsEXvt_hTtcpR1CpvkUO7wWxQAHdS18Ktgg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-08T04:09:55Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw61LCro67xjYmbr-14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iZloRI4LVYY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw61LCro67xjYmbr-14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This is a mindset game. Ppl in the west mostly do just that - hire a coach, pay him a decent amount and fast track their learning process.\",\n              \"textOriginal\": \"This is a mindset game. Ppl in the west mostly do just that - hire a coach, pay him a decent amount and fast track their learning process.\",\n              \"authorDisplayName\": \"Shivin Unitholi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/pWlUm3R6XnPEp2usVWnBzbWe9q4jhKEQApDT5vqXhGOyBdFUP2mwZbb2YsMXDzuoYrXGS7g66Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-02T11:34:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzECv3rwHZNH-v6hVB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iZloRI4LVYY\",\n          \"topLevelComment\": {\n            \"id\": \"UgzECv3rwHZNH-v6hVB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir you may be a good teacher, i haven&#39;t watched your videos, i saw this as it mentioned IIT . In my IIT and longs back there was one guy , who had self learnt at least html , even from a cyber cafe and he used to be the live proof that one can self teach these things.<br>There nd then anyone d ve been mocked for paying this much for the rush and not learning from mistakes , which is critical for developing crucial judgement. This a sad state of affairs for the way web development works in our country ( which wasn&#39;t very different in our days too). We just call API on server and a runtime like node , instead of working with the source and caring about the logic and interpretation.This let&#39;s a lacunae of understanding seep in.<br>Just my 2c , no disrespect to anyone, if times are such , times are such. Like one has to be a rich kid to write a word on their resume and means it , instead of being able to write an atom of code and mean that.\",\n              \"textOriginal\": \"Sir you may be a good teacher, i haven't watched your videos, i saw this as it mentioned IIT . In my IIT and longs back there was one guy , who had self learnt at least html , even from a cyber cafe and he used to be the live proof that one can self teach these things.\\nThere nd then anyone d ve been mocked for paying this much for the rush and not learning from mistakes , which is critical for developing crucial judgement. This a sad state of affairs for the way web development works in our country ( which wasn't very different in our days too). We just call API on server and a runtime like node , instead of working with the source and caring about the logic and interpretation.This let's a lacunae of understanding seep in.\\nJust my 2c , no disrespect to anyone, if times are such , times are such. Like one has to be a rich kid to write a word on their resume and means it , instead of being able to write an atom of code and mean that.\",\n              \"authorDisplayName\": \"nonsameer\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/nXAM9ExdHZ9TksLTgLV2ss81hRacEGHsfOiwByioMcQRNyEXX3GvpYG-QMlO6XRY3biaO0bu20k=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-02T02:14:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwLE9TjKlmOcd7ZkKh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iZloRI4LVYY\",\n          \"topLevelComment\": {\n            \"id\": \"UgwLE9TjKlmOcd7ZkKh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Video start at 1.30\",\n              \"textOriginal\": \"Video start at 1.30\",\n              \"authorDisplayName\": \"pavankumar arava\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSukfXkNcxYstwusxt__bulSg54AxXEjphyFQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-01T14:29:10Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgynxtppO-onQK1TO9x4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iZloRI4LVYY\",\n          \"topLevelComment\": {\n            \"id\": \"UgynxtppO-onQK1TO9x4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"woww\",\n              \"textOriginal\": \"woww\",\n              \"authorDisplayName\": \"Manya Sharma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTSnvUHuleb6e8-Y1qEHBvpKZ-KgeyTkoga1Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-31T09:43:17Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"k24F_CNTx3Q\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxudO4fhfMv9vT0lBl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"k24F_CNTx3Q\",\n          \"topLevelComment\": {\n            \"id\": \"UgxudO4fhfMv9vT0lBl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Aww😂\",\n              \"textOriginal\": \"Aww😂\",\n              \"authorDisplayName\": \"Jaydeep Agravat\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQgRemAUuvO2ynSD1xGFtaaf4a6kCcAUoENlz5rwA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-05T16:50:38Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzv0uWLh8fNW2M7BcN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"k24F_CNTx3Q\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzv0uWLh8fNW2M7BcN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"What is future of devops, will that be automated??\",\n              \"textOriginal\": \"What is future of devops, will that be automated??\",\n              \"authorDisplayName\": \"Sucheth Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTPU_Jw3b7T9aA--1qA2F0KFwbR_NJtzHmh68TMSQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-03T02:40:11Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      },\n      {\n        \"id\": \"UgybGr1ehCUN_MB26Z14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"k24F_CNTx3Q\",\n          \"topLevelComment\": {\n            \"id\": \"UgybGr1ehCUN_MB26Z14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir I&#39;m following each and every vedio of React native series of yours... Your efforts are the reason today...I&#39;m becoming good and great everytime... Thankyou so much sir and thanks for the hash node... Sir and I also have one request.. it&#39;s only one I&#39;m thinking to ask you when I was watching this series.. can you do a bbc iplayer radio app wheel (like channel selection wheel) project so that when we spin a wheel with our thumb.. the channel has to slide... I watched other vedios regarding this..but the way u explain everything... Is quite understable compare to everyone else.. so I&#39;m requesting you to make a small vedio about this project please...sir...this is my only request... ❤️Thank you sir...<br><br>I&#39;m also attaching the vedios for your reference<br><br><a href=\\\"https://youtu.be/8TqKIsQJxLQ\\\">https://youtu.be/8TqKIsQJxLQ</a><br><br><a href=\\\"https://youtu.be/zF9rmPH00AA\\\">https://youtu.be/zF9rmPH00AA</a>\",\n              \"textOriginal\": \"Sir I'm following each and every vedio of React native series of yours... Your efforts are the reason today...I'm becoming good and great everytime... Thankyou so much sir and thanks for the hash node... Sir and I also have one request.. it's only one I'm thinking to ask you when I was watching this series.. can you do a bbc iplayer radio app wheel (like channel selection wheel) project so that when we spin a wheel with our thumb.. the channel has to slide... I watched other vedios regarding this..but the way u explain everything... Is quite understable compare to everyone else.. so I'm requesting you to make a small vedio about this project please...sir...this is my only request... ❤️Thank you sir...\\n\\nI'm also attaching the vedios for your reference\\n\\nhttps://youtu.be/8TqKIsQJxLQ\\n\\nhttps://youtu.be/zF9rmPH00AA\",\n              \"authorDisplayName\": \"Its me Deepak\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTarDyqSy7pI03IWZFAODe1b3_H30988FXXHhtUrVc=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-05-02T19:14:23Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"Q5lqT7bHoV0\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugx1oB0WYyeoo1OY2kR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Q5lqT7bHoV0\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx1oB0WYyeoo1OY2kR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hey, hitesh please I have a question, which database is best solution for react-native app\",\n              \"textOriginal\": \"Hey, hitesh please I have a question, which database is best solution for react-native app\",\n              \"authorDisplayName\": \"Gobuybro\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/UH-XyBjLmnnno1c9_cr9HzdB5zGLOwTbdm7IE694WjemvwAn5-7P_i7IPHDlWqb2QRGGgVsfLA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-21T11:01:57Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxIDAuW8Z1bU2-S6nx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Q5lqT7bHoV0\",\n          \"topLevelComment\": {\n            \"id\": \"UgxIDAuW8Z1bU2-S6nx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"F\",\n              \"textOriginal\": \"F\",\n              \"authorDisplayName\": \"Apno ka Humsafar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/G0_QnhmzIuijGjg3ZwH5aEvWK_ipWzFemjTTAMQJFHcwJXiJr_wdoC3CrgbDYSTCLR5nW4Bmdw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-03T11:46:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzkDC5rKnfuL2ptYIV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Q5lqT7bHoV0\",\n          \"topLevelComment\": {\n            \"id\": \"UgzkDC5rKnfuL2ptYIV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I left react native just because of expo cli. Always got in trouble due to expo cli more than the bugs i created by myself😐😐😐. Flutter is million times better\",\n              \"textOriginal\": \"I left react native just because of expo cli. Always got in trouble due to expo cli more than the bugs i created by myself😐😐😐. Flutter is million times better\",\n              \"authorDisplayName\": \"GG FF\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/jWkgX5BBEjQ4-xNj6LRXquU0QALBGWfqg0qGlqm2NcuARQp5vvloVEnxmoB-YwzoeYLUqPlH=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-03T08:55:21Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgyOb5pfhzMwzIAIl1F4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Q5lqT7bHoV0\",\n          \"topLevelComment\": {\n            \"id\": \"UgyOb5pfhzMwzIAIl1F4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you sir.\",\n              \"textOriginal\": \"Thank you sir.\",\n              \"authorDisplayName\": \"Deepender singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR8YerYhSoIo8j0V7CZmcTOmFEXUXWWptlHC0Ry=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-03T06:24:03Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugygo0gxaAr1vWb94Zt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Q5lqT7bHoV0\",\n          \"topLevelComment\": {\n            \"id\": \"Ugygo0gxaAr1vWb94Zt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks a lot sir\",\n              \"textOriginal\": \"Thanks a lot sir\",\n              \"authorDisplayName\": \"Save Soil Save Generations\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/G1LQ47QpPcTUxoXKM_CdZPo690bUpx1gpl_GFb-V6aEXIJ-eYH9Ax6wfuzV6zlyvNgLX0YkAo_s=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-03T06:22:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz6jSVEXxSj4eNM0fZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Q5lqT7bHoV0\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz6jSVEXxSj4eNM0fZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello Sir, I&#39;m requesting an employee attendance project using react native &amp; include backend using node js,I&#39;m very&quot; support your channel\",\n              \"textOriginal\": \"Hello Sir, I'm requesting an employee attendance project using react native & include backend using node js,I'm very\\\" support your channel\",\n              \"authorDisplayName\": \"Chairil Ashar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQhXhC5Jst2WxzW19sH3ILhFWxoLEAuk9gj6g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-02T21:58:42Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxg08dWLzNbSn-2xXR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Q5lqT7bHoV0\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxg08dWLzNbSn-2xXR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir I&#39;m following each and every vedio of yours... Your efforts are the reason today...I&#39;m becoming good and great everytime... Thankyou so much sir and thanks for the hash node... Sir and I also have one request.. it&#39;s only one I&#39;m thinking to ask you when I was watching this series.. can you do a bbc iplayer radio app wheel (like channel selection wheel) project so that when we spin a wheel with our thumb.. the channel has to slide... I watched other vedios regarding this..but the way u explain everything... Is quite understable compare to everyone else.. so I&#39;m requesting you to make a small vedio about this project please...sir...this is my only request... ❤️Thank you sir...<br><br>I&#39;m also attaching the vedios for your reference<br><br><a href=\\\"https://youtu.be/8TqKIsQJxLQ\\\">https://youtu.be/8TqKIsQJxLQ</a><br><br><a href=\\\"https://youtu.be/zF9rmPH00AA\\\">https://youtu.be/zF9rmPH00AA</a>\",\n              \"textOriginal\": \"Sir I'm following each and every vedio of yours... Your efforts are the reason today...I'm becoming good and great everytime... Thankyou so much sir and thanks for the hash node... Sir and I also have one request.. it's only one I'm thinking to ask you when I was watching this series.. can you do a bbc iplayer radio app wheel (like channel selection wheel) project so that when we spin a wheel with our thumb.. the channel has to slide... I watched other vedios regarding this..but the way u explain everything... Is quite understable compare to everyone else.. so I'm requesting you to make a small vedio about this project please...sir...this is my only request... ❤️Thank you sir...\\n\\nI'm also attaching the vedios for your reference\\n\\nhttps://youtu.be/8TqKIsQJxLQ\\n\\nhttps://youtu.be/zF9rmPH00AA\",\n              \"authorDisplayName\": \"Its me Deepak\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTarDyqSy7pI03IWZFAODe1b3_H30988FXXHhtUrVc=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-02T19:12:33Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxbxiE3K1EIbVEl7mF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Q5lqT7bHoV0\",\n          \"topLevelComment\": {\n            \"id\": \"UgxbxiE3K1EIbVEl7mF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"My PWA app installed in phone. After payment successful it&#39;s open in chrome browser, what is the solution ?\",\n              \"textOriginal\": \"My PWA app installed in phone. After payment successful it's open in chrome browser, what is the solution ?\",\n              \"authorDisplayName\": \"iuiw\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ6PI9iR-ZyQLZ8Ha6-HTcGB_volWuZPpd6THb0hPie7qIuLH-2Nxdyos1hxxOz=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-02T16:16:21Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"-Qj6krbHU7w\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugzy3phK_IVCan-rmdJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-Qj6krbHU7w\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzy3phK_IVCan-rmdJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hindi me bolo bhai\",\n              \"textOriginal\": \"Hindi me bolo bhai\",\n              \"authorDisplayName\": \"@SpykerViky1779\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/TkfxsHdhvFwR4KvUjAJA2Zj0_JOXJWSuuSjcASVNVUnYO9h4nmNV-YIXFYiV8CA04TndUhZuSA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-14T08:04:00Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz_-rO-N9A6mKaYjEZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-Qj6krbHU7w\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz_-rO-N9A6mKaYjEZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Is something really already happened so this is just a cover up\",\n              \"textOriginal\": \"Is something really already happened so this is just a cover up\",\n              \"authorDisplayName\": \"Edge of Storm Somewhere\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/AHGt6xlzMFShtJZhpchEiArWEzPPc4r8PoRWZ9bYEuSvMfbWRdebOfU3pLlNVjg-3XEMv5fYiVA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-31T09:57:55Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxI5Fkv2tXj5Wm0k9l4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-Qj6krbHU7w\",\n          \"topLevelComment\": {\n            \"id\": \"UgxI5Fkv2tXj5Wm0k9l4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"In your introduction it was not sounded as if you were not just talking about AI🤔.\",\n              \"textOriginal\": \"In your introduction it was not sounded as if you were not just talking about AI🤔.\",\n              \"authorDisplayName\": \"binit kant\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRaKwa7kmlLI2suiPQEOYwjNJSXkRB2gbl1nsxD=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-18T19:11:56Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzXk0i5xxIAP9xFbDp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-Qj6krbHU7w\",\n          \"topLevelComment\": {\n            \"id\": \"UgzXk0i5xxIAP9xFbDp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Can ai replace  thkse youtubers who gives information like you and like health and fitness youtubers. As we know gpt4 can generate videos and in future it become 1000 times powerful this current\",\n              \"textOriginal\": \"Can ai replace  thkse youtubers who gives information like you and like health and fitness youtubers. As we know gpt4 can generate videos and in future it become 1000 times powerful this current\",\n              \"authorDisplayName\": \"TRANSFORMING CENTRE\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Lr-m6qu15IqPcFgnQZuBwf98qoVu_8BjL6EsCNYXqnD82T7NaaC5Ibk_2UlQgxHL8oSHOXyP=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-13T03:58:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx8WeICFspKmodDOMp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-Qj6krbHU7w\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx8WeICFspKmodDOMp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I just saw an ad in which 3 employees were fired because of chatGPT 🤣🤣🤣\",\n              \"textOriginal\": \"I just saw an ad in which 3 employees were fired because of chatGPT 🤣🤣🤣\",\n              \"authorDisplayName\": \"Aditya Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRFqPtZYLCXV3EOOOke9PjoOn7tfHEmXy4Ccg6M_g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-10T10:37:48Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgylLS-jZrOoBwAhQVB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-Qj6krbHU7w\",\n          \"topLevelComment\": {\n            \"id\": \"UgylLS-jZrOoBwAhQVB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"It might be the case that the situation gets subsided after some tragedies but it may get subsided only to a very low extent. However once started, it can never be terminated forever.\",\n              \"textOriginal\": \"It might be the case that the situation gets subsided after some tragedies but it may get subsided only to a very low extent. However once started, it can never be terminated forever.\",\n              \"authorDisplayName\": \"Mritunjay Singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRSYqne7upGY_cLitQjcGf2iN8Uu3h3IJCXzV4MLg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-08T12:12:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxe0Ivnu1YF63yWp3V4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-Qj6krbHU7w\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxe0Ivnu1YF63yWp3V4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Ohh\",\n              \"textOriginal\": \"Ohh\",\n              \"authorDisplayName\": \"Himanshu Shekhar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQjKQuFks6xLOg0BmQSLrEEaXN-ZP4f44tfQWj8pA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-08T09:28:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwaQH4AlMNeZCz7WgN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-Qj6krbHU7w\",\n          \"topLevelComment\": {\n            \"id\": \"UgwaQH4AlMNeZCz7WgN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I haven&#39;t been seeing your videos in my feed. I forgot to hit the like button!\",\n              \"textOriginal\": \"I haven't been seeing your videos in my feed. I forgot to hit the like button!\",\n              \"authorDisplayName\": \"Kevin\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRFuDBaJnmnxwShe0z696LUmhpXEZWHOqFYeJjcAg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-08T06:02:19Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"dAsxCAQogwA\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgwoZo7MNKt7w_ubW0h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dAsxCAQogwA\",\n          \"topLevelComment\": {\n            \"id\": \"UgwoZo7MNKt7w_ubW0h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This is so silly, why dont you show your iOS simulator how everything works? All the videos you have you dont dont that\",\n              \"textOriginal\": \"This is so silly, why dont you show your iOS simulator how everything works? All the videos you have you dont dont that\",\n              \"authorDisplayName\": \"Deadeye\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTBJvgf9hHEnR8A3gpHMapuOp0CdY_eoCY_Hg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-04T06:15:40Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzpE81dBTBVxqxw_1t4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dAsxCAQogwA\",\n          \"topLevelComment\": {\n            \"id\": \"UgzpE81dBTBVxqxw_1t4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Theme?\",\n              \"textOriginal\": \"Theme?\",\n              \"authorDisplayName\": \"Warlord xx\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQURDctgGppkCXJM2OEM3ufx7l8XgSxJUDSMwIL3w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-01T12:58:14Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwSoeLTsFXXttbTYI94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dAsxCAQogwA\",\n          \"topLevelComment\": {\n            \"id\": \"UgwSoeLTsFXXttbTYI94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"React native o.71.7 version give meta data error\",\n              \"textOriginal\": \"React native o.71.7 version give meta data error\",\n              \"authorDisplayName\": \"Code With Roman\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/pDNa5tzkDxzSC0muwSqxyOLhEQx582tUskXS6y-RelaWLm-QJJ_HU0fahMVo3--Fw4gPrGYb=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-01T11:45:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwQQVBWgb4tRzryO194AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dAsxCAQogwA\",\n          \"topLevelComment\": {\n            \"id\": \"UgwQQVBWgb4tRzryO194AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Chai aur code PE ya fir hitesh Chaudhary pe NEXT JS 13 ki series lane k liye kuchh socha h kya , bcoz abhi bohot sun Raha hu next js k baare me\",\n              \"textOriginal\": \"Chai aur code PE ya fir hitesh Chaudhary pe NEXT JS 13 ki series lane k liye kuchh socha h kya , bcoz abhi bohot sun Raha hu next js k baare me\",\n              \"authorDisplayName\": \"Kartik Rajput\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSKLsfvd27EmXUpCMYs966SPy10qF5jR1KEXLLStA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-04-30T16:48:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"KMJE_0ybg9E\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgwTBcMBykM2VT6jTuN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"KMJE_0ybg9E\",\n          \"topLevelComment\": {\n            \"id\": \"UgwTBcMBykM2VT6jTuN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"does anyone know the name of the theme? It looks cool\",\n              \"textOriginal\": \"does anyone know the name of the theme? It looks cool\",\n              \"authorDisplayName\": \"Roku\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/F632n0UvNajrAI4_QgscooL8pKoPF5rf57QRjBC1wAqtZMWGy8UEjlW3ySLOZ8tcjeqadG-16xQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-24T11:40:36Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwMpnr5le1mZqtfxl54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"KMJE_0ybg9E\",\n          \"topLevelComment\": {\n            \"id\": \"UgwMpnr5le1mZqtfxl54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"React native docs are too bad.. I&#39;m worrying if it gonna die soon\",\n              \"textOriginal\": \"React native docs are too bad.. I'm worrying if it gonna die soon\",\n              \"authorDisplayName\": \"Piyush Sagar IT 33 (Avi)\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/JDUZdVQ7gVtXEZpvx5fz4tWwAde4-UnP6Y6TSEsiWN2s3676l8rIbfcApe9DVyG6XmlnrbDiJQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-04-30T06:45:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzl9LveaZ0gVnBMwfR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"KMJE_0ybg9E\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzl9LveaZ0gVnBMwfR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Nested routing\",\n              \"textOriginal\": \"Nested routing\",\n              \"authorDisplayName\": \"priyatam17\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRA8Hm7z3HcXguiAZNkMqC-GMppqSkkz1Hb0S8Wig=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-29T20:20:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyQbkk9HlHSj56x4bR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"KMJE_0ybg9E\",\n          \"topLevelComment\": {\n            \"id\": \"UgyQbkk9HlHSj56x4bR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir i have a huge request a huge  request plz complete this series as soon as possible because after completing this one i want to get a good job in React Native so am waiting 🙃🙃😈😈\",\n              \"textOriginal\": \"sir i have a huge request a huge  request plz complete this series as soon as possible because after completing this one i want to get a good job in React Native so am waiting 🙃🙃😈😈\",\n              \"authorDisplayName\": \"usman markaz\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/h-49H9bllQeJQBxhwzYIR-yU18ogwPTOrf2x-PWkVWYzaljoHZIyuF9xE8_2cISe3ykB5ZQv=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 3,\n              \"publishedAt\": \"2023-04-29T18:24:21Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxiXsq8NBx_wzYGkrh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"KMJE_0ybg9E\",\n          \"topLevelComment\": {\n            \"id\": \"UgxiXsq8NBx_wzYGkrh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi sir,I want to know from you that what are the tricks to grow coding related channel on YouTube.<br><br>I was thinking that to start creating video of Web development tutorials <br><br><a href=\\\"https://youtube.com/@codewithanshul\\\">https://youtube.com/@codewithanshul</a>\",\n              \"textOriginal\": \"Hi sir,I want to know from you that what are the tricks to grow coding related channel on YouTube.\\n\\nI was thinking that to start creating video of Web development tutorials \\n\\nhttps://youtube.com/@codewithanshul\",\n              \"authorDisplayName\": \"Anshul Soni\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/MyQvSfgBLf6IRhjxxhpzh7ksAnK05IwLr9hZEnPbKZpWJDGgNnv2XmHj3FFiafOZ0TvInrIawQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-04-29T14:51:13Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzhNhYjWXDRR7UeWWN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"KMJE_0ybg9E\",\n          \"topLevelComment\": {\n            \"id\": \"UgzhNhYjWXDRR7UeWWN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"hi sir\",\n              \"textOriginal\": \"hi sir\",\n              \"authorDisplayName\": \"raman kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRoGSX2MFxVfdMFuXX4TnuPNEA5aQOIg7ChcnDxHw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-04-29T14:43:08Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgytWk6prus0i01WDKF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"KMJE_0ybg9E\",\n          \"topLevelComment\": {\n            \"id\": \"UgytWk6prus0i01WDKF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"oof first\",\n              \"textOriginal\": \"oof first\",\n              \"authorDisplayName\": \"The Law\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRv_Afo1GXVIEapjstq2MC8wDYWForO06Cve9BtnQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-04-29T14:31:46Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      }\n    ]\n  },\n  \"c_7ukxJz1wE\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugx4OaI72rGmt1sXFd54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"c_7ukxJz1wE\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx4OaI72rGmt1sXFd54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Dangg bro,.. u are awesomee...!! Many tutorial in this YT only provide the code training,.. not the conceptt...!!<br>I LOVE HOW U EXPLAIN IT &lt;3 I LOVE UR CHANNEL and SUBS IT..!!\",\n              \"textOriginal\": \"Dangg bro,.. u are awesomee...!! Many tutorial in this YT only provide the code training,.. not the conceptt...!!\\nI LOVE HOW U EXPLAIN IT <3 I LOVE UR CHANNEL and SUBS IT..!!\",\n              \"authorDisplayName\": \"None\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/rlPG2FTJZ3q2yEmGfU7TyI7mMoKrHSEZKei041Bzgj9XAwpV4P0DbTV_6vKci7NYee9gIHrWLzo=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-21T18:13:38Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyIS2k41kEcSChyEPx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"c_7ukxJz1wE\",\n          \"topLevelComment\": {\n            \"id\": \"UgyIS2k41kEcSChyEPx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"please continue uploading this videos\",\n              \"textOriginal\": \"please continue uploading this videos\",\n              \"authorDisplayName\": \"Ankit Jodhani\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ6oAFu4kJiLhfTk5TxOww8J8WfVaOqp82BcG2rylk=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-29T04:33:52Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzFss99JdSno4PNl194AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"c_7ukxJz1wE\",\n          \"topLevelComment\": {\n            \"id\": \"UgzFss99JdSno4PNl194AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"plz make alteast one real time project in react native sir\",\n              \"textOriginal\": \"plz make alteast one real time project in react native sir\",\n              \"authorDisplayName\": \"usman markaz\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/h-49H9bllQeJQBxhwzYIR-yU18ogwPTOrf2x-PWkVWYzaljoHZIyuF9xE8_2cISe3ykB5ZQv=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-28T18:11:48Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugzd-vFt233TElLlNZF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"c_7ukxJz1wE\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzd-vFt233TElLlNZF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir plz upload content  ON DAILY BASIS in react native\",\n              \"textOriginal\": \"sir plz upload content  ON DAILY BASIS in react native\",\n              \"authorDisplayName\": \"usman markaz\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/h-49H9bllQeJQBxhwzYIR-yU18ogwPTOrf2x-PWkVWYzaljoHZIyuF9xE8_2cISe3ykB5ZQv=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-28T18:11:19Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxwHIkEDejYBoV35Bx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"c_7ukxJz1wE\",\n          \"topLevelComment\": {\n            \"id\": \"UgxwHIkEDejYBoV35Bx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"👍👍👍👍\",\n              \"textOriginal\": \"👍👍👍👍\",\n              \"authorDisplayName\": \"iuiw\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ6PI9iR-ZyQLZ8Ha6-HTcGB_volWuZPpd6THb0hPie7qIuLH-2Nxdyos1hxxOz=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-28T16:40:57Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwCRrVsHf38kN45EwR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"c_7ukxJz1wE\",\n          \"topLevelComment\": {\n            \"id\": \"UgwCRrVsHf38kN45EwR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"When I should to learn react native after react !?\",\n              \"textOriginal\": \"When I should to learn react native after react !?\",\n              \"authorDisplayName\": \"Arsh 77\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/CGtovDIGOCBM4Q57CN9EG6UDrnrpuF_mQaK1GZzQM1Rony6MlWcCnbXNhX_RgjhaSzDGdmU3=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-04-28T16:27:07Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"t-f0aYdg8Hw\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyYg6aViAzbnwo0AUx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"t-f0aYdg8Hw\",\n          \"topLevelComment\": {\n            \"id\": \"UgyYg6aViAzbnwo0AUx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This is 100% true!!! Understanding user psychology is one of the best skill to learn while building apps.\",\n              \"textOriginal\": \"This is 100% true!!! Understanding user psychology is one of the best skill to learn while building apps.\",\n              \"authorDisplayName\": \"Henil Malaviya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/4CLQiEakQmsEAkJlTDh25l_l3VyFuFWbgRLR-8W3FFUtgADWNTDmdbmHjQpqQxbtjziLjDo6z8E=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-05-20T04:32:07Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxAFb3p_xBg_B5_Czp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"t-f0aYdg8Hw\",\n          \"topLevelComment\": {\n            \"id\": \"UgxAFb3p_xBg_B5_Czp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"An example would have been great\",\n              \"textOriginal\": \"An example would have been great\",\n              \"authorDisplayName\": \"Pinaka Dhara\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/oMookH8VdzWEvB5SFiZ5W_PbwFohzym1dB8ZGzf-zet-QKh5ofFg2vg6X5MISJ0PoxcT1_9r47k=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-05T04:15:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwx0YV80mJnvqVkA4Z4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"t-f0aYdg8Hw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwx0YV80mJnvqVkA4Z4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Yup. Same hack implemented in phonepe.\",\n              \"textOriginal\": \"Yup. Same hack implemented in phonepe.\",\n              \"authorDisplayName\": \"prasanna venkatesh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSYjqCbhchc26X_SPqjnalk5hLLDeAciCYqvw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-01T01:53:47Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxNxpFlEwgGg8OKLVl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"t-f0aYdg8Hw\",\n          \"topLevelComment\": {\n            \"id\": \"UgxNxpFlEwgGg8OKLVl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"True sir! Thank u so much! 🙌🏻\",\n              \"textOriginal\": \"True sir! Thank u so much! 🙌🏻\",\n              \"authorDisplayName\": \"Code Arena\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/dq3BT8ETY8Ft-NHwvynJzHyjAd2j3tk2cvpP5rZIJA5qXW8SiUQo9x56xwusg4rtbhpFNuP1Bt4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-29T07:57:19Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwHGasF2lKVdMyko714AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"t-f0aYdg8Hw\",\n          \"topLevelComment\": {\n            \"id\": \"UgwHGasF2lKVdMyko714AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Noticed this in PhonePe&#39;s slider which go left and right after making payment was slower first, now its very fast since about 7-8 months.\",\n              \"textOriginal\": \"Noticed this in PhonePe's slider which go left and right after making payment was slower first, now its very fast since about 7-8 months.\",\n              \"authorDisplayName\": \"SHRIDHAR\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQRgS-emUsvlD2ZShbHhrbQs3oSJ37V8VDfgWdqCg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-29T07:04:31Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzmgIHodLzKfCz-6JJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"t-f0aYdg8Hw\",\n          \"topLevelComment\": {\n            \"id\": \"UgzmgIHodLzKfCz-6JJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Totally agree! Speeding up the preloader animation can have a huge impact on user experience and psychology. But it did be far better if the loading time as really reduced or implementing lazy load\",\n              \"textOriginal\": \"Totally agree! Speeding up the preloader animation can have a huge impact on user experience and psychology. But it did be far better if the loading time as really reduced or implementing lazy load\",\n              \"authorDisplayName\": \"code with akash\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Rq6HyU-SyrTQKpSImyAos3NOZaPpvvsPfkrMzbEb4cc5LtyOFb4cFWxU4ylDlfw3t5L5YgacLQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 20,\n              \"publishedAt\": \"2023-04-28T20:29:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwlNaQbWa6BoTyrC1V4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"t-f0aYdg8Hw\",\n          \"topLevelComment\": {\n            \"id\": \"UgwlNaQbWa6BoTyrC1V4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This hack won&#39;t work on geeks for geeks 😂\",\n              \"textOriginal\": \"This hack won't work on geeks for geeks 😂\",\n              \"authorDisplayName\": \"Shivansh Karan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS6A-oLjqIDEGeKhc9r3O45FNAz1p3mal1Jbi3HKg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-04-28T18:39:46Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      },\n      {\n        \"id\": \"Ugz5cfVUnJ--nFvhz754AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"t-f0aYdg8Hw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz5cfVUnJ--nFvhz754AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Seeing you after so long\",\n              \"textOriginal\": \"Seeing you after so long\",\n              \"authorDisplayName\": \"Akok longchar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSjvOZJAKyVJ838WWRH8PeaocK5LijNlA-DbodCBA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-28T18:35:49Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"Wy2s73ofwDA\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugzawj2SfSqAa_V0UoJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Wy2s73ofwDA\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzawj2SfSqAa_V0UoJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Learn to deploy your own password manager.<br><a href=\\\"https://www.passbolt.com/\\\">https://www.passbolt.com</a>\",\n              \"textOriginal\": \"Learn to deploy your own password manager.\\nhttps://www.passbolt.com\",\n              \"authorDisplayName\": \"Hitesh Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 6,\n              \"publishedAt\": \"2023-04-28T11:14:49Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgwSv9yYft9iyTKYLI54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Wy2s73ofwDA\",\n          \"topLevelComment\": {\n            \"id\": \"UgwSv9yYft9iyTKYLI54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"How to deploy passbolt with Linux? Plz make video on this topic\",\n              \"textOriginal\": \"How to deploy passbolt with Linux? Plz make video on this topic\",\n              \"authorDisplayName\": \"Abhinav kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTSg2C52dWJ6DbcmEh1x_3ojtRFlDzCgyRWlZnssU4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-02T13:28:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxHw4Phd2-c4PP1GnF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Wy2s73ofwDA\",\n          \"topLevelComment\": {\n            \"id\": \"UgxHw4Phd2-c4PP1GnF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Bitwardan is also open source , and cloud plan is also free🎉\",\n              \"textOriginal\": \"Bitwardan is also open source , and cloud plan is also free🎉\",\n              \"authorDisplayName\": \"alp3sh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS0IGaRWGDI6kzjiJY8-6SzIZjDDK6tLRR55zDw89MkCnqxwAlPcZvaU_1tV_sj=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-04-29T06:24:01Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgyPzbx9OlBMARC44GN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Wy2s73ofwDA\",\n          \"topLevelComment\": {\n            \"id\": \"UgyPzbx9OlBMARC44GN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Why not use Apple passwords? It’s seamless, uses Face ID on iPhone and Touch ID on Mac. Passwords are synced across Apple devices.\",\n              \"textOriginal\": \"Why not use Apple passwords? It’s seamless, uses Face ID on iPhone and Touch ID on Mac. Passwords are synced across Apple devices.\",\n              \"authorDisplayName\": \"Manoj Jahgirdar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRqaCPw0Cw0fqJZXPLKTHtCU4bKBPLknqifAQIM1lA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-28T17:07:56Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      },\n      {\n        \"id\": \"Ugyz0_LjHfnEHxMBA0R4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Wy2s73ofwDA\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyz0_LjHfnEHxMBA0R4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This is a paid endorsement\",\n              \"textOriginal\": \"This is a paid endorsement\",\n              \"authorDisplayName\": \"anonymous_dev\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT9Y7sIUSpMk0m8BXwisioRi5OSbiX4R_GcUC8OrCRbkkurx-5mqhxfqf9x_Y_F=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 7,\n              \"publishedAt\": \"2023-04-28T16:35:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzfgHnUSrMvAuy7t-F4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Wy2s73ofwDA\",\n          \"topLevelComment\": {\n            \"id\": \"UgzfgHnUSrMvAuy7t-F4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Great\",\n              \"textOriginal\": \"Great\",\n              \"authorDisplayName\": \"Ankit Jodhani\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ6oAFu4kJiLhfTk5TxOww8J8WfVaOqp82BcG2rylk=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-28T13:39:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzB23yAUhKD7iAuhq14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Wy2s73ofwDA\",\n          \"topLevelComment\": {\n            \"id\": \"UgzB23yAUhKD7iAuhq14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"thanks a lot it is really helpful sir\",\n              \"textOriginal\": \"thanks a lot it is really helpful sir\",\n              \"authorDisplayName\": \"techenthusiastshubham\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/bmXP7YliADaDzkVvnMhmMxRZ0WomlX2xUfW2i-IcVCpoTtwm1IV1VMm7_ccXxagNH-Th5sp5vS4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-04-28T11:33:51Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz9v93Q-S23KTTn5jp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Wy2s73ofwDA\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz9v93Q-S23KTTn5jp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I&#39;m first☝️!\",\n              \"textOriginal\": \"I'm first☝️!\",\n              \"authorDisplayName\": \"prem!\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/PDai9Puq0p_Zq5gvUVnecHoQAbwmOlwfRFIIuIpIya5WnITSSYmSDniG_JpeaNRJEzOX5xCK=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-28T11:14:10Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyXOZq5bv2nxCC_sdJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Wy2s73ofwDA\",\n          \"topLevelComment\": {\n            \"id\": \"UgyXOZq5bv2nxCC_sdJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I&#39;ve used this before... it&#39;s really good\",\n              \"textOriginal\": \"I've used this before... it's really good\",\n              \"authorDisplayName\": \"Peekaboo\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/e0k1s3DArAQgEvL3TYinrotjebvuESXKtDQ1Yj4OmftDZjkGL1g6TEJjRHsSHS3PkpzPOZLBXfM=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 4,\n              \"publishedAt\": \"2023-04-28T11:13:46Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      }\n    ]\n  },\n  \"wpfE9XQuMBI\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgycmaqHw_up1vgQY9d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"wpfE9XQuMBI\",\n          \"topLevelComment\": {\n            \"id\": \"UgycmaqHw_up1vgQY9d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"We need the  API video 🤗\",\n              \"textOriginal\": \"We need the  API video 🤗\",\n              \"authorDisplayName\": \"DANIEL OBENTEY\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS9p2aiY8SCAexgZvQt1AeWx5LsJ11lJTVctkCONA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-19T10:05:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyKil-jMnArKaUZ66t4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"wpfE9XQuMBI\",\n          \"topLevelComment\": {\n            \"id\": \"UgyKil-jMnArKaUZ66t4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"We want part 2\",\n              \"textOriginal\": \"We want part 2\",\n              \"authorDisplayName\": \"Md Shifut Hossain\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQVtdHzKvtUZfKxyJ5L_kIxGDi3PQ7rFfK40P5jbA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-15T05:07:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwLAWAVeOQp2_XG6Mt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"wpfE9XQuMBI\",\n          \"topLevelComment\": {\n            \"id\": \"UgwLAWAVeOQp2_XG6Mt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Api\",\n              \"textOriginal\": \"Api\",\n              \"authorDisplayName\": \"anandu d jayan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSYjuWPCJM6STfFKsETEuty-OEv6OMg6Ys78kiqdg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-13T13:46:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxChVobq8yLx9eRzFJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"wpfE9XQuMBI\",\n          \"topLevelComment\": {\n            \"id\": \"UgxChVobq8yLx9eRzFJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Need 2nd api part. Please do video about that. Parallely we are working on these projects.\",\n              \"textOriginal\": \"Need 2nd api part. Please do video about that. Parallely we are working on these projects.\",\n              \"authorDisplayName\": \"Market net Press\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR89FGldbf0IIXLo1hOeh8ZpGeyoUnDHMoiwKM=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-13T03:40:28Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxunfZBzMnf8UOeLVF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"wpfE9XQuMBI\",\n          \"topLevelComment\": {\n            \"id\": \"UgxunfZBzMnf8UOeLVF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"could you please share how did you get such amazing website? I mean how can I search and get such amazing website from millions of website in online???\",\n              \"textOriginal\": \"could you please share how did you get such amazing website? I mean how can I search and get such amazing website from millions of website in online???\",\n              \"authorDisplayName\": \"Md. Jamil hasan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSGqGntZiUgEeXbjMvhFTsQyQdt8_RDjp8rDpgSBw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-08T03:01:19Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxJK1l4I-SOMCECuVt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"wpfE9XQuMBI\",\n          \"topLevelComment\": {\n            \"id\": \"UgxJK1l4I-SOMCECuVt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Api second part please 🙏🏻\",\n              \"textOriginal\": \"Api second part please 🙏🏻\",\n              \"authorDisplayName\": \"Amit Gharge\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/kpBYNk4LufhjRLE4N4teGNmg4CmijosTZOSHZRaA8WuHHD2wxegQiNDbX0zXD2t4YJihuKHKCg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-02T03:10:18Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz9jjJwYzqVtSwZFYl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"wpfE9XQuMBI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz9jjJwYzqVtSwZFYl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Part 2 api\",\n              \"textOriginal\": \"Part 2 api\",\n              \"authorDisplayName\": \"Manisha Banjara\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQf2U6JEuk4IMly_KzBCoH5iwBg7V3QL_3NW7QUmSz4oiI8Xz-OHz1X3Vinb69B=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-30T08:00:14Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwwMjpJTJA4_2QkGyR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"wpfE9XQuMBI\",\n          \"topLevelComment\": {\n            \"id\": \"UgwwMjpJTJA4_2QkGyR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"please make a video on how to handle API&#39;s.\",\n              \"textOriginal\": \"please make a video on how to handle API's.\",\n              \"authorDisplayName\": \"Shahid\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/YQ5rO4HLLDSWAG-NWXCCn46fBsPfcmo6HCNaYPnV1XEJHaEdqeBfz-vOQq-SVI4rRZw7hcRY=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-25T15:16:41Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxzh_FoM8IEedMVUM94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"wpfE9XQuMBI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxzh_FoM8IEedMVUM94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"we want part 2 sir, please bring it\",\n              \"textOriginal\": \"we want part 2 sir, please bring it\",\n              \"authorDisplayName\": \"Sukrit Akhauri\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSuoMQkytLX_UFP5RF886ewP2PSOnnFtwf1fg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-25T14:50:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyT_yECkbBZYM4aIZ94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"wpfE9XQuMBI\",\n          \"topLevelComment\": {\n            \"id\": \"UgyT_yECkbBZYM4aIZ94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"it&#39;s our job to impress them , &amp; ur job is to make part 2 for us , seriously u&#39;ve nailed it the topic we want to explore for inspiration in our dev learning\",\n              \"textOriginal\": \"it's our job to impress them , & ur job is to make part 2 for us , seriously u've nailed it the topic we want to explore for inspiration in our dev learning\",\n              \"authorDisplayName\": \"DeadlyLive Gaming\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRqi37zqmz1R8dHl7cKwj-08qrZw0YttlvZP6cPBw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-23T07:43:56Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"dif57eOnU4E\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugz1DyEcHXN6jbDK_b54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dif57eOnU4E\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz1DyEcHXN6jbDK_b54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello sir I&#39;m stuck in react &amp; Angular.<br>What to choose?\",\n              \"textOriginal\": \"Hello sir I'm stuck in react & Angular.\\nWhat to choose?\",\n              \"authorDisplayName\": \"SK NAZIBUL HOSSAIN\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSdDFPfCtbgkenoLyTTZrMEP8MFN_OexZpcew=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-28T08:42:57Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgyIC_C_VZ-HnNYVYzl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dif57eOnU4E\",\n          \"topLevelComment\": {\n            \"id\": \"UgyIC_C_VZ-HnNYVYzl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir please make typescript video in hindi\",\n              \"textOriginal\": \"sir please make typescript video in hindi\",\n              \"authorDisplayName\": \"Solid slide Version\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT3h9eOEdfELX1dTv2RBOCwO3z3LeJ-69DnLQ80zBXKyNfA8ojwK3aqOZhOd-Uy=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-26T14:42:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxdTmInYnvTzjwJzhB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dif57eOnU4E\",\n          \"topLevelComment\": {\n            \"id\": \"UgxdTmInYnvTzjwJzhB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"You have not shared anything about Salesforce on this channel.<br>Do share your opinion about it and career opportunities, etc.\",\n              \"textOriginal\": \"You have not shared anything about Salesforce on this channel.\\nDo share your opinion about it and career opportunities, etc.\",\n              \"authorDisplayName\": \"Sayyed Faisal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ3FXdzijS9-wTTy2FQlLPId86JTQEn08wRs7OQy4g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-23T18:32:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwJhLexC0rC7vJTr4d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dif57eOnU4E\",\n          \"topLevelComment\": {\n            \"id\": \"UgwJhLexC0rC7vJTr4d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Roadmap to cloud+++++++\",\n              \"textOriginal\": \"Roadmap to cloud+++++++\",\n              \"authorDisplayName\": \"Break-\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/u5Ca6stbj0KPyqZwI8pMgGRpiEnZZ6RtEBMpmWYj7MUA8u8NQZQgfF5TUzcx4HGl-6c8tce5Yg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-23T10:33:48Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzCbhnbRaTYyErA8_F4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dif57eOnU4E\",\n          \"topLevelComment\": {\n            \"id\": \"UgzCbhnbRaTYyErA8_F4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir i am learning full stack and i also have interest in salesforce or devops .so can i moved towards salesforce developer for less coding sir ?\",\n              \"textOriginal\": \"sir i am learning full stack and i also have interest in salesforce or devops .so can i moved towards salesforce developer for less coding sir ?\",\n              \"authorDisplayName\": \"Akash patil\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQixQT7pNZik27dIWgFM79Ex_Jba_UNRQkgB5kval4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-23T05:47:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyJyZIFMQBJx50ghlB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dif57eOnU4E\",\n          \"topLevelComment\": {\n            \"id\": \"UgyJyZIFMQBJx50ghlB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Which language is best for backend\",\n              \"textOriginal\": \"Which language is best for backend\",\n              \"authorDisplayName\": \"Saravanan R\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRzXNCJ8iVwLS8Q3uHddLlTWnqjGExY6z28vr6k7A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-22T18:54:07Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwPHbBWNveVa_y8-W54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dif57eOnU4E\",\n          \"topLevelComment\": {\n            \"id\": \"UgwPHbBWNveVa_y8-W54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks ❤\",\n              \"textOriginal\": \"Thanks ❤\",\n              \"authorDisplayName\": \"Aniket Patidar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTkjr0VewZcbHrMP09RIbWgwmMszgZVMlmVakwaPsf2xVs_eOBcyz737iGhtXeG=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-22T18:19:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwgWzQtu3vL6dDMQfp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dif57eOnU4E\",\n          \"topLevelComment\": {\n            \"id\": \"UgwgWzQtu3vL6dDMQfp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Can anybody explain what is RedHat and what is the scope?\",\n              \"textOriginal\": \"Can anybody explain what is RedHat and what is the scope?\",\n              \"authorDisplayName\": \"Abhishek Sahu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQqj_s3DKMe0I9XI7aFpCxJTNa_P7Vt-PbSmCt-=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-22T18:04:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx61hSRkwddkLdo26Z4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dif57eOnU4E\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx61hSRkwddkLdo26Z4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Please sir can I send you my project for a review\",\n              \"textOriginal\": \"Please sir can I send you my project for a review\",\n              \"authorDisplayName\": \"Bright C Web Developer\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/7S2G2hyMSFS5A5Hb2QHUnmp0Rz437KENEMWczFmWgOGMEp_XSJk95-M7PbZTctAlhgcCOO0wEfo=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-22T16:59:11Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxOJUg1_-E_5dMcvR14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dif57eOnU4E\",\n          \"topLevelComment\": {\n            \"id\": \"UgxOJUg1_-E_5dMcvR14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir please aap padhaya pwskill par backed ka jo padhya ja rha sir aapke Bina kuch samjh nahi aa rha sir aap bahut easy way me samjhate h isliye sir please aap padhya\",\n              \"textOriginal\": \"Sir please aap padhaya pwskill par backed ka jo padhya ja rha sir aapke Bina kuch samjh nahi aa rha sir aap bahut easy way me samjhate h isliye sir please aap padhya\",\n              \"authorDisplayName\": \"Rishabh Srivastava\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRrcyXTvhNXn9t0yzbZuOxxH5UEAhq3DGjVYsfVf0NY14txSu3QcYyyE477R5DD=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-22T16:52:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx4VA5KM0wBVXKfiNV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dif57eOnU4E\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx4VA5KM0wBVXKfiNV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir we enjoyed Sir ....Sir please compose chai or code in javascript and css......\",\n              \"textOriginal\": \"Sir we enjoyed Sir ....Sir please compose chai or code in javascript and css......\",\n              \"authorDisplayName\": \"EngineerSampat Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRvDgYzzVvUzn47KcSFJsc-9vuXcWVQNZO2MiCfEw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-04-22T16:50:26Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      },\n      {\n        \"id\": \"UgxI9sUnIeQqzIcq1Ad4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dif57eOnU4E\",\n          \"topLevelComment\": {\n            \"id\": \"UgxI9sUnIeQqzIcq1Ad4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir in 4 years degree program If we didn&#39;t make any project or not grap any particular technology (web/app ) are fine or wrong in universitiy 4 years degree or just exploring that would okay if i do?\",\n              \"textOriginal\": \"Sir in 4 years degree program If we didn't make any project or not grap any particular technology (web/app ) are fine or wrong in universitiy 4 years degree or just exploring that would okay if i do?\",\n              \"authorDisplayName\": \"Sohail Ahmed\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRZxO65PpszGib-uOOuarz-7R001lRW-KENSQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-22T16:48:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"w6FbSbvYlp8\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyfF65qMQNyDOhrfl94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"w6FbSbvYlp8\",\n          \"topLevelComment\": {\n            \"id\": \"UgyfF65qMQNyDOhrfl94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Y’all; you’re businesses now. You need a legal department that can tell you when you’re dealing with a C&amp;D, or when you’ve been gifted 🧻. <br><br>Community members acting as community members aren’t receiving these, businesses operating in a marketplace. Trademark isn’t copyright, and it only applies to business entities acting in marketplaces. <br><br>Y’all need a legal department.\",\n              \"textOriginal\": \"Y’all; you’re businesses now. You need a legal department that can tell you when you’re dealing with a C&D, or when you’ve been gifted 🧻. \\n\\nCommunity members acting as community members aren’t receiving these, businesses operating in a marketplace. Trademark isn’t copyright, and it only applies to business entities acting in marketplaces. \\n\\nY’all need a legal department.\",\n              \"authorDisplayName\": \"Mike Chickenman\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRgxKHq6sWtvkl7jAqcqyzbMnBl5xBw_LlcFL9KoHA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-11T11:58:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwvQxbN4po5Mj0ELpN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"w6FbSbvYlp8\",\n          \"topLevelComment\": {\n            \"id\": \"UgwvQxbN4po5Mj0ELpN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Oracle can pund sand\",\n              \"textOriginal\": \"Oracle can pund sand\",\n              \"authorDisplayName\": \"Gene Christian Somoza\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSA1jP1RKQ69eWxvSpXrZEi9YC3sxHndJ0qKA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-19T05:29:47Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgybzXY4DKQfYYyfR1d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"w6FbSbvYlp8\",\n          \"topLevelComment\": {\n            \"id\": \"UgybzXY4DKQfYYyfR1d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I was pretty disappointed when Java became closed source too. That&#39;s what happens to your favorite open source programming languages. After you invest your time in it, it becomes closed source.\",\n              \"textOriginal\": \"I was pretty disappointed when Java became closed source too. That's what happens to your favorite open source programming languages. After you invest your time in it, it becomes closed source.\",\n              \"authorDisplayName\": \"Bob Channell\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRUVLKJxer8cbtksxg6i2RD4-iG_Gzuu3g8jw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-17T22:59:42Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzO4ZVR0Fj7AG913hp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"w6FbSbvYlp8\",\n          \"topLevelComment\": {\n            \"id\": \"UgzO4ZVR0Fj7AG913hp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Wow, crazy.\",\n              \"textOriginal\": \"Wow, crazy.\",\n              \"authorDisplayName\": \"dorbie\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTRVP7Nh6UfuAXzTD_lYe-36Tn7iIvY8ZJGWd8G=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T09:42:38Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugyg2ZJQtJe1kRqcRW54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"w6FbSbvYlp8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyg2ZJQtJe1kRqcRW54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"i am suprise as well that word is own by company i always thought it is public domain  ..\",\n              \"textOriginal\": \"i am suprise as well that word is own by company i always thought it is public domain  ..\",\n              \"authorDisplayName\": \"Artificial DNA\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/L_2Dw2INTztc-jm5nljFYbD7CAHs0GhPrqJIhF9CLcMd60vDFZEBIs49hVaVCDHRClYt_vCTpQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-15T18:33:25Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyWP3JyigN8jeNC7IB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"w6FbSbvYlp8\",\n          \"topLevelComment\": {\n            \"id\": \"UgyWP3JyigN8jeNC7IB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"i wud change to the name jayvayskrypt, but then again, its probably owned by that other company: o&#39;rack&#39;al\",\n              \"textOriginal\": \"i wud change to the name jayvayskrypt, but then again, its probably owned by that other company: o'rack'al\",\n              \"authorDisplayName\": \"wkrp10s player\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRyJYJEcdekHYy5cTbqjfvacn1IiFSTKUTVPg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-13T21:22:03Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxqbpHKosqJXOC8sU14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"w6FbSbvYlp8\",\n          \"topLevelComment\": {\n            \"id\": \"UgxqbpHKosqJXOC8sU14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Oracle Ka Debacle Ho\",\n              \"textOriginal\": \"Oracle Ka Debacle Ho\",\n              \"authorDisplayName\": \"ADabtU\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRAG5FahYDchZ0Uz1KvjYwrhNgZjS14_HNfEQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-12T09:16:07Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgybiaZsXcZMEjlV3994AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"w6FbSbvYlp8\",\n          \"topLevelComment\": {\n            \"id\": \"UgybiaZsXcZMEjlV3994AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This is why you should stop using technology owned by corporations.\",\n              \"textOriginal\": \"This is why you should stop using technology owned by corporations.\",\n              \"authorDisplayName\": \"Debasish Ray Chawdhuri\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQms8I1ZUrVZPV0ien0BIKm-ngOiy7ObudFGCsQkZs=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-12T06:22:54Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw-FAGOU98hB2ZDoDd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"w6FbSbvYlp8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw-FAGOU98hB2ZDoDd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Oh rakle\",\n              \"textOriginal\": \"Oh rakle\",\n              \"authorDisplayName\": \"Basic Guy\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTDpqbjqE1imENTVxqKebvuS6KqxuA7ff7dGA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-11T05:30:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"6-AasXEBr6k\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgwoAH09KhPqxPSLigp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6-AasXEBr6k\",\n          \"topLevelComment\": {\n            \"id\": \"UgwoAH09KhPqxPSLigp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Really Excited to use and contribute to this.🙏🙏👍👍\",\n              \"textOriginal\": \"Really Excited to use and contribute to this.🙏🙏👍👍\",\n              \"authorDisplayName\": \"Akash Rana\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT1LKVV1VX2l-p_Jj317rSvEw20jlZTQriq7Vh1Xg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-26T10:23:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyDzRof-vzDDmeqNtt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6-AasXEBr6k\",\n          \"topLevelComment\": {\n            \"id\": \"UgyDzRof-vzDDmeqNtt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Great work hitesh. I don&#39;t know how hard it is to do what you are doing. Keep going. ❤\",\n              \"textOriginal\": \"Great work hitesh. I don't know how hard it is to do what you are doing. Keep going. ❤\",\n              \"authorDisplayName\": \"Manoj Manju\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/qCA_RLzFb6xFzTd3-txuIAcaq0tFoF0funBZWwQwr26U18gb3eVWN_0-uuQP2ikK_lLaVSHYDQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-25T08:40:32Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwsAry3Me-GRfOFIp14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6-AasXEBr6k\",\n          \"topLevelComment\": {\n            \"id\": \"UgwsAry3Me-GRfOFIp14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Some love for Angular too please :)\",\n              \"textOriginal\": \"Some love for Angular too please :)\",\n              \"authorDisplayName\": \"Pramesh Bajracharya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSCpz_aL4SVHPQ9QSulBjRyqSUgk-j8GwxMSFSqhY0=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-24T12:41:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw2K2LbaXoHWoHZkhN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6-AasXEBr6k\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw2K2LbaXoHWoHZkhN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"bless you. other components UI are charging a hell lot. you are truly a blessing.\",\n              \"textOriginal\": \"bless you. other components UI are charging a hell lot. you are truly a blessing.\",\n              \"authorDisplayName\": \"shikimaroy dc\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSw3yffQmjnkpIvwLo_xQaLHP-bHDKUzMSB91sB7Nk=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-24T07:33:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzs2F6Nzus9I6Or9Sl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6-AasXEBr6k\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzs2F6Nzus9I6Or9Sl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"when can we expect the github repo publicly available<a href=\\\"about:invalid#zCSafez\\\"></a>\",\n              \"textOriginal\": \"when can we expect the github repo publicly available\",\n              \"authorDisplayName\": \"Robin Mahato\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTnQLM1hg4YlP5ewHAJ3gSOTNRnMV4xzZ3XHJ3vcw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-22T16:34:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugyc-uCWm2o-rnhZMLN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6-AasXEBr6k\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyc-uCWm2o-rnhZMLN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I quickly glanced through some of the components available in it. Seems like some of the button components suffer from low contrast issue, there isn&#39;t much contrast between text and the background, even on hover.\",\n              \"textOriginal\": \"I quickly glanced through some of the components available in it. Seems like some of the button components suffer from low contrast issue, there isn't much contrast between text and the background, even on hover.\",\n              \"authorDisplayName\": \"Tushar Singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRK6wjgn23NDLpXZTcDjRWwXjEVICVCIC_yFMfl8g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-22T14:42:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx1ouY-FyJITUPi5aR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6-AasXEBr6k\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx1ouY-FyJITUPi5aR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Please make a detailed video on Apache spark and Hadoop sir\",\n              \"textOriginal\": \"Please make a detailed video on Apache spark and Hadoop sir\",\n              \"authorDisplayName\": \"techenthusiastshubham\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/bmXP7YliADaDzkVvnMhmMxRZ0WomlX2xUfW2i-IcVCpoTtwm1IV1VMm7_ccXxagNH-Th5sp5vS4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-22T05:04:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwbzWcle-BoZRZgeZJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6-AasXEBr6k\",\n          \"topLevelComment\": {\n            \"id\": \"UgwbzWcle-BoZRZgeZJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"🎉🎉🎉🎉🎉🎉\",\n              \"textOriginal\": \"🎉🎉🎉🎉🎉🎉\",\n              \"authorDisplayName\": \"Fun Shot\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/a3h5nfU4m_TgqjJZnwSzArv6d2gY8xyIW9Zi6HoMpwnDhNbp5evwCGmiCFOICRNvyzI-uBTXYR0=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-22T03:49:53Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxTuIAWeQRXbjm2P9R4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6-AasXEBr6k\",\n          \"topLevelComment\": {\n            \"id\": \"UgxTuIAWeQRXbjm2P9R4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"@Hitesh your killing 😢 the React Frontend Jobs but i would like to help Adding useful external open source library&#39;s to this project\",\n              \"textOriginal\": \"@Hitesh your killing 😢 the React Frontend Jobs but i would like to help Adding useful external open source library's to this project\",\n              \"authorDisplayName\": \"B U N N Y 4 4 4 GAMING\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/cqiLD8S5_JdPQYRt4kvQj5nKpv233ndICz8ion6q8Glx75xOSv8Rp446XgIAFPPjYLtVj4-0-w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-20T16:53:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwaY__rhNgl3BD6RA14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6-AasXEBr6k\",\n          \"topLevelComment\": {\n            \"id\": \"UgwaY__rhNgl3BD6RA14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I think after frameworks like Laravel, Vue, React and the likes, this was the missing link.<br>Will definitely give it a go!\",\n              \"textOriginal\": \"I think after frameworks like Laravel, Vue, React and the likes, this was the missing link.\\nWill definitely give it a go!\",\n              \"authorDisplayName\": \"Ofi Videos\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/a2TFyjjrpUTzZn8OafQ9-NLFVvGAtWlYUUy6VBzRXg46DPhs12o1R3RXfGNEqFDfKMvLEWwz=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-20T12:41:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzBnczPjoMXeXcMfHR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6-AasXEBr6k\",\n          \"topLevelComment\": {\n            \"id\": \"UgzBnczPjoMXeXcMfHR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello bhaiya, Unstop par ek Namma Yatri Challenge aaya hai. Usme 30 lakh ki job milegi. Usko kaise crack kare. Please ek video uspar banado?\",\n              \"textOriginal\": \"Hello bhaiya, Unstop par ek Namma Yatri Challenge aaya hai. Usme 30 lakh ki job milegi. Usko kaise crack kare. Please ek video uspar banado?\",\n              \"authorDisplayName\": \"Hardik Madan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS6VHCULw7Na1dG1es978qfDHQRWjR_YafcaMuNGBrCJRBrOWQDzjs5tD_2-sHb=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-20T11:48:29Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"eCkPGsqn4xw\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugx8odUdcvKdUjU7x7J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eCkPGsqn4xw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx8odUdcvKdUjU7x7J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"now I continue building track player, i stopped working on react native since you were on vacation, but now i start from this video\",\n              \"textOriginal\": \"now I continue building track player, i stopped working on react native since you were on vacation, but now i start from this video\",\n              \"authorDisplayName\": \"Kartik Rajput\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSKLsfvd27EmXUpCMYs966SPy10qF5jR1KEXLLStA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-24T01:55:03Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"yqMKsKzUanU\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxkJwxCjVsYmGWFxQ14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"yqMKsKzUanU\",\n          \"topLevelComment\": {\n            \"id\": \"UgxkJwxCjVsYmGWFxQ14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"will there be an app based on adaptive and responsive layout for multiple screen sizes and different devices????\",\n              \"textOriginal\": \"will there be an app based on adaptive and responsive layout for multiple screen sizes and different devices????\",\n              \"authorDisplayName\": \"gurpreet singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRe0G8cxtW6b6I6Kgw6U4xKM1g_H4oq6Ea-RQywa3ePFMQCsG8I9HT7talVA5bS=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-23T15:17:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzSPWszx0is2BRc2r14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"yqMKsKzUanU\",\n          \"topLevelComment\": {\n            \"id\": \"UgzSPWszx0is2BRc2r14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I want to ask that how snapchat or other camera app gives filter after identifying our face....can we build it in React Native...?\",\n              \"textOriginal\": \"I want to ask that how snapchat or other camera app gives filter after identifying our face....can we build it in React Native...?\",\n              \"authorDisplayName\": \"Zeeshan Ahmed\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR_6c7k1MWAGeZLBZkr-8bhxzOTizAsvJwy0lYFj0Awog4CWPABqwfCk5z99Y87=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 3,\n              \"publishedAt\": \"2023-04-13T06:58:40Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"lpCwIPFGMkQ\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgzRZGxJvG_FuVkoFRN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"lpCwIPFGMkQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgzRZGxJvG_FuVkoFRN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir USe (RNFES)-&gt; React Native Functional Export Stylesheet\",\n              \"textOriginal\": \"Sir USe (RNFES)-> React Native Functional Export Stylesheet\",\n              \"authorDisplayName\": \"Visinigiri Aditya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT8TYFGt1O810eGM-lHZFbovwhVd9SVQx1Z_kVQzg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-18T09:25:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy5IAVbJuxAaU1mqlx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"lpCwIPFGMkQ\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy5IAVbJuxAaU1mqlx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"https://www.youtube.com/watch?v=lpCwIPFGMkQ&amp;t=5m28s\\\">5:28</a> rafce\",\n              \"textOriginal\": \"5:28 rafce\",\n              \"authorDisplayName\": \"KHAN TANVEER\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRielFyf_z8i07tzyj3FwSv2n98PoGkeHJeLjHpmg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-04-13T06:39:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwFNVdt1DzODbl6zAl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"lpCwIPFGMkQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgwFNVdt1DzODbl6zAl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you sir\",\n              \"textOriginal\": \"Thank you sir\",\n              \"authorDisplayName\": \"Pankaj Rana\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/nyAoaEZ4Wl8HqCg8pE5tO4q_fdbDMB-946u_9FMY5usd8xd22pgkpIVpsTb7hOTfkd4pwdvPkmE=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-04-13T00:39:25Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy5bL01dVaQsHEkpzt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"lpCwIPFGMkQ\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy5bL01dVaQsHEkpzt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir<br>Slide Bar par video banao\",\n              \"textOriginal\": \"Sir\\nSlide Bar par video banao\",\n              \"authorDisplayName\": \"Sant _Surat 😇💗\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/oGuKApEK9y95ngk9fA4PqRL_ldY6AGUhmtpUNunz8FvbRtOaVh5ru4OBNd2Z0P56jBi2FYpWavg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-12T16:32:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"ShIND2eR1Z0\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugy_cMXrjdt2LqC1tVd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ShIND2eR1Z0\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy_cMXrjdt2LqC1tVd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"thanks was very helpful\",\n              \"textOriginal\": \"thanks was very helpful\",\n              \"authorDisplayName\": \"Riya Shah\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQFoi8Ek15Ay4kbo7unHoxA1kA0oyXCBycipwsUaw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-22T08:36:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz3nYW40IvQtmbMhmt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ShIND2eR1Z0\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz3nYW40IvQtmbMhmt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"please  give a solution about react native health connect and make  a separate video\",\n              \"textOriginal\": \"please  give a solution about react native health connect and make  a separate video\",\n              \"authorDisplayName\": \"shubham gaur\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTdgDY8hvIVNCow23G9dCWki9RLHU3mMD5Fd1rJA5JsFOk8LWXw3sqYBAAZtFoi=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-21T11:34:38Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgztfwxlL9TcaKERcDR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ShIND2eR1Z0\",\n          \"topLevelComment\": {\n            \"id\": \"UgztfwxlL9TcaKERcDR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi Hitesh!<br>I am getting the following error when I run the app using USB on my android phone.<br>A problem occurred configuring project &#39;:app&#39;.\\r<br>&gt; Could not open cp_proj generic class cache for build file &#39;C:\\\\Users\\\\User\\\\Documents\\\\Web Development\\\\Projects\\\\asdf\\\\MyApp\\\\android\\\\app\\\\build.gradle&#39; (C:\\\\Users\\\\User\\\\.gradle\\\\caches\\\\7.5.1\\\\scripts\\\\5rua5id1q5goo84zeh0vik0sr).\\r<br>   &gt; BUG! exception in phase &#39;semantic analysis&#39; in source unit &#39;_BuildScript_&#39; Unsupported class file major version 64<br><br>I think it is because of the react-native-vector-icons in the build.gradle file, because when I removed it and uninstalled the module, the app worked properly again.<br>Please let me know if there is some way to fix it.\",\n              \"textOriginal\": \"Hi Hitesh!\\nI am getting the following error when I run the app using USB on my android phone.\\nA problem occurred configuring project ':app'.\\r\\n> Could not open cp_proj generic class cache for build file 'C:\\\\Users\\\\User\\\\Documents\\\\Web Development\\\\Projects\\\\asdf\\\\MyApp\\\\android\\\\app\\\\build.gradle' (C:\\\\Users\\\\User\\\\.gradle\\\\caches\\\\7.5.1\\\\scripts\\\\5rua5id1q5goo84zeh0vik0sr).\\r\\n   > BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 64\\n\\nI think it is because of the react-native-vector-icons in the build.gradle file, because when I removed it and uninstalled the module, the app worked properly again.\\nPlease let me know if there is some way to fix it.\",\n              \"authorDisplayName\": \"Kehan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSif-iJcaoCZSZWxEBVp-EptXrnpb1u4eSR8QKhyaUrUTjLEw4e4_ISYLOPgwz5=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-11T08:53:55Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxi0Veih0YM3u2ZomN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ShIND2eR1Z0\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxi0Veih0YM3u2ZomN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Awesome 🎉\",\n              \"textOriginal\": \"Awesome 🎉\",\n              \"authorDisplayName\": \"BB Coder Guy\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/zh6PLvWCjlfFkFjT8_Bg8cddAlXDDij2L3F5H673CjW1ibI2GuRB2uHmXvf_IkwWluzKSKD7=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-04-12T16:22:23Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"Hb5rh9vXNyY\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugw2QJeZQtzl9VOi-hB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Hb5rh9vXNyY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw2QJeZQtzl9VOi-hB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"😂😂\",\n              \"textOriginal\": \"😂😂\",\n              \"authorDisplayName\": \"Sooraj Kadnor\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/XV6Te_cEkz9DCswAu68Brc1SzTtWa4mol-t5n1K-v0OUzDbhdHGFMIlhF9W8VbOv7cPNineyuTc=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-12T05:05:53Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgznKp5Iv8tqCbV7oiN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Hb5rh9vXNyY\",\n          \"topLevelComment\": {\n            \"id\": \"UgznKp5Iv8tqCbV7oiN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"So this is the golf of social media. but April fool.\",\n              \"textOriginal\": \"So this is the golf of social media. but April fool.\",\n              \"authorDisplayName\": \"Gaurav Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQI2q_zL5RGBHVYf9BPNgJQQ34JnTqbUYK8JmRUIw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-10T22:38:41Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw3TuNiK0uSdMRPNnl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Hb5rh9vXNyY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw3TuNiK0uSdMRPNnl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Rich people dont waste time on social media and if they do they don’t want paid social media unless their is a demand and adoption like twitter and instagram.\",\n              \"textOriginal\": \"Rich people dont waste time on social media and if they do they don’t want paid social media unless their is a demand and adoption like twitter and instagram.\",\n              \"authorDisplayName\": \"Nehat\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/XXJRVBLgpCJK0Ju1PBxsUB7ArUYzlGSPLYWpYBiKs4dSeLBdBsBx-EbymT-3ZUy9LbxTw74XSQw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-08T04:45:14Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy57KCHylUnfVBZ2dt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Hb5rh9vXNyY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy57KCHylUnfVBZ2dt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Audio doesn&#39;t  feel good\",\n              \"textOriginal\": \"Audio doesn't  feel good\",\n              \"authorDisplayName\": \"Nizypher\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/RvtpgPEwAH8Oh27ep8-dyD692D9oU1t0v-zZ8_e04B5K4qwFH6caCVv7oE1D73QPY-gTAQKeTIY=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-07T12:31:47Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxxCr1hD_S4owIUFrp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Hb5rh9vXNyY\",\n          \"topLevelComment\": {\n            \"id\": \"UgxxCr1hD_S4owIUFrp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Ok jokes apart but , social media feels like one moment you&#39;re laughing at some funny post and the other moment you are feeling sad because the next post reminded you of the trauma you have, in the end it&#39;s not really serving the purpose, we go there to relax our minds but actually all we get is discomfort, unsatisfied and discontent feelings. I would really be looking for an app that strictly adheres to my preferences and recommends me posts based on my mood.\",\n              \"textOriginal\": \"Ok jokes apart but , social media feels like one moment you're laughing at some funny post and the other moment you are feeling sad because the next post reminded you of the trauma you have, in the end it's not really serving the purpose, we go there to relax our minds but actually all we get is discomfort, unsatisfied and discontent feelings. I would really be looking for an app that strictly adheres to my preferences and recommends me posts based on my mood.\",\n              \"authorDisplayName\": \"Naam me kya rakha hai ?\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/rtjpL4i_HchHNi2FHdgWrfqk47IXUmEkTNwSgIAiyo4zQUT8NcwyuskWw_Mbxozexpjk-3ZCGA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-05T07:37:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwgRvqQ9G9499oZJ0p4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Hb5rh9vXNyY\",\n          \"topLevelComment\": {\n            \"id\": \"UgwgRvqQ9G9499oZJ0p4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Definitely i will apply in ur company 👍\",\n              \"textOriginal\": \"Definitely i will apply in ur company 👍\",\n              \"authorDisplayName\": \"Ashok Patel\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/TGsT6Ar1xlmO3ipI1wmJXhKyPL1n9Ago5Kzdj9UO1yx0U-dxglibKx7h02lfanNtkzZ4sJ1eJMw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-05T02:15:52Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzKzbTXyWnqf_47apV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Hb5rh9vXNyY\",\n          \"topLevelComment\": {\n            \"id\": \"UgzKzbTXyWnqf_47apV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir mein darr rha hun, kuch ulta seedha toh nahi khila diya hai kisi ne apko... kya bol rhe. 😫😫.\",\n              \"textOriginal\": \"sir mein darr rha hun, kuch ulta seedha toh nahi khila diya hai kisi ne apko... kya bol rhe. 😫😫.\",\n              \"authorDisplayName\": \"vivek kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQyQ7yEAf1b1mcheiukdxgZXzGDQFt2mQgCTf8GLQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-03T15:20:31Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyLdDrEVv4CfNldHEJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Hb5rh9vXNyY\",\n          \"topLevelComment\": {\n            \"id\": \"UgyLdDrEVv4CfNldHEJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I was already considering selling my kidneys for this.\",\n              \"textOriginal\": \"I was already considering selling my kidneys for this.\",\n              \"authorDisplayName\": \"Baraiya Vivek\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQqkCeNS_gX69rKmRo6nqnQafeTF4XtcN2ZS6FsEA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-02T21:23:28Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwBpB08PU74kNG8H8J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Hb5rh9vXNyY\",\n          \"topLevelComment\": {\n            \"id\": \"UgwBpB08PU74kNG8H8J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"😂😂😂😂\",\n              \"textOriginal\": \"😂😂😂😂\",\n              \"authorDisplayName\": \"monika p\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/gF7NPXRm0o9Jrx3QodipwVULvCxzcF-qOcyX4LvtpbCaTnHBTp8T0_OVQZilq-ncO3xg7n37Mw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-02T18:33:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxBQJtE9XfxbaMLcZ54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Hb5rh9vXNyY\",\n          \"topLevelComment\": {\n            \"id\": \"UgxBQJtE9XfxbaMLcZ54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I got it as soon as he said &quot;2 lakh rupees&quot; 😅\",\n              \"textOriginal\": \"I got it as soon as he said \\\"2 lakh rupees\\\" 😅\",\n              \"authorDisplayName\": \"Junaid\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSB1gBX-9FgaZ8ttkIp6NKC2M4ue_j6fTy1hwo9OW2mz2danDo_B0aLl3O_Bu9u=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-02T06:37:25Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzGFrW2dvEHf5iXPNl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Hb5rh9vXNyY\",\n          \"topLevelComment\": {\n            \"id\": \"UgzGFrW2dvEHf5iXPNl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Now i can afford a social media. Other one are too cheap\",\n              \"textOriginal\": \"Now i can afford a social media. Other one are too cheap\",\n              \"authorDisplayName\": \"Just4you\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS1KL8ckkB2A18lXlUrAJZEDy4CDzrwWzR5o9LL=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-02T03:51:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgySby4sxSiZA3vx8uV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Hb5rh9vXNyY\",\n          \"topLevelComment\": {\n            \"id\": \"UgySby4sxSiZA3vx8uV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Pehle Mai Soch Raha, Hitu Bhai Ko kya ho gya 😂<br><br>Baad me pta chala April Fool Hai yeh toh, Prank Ho gya 😂😂\",\n              \"textOriginal\": \"Pehle Mai Soch Raha, Hitu Bhai Ko kya ho gya 😂\\n\\nBaad me pta chala April Fool Hai yeh toh, Prank Ho gya 😂😂\",\n              \"authorDisplayName\": \"True Guess\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQKirz0qkmEwSY78P3AvcqILbrKS8myiQBXGvro=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-02T03:12:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyPdtlTfVdGJf1C8wV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Hb5rh9vXNyY\",\n          \"topLevelComment\": {\n            \"id\": \"UgyPdtlTfVdGJf1C8wV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"🤣\",\n              \"textOriginal\": \"🤣\",\n              \"authorDisplayName\": \"Mr. X\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/AobuzuGa5WXn-5eRu2X0lEfTZDi7fIMaRbHz_G3qge36j_0kd4kWujNEQ4D0roFMBpipIcW4ow=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-02T01:32:43Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyMRScaWFBOLbw--5d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Hb5rh9vXNyY\",\n          \"topLevelComment\": {\n            \"id\": \"UgyMRScaWFBOLbw--5d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"You got us, best troll of the month.\",\n              \"textOriginal\": \"You got us, best troll of the month.\",\n              \"authorDisplayName\": \"anas ouardini\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/_Kal6uiBHgZYdYHLoaY_iFL4v9nq7tj0pGXGQ_sx2kmoOIOG256CT-J0twsXFzP5mQiEtEVds10=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-01T23:46:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzHtVrHlzl9JL8fCWZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Hb5rh9vXNyY\",\n          \"topLevelComment\": {\n            \"id\": \"UgzHtVrHlzl9JL8fCWZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"actually i came here after the techburner video so in starting i got the point he is making april fool\",\n              \"textOriginal\": \"actually i came here after the techburner video so in starting i got the point he is making april fool\",\n              \"authorDisplayName\": \"Sudhanshu Srivastava\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/yEk32dEdRi0_kLr6SIlZgU6WJVuv1zrtZ0v3k_mrBu5s58GAJRaLw_-QBbVC-IPvu_F853hQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-01T19:57:38Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"ItKjzteWXFg\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugz0qnJte31oYAdFG0R4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ItKjzteWXFg\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz0qnJte31oYAdFG0R4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Bhai agar phone kho gaya to kya karoge 😅\",\n              \"textOriginal\": \"Bhai agar phone kho gaya to kya karoge 😅\",\n              \"authorDisplayName\": \"Mindonology\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/xpXZQmqh1O-YjCZSjdBSng6Jr54GxMWZPXpfTRlfqv3cRCTSeoWYNlNWledvX7E0ZcfhcQvz6T0=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-07T04:24:21Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzo0Lh2FH5zutEmmQZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ItKjzteWXFg\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzo0Lh2FH5zutEmmQZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Bro in US credit card companies will not allow UPI as they have duo poly for this ....like we are using UPI they use credit cards that too without pin so ....our achievement is good but do not compare with US at least\",\n              \"textOriginal\": \"Bro in US credit card companies will not allow UPI as they have duo poly for this ....like we are using UPI they use credit cards that too without pin so ....our achievement is good but do not compare with US at least\",\n              \"authorDisplayName\": \"vermaji\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/DHwyII4hiLp-REqDQmFCvPNSm_U4y9X2t8dRplVbsikWjBH3qEda8iswMqklyMq0g3jyKrR2xw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-12T13:15:40Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzwwOaB7B4n0xrlD_J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ItKjzteWXFg\",\n          \"topLevelComment\": {\n            \"id\": \"UgzwwOaB7B4n0xrlD_J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Same, I haven&#39;t had a wallet since over half a decade.\",\n              \"textOriginal\": \"Same, I haven't had a wallet since over half a decade.\",\n              \"authorDisplayName\": \"AllergicToBS\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSiyLNukeaidI-b3qg3-_kgU1i8y-cPOFHt0aa3PtDyp5JVEzdutppuv_J_TsaS=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-09T12:45:19Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxb10emd1lboNOMGBZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ItKjzteWXFg\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxb10emd1lboNOMGBZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Cool and scary at the same time if you lose your phone that is.\",\n              \"textOriginal\": \"Cool and scary at the same time if you lose your phone that is.\",\n              \"authorDisplayName\": \"David Srinivasan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRm66VQkSPOQe6UiEFlkSOH7S5fjpuJaqa1vA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-05T04:16:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx_LFUW00RRG-jGYyV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ItKjzteWXFg\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx_LFUW00RRG-jGYyV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I still remember 5 years back i had to go to atm just to withdraw funds to pay a filtered/packaged water guy. I have not needed to use atm in 3+ years. Too bad debit card is mandatory for banks. Even the cleaning lady at my apartment building accepted payment via UPI for Christmas gift. 🤭\",\n              \"textOriginal\": \"I still remember 5 years back i had to go to atm just to withdraw funds to pay a filtered/packaged water guy. I have not needed to use atm in 3+ years. Too bad debit card is mandatory for banks. Even the cleaning lady at my apartment building accepted payment via UPI for Christmas gift. 🤭\",\n              \"authorDisplayName\": \"Babel\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTCCijY2WYibRQyR0cZQE-mnSH8W_nWO4YMh-k=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 5,\n              \"publishedAt\": \"2023-05-05T00:13:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxH6RqL-78i3wdz-kB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ItKjzteWXFg\",\n          \"topLevelComment\": {\n            \"id\": \"UgxH6RqL-78i3wdz-kB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"America and western is not even working on this technology... they have card economy....... even if they need it they dont need india&#39;s help\",\n              \"textOriginal\": \"America and western is not even working on this technology... they have card economy....... even if they need it they dont need india's help\",\n              \"authorDisplayName\": \"prashant bajaj\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSOaTfY4qTBESme6e4eewr4SpXImpwC7nqqSw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-01T11:31:43Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxNmyzZrdcWVgRRgul4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ItKjzteWXFg\",\n          \"topLevelComment\": {\n            \"id\": \"UgxNmyzZrdcWVgRRgul4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Glad, you are sharing with us!!\",\n              \"textOriginal\": \"Glad, you are sharing with us!!\",\n              \"authorDisplayName\": \"Sucheth Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTPU_Jw3b7T9aA--1qA2F0KFwbR_NJtzHmh68TMSQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-26T11:09:47Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzTsaJPPpuPa1RgDDp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ItKjzteWXFg\",\n          \"topLevelComment\": {\n            \"id\": \"UgzTsaJPPpuPa1RgDDp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This is control. Like China has been doing with it&#39;s people.\",\n              \"textOriginal\": \"This is control. Like China has been doing with it's people.\",\n              \"authorDisplayName\": \"Omair Ibn Jafar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ9mWQhi-Lg6cbLtPIJ6LwzLTT0BjZbiVBOIWMoCf0=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-11T11:07:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxzD9h1fujMYgOGXax4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ItKjzteWXFg\",\n          \"topLevelComment\": {\n            \"id\": \"UgxzD9h1fujMYgOGXax4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I&#39;m in Africa specially Somalia, we&#39;ve been using mobile payments for the last 10 years. But we do not have social number or anything related that\",\n              \"textOriginal\": \"I'm in Africa specially Somalia, we've been using mobile payments for the last 10 years. But we do not have social number or anything related that\",\n              \"authorDisplayName\": \"Ahmed Ibrahim\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSowaPeiD_EWikhzWANUsRQTJYQS-Jt1vamjikoTQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-04-07T14:48:37Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxopLdTybtB5lS9Vtp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ItKjzteWXFg\",\n          \"topLevelComment\": {\n            \"id\": \"UgxopLdTybtB5lS9Vtp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Ye toh bhaut deep realisation hai\",\n              \"textOriginal\": \"Ye toh bhaut deep realisation hai\",\n              \"authorDisplayName\": \"daksh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR3Dce-nj61lcEWHpAeU8mAf-y6PrducJBPP0Lg8X7pdUR4eDy1sNsnpbt4Ij7W=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-04T10:33:41Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwhcjsAADns0cwWF5x4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ItKjzteWXFg\",\n          \"topLevelComment\": {\n            \"id\": \"UgwhcjsAADns0cwWF5x4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"the audio is some how muffled up\",\n              \"textOriginal\": \"the audio is some how muffled up\",\n              \"authorDisplayName\": \"Mujtaba M\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT7dw1w-9CHPnczxdG0d0O8gErRzyRdOfWge1OaRQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-03-29T23:54:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyDtwxUSgoHRa-7DMt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ItKjzteWXFg\",\n          \"topLevelComment\": {\n            \"id\": \"UgyDtwxUSgoHRa-7DMt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir aapko physics vallah ne kharid lia hai kya?\",\n              \"textOriginal\": \"Sir aapko physics vallah ne kharid lia hai kya?\",\n              \"authorDisplayName\": \"Utkarsh Shukla\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTc-I35WQaxS5WCoaLwMXYX_Rb8DlYmRFboKw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-28T13:37:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz2Mx7afK8K8KW4vH54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ItKjzteWXFg\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz2Mx7afK8K8KW4vH54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Very nice...i got to know after north America there banking system is not that easy than India.. i feel so proud financial transactions is way more easier for middle class people.\",\n              \"textOriginal\": \"Very nice...i got to know after north America there banking system is not that easy than India.. i feel so proud financial transactions is way more easier for middle class people.\",\n              \"authorDisplayName\": \"Jhil Mil\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTFZA-egbEtHZM2uUx3SquLaEbmniIKk4EnCQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-03-25T14:02:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzeeZr2VpPt39eD1lB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ItKjzteWXFg\",\n          \"topLevelComment\": {\n            \"id\": \"UgzeeZr2VpPt39eD1lB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"bangladesh me kob hoga\",\n              \"textOriginal\": \"bangladesh me kob hoga\",\n              \"authorDisplayName\": \"dhigo\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/dIUcu7HttyUTsMZA6yjVGO0CxANaBfct7TJ5hM0MMynAlekBnTtSrKY0c8TWvqS4TgsSjKVDDGA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-25T09:47:57Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx_7DGRk9zoSLa4MyN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ItKjzteWXFg\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx_7DGRk9zoSLa4MyN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"There are still small number of shopkeepers and people who do not believe in online transactions, specially in tire 3 cities. That becomes pain when they deny online payments and you dont have wallet 😂\",\n              \"textOriginal\": \"There are still small number of shopkeepers and people who do not believe in online transactions, specially in tire 3 cities. That becomes pain when they deny online payments and you dont have wallet 😂\",\n              \"authorDisplayName\": \"Praxss\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTrBqS54nSpJaZ2ekWypBHnDuWkXoOOJeYidd7rFQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-25T06:42:23Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"-4jSSxoGOSs\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgzXDiml2wxmUyZnyIF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-4jSSxoGOSs\",\n          \"topLevelComment\": {\n            \"id\": \"UgzXDiml2wxmUyZnyIF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Keepass best one for me... Bitwarden works good too.\",\n              \"textOriginal\": \"Keepass best one for me... Bitwarden works good too.\",\n              \"authorDisplayName\": \"Amar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS5n7w5ZqnKjUCVQ7vOAuEAawnwfyw3ufZFJqlPa9phM7amD9YaPR4QAL1vZTUw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-06-30T07:08:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyEtNpPtMJIHuVTkzB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-4jSSxoGOSs\",\n          \"topLevelComment\": {\n            \"id\": \"UgyEtNpPtMJIHuVTkzB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Wow your voice is so clear, please tell me which mic 🎤 you use Sir?<br>Please reply....❤\",\n              \"textOriginal\": \"Wow your voice is so clear, please tell me which mic 🎤 you use Sir?\\nPlease reply....❤\",\n              \"authorDisplayName\": \"Kanhu Behera\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTNdTC3bbXyJc5benZgsdmHkoj1XTwOKZK6ikHIew=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-29T07:09:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzbbaaNhhNUgnixuHV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-4jSSxoGOSs\",\n          \"topLevelComment\": {\n            \"id\": \"UgzbbaaNhhNUgnixuHV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"not need password manager\",\n              \"textOriginal\": \"not need password manager\",\n              \"authorDisplayName\": \"Shabbir Ahmed Shabal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ9GNNKUGdapXXGTYukfekPsqW-wgRTdudrTMnl6g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-23T12:06:25Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxbQ46iAxtQdR6Oa9d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-4jSSxoGOSs\",\n          \"topLevelComment\": {\n            \"id\": \"UgxbQ46iAxtQdR6Oa9d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"t&#39;s an &quot;a&quot; not &quot;an&quot;.\",\n              \"textOriginal\": \"t's an \\\"a\\\" not \\\"an\\\".\",\n              \"authorDisplayName\": \"anas ouardini\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/_Kal6uiBHgZYdYHLoaY_iFL4v9nq7tj0pGXGQ_sx2kmoOIOG256CT-J0twsXFzP5mQiEtEVds10=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-22T18:20:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy2vwB7xN0JfwdsLul4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-4jSSxoGOSs\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy2vwB7xN0JfwdsLul4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Shifting from Google password manager to Bitwarden\",\n              \"textOriginal\": \"Shifting from Google password manager to Bitwarden\",\n              \"authorDisplayName\": \"Sisir Chhetri\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaREI_-TqbB6zkiPmR_f0SCBumJfMwlcBuUxZA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-03-22T14:04:07Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzHyNy1f2UF3eaeZVZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-4jSSxoGOSs\",\n          \"topLevelComment\": {\n            \"id\": \"UgzHyNy1f2UF3eaeZVZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Drive doc😁\",\n              \"textOriginal\": \"Drive doc😁\",\n              \"authorDisplayName\": \"Vishad Pawar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQKFg4hdFEJMOEBFPYptIZGViUko6TtQ0DFLZkqGpI=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-22T13:59:17Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwsq8YI8f4gBmRVxQ54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-4jSSxoGOSs\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwsq8YI8f4gBmRVxQ54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Bitwarden or keepass give any one of them a try. Also, if you are not able to secure your system, don&#39;t self host please.\",\n              \"textOriginal\": \"Bitwarden or keepass give any one of them a try. Also, if you are not able to secure your system, don't self host please.\",\n              \"authorDisplayName\": \"Sanjeev\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/hrG-BX_Q_8xWTZD7-grcRqbWFf9TAMPBYKZv_2JZ3gwaWt9jfOnFAt0BLrG6paC85qdUVOiZ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-22T12:16:18Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"j0mJLvHvTjc\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyMRoC91OOw0fc9EI54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j0mJLvHvTjc\",\n          \"topLevelComment\": {\n            \"id\": \"UgyMRoC91OOw0fc9EI54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"coding was maths at last\",\n              \"textOriginal\": \"coding was maths at last\",\n              \"authorDisplayName\": \"ASHUTOSH AKKOLE\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQMjYFQIbz1OjKKWISVCGCtBr1WP9dpICDTJDkMhQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-16T14:33:49Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzZhYbyszVxKLqBc514AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j0mJLvHvTjc\",\n          \"topLevelComment\": {\n            \"id\": \"UgzZhYbyszVxKLqBc514AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Ye tu chup kar\",\n              \"textOriginal\": \"Ye tu chup kar\",\n              \"authorDisplayName\": \"Sujal Lalawat\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQqneVF8d1CG-RHC4G7xbA1lB0f5aTncdMbAzx-hg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-03T05:34:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz90lZ-fe7JSMPkkyt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j0mJLvHvTjc\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz90lZ-fe7JSMPkkyt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"C and c++ are low level language but so good so powerful that python can not even touch it it was even created with c😂\",\n              \"textOriginal\": \"C and c++ are low level language but so good so powerful that python can not even touch it it was even created with c😂\",\n              \"authorDisplayName\": \"ArrayOfSilicon\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/mILiCPEOR2sEEN0rTZymJfubzKvwiymKu6aQI3klc1I6GFUDE7PiO7FaLMfB244axGF4og-2Hg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-20T02:57:26Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw90zEFK_FeoovP46d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j0mJLvHvTjc\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw90zEFK_FeoovP46d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"... I saw the thumbnail and was disturbed because &quot;CP&quot; means something completely different among true crime fans....\",\n              \"textOriginal\": \"... I saw the thumbnail and was disturbed because \\\"CP\\\" means something completely different among true crime fans....\",\n              \"authorDisplayName\": \"Gino V\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQsX3KAcEPN5bb4xwVwyqidyhErSDHKtFMhNElkDJw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-16T11:32:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxQyPgoAR_h0WfjigV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j0mJLvHvTjc\",\n          \"topLevelComment\": {\n            \"id\": \"UgxQyPgoAR_h0WfjigV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"The sentence &quot;CP is fun&quot; will get you arrested in most countries.\",\n              \"textOriginal\": \"The sentence \\\"CP is fun\\\" will get you arrested in most countries.\",\n              \"authorDisplayName\": \"jmdesros\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTkxV-qJLuHKn3tVHo-FevWjpib-QLFevyK2lxs=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-13T21:25:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyezGaTVsY8vssHWsd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j0mJLvHvTjc\",\n          \"topLevelComment\": {\n            \"id\": \"UgyezGaTVsY8vssHWsd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Try ros and ros2.cpp is heavily used in robotics.\",\n              \"textOriginal\": \"Try ros and ros2.cpp is heavily used in robotics.\",\n              \"authorDisplayName\": \"jubin kurian biju\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTPAYHLzHjir-VIBSRgQCe2joJTisrbwsR9L-W8Alc=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-12T16:35:07Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzLs-G_Se4kGXscZkZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j0mJLvHvTjc\",\n          \"topLevelComment\": {\n            \"id\": \"UgzLs-G_Se4kGXscZkZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hitesh it&#39;s india, this is same as saying one should be learning the physics chemistry in 11th and 12th to experiment and seek challenging established laws of science . But that&#39;s a idealistic view, And we don&#39;t live in one such as that. If one doesn&#39;t tries to excel in Competition in our country He/She would be left behind period.\",\n              \"textOriginal\": \"Hitesh it's india, this is same as saying one should be learning the physics chemistry in 11th and 12th to experiment and seek challenging established laws of science . But that's a idealistic view, And we don't live in one such as that. If one doesn't tries to excel in Competition in our country He/She would be left behind period.\",\n              \"authorDisplayName\": \"ArtsyFartsyCl3ver\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/peD6JNt6hsZ5XlrK3Ll84qHvrVAOkYbMAF_b_2gUkxRa9JU-2yvE6LDU6FkmsgkoyOvsI_N5BQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-12T06:14:52Z\"\n            }\n          },\n          \"totalReplyCount\": 3\n        }\n      },\n      {\n        \"id\": \"Ugz6doGf6-35o5oXwyd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j0mJLvHvTjc\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz6doGf6-35o5oXwyd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"There is no difference. They&#39;re exactly the same. <br>- from stackoverflow [saved your time]\",\n              \"textOriginal\": \"There is no difference. They're exactly the same. \\n- from stackoverflow [saved your time]\",\n              \"authorDisplayName\": \"Rakin Farhan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQeYeXz3--iXMkMFjVMSoSw-ro0Wc-V149g7mj3iAw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-12T01:53:40Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwMqqahYmtrgqjtdW14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j0mJLvHvTjc\",\n          \"topLevelComment\": {\n            \"id\": \"UgwMqqahYmtrgqjtdW14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Title fix: CP is killing Software Development.\",\n              \"textOriginal\": \"Title fix: CP is killing Software Development.\",\n              \"authorDisplayName\": \"WISERDIVISOR\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSVqc3qMHuL9uvUqV4ec7PrCDfwImdSqiAIMPByUrRdMEVtz285BQC2lrGIL6E5=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-11T09:44:28Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy8gXsVwZ0emuIwlN14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j0mJLvHvTjc\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy8gXsVwZ0emuIwlN14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"why did you capitalise the p in Cp. sus\",\n              \"textOriginal\": \"why did you capitalise the p in Cp. sus\",\n              \"authorDisplayName\": \"ٴ\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/M9h1EJXdesULULX243aidW66NwtZtgi1P8zaMYYWIWQIJY1h5gDgpJS8UmNUBVKSBu40I5rB=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-11T08:50:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyU2jhSbTDA5PGMjuR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j0mJLvHvTjc\",\n          \"topLevelComment\": {\n            \"id\": \"UgyU2jhSbTDA5PGMjuR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hey Hitesh, I am C++ enthusiast too and I used to think the same as you do - like I did development with C++ for 2 years (Qt Framework, OpenGL, Boost and Unreal Engine). But when I got to know about the jobs available, C++ as a requirement was a minority. Also the available jobs have low to average packages (3-8 LPA) but the workload and complexity of codebase is high. On top of that, most jobs available are from companies which still work on legacy code.<br><br>So at the end of day,  how is someone supposed to stay motivated towards C++ development?<br><br>(P.S. I do know that Senior Cpp Devs get paid well... but so does any other senior developer)<br><br>Note: I love C++ a lot but at the end of day, money matters.\",\n              \"textOriginal\": \"Hey Hitesh, I am C++ enthusiast too and I used to think the same as you do - like I did development with C++ for 2 years (Qt Framework, OpenGL, Boost and Unreal Engine). But when I got to know about the jobs available, C++ as a requirement was a minority. Also the available jobs have low to average packages (3-8 LPA) but the workload and complexity of codebase is high. On top of that, most jobs available are from companies which still work on legacy code.\\n\\nSo at the end of day,  how is someone supposed to stay motivated towards C++ development?\\n\\n(P.S. I do know that Senior Cpp Devs get paid well... but so does any other senior developer)\\n\\nNote: I love C++ a lot but at the end of day, money matters.\",\n              \"authorDisplayName\": \"Junaid Siddiqui\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTAR2MRjrhfXVrhtBl7ApwTcET47zioKiF0GqG3Og=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-04-10T17:59:33Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      }\n    ]\n  },\n  \"M5PWvT3Rt94\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgwkLLosfdI0Li1HC1h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"M5PWvT3Rt94\",\n          \"topLevelComment\": {\n            \"id\": \"UgwkLLosfdI0Li1HC1h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"next is not good for microservice\",\n              \"textOriginal\": \"next is not good for microservice\",\n              \"authorDisplayName\": \"pool man\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRZQfASKwKqI6m7aqCW1NHlkSX8oSz_IYAnvtLZ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-22T12:44:03Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw3Rzc-gJPNBvDJldF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"M5PWvT3Rt94\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw3Rzc-gJPNBvDJldF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Exactly you&#39;re right ❤\",\n              \"textOriginal\": \"Exactly you're right ❤\",\n              \"authorDisplayName\": \"Poor Programmer\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/hQMqRCrTi-lBVPw8GB8lNfDD26A_Y6lU0AAkeMYHwnHya6P6n24HHplx0kBpl3RPw78VyQWzgQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-07T09:56:28Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgymYh0FsvXUdRIWSC54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"M5PWvT3Rt94\",\n          \"topLevelComment\": {\n            \"id\": \"UgymYh0FsvXUdRIWSC54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Confused with the installation part as well, and that’s exactly what brought me here. <br>Not impressed with the docs at all.\",\n              \"textOriginal\": \"Confused with the installation part as well, and that’s exactly what brought me here. \\nNot impressed with the docs at all.\",\n              \"authorDisplayName\": \"Easily Coded\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/nlYmky7AS64UMQ4OMBTOPDH7DEw4rGYfzBjWUfo61JHnrH_ZOvpiXe7XqsA7L0A1LvI2UK6S2w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T12:12:25Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxn-u0Gx23T7KKOZZJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"M5PWvT3Rt94\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxn-u0Gx23T7KKOZZJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I liked the video I can&#39;t share my POV on that because It&#39;s only 1 month for me knowing react I am learning react from past 1 month is anyone can Guide me what I need to do I am very confused from all this new documentation stuff and so much noise about it in the market what is the best optimized way to move forward Hopefully Someone Guide me Thanks Hitesh Sir for making this video ❤\",\n              \"textOriginal\": \"I liked the video I can't share my POV on that because It's only 1 month for me knowing react I am learning react from past 1 month is anyone can Guide me what I need to do I am very confused from all this new documentation stuff and so much noise about it in the market what is the best optimized way to move forward Hopefully Someone Guide me Thanks Hitesh Sir for making this video ❤\",\n              \"authorDisplayName\": \"Vishesh Gupta\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTXiSgDlz72CrgvSlk6x8zX1soO-WeR6nSy35nDnA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-18T08:44:48Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxaQ-SjrA9TwpUsc2V4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"M5PWvT3Rt94\",\n          \"topLevelComment\": {\n            \"id\": \"UgxaQ-SjrA9TwpUsc2V4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"We failed to notice the intentions from the beggining. They lied saying react is a library and that it was easy to move to or integrate and we believed (Dirty software marketing). React has always been a framework they are just simplifing the use of it now. Welcome to the real react face with no lies.\",\n              \"textOriginal\": \"We failed to notice the intentions from the beggining. They lied saying react is a library and that it was easy to move to or integrate and we believed (Dirty software marketing). React has always been a framework they are just simplifing the use of it now. Welcome to the real react face with no lies.\",\n              \"authorDisplayName\": \"Alex Abreu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSxnJ0wz2scXn3y5c9kSI5cpe5U3mLvbJCxCuq5Rw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-07T23:48:25Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxMXxhYBr-b--tHOWt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"M5PWvT3Rt94\",\n          \"topLevelComment\": {\n            \"id\": \"UgxMXxhYBr-b--tHOWt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"started react few days back and faced the same prblm. Apart from installation rest is fine but next and all in installation is confusing for a beginner. They should have given at least something about core react too.\",\n              \"textOriginal\": \"started react few days back and faced the same prblm. Apart from installation rest is fine but next and all in installation is confusing for a beginner. They should have given at least something about core react too.\",\n              \"authorDisplayName\": \"Aayushi _\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTG33slbLx2d4Qy7NK-ZB0tMP7lHa2b3mz92g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-01T19:53:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw6ZNwgBZVyjw8fkTd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"M5PWvT3Rt94\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw6ZNwgBZVyjw8fkTd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I might not at all agree with cra but 200% agree with the vite part. Would have been big time saving.\",\n              \"textOriginal\": \"I might not at all agree with cra but 200% agree with the vite part. Would have been big time saving.\",\n              \"authorDisplayName\": \"Cnerd Mahadi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/KYjzuJmDhTihJiaJxG_drZc8L3L_5BIRo9cAemmERZtZ_uRv1ZIBkDE23ItmxqaLPI6aQP0d2Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-03-30T16:50:10Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw7Yy7pcJ_ebDtGtXt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"M5PWvT3Rt94\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw7Yy7pcJ_ebDtGtXt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"You are no superior than the React Core team. So chill and relax. They know what they are putting into the docs very well. If someone has a problem, it&#39;s his problem, not that the docs are written bad.\",\n              \"textOriginal\": \"You are no superior than the React Core team. So chill and relax. They know what they are putting into the docs very well. If someone has a problem, it's his problem, not that the docs are written bad.\",\n              \"authorDisplayName\": \"Bilal Ch\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTUqBfyOx3mtZKZDeDfvjh8lEKB_DOLpKxEvlP59Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-03-28T14:33:51Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgyHbBwk7qspwJ7IA6F4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"M5PWvT3Rt94\",\n          \"topLevelComment\": {\n            \"id\": \"UgyHbBwk7qspwJ7IA6F4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"How will we deny your opinion 🙄?\",\n              \"textOriginal\": \"How will we deny your opinion 🙄?\",\n              \"authorDisplayName\": \"Salim Al Sazu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSwHEiTx5GjqMaPDDD_hD9dqQbb3APviG6AE5_n8Sg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-28T05:58:36Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzEV4EE3ZtvwUXwC8h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"M5PWvT3Rt94\",\n          \"topLevelComment\": {\n            \"id\": \"UgzEV4EE3ZtvwUXwC8h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"totally agree sir\",\n              \"textOriginal\": \"totally agree sir\",\n              \"authorDisplayName\": \"Code Noob\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/lCCGpg-WzriyNWhFof9SgXH4HwbJu9yZrmZrP-FcLU_jx3JxnYN89_siAh6_BDPrIEwtmKl0Rys=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-25T12:16:42Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwWKREtsHjwXE7WQ3V4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"M5PWvT3Rt94\",\n          \"topLevelComment\": {\n            \"id\": \"UgwWKREtsHjwXE7WQ3V4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Honestly, I am just starting off with react and still struggling to understand the basic of creating a simple web app with react. Last two days I was just trying to create a simple web app and behold on new website I started seeing frameworks stuffs , I got freaked out and the whole stuff is not beginner friendly...\",\n              \"textOriginal\": \"Honestly, I am just starting off with react and still struggling to understand the basic of creating a simple web app with react. Last two days I was just trying to create a simple web app and behold on new website I started seeing frameworks stuffs , I got freaked out and the whole stuff is not beginner friendly...\",\n              \"authorDisplayName\": \"Kingsley Onyinanya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTRSm_dEOKj9H82nieYBM_8saYKc_Q_bUUEvHCaYhnRvjt0EHmqQwBZICehJOf1=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-24T17:14:12Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"mJomfTfOJUQ\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugw4DtEmLF_DODh2J7N4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mJomfTfOJUQ\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw4DtEmLF_DODh2J7N4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"How to find sdk location in mac ?<br>I&#39;m running ios simulator\",\n              \"textOriginal\": \"How to find sdk location in mac ?\\nI'm running ios simulator\",\n              \"authorDisplayName\": \"ashu Mishra\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSpz04lZbTiEh_nuhc9w9x2RL6NgVZXOAeED9CxIg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-08T13:49:12Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy3ynNvLGnjn73rkzd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mJomfTfOJUQ\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy3ynNvLGnjn73rkzd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Open Debugger in iOS simulator not working in RN 0.70.0\",\n              \"textOriginal\": \"Open Debugger in iOS simulator not working in RN 0.70.0\",\n              \"authorDisplayName\": \"Maharsh Soni\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQIC8xVj1cQ3gMFGSwpLuRD3vBHPcViz888xUkUNg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-11T10:43:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzoglHwXLp73O2bWT94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mJomfTfOJUQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgzoglHwXLp73O2bWT94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"about:invalid#zCSafez\\\"></a><a href=\\\"about:invalid#zCSafez\\\"></a><a href=\\\"about:invalid#zCSafez\\\"></a><a href=\\\"about:invalid#zCSafez\\\"></a><a href=\\\"about:invalid#zCSafez\\\"></a><a href=\\\"about:invalid#zCSafez\\\"></a><a href=\\\"about:invalid#zCSafez\\\"></a><a href=\\\"about:invalid#zCSafez\\\"></a><a href=\\\"about:invalid#zCSafez\\\"></a><a href=\\\"about:invalid#zCSafez\\\"></a><a href=\\\"about:invalid#zCSafez\\\"></a><a href=\\\"about:invalid#zCSafez\\\"></a><a href=\\\"about:invalid#zCSafez\\\"></a><a href=\\\"about:invalid#zCSafez\\\"></a><a href=\\\"about:invalid#zCSafez\\\"></a><a href=\\\"about:invalid#zCSafez\\\"></a>\",\n              \"textOriginal\": \"\",\n              \"authorDisplayName\": \"Bhupesh Yadav\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS1Fu6dwclfVEBR2uj922ILSWtXbIFT6j3qmz0low=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-12T09:52:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugylpi4OOaPFniT_9zZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mJomfTfOJUQ\",\n          \"topLevelComment\": {\n            \"id\": \"Ugylpi4OOaPFniT_9zZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi, can I enroll in the devops course now?\",\n              \"textOriginal\": \"Hi, can I enroll in the devops course now?\",\n              \"authorDisplayName\": \"Derrick Njoroge\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTdHYw2MbGLdga1iauIE_ruSpmx6vE6g2yOMNCD=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-14T08:56:49Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyaAkTyarONpSU4zU54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mJomfTfOJUQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgyaAkTyarONpSU4zU54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hii hitesh sir, I am an ios developer and have one question from you that&#39;s Apple is spending lots of money and resources to build app in swiftui.  Most of the companies hiring react native so why Apple is foucus on switui ? Except mnc or  products based companies there are millions of companies in the word who worked on react native so why they switch uikit to switui if no one use their technology. Companies asking react so may be there chance they stop supporting react native after fully updated on swiftui? Please solve my queries sir\",\n              \"textOriginal\": \"Hii hitesh sir, I am an ios developer and have one question from you that's Apple is spending lots of money and resources to build app in swiftui.  Most of the companies hiring react native so why Apple is foucus on switui ? Except mnc or  products based companies there are millions of companies in the word who worked on react native so why they switch uikit to switui if no one use their technology. Companies asking react so may be there chance they stop supporting react native after fully updated on swiftui? Please solve my queries sir\",\n              \"authorDisplayName\": \"GauravThe SuperDude\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS4n5pieZe41ECZtvdVF3qLy37NlEplIkW-iLOZvw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-08T16:10:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwnwMHgf4zjHTiUB0d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mJomfTfOJUQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgwnwMHgf4zjHTiUB0d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Awesome series 😍👌\",\n              \"textOriginal\": \"Awesome series 😍👌\",\n              \"authorDisplayName\": \"Anirudh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/A4h4VGCIwBRExEWlEBqnrCpYOlln5gBllNsSq0vubFHFNcEdKXdzNH0UiY-52EB3_3NEYKDBbA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-08T15:45:56Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy4ReJD-ljXdNAxDAN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mJomfTfOJUQ\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy4ReJD-ljXdNAxDAN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Wow, <br>I wish I was as capable as you are at programming Sir. <br>Really big fan of you.\",\n              \"textOriginal\": \"Wow, \\nI wish I was as capable as you are at programming Sir. \\nReally big fan of you.\",\n              \"authorDisplayName\": \"Shaun Malik\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRflh4p1iEoi7BhJjFq4ap6R8HOfAEUTN3agLaSAw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 3,\n              \"publishedAt\": \"2023-03-08T14:55:16Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxlwYtOLkPrCdV6jHJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mJomfTfOJUQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgxlwYtOLkPrCdV6jHJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you so much sir ❤️\",\n              \"textOriginal\": \"Thank you so much sir ❤️\",\n              \"authorDisplayName\": \"Rahul Contemplate\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/cUZkvMgRAJHxaz9ZhN8kuBZkY8nGwSeAJlTwcL1hu0OuFH9mJE8GJKou2vk8voCUvh2Hkb6vjyA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-03-07T15:03:30Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      }\n    ]\n  },\n  \"BayDYRigP5I\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgwjlsJFvlks3IrlReB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BayDYRigP5I\",\n          \"topLevelComment\": {\n            \"id\": \"UgwjlsJFvlks3IrlReB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"can i know whts your vs code theme is? looks so nice\",\n              \"textOriginal\": \"can i know whts your vs code theme is? looks so nice\",\n              \"authorDisplayName\": \"sats\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS2yrTN1jTPRRq3VbBZQmyw1Fy0iAmtrG1BgA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-18T01:54:32Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwaNldeIS77021jZ-x4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BayDYRigP5I\",\n          \"topLevelComment\": {\n            \"id\": \"UgwaNldeIS77021jZ-x4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"beer\",\n              \"textOriginal\": \"beer\",\n              \"authorDisplayName\": \"abhinav kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/q7nuYtgrNkgnuWgm2fC8VN9cG4gmKe1ejXqZWMCJ_WRiNYhHMq7XzjWg45OYZDkUwUJ0l8_iZgQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-03-23T13:45:17Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyNagfTxhGCCCuLB0J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BayDYRigP5I\",\n          \"topLevelComment\": {\n            \"id\": \"UgyNagfTxhGCCCuLB0J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Who else was continuously looking at that ICED TEA  for first 10 seconds???\",\n              \"textOriginal\": \"Who else was continuously looking at that ICED TEA  for first 10 seconds???\",\n              \"authorDisplayName\": \"Amol Barkale\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRMyZyQz9CpkXCPLVm43CzaJFBmppSdIyCcHg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-17T10:55:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyilAA5mlpkC8yEOnp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BayDYRigP5I\",\n          \"topLevelComment\": {\n            \"id\": \"UgyilAA5mlpkC8yEOnp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Very Helpful video 💌\",\n              \"textOriginal\": \"Very Helpful video 💌\",\n              \"authorDisplayName\": \"Aditya Sid\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRxfzavtc0w29VfITO2JlNVYYvc_aGkp1ClzQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-10T05:39:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxPCsgeTP7lgd10-uR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BayDYRigP5I\",\n          \"topLevelComment\": {\n            \"id\": \"UgxPCsgeTP7lgd10-uR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello, now a days devs dont use browser debugger since it doesnt support react-native-reanimated\",\n              \"textOriginal\": \"Hello, now a days devs dont use browser debugger since it doesnt support react-native-reanimated\",\n              \"authorDisplayName\": \"Shreyas Bangramanjeshwar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQXpZGctD-jPd5yoX73aIL53lFYz6ijn_oFqTUXFwJTXiAd82iJywR0Q8K8OKm7=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-10T02:54:06Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxNPK-ShTWFKHuDH3p4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BayDYRigP5I\",\n          \"topLevelComment\": {\n            \"id\": \"UgxNPK-ShTWFKHuDH3p4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir your energy 💥💥also  thank you❤\",\n              \"textOriginal\": \"sir your energy 💥💥also  thank you❤\",\n              \"authorDisplayName\": \"aniket jha\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRaKJu2zTYs2it-BDJRM63izVOpm-AzX-uzTrfa7QU=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-07T17:02:57Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgyNQUQ_pjWFrWdFoxt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BayDYRigP5I\",\n          \"topLevelComment\": {\n            \"id\": \"UgyNQUQ_pjWFrWdFoxt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir in this series plz also uplaod video how we push notifications in react native plz\",\n              \"textOriginal\": \"Sir in this series plz also uplaod video how we push notifications in react native plz\",\n              \"authorDisplayName\": \"usman markaz\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/h-49H9bllQeJQBxhwzYIR-yU18ogwPTOrf2x-PWkVWYzaljoHZIyuF9xE8_2cISe3ykB5ZQv=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-07T15:37:46Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzst-DvU5ltsYzLOtt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BayDYRigP5I\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzst-DvU5ltsYzLOtt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"One of the finest programming teachers... आभार गुरुजी🙏🙏\",\n              \"textOriginal\": \"One of the finest programming teachers... आभार गुरुजी🙏🙏\",\n              \"authorDisplayName\": \"Tech Sonaniya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQVnLKc6m1gL223UTY9N0F-cFBpJw5rMyWT-_Ej_Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-07T15:27:49Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzhLz7XrsL5QK4NVNx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BayDYRigP5I\",\n          \"topLevelComment\": {\n            \"id\": \"UgzhLz7XrsL5QK4NVNx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This series is boosting my coding self-assurance.\",\n              \"textOriginal\": \"This series is boosting my coding self-assurance.\",\n              \"authorDisplayName\": \"Rahul Contemplate\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/cUZkvMgRAJHxaz9ZhN8kuBZkY8nGwSeAJlTwcL1hu0OuFH9mJE8GJKou2vk8voCUvh2Hkb6vjyA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-07T14:57:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyJOluPcRlcADkjLIV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BayDYRigP5I\",\n          \"topLevelComment\": {\n            \"id\": \"UgyJOluPcRlcADkjLIV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi, I have started game development using unity. Which Mac model is good for development? I already have mac book air M1 + windows pc which has amd ryzen 5 5600x and rtx3060 with 16gb ram. i was planning to sell both and buy a powerfull mac laptop what would you suggest?\",\n              \"textOriginal\": \"Hi, I have started game development using unity. Which Mac model is good for development? I already have mac book air M1 + windows pc which has amd ryzen 5 5600x and rtx3060 with 16gb ram. i was planning to sell both and buy a powerfull mac laptop what would you suggest?\",\n              \"authorDisplayName\": \"Ultimate_GameDev\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Ymvh_wBGJ7KztmByM9yhZic7tEft-fSwtX5ZLbgzpXgtPkESJ5U-bdcOUjq4HaHwpmFQMyDW6g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-07T14:53:40Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugyy8SyxTu-3GKpLSN14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"BayDYRigP5I\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyy8SyxTu-3GKpLSN14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir i have one question how much time is required to complete this series means how many videos are remaining for this?\",\n              \"textOriginal\": \"Sir i have one question how much time is required to complete this series means how many videos are remaining for this?\",\n              \"authorDisplayName\": \"usman markaz\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/h-49H9bllQeJQBxhwzYIR-yU18ogwPTOrf2x-PWkVWYzaljoHZIyuF9xE8_2cISe3ykB5ZQv=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-06T02:34:41Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      }\n    ]\n  },\n  \"molTIg-zvGI\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugz8eCUjl-9JMtdVYJx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"molTIg-zvGI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz8eCUjl-9JMtdVYJx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Respect++ for your effort to record 1 hr long video again with this much energy! 🫡🫡<br><br>Really enjoying the series sir.😊\",\n              \"textOriginal\": \"Respect++ for your effort to record 1 hr long video again with this much energy! 🫡🫡\\n\\nReally enjoying the series sir.😊\",\n              \"authorDisplayName\": \"Tabish Nadeem\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRrGNwm9GSN8kNq3R7dVJYqCE-wTTAEbfNemOqJxQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-10T19:15:32Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxEmOXKLNltUtu5Lwp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"molTIg-zvGI\",\n          \"topLevelComment\": {\n            \"id\": \"UgxEmOXKLNltUtu5Lwp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"thank you\",\n              \"textOriginal\": \"thank you\",\n              \"authorDisplayName\": \"Bilel Rahmouni\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRT0DTj483znRj6V65bUasZ7bgRgCyRoXTVnwZUBw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-02T04:24:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwMzcxL2jxhsDxMbtx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"molTIg-zvGI\",\n          \"topLevelComment\": {\n            \"id\": \"UgwMzcxL2jxhsDxMbtx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"waste... hownto call reset outside formik?\",\n              \"textOriginal\": \"waste... hownto call reset outside formik?\",\n              \"authorDisplayName\": \"All you want to know\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/gmU4dtxzf1SXmHkgOy6L-Wc-F2kvVyZrN8M9ExV-MPlBpQ8-HiqJgvyqN56U2to5k7wYPRY0ew=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-01T07:43:31Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx22U30dFCI7O6Me014AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"molTIg-zvGI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx22U30dFCI7O6Me014AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"do you have a tutorial like this with API, database?\",\n              \"textOriginal\": \"do you have a tutorial like this with API, database?\",\n              \"authorDisplayName\": \"Mark Angelo Letada\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/DtuEwoyCikuV5_BVZbWHgjzvn0nad8gNKRIS0HTJTm2twdVtnJLye3gD_iL8RqxZCdVNdebc=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-19T07:45:43Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      },\n      {\n        \"id\": \"Ugy_EhvcJ-x_Rk9FvxN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"molTIg-zvGI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy_EhvcJ-x_Rk9FvxN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Strongly needed video\",\n              \"textOriginal\": \"Strongly needed video\",\n              \"authorDisplayName\": \"Abhay Verma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSFU6VWGGzeiWqLXxexeTjf9fbJhkyFqWXmtBhuag=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-08T05:01:47Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwZ8KnfC7hpHY2J50h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"molTIg-zvGI\",\n          \"topLevelComment\": {\n            \"id\": \"UgwZ8KnfC7hpHY2J50h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"make a video on agenda node package for scheduling or delete data , for this i will sponsor you but i am not that much rich\",\n              \"textOriginal\": \"make a video on agenda node package for scheduling or delete data , for this i will sponsor you but i am not that much rich\",\n              \"authorDisplayName\": \"ARSALAN AWAN\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytyo8ieqLBptVMqXCmjQ4HMT95kjcGmRFd6R-zUFFflzASnnxP1agdWHXJoAwKtalbSE7UcMZz4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-07T10:49:29Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxWHuiLTG3bSt0xIAx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"molTIg-zvGI\",\n          \"topLevelComment\": {\n            \"id\": \"UgxWHuiLTG3bSt0xIAx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Superb.I am enjoying the process 😍\",\n              \"textOriginal\": \"Superb.I am enjoying the process 😍\",\n              \"authorDisplayName\": \"Wazry Mohamed\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQpYpYZLx6vazqT0djH-cOan-EOmOCIw4pD1nEcKDHpPlztCo6yWroXHjZz-Z00=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-06T18:10:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxhcmvPKn17xI9W1ol4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"molTIg-zvGI\",\n          \"topLevelComment\": {\n            \"id\": \"UgxhcmvPKn17xI9W1ol4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Awesome! Grateful for the content you&#39;re putting out. Waiting for the next ones.\",\n              \"textOriginal\": \"Awesome! Grateful for the content you're putting out. Waiting for the next ones.\",\n              \"authorDisplayName\": \"Reuben Thomas\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQkD-0E1zswtJVMcr9LOAlvnHIUBHVslE-r9Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-06T17:34:18Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx06bztT9muGQvajA94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"molTIg-zvGI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx06bztT9muGQvajA94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Fantastic video! 😍\",\n              \"textOriginal\": \"Fantastic video! 😍\",\n              \"authorDisplayName\": \"Anirudh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/A4h4VGCIwBRExEWlEBqnrCpYOlln5gBllNsSq0vubFHFNcEdKXdzNH0UiY-52EB3_3NEYKDBbA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-06T16:33:54Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"iOvs_dsbm2M\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugxv9BPe9_HVLNbImNl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iOvs_dsbm2M\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxv9BPe9_HVLNbImNl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Also where is that instagram killer be real??\",\n              \"textOriginal\": \"Also where is that instagram killer be real??\",\n              \"authorDisplayName\": \"Yash Bhidawe\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQkjy2KF3G5QBB-Oe9jo6ac5CHkCBPHUh7iv5UO8Ok=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-19T12:20:32Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyaDNa3Hbuv0XQo_3d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iOvs_dsbm2M\",\n          \"topLevelComment\": {\n            \"id\": \"UgyaDNa3Hbuv0XQo_3d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Signal nhi araha app ka\",\n              \"textOriginal\": \"Signal nhi araha app ka\",\n              \"authorDisplayName\": \"SKILL.SPIRIT\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Q3FlrmDn0vuHC6imofduuv4TiJnrrN1OswApuGikoqmiwn9afWLa2NCQMfW8proJWXOW0i-epOI=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-15T19:57:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz_rZyURer8Nze8OYJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iOvs_dsbm2M\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz_rZyURer8Nze8OYJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"😂😂\",\n              \"textOriginal\": \"😂😂\",\n              \"authorDisplayName\": \"SKILL.SPIRIT\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Q3FlrmDn0vuHC6imofduuv4TiJnrrN1OswApuGikoqmiwn9afWLa2NCQMfW8proJWXOW0i-epOI=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-15T19:57:00Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxQW6dRfUpzWp-fmPd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iOvs_dsbm2M\",\n          \"topLevelComment\": {\n            \"id\": \"UgxQW6dRfUpzWp-fmPd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Signal is better than whatsapp\",\n              \"textOriginal\": \"Signal is better than whatsapp\",\n              \"authorDisplayName\": \"MOONLIGHT\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTdfagzwKXqny0l2H8GzOmWc7E9pDlrylk_rDlE3psMEnmgBwLfkV5Oal-zlP--=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-11T19:11:29Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwKCXQq_FzBLEW3FvJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iOvs_dsbm2M\",\n          \"topLevelComment\": {\n            \"id\": \"UgwKCXQq_FzBLEW3FvJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Mera so shi chal raha signal pe 😂\",\n              \"textOriginal\": \"Mera so shi chal raha signal pe 😂\",\n              \"authorDisplayName\": \"Ankit Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQiA7tc4Jw2E7F5UhfcN8KL2XZ1QgkhBi-X2CkcSg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-07T03:11:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxs-GBdwJvBUuHgFfd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iOvs_dsbm2M\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxs-GBdwJvBUuHgFfd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I chat with only one petson on it...  My vrst friend. 🥹\",\n              \"textOriginal\": \"I chat with only one petson on it...  My vrst friend. 🥹\",\n              \"authorDisplayName\": \"Babel\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTCCijY2WYibRQyR0cZQE-mnSH8W_nWO4YMh-k=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-05T11:49:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyAiNCDKUsjB6c9fml4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iOvs_dsbm2M\",\n          \"topLevelComment\": {\n            \"id\": \"UgyAiNCDKUsjB6c9fml4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Lmao I just remember, I downloaded the app long ago, idk what to do with it now. Probably gonna uninstall it rn to save my phone space 🗿\",\n              \"textOriginal\": \"Lmao I just remember, I downloaded the app long ago, idk what to do with it now. Probably gonna uninstall it rn to save my phone space 🗿\",\n              \"authorDisplayName\": \"Pancham Barman\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRm76-nVPxf2mixOq98dZixjE1oRsncjIJIog=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-04-30T10:05:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwCXLINKaRsFangEIp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iOvs_dsbm2M\",\n          \"topLevelComment\": {\n            \"id\": \"UgwCXLINKaRsFangEIp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"the app has nothing but scammers.\",\n              \"textOriginal\": \"the app has nothing but scammers.\",\n              \"authorDisplayName\": \"bodhi kaori\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/WxttaKytaovjv0K7PEqZTS9tokshZ5R-Kr7HTb0iNiqW3L-QTGOgfpHA38J1FruDIlHgjW5iBoc=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-29T07:34:53Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyEFCoFuYECObaGl694AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iOvs_dsbm2M\",\n          \"topLevelComment\": {\n            \"id\": \"UgyEFCoFuYECObaGl694AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sponsored...\",\n              \"textOriginal\": \"Sponsored...\",\n              \"authorDisplayName\": \"Zaff Live\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/J58vWe2TNak2COFl-uOalZZ1AI_uaTAowhBgmt6pcV0WCyM5v9DOfctAapYub3hQ7YdJUAYm=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-31T16:55:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzKjsOE6Pv70oEKs-54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iOvs_dsbm2M\",\n          \"topLevelComment\": {\n            \"id\": \"UgzKjsOE6Pv70oEKs-54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"helo\",\n              \"textOriginal\": \"helo\",\n              \"authorDisplayName\": \"Sonu pali\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQBz4UEtWC2a05z1Wbod4QUGs4DGJeP4Rixcw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-31T11:39:28Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzc2uYCo8RP0jkXFGt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iOvs_dsbm2M\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzc2uYCo8RP0jkXFGt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I installed but after some time I removed it<br>😅\",\n              \"textOriginal\": \"I installed but after some time I removed it\\n😅\",\n              \"authorDisplayName\": \"Praveen Yadav\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQD794mr-vcddaQgi7lYX7q-wL0VEEeI3er6vj0ng=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-25T17:57:07Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxb5Rtz3m6DVEhE5-B4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iOvs_dsbm2M\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxb5Rtz3m6DVEhE5-B4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"my friend made me get it and she&#39;s my best friend now because I got it, we text every day :)\",\n              \"textOriginal\": \"my friend made me get it and she's my best friend now because I got it, we text every day :)\",\n              \"authorDisplayName\": \"Space Butterfly\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRrA9z-JShoDx8-TVuVZ5nEYRr86PAKZHvyXQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-11T22:14:31Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"vHYuQacSnzo\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugwr4oC7AeNPfVgbiB94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"vHYuQacSnzo\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwr4oC7AeNPfVgbiB94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sorry man, but what did you want to say with this video? This video has a name &quot;BlueBird and Q promises&quot; and you are are asking at the end if we want to you make a video about BlueBird? Seriously? :D\",\n              \"textOriginal\": \"Sorry man, but what did you want to say with this video? This video has a name \\\"BlueBird and Q promises\\\" and you are are asking at the end if we want to you make a video about BlueBird? Seriously? :D\",\n              \"authorDisplayName\": \"Vaclav Vlcek\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQFWG2j-A4aFDCdozq8Zj-Ud74pbCydDKpkCA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2021-11-18T22:05:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzynk-deMrPvCfC1cd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"vHYuQacSnzo\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzynk-deMrPvCfC1cd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir,  Make another part of bluebird promises\",\n              \"textOriginal\": \"Sir,  Make another part of bluebird promises\",\n              \"authorDisplayName\": \"Film Star\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Y24ja1erwE66AoJoLc_6gNFssp6Ed2CxlPEuGkK8OPPnQchcPb6nUxaCyywU3SA-FWPsnrHWLw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2020-11-29T14:41:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxh5Rp6jpXTSdKzYHB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"vHYuQacSnzo\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxh5Rp6jpXTSdKzYHB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"/home/dharmendra/mongoTube/test/mo_helper_test.js:3<br>mongoose.Promise = globle.Promise; // ES6 - promise<br>                   ^<br>ReferenceError: globle is not defined<br>    at Object.&lt;anonymous&gt; (/home/dharmendra/mongoTube/test/mo_helper_test.js:3:20)<br>    at Module._compile (internal/modules/cjs/loader.js:689:30)<br>    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)<br>    at Module.load (internal/modules/cjs/loader.js:599:32)<br>    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)<br>    at Function.Module._load (internal/modules/cjs/loader.js:530:3)<br>    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)<br>    at startup (internal/bootstrap/node.js:279:19)<br>    at bootstrapNodeJSCore (internal/bootstrap/node.js:696:3)<br><br>After writing the ES6 promise this error showed.\",\n              \"textOriginal\": \"/home/dharmendra/mongoTube/test/mo_helper_test.js:3\\nmongoose.Promise = globle.Promise; // ES6 - promise\\n                   ^\\nReferenceError: globle is not defined\\n    at Object.<anonymous> (/home/dharmendra/mongoTube/test/mo_helper_test.js:3:20)\\n    at Module._compile (internal/modules/cjs/loader.js:689:30)\\n    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)\\n    at Module.load (internal/modules/cjs/loader.js:599:32)\\n    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)\\n    at Function.Module._load (internal/modules/cjs/loader.js:530:3)\\n    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)\\n    at startup (internal/bootstrap/node.js:279:19)\\n    at bootstrapNodeJSCore (internal/bootstrap/node.js:696:3)\\n\\nAfter writing the ES6 promise this error showed.\",\n              \"authorDisplayName\": \"Dharmendra Prasad\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/8_9kqzHZDwy1gq7E4fCTkQNFjWi68lMlCVusG2l5nD_yVo1bQDkGUJWPYHHek9TS1QGV0t0AGA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2020-07-16T09:47:53Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgySlHRylnCssCRfB6F4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"vHYuQacSnzo\",\n          \"topLevelComment\": {\n            \"id\": \"UgySlHRylnCssCRfB6F4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Yes, please make a video about the bluebird and q promises libraries\",\n              \"textOriginal\": \"Yes, please make a video about the bluebird and q promises libraries\",\n              \"authorDisplayName\": \"Karnam Kalpesh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR4jFrArVu9y3BVT1vJkBUDKH47v3xbZ28dIGu4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2020-07-15T07:46:08Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgycbukbUCQvrfvTX3l4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"vHYuQacSnzo\",\n          \"topLevelComment\": {\n            \"id\": \"UgycbukbUCQvrfvTX3l4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir I am currently working on designing a LMS system should i go with ES6 promises or Bluebird\",\n              \"textOriginal\": \"Sir I am currently working on designing a LMS system should i go with ES6 promises or Bluebird\",\n              \"authorDisplayName\": \"nikhil kumar Ghanghor\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT0Xu2gAggPVGal6Y04Hlo_QcudpwMoFtm6pypqDQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2019-06-11T12:39:49Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzXacfJVdF9Mv2dA-Z4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"vHYuQacSnzo\",\n          \"topLevelComment\": {\n            \"id\": \"UgzXacfJVdF9Mv2dA-Z4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Pls make video comparing ES6 promises and Bluebird\",\n              \"textOriginal\": \"Pls make video comparing ES6 promises and Bluebird\",\n              \"authorDisplayName\": \"Srikanth kolli\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTG59ZlePGQ2oJoFCxKJf4kjM2fHE-bMk7sd0-e-A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2019-05-29T15:51:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwPOhILGIDHwTVv6DF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"vHYuQacSnzo\",\n          \"topLevelComment\": {\n            \"id\": \"UgwPOhILGIDHwTVv6DF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Lovely videos. Thanks a lot. Could you please make the sound little louder please? (We can always reduce the sound but not amplify :D )\",\n              \"textOriginal\": \"Lovely videos. Thanks a lot. Could you please make the sound little louder please? (We can always reduce the sound but not amplify :D )\",\n              \"authorDisplayName\": \"Asif Sabir\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQtGTdqHDa6e0T9Cyohig1BVCCpzRLirxMmMjojkA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2019-05-29T14:56:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzFlPBRqrt9HJ5XLTp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"vHYuQacSnzo\",\n          \"topLevelComment\": {\n            \"id\": \"UgzFlPBRqrt9HJ5XLTp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Bro theme name\",\n              \"textOriginal\": \"Bro theme name\",\n              \"authorDisplayName\": \"nareshd\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRsIsVVDh29moYim5BBV1sdfmU7hhOynJKraaCHJA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2019-05-29T04:00:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw71Q-sBPq4tb8-72h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"vHYuQacSnzo\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw71Q-sBPq4tb8-72h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Recently it was on news about eBay using web assembly for 50% faster app,sir please make a video on web assembly language and what&#39;s its uses .....\",\n              \"textOriginal\": \"Recently it was on news about eBay using web assembly for 50% faster app,sir please make a video on web assembly language and what's its uses .....\",\n              \"authorDisplayName\": \"Sohan Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRYL1TPF8MhFIp4h9ZjIZpZfY_Sk84ooUMm9tDlxg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2019-05-29T03:57:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzfuS7MscgqrShBa9l4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"vHYuQacSnzo\",\n          \"topLevelComment\": {\n            \"id\": \"UgzfuS7MscgqrShBa9l4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Please make video on bluebird promises\",\n              \"textOriginal\": \"Please make video on bluebird promises\",\n              \"authorDisplayName\": \"Rushikesh ganesh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ2QPVA6WkqX3IFP0GsAGYY14y2MkiCp0DqJPYLTA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2019-05-29T03:35:51Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz2YyR2zYw-0beZ8vV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"vHYuQacSnzo\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz2YyR2zYw-0beZ8vV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir  I tried asking some queries before taking one of your courses but I couldn&#39;t . Neither I got a reply from the no available on your website nor they received my call? How can I get my confusion cleared?\",\n              \"textOriginal\": \"Sir  I tried asking some queries before taking one of your courses but I couldn't . Neither I got a reply from the no available on your website nor they received my call? How can I get my confusion cleared?\",\n              \"authorDisplayName\": \"Gaurav Das\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTMxHMWedYE4OK4ZAyk2TFmKecxzGszGTeq3sI_7w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2019-05-29T02:58:29Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzucz25Zd_s2AUsGOJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"vHYuQacSnzo\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzucz25Zd_s2AUsGOJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Good video....what theme are you using for vs code?\",\n              \"textOriginal\": \"Good video....what theme are you using for vs code?\",\n              \"authorDisplayName\": \"Aswath S\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQQ1w1PKZQWCfurwqyba1_eGJAHhCh0yMBOHmSPIQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2019-05-29T02:36:52Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyBlkt_yVg1LYzzUP14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"vHYuQacSnzo\",\n          \"topLevelComment\": {\n            \"id\": \"UgyBlkt_yVg1LYzzUP14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Lots of love from NEPAL &lt;3\",\n              \"textOriginal\": \"Lots of love from NEPAL <3\",\n              \"authorDisplayName\": \"Earnly Online\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRajPwwJEuW1csNdbf1b13lgIHZ090pST8G-awHTg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2019-05-29T02:32:34Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxE2CG422LAyDzcU7d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"vHYuQacSnzo\",\n          \"topLevelComment\": {\n            \"id\": \"UgxE2CG422LAyDzcU7d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"First here\",\n              \"textOriginal\": \"First here\",\n              \"authorDisplayName\": \"xx xx\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSIYNZtSi7iHFBgnoVgRoMpf9CQJT_bXeAGd98dkg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2019-05-29T02:30:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"rj0L3XBo8Jg\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugx0cm-XmFOKlOr0gAF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rj0L3XBo8Jg\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx0cm-XmFOKlOr0gAF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"That&#39;s one reel , see you later\",\n              \"textOriginal\": \"That's one reel , see you later\",\n              \"authorDisplayName\": \"Dev Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRIU1MkQ2pzXRPWz78PPH9jVsVmriNA1pDT23yOtAA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-04-17T09:43:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzcorZ2CbdkRCXryx14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rj0L3XBo8Jg\",\n          \"topLevelComment\": {\n            \"id\": \"UgzcorZ2CbdkRCXryx14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Waiting for the video\",\n              \"textOriginal\": \"Waiting for the video\",\n              \"authorDisplayName\": \"Mbs Yaswanth\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS7EOgCdbtb8P0kVwtFMgyTgpzaDR1vmdYk2TA_vA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-21T01:22:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxtjY6I9XxYx9FtOpF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rj0L3XBo8Jg\",\n          \"topLevelComment\": {\n            \"id\": \"UgxtjY6I9XxYx9FtOpF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This is great 😀\",\n              \"textOriginal\": \"This is great 😀\",\n              \"authorDisplayName\": \"Mbs Yaswanth\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS7EOgCdbtb8P0kVwtFMgyTgpzaDR1vmdYk2TA_vA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-21T01:22:16Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwc7Hup_JWoG7eMUpl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rj0L3XBo8Jg\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwc7Hup_JWoG7eMUpl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Awesome!!\",\n              \"textOriginal\": \"Awesome!!\",\n              \"authorDisplayName\": \"Santhosh N\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaStE_dEd9KgWDpqAaYh4v82XgXXazJposzmSrnRqho=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-19T16:31:55Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxA0i-pRHSH7JjOAdR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rj0L3XBo8Jg\",\n          \"topLevelComment\": {\n            \"id\": \"UgxA0i-pRHSH7JjOAdR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"ji guruji\",\n              \"textOriginal\": \"ji guruji\",\n              \"authorDisplayName\": \"Pawan Choure\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/GwOjUcuRJaDUyVG9amUwfFKxe9OWCW925mrrmDlqaFWEMvB8O_KmLAIwVg0727XXXbOo26n37w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-19T08:27:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzclYAEr_6X-sdqRwF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rj0L3XBo8Jg\",\n          \"topLevelComment\": {\n            \"id\": \"UgzclYAEr_6X-sdqRwF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"That&#39;s 1 minute see you tomorrow🔥\",\n              \"textOriginal\": \"That's 1 minute see you tomorrow🔥\",\n              \"authorDisplayName\": \"Hasan raja\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR_bFGK6fXficQ1gF4nxzXshwY8Ie_shBM-OdD61Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2022-06-19T08:04:18Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzEp5UQYwsqOeE5qtJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rj0L3XBo8Jg\",\n          \"topLevelComment\": {\n            \"id\": \"UgzEp5UQYwsqOeE5qtJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Eagerly waiting for the video on nice daily\",\n              \"textOriginal\": \"Eagerly waiting for the video on nice daily\",\n              \"authorDisplayName\": \"secureITmania\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/yloikADazI28nIZsq762nxTaPmaNUA1BE7D4rQPoRR9W4shm9ycqIym-fiKwOx6ZnvoCOlehAQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-19T07:58:55Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxw7aDy436eO5XZB0J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rj0L3XBo8Jg\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxw7aDy436eO5XZB0J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"That&#39;s one minute ??????????????????????\",\n              \"textOriginal\": \"That's one minute ??????????????????????\",\n              \"authorDisplayName\": \"Vishad Pawar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQKFg4hdFEJMOEBFPYptIZGViUko6TtQ0DFLZkqGpI=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-19T07:22:13Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyZ-xToklH3bayMIxN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rj0L3XBo8Jg\",\n          \"topLevelComment\": {\n            \"id\": \"UgyZ-xToklH3bayMIxN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"nas daily  content creater with tech content provider hitesh  chaudhary.\",\n              \"textOriginal\": \"nas daily  content creater with tech content provider hitesh  chaudhary.\",\n              \"authorDisplayName\": \"YASH PREET\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/QzliuMgoDElNyxxnEcKu3lsi-nBHEbleC2qUJajxn28QRd6xP3kgj3bGEZPSKXGFgqsjTO-pUA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-19T02:53:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxMAu0YqQwcXIffyHN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rj0L3XBo8Jg\",\n          \"topLevelComment\": {\n            \"id\": \"UgxMAu0YqQwcXIffyHN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Love this Hitesh bhaiya\",\n              \"textOriginal\": \"Love this Hitesh bhaiya\",\n              \"authorDisplayName\": \"Mohammed Raqeeb\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTIiJezSxW9A6EB1XDG6ktBRA2cG0ai39HBwrR5OQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-19T02:30:43Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyQJXN7DnYrfNUJkTB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rj0L3XBo8Jg\",\n          \"topLevelComment\": {\n            \"id\": \"UgyQJXN7DnYrfNUJkTB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Amazing Hitesh 🔥. Do you have any idea till when Nuseir is in Bangalore and will he do another meetup? I might come to Bangalore for attending the next hackathon and would be amazing to meet him and obviously the entire Ineuron team.\",\n              \"textOriginal\": \"Amazing Hitesh 🔥. Do you have any idea till when Nuseir is in Bangalore and will he do another meetup? I might come to Bangalore for attending the next hackathon and would be amazing to meet him and obviously the entire Ineuron team.\",\n              \"authorDisplayName\": \"Raghav Srivastava\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT8bTVoQV2K08HWtSTg9AhNZvzRaVTkYa71WExEGvs=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-06-18T22:39:31Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzXCm4oVW_2yotH5cd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rj0L3XBo8Jg\",\n          \"topLevelComment\": {\n            \"id\": \"UgzXCm4oVW_2yotH5cd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"thats nas daily\",\n              \"textOriginal\": \"thats nas daily\",\n              \"authorDisplayName\": \"mischief949\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTaIGDQmdxZHNtQIqUgYk6a20H2zrVxNU5nvjSDR8eTUsAiXY4wtxPeohefnZUF=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-18T22:30:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx6HVfhbR5KoIMjy1V4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rj0L3XBo8Jg\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx6HVfhbR5KoIMjy1V4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"That&#39;s 1 minute see you again 👍\",\n              \"textOriginal\": \"That's 1 minute see you again 👍\",\n              \"authorDisplayName\": \"CODE with om\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/qMFRYNUh_IiyMsIxUhw6eqU7kOdh2FHezh3OyKdzHtV4AlWVgQlx9LaVjw7U5cUHcs8tSyzZkh8=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 3,\n              \"publishedAt\": \"2022-06-18T21:14:00Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyHNfxkGqj5dzzEnTx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rj0L3XBo8Jg\",\n          \"topLevelComment\": {\n            \"id\": \"UgyHNfxkGqj5dzzEnTx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"holy crap that&#39;s nas daily😳\",\n              \"textOriginal\": \"holy crap that's nas daily😳\",\n              \"authorDisplayName\": \"Harshit Pawar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSzfG85T24f-7fPMGPsPgHqjupgPrLtomgZ9iAyAw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 6,\n              \"publishedAt\": \"2022-06-18T20:04:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyVJDTt7G4dU_tTiOd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rj0L3XBo8Jg\",\n          \"topLevelComment\": {\n            \"id\": \"UgyVJDTt7G4dU_tTiOd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"is that NAS summit ?\",\n              \"textOriginal\": \"is that NAS summit ?\",\n              \"authorDisplayName\": \"sathithya yogi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT6QnN7bOfJQLtKkufNytF8NMegT9KkLDxeYEY_010=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-06-18T18:02:23Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwePl6KmZ0NyKyCfxl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rj0L3XBo8Jg\",\n          \"topLevelComment\": {\n            \"id\": \"UgwePl6KmZ0NyKyCfxl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"3rd\",\n              \"textOriginal\": \"3rd\",\n              \"authorDisplayName\": \"Naman Shrimali\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRZoO5eM57BvDqwDRPYlyzwRHZhh6tK3Z1fyQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-18T17:55:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugykx8uYW2iMRIMArRh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rj0L3XBo8Jg\",\n          \"topLevelComment\": {\n            \"id\": \"Ugykx8uYW2iMRIMArRh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"didn&#39;t understand a single word of what just happened😅\",\n              \"textOriginal\": \"didn't understand a single word of what just happened😅\",\n              \"authorDisplayName\": \"Galactus\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSveH5iAWRiJE6oG0zxE3hgyBa2AdFqD1_jxOQaiH7Ab0CoTjSKGVii0HnWXts-=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2022-06-18T17:55:06Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugxk3Z_Nq4PtM_xyCjl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rj0L3XBo8Jg\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxk3Z_Nq4PtM_xyCjl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"2nd\",\n              \"textOriginal\": \"2nd\",\n              \"authorDisplayName\": \"Yogesh Yogesh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRhdFCQB8pmYyV48-AxHVrdrsmJSgyf7XJmk9FCpg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-18T17:53:46Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyKZcPCSH-gwBsPHHh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rj0L3XBo8Jg\",\n          \"topLevelComment\": {\n            \"id\": \"UgyKZcPCSH-gwBsPHHh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"1st🥳🥳\",\n              \"textOriginal\": \"1st🥳🥳\",\n              \"authorDisplayName\": \"h̶e̶r̶o̶\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT7m6wvajjhRZ4cF-ZCzkOjyhiQzdw30VdB7gK5=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2022-06-18T17:45:34Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"-5WLKu_J_AE\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgysH-BWxxD0ok3kC_Z4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-5WLKu_J_AE\",\n          \"topLevelComment\": {\n            \"id\": \"UgysH-BWxxD0ok3kC_Z4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"How to install Chocolatey\\r<br><a href=\\\"https://www.youtube.com/watch?v=CHoaU9_WBRo\\\">https://www.youtube.com/watch?v=CHoaU9_WBRo</a>\",\n              \"textOriginal\": \"How to install Chocolatey\\r\\nhttps://www.youtube.com/watch?v=CHoaU9_WBRo\",\n              \"authorDisplayName\": \"Web Works\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRHF3dAaDDXFuvyBp_OZE6vxfHAZCcKBMTj3REloaGt3CxndqqvTAzx60sOFAho=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-22T11:59:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyGWjhD2mLDQukn3OF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-5WLKu_J_AE\",\n          \"topLevelComment\": {\n            \"id\": \"UgyGWjhD2mLDQukn3OF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Where does Chocolatey being installed, and where does Chocolatey install all the software?\",\n              \"textOriginal\": \"Where does Chocolatey being installed, and where does Chocolatey install all the software?\",\n              \"authorDisplayName\": \"Erik\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSJth54AqrZeqsRQRaYC0v1ElQHNDUP83YUMCQkXUuWfRzuBDMiQJxC_zPoTQAb=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T18:29:34Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugyy5tPWMBAOEm5WUsd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-5WLKu_J_AE\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyy5tPWMBAOEm5WUsd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir, even after all signed execution when i check with get exicutionpolicy it appears restricted again.\",\n              \"textOriginal\": \"sir, even after all signed execution when i check with get exicutionpolicy it appears restricted again.\",\n              \"authorDisplayName\": \"Ankita Chowdhury\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/s_DERopOUSD2bnWFV_LGB0bQd2p_lepba982Ju_R27FYSVnvGhHSZPx5VFxAibhOqnQZC0Wyvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-10T16:55:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw2dL_hu19cKSQWGnx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-5WLKu_J_AE\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw2dL_hu19cKSQWGnx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks <a href=\\\"about:invalid#zCSafez\\\"></a>\",\n              \"textOriginal\": \"Thanks \",\n              \"authorDisplayName\": \"dushan anuradha\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/_xRYWQ2mT0Hujzu8QOoDPKDqYA5HK79NryYtANlM2NZt11CNcdEMSsAsS6tVlElQXSlp94wQ0po=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-25T10:39:17Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgznRYAHi56aZOy_WkZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-5WLKu_J_AE\",\n          \"topLevelComment\": {\n            \"id\": \"UgznRYAHi56aZOy_WkZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you so much for this video. Quick and Simple.\",\n              \"textOriginal\": \"Thank you so much for this video. Quick and Simple.\",\n              \"authorDisplayName\": \"JBerrios\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/RcfJjUsEZBfNiIsw27It9vCKWH0t6dT4m-_BTaSXqUWhfKJlfKGwd1FGWOEKCzo721USFoPiYLo=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-20T15:33:54Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw9Ry5CsIeKneQvXuh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-5WLKu_J_AE\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw9Ry5CsIeKneQvXuh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Simple to the point! Good video\",\n              \"textOriginal\": \"Simple to the point! Good video\",\n              \"authorDisplayName\": \"NoticedByMany\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaToQYmflgJURPxhGYNvIwXGvcJlhaUK3V3XedG2=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-01T23:35:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzBclRa58q_pfKR4314AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-5WLKu_J_AE\",\n          \"topLevelComment\": {\n            \"id\": \"UgzBclRa58q_pfKR4314AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks Man!\",\n              \"textOriginal\": \"Thanks Man!\",\n              \"authorDisplayName\": \"Abhishek Maharana\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/NqbjtxhpX1j_pSH9QS5-udAwyMs6cqKgUWo64qSk4n7SJZYABBwn39OgoR2-tuce5yHYylLl=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-26T07:33:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyDp6Xj6tH-_l_Ik4x4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-5WLKu_J_AE\",\n          \"topLevelComment\": {\n            \"id\": \"UgyDp6Xj6tH-_l_Ik4x4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"is There a shorter command so I can memorize it  ?\",\n              \"textOriginal\": \"is There a shorter command so I can memorize it  ?\",\n              \"authorDisplayName\": \"selfs 6\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSo2aW96CPCF45lWf8Cl4yIhqnlQ3Sa5Zeg852Rfw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-16T12:01:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwmRBKbOm-vAWkrm4d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-5WLKu_J_AE\",\n          \"topLevelComment\": {\n            \"id\": \"UgwmRBKbOm-vAWkrm4d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Loved this. Short and to the point! Just what I was looking for.\",\n              \"textOriginal\": \"Loved this. Short and to the point! Just what I was looking for.\",\n              \"authorDisplayName\": \"berry\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTTHMwQDtpODVehxts0-ZxcAk_HTIo7bURFKtdP2Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-03-08T06:51:19Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxXtnJNU35OA9AUHU54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-5WLKu_J_AE\",\n          \"topLevelComment\": {\n            \"id\": \"UgxXtnJNU35OA9AUHU54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"proxy in the case?\",\n              \"textOriginal\": \"proxy in the case?\",\n              \"authorDisplayName\": \"TechWise Solutions\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/X0-Z-3ncWZ9p4oIIK-MpP1lspLMxrvN8o3uCk1Nn_vFT58MY4yLIWscIS3aHoAsSTfArK1IS=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-03T06:20:54Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzd0dN9m8bpFF1-RKJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-5WLKu_J_AE\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzd0dN9m8bpFF1-RKJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"a demo of installing a software would have been great.<br>p.s:- thanks for the video\",\n              \"textOriginal\": \"a demo of installing a software would have been great.\\np.s:- thanks for the video\",\n              \"authorDisplayName\": \"Ankit Shaw\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSPAL6OCQBH2dBvV7V1bh2x1XcE-NfNwN-UXNLpXsY=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-22T10:34:23Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwPKe5wtOlJAd1rHnd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-5WLKu_J_AE\",\n          \"topLevelComment\": {\n            \"id\": \"UgwPKe5wtOlJAd1rHnd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"SO Helpful! Thank you so much :D\",\n              \"textOriginal\": \"SO Helpful! Thank you so much :D\",\n              \"authorDisplayName\": \"Sailor Ranger\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQxbzjFAOuv0j23mvkkvVpT3PAcRrNaxbzzCe9L=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-12-24T07:10:07Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxNjnr7MybHzI4iOpp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-5WLKu_J_AE\",\n          \"topLevelComment\": {\n            \"id\": \"UgxNjnr7MybHzI4iOpp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"why doesnot work on command promt\",\n              \"textOriginal\": \"why doesnot work on command promt\",\n              \"authorDisplayName\": \"Himansh Arora\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQaOdv8qPKRg9MPrRj-o8eIzcTwVmdgj43NSx-Jv3k=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-07T09:25:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwaFshD2GgBweKxO514AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-5WLKu_J_AE\",\n          \"topLevelComment\": {\n            \"id\": \"UgwaFshD2GgBweKxO514AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Excellent, you made it all simple :)\",\n              \"textOriginal\": \"Excellent, you made it all simple :)\",\n              \"authorDisplayName\": \"Swapna C\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaStFiS4NrehfJPIptMpETcQ0j6Y3TJYbITgsA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-07T09:22:12Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"6wFVxSw2seY\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyBdNZ63mBnzDzPEtF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6wFVxSw2seY\",\n          \"topLevelComment\": {\n            \"id\": \"UgyBdNZ63mBnzDzPEtF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"You are global now sir\",\n              \"textOriginal\": \"You are global now sir\",\n              \"authorDisplayName\": \"Subhash Chaudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSX8nvPYcl3f7_Sd11MTRQO9VIDcJQINdqgG2G6SA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"moderationStatus\": \"likelySpam\",\n              \"publishedAt\": \"2019-12-13T10:17:53Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxFCaQzlkuuc67nZK54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6wFVxSw2seY\",\n          \"topLevelComment\": {\n            \"id\": \"UgxFCaQzlkuuc67nZK54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"how to buy  your couse in pakistan?\",\n              \"textOriginal\": \"how to buy  your couse in pakistan?\",\n              \"authorDisplayName\": \"Urdu Info\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRbflIyupJ3JX7_RcEdBa5wA5_905ZDh0dUMABUXA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2019-07-31T12:35:44Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxPybQSOGajROxgxs94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6wFVxSw2seY\",\n          \"topLevelComment\": {\n            \"id\": \"UgxPybQSOGajROxgxs94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir what if we get doubt in any video or get some error in program?? Is there any team to help us,mailing back to our queries?? <b>Please reply sir,i am interested in your course</b>\",\n              \"textOriginal\": \"Sir what if we get doubt in any video or get some error in program?? Is there any team to help us,mailing back to our queries?? *Please reply sir,i am interested in your course*\",\n              \"authorDisplayName\": \"Tushar Ojha\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaReVbPb5ckep1HWddIW9MclB0weQdH6frGsBnD10U0=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2017-12-07T12:22:19Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugh7X_Qb2WmWt3gCoAEC\",\n        \"snippet\": {\n          \"videoId\": \"6wFVxSw2seY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugh7X_Qb2WmWt3gCoAEC\",\n            \"snippet\": {\n              \"textDisplay\": \"difference between paid course and free course in ur site???\",\n              \"textOriginal\": \"difference between paid course and free course in ur site???\",\n              \"authorDisplayName\": \"FUN WITH UPSC CSE\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/SN8bmsDjACr3QCPgpGmpvOW_J4QTYHARyWmPDdln3Gn1oM7cxFfTu8-IDHD7gRY344yP4bmWng=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2017-05-25T10:13:11Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      },\n      {\n        \"id\": \"UghMz9pcJTfNc3gCoAEC\",\n        \"snippet\": {\n          \"videoId\": \"6wFVxSw2seY\",\n          \"topLevelComment\": {\n            \"id\": \"UghMz9pcJTfNc3gCoAEC\",\n            \"snippet\": {\n              \"textDisplay\": \"sir Html, CSS , C, C++, other course\",\n              \"textOriginal\": \"sir Html, CSS , C, C++, other course\",\n              \"authorDisplayName\": \"Mohsin Shaikh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSAWbH8DjSgr2R8tSty14g2J0xf51tS9hqfwA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2017-05-21T14:31:19Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ughql-pb6xN8DngCoAEC\",\n        \"snippet\": {\n          \"videoId\": \"6wFVxSw2seY\",\n          \"topLevelComment\": {\n            \"id\": \"Ughql-pb6xN8DngCoAEC\",\n            \"snippet\": {\n              \"textDisplay\": \"Just for this 90 discount if one wants to purchase all your courses hitesh then is there some sort of discount?\",\n              \"textOriginal\": \"Just for this 90 discount if one wants to purchase all your courses hitesh then is there some sort of discount?\",\n              \"authorDisplayName\": \"Polaa Dillaaa\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQOGCgkP3jZZTL_4ZuKLD7uyd9m_YgVJNUw9g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2017-05-21T09:29:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Uggspo8EAXUe9ngCoAEC\",\n        \"snippet\": {\n          \"videoId\": \"6wFVxSw2seY\",\n          \"topLevelComment\": {\n            \"id\": \"Uggspo8EAXUe9ngCoAEC\",\n            \"snippet\": {\n              \"textDisplay\": \"Can international students learn too? Hetash?\",\n              \"textOriginal\": \"Can international students learn too? Hetash?\",\n              \"authorDisplayName\": \"Polaa Dillaaa\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQOGCgkP3jZZTL_4ZuKLD7uyd9m_YgVJNUw9g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2017-05-21T09:21:25Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UghE6x9GkfBlEXgCoAEC\",\n        \"snippet\": {\n          \"videoId\": \"6wFVxSw2seY\",\n          \"topLevelComment\": {\n            \"id\": \"UghE6x9GkfBlEXgCoAEC\",\n            \"snippet\": {\n              \"textDisplay\": \"CAn we access this course in pakistan\",\n              \"textOriginal\": \"CAn we access this course in pakistan\",\n              \"authorDisplayName\": \"Satiwan Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSia1yK6_vld8lhgPC5t1bk5_iZvHose_B80MWNMsI=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2017-05-21T07:04:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgjrdtDRIPuATngCoAEC\",\n        \"snippet\": {\n          \"videoId\": \"6wFVxSw2seY\",\n          \"topLevelComment\": {\n            \"id\": \"UgjrdtDRIPuATngCoAEC\",\n            \"snippet\": {\n              \"textDisplay\": \"when backend course will come\",\n              \"textOriginal\": \"when backend course will come\",\n              \"authorDisplayName\": \"Pooja Singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQx1nzpg3DBqqEvjtwD4VJVCkeicuGavNFayQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2017-05-21T03:55:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugj9bA5gKV9RWXgCoAEC\",\n        \"snippet\": {\n          \"videoId\": \"6wFVxSw2seY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugj9bA5gKV9RWXgCoAEC\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir may i get your email id !!!\",\n              \"textOriginal\": \"Sir may i get your email id !!!\",\n              \"authorDisplayName\": \"Anubhav Kashyap\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSLnP0k7dWoC0mi7wfZhXbA5ZvupOvnPgGZ7-jW=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2017-05-20T22:55:46Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UggsZLmoH3HtJHgCoAEC\",\n        \"snippet\": {\n          \"videoId\": \"6wFVxSw2seY\",\n          \"topLevelComment\": {\n            \"id\": \"UggsZLmoH3HtJHgCoAEC\",\n            \"snippet\": {\n              \"textDisplay\": \"will you teach android development and if yes when is it starting ?\",\n              \"textOriginal\": \"will you teach android development and if yes when is it starting ?\",\n              \"authorDisplayName\": \"sahil kapoor\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRsdYinKXn_FnuWIhtuw4GKre5LXW4Y605V332MXbc=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2017-05-20T17:45:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UggoeiDWVH3qL3gCoAEC\",\n        \"snippet\": {\n          \"videoId\": \"6wFVxSw2seY\",\n          \"topLevelComment\": {\n            \"id\": \"UggoeiDWVH3qL3gCoAEC\",\n            \"snippet\": {\n              \"textDisplay\": \"sir most of us really don&#39;t have credit cards but courses in udemy which i wanted to purchase was so cheap just 10$ but u know where the problem lies.<br>can u consult with this video producer to join your website with same content.<br><br>PLEASE THINK ABOUT IT<br>courses:<br><a href=\\\"https://www.udemy.com/learn-ethical-hacking-from-scratch/\\\">https://www.udemy.com/learn-ethical-hacking-from-scratch/</a><br><br><a href=\\\"https://www.udemy.com/learn-social-engineering-from-scratch/\\\">https://www.udemy.com/learn-social-engineering-from-scratch/</a><br><br><a href=\\\"https://www.udemy.com/learn-website-hacking-penetration-testing-from-scratch/\\\">https://www.udemy.com/learn-website-hacking-penetration-testing-from-scratch/</a><br><br>producer is same in all the courses\",\n              \"textOriginal\": \"sir most of us really don't have credit cards but courses in udemy which i wanted to purchase was so cheap just 10$ but u know where the problem lies.\\ncan u consult with this video producer to join your website with same content.\\n\\nPLEASE THINK ABOUT IT\\ncourses:\\nhttps://www.udemy.com/learn-ethical-hacking-from-scratch/\\n\\nhttps://www.udemy.com/learn-social-engineering-from-scratch/\\n\\nhttps://www.udemy.com/learn-website-hacking-penetration-testing-from-scratch/\\n\\nproducer is same in all the courses\",\n              \"authorDisplayName\": \"Test rai\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTo5sc0UqfmehFJrU5cZEkArLctB0hJr5jOWVewvw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2017-05-20T15:28:13Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"-LeV_c1zG-s\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugxd43IsHW4Fn1mfSZx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-LeV_c1zG-s\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxd43IsHW4Fn1mfSZx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"New DevOps course is out:<br><a href=\\\"https://hc.lco.dev/devops\\\">https://hc.lco.dev/devops</a>\",\n              \"textOriginal\": \"New DevOps course is out:\\nhttps://hc.lco.dev/devops\",\n              \"authorDisplayName\": \"Hitesh Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-09-21T10:49:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzMoznIj1EfqnMfVYR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-LeV_c1zG-s\",\n          \"topLevelComment\": {\n            \"id\": \"UgzMoznIj1EfqnMfVYR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi Hitesh, you are a awesome teacher, I Would like to hear more videos like how we can work on docker , how to install, and many more like the same.Thanks for the video.\",\n              \"textOriginal\": \"Hi Hitesh, you are a awesome teacher, I Would like to hear more videos like how we can work on docker , how to install, and many more like the same.Thanks for the video.\",\n              \"authorDisplayName\": \"Ankita Nimbark\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTRXGVgNIoJobsXJbxoPjP5tO_Cu8956qAC1bRc2Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-09T17:36:44Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwsdlhwCjTUYU4U4uJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-LeV_c1zG-s\",\n          \"topLevelComment\": {\n            \"id\": \"UgwsdlhwCjTUYU4U4uJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"You have no idea how many videos I watched halfway before finding this one. And all of them sounded like I was supposed to have known it all before now. Sometimes to teach effectively, you have to assume the learners are dummies. Thanks bro. You are amazing\",\n              \"textOriginal\": \"You have no idea how many videos I watched halfway before finding this one. And all of them sounded like I was supposed to have known it all before now. Sometimes to teach effectively, you have to assume the learners are dummies. Thanks bro. You are amazing\",\n              \"authorDisplayName\": \"Hakym Azeez\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSzsVR-4ZagDk_6WBNMelVcK8CAwMYqGCi-XCEu=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-20T15:31:42Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx8cvOrAOUXqviIc9x4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-LeV_c1zG-s\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx8cvOrAOUXqviIc9x4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Well @JacobBroughton  said exactly what I wanted to say. I just wish that every tutorial on YouTube about &#39;what this object is and how this object works!&#39; was like this. Superb job!\",\n              \"textOriginal\": \"Well @JacobBroughton  said exactly what I wanted to say. I just wish that every tutorial on YouTube about 'what this object is and how this object works!' was like this. Superb job!\",\n              \"authorDisplayName\": \"Nader Taghinia\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR02yXSANNEYxqLewU7yZyQMGQ2h8_Ml9zwqPir0g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-18T07:33:41Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzWl3URy0pAz6kJoO54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-LeV_c1zG-s\",\n          \"topLevelComment\": {\n            \"id\": \"UgzWl3URy0pAz6kJoO54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Wow 🎉\",\n              \"textOriginal\": \"Wow 🎉\",\n              \"authorDisplayName\": \"Esther & Mordecai\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQPRt_mWuS80OwN4Js0yr9doVRjIV3qQYbV1vqIyEqoXdJjeuekErftKUiShLjL=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-23T23:42:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyJ78dH9v99ubAmlj94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-LeV_c1zG-s\",\n          \"topLevelComment\": {\n            \"id\": \"UgyJ78dH9v99ubAmlj94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Clean and clear 🙂 tq sir\",\n              \"textOriginal\": \"Clean and clear 🙂 tq sir\",\n              \"authorDisplayName\": \"Sruthi kannagattu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSANvHXCtsyrAYBm6z93rYzgFLr4kseEGhxij6E=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-10T16:45:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxyzWemoB0V6Oc6cVF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-LeV_c1zG-s\",\n          \"topLevelComment\": {\n            \"id\": \"UgxyzWemoB0V6Oc6cVF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Very well put!\",\n              \"textOriginal\": \"Very well put!\",\n              \"authorDisplayName\": \"BRIAN ETEMESI\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT3UgJeyeq_q2FPhAD0gmD22-n3NMla0vo6SZ0p8A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-28T07:51:54Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwmNKo4wOS4jgixegV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-LeV_c1zG-s\",\n          \"topLevelComment\": {\n            \"id\": \"UgwmNKo4wOS4jgixegV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hai\",\n              \"textOriginal\": \"Hai\",\n              \"authorDisplayName\": \"Ballu Ballu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSfYr6kZUq9ePzJbMynO6QNYMolZa0MeBsNgQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-24T18:52:16Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwY_QFRdS0-nCnVVmt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-LeV_c1zG-s\",\n          \"topLevelComment\": {\n            \"id\": \"UgwY_QFRdS0-nCnVVmt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Room st bjai\",\n              \"textOriginal\": \"Room st bjai\",\n              \"authorDisplayName\": \"Ballu Ballu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSfYr6kZUq9ePzJbMynO6QNYMolZa0MeBsNgQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-24T18:52:11Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyxwKRLiJO5bGh_8eJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-LeV_c1zG-s\",\n          \"topLevelComment\": {\n            \"id\": \"UgyxwKRLiJO5bGh_8eJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Bhai\",\n              \"textOriginal\": \"Bhai\",\n              \"authorDisplayName\": \"Ballu Ballu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSfYr6kZUq9ePzJbMynO6QNYMolZa0MeBsNgQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-24T18:52:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzHlybZFEjJL_i1iWR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-LeV_c1zG-s\",\n          \"topLevelComment\": {\n            \"id\": \"UgzHlybZFEjJL_i1iWR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hitesh is THE BEST &quot;here are the basics&quot; teacher on youtube!\",\n              \"textOriginal\": \"Hitesh is THE BEST \\\"here are the basics\\\" teacher on youtube!\",\n              \"authorDisplayName\": \"Dominik\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/xQ2XVMJ-mfz4hLQkdQKpdeLiviTRTBKG28bsDm93De8ub7h-qHVVeypsWcM3HUlJGLLzjyj2LJI=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-25T08:34:25Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxselj-g-SIAv0mjnd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-LeV_c1zG-s\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxselj-g-SIAv0mjnd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks\",\n              \"textOriginal\": \"Thanks\",\n              \"authorDisplayName\": \"Mdluffy\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/iK0zMmlTuVK5_z6YbfnAK35cmBlEHsPeawpOOM2n0hBogEWMoi8KfVz4Ar--iow2llxMxOGa=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-11T12:07:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxjtzYoaUqo-34VMKF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-LeV_c1zG-s\",\n          \"topLevelComment\": {\n            \"id\": \"UgxjtzYoaUqo-34VMKF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Amazing video <a href=\\\"about:invalid#zCSafez\\\"></a> Thank you :)\",\n              \"textOriginal\": \"Amazing video  Thank you :)\",\n              \"authorDisplayName\": \"The Cloud Terminal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/LIIdxRsl_fr8X-fvQCQe2DenFy0KbKVUjJ9sIkWbTgKiRClcdiCO0aqbvjsVmQ6ISHR9pmLu=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-12-03T17:51:41Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxgTrG45NTCvsw49UV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-LeV_c1zG-s\",\n          \"topLevelComment\": {\n            \"id\": \"UgxgTrG45NTCvsw49UV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"So, docker is a JVM for everything\",\n              \"textOriginal\": \"So, docker is a JVM for everything\",\n              \"authorDisplayName\": \"chandrahas m\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSApjzqpIRIdrVqaZJ4WOc4GeJntM3ZnSnk2Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-17T19:10:32Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugx_5iEYX3vhj_6tii94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-LeV_c1zG-s\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx_5iEYX3vhj_6tii94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"amazing\",\n              \"textOriginal\": \"amazing\",\n              \"authorDisplayName\": \"peace\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/0UH81Iqo3Z2kA5WGaP_z0twMLDmMeW0EnsSYQdiAtgWprcpNGK3Iqkayz9-m6S79uIiu0HlpTTA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-02T10:18:11Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"WuH0T9FHDZ4\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgzXV3zFE7h22yj_8sp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"WuH0T9FHDZ4\",\n          \"topLevelComment\": {\n            \"id\": \"UgzXV3zFE7h22yj_8sp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Plz publish more on moving to production env<br><br>Docker kubernets aws instances nginix etc all ways steps to move to prod\",\n              \"textOriginal\": \"Plz publish more on moving to production env\\n\\nDocker kubernets aws instances nginix etc all ways steps to move to prod\",\n              \"authorDisplayName\": \"Ayaan Kaifullah\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTL0LaG7LV5LxjtTEjlQZUmUScwr9CW3P4omjlFX30=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-08T13:31:44Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzOnKj1rsxLTVay5Jl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"WuH0T9FHDZ4\",\n          \"topLevelComment\": {\n            \"id\": \"UgzOnKj1rsxLTVay5Jl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"One of the or we can say the best explanation i found on nginix\",\n              \"textOriginal\": \"One of the or we can say the best explanation i found on nginix\",\n              \"authorDisplayName\": \"Ayaan Kaifullah\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTL0LaG7LV5LxjtTEjlQZUmUScwr9CW3P4omjlFX30=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-08T13:31:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwpXaMjQINKTMfKEHt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"WuH0T9FHDZ4\",\n          \"topLevelComment\": {\n            \"id\": \"UgwpXaMjQINKTMfKEHt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Yes do it\",\n              \"textOriginal\": \"Yes do it\",\n              \"authorDisplayName\": \"amit kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRVigZyCHjWw1O8eRJ0lL6f9cox3qRdFKi5VIJLRQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-15T10:41:47Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzrtudzlPidSn3575N4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"WuH0T9FHDZ4\",\n          \"topLevelComment\": {\n            \"id\": \"UgzrtudzlPidSn3575N4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"So nginx is just a load balancer right?\",\n              \"textOriginal\": \"So nginx is just a load balancer right?\",\n              \"authorDisplayName\": \"Martin Abeita\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSHynqXtO-2TxGn25i0WfELRFt77fvjlOMrbclp=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-12T14:21:43Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyHoEcJts0KEQvY-DN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"WuH0T9FHDZ4\",\n          \"topLevelComment\": {\n            \"id\": \"UgyHoEcJts0KEQvY-DN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"When traffic high, why new port?  if Hardware is same, what is the purpose having multiple ports?\",\n              \"textOriginal\": \"When traffic high, why new port?  if Hardware is same, what is the purpose having multiple ports?\",\n              \"authorDisplayName\": \"Indramal Wansekara\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQQxaxTUh6lZOUTEO8mj6QFUumNLKK0Z_x3XyKYKQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-10T11:40:48Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzJ1e9RTn0chB4ZAQh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"WuH0T9FHDZ4\",\n          \"topLevelComment\": {\n            \"id\": \"UgzJ1e9RTn0chB4ZAQh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Starting with explaining the problem Nginx solves made this very easy for me to understand.. Thank you 🤩\",\n              \"textOriginal\": \"Starting with explaining the problem Nginx solves made this very easy for me to understand.. Thank you 🤩\",\n              \"authorDisplayName\": \"Quality with Vu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/04U585-eidYhG_S4bDDwW_J1nNkk3OX7zGnhGzrRCMuKpW04tZTMf_tzTG6n97xzhzofVo57WnA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-07T10:59:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzFQt4MARJKQUgPlg54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"WuH0T9FHDZ4\",\n          \"topLevelComment\": {\n            \"id\": \"UgzFQt4MARJKQUgPlg54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Need video on Nginx. You explain very well\",\n              \"textOriginal\": \"Need video on Nginx. You explain very well\",\n              \"authorDisplayName\": \"Shah Shabbir Ahmmed\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ4p4HKMjEp8VrLvuDhZti8XYP3LKETGaYA6A7m1g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-04T05:22:21Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxkaEpnBXKE3mHAdoB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"WuH0T9FHDZ4\",\n          \"topLevelComment\": {\n            \"id\": \"UgxkaEpnBXKE3mHAdoB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This is really awesome intro about NGINX, Can you please create video in which you can show us how NGINX -Gunicorn-Python application (Fast-Apis)code will work.  and what things we need to make sure during its implementation .<br>As well as which one gateway is better to use for our python application interface (Gunicorn Or UVicorn).\",\n              \"textOriginal\": \"This is really awesome intro about NGINX, Can you please create video in which you can show us how NGINX -Gunicorn-Python application (Fast-Apis)code will work.  and what things we need to make sure during its implementation .\\nAs well as which one gateway is better to use for our python application interface (Gunicorn Or UVicorn).\",\n              \"authorDisplayName\": \"Abhishek Mehta\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRNJCBmaGDnm-fmEwjd8qKu3yq4ipeJEbTo2w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-20T12:45:36Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzM0LpdZhfK5hBglN94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"WuH0T9FHDZ4\",\n          \"topLevelComment\": {\n            \"id\": \"UgzM0LpdZhfK5hBglN94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"it would have beeen greate if you have dropped the link to good resources in description below<br>but anyway thanks a lot\",\n              \"textOriginal\": \"it would have beeen greate if you have dropped the link to good resources in description below\\nbut anyway thanks a lot\",\n              \"authorDisplayName\": \"fake devdutt\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRJyCqipljSV0gi6s59TszSxZW37Z13z-0H-3JdCE4g6wX8qmYGEVvuk1-0S7L4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-17T12:31:23Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzTqU5H3bGVavPDp8t4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"WuH0T9FHDZ4\",\n          \"topLevelComment\": {\n            \"id\": \"UgzTqU5H3bGVavPDp8t4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Nice explanation.\",\n              \"textOriginal\": \"Nice explanation.\",\n              \"authorDisplayName\": \"Cholo Ghuri Bangladesh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSW6DKY-eiouroMt-22MadcitnPUFer1H2LU5XW=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-30T19:46:08Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyG_q8JAI1A8n4P0RV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"WuH0T9FHDZ4\",\n          \"topLevelComment\": {\n            \"id\": \"UgyG_q8JAI1A8n4P0RV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks man. You explain better y&#39;know.\",\n              \"textOriginal\": \"Thanks man. You explain better y'know.\",\n              \"authorDisplayName\": \"EasyC\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/uTgJi14E_U9qNufACp6VCt73IfkXLznuhP_tjldIj_luu2PYnf5so4_rSJUdHPfKfLFePLq_=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-19T09:27:17Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw80IARCfTcsDAQxTR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"WuH0T9FHDZ4\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw80IARCfTcsDAQxTR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"What about using all cores for nodejs?<br><br>I mean there is a way to even use all cores of cpu. Is it similar to nginx?\",\n              \"textOriginal\": \"What about using all cores for nodejs?\\n\\nI mean there is a way to even use all cores of cpu. Is it similar to nginx?\",\n              \"authorDisplayName\": \"Sancho Godinho\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTMt6wSpVbjYDJVQI6hXsQ922rR0FZic0PpDmk5kg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-10-12T08:36:38Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwvt_rI6MkKxRMS77F4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"WuH0T9FHDZ4\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwvt_rI6MkKxRMS77F4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"A series on enterprise level code deployment would be great\",\n              \"textOriginal\": \"A series on enterprise level code deployment would be great\",\n              \"authorDisplayName\": \"lakeman\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQgYzF3-nMLSd2c76ocoZqnAmyOB4Qit_ePHItAZAM=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-12T06:20:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzuo7NleGyCrGS3e3l4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"WuH0T9FHDZ4\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzuo7NleGyCrGS3e3l4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks sir, you are great explainer. 🙏\",\n              \"textOriginal\": \"Thanks sir, you are great explainer. 🙏\",\n              \"authorDisplayName\": \"chetan ghadge\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTOcwNck1FEIrE1OZTLg8WgS_Vn38Ar6KTzzAoH=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-26T15:11:12Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxHjzYXNQaeYey-t794AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"WuH0T9FHDZ4\",\n          \"topLevelComment\": {\n            \"id\": \"UgxHjzYXNQaeYey-t794AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"never get to the point, that&#39;s how you make it over 6 minutes to add ads\",\n              \"textOriginal\": \"never get to the point, that's how you make it over 6 minutes to add ads\",\n              \"authorDisplayName\": \"Yongfu Lu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQNTk6p14Tq0fiabG72JcdxyJIy7mwRboua9mzFcQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-18T02:11:52Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwm1v5qGhAp_mQYlwt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"WuH0T9FHDZ4\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwm1v5qGhAp_mQYlwt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"yes please make more videos on nginx..\",\n              \"textOriginal\": \"yes please make more videos on nginx..\",\n              \"authorDisplayName\": \"Ayush Vanvary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQzo39SOIvQ-mCpqQ3KCboh-Q3XOxxbrVPQBp3udg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-03T18:34:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"_Gpe1Zn-1fE\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxFyCR_8AWkwPrfobJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_Gpe1Zn-1fE\",\n          \"topLevelComment\": {\n            \"id\": \"UgxFyCR_8AWkwPrfobJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I am a commerce student now I want to switch to cloud computing. It is a good decision or not?\",\n              \"textOriginal\": \"I am a commerce student now I want to switch to cloud computing. It is a good decision or not?\",\n              \"authorDisplayName\": \"HIMANI SONI\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQUFIu32nTIYPvMRc-4XlnF8rmiJntXjAIvoRXGRg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-25T11:46:00Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxSN6rZGLXdQ9MpMwZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_Gpe1Zn-1fE\",\n          \"topLevelComment\": {\n            \"id\": \"UgxSN6rZGLXdQ9MpMwZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"DevSecOps also Jenkins. Cheers\",\n              \"textOriginal\": \"DevSecOps also Jenkins. Cheers\",\n              \"authorDisplayName\": \"Esther & Mordecai\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQPRt_mWuS80OwN4Js0yr9doVRjIV3qQYbV1vqIyEqoXdJjeuekErftKUiShLjL=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-23T22:05:51Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxpXr5M0SOhnbWRpUZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_Gpe1Zn-1fE\",\n          \"topLevelComment\": {\n            \"id\": \"UgxpXr5M0SOhnbWRpUZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"amazing explanation\",\n              \"textOriginal\": \"amazing explanation\",\n              \"authorDisplayName\": \"Prajjawal Kumar Patel\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTBzeF3dJPx6yfslu92GNfpN5L67EiKc8LGk015-g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-07T07:40:49Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxWkd5H9bIZplOtdf14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_Gpe1Zn-1fE\",\n          \"topLevelComment\": {\n            \"id\": \"UgxWkd5H9bIZplOtdf14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"DEVOPS series started  Feb 2023 |     <a href=\\\"https://www.youtube.com/playlist?list=PLDQx0OSQXuydB_WEzlYnhZ1q_GpOqsu5d\\\">https://www.youtube.com/playlist?list=PLDQx0OSQXuydB_WEzlYnhZ1q_GpOqsu5d</a>\",\n              \"textOriginal\": \"DEVOPS series started  Feb 2023 |     https://www.youtube.com/playlist?list=PLDQx0OSQXuydB_WEzlYnhZ1q_GpOqsu5d\",\n              \"authorDisplayName\": \"foodie with k.\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ETme4egjLPIvojE0a9xNj_THFyPX1AWzLrPkPp42pGngaW4ZzMLd5AQ102Q6pfCaHs0fkS1k=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-28T15:00:50Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyEE6_sn8pUoIRwzOh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_Gpe1Zn-1fE\",\n          \"topLevelComment\": {\n            \"id\": \"UgyEE6_sn8pUoIRwzOh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Go straight to the point stop life narratives\",\n              \"textOriginal\": \"Go straight to the point stop life narratives\",\n              \"authorDisplayName\": \"Daniel muchi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSCcYj2ECu5yQS0JOxKgqXs6uL55LwizgoLjw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-26T10:29:12Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyP7_tN3ohH1K4irYJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_Gpe1Zn-1fE\",\n          \"topLevelComment\": {\n            \"id\": \"UgyP7_tN3ohH1K4irYJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Explanation is nice and clearly understand thanks sir please make the video on basic information about team opration roles and responsibilities\",\n              \"textOriginal\": \"Explanation is nice and clearly understand thanks sir please make the video on basic information about team opration roles and responsibilities\",\n              \"authorDisplayName\": \"Hanmant Nivargi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR28Pi5RDVs0dtS4Cs50hmu3NcJbnONGK9o0Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-25T18:04:16Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugyv77PVjPfQgCyfUS14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_Gpe1Zn-1fE\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyv77PVjPfQgCyfUS14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"@hiteshchoudharydotcom Bro, Whether Full Stack developer is best or Devops career option is best for full time remote jobs/Permanent work from home jobs considering chapgpt and AI era ????\",\n              \"textOriginal\": \"@hiteshchoudharydotcom Bro, Whether Full Stack developer is best or Devops career option is best for full time remote jobs/Permanent work from home jobs considering chapgpt and AI era ????\",\n              \"authorDisplayName\": \"amir khan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/D8J-TMOaGfBdsshh_lSrS6YfQ_SlRDetZrDZ_dX8LFtz6v6xFRr0_sAuXCnjxfUfCAsd-liz=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-16T12:36:53Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgylzU41QLnAMcgM6-p4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_Gpe1Zn-1fE\",\n          \"topLevelComment\": {\n            \"id\": \"UgylzU41QLnAMcgM6-p4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Explain Byte codes\",\n              \"textOriginal\": \"Explain Byte codes\",\n              \"authorDisplayName\": \"Sparki Anime\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/9__POwe561SdXaJBPGG2_7vmhVU3oYxkLJaQYOS6PAmgsrn6q-oLmzXDsUAU30uiUSjyS6A4_Es=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-15T15:34:56Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzrshntYiCZ6TYDB7F4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_Gpe1Zn-1fE\",\n          \"topLevelComment\": {\n            \"id\": \"UgzrshntYiCZ6TYDB7F4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"amazing video sir!!\",\n              \"textOriginal\": \"amazing video sir!!\",\n              \"authorDisplayName\": \"vinayak sharma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS0bNl9_B55RWCtGGHJ8f7qOSHet7zGpdopVw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-14T12:12:29Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwdDZGOpB6zmcCppPR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_Gpe1Zn-1fE\",\n          \"topLevelComment\": {\n            \"id\": \"UgwdDZGOpB6zmcCppPR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"what is get hub, puppet, sals tag, jain kins, code editor\",\n              \"textOriginal\": \"what is get hub, puppet, sals tag, jain kins, code editor\",\n              \"authorDisplayName\": \"Mohd. Saddik\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTTTkU5LiPVYK_p3hs2QBZfbjJRPpVEnbD-vQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-24T02:40:11Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzW06UBnET0HI6mC7t4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_Gpe1Zn-1fE\",\n          \"topLevelComment\": {\n            \"id\": \"UgzW06UBnET0HI6mC7t4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"👍\",\n              \"textOriginal\": \"👍\",\n              \"authorDisplayName\": \"Tech_ _DRao\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSygfy9sghOgza5cXBBREwP9jKfitLkozp6poi3vvhgCGAS6l5GPTiLE3CyT7D-=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-14T07:48:28Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwm61npVdC0Gud20xh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_Gpe1Zn-1fE\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwm61npVdC0Gud20xh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Will it be benifitial to learn full stack web development and android development and then go for devops?? please help sir...\",\n              \"textOriginal\": \"Will it be benifitial to learn full stack web development and android development and then go for devops?? please help sir...\",\n              \"authorDisplayName\": \"Shivam 16\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRSKLGcHkbpiI9fJgNY4rV4rkXWWdjoT4XdyxNw8Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-12T15:06:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyR-zFUDoJ25iAnuk54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_Gpe1Zn-1fE\",\n          \"topLevelComment\": {\n            \"id\": \"UgyR-zFUDoJ25iAnuk54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"What is ci/ cd pipeline\",\n              \"textOriginal\": \"What is ci/ cd pipeline\",\n              \"authorDisplayName\": \"Mudita kushwah\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTlmKeqCnso7mP0pzjWSE2gtihZSxC-WlJbhQ3xNhM=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-04T08:30:10Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw2cDCbmhDVh7ZvdKx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_Gpe1Zn-1fE\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw2cDCbmhDVh7ZvdKx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Like the explanation\",\n              \"textOriginal\": \"Like the explanation\",\n              \"authorDisplayName\": \"Shashank Yadav\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQn7Y87jrkK7CN6MVqol80waARXAsCQwkpGFa63t4Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-12-29T14:58:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzVIpPtjEqYR1AuyDZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_Gpe1Zn-1fE\",\n          \"topLevelComment\": {\n            \"id\": \"UgzVIpPtjEqYR1AuyDZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"useful vedio\",\n              \"textOriginal\": \"useful vedio\",\n              \"authorDisplayName\": \"kartik choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ87aFk1r0ubkkKz8vNwOYwBllWjfg-0f1krQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-12-18T17:25:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgySYhNqmAtZDTSSEgx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_Gpe1Zn-1fE\",\n          \"topLevelComment\": {\n            \"id\": \"UgySYhNqmAtZDTSSEgx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Awesome explanation\",\n              \"textOriginal\": \"Awesome explanation\",\n              \"authorDisplayName\": \"Lakshmi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/XDffareN3_S3rgUKXV0Jb9q28yjV_TKsu2i6XM00kNdhrJliTFc5HQJmCnA28hKVkxZ8Xf9exCM=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-12-05T08:22:19Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxGupvaL29SM9sQieZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_Gpe1Zn-1fE\",\n          \"topLevelComment\": {\n            \"id\": \"UgxGupvaL29SM9sQieZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you sir. An excellent clear explaination!\",\n              \"textOriginal\": \"Thank you sir. An excellent clear explaination!\",\n              \"authorDisplayName\": \"eoin keenan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQq6xMcHXxgNksTQBfhV-P2cEumTlZUc3Uq1aXwyA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-29T16:35:28Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxcfqKbuOEcWFa97BF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_Gpe1Zn-1fE\",\n          \"topLevelComment\": {\n            \"id\": \"UgxcfqKbuOEcWFa97BF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"i like the way you teach.. thanks alot.\",\n              \"textOriginal\": \"i like the way you teach.. thanks alot.\",\n              \"authorDisplayName\": \"Behzad Abf\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRFbPQ0pf4bDE1X7h_nB4W1atbXgCDKT3Oqd4I=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-10T18:37:57Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxyvn1B0z4D-tyER4Z4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_Gpe1Zn-1fE\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxyvn1B0z4D-tyER4Z4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I LOVE, LOVE, LOVE, LOVE your choice for background music.\",\n              \"textOriginal\": \"I LOVE, LOVE, LOVE, LOVE your choice for background music.\",\n              \"authorDisplayName\": \"Reg Glen\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQxNQzNTS26VAED0VdcvJhWCBHCcSVNGe5_mS8CXQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-09T18:00:45Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      }\n    ]\n  },\n  \"hJw8Sy13Vp8\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyoEqRh6BAC07TDKwZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"hJw8Sy13Vp8\",\n          \"topLevelComment\": {\n            \"id\": \"UgyoEqRh6BAC07TDKwZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"it was launched on September 9, 2014. why it was not popular all these years ? why its getting popular in these years ?\",\n              \"textOriginal\": \"it was launched on September 9, 2014. why it was not popular all these years ? why its getting popular in these years ?\",\n              \"authorDisplayName\": \"Koding and biking\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/y_8AXmmal3VhElxhoUw0ke2t2mz19SjBwWhmjscOC3PpG2FZPJjpVLpOwN0TuVP6OQqVGr7v=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-21T10:17:49Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwAi0V0lPFAtE6swgF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"hJw8Sy13Vp8\",\n          \"topLevelComment\": {\n            \"id\": \"UgwAi0V0lPFAtE6swgF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"aswm\",\n              \"textOriginal\": \"aswm\",\n              \"authorDisplayName\": \"Ajay Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ1EXimegWOU9ADXB8WXkCDTdHwY0GSkunhnbFKow=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-03T11:47:17Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy9R2vWeEPMEL1Z2z14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"hJw8Sy13Vp8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy9R2vWeEPMEL1Z2z14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Best video explaining this!\",\n              \"textOriginal\": \"Best video explaining this!\",\n              \"authorDisplayName\": \"Anurag Pant\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTwd5OtIcbj0n1NnkE8Ay_U9bNB9MxqMix75ZWz=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-03T09:07:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwz_f_aVgl-K_6NB_t4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"hJw8Sy13Vp8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwz_f_aVgl-K_6NB_t4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"U look like sunny deol. and ur style of speaking is also similar.\",\n              \"textOriginal\": \"U look like sunny deol. and ur style of speaking is also similar.\",\n              \"authorDisplayName\": \"Moumit Dutta\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRiyoLK2s7O9Zh2f5rQ5tOB_U_EM_953Gs25jZYWw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-12-14T13:57:19Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwekk_VHYzcxRxBaQh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"hJw8Sy13Vp8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwekk_VHYzcxRxBaQh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir pls make a full devops tool playlist.if not then suggest some\",\n              \"textOriginal\": \"sir pls make a full devops tool playlist.if not then suggest some\",\n              \"authorDisplayName\": \"Shubham Shakya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/8zRiQcEJMqdcZ9aZAUUkh5I-Qn1eaBQsrkklIerxU18kPy2SoPl2xZsqtJTymFn_4DkGNC1Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-12-05T04:47:52Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxr8Y0aj0ftZBck-Q94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"hJw8Sy13Vp8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxr8Y0aj0ftZBck-Q94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks for the outro though sir 🔥🔥\",\n              \"textOriginal\": \"Thanks for the outro though sir 🔥🔥\",\n              \"authorDisplayName\": \"Dvn Asutosh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTZu-VA0WbXMAKEe2ABtYTzTCrObwY-iVcOaA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-20T14:26:25Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugww-Vj19e8RrCD_TPR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"hJw8Sy13Vp8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugww-Vj19e8RrCD_TPR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Kubernetes has only the hard way\",\n              \"textOriginal\": \"Kubernetes has only the hard way\",\n              \"authorDisplayName\": \"INFERNO LORD\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSFbkHUaRjVqbr2k08EFGnmV9JXSwCRvSvrM3Mpqg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-02T06:01:08Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxhg6BY9uliXfqDcRx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"hJw8Sy13Vp8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxhg6BY9uliXfqDcRx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"superb , very nice. Thanks\",\n              \"textOriginal\": \"superb , very nice. Thanks\",\n              \"authorDisplayName\": \"Keyur Shah\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSXNbO_0B_ZFlNhhCmzeXq-90jeltnQB3-vpA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-08-07T10:59:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwbtgBLdTMjKW44WDZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"hJw8Sy13Vp8\",\n          \"topLevelComment\": {\n            \"id\": \"UgwbtgBLdTMjKW44WDZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"kubernetes playlist awaited. Awesome job on the docker playlist\",\n              \"textOriginal\": \"kubernetes playlist awaited. Awesome job on the docker playlist\",\n              \"authorDisplayName\": \"Deep Roy\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS5Fr5Uc1jdU73v3D4LEwAEyjwXL0Ri2gqO-bXolg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-07-11T08:26:47Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxqoPaX7plk6gou5bh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"hJw8Sy13Vp8\",\n          \"topLevelComment\": {\n            \"id\": \"UgxqoPaX7plk6gou5bh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you so much\",\n              \"textOriginal\": \"Thank you so much\",\n              \"authorDisplayName\": \"Arnab Chakraborty\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQBSpTBkG2UPhZKLMiG5__QdDTZqqg2dcACkXk-Tg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-07-01T15:05:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwXpqCXMBpyph2gd0x4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"hJw8Sy13Vp8\",\n          \"topLevelComment\": {\n            \"id\": \"UgwXpqCXMBpyph2gd0x4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Takeaway : &quot;And Gosh O Gosh !&quot;\",\n              \"textOriginal\": \"Takeaway : \\\"And Gosh O Gosh !\\\"\",\n              \"authorDisplayName\": \"Vaibhav Kaushik\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQWw34HOOcsq_rcWu8JfxFrXXHQNiByglIHU66ToA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-24T08:19:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzgBV9eJNPfNHrWCa54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"hJw8Sy13Vp8\",\n          \"topLevelComment\": {\n            \"id\": \"UgzgBV9eJNPfNHrWCa54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Make a Playlist called easy way!\",\n              \"textOriginal\": \"Make a Playlist called easy way!\",\n              \"authorDisplayName\": \"Suvrat Saraswat\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQKNVN7sY70eLwDdrSy3-K0koMniCO-OE-3TXAotg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-02T03:34:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"9vxsO5vMTAw\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgwaGgirq2GKW2gFuaZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9vxsO5vMTAw\",\n          \"topLevelComment\": {\n            \"id\": \"UgwaGgirq2GKW2gFuaZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"goos command not working..please help\",\n              \"textOriginal\": \"goos command not working..please help\",\n              \"authorDisplayName\": \"Ayush kawale\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTEqJHpK5BsftIqiZOYg2ZV86oX2sicLOTDeQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-05T12:05:42Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw1ApSCWu7EtR9X7gp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9vxsO5vMTAw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw1ApSCWu7EtR9X7gp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank my man.\",\n              \"textOriginal\": \"Thank my man.\",\n              \"authorDisplayName\": \"Nurmuhammet Allanov\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTe7vjWuX1EMrqqbnqjP-gO_xbF5oTF3Oz_Tg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-04-29T13:30:54Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz3xcfX-aK0uSEy2RB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9vxsO5vMTAw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz3xcfX-aK0uSEy2RB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"$  go build\\r<br>go: go.mod file not found in current directory or any parent directory; see &#39;go help modules&#39;\",\n              \"textOriginal\": \"$  go build\\r\\ngo: go.mod file not found in current directory or any parent directory; see 'go help modules'\",\n              \"authorDisplayName\": \"Floyden Monteiro\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRdRJVVFUbw64ZdmJLyBGlXptKGziLGr38qHb7lKA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-02-24T12:12:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx50C0km3JUV4PewgZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9vxsO5vMTAw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx50C0km3JUV4PewgZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"nice\",\n              \"textOriginal\": \"nice\",\n              \"authorDisplayName\": \"JayRanpariya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQCyV50M9l5iEj3dNh4A9FtbhTMglfjaxDmPQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2021-10-02T19:16:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"3j43y-PFJPI\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugy3IF6-HIjthGHgZ5d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"3j43y-PFJPI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy3IF6-HIjthGHgZ5d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"language designers are seriously high while working,\",\n              \"textOriginal\": \"language designers are seriously high while working,\",\n              \"authorDisplayName\": \"Aditya Singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTgAr0XnPjTqqY9Oevng43N6NeII1_DfHs1Bw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-08T16:18:36Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx-FpsVg5B0T4X2BCt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"3j43y-PFJPI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx-FpsVg5B0T4X2BCt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"good series...where code base is available?(gitlink)\",\n              \"textOriginal\": \"good series...where code base is available?(gitlink)\",\n              \"authorDisplayName\": \"kishori more\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTKw49xai7tMglA6aiFNzbyvZizXEJMF6FKGAJWIA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-12-12T07:51:28Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugws91GjXnJGiEIkBC14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"3j43y-PFJPI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugws91GjXnJGiEIkBC14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"learning Go after Python is sooo difficult 🥲\",\n              \"textOriginal\": \"learning Go after Python is sooo difficult 🥲\",\n              \"authorDisplayName\": \"Zhumagaliev Kanagat\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSf6cur0D3XOguvA_Oxp8KImQJRxy0sw82n7WQ-gg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2022-11-27T13:44:00Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwHyZk47E73yQkcrV14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"3j43y-PFJPI\",\n          \"topLevelComment\": {\n            \"id\": \"UgwHyZk47E73yQkcrV14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"python:<br>a=&quot;4&quot;<br>print(int(4)+1)<br>go:<br>package main\\r<br>\\r<br>import (\\r<br>\\t&quot;bufio&quot;\\r<br>\\t&quot;fmt&quot;\\r<br>\\t&quot;os&quot;\\r<br>\\t&quot;strconv&quot;\\r<br>\\t&quot;strings&quot;\\r<br>)\\r<br>\\r<br>func main() {\\r<br>\\tfmt.Println(&quot;welcome to our pizza app&quot;)\\r<br>\\tfmt.Println(&quot;please rate our pizza between 1 and 5&quot;)\\r<br>\\r<br>\\treader := bufio.NewReader(os.Stdin)\\r<br>\\tinput, _ := reader.ReadString(&#39;\\\\n&#39;)\\r<br>\\r<br>\\tfmt.Println(&quot;thank for your participation, your rate:&quot;, input)\\r<br>\\r<br>\\tnumrating, err := strconv.ParseFloat(strings.TrimSpace(input), 64)\\r<br>\\r<br>\\tif err != nil {\\r<br>\\t\\tfmt.Println(err)\\r<br>\\t} else {\\r<br>\\t\\tfmt.Println(&quot;when you add 1 to your rating we have:&quot;, numrating+1)\\r<br>\\t}\\r<br>}\",\n              \"textOriginal\": \"python:\\na=\\\"4\\\"\\nprint(int(4)+1)\\ngo:\\npackage main\\r\\n\\r\\nimport (\\r\\n\\t\\\"bufio\\\"\\r\\n\\t\\\"fmt\\\"\\r\\n\\t\\\"os\\\"\\r\\n\\t\\\"strconv\\\"\\r\\n\\t\\\"strings\\\"\\r\\n)\\r\\n\\r\\nfunc main() {\\r\\n\\tfmt.Println(\\\"welcome to our pizza app\\\")\\r\\n\\tfmt.Println(\\\"please rate our pizza between 1 and 5\\\")\\r\\n\\r\\n\\treader := bufio.NewReader(os.Stdin)\\r\\n\\tinput, _ := reader.ReadString('\\\\n')\\r\\n\\r\\n\\tfmt.Println(\\\"thank for your participation, your rate:\\\", input)\\r\\n\\r\\n\\tnumrating, err := strconv.ParseFloat(strings.TrimSpace(input), 64)\\r\\n\\r\\n\\tif err != nil {\\r\\n\\t\\tfmt.Println(err)\\r\\n\\t} else {\\r\\n\\t\\tfmt.Println(\\\"when you add 1 to your rating we have:\\\", numrating+1)\\r\\n\\t}\\r\\n}\",\n              \"authorDisplayName\": \"Mani Souri\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQPETVwJ0t7p800r5ceYo5AYmrvjjRvRfdLcKIwueUGAQdyrbYTwoCYnZtM4-n1=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-08-29T09:15:55Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"zYIZtbyUIDY\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyX359nCieAu7_K-2t4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zYIZtbyUIDY\",\n          \"topLevelComment\": {\n            \"id\": \"UgyX359nCieAu7_K-2t4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Why don&#39;t we use scanln\",\n              \"textOriginal\": \"Why don't we use scanln\",\n              \"authorDisplayName\": \"rajvardhan jagtap\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQuAOslg9Tzxa42PfqYbJG5B114Tjl01LbLDjG36Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-21T18:40:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwjoChTk8uomdG4w3p4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zYIZtbyUIDY\",\n          \"topLevelComment\": {\n            \"id\": \"UgwjoChTk8uomdG4w3p4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello Sir, thanks for these Golang Series, Helped a lot to learn GOlang , also Please can you Make also the Series on the Golang Frameworks such as Gin Gonic\",\n              \"textOriginal\": \"Hello Sir, thanks for these Golang Series, Helped a lot to learn GOlang , also Please can you Make also the Series on the Golang Frameworks such as Gin Gonic\",\n              \"authorDisplayName\": \"Vaibhav Patil\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT0bMp8apSxhXFybwwsxOJDK5KjlGYQ8Fqyr_kj1g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-02-11T10:34:56Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxMStNo_RopSgjXGFR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zYIZtbyUIDY\",\n          \"topLevelComment\": {\n            \"id\": \"UgxMStNo_RopSgjXGFR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hey mate.. thanks for such wonderful series. However want to understand can I install Go on my M1 macbook pro?\",\n              \"textOriginal\": \"Hey mate.. thanks for such wonderful series. However want to understand can I install Go on my M1 macbook pro?\",\n              \"authorDisplayName\": \"Sagar Patil\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTZOBpVrklyiwjYWYpoQW7weO2jHNAOaC2qFg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-20T12:23:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwzp889UkGc8G21Z4B4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"zYIZtbyUIDY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwzp889UkGc8G21Z4B4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"alternate of trycatch of  go is pretty cool and make sense. I just came from javascript.\",\n              \"textOriginal\": \"alternate of trycatch of  go is pretty cool and make sense. I just came from javascript.\",\n              \"authorDisplayName\": \"Hj Joey\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQUrl5QEZhDszG3q0EM-uK3W7CBs9DXglg2CLfJ1w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-25T10:35:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"xsAz24z4Hdg\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgzyNk3PpczsUU6yZsB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"xsAz24z4Hdg\",\n          \"topLevelComment\": {\n            \"id\": \"UgzyNk3PpczsUU6yZsB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"where is the previous video 5maths?\",\n              \"textOriginal\": \"where is the previous video 5maths?\",\n              \"authorDisplayName\": \"UCME YTSC\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTKRPRg3VVLTfL4iPmOvDN1ZhZBJ-HDbhn6wV28Kw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-02-19T10:42:02Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugxo77evIVAtfx4XK2d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"xsAz24z4Hdg\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxo77evIVAtfx4XK2d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"@<a href=\\\"https://www.youtube.com/watch?v=xsAz24z4Hdg&amp;t=8m20s\\\">8:20</a> &quot;I don&#39;t know why you would want to go back to 2020...&quot;  Oh trust me...I don&#39;t think we do haha...\",\n              \"textOriginal\": \"@8:20 \\\"I don't know why you would want to go back to 2020...\\\"  Oh trust me...I don't think we do haha...\",\n              \"authorDisplayName\": \"Horizon Brave\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSSIrgctth0QgwDgV7SQ_-REl5tBepf5Y7gyCgPdw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-15T23:39:48Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgylMgWWdpfv3bl8hE94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"xsAz24z4Hdg\",\n          \"topLevelComment\": {\n            \"id\": \"UgylMgWWdpfv3bl8hE94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"that&#39;s the most ridiculous way to of time formatting I&#39;ve ever seen...the guy who came up with this is just mental\",\n              \"textOriginal\": \"that's the most ridiculous way to of time formatting I've ever seen...the guy who came up with this is just mental\",\n              \"authorDisplayName\": \"Andrew Strady\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRnnCyW2mSB8QU4-5dyYjaGVYeVX_bWjVUzfg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-13T21:07:50Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzi4TL5bbIM3wNP3Nx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"xsAz24z4Hdg\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzi4TL5bbIM3wNP3Nx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"05mymaths video missing sir\",\n              \"textOriginal\": \"05mymaths video missing sir\",\n              \"authorDisplayName\": \"Ravi Prakash\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQnLLcgoax1TrSS-AyajniGnl3V_qtco0Aj7tiO=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 4,\n              \"publishedAt\": \"2022-06-23T10:58:00Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"9fYqg6uo-UU\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugx4IgIFtGyE96SX4AJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9fYqg6uo-UU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx4IgIFtGyE96SX4AJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"https://www.youtube.com/watch?v=9fYqg6uo-UU&amp;t=11m06s\\\">11:06</a> Answer is Empty String\",\n              \"textOriginal\": \"11:06 Answer is Empty String\",\n              \"authorDisplayName\": \"jixxy77\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ZORsyNLoZnu9DuNVeQ20sCQyvCK-2enr3xBMGqoriO0lOv3K8__uHnUQuLxh1cy8xUUI21ADkTQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-28T02:12:32Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzJLN7b0-7BFGmAoQd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9fYqg6uo-UU\",\n          \"topLevelComment\": {\n            \"id\": \"UgzJLN7b0-7BFGmAoQd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"so the concept is as told at <a href=\\\"https://www.youtube.com/watch?v=9fYqg6uo-UU&amp;t=9m20s\\\">9:20</a>, float32 has 5 digits after decimal, it isn&#39;t concrete, it should be float32 has total 8 digits including the ones before and after decimal, same goes with float64 (16 digits total), and they round off the last digit too.\",\n              \"textOriginal\": \"so the concept is as told at 9:20, float32 has 5 digits after decimal, it isn't concrete, it should be float32 has total 8 digits including the ones before and after decimal, same goes with float64 (16 digits total), and they round off the last digit too.\",\n              \"authorDisplayName\": \"Utkarsh Agarwal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTlxS1yyic1RZyLmBsT-ohwSPZEgvPRt_0xhXvpNA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-25T05:55:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyIv1JZ00GH951sSPp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9fYqg6uo-UU\",\n          \"topLevelComment\": {\n            \"id\": \"UgyIv1JZ00GH951sSPp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"‎\",\n              \"textOriginal\": \"‎\",\n              \"authorDisplayName\": \"Ardil Mohamed\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTw1k7FkwlGifNUaD0t_cotcFgpTu4cC0qtXm3Tqw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-01T17:49:59Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugwbhubl5r_lW6EdWBB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9fYqg6uo-UU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwbhubl5r_lW6EdWBB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"fp for not initializing strings is nil 💯\",\n              \"textOriginal\": \"fp for not initializing strings is nil 💯\",\n              \"authorDisplayName\": \"Abdulhameed Abubakri\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTKyx7nfKGCdvWIiCRQvLSVlSVp2qE8u-UTHFIOUvHxQxd4Tw1TvO7Ak03EhA4N=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-04T12:04:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"elYPAeX9h1E\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgzTeuBqfAts-ZmOiWh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"elYPAeX9h1E\",\n          \"topLevelComment\": {\n            \"id\": \"UgzTeuBqfAts-ZmOiWh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"about:invalid#zCSafez\\\"></a>\",\n              \"textOriginal\": \"\",\n              \"authorDisplayName\": \"Ritesh Chavan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSYiP7qdxkRQgKXvfk-CJSnVNcWiWL3msISsAYDJw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-19T07:11:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwdfHmVZBeo_pMCUEd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"elYPAeX9h1E\",\n          \"topLevelComment\": {\n            \"id\": \"UgwdfHmVZBeo_pMCUEd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Good video but there is a small correction at <a href=\\\"https://www.youtube.com/watch?v=elYPAeX9h1E&amp;t=2m30s\\\">2:30</a><br>The Lexer just convert a sequence of characters into a sequence of tokens which follows a specific regular expression, Lexer doesn&#39;t check if the source code follows the grammar of the language, it is done by the Parser.<br>In go compiler the lexer automatically inserts a semicolon token into the token stream which is then passed to the parser which checks if the token stream follows the grammar of the language.\",\n              \"textOriginal\": \"Good video but there is a small correction at 2:30\\nThe Lexer just convert a sequence of characters into a sequence of tokens which follows a specific regular expression, Lexer doesn't check if the source code follows the grammar of the language, it is done by the Parser.\\nIn go compiler the lexer automatically inserts a semicolon token into the token stream which is then passed to the parser which checks if the token stream follows the grammar of the language.\",\n              \"authorDisplayName\": \"Adeeb H.S\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTbpm2UK9pbMg1I22kiJk0VLGfoVYtS62qS1KG2GQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-03-26T12:42:52Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxwuIiNicoBv90tqj14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"elYPAeX9h1E\",\n          \"topLevelComment\": {\n            \"id\": \"UgxwuIiNicoBv90tqj14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hitesh, thank you sir\",\n              \"textOriginal\": \"Hitesh, thank you sir\",\n              \"authorDisplayName\": \"dagoth odros\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS_9lHzlvuEhLaLeGnF79DPihhesb3_r5cq94cPbn8zaUFyRHlgKbgDtJe45AKE=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-29T04:48:23Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwY0JkicmNwVc15tXp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"elYPAeX9h1E\",\n          \"topLevelComment\": {\n            \"id\": \"UgwY0JkicmNwVc15tXp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Wanted to learn golang through a crash course in 20-30 minute to modify some bug bounty tools and add some features but now here I am learning the basics of everything. Your videoes  really hooked me up. Kudos to you mate 🔥\",\n              \"textOriginal\": \"Wanted to learn golang through a crash course in 20-30 minute to modify some bug bounty tools and add some features but now here I am learning the basics of everything. Your videoes  really hooked me up. Kudos to you mate 🔥\",\n              \"authorDisplayName\": \"Orin\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR9HNG0bK6IeUYA9POlJH90Nlv8bEWSRywQJ50E=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-01-06T04:21:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"62qGe9yhiJI\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgysVzAB7SUJdZ67JbR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"62qGe9yhiJI\",\n          \"topLevelComment\": {\n            \"id\": \"UgysVzAB7SUJdZ67JbR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"There is content for everything here on this channel really appreciate\",\n              \"textOriginal\": \"There is content for everything here on this channel really appreciate\",\n              \"authorDisplayName\": \"Mukesh Bagaria\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSjSrqUgmhD542rTQVh3JX47ZhALcTj7QthWiyOQg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-21T17:18:54Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwAZ5mcxUG3E6yM6WJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"62qGe9yhiJI\",\n          \"topLevelComment\": {\n            \"id\": \"UgwAZ5mcxUG3E6yM6WJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"VScode shows an error when having multiple Go Projects in a directoryTo solve this, follow below steps :<br><br>Solution:<br>step 1 : Open Vscode, and then go to settings.<br><br>step 2 : In the search bar , type gopls<br><br>step 3 : Just below that you will find settings.json, click on that<br><br>step 4 : Paste the below code their &quot;gopls&quot;: { &quot;experimentalWorkspaceModule&quot;: true, }<br><br>step 5 : Save it and restart the Vscode, You are good to go now\",\n              \"textOriginal\": \"VScode shows an error when having multiple Go Projects in a directoryTo solve this, follow below steps :\\n\\nSolution:\\nstep 1 : Open Vscode, and then go to settings.\\n\\nstep 2 : In the search bar , type gopls\\n\\nstep 3 : Just below that you will find settings.json, click on that\\n\\nstep 4 : Paste the below code their \\\"gopls\\\": { \\\"experimentalWorkspaceModule\\\": true, }\\n\\nstep 5 : Save it and restart the Vscode, You are good to go now\",\n              \"authorDisplayName\": \"ASHISH RANJAN Jaiswal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT_kM2e7Ok4JAdFr-2y3LYhnn5O3IshF66Hgw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-10-08T14:08:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzc1uYgvnot2qdP2f54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"62qGe9yhiJI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzc1uYgvnot2qdP2f54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"https://www.youtube.com/watch?v=62qGe9yhiJI&amp;t=10m59s\\\">10:59</a> Uh what? You can&#39;t run it if you haven&#39;t build it first. You run the build binary. &quot;go run&quot; is just a shortcut to build and run.\",\n              \"textOriginal\": \"10:59 Uh what? You can't run it if you haven't build it first. You run the build binary. \\\"go run\\\" is just a shortcut to build and run.\",\n              \"authorDisplayName\": \"Makes No Sense\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRwqKusd4_fqpwSErMTe1xH5_h_8diYW-ht4-JM=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-07-24T10:30:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx6qdARNxFk_oDLxUV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"62qGe9yhiJI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx6qdARNxFk_oDLxUV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"https://www.youtube.com/watch?v=62qGe9yhiJI&amp;t=1m57s\\\">1:57</a> You don&#39;t know what is happening on remote server with RANDOM? You know, a util that is giving you RANDOM data? You don&#39;t know what is happening... Yeah yeah, I suppose you could have some control with a seed, but still, it&#39;s a RANDOM package, suppose to give you RANDOM data.<br><br>Also, you can figure things out by using the packages and see what you get back. You can see what they do by examine the code.<br><br>But the whole argument that it&#39;s not good running on remote server is because you don&#39;t know what is happening is not really the biggest issue. One major issue here is that clearly you don&#39;t get the binary. Just some stdout outpout.\",\n              \"textOriginal\": \"1:57 You don't know what is happening on remote server with RANDOM? You know, a util that is giving you RANDOM data? You don't know what is happening... Yeah yeah, I suppose you could have some control with a seed, but still, it's a RANDOM package, suppose to give you RANDOM data.\\n\\nAlso, you can figure things out by using the packages and see what you get back. You can see what they do by examine the code.\\n\\nBut the whole argument that it's not good running on remote server is because you don't know what is happening is not really the biggest issue. One major issue here is that clearly you don't get the binary. Just some stdout outpout.\",\n              \"authorDisplayName\": \"Makes No Sense\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRwqKusd4_fqpwSErMTe1xH5_h_8diYW-ht4-JM=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-07-24T10:20:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"QEZlivtFOZk\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxbQrNFXMw0uNUuig14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"QEZlivtFOZk\",\n          \"topLevelComment\": {\n            \"id\": \"UgxbQrNFXMw0uNUuig14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Can you also make a video on golang for devops. how test scripts and others are written in golang by devops engineer?\",\n              \"textOriginal\": \"Can you also make a video on golang for devops. how test scripts and others are written in golang by devops engineer?\",\n              \"authorDisplayName\": \"Yukino\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/D_afKYcAYa73s77VwXzboX5tfP-PbrEwDN6Jeaa66TJRZ8gD_PhJvZZkubJY19G_JUL_XA_Rzg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-23T09:26:52Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzGFVtmTqtZGsz5U_t4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"QEZlivtFOZk\",\n          \"topLevelComment\": {\n            \"id\": \"UgzGFVtmTqtZGsz5U_t4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"enjoying\",\n              \"textOriginal\": \"enjoying\",\n              \"authorDisplayName\": \"Kaustubh Pardhi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRr2SBNBfls-xG6yYXSF--t8w5BajM-VGNFATsmcw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-12T17:44:12Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwS-PAcs-GPfm80kPt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"QEZlivtFOZk\",\n          \"topLevelComment\": {\n            \"id\": \"UgwS-PAcs-GPfm80kPt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Subscribed!  You, sir, are a great teacher.\",\n              \"textOriginal\": \"Subscribed!  You, sir, are a great teacher.\",\n              \"authorDisplayName\": \"Daniel Cory\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSc15LaqQPkXwQMuNX-bjIom-h4Yb5iMyO8UzI0=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-12-23T02:25:34Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz6Pa5Xf4QKWBiioY14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"QEZlivtFOZk\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz6Pa5Xf4QKWBiioY14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you!\",\n              \"textOriginal\": \"Thank you!\",\n              \"authorDisplayName\": \"Sunil Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ6ZBaDFsdM5Osk7Yu90KX4h2eSFY-OVjHYyg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-07-11T17:04:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"F3klnY_r8FU\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyQTruduZSO2WAaFjV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"F3klnY_r8FU\",\n          \"topLevelComment\": {\n            \"id\": \"UgyQTruduZSO2WAaFjV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"great explanation\",\n              \"textOriginal\": \"great explanation\",\n              \"authorDisplayName\": \"Jeffrey wang\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTki3ypv6_RIMkmRPrgzEb-cMVVAbgiZwWIwKMYDRhVOw_TmFPk1avfkVsBpixV=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-27T14:38:48Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyQzXEG9lWLpdLWTzF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"F3klnY_r8FU\",\n          \"topLevelComment\": {\n            \"id\": \"UgyQzXEG9lWLpdLWTzF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"u r just so positive man\",\n              \"textOriginal\": \"u r just so positive man\",\n              \"authorDisplayName\": \"Drigoephesien ALovingSon\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS1qIUQzIUts7zHwUyRxRMIkOstFmWbH3TaQRsTnqSLrDe3tsJgYmW138dI8Ssd=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-03T05:24:03Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzA9FN65qbxAvCBfUt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"F3klnY_r8FU\",\n          \"topLevelComment\": {\n            \"id\": \"UgzA9FN65qbxAvCBfUt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Kitna meetha meetha bolte ho sir padne ka maja ajata h ❤️\",\n              \"textOriginal\": \"Kitna meetha meetha bolte ho sir padne ka maja ajata h ❤️\",\n              \"authorDisplayName\": \"Mr Charm\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQAKLT9BpvGeJzp3JKQrrsG2cJx59C8IQC02wTL4SF4y9CG3HXhp6BEiehJxC-g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-03T11:39:46Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwfFpdMxgNzHtKGBPR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"F3klnY_r8FU\",\n          \"topLevelComment\": {\n            \"id\": \"UgwfFpdMxgNzHtKGBPR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks\",\n              \"textOriginal\": \"Thanks\",\n              \"authorDisplayName\": \"Acron Project\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ukgDD7ApJwabUxIixFtF8WLDkhHANu39d0hx7fGDuRag5BjqHjc6wh-z9I-KZETki5LG1NW0Tw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-19T15:27:55Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"78vzqy9VQlQ\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugzt1SwWv5auHj0djed4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"78vzqy9VQlQ\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzt1SwWv5auHj0djed4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"https://hc.lco.dev/jscamp2\\\">https://hc.lco.dev/jscamp2</a><br>Use HITESH30 for 30% off\",\n              \"textOriginal\": \"https://hc.lco.dev/jscamp2\\nUse HITESH30 for 30% off\",\n              \"authorDisplayName\": \"Hitesh Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-10-29T16:28:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxJHpb3RQoH9CkR36J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"78vzqy9VQlQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgxJHpb3RQoH9CkR36J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Jaipur or bangalore studio?<br> It looks just like Jaipur studio.\",\n              \"textOriginal\": \"Jaipur or bangalore studio?\\n It looks just like Jaipur studio.\",\n              \"authorDisplayName\": \"nomesh gajare\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRl-zJ6xZRgXqIyLTdCd_cd0UybWRnUforZougHEQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-29T17:13:46Z\"\n            }\n          },\n          \"totalReplyCount\": 3\n        }\n      },\n      {\n        \"id\": \"Ugy4wpvUNO73PdBJg_94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"78vzqy9VQlQ\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy4wpvUNO73PdBJg_94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"✨✨✨🔥🔥🔥🔥⭐⭐⭐\",\n              \"textOriginal\": \"✨✨✨🔥🔥🔥🔥⭐⭐⭐\",\n              \"authorDisplayName\": \"Amit Pandit Game Reviews\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/G_PLmftl2YlJiw03Ww3b25QtslFSiVujy_wZnWLrA3NF-p_c6M9NniMh5hc9G3bAgb_q6abncQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-29T16:41:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"bfSd_0fzv5U\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugxm8ceWe2W-eecx_aB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"bfSd_0fzv5U\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxm8ceWe2W-eecx_aB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"What is your speciality\",\n              \"textOriginal\": \"What is your speciality\",\n              \"authorDisplayName\": \"The blogger\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRwN-9kjyKmxcODgoVRtolkdt68I3783rx8cY42xH1xYuPK3jJIhu4Y2-89NS6Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-02-28T10:30:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxC0Z0tMeNC6pXy7HN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"bfSd_0fzv5U\",\n          \"topLevelComment\": {\n            \"id\": \"UgxC0Z0tMeNC6pXy7HN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"👍\",\n              \"textOriginal\": \"👍\",\n              \"authorDisplayName\": \"Aman saxena\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSojEuwoQ5jq27i-3dhW0luy5SP8BR9dsTvBcxkfec=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-02-21T07:32:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgysvMoVLfIqorcK4Yx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"bfSd_0fzv5U\",\n          \"topLevelComment\": {\n            \"id\": \"UgysvMoVLfIqorcK4Yx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"where are the professor like glasses<a href=\\\"about:invalid#zCSafez\\\"></a>\",\n              \"textOriginal\": \"where are the professor like glasses\",\n              \"authorDisplayName\": \"Saket verma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSuBjz9bDWDK1ogW1wlwy9ov2RHJr9qfvpMmKLvzA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-02-20T09:04:48Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyLlEfbX5ngGuA9X7l4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"bfSd_0fzv5U\",\n          \"topLevelComment\": {\n            \"id\": \"UgyLlEfbX5ngGuA9X7l4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi Hitesh,<br><br>I wanna buy your paid course from your e-learning platform but facing some problems and some questions regarding this….Therefore I mailed your official mail address  a few days earlier which is given in your e-learning platform in contact page(I used both mail given in your contact page)-but unfortunately you didn’t reply me and thus can’t buy your course…can you please take a look there(the mail was about buying react native bootcamp course)<br><br>Thank you\",\n              \"textOriginal\": \"Hi Hitesh,\\n\\nI wanna buy your paid course from your e-learning platform but facing some problems and some questions regarding this….Therefore I mailed your official mail address  a few days earlier which is given in your e-learning platform in contact page(I used both mail given in your contact page)-but unfortunately you didn’t reply me and thus can’t buy your course…can you please take a look there(the mail was about buying react native bootcamp course)\\n\\nThank you\",\n              \"authorDisplayName\": \"Tanvir Islam Pulok\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRpRGA0MEjR05VRRWNfKIo54gUcHpOUc_wTtg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-02-20T08:16:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"TRviIyktFhM\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxVXEu0jNrHlnB9F9t4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"TRviIyktFhM\",\n          \"topLevelComment\": {\n            \"id\": \"UgxVXEu0jNrHlnB9F9t4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hey sir, request u to make a video on flipkart runway as last yr they had hired 4 seniors from my college. i need guidance on how to prepare for it. Please help\",\n              \"textOriginal\": \"Hey sir, request u to make a video on flipkart runway as last yr they had hired 4 seniors from my college. i need guidance on how to prepare for it. Please help\",\n              \"authorDisplayName\": \"Raisha Singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ3m0dGZxL_crrQeSafYzaboph3yU-I4cmetXMPgjBoVTYBvkPM1t2VqIMW6K4B=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-03-15T07:20:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwXj-I0gsXkBtAWHF94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"TRviIyktFhM\",\n          \"topLevelComment\": {\n            \"id\": \"UgwXj-I0gsXkBtAWHF94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Congratulations hitesh sir\",\n              \"textOriginal\": \"Congratulations hitesh sir\",\n              \"authorDisplayName\": \"Sanjeet kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRCkQiSyMh5K2w1XgylFw4AAnj-MXIOO-jbYGQcfw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-03-14T10:13:16Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzcSFlH_h1Mu3OHXIJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"TRviIyktFhM\",\n          \"topLevelComment\": {\n            \"id\": \"UgzcSFlH_h1Mu3OHXIJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Congrats Sir\",\n              \"textOriginal\": \"Congrats Sir\",\n              \"authorDisplayName\": \"Rohan Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQsvKH2AHvAm3yqgrNrhMN-8NaaYCF8aJWytg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-03-14T08:28:28Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyEva7Oajp_leoUDbl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"TRviIyktFhM\",\n          \"topLevelComment\": {\n            \"id\": \"UgyEva7Oajp_leoUDbl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"The irony is when you meet Hitesh sir walking down the street and your brain rejects the idea that it&#39;s him, because of his simplicity.\",\n              \"textOriginal\": \"The irony is when you meet Hitesh sir walking down the street and your brain rejects the idea that it's him, because of his simplicity.\",\n              \"authorDisplayName\": \"Dheeraj Yadav\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQNvf97iKViXDxv15qq-4zqJCMG97TZVBpWoPX8kw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-03-13T12:46:27Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      }\n    ]\n  },\n  \"NPKEncE2mW0\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugybwvpf20Jg2_WiKNd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"NPKEncE2mW0\",\n          \"topLevelComment\": {\n            \"id\": \"Ugybwvpf20Jg2_WiKNd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Nice session Hitesh, Book recommendation from Sudhanshu &quot;Rashmirathi&quot; is great👍\",\n              \"textOriginal\": \"Nice session Hitesh, Book recommendation from Sudhanshu \\\"Rashmirathi\\\" is great👍\",\n              \"authorDisplayName\": \"nikhil kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTkerVsIyQcQGtBGaDL6iwKSTrIoJFwRfhl3YmL=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2022-02-15T08:34:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzMSVmDVZhynM-36J14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"NPKEncE2mW0\",\n          \"topLevelComment\": {\n            \"id\": \"UgzMSVmDVZhynM-36J14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This is amazing 😍. And inviting guest also amazing.\",\n              \"textOriginal\": \"This is amazing 😍. And inviting guest also amazing.\",\n              \"authorDisplayName\": \"Harsh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRxZucs56AUVpOAdPXQRAgchqcDDfV8ZNBEFKEdmQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-02-14T17:22:23Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxZUvMTGcXiRwxNhMF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"NPKEncE2mW0\",\n          \"topLevelComment\": {\n            \"id\": \"UgxZUvMTGcXiRwxNhMF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Drones naturally do Vtol. Doesn&#39;t they?\",\n              \"textOriginal\": \"Drones naturally do Vtol. Doesn't they?\",\n              \"authorDisplayName\": \"Em Je\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR-SstgsvSOGhjz4plUSAgac9uOWtTbc8LMLBzb=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-02-14T16:49:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyiwV9NkTYeNRypJaN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"NPKEncE2mW0\",\n          \"topLevelComment\": {\n            \"id\": \"UgyiwV9NkTYeNRypJaN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi Himesh, Can you please try lit js and know you opinion\",\n              \"textOriginal\": \"Hi Himesh, Can you please try lit js and know you opinion\",\n              \"authorDisplayName\": \"sanath Kumar U\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS9TbHwAy6V5c3FbYMvXjzE6a17acnsTNcFZQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-02-14T07:15:55Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"JoJ8Sw5Yb4c\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"nextPageToken\": \"QURTSl9pMHlLN2FZX3Z4OXBiS3JVc0hpajk0X3R2RHI1a2c3SW5oTXI1V0I5bU5FSXBmUTlWSmJvTVplMDZSOHlCV0RveUJCS0RlUmJEQQ==\",\n    \"items\": [\n      {\n        \"id\": \"Ugya80rTql481j5I1J54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"JoJ8Sw5Yb4c\",\n          \"topLevelComment\": {\n            \"id\": \"Ugya80rTql481j5I1J54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"The speed of your videos is really Ideal. Love it. Thanks for these lessons\",\n              \"textOriginal\": \"The speed of your videos is really Ideal. Love it. Thanks for these lessons\",\n              \"authorDisplayName\": \"Abhishek Abhishek Baghel\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRX6fDfa6D69sYlYJzG0J9kKCDeiYKK9edonfjEQn7XtLtVIo8WFZwFOTxqaRik=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-16T06:10:21Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyQmAOxHGD9u-b7q9R4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"JoJ8Sw5Yb4c\",\n          \"topLevelComment\": {\n            \"id\": \"UgyQmAOxHGD9u-b7q9R4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Good work.. keep it up..\",\n              \"textOriginal\": \"Good work.. keep it up..\",\n              \"authorDisplayName\": \"Thushara Jayamanna\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQyEIrMcQennS3URAGcxvsfBntPSCDD3Sw86A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-11T12:26:12Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz6_Ow_BcIKXLPpDNx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"JoJ8Sw5Yb4c\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz6_Ow_BcIKXLPpDNx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you Hitesh for all these wonderful videos\",\n              \"textOriginal\": \"Thank you Hitesh for all these wonderful videos\",\n              \"authorDisplayName\": \"Rupesh Dubey\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTtkB4qEr0kyuMHO34vODCatjwwqVVBBqrDxg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-20T11:05:08Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxklIAy_ZIUdEHTYjB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"JoJ8Sw5Yb4c\",\n          \"topLevelComment\": {\n            \"id\": \"UgxklIAy_ZIUdEHTYjB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Looks Gud let&#39;s get started... Bismillah 🤍❤️\",\n              \"textOriginal\": \"Looks Gud let's get started... Bismillah 🤍❤️\",\n              \"authorDisplayName\": \"Mohammed afzal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTfELTexK8pr4qCcmj6IdEYX-NYpQvVHFeX_jEX4g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-12T12:58:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"altMM5he1wY\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgziZOyhNHDTs-lgHpl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"altMM5he1wY\",\n          \"topLevelComment\": {\n            \"id\": \"UgziZOyhNHDTs-lgHpl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hitesh bhai, waaah ....very well said <a href=\\\"https://www.youtube.com/watch?v=altMM5he1wY&amp;t=50m45s\\\">50:45</a> to <a href=\\\"https://www.youtube.com/watch?v=altMM5he1wY&amp;t=50m59s\\\">50:59</a>, impressed &amp; inspired 😉<br>Simplicity with fondness 👌\",\n              \"textOriginal\": \"Hitesh bhai, waaah ....very well said 50:45 to 50:59, impressed & inspired 😉\\nSimplicity with fondness 👌\",\n              \"authorDisplayName\": \"Imran A M\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQZTKI5SpPEYEyMt_zfcZ8zqfw7PjVZQwqoQQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-01-20T16:21:57Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzvgG7TgjPj2hCtsbl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"altMM5he1wY\",\n          \"topLevelComment\": {\n            \"id\": \"UgzvgG7TgjPj2hCtsbl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"superb\",\n              \"textOriginal\": \"superb\",\n              \"authorDisplayName\": \"Yogesh Ukidwe\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTYV_X3-ebPobL973cKbG7r6cA_8J5vE1_zM9_vLQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-01-10T06:55:31Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzZeY83Hoi0V9COPyh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"altMM5he1wY\",\n          \"topLevelComment\": {\n            \"id\": \"UgzZeY83Hoi0V9COPyh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Paytm = to much diversification\",\n              \"textOriginal\": \"Paytm = to much diversification\",\n              \"authorDisplayName\": \"Delta finace\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/hfwRkDFOJ4xzPfq8PlGknxqiUi6VFL3cFuUTCL0SWqZQshUZzBd-oAcsYYgmMVg6vLWl8GSFBA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-01-10T03:04:47Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzW4LBb7unujXMe-kl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"altMM5he1wY\",\n          \"topLevelComment\": {\n            \"id\": \"UgzW4LBb7unujXMe-kl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I bought same glass in 600rs. In how many rupees did you buy in USA\",\n              \"textOriginal\": \"I bought same glass in 600rs. In how many rupees did you buy in USA\",\n              \"authorDisplayName\": \"MD ALISHAN ALI\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/RJ7s4Ubv49vIeUdeS8UVlXJfAUHKlGGkPGvL1IDe-79XPrqbjgOHAeUQFxOEMx32JZ42bZrk=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-01-09T16:51:47Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"GucwWmwAGT8\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgzlMxzhioQYgeKfWCZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"GucwWmwAGT8\",\n          \"topLevelComment\": {\n            \"id\": \"UgzlMxzhioQYgeKfWCZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Loved the course! Requesting more on REST API\",\n              \"textOriginal\": \"Loved the course! Requesting more on REST API\",\n              \"authorDisplayName\": \"Mune Ugi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTdfagzwKXqny0l2H8GzOmWc7E9pDlrylk_rDlE3psMEnmgBwLfkV5Oal-zlP--=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-16T02:03:52Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyvDAuLy5FcaEksXRZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"GucwWmwAGT8\",\n          \"topLevelComment\": {\n            \"id\": \"UgyvDAuLy5FcaEksXRZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hey Hitesh Sir, which software do you use for editing your videos ?\",\n              \"textOriginal\": \"Hey Hitesh Sir, which software do you use for editing your videos ?\",\n              \"authorDisplayName\": \"Gautam Patil\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/eq3CfO3mmWt_j47a_K92jEFt-u57xwF62CImw32moCoeJ0npwqLfKTvy6IL8SGj7IjbhVUiQrF8=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-07-04T10:48:17Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwSFIhQO4_B8_MHR9t4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"GucwWmwAGT8\",\n          \"topLevelComment\": {\n            \"id\": \"UgwSFIhQO4_B8_MHR9t4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"is it similar to github pages?\",\n              \"textOriginal\": \"is it similar to github pages?\",\n              \"authorDisplayName\": \"SajithlalDEV\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/zneVGDdSRLX98R1NbU3SMAMD0HLgGfM-akTGmNcEPwXRDsd4AL_vKzKA642k-Hrap7TEJvUN=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-29T12:19:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwGv56H_4aE-apKc3J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"GucwWmwAGT8\",\n          \"topLevelComment\": {\n            \"id\": \"UgwGv56H_4aE-apKc3J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir hindi channel banaiye nah ak\",\n              \"textOriginal\": \"Sir hindi channel banaiye nah ak\",\n              \"authorDisplayName\": \"gajab hai dost\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQr8MJh_UWPBrryce_iFHcoWWoYdTPtt5sIikrKGg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-08T08:20:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"9Jvgh6txd1k\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxPlpQYi84epKghN_N4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9Jvgh6txd1k\",\n          \"topLevelComment\": {\n            \"id\": \"UgxPlpQYi84epKghN_N4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"You are asset<br>I appreciate this\",\n              \"textOriginal\": \"You are asset\\nI appreciate this\",\n              \"authorDisplayName\": \"Delta finace\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/hfwRkDFOJ4xzPfq8PlGknxqiUi6VFL3cFuUTCL0SWqZQshUZzBd-oAcsYYgmMVg6vLWl8GSFBA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2021-12-16T11:36:55Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy7l_l2eaKkqBTDy-54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9Jvgh6txd1k\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy7l_l2eaKkqBTDy-54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"superb and worth\",\n              \"textOriginal\": \"superb and worth\",\n              \"authorDisplayName\": \"Yogesh Ukidwe\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTYV_X3-ebPobL973cKbG7r6cA_8J5vE1_zM9_vLQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2021-12-12T16:58:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgykZyJ_VIe3Gq9LLVd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9Jvgh6txd1k\",\n          \"topLevelComment\": {\n            \"id\": \"UgykZyJ_VIe3Gq9LLVd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"flutter developer rise up :P\",\n              \"textOriginal\": \"flutter developer rise up :P\",\n              \"authorDisplayName\": \"Sumer Singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/_7iARunJCeYN0AlYaOnpn725-aKd6EWqvj3KRtOR6GnvNhkrMmHtrmjSKZUR0LMgAIOMD0CS=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2021-12-12T14:47:18Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzrfZVtUOmc_LGuSTB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"9Jvgh6txd1k\",\n          \"topLevelComment\": {\n            \"id\": \"UgzrfZVtUOmc_LGuSTB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"After watching this video, i decided to learn TailWind CSS. I was about to learn Bootstrap but after seeing TailWind CSS documentation, I loved it immediately. Am pretty good at CSS, so TailWind CSS is the best choice for me.\",\n              \"textOriginal\": \"After watching this video, i decided to learn TailWind CSS. I was about to learn Bootstrap but after seeing TailWind CSS documentation, I loved it immediately. Am pretty good at CSS, so TailWind CSS is the best choice for me.\",\n              \"authorDisplayName\": \"Ebenmelu Ifechukwu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/0d8MOLCuUgRQZDdfq3jFwDidPOAON-SP65zZzLXMXXhDvFMcwuya5XCvFn7LGCAnyFGOFuORmGA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2021-12-12T06:45:46Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"Ly2253lKR0U\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgwcE80D9Lry5Kb8j054AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ly2253lKR0U\",\n          \"topLevelComment\": {\n            \"id\": \"UgwcE80D9Lry5Kb8j054AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Great session, time well spent. Thanks to both of you\",\n              \"textOriginal\": \"Great session, time well spent. Thanks to both of you\",\n              \"authorDisplayName\": \"Satyam Rai\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS4MSm8DuiQxTPDJy4UVtMMWZZsdr6jgFKRKA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-07-18T10:15:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx0OIwAKfbnVY-PpHV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ly2253lKR0U\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx0OIwAKfbnVY-PpHV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"We want video on web 3.0\",\n              \"textOriginal\": \"We want video on web 3.0\",\n              \"authorDisplayName\": \"Himanshu Sharma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSPL4Bk8TFvmR7rFfPLnZw0v-OdwMiR6rFCVHu36A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-02-17T06:22:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzbpDuYXSxT_-_cNKp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ly2253lKR0U\",\n          \"topLevelComment\": {\n            \"id\": \"UgzbpDuYXSxT_-_cNKp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks Hitesh and Abhishek, for sharing your knowledge with the community. I really learned a lot.\",\n              \"textOriginal\": \"Thanks Hitesh and Abhishek, for sharing your knowledge with the community. I really learned a lot.\",\n              \"authorDisplayName\": \"Contact Di\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR29B3wu-sCh4M5Lb1Ah0iJzeCn1aglXGEy0_Nt=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-02-12T07:19:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxPEKFS3iU6SHH3MnN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ly2253lKR0U\",\n          \"topLevelComment\": {\n            \"id\": \"UgxPEKFS3iU6SHH3MnN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Learnt lot\",\n              \"textOriginal\": \"Learnt lot\",\n              \"authorDisplayName\": \"Marimuthu Raja\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQbXgD5-3jm0CFfngF_qa_APDF0ejb77tZ0BBx8_w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-02-07T18:24:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"3DVNl8uwoAo\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxOQaa7SOOgblQT2Hl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"3DVNl8uwoAo\",\n          \"topLevelComment\": {\n            \"id\": \"UgxOQaa7SOOgblQT2Hl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"https://courses.learncodeonline.in/learn/NextJS-Full-stack-crash-course\\\">https://courses.learncodeonline.in/learn/NextJS-Full-stack-crash-course</a><br>For full playlist with code files\",\n              \"textOriginal\": \"https://courses.learncodeonline.in/learn/NextJS-Full-stack-crash-course\\nFor full playlist with code files\",\n              \"authorDisplayName\": \"Hitesh Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 6,\n              \"publishedAt\": \"2022-01-10T11:48:36Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzDt4uJfK8ZuHZ6iAl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"3DVNl8uwoAo\",\n          \"topLevelComment\": {\n            \"id\": \"UgzDt4uJfK8ZuHZ6iAl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks sir, 🇧🇩\",\n              \"textOriginal\": \"Thanks sir, 🇧🇩\",\n              \"authorDisplayName\": \"WebTech\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/zqJVK471TmpA-82v2sdk7mR9D5F9gTy12f_3LRyd6r1gEKNLAX65p2Y9TS67fuTEPoCoXoRz=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-05-12T09:27:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyEDn3h4Sj9oEX7PZB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"3DVNl8uwoAo\",\n          \"topLevelComment\": {\n            \"id\": \"UgyEDn3h4Sj9oEX7PZB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"No updates after this video 👀\",\n              \"textOriginal\": \"No updates after this video 👀\",\n              \"authorDisplayName\": \"YVnow\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/TTNdVoKxQaoNeLvQB9CLhlB1jZyzE2UuYwy6kSfpyLO4yxwx-Va5pA5dnYs9ii1rf0_OKzW8Fg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-02-13T07:34:31Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      },\n      {\n        \"id\": \"UgygKxvnlgUkzyUCm1B4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"3DVNl8uwoAo\",\n          \"topLevelComment\": {\n            \"id\": \"UgygKxvnlgUkzyUCm1B4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"whats yours vscode font name??⁉⁉\",\n              \"textOriginal\": \"whats yours vscode font name??⁉⁉\",\n              \"authorDisplayName\": \"Sourav Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRhB-3T-SndKWxdAboSwiv_lNZPl-cGHlwaxgI67cg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-02-02T18:19:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"IDKKB5bm4vM\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugz0XvRN2tMAAfVS7_x4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"IDKKB5bm4vM\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz0XvRN2tMAAfVS7_x4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Code files:<br><a href=\\\"https://github.com/hiteshchoudhary/Zustand-crash-course\\\">https://github.com/hiteshchoudhary/Zustand-crash-course</a>\",\n              \"textOriginal\": \"Code files:\\nhttps://github.com/hiteshchoudhary/Zustand-crash-course\",\n              \"authorDisplayName\": \"Hitesh Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-05-19T06:16:43Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy9imZk80WEURo-xVR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"IDKKB5bm4vM\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy9imZk80WEURo-xVR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"👍👍👍👍👏👏👏👏👏👏🫶🙏\",\n              \"textOriginal\": \"👍👍👍👍👏👏👏👏👏👏🫶🙏\",\n              \"authorDisplayName\": \"Bulat Ashimov\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRIvnxkCAaAVa4WmVtK6HoOT2uzls2DRnS94y6r1Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-13T08:44:49Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwZ0SQ2c12LiGmURKN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"IDKKB5bm4vM\",\n          \"topLevelComment\": {\n            \"id\": \"UgwZ0SQ2c12LiGmURKN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I am watching in one go\",\n              \"textOriginal\": \"I am watching in one go\",\n              \"authorDisplayName\": \"codespace\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/YzbIiZomgSCjz-PaQd87PbbEmbNlsfUKvpZdyrfNVdmKCRKxq5tkdG3BXgmMYi9QnHI7DwZDxrE=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-12T16:03:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyoHDFL3Qv7QOb-QKZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"IDKKB5bm4vM\",\n          \"topLevelComment\": {\n            \"id\": \"UgyoHDFL3Qv7QOb-QKZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanku brother ...please do more videous on Zustand\",\n              \"textOriginal\": \"Thanku brother ...please do more videous on Zustand\",\n              \"authorDisplayName\": \"Bala murali Media\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/EMcqd7vH2uWCf2GZ-DZAH_0mwSjCw3eK3Ta-MhIOPSInq119w3SIFz7xcOjr1n6UC9eX8SLK2wI=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-18T05:45:55Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"mxSK9ZcASMU\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgwatUA5xH83zbAn9sh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mxSK9ZcASMU\",\n          \"topLevelComment\": {\n            \"id\": \"UgwatUA5xH83zbAn9sh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Time to flood the youtube with videos. So far, I was focusing on paid courses, but it&#39;s time to give more to community. Let&#39;s roll some courses on youtube, full courses. 🔥\",\n              \"textOriginal\": \"Time to flood the youtube with videos. So far, I was focusing on paid courses, but it's time to give more to community. Let's roll some courses on youtube, full courses. 🔥\",\n              \"authorDisplayName\": \"Hitesh Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 52,\n              \"publishedAt\": \"2022-09-07T15:34:14Z\"\n            }\n          },\n          \"totalReplyCount\": 6\n        }\n      },\n      {\n        \"id\": \"Ugw2og_mATtlNSaAFIh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mxSK9ZcASMU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw2og_mATtlNSaAFIh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Excited.....😀😀\",\n              \"textOriginal\": \"Excited.....😀😀\",\n              \"authorDisplayName\": \"Ashutosh Maurya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRVed-U56bUC2HlW7wDCG0ZcYD8BQXWTI7X9gAO-A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-08T11:56:54Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzSEYO-CWaxi3FszzJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mxSK9ZcASMU\",\n          \"topLevelComment\": {\n            \"id\": \"UgzSEYO-CWaxi3FszzJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"tNice tutorialngs work. I do read so stuff in the manual but there is a lot, or I try to find tNice tutorialngs on youtube. So more help will be appreciated.\",\n              \"textOriginal\": \"tNice tutorialngs work. I do read so stuff in the manual but there is a lot, or I try to find tNice tutorialngs on youtube. So more help will be appreciated.\",\n              \"authorDisplayName\": \"I B Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/geRrXUY8iATvU61AUfLwD1gKHPwe_Yqr23PciQs-S71RQxw1MzV7jvCF1mMojdxiy5-ucw997A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-08T11:44:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzUfi1eQo6tg8FKhv54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mxSK9ZcASMU\",\n          \"topLevelComment\": {\n            \"id\": \"UgzUfi1eQo6tg8FKhv54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Really waited for a very long time !!! Thank you so much for this series.\",\n              \"textOriginal\": \"Really waited for a very long time !!! Thank you so much for this series.\",\n              \"authorDisplayName\": \"Charan Singh Sanjay\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTIM8thEbsQk58ircfVJ3YL5MQtpzG5C5eAxIM_brI=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-08T08:18:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"KCr-UNsM3vA\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugwj3GDBmVjhcHEg-t14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"KCr-UNsM3vA\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwj3GDBmVjhcHEg-t14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Code files:<br><a href=\\\"https://github.com/hiteshchoudhary/Zustand-crash-course\\\">https://github.com/hiteshchoudhary/Zustand-crash-course</a>\",\n              \"textOriginal\": \"Code files:\\nhttps://github.com/hiteshchoudhary/Zustand-crash-course\",\n              \"authorDisplayName\": \"Hitesh Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2022-05-19T06:16:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy3LfxHKag8euzAbIR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"KCr-UNsM3vA\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy3LfxHKag8euzAbIR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"very bad teaching . i am unable to understand what going on here\",\n              \"textOriginal\": \"very bad teaching . i am unable to understand what going on here\",\n              \"authorDisplayName\": \"SPS DarindA\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT6GwPPRnSppyGI7hr53PejkOzP_Ylgs3cj80hn1g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-05T15:38:56Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyCSto2sDzYoCJyiZR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"KCr-UNsM3vA\",\n          \"topLevelComment\": {\n            \"id\": \"UgyCSto2sDzYoCJyiZR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Zustand is amazing, Thanks for making this tutorial sir.\",\n              \"textOriginal\": \"Zustand is amazing, Thanks for making this tutorial sir.\",\n              \"authorDisplayName\": \"SANDEEP KUMAR\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR64LuTGhevU2-uZ0ZvGAZCNMw6yXsng6scqB-BQQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-29T07:11:48Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwxox-Ak_5QD9aT4X94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"KCr-UNsM3vA\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwxox-Ak_5QD9aT4X94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Better than their online tutorial. Thank you.\",\n              \"textOriginal\": \"Better than their online tutorial. Thank you.\",\n              \"authorDisplayName\": \"The Bunsen Burner\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR6IHFApeeT7uhHhXllNOZW5Z3QRNgZJAusTuMD=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-04-03T00:56:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"m41aGndJNPU\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgzOzYtqXoJ7pz-WGPZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"m41aGndJNPU\",\n          \"topLevelComment\": {\n            \"id\": \"UgzOzYtqXoJ7pz-WGPZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Cod files:<br><a href=\\\"https://github.com/hiteshchoudhary/Zustand-crash-course\\\">https://github.com/hiteshchoudhary/Zustand-crash-course</a>\",\n              \"textOriginal\": \"Cod files:\\nhttps://github.com/hiteshchoudhary/Zustand-crash-course\",\n              \"authorDisplayName\": \"Hitesh Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-05-19T06:35:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxxwXpUCXNFdRsKlyF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"m41aGndJNPU\",\n          \"topLevelComment\": {\n            \"id\": \"UgxxwXpUCXNFdRsKlyF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Please make complex application using Zustand async actions for setting the central state.\",\n              \"textOriginal\": \"Please make complex application using Zustand async actions for setting the central state.\",\n              \"authorDisplayName\": \"SANDEEP KUMAR\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR64LuTGhevU2-uZ0ZvGAZCNMw6yXsng6scqB-BQQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-29T07:48:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwOVjH0-vobeFLx9tN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"m41aGndJNPU\",\n          \"topLevelComment\": {\n            \"id\": \"UgwOVjH0-vobeFLx9tN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks for this series, I have learnt a lot. Thanks Sir.\",\n              \"textOriginal\": \"Thanks for this series, I have learnt a lot. Thanks Sir.\",\n              \"authorDisplayName\": \"SANDEEP KUMAR\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR64LuTGhevU2-uZ0ZvGAZCNMw6yXsng6scqB-BQQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-29T07:38:51Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwJeIKpGp-0dP_cZXp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"m41aGndJNPU\",\n          \"topLevelComment\": {\n            \"id\": \"UgwJeIKpGp-0dP_cZXp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sweeet! I love the way you pass the information. Could you please  build a little bit more complex stuff  to reveal all the other tools of Zustand. Thank you 🙏\",\n              \"textOriginal\": \"Sweeet! I love the way you pass the information. Could you please  build a little bit more complex stuff  to reveal all the other tools of Zustand. Thank you 🙏\",\n              \"authorDisplayName\": \"Alexandros Kyriakou\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRGdJKtEd9WalarvDIKLVN_WX2TWKBpdwzbfhSSHyTdSHY9FXKniA6T5G2SE6I5=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-26T12:56:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"OeVE-8CIzys\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxIMA02PAkZMYBlCx94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"OeVE-8CIzys\",\n          \"topLevelComment\": {\n            \"id\": \"UgxIMA02PAkZMYBlCx94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir when is the next video coming🥲\",\n              \"textOriginal\": \"Sir when is the next video coming🥲\",\n              \"authorDisplayName\": \"Achana Naga Durga Prasad\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/TYAOlnJaZ6X9eStKUTrcryZ27bi5CucwWBTlitYaQmUZpMQ3bjzqWeTu_XdnRvzBtP8zGy2rDg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-08-11T07:13:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzVgco00uCNg0HGOc14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"OeVE-8CIzys\",\n          \"topLevelComment\": {\n            \"id\": \"UgzVgco00uCNg0HGOc14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Can you make video on microfrontend in react\",\n              \"textOriginal\": \"Can you make video on microfrontend in react\",\n              \"authorDisplayName\": \"anand nadart\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSZ2msMXc4LVxrNimf1qjiWIRZAgdAeS9MveA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-07-24T17:33:51Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyG6UzB1GM2fitSHt14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"OeVE-8CIzys\",\n          \"topLevelComment\": {\n            \"id\": \"UgyG6UzB1GM2fitSHt14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you for teaching us very basics about Javascript concepts. can you please let us know will you moving forward with this series or not ? can we hope for the same !?!\",\n              \"textOriginal\": \"Thank you for teaching us very basics about Javascript concepts. can you please let us know will you moving forward with this series or not ? can we hope for the same !?!\",\n              \"authorDisplayName\": \"Dhara Tank\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRggtz3Xewd2av8eP3I-QfaThLMRzbf-rLNhLGRm4qosMXyaaLoPnTPcsvO31we=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-07-24T09:57:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyWjaPLFps0X_oAWuB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"OeVE-8CIzys\",\n          \"topLevelComment\": {\n            \"id\": \"UgyWjaPLFps0X_oAWuB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Is it series of just promotion of another course why there is not another video for long time.\",\n              \"textOriginal\": \"Is it series of just promotion of another course why there is not another video for long time.\",\n              \"authorDisplayName\": \"Galaxy\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQRMBImlT0axxtpySBiL88ZUTW_rLVICKhvAw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-07-22T17:45:51Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"Yz1CsZVS6FQ\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgwAgcplarnYEXlv-3F4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Yz1CsZVS6FQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgwAgcplarnYEXlv-3F4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Really Amazing Session.\",\n              \"textOriginal\": \"Really Amazing Session.\",\n              \"authorDisplayName\": \"Programming Life\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/KdFvpfVXDSVQO4_3Y9pVB6jXbux0yYvUeGy80Gqkj1AmKSZxXnDU1eSIbD794YhmSv-beS6M-x8=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-12-24T13:36:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz1ZARum877oJEgacl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Yz1CsZVS6FQ\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz1ZARum877oJEgacl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I went for the various free courses of js but not as satisfied as of this course. Great work!<br><a href=\\\"about:invalid#zCSafez\\\"></a>\",\n              \"textOriginal\": \"I went for the various free courses of js but not as satisfied as of this course. Great work!\\n\",\n              \"authorDisplayName\": \"Samyak Sharma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRAJjunUkya9povIGxaxs3OdOXnLJRwVg3D23vz4g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-07-16T02:55:44Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzF5UI_d5LBow3lRWZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Yz1CsZVS6FQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgzF5UI_d5LBow3lRWZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"please mention serial no. of marathon @hithesh Chaudhary\",\n              \"textOriginal\": \"please mention serial no. of marathon @hithesh Chaudhary\",\n              \"authorDisplayName\": \"Suraj Yadav\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQW7bYGoKhkW6TCfYcdkVNNphpUgHLLGqDKoT2-jXw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-07-15T10:19:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw3n82teWX5ihGJ4Ex4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Yz1CsZVS6FQ\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw3n82teWX5ihGJ4Ex4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Greate\",\n              \"textOriginal\": \"Greate\",\n              \"authorDisplayName\": \"Rayhan Abdullah\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/3xOCiy2T9a73r2dIpiecZN1YUojmaI4TjbdMVifS4TvDe--C_yFbQSnwAEbkt39aaeHV8RoK=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-29T05:55:51Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"g-0k8syANzI\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgycthMUKySXCBY54X94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"g-0k8syANzI\",\n          \"topLevelComment\": {\n            \"id\": \"UgycthMUKySXCBY54X94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Amazing Hitesh Sir, I was busy at taht time in some project [got some time now watching and compelting your amazing sessions, keep it up ]\",\n              \"textOriginal\": \"Amazing Hitesh Sir, I was busy at taht time in some project [got some time now watching and compelting your amazing sessions, keep it up ]\",\n              \"authorDisplayName\": \"Programming Life\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/KdFvpfVXDSVQO4_3Y9pVB6jXbux0yYvUeGy80Gqkj1AmKSZxXnDU1eSIbD794YhmSv-beS6M-x8=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-12-24T12:51:19Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugyc06CBcdUmZPAEijN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"g-0k8syANzI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyc06CBcdUmZPAEijN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"❤️\",\n              \"textOriginal\": \"❤️\",\n              \"authorDisplayName\": \"Soumadip Banerjee 🌟\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/SNzK0CjRh8ryYQdP9USK4HBorL2I1Zb_TwMe-_oT1HAWbzcpYgCMxe34PRj-Rrvz22-cfunzD8s=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-08-06T13:31:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzBrlyZV_6E4HsCD814AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"g-0k8syANzI\",\n          \"topLevelComment\": {\n            \"id\": \"UgzBrlyZV_6E4HsCD814AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Learning from the best 👍 Thanks for sharing your knowledge.\",\n              \"textOriginal\": \"Learning from the best 👍 Thanks for sharing your knowledge.\",\n              \"authorDisplayName\": \"Shaik Imran\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSoDMd3WudlmfOzYqgBTNeI-b3WbwOnui2Zk8d4Tdc=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-07-16T07:38:38Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw3ArfKTEf8wOBHGi14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"g-0k8syANzI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw3ArfKTEf8wOBHGi14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello sir. When can we expect a new video in the marathon series\",\n              \"textOriginal\": \"Hello sir. When can we expect a new video in the marathon series\",\n              \"authorDisplayName\": \"sagar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSwSJBMk5S7DjyTWW6rGaRWyN8SOQLyhOUWLiNVqIGUPR62JiF2UXcaFu29ecRa=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-07-07T14:26:50Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"PFrOxB5NyJw\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxalRC3l3nHyUAuz_94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"PFrOxB5NyJw\",\n          \"topLevelComment\": {\n            \"id\": \"UgxalRC3l3nHyUAuz_94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This video Give tons of clarity of JavaScript.\",\n              \"textOriginal\": \"This video Give tons of clarity of JavaScript.\",\n              \"authorDisplayName\": \"Murtaza Rangwala\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/gukdpI59kjgW7xJrlt2_bLu3v5HQSd_mK5YF6fk87SSSvabu3L0zrFD9nFFa-B-zNUnY0LsEHA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-07-11T07:51:36Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgymLIf_2fNNwRnX86l4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"PFrOxB5NyJw\",\n          \"topLevelComment\": {\n            \"id\": \"UgymLIf_2fNNwRnX86l4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello sir i have <a href=\\\"http://www.youtube.com/results?search_query=%23question\\\">#question</a> about python web scraping.<br>-&gt; it is specific field to learn mean in python different field like machine learning , data science , data analyst <br>Are web scraping is different field or it part of any these filed which i have mentioned ?\",\n              \"textOriginal\": \"Hello sir i have #question about python web scraping.\\n-> it is specific field to learn mean in python different field like machine learning , data science , data analyst \\nAre web scraping is different field or it part of any these filed which i have mentioned ?\",\n              \"authorDisplayName\": \"TARIQ\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/R8I-qY1UitoU-0eM9jwm790c7WQadxlymtMwGaMzTgNq6lSwQAad2KCa__HNRyYHGcKRvZdu=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-25T10:26:52Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugyqf5cJ2zMopXNC2Ad4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"PFrOxB5NyJw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyqf5cJ2zMopXNC2Ad4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"You are in a NAS one minute short vdo\",\n              \"textOriginal\": \"You are in a NAS one minute short vdo\",\n              \"authorDisplayName\": \"IMON RAJ\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTuul8TcQyG2TMvvIWKtv6wWTu3pJAYSuXLa-AEww=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-25T09:31:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz3gPa7ZRaymUtO3Fp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"PFrOxB5NyJw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz3gPa7ZRaymUtO3Fp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Which vscode theme is this?\",\n              \"textOriginal\": \"Which vscode theme is this?\",\n              \"authorDisplayName\": \"heatengine\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT8UgXtvvWYPs4ACLG69yx-vKp30UgeNrtVg_VBmDqml_aiKFMyJ2vxsz5hCiKw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-25T05:17:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"-1rEsrEau7I\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugy96s9jVzJILYb2UrF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-1rEsrEau7I\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy96s9jVzJILYb2UrF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Great learning video on js 🎉👍 thank you\",\n              \"textOriginal\": \"Great learning video on js 🎉👍 thank you\",\n              \"authorDisplayName\": \"Vinayak Khalasi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSSde9YtcF34kkNow7zmIDeSJ_E_3xTJIFzJeUuLA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-24T21:14:46Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzF_fsIPYhy__FkAMZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-1rEsrEau7I\",\n          \"topLevelComment\": {\n            \"id\": \"UgzF_fsIPYhy__FkAMZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you Hitesh Sir,\",\n              \"textOriginal\": \"Thank you Hitesh Sir,\",\n              \"authorDisplayName\": \"Programming Life\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/KdFvpfVXDSVQO4_3Y9pVB6jXbux0yYvUeGy80Gqkj1AmKSZxXnDU1eSIbD794YhmSv-beS6M-x8=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-12-24T12:05:48Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzKmSZu6aPtWTZiwwN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-1rEsrEau7I\",\n          \"topLevelComment\": {\n            \"id\": \"UgzKmSZu6aPtWTZiwwN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Words are short enough to describe your teaching 🙂\",\n              \"textOriginal\": \"Words are short enough to describe your teaching 🙂\",\n              \"authorDisplayName\": \"PRASANNA KV\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQCtKkfaiiM4AkOJAngnK-0bK30YMoPgPJfOw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-12-03T04:30:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz1pcIa-soGKc5SnMR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-1rEsrEau7I\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz1pcIa-soGKc5SnMR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir very helpful video please 🙏 make this kind of series in future so it will be more help<br>Sir you&#39;re having best teaching style\",\n              \"textOriginal\": \"Sir very helpful video please 🙏 make this kind of series in future so it will be more help\\nSir you're having best teaching style\",\n              \"authorDisplayName\": \"vimal radadiya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT_VyQeZEnYPiLvSxDxV0IRk17R-lCK8MDaDyyMTw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-29T00:17:53Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"ZdfPSolb1fs\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxxMQVan7OM-Av4QaN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZdfPSolb1fs\",\n          \"topLevelComment\": {\n            \"id\": \"UgxxMQVan7OM-Av4QaN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"❣️\",\n              \"textOriginal\": \"❣️\",\n              \"authorDisplayName\": \"Soumadip Banerjee 🌟\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/SNzK0CjRh8ryYQdP9USK4HBorL2I1Zb_TwMe-_oT1HAWbzcpYgCMxe34PRj-Rrvz22-cfunzD8s=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-08-11T10:51:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzLFoJrEc0f33ANMa54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZdfPSolb1fs\",\n          \"topLevelComment\": {\n            \"id\": \"UgzLFoJrEc0f33ANMa54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Loving this JS Marathon thank you Hitesh Sir\",\n              \"textOriginal\": \"Loving this JS Marathon thank you Hitesh Sir\",\n              \"authorDisplayName\": \"Shaik Imran\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSoDMd3WudlmfOzYqgBTNeI-b3WbwOnui2Zk8d4Tdc=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-07-17T21:06:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw4vbFU4wf2KQcsxzJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZdfPSolb1fs\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw4vbFU4wf2KQcsxzJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Pls help us by giving numbering to your all videos , where it helps your followers to find out the missing video\",\n              \"textOriginal\": \"Pls help us by giving numbering to your all videos , where it helps your followers to find out the missing video\",\n              \"authorDisplayName\": \"venu gopal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSh2vWnAUG4U8-PoKgoX2T884hjx4Sv7KpoeA6DqMw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-07-06T04:07:34Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz2rN_tT7ftt1r3_iJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZdfPSolb1fs\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz2rN_tT7ftt1r3_iJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Great sir, lots of doubts on Objects and Array has been cleared but yes the last moment was little bit confusing but I hope you will clarify those concepts about the algorithm in your other separated video.<br>Thank you Sir 😊.\",\n              \"textOriginal\": \"Great sir, lots of doubts on Objects and Array has been cleared but yes the last moment was little bit confusing but I hope you will clarify those concepts about the algorithm in your other separated video.\\nThank you Sir 😊.\",\n              \"authorDisplayName\": \"Wasim Raja Middya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTzVvNdDSHMHvt5Mbm3zduHRGnmqKSD-0tCoIxRXA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-07-03T13:28:25Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"qcIotzhNLDU\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugx5gK8VpZt9gpfzjh54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"qcIotzhNLDU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx5gK8VpZt9gpfzjh54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"What camera are you using?\",\n              \"textOriginal\": \"What camera are you using?\",\n              \"authorDisplayName\": \"AD\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR6K0LWPSR8pqWaqr4nDC5NPIsgcHfv2JptWSvKYg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-18T10:06:10Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzsnf1hdwGQuAplMDF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"qcIotzhNLDU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzsnf1hdwGQuAplMDF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi sir, can you make a small project with prisma graphql server?\",\n              \"textOriginal\": \"Hi sir, can you make a small project with prisma graphql server?\",\n              \"authorDisplayName\": \"Anuj\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQYd0wIOtLm9JRBMRr4uu1ENIcmfG3vb1dYQlCPsQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-07T19:06:34Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyuLGpM54efIDm6e6p4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"qcIotzhNLDU\",\n          \"topLevelComment\": {\n            \"id\": \"UgyuLGpM54efIDm6e6p4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Great video 👍\",\n              \"textOriginal\": \"Great video 👍\",\n              \"authorDisplayName\": \"YouAndImpact\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSwPnfkBBdI0-myKYWqN5AH8W1kgphIVvEiTH-d_Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-08-22T03:49:56Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzSHH44z14rVL5z-Dx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"qcIotzhNLDU\",\n          \"topLevelComment\": {\n            \"id\": \"UgzSHH44z14rVL5z-Dx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"🥰🤩🚀🚀\",\n              \"textOriginal\": \"🥰🤩🚀🚀\",\n              \"authorDisplayName\": \"Patel Ronak\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRpY0R9_o6R_pESi6pYz-f2f_4CIll82KIrn5qgoQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-08-22T02:49:54Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"arYn3DJcicw\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugyo2KmKRP4GtdN6qT54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"arYn3DJcicw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyo2KmKRP4GtdN6qT54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"So it looks like all the api requests passes  the isLoggedIn middleware. There is no check for that . if the user id is not found in the db what should we return? Do we need to pass next()  in that case also?\",\n              \"textOriginal\": \"So it looks like all the api requests passes  the isLoggedIn middleware. There is no check for that . if the user id is not found in the db what should we return? Do we need to pass next()  in that case also?\",\n              \"authorDisplayName\": \"tanveer ulhoque\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT-HPo5DbyrBNG1j4a6T4D61xe4QF7jvY-pVHmGRQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-28T05:30:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyxmAZwGo4JPGacQ2R4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"arYn3DJcicw\",\n          \"topLevelComment\": {\n            \"id\": \"UgyxmAZwGo4JPGacQ2R4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Just finished the series, great teacher\",\n              \"textOriginal\": \"Just finished the series, great teacher\",\n              \"authorDisplayName\": \"AD\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR6K0LWPSR8pqWaqr4nDC5NPIsgcHfv2JptWSvKYg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-18T10:48:08Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxKpp6HX7bc9llcGJZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"arYn3DJcicw\",\n          \"topLevelComment\": {\n            \"id\": \"UgxKpp6HX7bc9llcGJZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank You so much for your wonderful explanation.\",\n              \"textOriginal\": \"Thank You so much for your wonderful explanation.\",\n              \"authorDisplayName\": \"Anupama Jagadish\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTnqzoDaI1nm7eZAIj_jwb1s5I4xWBz0U6m8w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-09T10:39:21Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw6-SuOtzybXfzCEUx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"arYn3DJcicw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw6-SuOtzybXfzCEUx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I have enjoyed the great quality content today. Thanks\",\n              \"textOriginal\": \"I have enjoyed the great quality content today. Thanks\",\n              \"authorDisplayName\": \"Naveen Singh Codes\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSAxPRccmpuSujbTkS0mstG3PVn5W7ZXNnkI6BOFtXfs8xvpUx8MTs8HufEr3x8=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-06T19:20:10Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"Dzn5BjAcCB0\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugzs6mefVFaMqZZ-xRp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Dzn5BjAcCB0\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzs6mefVFaMqZZ-xRp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"❤❤❤❤❤\",\n              \"textOriginal\": \"❤❤❤❤❤\",\n              \"authorDisplayName\": \"Vikas 0018\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTT8k6sB6kF0G2uDyllBDRhFxqv6x9_FBJ6DYxA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-21T10:17:50Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxKPzjdht-KEkZqquB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Dzn5BjAcCB0\",\n          \"topLevelComment\": {\n            \"id\": \"UgxKPzjdht-KEkZqquB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Astonishing <a href=\\\"about:invalid#zCSafez\\\"></a>\",\n              \"textOriginal\": \"Astonishing \",\n              \"authorDisplayName\": \"Pushpender Singh Parihar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTs_JLiwnPOBfvUYAZS2RL6yutN2k6M3MSRwcAUwmc=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-18T14:54:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyHzOe-ukP3GY6EclN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Dzn5BjAcCB0\",\n          \"topLevelComment\": {\n            \"id\": \"UgyHzOe-ukP3GY6EclN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Bro you are beast\",\n              \"textOriginal\": \"Bro you are beast\",\n              \"authorDisplayName\": \"M. Sumanth\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR9a-YEdr6pWViwJ4ZRxoSDFxzkN3yiXQCqE6c_Re4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-17T15:47:44Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzXlXqhg3LJ52wt8W14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Dzn5BjAcCB0\",\n          \"topLevelComment\": {\n            \"id\": \"UgzXlXqhg3LJ52wt8W14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This is the best free software Ive seen. Respect.\",\n              \"textOriginal\": \"This is the best free software Ive seen. Respect.\",\n              \"authorDisplayName\": \"Y Madhu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSLCi9yhtB8GSBjIDFqCSMbzNbl_bNR4pYoOtl5=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-16T08:10:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"_gg5_gFP0gQ\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyA4MBdspANHyTYcZ94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_gg5_gFP0gQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgyA4MBdspANHyTYcZ94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"For course assets such as code files and study material, please join here for free:<br><a href=\\\"https://courses.ineuron.ai/JavaScript-Marathon\\\">https://courses.ineuron.ai/JavaScript-Marathon</a>\",\n              \"textOriginal\": \"For course assets such as code files and study material, please join here for free:\\nhttps://courses.ineuron.ai/JavaScript-Marathon\",\n              \"authorDisplayName\": \"Hitesh Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 23,\n              \"publishedAt\": \"2022-06-15T12:54:00Z\"\n            }\n          },\n          \"totalReplyCount\": 5\n        }\n      },\n      {\n        \"id\": \"UgyBmaH_q-6VYlTAR9V4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_gg5_gFP0gQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgyBmaH_q-6VYlTAR9V4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I hope i will complete this marathon,,\",\n              \"textOriginal\": \"I hope i will complete this marathon,,\",\n              \"authorDisplayName\": \"Programming Life\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/KdFvpfVXDSVQO4_3Y9pVB6jXbux0yYvUeGy80Gqkj1AmKSZxXnDU1eSIbD794YhmSv-beS6M-x8=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-12-24T11:53:25Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx7lmISsPSqPkVU1E14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_gg5_gFP0gQ\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx7lmISsPSqPkVU1E14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"New to your Channel. If you provide us all this information you told already. We will be grateful to you\",\n              \"textOriginal\": \"New to your Channel. If you provide us all this information you told already. We will be grateful to you\",\n              \"authorDisplayName\": \"Asadullah All Mamun\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSSSdQs0pA94PcU6-wha20cWzO2KHRuCE7BknwZxw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-07-01T08:52:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzJmWHfB6jKXuNiAmB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_gg5_gFP0gQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgzJmWHfB6jKXuNiAmB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Great Sir, highly appreciate your efforts 🙌🏻 Preparing for interviews and all of the in depth Javascript revision is really helpful 💯🔥\",\n              \"textOriginal\": \"Great Sir, highly appreciate your efforts 🙌🏻 Preparing for interviews and all of the in depth Javascript revision is really helpful 💯🔥\",\n              \"authorDisplayName\": \"Advait Trivedi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ST4lGqdddF1O4TLrF4e2smvTJKpDsq9jUc12OMoBWqtc7slMVbndombz89IJjBTEX52uy0A3Zw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-28T07:14:11Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"IiqhMNPWGEs\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugyk7AIw0e84mrkgaTB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"IiqhMNPWGEs\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyk7AIw0e84mrkgaTB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"❤❤❤❤❤\",\n              \"textOriginal\": \"❤❤❤❤❤\",\n              \"authorDisplayName\": \"Abdulmanan Tariq\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSM6yw9gKwbGOWjxWmbCgbTuwWjPxMJhQwEUw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-18T12:27:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxXR5ZwWcX5hURoXJx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"IiqhMNPWGEs\",\n          \"topLevelComment\": {\n            \"id\": \"UgxXR5ZwWcX5hURoXJx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"please make a video on model if possible with latest Next JS 13\",\n              \"textOriginal\": \"please make a video on model if possible with latest Next JS 13\",\n              \"authorDisplayName\": \"Anuj nema\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTZlIoO__RCYVmy2ZK9i7y1T1CAWilqQzXTcuDu-I4IAyXGzRD3rn9ipv3EI1am=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-01T07:12:57Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyMP-sdYTc0lBwIy6d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"IiqhMNPWGEs\",\n          \"topLevelComment\": {\n            \"id\": \"UgyMP-sdYTc0lBwIy6d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"🎉great content\",\n              \"textOriginal\": \"🎉great content\",\n              \"authorDisplayName\": \"Kavya R\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRZ1oZxMn1yHCe47ee1qIpYSQDqLglvu08eKoHJ7g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-03T17:30:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwSLvLNMP5wN8veVgh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"IiqhMNPWGEs\",\n          \"topLevelComment\": {\n            \"id\": \"UgwSLvLNMP5wN8veVgh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"❤\",\n              \"textOriginal\": \"❤\",\n              \"authorDisplayName\": \"Muhammad Faryad Azim\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRFu8yTl6btJ8S1XfAXsCg9XPrCaKwEYZmCkIwJcQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-03T04:57:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"de6Q0I4yMI8\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugx3hkEIjrSAdFmuHLt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"de6Q0I4yMI8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx3hkEIjrSAdFmuHLt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Please share this series with your friends group. Let&#39;s learn together\",\n              \"textOriginal\": \"Please share this series with your friends group. Let's learn together\",\n              \"authorDisplayName\": \"Hitesh Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 11,\n              \"publishedAt\": \"2022-09-10T13:37:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwTqedpNtFoG7w-kFR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"de6Q0I4yMI8\",\n          \"topLevelComment\": {\n            \"id\": \"UgwTqedpNtFoG7w-kFR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Right!!\",\n              \"textOriginal\": \"Right!!\",\n              \"authorDisplayName\": \"KRUTI DANAK\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQT0e85-THEnq1EEHDlznudRWSfaBSQSrlhWA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-28T12:20:57Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzGG96-qe2WL2_v_kx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"de6Q0I4yMI8\",\n          \"topLevelComment\": {\n            \"id\": \"UgzGG96-qe2WL2_v_kx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you sir for this amazing playlist your teaching style is just amazing\",\n              \"textOriginal\": \"Thank you sir for this amazing playlist your teaching style is just amazing\",\n              \"authorDisplayName\": \"Lavesh Garg\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/qflR4Z0vyr8RDZMe1Pfcf02ZqKaKxs4YkO_5tK2kgt1unLj7mMjXBHLCSYqKyqwSu48Fryp9Iw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-27T19:16:17Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyOszakh6RNFZwpY9J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"de6Q0I4yMI8\",\n          \"topLevelComment\": {\n            \"id\": \"UgyOszakh6RNFZwpY9J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Why you have written export{}\",\n              \"textOriginal\": \"Why you have written export{}\",\n              \"authorDisplayName\": \"Nikita Patawar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTF9oYRijDg4k3R4-9TMLc6HuVswJXNqY3WvQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-13T11:36:50Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"JrZfUktGano\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgznmCwxgbRadaJmxIZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"JrZfUktGano\",\n          \"topLevelComment\": {\n            \"id\": \"UgznmCwxgbRadaJmxIZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Keep it up! easy to understand great video@Hitesh\",\n              \"textOriginal\": \"Keep it up! easy to understand great video@Hitesh\",\n              \"authorDisplayName\": \"Anjali Deshmukh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSjb8oVyrNnjETkrLtYuCI5vQ6l4AyuYJ0zcw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-30T05:33:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyAf71e_0odno5-2y14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"JrZfUktGano\",\n          \"topLevelComment\": {\n            \"id\": \"UgyAf71e_0odno5-2y14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Instead of converting typescript to javascript, if typescript tool help us to convert javascript to typescript, No need to learn typescript😂😂😂\",\n              \"textOriginal\": \"Instead of converting typescript to javascript, if typescript tool help us to convert javascript to typescript, No need to learn typescript😂😂😂\",\n              \"authorDisplayName\": \"Balanagu Yashwanth\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTkE7AjgOaOru4bqsRGPRkgGKukqZrFU3kzrMfC-DDX96Cy8hsIXdx1n67MP-bZ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-27T13:28:42Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxcCjGEFvI16jPN3CV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"JrZfUktGano\",\n          \"topLevelComment\": {\n            \"id\": \"UgxcCjGEFvI16jPN3CV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"yooo... its very helping me... thx\",\n              \"textOriginal\": \"yooo... its very helping me... thx\",\n              \"authorDisplayName\": \"frank\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRt6JaLWufy7qDOlG8DjWKdM7ea5r-UrqYWfU0KkU_gz6R_Bj9mBcm9Vf4yZPsQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-09-10T14:33:38Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgylPrSaJgLH-TLD3SR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"JrZfUktGano\",\n          \"topLevelComment\": {\n            \"id\": \"UgylPrSaJgLH-TLD3SR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"❤️❤️❤️❤️\",\n              \"textOriginal\": \"❤️❤️❤️❤️\",\n              \"authorDisplayName\": \"Vikas 0018\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTT8k6sB6kF0G2uDyllBDRhFxqv6x9_FBJ6DYxA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-10T06:01:29Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"p8HML9W2F6E\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxdoDqAPQBR9kgWepl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"p8HML9W2F6E\",\n          \"topLevelComment\": {\n            \"id\": \"UgxdoDqAPQBR9kgWepl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This is awesome explanation\",\n              \"textOriginal\": \"This is awesome explanation\",\n              \"authorDisplayName\": \"raghavender reddy\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQrSsIF9jkaTNUNFVKgh7TDkQx3dGFBaiJJ4pnYlg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-12T16:05:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzT6YzFGWW7R4yY-wh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"p8HML9W2F6E\",\n          \"topLevelComment\": {\n            \"id\": \"UgzT6YzFGWW7R4yY-wh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi Greetings<br>can you make a video on &quot;null vs unknown vs undefined vs never&quot; and one on &quot;keyof and typeof with keyof&quot; and on mapped types and on enums as well\",\n              \"textOriginal\": \"Hi Greetings\\ncan you make a video on \\\"null vs unknown vs undefined vs never\\\" and one on \\\"keyof and typeof with keyof\\\" and on mapped types and on enums as well\",\n              \"authorDisplayName\": \"BURHAN MALIK SHER\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaReJeTrJ-oflEq2i_I_tVwGg9WbfdtDCyKhOF31yA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-12-25T06:48:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw2fCLGSbylOUlmyjd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"p8HML9W2F6E\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw2fCLGSbylOUlmyjd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"function createUser({Name:string,Last:string})\\r<br>{\\r<br>    return &quot;Pankaj Shah&quot;\\r<br>}\\r<br>createUser({Name:&quot;Pankaj&quot;,Last:false})<br><br>This is not working sir? please help me out. Its my humble request.\",\n              \"textOriginal\": \"function createUser({Name:string,Last:string})\\r\\n{\\r\\n    return \\\"Pankaj Shah\\\"\\r\\n}\\r\\ncreateUser({Name:\\\"Pankaj\\\",Last:false})\\n\\nThis is not working sir? please help me out. Its my humble request.\",\n              \"authorDisplayName\": \"Pankaj Shah\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQMBjreKZthUmKfUdxRJ3ZoQxQuqNYsizMR46YvZY30idJl1JfcHfcyq0gcMR6G=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-10T08:09:36Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwXrEWE11Hy8caoDSp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"p8HML9W2F6E\",\n          \"topLevelComment\": {\n            \"id\": \"UgwXrEWE11Hy8caoDSp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"❤❤❤❤\",\n              \"textOriginal\": \"❤❤❤❤\",\n              \"authorDisplayName\": \"Vikas 0018\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTT8k6sB6kF0G2uDyllBDRhFxqv6x9_FBJ6DYxA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-21T10:17:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"tx4NHrhJK_Q\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgzhmnG4XhMce3WUFGd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"tx4NHrhJK_Q\",\n          \"topLevelComment\": {\n            \"id\": \"UgzhmnG4XhMce3WUFGd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"returning void is more like java\",\n              \"textOriginal\": \"returning void is more like java\",\n              \"authorDisplayName\": \"Mr XXIII\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/BGNnV_QP2oVFn-4YzSxJqzu9sVpmERYSe6chz0BLGpniJHod865pu8VHWw1yL2-Ep97PzNrjsA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-15T03:28:17Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzhNlGB4-XX4FGrPjV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"tx4NHrhJK_Q\",\n          \"topLevelComment\": {\n            \"id\": \"UgzhNlGB4-XX4FGrPjV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you soo much for this typescript series. Your teaching is amazing🤗\",\n              \"textOriginal\": \"Thank you soo much for this typescript series. Your teaching is amazing🤗\",\n              \"authorDisplayName\": \"Ashish Gupta\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRVyDzWl4H53xIHR2nawLGmGekm0grENXaYHA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-11-15T14:34:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx5IvgP253xuo_gIPh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"tx4NHrhJK_Q\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx5IvgP253xuo_gIPh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank You Sir for providing such good and crisp content\",\n              \"textOriginal\": \"Thank You Sir for providing such good and crisp content\",\n              \"authorDisplayName\": \"Lavesh Garg\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/qflR4Z0vyr8RDZMe1Pfcf02ZqKaKxs4YkO_5tK2kgt1unLj7mMjXBHLCSYqKyqwSu48Fryp9Iw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-10-27T19:45:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzujFOLdjPkO_udgNR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"tx4NHrhJK_Q\",\n          \"topLevelComment\": {\n            \"id\": \"UgzujFOLdjPkO_udgNR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks for the mindset!\",\n              \"textOriginal\": \"Thanks for the mindset!\",\n              \"authorDisplayName\": \"cloudsystem\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/UgRH6e4Cj3pfBFPLddRC3aw3u_rAuqFDCvHt1l6dYrNNEO7-TgzzS-uktJikszZwVSj-KvphhQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-10-11T21:28:55Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"ULMH3lxygXY\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgwuxCIaO7kHnuVFwPd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ULMH3lxygXY\",\n          \"topLevelComment\": {\n            \"id\": \"UgwuxCIaO7kHnuVFwPd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Check out our latest DevOps course:<br><a href=\\\"https://hc.lco.dev/devops\\\">https://hc.lco.dev/devops</a><br>if not interested, chill out and enjoy typescript 😀\",\n              \"textOriginal\": \"Check out our latest DevOps course:\\nhttps://hc.lco.dev/devops\\nif not interested, chill out and enjoy typescript 😀\",\n              \"authorDisplayName\": \"Hitesh Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 4,\n              \"publishedAt\": \"2022-09-11T13:26:11Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgwlUgaA1eUA36sZIr54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ULMH3lxygXY\",\n          \"topLevelComment\": {\n            \"id\": \"UgwlUgaA1eUA36sZIr54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Please start a series on rxjs\",\n              \"textOriginal\": \"Please start a series on rxjs\",\n              \"authorDisplayName\": \"Deepesh Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLpA5m-mfA__AwAL81fknMMfGLdpwXW47-_uXVJg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-18T08:22:00Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugyg_ffR1ugg7NyeBR94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ULMH3lxygXY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyg_ffR1ugg7NyeBR94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This way of using typed parameters or using an interface for the type of a prop is mostly useful in React with functional components. Thanks\",\n              \"textOriginal\": \"This way of using typed parameters or using an interface for the type of a prop is mostly useful in React with functional components. Thanks\",\n              \"authorDisplayName\": \"Vin\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/WQ3udloAWwOAqIstAflnH9IZyS_m9dUP1YUvxWhY62KMQmjnFXXdK4GxuyQ4-0g6jNpFpj-r=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-09-16T12:36:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwcddDTJ8CtDRttogJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ULMH3lxygXY\",\n          \"topLevelComment\": {\n            \"id\": \"UgwcddDTJ8CtDRttogJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"🚀❤️🤩🤩🤩🚀\",\n              \"textOriginal\": \"🚀❤️🤩🤩🤩🚀\",\n              \"authorDisplayName\": \"Patel Ronak\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRpY0R9_o6R_pESi6pYz-f2f_4CIll82KIrn5qgoQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-12T04:46:21Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"JjWRNtBorMw\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugzum1ltm0dbGl9nCyh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"JjWRNtBorMw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzum1ltm0dbGl9nCyh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"You can check out:<br><a href=\\\"https://hc.lco.dev/devops\\\">https://hc.lco.dev/devops</a> for devops course<br><a href=\\\"https://hc.lco.dev/jscamp\\\">https://hc.lco.dev/jscamp</a> for javascript bootcamp<br>use HITESH10 for 10% off\",\n              \"textOriginal\": \"You can check out:\\nhttps://hc.lco.dev/devops for devops course\\nhttps://hc.lco.dev/jscamp for javascript bootcamp\\nuse HITESH10 for 10% off\",\n              \"authorDisplayName\": \"Hitesh Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-09-08T11:33:02Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxTUh3iuYPfN5nQ2x14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"JjWRNtBorMw\",\n          \"topLevelComment\": {\n            \"id\": \"UgxTUh3iuYPfN5nQ2x14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Kotlin is also a wrapper for java right?<br><br>Same way typescript is a wrapper for javascript\",\n              \"textOriginal\": \"Kotlin is also a wrapper for java right?\\n\\nSame way typescript is a wrapper for javascript\",\n              \"authorDisplayName\": \"Varun Chandra\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaShyozFSPxFadiQo7fNKNfNkdewpQVdRJrh3cbealo=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-05T20:23:34Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyCRxOWrbqnIvm75Ap4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"JjWRNtBorMw\",\n          \"topLevelComment\": {\n            \"id\": \"UgyCRxOWrbqnIvm75Ap4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Is it safe to say that Typescript is just Javascript with built-in IntelliSense tools?\",\n              \"textOriginal\": \"Is it safe to say that Typescript is just Javascript with built-in IntelliSense tools?\",\n              \"authorDisplayName\": \"Cesar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ1K1r8fAKxTrFPfakTo4sN9fMI6ofVKlSeYEIkKg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-11-23T00:48:57Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgydCG3vEi0J5pBedfp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"JjWRNtBorMw\",\n          \"topLevelComment\": {\n            \"id\": \"UgydCG3vEi0J5pBedfp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you for this amazing series, first I learned javascript by following your javascript series, after that I learn MERN stack through your website, after that I got an internship and got full time offer in the same company<br>And now I really need to improve my typescript knowledge, and there it is, like every time I needed help, you came like a superhero. Thank you❤❤\",\n              \"textOriginal\": \"Thank you for this amazing series, first I learned javascript by following your javascript series, after that I learn MERN stack through your website, after that I got an internship and got full time offer in the same company\\nAnd now I really need to improve my typescript knowledge, and there it is, like every time I needed help, you came like a superhero. Thank you❤❤\",\n              \"authorDisplayName\": \"Pratap Gavali\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRSJz6QmN3yNm6dGpfCjTatm2hJkEo7ro89-2P1rQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2022-10-19T14:35:46Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz7iMbUISE7HMUqY5x4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"JjWRNtBorMw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz7iMbUISE7HMUqY5x4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"https://www.youtube.com/watch?v=JjWRNtBorMw&amp;t=7m25s\\\">7:25</a> - most of good developers panic because it is not expected to run what they are telling. but great developers can cover it😅\",\n              \"textOriginal\": \"7:25 - most of good developers panic because it is not expected to run what they are telling. but great developers can cover it😅\",\n              \"authorDisplayName\": \"Balanagu Yashwanth\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTkE7AjgOaOru4bqsRGPRkgGKukqZrFU3kzrMfC-DDX96Cy8hsIXdx1n67MP-bZ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-09-27T11:19:34Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzuJLT9bFISLRt6wzR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"JjWRNtBorMw\",\n          \"topLevelComment\": {\n            \"id\": \"UgzuJLT9bFISLRt6wzR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"👍\",\n              \"textOriginal\": \"👍\",\n              \"authorDisplayName\": \"Aman saxena\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSojEuwoQ5jq27i-3dhW0luy5SP8BR9dsTvBcxkfec=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-15T19:13:28Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxdARwSjE7GU4EJ1Sh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"JjWRNtBorMw\",\n          \"topLevelComment\": {\n            \"id\": \"UgxdARwSjE7GU4EJ1Sh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"please make a playlist of typescript\",\n              \"textOriginal\": \"please make a playlist of typescript\",\n              \"authorDisplayName\": \"hridesh kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQVd1PcWlZ14Ag_SBXURY8yGlNsa6zGv0uEiSzWbbv5ouqt3FK1NqbkxfxMwPer=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-09T05:05:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzKYGchk53SPFtoNlt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"JjWRNtBorMw\",\n          \"topLevelComment\": {\n            \"id\": \"UgzKYGchk53SPFtoNlt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"MKBHD vala vibe arha hai video me.❣️\",\n              \"textOriginal\": \"MKBHD vala vibe arha hai video me.❣️\",\n              \"authorDisplayName\": \"Aditya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRbKi1AHrTxNkKsDwdlFzmqr9akDw0JVlyn8Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-09-08T15:58:51Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwDUiIsmBF04VqzVRN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"JjWRNtBorMw\",\n          \"topLevelComment\": {\n            \"id\": \"UgwDUiIsmBF04VqzVRN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"In js we have &quot;use strict&quot; mechanisim why we need to choose TS instead of JS\",\n              \"textOriginal\": \"In js we have \\\"use strict\\\" mechanisim why we need to choose TS instead of JS\",\n              \"authorDisplayName\": \"siva prasad\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ6XLeaZp4DTUzffPNi3DbQMItfmuMh7Ww2Ij9NGOY=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-08T15:20:28Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwFUoUfjqdfJQ17X1R4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"JjWRNtBorMw\",\n          \"topLevelComment\": {\n            \"id\": \"UgwFUoUfjqdfJQ17X1R4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Typescript is a subset of JavaScript\",\n              \"textOriginal\": \"Typescript is a subset of JavaScript\",\n              \"authorDisplayName\": \"Bir Singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT0hcUR-pGiXLzbDI1lR1Nf5ieIWxmPxSSDru0tGgNFVuxgh-ZaX6A8CAUXI-ri=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-08T13:21:57Z\"\n            }\n          },\n          \"totalReplyCount\": 3\n        }\n      },\n      {\n        \"id\": \"Ugzh97kCIaIqm2k_OAR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"JjWRNtBorMw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzh97kCIaIqm2k_OAR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"❤️❤️ thanks\",\n              \"textOriginal\": \"❤️❤️ thanks\",\n              \"authorDisplayName\": \"Ankur Chaubey\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR_T_x9Ux9waUnAIdJmH_dVk06_UQzpuyLu0nTePA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-08T11:14:25Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzte_555ct6wreuprZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"JjWRNtBorMw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzte_555ct6wreuprZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Much needed series <br>Thank you sir 🙏🏾🔥\",\n              \"textOriginal\": \"Much needed series \\nThank you sir 🙏🏾🔥\",\n              \"authorDisplayName\": \"Praveen S\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTpcpVaLTc3wAvELLmzL0gqtxqBTklRGD7oKatIy1I=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 4,\n              \"publishedAt\": \"2022-09-08T10:59:46Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      }\n    ]\n  },\n  \"kvm8tsRj6BM\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugz6A-NVqwbnIZaq4Ox4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kvm8tsRj6BM\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz6A-NVqwbnIZaq4Ox4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Well done with your TS course coming from <a href=\\\"http://www.youtube.com/results?search_query=%23freecodecamp\\\">#FreeCodeCamp</a>\",\n              \"textOriginal\": \"Well done with your TS course coming from #FreeCodeCamp\",\n              \"authorDisplayName\": \"Gabriel Gomes Mabiala\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQyRZ3WDd9IRy4OMYzC2k6mcWxTsja0m2NtXA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-03-02T04:05:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz4swEBcXTO2D0TMHh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kvm8tsRj6BM\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz4swEBcXTO2D0TMHh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"But sir we have multiple extensions in vd code which shows sluggy line when we make any mistake then why should we use Ts?\",\n              \"textOriginal\": \"But sir we have multiple extensions in vd code which shows sluggy line when we make any mistake then why should we use Ts?\",\n              \"authorDisplayName\": \"Mohammad Yameen\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ae262ZyoF3IcDkD9J_57iMzgSoz0-EZNJapk0FFYAq5-g0Qg2H7hR7bqKpX75KoGgJEuTpadosM=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-15T19:41:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxQvLOEyqFtruAMTwB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kvm8tsRj6BM\",\n          \"topLevelComment\": {\n            \"id\": \"UgxQvLOEyqFtruAMTwB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you sir for this amazing playlist\",\n              \"textOriginal\": \"Thank you sir for this amazing playlist\",\n              \"authorDisplayName\": \"Lavesh Garg\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/qflR4Z0vyr8RDZMe1Pfcf02ZqKaKxs4YkO_5tK2kgt1unLj7mMjXBHLCSYqKyqwSu48Fryp9Iw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-27T15:44:36Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxkXQ877cjhkxKUw7h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kvm8tsRj6BM\",\n          \"topLevelComment\": {\n            \"id\": \"UgxkXQ877cjhkxKUw7h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Chillin&#39; It n Killin&#39; it !\",\n              \"textOriginal\": \"Chillin' It n Killin' it !\",\n              \"authorDisplayName\": \"Kishan Kr Sharma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/W8zGYUkrrhx1mnVQeBxFU65wrABJ97wefMS4_nCajSHpX0PPWEwFdz3896bhAmzWH0-60a9DndQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-11T07:48:21Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx7HLehecpHOxZSzT94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kvm8tsRj6BM\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx7HLehecpHOxZSzT94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"i appreciate it,, really mean it... thnx anyway making like this videos\",\n              \"textOriginal\": \"i appreciate it,, really mean it... thnx anyway making like this videos\",\n              \"authorDisplayName\": \"frank\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRt6JaLWufy7qDOlG8DjWKdM7ea5r-UrqYWfU0KkU_gz6R_Bj9mBcm9Vf4yZPsQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-10T14:21:48Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwMPRkSyjgtpb4bXpp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kvm8tsRj6BM\",\n          \"topLevelComment\": {\n            \"id\": \"UgwMPRkSyjgtpb4bXpp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Ahaa app to chuppa rustom nikle. I thought one video everyday 😅😅\",\n              \"textOriginal\": \"Ahaa app to chuppa rustom nikle. I thought one video everyday 😅😅\",\n              \"authorDisplayName\": \"Meet Bhalodiya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQZe_brIWSvBGP_xcizfbdhd0FBMA7_zt8kB2tGXQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-09T18:37:03Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz7MUuav27EgsEWNBJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kvm8tsRj6BM\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz7MUuav27EgsEWNBJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"where is your teacher theme ? I never liked it and happy to see its gone. 😅\",\n              \"textOriginal\": \"where is your teacher theme ? I never liked it and happy to see its gone. 😅\",\n              \"authorDisplayName\": \"Tushar Singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRK6wjgn23NDLpXZTcDjRWwXjEVICVCIC_yFMfl8g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-09T10:43:31Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzVDS-LcLMb-a7nEHF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kvm8tsRj6BM\",\n          \"topLevelComment\": {\n            \"id\": \"UgzVDS-LcLMb-a7nEHF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"WSL is highly recommended for windows to have native linux environment.\",\n              \"textOriginal\": \"WSL is highly recommended for windows to have native linux environment.\",\n              \"authorDisplayName\": \"Tushar Singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRK6wjgn23NDLpXZTcDjRWwXjEVICVCIC_yFMfl8g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-09T10:39:47Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx_P3K3kRIlCj37y2p4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kvm8tsRj6BM\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx_P3K3kRIlCj37y2p4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks for this yt playlist. ❤️\",\n              \"textOriginal\": \"Thanks for this yt playlist. ❤️\",\n              \"authorDisplayName\": \"K Saha\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR78lglEW0B3ygLbusJNFUpRtrsQyY_AQqtfdYnKgk=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-09T05:41:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzzrAUHHpGfDgomRNV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kvm8tsRj6BM\",\n          \"topLevelComment\": {\n            \"id\": \"UgzzrAUHHpGfDgomRNV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"How many times do they recycle the same subject just for views! Sigh!\",\n              \"textOriginal\": \"How many times do they recycle the same subject just for views! Sigh!\",\n              \"authorDisplayName\": \"Truth Teachers\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/EwLKYNQjbw7pDOh64i1QV9V4EMU2A1eWJIEwPwMpRhGeC2Jm8gFRPgk6MduxEmHC30PAywdzBg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2022-09-09T00:26:51Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwBtLEpCSJIpLCGExF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kvm8tsRj6BM\",\n          \"topLevelComment\": {\n            \"id\": \"UgwBtLEpCSJIpLCGExF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Present Sirji....\",\n              \"textOriginal\": \"Present Sirji....\",\n              \"authorDisplayName\": \"Ankush Ladani\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTtqUk_dd6h1JHOWYOLvYR5GnxN6Sedv3WTi86pqg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-08T16:29:08Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzY-IS_VBY1yCYF6mR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kvm8tsRj6BM\",\n          \"topLevelComment\": {\n            \"id\": \"UgzY-IS_VBY1yCYF6mR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"http://www.youtube.com/results?search_query=%23save_shwetabh_gangwar\\\">#Save_Shwetabh_Gangwar</a>\",\n              \"textOriginal\": \"#Save_Shwetabh_Gangwar\",\n              \"authorDisplayName\": \"Rohan Torankar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSCQ1CE3aCfcZv2xtb48JV27SiD-Z8E_OcYkrt5zg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-08T15:13:40Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"gEIP87k75aU\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxfDSDd-k1rafMxWx94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"gEIP87k75aU\",\n          \"topLevelComment\": {\n            \"id\": \"UgxfDSDd-k1rafMxWx94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Just a note, videos are in 4K 😀\",\n              \"textOriginal\": \"Just a note, videos are in 4K 😀\",\n              \"authorDisplayName\": \"Hitesh Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 24,\n              \"publishedAt\": \"2022-09-09T12:32:28Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      },\n      {\n        \"id\": \"UgxEH0qznZLD6Z5M2W94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"gEIP87k75aU\",\n          \"topLevelComment\": {\n            \"id\": \"UgxEH0qznZLD6Z5M2W94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Very Good Series appreciate your efforts\",\n              \"textOriginal\": \"Very Good Series appreciate your efforts\",\n              \"authorDisplayName\": \"pranay alone\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/1cGR41rBwZtyUkm76pecCJOgPkI2EtxMd-zXpavkajwbQkqgwc8sEP647VFV4SFiGbZ0hugciw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-03T08:30:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwTshKpv-NjzJ1zM3d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"gEIP87k75aU\",\n          \"topLevelComment\": {\n            \"id\": \"UgwTshKpv-NjzJ1zM3d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I have done it:\\r<br>1- string\\r<br>2- number\\r<br>3- boolean\\r<br>4- Arrays\\r<br>5- any\\r<br>6- noImplicitAny\\r<br>7- const \\r<br>8- var\\r<br>9- let\\r<br>10- Function and its types\\r<br>11- Object and its types\\r<br>12- Union Types\\r<br>13- Type Aliases\\r<br>14- Interfaces\\r<br>15- Type Assertions\\r<br>16- Literal Types\\r<br>17- null\\r<br>18-undefined\\r<br>19- Enums\\r<br>20 bigInt\\r<br>21 Symbol\",\n              \"textOriginal\": \"I have done it:\\r\\n1- string\\r\\n2- number\\r\\n3- boolean\\r\\n4- Arrays\\r\\n5- any\\r\\n6- noImplicitAny\\r\\n7- const \\r\\n8- var\\r\\n9- let\\r\\n10- Function and its types\\r\\n11- Object and its types\\r\\n12- Union Types\\r\\n13- Type Aliases\\r\\n14- Interfaces\\r\\n15- Type Assertions\\r\\n16- Literal Types\\r\\n17- null\\r\\n18-undefined\\r\\n19- Enums\\r\\n20 bigInt\\r\\n21 Symbol\",\n              \"authorDisplayName\": \"Iftikhar Hussain\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQVbX_kbU180W4uoKlf4gkfV_9xi_hReJVBdAwh=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-13T17:12:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxeJX5Kt-nrDoSAliF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"gEIP87k75aU\",\n          \"topLevelComment\": {\n            \"id\": \"UgxeJX5Kt-nrDoSAliF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Type in typescript:<br>Primitive: string, number and boolean<br>Arrays<br>any<br>noImplicitAny<br>Type Annotation on variables<br>Functions <br>anonymous functions<br>Object Types<br>Union Types<br>Type Aliases<br>Interfaces<br>Type Assertions<br>Literal Types<br>null and undefined<br>enums<br>Less Common Primitives\",\n              \"textOriginal\": \"Type in typescript:\\nPrimitive: string, number and boolean\\nArrays\\nany\\nnoImplicitAny\\nType Annotation on variables\\nFunctions \\nanonymous functions\\nObject Types\\nUnion Types\\nType Aliases\\nInterfaces\\nType Assertions\\nLiteral Types\\nnull and undefined\\nenums\\nLess Common Primitives\",\n              \"authorDisplayName\": \"Bharatchandran\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/vNTtmFnHJA9inSQraZKZB4QLO2TFP5qY8ca2axCWuQmn2Iw50O0b3CnclkWpj7M_sTu9bfFdJg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-06T05:18:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugya2xYUQfV2eOI4An14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"gEIP87k75aU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugya2xYUQfV2eOI4An14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you Maestro !!!\",\n              \"textOriginal\": \"Thank you Maestro !!!\",\n              \"authorDisplayName\": \"Автоюрист Сургут \",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ntYctixSSjhw9Ii7sHWYuR1nF7OtgCeJpc1ts2lER1HC12ieIyvpXBtTmUxvQWQJG0dJAhn0=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-02-04T20:23:13Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxbrkiz757Pa6Tj4ht4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"gEIP87k75aU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxbrkiz757Pa6Tj4ht4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi Hitesh , i have started learning typescript with urs course . But i am getting a problem. When i running the command tsc VariablesMe.ts file its converting a empty VariablesMe .js file . I dont know why its happening .Can u help me with this ?\",\n              \"textOriginal\": \"Hi Hitesh , i have started learning typescript with urs course . But i am getting a problem. When i running the command tsc VariablesMe.ts file its converting a empty VariablesMe .js file . I dont know why its happening .Can u help me with this ?\",\n              \"authorDisplayName\": \"sid17_cgdyt\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/2fXf8R9PJRr_novJLSuvkDTiIil8TjNb0jro3Rz5xLn5lf-Sx16HyUNcTLwnMIYdsVAhVBhtkg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-12-18T05:28:01Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugy70qkM-FEsfTCxe6l4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"gEIP87k75aU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy70qkM-FEsfTCxe6l4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"❤️\",\n              \"textOriginal\": \"❤️\",\n              \"authorDisplayName\": \"Soumadip Banerjee 🌟\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/SNzK0CjRh8ryYQdP9USK4HBorL2I1Zb_TwMe-_oT1HAWbzcpYgCMxe34PRj-Rrvz22-cfunzD8s=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-12-17T20:11:13Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzhJkJnSvrMNlLhAMV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"gEIP87k75aU\",\n          \"topLevelComment\": {\n            \"id\": \"UgzhJkJnSvrMNlLhAMV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Great to go through from each with examples.  Here is list: <br> <br>primitives: string, number, and boolean<br> Arrays<br> any<br> noImplicitAny<br> const , var , let<br> Functions<br> Object Types<br> Union Types<br>Type Aliases<br>Interfaces<br>Type Assertions<br>Literal Types<br>null and undefined<br>Enums<br>Less Common Primitives: bigint, symbol\",\n              \"textOriginal\": \"Great to go through from each with examples.  Here is list: \\n \\nprimitives: string, number, and boolean\\n Arrays\\n any\\n noImplicitAny\\n const , var , let\\n Functions\\n Object Types\\n Union Types\\nType Aliases\\nInterfaces\\nType Assertions\\nLiteral Types\\nnull and undefined\\nEnums\\nLess Common Primitives: bigint, symbol\",\n              \"authorDisplayName\": \"Jay Si\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTmcRK_OYcN87VMb-eBGZfM6gzA52__6-prpg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 4,\n              \"publishedAt\": \"2022-09-16T08:48:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwjgQTlQdCnWAX1W3h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"gEIP87k75aU\",\n          \"topLevelComment\": {\n            \"id\": \"UgwjgQTlQdCnWAX1W3h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"👍\",\n              \"textOriginal\": \"👍\",\n              \"authorDisplayName\": \"Aman saxena\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSojEuwoQ5jq27i-3dhW0luy5SP8BR9dsTvBcxkfec=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-15T20:23:25Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy-MPhoK62xzvsRDuB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"gEIP87k75aU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy-MPhoK62xzvsRDuB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Smile is awesome 🥰🥰<br>I like it.<br>Keep smiling 😃😃\",\n              \"textOriginal\": \"Smile is awesome 🥰🥰\\nI like it.\\nKeep smiling 😃😃\",\n              \"authorDisplayName\": \"SANDIP_ KANZARIYA\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSc6yFMZOt-_9IpV3Hfy-AX7d6OPxuIEVrdew=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-11T15:46:55Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugzlj4F52khemuijsH94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"gEIP87k75aU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzlj4F52khemuijsH94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I ❤️ Your way of talking and explaining can we get a video on  how can we explain our skills/projects in interview.\",\n              \"textOriginal\": \"I ❤️ Your way of talking and explaining can we get a video on  how can we explain our skills/projects in interview.\",\n              \"authorDisplayName\": \"Praveen Yadav\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQD794mr-vcddaQgi7lYX7q-wL0VEEeI3er6vj0ng=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-10T11:36:31Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzkLp0HsPzSeYSI6ZN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"gEIP87k75aU\",\n          \"topLevelComment\": {\n            \"id\": \"UgzkLp0HsPzSeYSI6ZN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Just a note, your way of teaching is awesome 😀.\",\n              \"textOriginal\": \"Just a note, your way of teaching is awesome 😀.\",\n              \"authorDisplayName\": \"Praveen Yadav\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQD794mr-vcddaQgi7lYX7q-wL0VEEeI3er6vj0ng=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 3,\n              \"publishedAt\": \"2022-09-10T11:33:38Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"Ec-z6924f6w\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgzS1Mce1KmXvNzjYNt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ec-z6924f6w\",\n          \"topLevelComment\": {\n            \"id\": \"UgzS1Mce1KmXvNzjYNt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you sir.......\",\n              \"textOriginal\": \"Thank you sir.......\",\n              \"authorDisplayName\": \"Ankush Ladani\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTtqUk_dd6h1JHOWYOLvYR5GnxN6Sedv3WTi86pqg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-10T11:04:34Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx5Aun6ZAvLnZQ7oCl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ec-z6924f6w\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx5Aun6ZAvLnZQ7oCl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"commerce background walo ko bhi job milti hai kya?  faang or other big companies mein\",\n              \"textOriginal\": \"commerce background walo ko bhi job milti hai kya?  faang or other big companies mein\",\n              \"authorDisplayName\": \"Faiz Shaikh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQhBFM3FcxJZYZ2TIB4ErksiALCRMzxhjc7cCfw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-10T08:53:41Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwkUI7mcKNC46bDz1Z4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ec-z6924f6w\",\n          \"topLevelComment\": {\n            \"id\": \"UgwkUI7mcKNC46bDz1Z4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks for sharing your experience with us.\",\n              \"textOriginal\": \"Thanks for sharing your experience with us.\",\n              \"authorDisplayName\": \"Viral vlogs\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/eCGLZ3fJ5PIDtgkxGih52NdO2K6cPUDLTv6ZrwrPHh-DQPD5AnLaTf8Mss-FTKHUYvACdneNkg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-09T04:25:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyalzL2o7ObszmG28J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ec-z6924f6w\",\n          \"topLevelComment\": {\n            \"id\": \"UgyalzL2o7ObszmG28J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"where is FSJS 2.0 is ?\",\n              \"textOriginal\": \"where is FSJS 2.0 is ?\",\n              \"authorDisplayName\": \"Piyush Sagar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/wNEIU5Z8YChbKU06lt-xV8OjBhfQTfZ2tZavawf_j9vnq_8E6gXVbbzNnmKwaijRKEWx3uvVCg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-08T08:58:38Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx2ejVy0YME8rq8bM14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ec-z6924f6w\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx2ejVy0YME8rq8bM14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thankyou Sir for sharing the useful information.\",\n              \"textOriginal\": \"Thankyou Sir for sharing the useful information.\",\n              \"authorDisplayName\": \"venkatesh sivadurga\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR0CpkLLHfnwt1ulwTy7eOuhVPStGC7_l4mOE8S4A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-08T04:30:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzhE1JFhf--8pN9WeV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ec-z6924f6w\",\n          \"topLevelComment\": {\n            \"id\": \"UgzhE1JFhf--8pN9WeV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Really Appreciated!!\",\n              \"textOriginal\": \"Really Appreciated!!\",\n              \"authorDisplayName\": \"hitesh suthar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQlR_3ONXh9f59ICdFaW8QvVKrNGTfyIJMsBofsuw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-08T03:57:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugydu1tgdwCPlmj-KyN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ec-z6924f6w\",\n          \"topLevelComment\": {\n            \"id\": \"Ugydu1tgdwCPlmj-KyN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hey Hitesh recently I have had an similar experience recently of other gender getting more preference and skills were never taken into account. That person got reject twice in technical rounds and then also “she” got selected was very upset to see this happen it really felt like I don’t have the skill it was very daunting. These things are hard to come out of but I some how managed but this is very very wrong\",\n              \"textOriginal\": \"Hey Hitesh recently I have had an similar experience recently of other gender getting more preference and skills were never taken into account. That person got reject twice in technical rounds and then also “she” got selected was very upset to see this happen it really felt like I don’t have the skill it was very daunting. These things are hard to come out of but I some how managed but this is very very wrong\",\n              \"authorDisplayName\": \"Ayush Srivastava\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/CHeY6czjfnlPokVZv2hv4M3eYsW-_XzLjAMb7quxzdtMp80tafATNymJ613nFLp18R1AnvUEqA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-07T20:36:23Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxB2cGoT1oRGZkMfst4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ec-z6924f6w\",\n          \"topLevelComment\": {\n            \"id\": \"UgxB2cGoT1oRGZkMfst4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"How about the salary?\",\n              \"textOriginal\": \"How about the salary?\",\n              \"authorDisplayName\": \"NP - Bangla\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/jmGZTBvxT_jQQQzAPPv6XZNC0-JkZgAiCYgzOWKbJAqep-MD3f77lzfBLTNcOq1mzoimynV6=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-07T19:09:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugyco-2YhKB__MC4U-h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ec-z6924f6w\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyco-2YhKB__MC4U-h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I am 2019 non CS/IT grad with no job / experience since 2019. As a fresher what your course should I take to get a job for sure ? Please advise.\",\n              \"textOriginal\": \"I am 2019 non CS/IT grad with no job / experience since 2019. As a fresher what your course should I take to get a job for sure ? Please advise.\",\n              \"authorDisplayName\": \"dheeraj y\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRfZyumh1NEhCemmroY8c-Em9VDSa2JIBmnY0on0g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-07T17:37:07Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwL9cNL1a1W80dilUZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ec-z6924f6w\",\n          \"topLevelComment\": {\n            \"id\": \"UgwL9cNL1a1W80dilUZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Its curious that even you were rejected in that manner (the first one)! And yet now you are this much successful. <br>Rejections don&#39;t define you, your grit and determination does!<br>Btw i&#39;m curious as to what you did at the interview that they were so pissed off XD\",\n              \"textOriginal\": \"Its curious that even you were rejected in that manner (the first one)! And yet now you are this much successful. \\nRejections don't define you, your grit and determination does!\\nBtw i'm curious as to what you did at the interview that they were so pissed off XD\",\n              \"authorDisplayName\": \"usama hussain\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTEHVCkO94Qi5fd1rqpReXEF2JhmgBjloozUw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-10-07T17:15:54Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz3VeDWFFednj_N3IR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ec-z6924f6w\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz3VeDWFFednj_N3IR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I think now you are in Jaipur YouTube Studio 🎙 Happy holidays from Bangalore\",\n              \"textOriginal\": \"I think now you are in Jaipur YouTube Studio 🎙 Happy holidays from Bangalore\",\n              \"authorDisplayName\": \"Just Learn\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/11aM2Yk0oydsz4GQcO0XQqtARTIIWut4-uaDtDNuguxA6Xt0I_An-sDUYCmcMPiqD2r1UKuv=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-10-07T16:26:43Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgywS9kxbQKnQ2-teqF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ec-z6924f6w\",\n          \"topLevelComment\": {\n            \"id\": \"UgywS9kxbQKnQ2-teqF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir , can we get more typescript videos?\",\n              \"textOriginal\": \"Sir , can we get more typescript videos?\",\n              \"authorDisplayName\": \"Venkat Raman Behera\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTqj_X-bK-Jlga0jSJbMwWN7P6xtaNUTu0xGcitSg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2022-10-07T16:06:02Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      }\n    ]\n  },\n  \"j89BvWz8Eag\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgycCEZXJAgLtN4ox_14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j89BvWz8Eag\",\n          \"topLevelComment\": {\n            \"id\": \"UgycCEZXJAgLtN4ox_14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Here is the github repo:<br><a href=\\\"https://github.com/hiteshchoudhary/typescript-youtube-22\\\">https://github.com/hiteshchoudhary/typescript-youtube-22</a>\",\n              \"textOriginal\": \"Here is the github repo:\\nhttps://github.com/hiteshchoudhary/typescript-youtube-22\",\n              \"authorDisplayName\": \"Hitesh Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2022-10-26T17:59:51Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxVr_xmZVK7kjGdhIp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j89BvWz8Eag\",\n          \"topLevelComment\": {\n            \"id\": \"UgxVr_xmZVK7kjGdhIp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir it will be more helpful for us,.if you make videos in hindi\",\n              \"textOriginal\": \"Sir it will be more helpful for us,.if you make videos in hindi\",\n              \"authorDisplayName\": \"Chandra Naskar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRmMAAIHcJ6HFHA01kokH8r_Q1P64Ubv3rBdVGRfZU-tcbcig5APgc8vhx5tsxz=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-29T08:07:52Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxINLJimtYJoF18YBB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j89BvWz8Eag\",\n          \"topLevelComment\": {\n            \"id\": \"UgxINLJimtYJoF18YBB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Binge watching\",\n              \"textOriginal\": \"Binge watching\",\n              \"authorDisplayName\": \"chandrahas m\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSApjzqpIRIdrVqaZJ4WOc4GeJntM3ZnSnk2Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-12T06:04:32Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxjJH19Yj2YvlSQhxZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j89BvWz8Eag\",\n          \"topLevelComment\": {\n            \"id\": \"UgxjJH19Yj2YvlSQhxZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Great Content. Really helpful. Awesome way of explaining the things\",\n              \"textOriginal\": \"Great Content. Really helpful. Awesome way of explaining the things\",\n              \"authorDisplayName\": \"D.santhosh reddy\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQRBIRaSRM298WmqerfIb0VVI9tcUxa-RH2fe5s3w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-03-24T12:38:36Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwSWS30lQQhuMGoa914AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j89BvWz8Eag\",\n          \"topLevelComment\": {\n            \"id\": \"UgwSWS30lQQhuMGoa914AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"You are one of the finest programming teachers on YouTube..Your videos are easy to understand... Thanks for being the strength of beginners..🙏\",\n              \"textOriginal\": \"You are one of the finest programming teachers on YouTube..Your videos are easy to understand... Thanks for being the strength of beginners..🙏\",\n              \"authorDisplayName\": \"Tech Sonaniya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQVnLKc6m1gL223UTY9N0F-cFBpJw5rMyWT-_Ej_Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-21T11:14:12Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxohZpUZXJwjMt0D9Z4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j89BvWz8Eag\",\n          \"topLevelComment\": {\n            \"id\": \"UgxohZpUZXJwjMt0D9Z4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I was actually very skeptical for learning Typescript, when I thought to give it a try, then another reason comes in my mind:<br>&quot;If it is going to compile to Javascript, Why not then just Write Javascript&quot;\",\n              \"textOriginal\": \"I was actually very skeptical for learning Typescript, when I thought to give it a try, then another reason comes in my mind:\\n\\\"If it is going to compile to Javascript, Why not then just Write Javascript\\\"\",\n              \"authorDisplayName\": \"Dev-Siri 🇺🇦\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/D-_fnSdh-6CZvRZq9WbnvHqLBLcxzIFtl9tgPAXDTvD5pbfJkjF3Zab-mnl2gmWM8tKBZklsgA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-18T19:31:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzxlmYkrU_Z2Nk8m2x4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j89BvWz8Eag\",\n          \"topLevelComment\": {\n            \"id\": \"UgzxlmYkrU_Z2Nk8m2x4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Can i learn typescript without knowing JavaScript because I don&#39;t know anything about JavaScript&#39;s\",\n              \"textOriginal\": \"Can i learn typescript without knowing JavaScript because I don't know anything about JavaScript's\",\n              \"authorDisplayName\": \"davi muna\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQCMccDo3LtHcp1KylijqtoLuCQxpi9Exn93MWQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-11T13:11:00Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwGDu9ZB04EL0yFd894AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j89BvWz8Eag\",\n          \"topLevelComment\": {\n            \"id\": \"UgwGDu9ZB04EL0yFd894AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Is type script hard to learn!?I don&#39;t have knowledge about JavaScript&#39;s\",\n              \"textOriginal\": \"Is type script hard to learn!?I don't have knowledge about JavaScript's\",\n              \"authorDisplayName\": \"davi muna\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQCMccDo3LtHcp1KylijqtoLuCQxpi9Exn93MWQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-11T13:05:51Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwpdeUT9h66-OR_7vF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j89BvWz8Eag\",\n          \"topLevelComment\": {\n            \"id\": \"UgwpdeUT9h66-OR_7vF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"i still remember the days u used to push your Javascript videos early in the morning i started learning programming because of u, got my first job as a front end React js dev, i would like to thank you , Thank you for being a part of my life , will surely meet you someday in personal, thank u lot of love and respect 🙏\",\n              \"textOriginal\": \"i still remember the days u used to push your Javascript videos early in the morning i started learning programming because of u, got my first job as a front end React js dev, i would like to thank you , Thank you for being a part of my life , will surely meet you someday in personal, thank u lot of love and respect 🙏\",\n              \"authorDisplayName\": \"rocky rawlo\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQU5yQ48J4n1y3SiMfNm-ddF-stekmSREcBenBsmA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-10T16:34:06Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgyZlBlrdtNQPGAs4xV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j89BvWz8Eag\",\n          \"topLevelComment\": {\n            \"id\": \"UgyZlBlrdtNQPGAs4xV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hand rolling TS isn&#39;t necessary anymore. All you need is this node package and JavaScript gain&#39;s type annotation automatically: &quot;npm i derive-type&quot;\",\n              \"textOriginal\": \"Hand rolling TS isn't necessary anymore. All you need is this node package and JavaScript gain's type annotation automatically: \\\"npm i derive-type\\\"\",\n              \"authorDisplayName\": \"Everything is fine\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/UkgfhurVRok_zZFLGvspIzD6v9xSGNoKFd8Ci7qmgRwhF_GprjN64YAMSuLMGhPh7LFnZHP6pQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-09-09T14:19:32Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzcHfcnLgj95FOWXeZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j89BvWz8Eag\",\n          \"topLevelComment\": {\n            \"id\": \"UgzcHfcnLgj95FOWXeZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I had the basics in JavaScript then I started  learning typescript and now I have concrete understanding of typescript. Will I get lost along the way?\",\n              \"textOriginal\": \"I had the basics in JavaScript then I started  learning typescript and now I have concrete understanding of typescript. Will I get lost along the way?\",\n              \"authorDisplayName\": \"Jafan Mulama\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSigs1fs4nTqeDeK4P2-Ja3f-UOAZqgw8ZRjkktwg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-09-09T11:47:04Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzkqVGI57M-i6gGaad4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"j89BvWz8Eag\",\n          \"topLevelComment\": {\n            \"id\": \"UgzkqVGI57M-i6gGaad4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you sir for your videos last year I took your Angular course, and in a year I was able to work and earn 1.5x amount of my first year college fees. Thank you very much 😃\",\n              \"textOriginal\": \"Thank you sir for your videos last year I took your Angular course, and in a year I was able to work and earn 1.5x amount of my first year college fees. Thank you very much 😃\",\n              \"authorDisplayName\": \"Abhay Singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRGdJKtEd9WalarvDIKLVN_WX2TWKBpdwzbfhSSHyTdSHY9FXKniA6T5G2SE6I5=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2022-09-08T21:02:48Z\"\n            }\n          },\n          \"totalReplyCount\": 4\n        }\n      }\n    ]\n  },\n  \"QH0-M_ijShU\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxT5Va8iod02m8w4kV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"QH0-M_ijShU\",\n          \"topLevelComment\": {\n            \"id\": \"UgxT5Va8iod02m8w4kV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"What if i have a good developing skill but less problem solving?\",\n              \"textOriginal\": \"What if i have a good developing skill but less problem solving?\",\n              \"authorDisplayName\": \"faisal_khan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/4BdmXpOTWwAkO5mhTN-LD0ZSnVGKdvbcLkvsYI4CKWgYnl5gZ6_UpOP4DcLHb4EhO-iKR79AfQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-19T14:23:52Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxyr0AjYpVtuqqeKT54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"QH0-M_ijShU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxyr0AjYpVtuqqeKT54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks sir and i already subscribed you ☺\",\n              \"textOriginal\": \"Thanks sir and i already subscribed you ☺\",\n              \"authorDisplayName\": \"Mukul Verma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTJ_SQ-UyoRBuiF7TAmYSkWTqUIZM755sRkLKV9=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-16T13:30:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxQoEd-VxNcA2SI_tV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"QH0-M_ijShU\",\n          \"topLevelComment\": {\n            \"id\": \"UgxQoEd-VxNcA2SI_tV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Just one question i have 1 year of ex in js and react and node but i didn&#39;t learn that much and i&#39;am not able to crack interview and the gap is increasing and if i learn again for the tech can i get a job even if i have a gap???? @ hitesh choudhry sir\",\n              \"textOriginal\": \"Just one question i have 1 year of ex in js and react and node but i didn't learn that much and i'am not able to crack interview and the gap is increasing and if i learn again for the tech can i get a job even if i have a gap???? @ hitesh choudhry sir\",\n              \"authorDisplayName\": \"DeepeshDEV\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/YkPkQl6UDt2pR3kRZ0Hj-2mhY-GVW2rEix4R7QsLhU8BXninSVMLHHELz8RFcghRlgmj8B89n8I=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-09-28T12:33:38Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx8_1gdibbPtG3fi2V4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"QH0-M_ijShU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx8_1gdibbPtG3fi2V4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Great sir u addressed doubt that even not come to people yet . they can now clear garbage form their goal.\",\n              \"textOriginal\": \"Great sir u addressed doubt that even not come to people yet . they can now clear garbage form their goal.\",\n              \"authorDisplayName\": \"Prince Singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTGsreisL_0gFePE_tVCBnOhzUHpnFwJM05R_qy3A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-27T06:09:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy-e_i2N3YWx2SJE754AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"QH0-M_ijShU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy-e_i2N3YWx2SJE754AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir, I followed since 2020. Love your content and your humble nature.\",\n              \"textOriginal\": \"Sir, I followed since 2020. Love your content and your humble nature.\",\n              \"authorDisplayName\": \"Founder Priyanshu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/PmgwdLRJMWUM0HNUhFVA8j-bstdFjRDBOFaLS-m6m9vjQsOFR1UEn2B06b5IpmU7UFnlnONc9w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-22T11:55:05Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgyZXX27Yle56KUnm514AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"QH0-M_ijShU\",\n          \"topLevelComment\": {\n            \"id\": \"UgyZXX27Yle56KUnm514AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"❤❤❤❤\",\n              \"textOriginal\": \"❤❤❤❤\",\n              \"authorDisplayName\": \"Vikas 0018\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTT8k6sB6kF0G2uDyllBDRhFxqv6x9_FBJ6DYxA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-22T11:05:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxadysZc4F73KrhBQl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"QH0-M_ijShU\",\n          \"topLevelComment\": {\n            \"id\": \"UgxadysZc4F73KrhBQl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Great👍\",\n              \"textOriginal\": \"Great👍\",\n              \"authorDisplayName\": \"YouAndImpact\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSwPnfkBBdI0-myKYWqN5AH8W1kgphIVvEiTH-d_Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-22T07:12:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzlNilhnma2zKw2l9l4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"QH0-M_ijShU\",\n          \"topLevelComment\": {\n            \"id\": \"UgzlNilhnma2zKw2l9l4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Please bring more such videos regarding interview process and preparation\",\n              \"textOriginal\": \"Please bring more such videos regarding interview process and preparation\",\n              \"authorDisplayName\": \"sapna sawai\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQi0dMk4T6YrB9WBBKB2YxdJ6u90JUEgpuFWQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-22T03:03:00Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwM97otV1YlnJBTt-V4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"QH0-M_ijShU\",\n          \"topLevelComment\": {\n            \"id\": \"UgwM97otV1YlnJBTt-V4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hamesha ki tarah is baaar bhi kuch naya aur realistic video on interviews. Thankyou sir ji\",\n              \"textOriginal\": \"Hamesha ki tarah is baaar bhi kuch naya aur realistic video on interviews. Thankyou sir ji\",\n              \"authorDisplayName\": \"PRATYUSH KESARWANI\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSmugcro7nl5rESUQQac7QPDLrpf-LK3tSDMWzDWisAwaCtFMZbpSbwbSWMRCE4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-22T02:20:42Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgySIzj9fjYNI52JZZB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"QH0-M_ijShU\",\n          \"topLevelComment\": {\n            \"id\": \"UgySIzj9fjYNI52JZZB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir I have a question ❓<br>Sir if you take a interview ,when you want to choose between <br>A skill full engineer  or A digree engineer .<br>Please reply my question .<br> I would like to request you for make a video on this topic .<br>Sir It&#39;s my humble request .\",\n              \"textOriginal\": \"Sir I have a question ❓\\nSir if you take a interview ,when you want to choose between \\nA skill full engineer  or A digree engineer .\\nPlease reply my question .\\n I would like to request you for make a video on this topic .\\nSir It's my humble request .\",\n              \"authorDisplayName\": \"Lucky Dancer\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/aX20NzHYKPqp6drMR4kmUvwlKdRl0rKzy6dErrfHu5uvq5duNSLNX5OZY0P02xwxqa0LV29w9WU=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-22T01:24:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxtAA3x3QOhfa11huJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"QH0-M_ijShU\",\n          \"topLevelComment\": {\n            \"id\": \"UgxtAA3x3QOhfa11huJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"how should we come up with stories can you  tell more about your next videos\",\n              \"textOriginal\": \"how should we come up with stories can you  tell more about your next videos\",\n              \"authorDisplayName\": \"Ankit Bansod\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRwPizMEKxEi6HlIIjbJK6c2Eav8tdQRuKssadd_DM=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-21T17:35:32Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy8HnEndXwim1LSDx94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"QH0-M_ijShU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy8HnEndXwim1LSDx94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi Hitesh, why u still not created the Discord Server we are waiting\",\n              \"textOriginal\": \"Hi Hitesh, why u still not created the Discord Server we are waiting\",\n              \"authorDisplayName\": \"Pradeep D\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTxsmN3rQHRWM5EIuHIihDzL9KCvVIw8aY23b7d=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-21T17:22:48Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"Trsho3HVAdI\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxH1MTm8rtinjMbDk94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Trsho3HVAdI\",\n          \"topLevelComment\": {\n            \"id\": \"UgxH1MTm8rtinjMbDk94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir , Iam working in embedded systems and I want to change my career to I.t field <br>But I have very little knowledge in I.t , normally i  read books and learn or I watch videos and learn .. but now I don’t know where to start .. I have seen a comment regarding we can learn it from your videos .. can you please suggest any videos for learning from basics ? Or is it necessary to do full stack development courses to start my I.t career ?\",\n              \"textOriginal\": \"Sir , Iam working in embedded systems and I want to change my career to I.t field \\nBut I have very little knowledge in I.t , normally i  read books and learn or I watch videos and learn .. but now I don’t know where to start .. I have seen a comment regarding we can learn it from your videos .. can you please suggest any videos for learning from basics ? Or is it necessary to do full stack development courses to start my I.t career ?\",\n              \"authorDisplayName\": \"Farha Musthafa\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSWxRuhbOn8ygVDrz5ZNTeaSscVg48fNgjrGA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-22T09:36:29Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxDqwRLfDriaQTqF094AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Trsho3HVAdI\",\n          \"topLevelComment\": {\n            \"id\": \"UgxDqwRLfDriaQTqF094AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Just wanted to ask if i can get a job without dsa\",\n              \"textOriginal\": \"Just wanted to ask if i can get a job without dsa\",\n              \"authorDisplayName\": \"Rishad Ali\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTX_uyezwQmJonFAj1LZFba3KudltYc_EZ3QYRO=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-21T18:07:44Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxmATMqVxhkGCEdWMF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Trsho3HVAdI\",\n          \"topLevelComment\": {\n            \"id\": \"UgxmATMqVxhkGCEdWMF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Perfect timing\",\n              \"textOriginal\": \"Perfect timing\",\n              \"authorDisplayName\": \"Rishad Ali\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTX_uyezwQmJonFAj1LZFba3KudltYc_EZ3QYRO=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-21T18:07:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzRzJ0eSih-DIlIR614AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Trsho3HVAdI\",\n          \"topLevelComment\": {\n            \"id\": \"UgzRzJ0eSih-DIlIR614AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you sir\",\n              \"textOriginal\": \"Thank you sir\",\n              \"authorDisplayName\": \"Ritik Gupta\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSfVIzo7FOKYGbvBh1D_63zSxa31nZCtKN0UQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-21T15:39:56Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzTJD0JkSYdVIS0KWF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Trsho3HVAdI\",\n          \"topLevelComment\": {\n            \"id\": \"UgzTJD0JkSYdVIS0KWF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Waiting for the playlist Hitesh Sir ❤\",\n              \"textOriginal\": \"Waiting for the playlist Hitesh Sir ❤\",\n              \"authorDisplayName\": \"prasan kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/hD9OvuycMyCe4NBASquG0mCZKVcQoawbbRREx-rhZZVtRZ-KorsToxrha_I8yjmX16k1WosBsA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-21T14:51:29Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugxf1eGbdgsV_DEoSYV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Trsho3HVAdI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxf1eGbdgsV_DEoSYV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you so much for your help\",\n              \"textOriginal\": \"Thank you so much for your help\",\n              \"authorDisplayName\": \"Gopal Kannan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQMRtzKIBKkXL_hMTYsvsy7js511-G9KgZrwIjy5Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-21T13:09:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgySlm5jLLvyCNoE50F4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Trsho3HVAdI\",\n          \"topLevelComment\": {\n            \"id\": \"UgySlm5jLLvyCNoE50F4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Just awesome sir\",\n              \"textOriginal\": \"Just awesome sir\",\n              \"authorDisplayName\": \"Abhinav Srivastava\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSE1SPPT9iQSQnOxTc8a0osouU-vErxVS9UW8eu=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-21T12:59:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwSbWStnTVKXSMeKBN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Trsho3HVAdI\",\n          \"topLevelComment\": {\n            \"id\": \"UgwSbWStnTVKXSMeKBN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Excited\",\n              \"textOriginal\": \"Excited\",\n              \"authorDisplayName\": \"Subhadip Arpita Vlogs\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/KPylT8TIq2gMyWzShYBnwmkK3nOtLeH0-rywvUSxgYHhcVxIkH2x0l6931CTUVAuI8aupdQEtg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-21T12:18:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgygX4mS7kTxzUohCfh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Trsho3HVAdI\",\n          \"topLevelComment\": {\n            \"id\": \"UgygX4mS7kTxzUohCfh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"🚀🚀🤩\",\n              \"textOriginal\": \"🚀🚀🤩\",\n              \"authorDisplayName\": \"Patel Ronak\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRpY0R9_o6R_pESi6pYz-f2f_4CIll82KIrn5qgoQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-21T12:10:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw-43Zd7Z8N2rFLHEh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Trsho3HVAdI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw-43Zd7Z8N2rFLHEh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Excited to watch this playlist. What a Great timing,  I am about to start my interview preparation.\",\n              \"textOriginal\": \"Excited to watch this playlist. What a Great timing,  I am about to start my interview preparation.\",\n              \"authorDisplayName\": \"MeExploringNow\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/9zZCKlMuR194RHI8sNmiXFH21wNpnEOSCi1RMWmN0nmkWSLlClEMcvVCk1S81z-_cKKyTOlfNQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 5,\n              \"publishedAt\": \"2022-09-21T12:07:10Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugy04iCPgAwmH83R4U14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Trsho3HVAdI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy04iCPgAwmH83R4U14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir, want to switch from service based company to product based company. My tech stack is JAVA, spring. I have also learnt ReactJS and made a few projects. I also solved 200 questions on leetcode. Should I start applying now? My notice period is also 90 days..which is very bad. How can I tackle that\",\n              \"textOriginal\": \"Sir, want to switch from service based company to product based company. My tech stack is JAVA, spring. I have also learnt ReactJS and made a few projects. I also solved 200 questions on leetcode. Should I start applying now? My notice period is also 90 days..which is very bad. How can I tackle that\",\n              \"authorDisplayName\": \"Aditya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRbKi1AHrTxNkKsDwdlFzmqr9akDw0JVlyn8Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 6,\n              \"publishedAt\": \"2022-09-21T11:57:28Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      },\n      {\n        \"id\": \"UgzsfKONSPXJ6zxZ4cN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Trsho3HVAdI\",\n          \"topLevelComment\": {\n            \"id\": \"UgzsfKONSPXJ6zxZ4cN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you for always helping us ❤\",\n              \"textOriginal\": \"Thank you for always helping us ❤\",\n              \"authorDisplayName\": \"jitender singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTsKFvb1x7Z4vEDPhC1hCLpeynDrQ_FPghCzRErPQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-21T11:51:46Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"Ot5CHVwZ_NE\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugxe0wRVfhwtSFlCGj54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ot5CHVwZ_NE\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxe0wRVfhwtSFlCGj54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello sir  aapki videos bohot helpful rehti h FedEx India COE Talent Hub 2022 pr bhi ek video bana dijiye please. Hame thodi help ho jaegi\",\n              \"textOriginal\": \"Hello sir  aapki videos bohot helpful rehti h FedEx India COE Talent Hub 2022 pr bhi ek video bana dijiye please. Hame thodi help ho jaegi\",\n              \"authorDisplayName\": \"pandu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQgt08X_SQIHV0-KFMi2EV-0hL2t2A9JE4q6ZmynJmSo4Uly1U752M0GG2bLLco=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-06T10:40:42Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw1M1cXDE0xMZErgFF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ot5CHVwZ_NE\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw1M1cXDE0xMZErgFF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"** Thank you sir 🤗\",\n              \"textOriginal\": \"** Thank you sir 🤗\",\n              \"authorDisplayName\": \"Amit Pandit Game Reviews\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/G_PLmftl2YlJiw03Ww3b25QtslFSiVujy_wZnWLrA3NF-p_c6M9NniMh5hc9G3bAgb_q6abncQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-04T08:33:48Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxoFKFAMJ1ZgUNTVKh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ot5CHVwZ_NE\",\n          \"topLevelComment\": {\n            \"id\": \"UgxoFKFAMJ1ZgUNTVKh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Is Declaration needed in Resume ??????\",\n              \"textOriginal\": \"Is Declaration needed in Resume ??????\",\n              \"authorDisplayName\": \"19BF1AO554 -sudarrshan GUNDA\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSSUio1tgV0O3XdGEaXD1VD7ZS00QUVdULIty2TvJuYSA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-03T17:06:25Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwUu5PGSoH_4Og1JIN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ot5CHVwZ_NE\",\n          \"topLevelComment\": {\n            \"id\": \"UgwUu5PGSoH_4Og1JIN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you\",\n              \"textOriginal\": \"Thank you\",\n              \"authorDisplayName\": \"Deepti Dubey\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRmROdtVvCDFqgMgwUnynNQo7PDn7iTEubfxw2-IQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-01T14:13:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugyo8jJpRcbBC05FnVZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ot5CHVwZ_NE\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyo8jJpRcbBC05FnVZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you 😊\",\n              \"textOriginal\": \"Thank you 😊\",\n              \"authorDisplayName\": \"Vikram Singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQecqEJ4yLm_ePZ6lA3aKjt3fbsfwQHXQmv_qLS5Dj5SzQalh95dFCDyr8sbWef=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-30T18:27:35Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzLMpWvtPUSNpxFCE14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ot5CHVwZ_NE\",\n          \"topLevelComment\": {\n            \"id\": \"UgzLMpWvtPUSNpxFCE14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you sir.....\",\n              \"textOriginal\": \"Thank you sir.....\",\n              \"authorDisplayName\": \"Ankush Ladani\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTtqUk_dd6h1JHOWYOLvYR5GnxN6Sedv3WTi86pqg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-30T16:20:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxouLeR5dzpUkgEX-p4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ot5CHVwZ_NE\",\n          \"topLevelComment\": {\n            \"id\": \"UgxouLeR5dzpUkgEX-p4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"The full stack js 2.0 course is the last course you will be launching?\",\n              \"textOriginal\": \"The full stack js 2.0 course is the last course you will be launching?\",\n              \"authorDisplayName\": \"pankaj thakur\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQMh_cAdqpK7uyevBCvyIb5OXztRZLzjTXWs239dBI=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-30T06:44:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzsZV9f0TJa5dUW4ex4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ot5CHVwZ_NE\",\n          \"topLevelComment\": {\n            \"id\": \"UgzsZV9f0TJa5dUW4ex4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Amazing tips time to update my resume.\",\n              \"textOriginal\": \"Amazing tips time to update my resume.\",\n              \"authorDisplayName\": \"Adigun Olamide\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQwLJON4Z2zZqrjppXxmf3rF37OuLPj1-YE9Z7eMPE=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-29T20:16:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwQxN9ooAORrUo6M7h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ot5CHVwZ_NE\",\n          \"topLevelComment\": {\n            \"id\": \"UgwQxN9ooAORrUo6M7h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hey, could you provide some fresher devops resume? Thank you.\",\n              \"textOriginal\": \"Hey, could you provide some fresher devops resume? Thank you.\",\n              \"authorDisplayName\": \"Yogesh Bhatt\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ30oXAjEkLNqZgDPMAgzGHzX2OWlqydobqTozEtg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-29T15:24:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyNeMf8a_XyH-KSDxh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ot5CHVwZ_NE\",\n          \"topLevelComment\": {\n            \"id\": \"UgyNeMf8a_XyH-KSDxh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you so much for your support.\",\n              \"textOriginal\": \"Thank you so much for your support.\",\n              \"authorDisplayName\": \"Gopal Kannan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQMRtzKIBKkXL_hMTYsvsy7js511-G9KgZrwIjy5Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-29T14:45:34Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzluDyh7fEIEkuLxXJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ot5CHVwZ_NE\",\n          \"topLevelComment\": {\n            \"id\": \"UgzluDyh7fEIEkuLxXJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks a lot sir, Also I would happy to see video on What is perspective of the Recruiter while hiring and what are they really expecting from candidates while recruiting.\",\n              \"textOriginal\": \"Thanks a lot sir, Also I would happy to see video on What is perspective of the Recruiter while hiring and what are they really expecting from candidates while recruiting.\",\n              \"authorDisplayName\": \"Sainath Poojary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTEUGgSqhW29Gw9Bwc7367TLFTsxEFKZRKQ89cGFpA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-29T14:12:32Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxywVpYQ_tG0GrnNwx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Ot5CHVwZ_NE\",\n          \"topLevelComment\": {\n            \"id\": \"UgxywVpYQ_tG0GrnNwx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Informative ✨\",\n              \"textOriginal\": \"Informative ✨\",\n              \"authorDisplayName\": \"Muhsin MK\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT8vLFp1088ayKiHRIwM6iqrV74YL7UK_q4hWOXhg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-29T14:09:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"A8-lVZMd3dI\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugx-u3GBZvOvVzpRtU94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"A8-lVZMd3dI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx-u3GBZvOvVzpRtU94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"A great motivation sir prayers for you 😘<br>Sir kindly tell me how to learn python advance level\",\n              \"textOriginal\": \"A great motivation sir prayers for you 😘\\nSir kindly tell me how to learn python advance level\",\n              \"authorDisplayName\": \"Ahmad Faraz khan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQs2dsu0a5DXLdD1K8vYPJUVVwkgBd5vX3tgwAF=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-27T16:12:26Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzM0c36YxNsKRaeZbJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"A8-lVZMd3dI\",\n          \"topLevelComment\": {\n            \"id\": \"UgzM0c36YxNsKRaeZbJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you so much for making this video. I have asked you so many times about this no experience   que in your Instagram DM and you never answered it there.<br>This video just cleared all my doubts , thanks a lot!\",\n              \"textOriginal\": \"Thank you so much for making this video. I have asked you so many times about this no experience   que in your Instagram DM and you never answered it there.\\nThis video just cleared all my doubts , thanks a lot!\",\n              \"authorDisplayName\": \"MOON Reels\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/_Z25CkEiUZEw8Ann4k3rtGBXuPrLKIFxAOQjaR2PYhuCFMTA_n6K4gaI13XI41rpXpMj7LMBau0=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-07T13:34:57Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgyApSgfNDo6wyHCXZ54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"A8-lVZMd3dI\",\n          \"topLevelComment\": {\n            \"id\": \"UgyApSgfNDo6wyHCXZ54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you sir.....\",\n              \"textOriginal\": \"Thank you sir.....\",\n              \"authorDisplayName\": \"Ankush Ladani\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTtqUk_dd6h1JHOWYOLvYR5GnxN6Sedv3WTi86pqg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-07T13:13:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx13mItUAAZmzWetAt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"A8-lVZMd3dI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx13mItUAAZmzWetAt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you so much sir.\",\n              \"textOriginal\": \"Thank you so much sir.\",\n              \"authorDisplayName\": \"Gopal Kannan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQMRtzKIBKkXL_hMTYsvsy7js511-G9KgZrwIjy5Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-07T13:06:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzhN6iDGaB71p136P14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"A8-lVZMd3dI\",\n          \"topLevelComment\": {\n            \"id\": \"UgzhN6iDGaB71p136P14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir i want to see you everyday on YouTube.. <br><br>Doesn&#39;t mean i will watch Your video in loop or previous video i should watch.<br><br>every day.. just post video\",\n              \"textOriginal\": \"sir i want to see you everyday on YouTube.. \\n\\nDoesn't mean i will watch Your video in loop or previous video i should watch.\\n\\nevery day.. just post video\",\n              \"authorDisplayName\": \"chirag roy\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/RdvCFuxVdM9VRejaVJr1lX2ItBXU1TWmphBNQxLsNn9--RDj10HSKMpMoLsW_tecPCkj04cF_g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-07T13:04:48Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxYNDD_pdHuhksFUFt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"A8-lVZMd3dI\",\n          \"topLevelComment\": {\n            \"id\": \"UgxYNDD_pdHuhksFUFt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"@hitesh A very much to be discussed topic...u never leave a chance to surprise..<a href=\\\"http://www.youtube.com/results?search_query=%23sir\\\">#Sir</a>\",\n              \"textOriginal\": \"@hitesh A very much to be discussed topic...u never leave a chance to surprise..#Sir\",\n              \"authorDisplayName\": \"PRATEEK JHA\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRoG-Ch3jgLxMxU1Q0_MDtJFVRnP9Gga2eZhcWZc2Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-07T12:48:45Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxZRv1Qv165MYosO-N4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"A8-lVZMd3dI\",\n          \"topLevelComment\": {\n            \"id\": \"UgxZRv1Qv165MYosO-N4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"informative\",\n              \"textOriginal\": \"informative\",\n              \"authorDisplayName\": \"Saurabh Sharma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSYTEVLDzW9aQ_iZLfVSyoWK8OqBjgITKaxgO3U0g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-07T12:42:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz86SzQqAqdRAmjS314AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"A8-lVZMd3dI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz86SzQqAqdRAmjS314AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hii sir\",\n              \"textOriginal\": \"Hii sir\",\n              \"authorDisplayName\": \"Rohtash Talan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQEGTg3SHCS5pto1Dc-1hsbv7ONuJtnNV2Nlk1t=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-07T12:34:54Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwz1429-os43BEH3TJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"A8-lVZMd3dI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwz1429-os43BEH3TJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Where is typescript series sir?\",\n              \"textOriginal\": \"Where is typescript series sir?\",\n              \"authorDisplayName\": \"Ramadevi Atmuri\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRONkjei7E9vBWcCZ44Oxugs68CnRyNzSUFoBNAPw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-07T12:34:52Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgyEHgmH5RvTor15DYt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"A8-lVZMd3dI\",\n          \"topLevelComment\": {\n            \"id\": \"UgyEHgmH5RvTor15DYt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"First\",\n              \"textOriginal\": \"First\",\n              \"authorDisplayName\": \"DG GHETIYA\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSYfH8a7v0aiCjN1BvbbxnYDpXUDDW8J4ng4iJ6CGY=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-07T12:34:46Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"kUM7tiBcei0\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgzB94w18uWQJqFHPSl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kUM7tiBcei0\",\n          \"topLevelComment\": {\n            \"id\": \"UgzB94w18uWQJqFHPSl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"New live course is out:<br><a href=\\\"https://hc.lco.dev/jscamp2\\\">https://hc.lco.dev/jscamp2</a>\",\n              \"textOriginal\": \"New live course is out:\\nhttps://hc.lco.dev/jscamp2\",\n              \"authorDisplayName\": \"Hitesh Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 3,\n              \"publishedAt\": \"2022-09-22T11:22:42Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxnnAgKeOBjGTAYpOF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kUM7tiBcei0\",\n          \"topLevelComment\": {\n            \"id\": \"UgxnnAgKeOBjGTAYpOF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Can u give bit about java\",\n              \"textOriginal\": \"Can u give bit about java\",\n              \"authorDisplayName\": \"ADAMBASHA N\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQm-LxF3pm3hlidalk07zx9YwUSqpSa2Jg24hU=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-21T16:09:41Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzjM38AVR31ifX4FzJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kUM7tiBcei0\",\n          \"topLevelComment\": {\n            \"id\": \"UgzjM38AVR31ifX4FzJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I&#39;m In Europe and Here HR says hiring portal Bots prefer Single Column resumes. So, Avoid Unnecessary designs and Columns. One More Reason Could be to Try to Develop a Resume Filter Software and you will realize that scanning a Simple Resume is much easier for your software. Good Luck To Everyone!\",\n              \"textOriginal\": \"I'm In Europe and Here HR says hiring portal Bots prefer Single Column resumes. So, Avoid Unnecessary designs and Columns. One More Reason Could be to Try to Develop a Resume Filter Software and you will realize that scanning a Simple Resume is much easier for your software. Good Luck To Everyone!\",\n              \"authorDisplayName\": \"AKSHAY JAIN\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTj84XOVOXIfJMFD75QmWEXULhiaAqOhp8bwJb4nA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-14T21:11:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwXpCzMYeODFnM59v14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kUM7tiBcei0\",\n          \"topLevelComment\": {\n            \"id\": \"UgwXpCzMYeODFnM59v14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir I don&#39;t have experience but I have projects which should impress recruiter so can I change my experience session into projects session?\",\n              \"textOriginal\": \"Sir I don't have experience but I have projects which should impress recruiter so can I change my experience session into projects session?\",\n              \"authorDisplayName\": \"rakhi Singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSCWDw0O2uwqG8S07kKtgb1v6H5uQ1A22gVmtQgBA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-04T06:43:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyKunJhl5N9kIwQfDl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kUM7tiBcei0\",\n          \"topLevelComment\": {\n            \"id\": \"UgyKunJhl5N9kIwQfDl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Can we use latex to build a resume?<br>Is &quot;Deedy Resume&quot; worthy?\",\n              \"textOriginal\": \"Can we use latex to build a resume?\\nIs \\\"Deedy Resume\\\" worthy?\",\n              \"authorDisplayName\": \"Ashutosh Pandey\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSdQySFfQAWgg9uxAoFqj2ywHZyRExJsmb9Kg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-27T09:56:54Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwkETWjkLO65RZ3SKl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kUM7tiBcei0\",\n          \"topLevelComment\": {\n            \"id\": \"UgwkETWjkLO65RZ3SKl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi Hitesh, When are you uploading the next video?\",\n              \"textOriginal\": \"Hi Hitesh, When are you uploading the next video?\",\n              \"authorDisplayName\": \"Hyper Coddicted\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT0TsytjuwlxG24NkWKjjRocex_yTRpWAyCVGy4vt5CplWq3dPzbr-aJbMLeR6W=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-26T06:21:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzameOyks4QFL-U7LF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kUM7tiBcei0\",\n          \"topLevelComment\": {\n            \"id\": \"UgzameOyks4QFL-U7LF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir please come on Sandeep sir show . We want know more about you 😊😊😊😊\",\n              \"textOriginal\": \"Sir please come on Sandeep sir show . We want know more about you 😊😊😊😊\",\n              \"authorDisplayName\": \"Gaurav kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT94mGhJsEf0FRQWulTf0PFcxxZiYMB_3RmfEHy=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 3,\n              \"publishedAt\": \"2022-09-22T14:38:55Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwxyvi5wQQx71PAMhN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kUM7tiBcei0\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwxyvi5wQQx71PAMhN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sure I&#39;ll do it see you in the next video.  📃\",\n              \"textOriginal\": \"Sure I'll do it see you in the next video.  📃\",\n              \"authorDisplayName\": \"Praveen Yadav\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQD794mr-vcddaQgi7lYX7q-wL0VEEeI3er6vj0ng=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-22T14:35:55Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgwiarX4jrnR2mOBzuZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kUM7tiBcei0\",\n          \"topLevelComment\": {\n            \"id\": \"UgwiarX4jrnR2mOBzuZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Do you really suggest putting Photo on resume? I have found mixed reaction for this on internet. What is your say on this please let us know?\",\n              \"textOriginal\": \"Do you really suggest putting Photo on resume? I have found mixed reaction for this on internet. What is your say on this please let us know?\",\n              \"authorDisplayName\": \"Sarang Gurao\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQAMtUPpEQC6ftcAuBNn5es_Yee_QtHstuhjaXbrQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 10,\n              \"publishedAt\": \"2022-09-22T14:28:14Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwYjk-35Yc2xLW0S9N4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kUM7tiBcei0\",\n          \"topLevelComment\": {\n            \"id\": \"UgwYjk-35Yc2xLW0S9N4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Unbeatable quality of information ❤\",\n              \"textOriginal\": \"Unbeatable quality of information ❤\",\n              \"authorDisplayName\": \"Travelsoul\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQxWptBKoOB0IzOCjsMuA-XZhRXi9mgELIjimqx=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-22T14:16:42Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyQXQnUz1IgNoCQpbR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kUM7tiBcei0\",\n          \"topLevelComment\": {\n            \"id\": \"UgyQXQnUz1IgNoCQpbR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Nice video sir\",\n              \"textOriginal\": \"Nice video sir\",\n              \"authorDisplayName\": \"Abhinav Srivastava\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSE1SPPT9iQSQnOxTc8a0osouU-vErxVS9UW8eu=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-22T13:59:07Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwNodDj6UM2Ajn0dKp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kUM7tiBcei0\",\n          \"topLevelComment\": {\n            \"id\": \"UgwNodDj6UM2Ajn0dKp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"much needed series\",\n              \"textOriginal\": \"much needed series\",\n              \"authorDisplayName\": \"Sid the Coder\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/iknbuRGDYAyKg-OXpruBbheXA7nKhmX4I_y4dboyJm7eoKW3ftlTyMpB4byl7UiR9Va09lQ3=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-09-22T13:38:56Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"D_5T6KMTRb8\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugyp7Mg-mmjBKG6JFt14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"D_5T6KMTRb8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyp7Mg-mmjBKG6JFt14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir I got this error while selecting configure in command palate  in <a href=\\\"https://www.youtube.com/watch?v=D_5T6KMTRb8&amp;t=7m46s\\\">7:46</a> displaying this error<br><br>Command &#39;Codespaces: Add Dev Container Configuration Files...&#39; resulted in an error\\r<br>command &#39;github.codespaces.configureDevContainerCommand&#39; not found\",\n              \"textOriginal\": \"Sir I got this error while selecting configure in command palate  in 7:46 displaying this error\\n\\nCommand 'Codespaces: Add Dev Container Configuration Files...' resulted in an error\\r\\ncommand 'github.codespaces.configureDevContainerCommand' not found\",\n              \"authorDisplayName\": \"Tang tong\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQs_yRtwGFmrrnZCJDtHr86K7ih7dKxRGPwLBzNfyCIaXYYKsdOmUDf9gw0Mvb4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-12T02:03:55Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzZNV_xTp7RENSoPIN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"D_5T6KMTRb8\",\n          \"topLevelComment\": {\n            \"id\": \"UgzZNV_xTp7RENSoPIN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This was damn amazing!\",\n              \"textOriginal\": \"This was damn amazing!\",\n              \"authorDisplayName\": \"Prakhar Sinha\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSJD5i7pz3ccnJP9sN99oaTBSQq1B0U_S-ghgGZRg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-29T19:22:41Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyPyZlbraAmP3QzVB54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"D_5T6KMTRb8\",\n          \"topLevelComment\": {\n            \"id\": \"UgyPyZlbraAmP3QzVB54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I don&#39;t understand why my commit changes process is eternal :(\",\n              \"textOriginal\": \"I don't understand why my commit changes process is eternal :(\",\n              \"authorDisplayName\": \"Roopam_Barman _CSE\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/9ZBqiEUwLijKoFr33zRCe-g8XKK5x6LHtM6QhEdD5INvBEV2y9tmfqATurUHkRrartYksrSuWg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-17T06:54:29Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyOrdzuFHzRIQcJ0xN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"D_5T6KMTRb8\",\n          \"topLevelComment\": {\n            \"id\": \"UgyOrdzuFHzRIQcJ0xN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Your Video is SO EASY to watch, thanks for enlarging the fonts and using High Quality Videos. Great job  !\",\n              \"textOriginal\": \"Your Video is SO EASY to watch, thanks for enlarging the fonts and using High Quality Videos. Great job  !\",\n              \"authorDisplayName\": \"patrick m\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRUJ_21xKei6AHFMt4otKrG6leNzTf2T4U7XQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-14T23:48:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx8HjjJxKzp1sArkF94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"D_5T6KMTRb8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx8HjjJxKzp1sArkF94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"love your voice and english\",\n              \"textOriginal\": \"love your voice and english\",\n              \"authorDisplayName\": \"Original Captured\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTvSwd993DkCiYw6RffpBQNpyndh4-s5-oVmVSv9PDWy19q-JRb88BfDCBMrpPa=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-12T12:27:42Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz8LiOe_Fo1_0xSs6N4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"D_5T6KMTRb8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz8LiOe_Fo1_0xSs6N4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"How to preview\",\n              \"textOriginal\": \"How to preview\",\n              \"authorDisplayName\": \"Acc Forgame\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSeykPODxGU0L3Vh_WHbLIx8OP9qpxuMF8biA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-22T15:05:17Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw9CI0fdwOYg9baMs14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"D_5T6KMTRb8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw9CI0fdwOYg9baMs14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"How to push code changes to git from codespace.\",\n              \"textOriginal\": \"How to push code changes to git from codespace.\",\n              \"authorDisplayName\": \"Mohammad Rafi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTJOsx0qkG2H1gohkS_1vYOk8i7AxUgSiwuDsJHQQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-02-20T06:12:21Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwD9rsTmr4XQNg1xUZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"D_5T6KMTRb8\",\n          \"topLevelComment\": {\n            \"id\": \"UgwD9rsTmr4XQNg1xUZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"truly valuable content❤❤\",\n              \"textOriginal\": \"truly valuable content❤❤\",\n              \"authorDisplayName\": \"Aviral Pal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRfQRoo1ayhN40_eZAzQXkQa4ImFHwozzZEJg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-01-08T14:49:31Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyvxLOGUOcbsauQ3-14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"D_5T6KMTRb8\",\n          \"topLevelComment\": {\n            \"id\": \"UgyvxLOGUOcbsauQ3-14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"pr໐๓໐Ş๓\",\n              \"textOriginal\": \"pr໐๓໐Ş๓\",\n              \"authorDisplayName\": \"P. Nathanial\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRyO4vmmOfBVqCiLsM3vwmf4QntPFRCubg77L5F=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-12-06T05:39:42Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxY9uL87aUzXRZVz-d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"D_5T6KMTRb8\",\n          \"topLevelComment\": {\n            \"id\": \"UgxY9uL87aUzXRZVz-d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"loved it\",\n              \"textOriginal\": \"loved it\",\n              \"authorDisplayName\": \"VANJI'S WORLD\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/jX6fLq4YfTGlKntQrW3ayQYb50Jwep_OgTXWNqrmOto7WYoW_DI_U-Yov3C9wt20GAkKAkd9mFg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-11-25T07:51:54Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzi6T0o74PAcU6mUkJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"D_5T6KMTRb8\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzi6T0o74PAcU6mUkJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"It&#39;s somewhat similar to neuro-lab<br><br>Somewhat in terms of <br>template <br>UI<br><br><br>i think so🤔\",\n              \"textOriginal\": \"It's somewhat similar to neuro-lab\\n\\nSomewhat in terms of \\ntemplate \\nUI\\n\\n\\ni think so🤔\",\n              \"authorDisplayName\": \"ks23code\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Q7LpF373_9SNj7oUNniIlPhpz3YEpkPypQmDP1HO_1w85S-uCxl39R-pINIrBb5bOSkfGxAE=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-11-19T00:38:46Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzDo9Lblc-9nP7wk194AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"D_5T6KMTRb8\",\n          \"topLevelComment\": {\n            \"id\": \"UgzDo9Lblc-9nP7wk194AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Great to watch this video. Thanks for sharing this\",\n              \"textOriginal\": \"Great to watch this video. Thanks for sharing this\",\n              \"authorDisplayName\": \"Khaled Saifullah\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR2LCrPxVzd5OC-5Ev_ZM1kIe3CNK1K8rdGI03-hA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-11-18T15:56:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"2kkUAyG6GtA\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxQ0ey4Bebl1bWUb214AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"2kkUAyG6GtA\",\n          \"topLevelComment\": {\n            \"id\": \"UgxQ0ey4Bebl1bWUb214AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"More videos on codespaces. Please do a complete codespaces course\",\n              \"textOriginal\": \"More videos on codespaces. Please do a complete codespaces course\",\n              \"authorDisplayName\": \"Khant Sithu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/MIQrdhaXC-SJLWSGBFB6aVs0ZqVHA-TMNWQDN94Iz7fKkAPZy3h_d1P7VBkdwDgu2gm3jdli6Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-16T06:02:16Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz8PaugEJDgJX8dL7d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"2kkUAyG6GtA\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz8PaugEJDgJX8dL7d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello! Your videos are very helpful. Please make a video on Tata Steel TomorrowLab which has both idea and design challenges. Will be very helpful to understand and participate\",\n              \"textOriginal\": \"Hello! Your videos are very helpful. Please make a video on Tata Steel TomorrowLab which has both idea and design challenges. Will be very helpful to understand and participate\",\n              \"authorDisplayName\": \"Ananyaa Mehra\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTZlIoO__RCYVmy2ZK9i7y1T1CAWilqQzXTcuDu-I4IAyXGzRD3rn9ipv3EI1am=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-11-30T14:09:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwRwsSb71uZcDM0TaJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"2kkUAyG6GtA\",\n          \"topLevelComment\": {\n            \"id\": \"UgwRwsSb71uZcDM0TaJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hlw sir  <br>I am diploma( mechanical )paas out . Can i do full stack developer course ?. After the course  do i get a job .\",\n              \"textOriginal\": \"Hlw sir  \\nI am diploma( mechanical )paas out . Can i do full stack developer course ?. After the course  do i get a job .\",\n              \"authorDisplayName\": \"Anil Behera\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSlpUQK4wtPhIVqkeQVwpRI6yWP91cOmA3hTIwcBQs=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-29T16:18:43Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzGKMcVgdHvqlgbGX54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"2kkUAyG6GtA\",\n          \"topLevelComment\": {\n            \"id\": \"UgzGKMcVgdHvqlgbGX54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hey, can we add git action in git codespaces &amp; how codespace is different from docker because all the work we do is already done in docker image, etc node -v, config &amp; so on... please answer my query?\",\n              \"textOriginal\": \"Hey, can we add git action in git codespaces & how codespace is different from docker because all the work we do is already done in docker image, etc node -v, config & so on... please answer my query?\",\n              \"authorDisplayName\": \"Taha Ahmed khan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTatdwNmWVNRs6o39jOUeO6AVzwQbnq0zE3Tw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-27T21:55:47Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwgVfcME7Mi-7gc9Zx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"2kkUAyG6GtA\",\n          \"topLevelComment\": {\n            \"id\": \"UgwgVfcME7Mi-7gc9Zx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir , what do u think about locofy? Are Frontend Web developers going to lose their jobs?\",\n              \"textOriginal\": \"Sir , what do u think about locofy? Are Frontend Web developers going to lose their jobs?\",\n              \"authorDisplayName\": \"MOON Reels\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/_Z25CkEiUZEw8Ann4k3rtGBXuPrLKIFxAOQjaR2PYhuCFMTA_n6K4gaI13XI41rpXpMj7LMBau0=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-25T19:08:08Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy4SemWHVdow6cnkwZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"2kkUAyG6GtA\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy4SemWHVdow6cnkwZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Greetings!!🙏\",\n              \"textOriginal\": \"Greetings!!🙏\",\n              \"authorDisplayName\": \"Rishi Raj\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTTSELBkqZHa16Ra4q7EkD7TjnNt89PBJbFGmYI1uzMfb2AMH3TBHo4ZdUs7JV2=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-11-25T13:51:10Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzsS5qJnsL7pjLkx4d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"2kkUAyG6GtA\",\n          \"topLevelComment\": {\n            \"id\": \"UgzsS5qJnsL7pjLkx4d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"hello sir <br>can you share your vs code theme\",\n              \"textOriginal\": \"hello sir \\ncan you share your vs code theme\",\n              \"authorDisplayName\": \"Raj Narayan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTMadY047QU3boPymV7X7y0WvDygikQN4vJ1VllqA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-25T13:40:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugyy5L1DCkwxaPO0FD54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"2kkUAyG6GtA\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyy5L1DCkwxaPO0FD54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"🥰🥰\",\n              \"textOriginal\": \"🥰🥰\",\n              \"authorDisplayName\": \"Magesh P\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/TkZDB5GbjnKmlNVv34py_iCtahf2sP-sy9q8VqjePbX7b6OIJIGy1tw3Xd3lsmOzarihQZ-x=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-25T13:30:44Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"rr9cI4u1_88\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxI1bVX42PjH2oQ4vh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rr9cI4u1_88\",\n          \"topLevelComment\": {\n            \"id\": \"UgxI1bVX42PjH2oQ4vh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hey Hitesh, thank you for making this video. I have watched a lot of docker tutorials, this is my favorite one so far. You digested so much information to this. Good Job 🤟\",\n              \"textOriginal\": \"Hey Hitesh, thank you for making this video. I have watched a lot of docker tutorials, this is my favorite one so far. You digested so much information to this. Good Job 🤟\",\n              \"authorDisplayName\": \"lil fuss\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTe6OL6ahFGJLG39FdOFkcLRmaxEc5b2QOMnh0RbxM=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-17T18:09:07Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy8QA0azp8tYaom_pN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rr9cI4u1_88\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy8QA0azp8tYaom_pN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"If you&#39;re having trouble connecting mongo-express at <a href=\\\"https://www.youtube.com/watch?v=rr9cI4u1_88&amp;t=1h29m00s\\\">1:29:00</a>, try changing CONFIG_MONGODB_ADMINUSERNAME=admin and adding a --restart flag like this:<br><br>docker run -d \\\\<br>-p 8081:8081 \\\\<br>-e ME_CONFIG_MONGODB_ADMINUSER=admin \\\\<br>-e ME_CONFIG_MONGODB_ADMINPASSWORD=password \\\\<br>-e ME_CONFIG_MONGODB_SERVER=mongodb \\\\<br>--net mongo-network \\\\<br>--name mongo-express \\\\<br>--restart always \\\\<br>mongo-express\",\n              \"textOriginal\": \"If you're having trouble connecting mongo-express at 1:29:00, try changing CONFIG_MONGODB_ADMINUSERNAME=admin and adding a --restart flag like this:\\n\\ndocker run -d \\\\\\n-p 8081:8081 \\\\\\n-e ME_CONFIG_MONGODB_ADMINUSER=admin \\\\\\n-e ME_CONFIG_MONGODB_ADMINPASSWORD=password \\\\\\n-e ME_CONFIG_MONGODB_SERVER=mongodb \\\\\\n--net mongo-network \\\\\\n--name mongo-express \\\\\\n--restart always \\\\\\nmongo-express\",\n              \"authorDisplayName\": \"William Casey\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTFhxvE4OunQHJuZhopRNXXxhj4J4QzviL6JkRpQA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-19T16:22:12Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx1zKck9WHr-FLuej54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rr9cI4u1_88\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx1zKck9WHr-FLuej54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi Hitesh, first of all thanks a lot for the video, I was able to understand everything you said,<br>I was wondering which extension or plugin or software were you using for the suggestion feature in the terminal, and is it available for windows and linux ?\",\n              \"textOriginal\": \"Hi Hitesh, first of all thanks a lot for the video, I was able to understand everything you said,\\nI was wondering which extension or plugin or software were you using for the suggestion feature in the terminal, and is it available for windows and linux ?\",\n              \"authorDisplayName\": \"Saurabh Yelmame\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/PrbMTe9_5EL7MrvP77ScUeBhnTT_d4cso-Se_feIspIVE-JDgeTIXfth2oMbLobcheVFLszE1w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-06-10T11:24:38Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwKPtR6dtOec8j_fV94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rr9cI4u1_88\",\n          \"topLevelComment\": {\n            \"id\": \"UgwKPtR6dtOec8j_fV94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Finished my Docker course from Code with Mosh and some are outdated. So will be taking a look at this. Would be better if there was a table of contents\",\n              \"textOriginal\": \"Finished my Docker course from Code with Mosh and some are outdated. So will be taking a look at this. Would be better if there was a table of contents\",\n              \"authorDisplayName\": \"BRANCORE\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/YXM3pNjudu0RiJG53idU6Epklkr6Gg3xI2iAaMXagFGrYyfj-n_3iXORbasvpX62Ag2CfPLnag=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-09T03:16:18Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw4BH8RT9dj4qsEXXV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rr9cI4u1_88\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw4BH8RT9dj4qsEXXV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"The only thing missing are timestamps ;-(\",\n              \"textOriginal\": \"The only thing missing are timestamps ;-(\",\n              \"authorDisplayName\": \"Amrit Dhandharia\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSD7DkYiZwHwysJPhNu1LaEm_7O-T4CfS2oWmjLBg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-06-03T21:20:08Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxGE6PoYWn4_U3DPQx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rr9cI4u1_88\",\n          \"topLevelComment\": {\n            \"id\": \"UgxGE6PoYWn4_U3DPQx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"When I change the volume name to something new and restart the containers, the frontend still shows data from old volume.\",\n              \"textOriginal\": \"When I change the volume name to something new and restart the containers, the frontend still shows data from old volume.\",\n              \"authorDisplayName\": \"Sujith S\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQtv3fjlNUZ58av9DBtZvG8MjcQKs6cSJhdTxS6yis=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-21T19:22:19Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyrDmp8D3-eA8nS6hB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rr9cI4u1_88\",\n          \"topLevelComment\": {\n            \"id\": \"UgyrDmp8D3-eA8nS6hB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"you&#39;re the only indian that i love in india ❤\",\n              \"textOriginal\": \"you're the only indian that i love in india ❤\",\n              \"authorDisplayName\": \"idk know\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT7DH2HkrQzr1DPiDtHMX14h61nMTU3xATLond6_Go6d495rVYhS5IpSk8rXfye=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-21T16:42:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyBsWZGL0JyAihnBd94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rr9cI4u1_88\",\n          \"topLevelComment\": {\n            \"id\": \"UgyBsWZGL0JyAihnBd94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"how you get that dropdown on your terminal\",\n              \"textOriginal\": \"how you get that dropdown on your terminal\",\n              \"authorDisplayName\": \"Coding Made Simplified\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/LFhBke6IqA8KgfZ_raY3idjM_QCKLxicNlAgDgKx7P-uZXqpgOAdY_NuE_z4HeWLpqyzdAsGKw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-21T13:51:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyDeli4FND5C5B6vXN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rr9cI4u1_88\",\n          \"topLevelComment\": {\n            \"id\": \"UgyDeli4FND5C5B6vXN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Nice bhai\",\n              \"textOriginal\": \"Nice bhai\",\n              \"authorDisplayName\": \"Data Report\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/42uiI0FNFyGBja4MCgqTDB3Sq5oiCYZ3nb7rtS2u_dh1jXFntxyaN4TKNiRRe-mjC6ePr7FAxSk=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-20T03:27:19Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgziQWeufWMqy3p5Fpd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rr9cI4u1_88\",\n          \"topLevelComment\": {\n            \"id\": \"UgziQWeufWMqy3p5Fpd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi<br><br>docker run -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME:admin -e MONGO_INITDB_ROOT_PASSWORD:password --name mongodb --net mongo-network -d mongo\\r<br>f5d04d7b730f457f0811d21a7452eb726f38c1c5783431a6813c3b860da12f9c\\r<br>docker: Error response from daemon: network mongo-network not found.\\r<br><br>Please can you advise how to correct this\",\n              \"textOriginal\": \"Hi\\n\\ndocker run -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME:admin -e MONGO_INITDB_ROOT_PASSWORD:password --name mongodb --net mongo-network -d mongo\\r\\nf5d04d7b730f457f0811d21a7452eb726f38c1c5783431a6813c3b860da12f9c\\r\\ndocker: Error response from daemon: network mongo-network not found.\\r\\n\\nPlease can you advise how to correct this\",\n              \"authorDisplayName\": \"Santosh Gangal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/dPyODuLQYK7w8-Dk4-HyrLeNtOGkXzir6mzm0US62nuajr-R75EFpOL5s_m6PfIxSpO9LkhQ9w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-08T11:02:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwuIs8QzVvAiuSxvMd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rr9cI4u1_88\",\n          \"topLevelComment\": {\n            \"id\": \"UgwuIs8QzVvAiuSxvMd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Amazing Explanation with every bit of details. Thanks so much. Love to get more videos on Docker. Salute\",\n              \"textOriginal\": \"Amazing Explanation with every bit of details. Thanks so much. Love to get more videos on Docker. Salute\",\n              \"authorDisplayName\": \"Santosh Gangal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/dPyODuLQYK7w8-Dk4-HyrLeNtOGkXzir6mzm0US62nuajr-R75EFpOL5s_m6PfIxSpO9LkhQ9w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-08T05:54:14Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyN7qrifqc7URG2BuV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"rr9cI4u1_88\",\n          \"topLevelComment\": {\n            \"id\": \"UgyN7qrifqc7URG2BuV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"https://www.youtube.com/watch?v=rr9cI4u1_88&amp;t=1h16m55s\\\">1:16:55</a> First Create network and then use that network<br><br>docker network create -d bridge your_network_name\",\n              \"textOriginal\": \"1:16:55 First Create network and then use that network\\n\\ndocker network create -d bridge your_network_name\",\n              \"authorDisplayName\": \"Parit Bhardwaj\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/TQ2A5NMCa0eWjvAwIMKvUPLzsCJb8WAHU57iU1b8ZwI48W0thYcOEZJvnHPf9gH0z7zhiFq-=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-30T14:36:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"7XDeI5fyj3w\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugxk89Z-2RXY1ucSUIR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"7XDeI5fyj3w\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxk89Z-2RXY1ucSUIR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"so basically I have to watch this video every time.\",\n              \"textOriginal\": \"so basically I have to watch this video every time.\",\n              \"authorDisplayName\": \"Amber Ahmed\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS8srhzOXcctIoF6FLeV3EbMi-zhNMgO1Yw3A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-15T09:56:23Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxkktPim7lgIdEOB3x4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"7XDeI5fyj3w\",\n          \"topLevelComment\": {\n            \"id\": \"UgxkktPim7lgIdEOB3x4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi Hitesh - is there e any way where the dokcer desktop K8s  cluster be clubbed with AWS or any cloud - if yes kindly share link or steps to do so. Thanks\",\n              \"textOriginal\": \"Hi Hitesh - is there e any way where the dokcer desktop K8s  cluster be clubbed with AWS or any cloud - if yes kindly share link or steps to do so. Thanks\",\n              \"authorDisplayName\": \"mohit tandon\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSokXb58rhlsB3vhuEruguqxSnJzw2fMkt41g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-23T11:31:48Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw3jIHi0RTNxNQwInF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"7XDeI5fyj3w\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw3jIHi0RTNxNQwInF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Super thank you. Your k8s tutorial is one of  the best and direct to the point tutorial i&#39;ve seen so far in youtube.\",\n              \"textOriginal\": \"Super thank you. Your k8s tutorial is one of  the best and direct to the point tutorial i've seen so far in youtube.\",\n              \"authorDisplayName\": \"Memes Daily\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTlxYRBUrBiOw6XukuDtoIDqQkfa6emO6B_7XE8=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-15T15:46:46Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw9V4jUoUNFI690XcV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"7XDeI5fyj3w\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw9V4jUoUNFI690XcV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi sir, I have one doubt regarding this video, actually mern consists of mongo db, react, nodejs, express, but i couldn&#39;t see any react in this video?Can we still say it a mern app ? Can you please correct me if I am wrong?\",\n              \"textOriginal\": \"Hi sir, I have one doubt regarding this video, actually mern consists of mongo db, react, nodejs, express, but i couldn't see any react in this video?Can we still say it a mern app ? Can you please correct me if I am wrong?\",\n              \"authorDisplayName\": \"Abhishek M S\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSBHhiUTWD1LsYYpLPJwgev6oVlre4R-4rPNkxh-w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-27T10:54:04Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgznASqdR9rBzrpX2QN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"7XDeI5fyj3w\",\n          \"topLevelComment\": {\n            \"id\": \"UgznASqdR9rBzrpX2QN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"really really good example\",\n              \"textOriginal\": \"really really good example\",\n              \"authorDisplayName\": \"TechTalks\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/jlDKlPlWjHI-5MzsHCvY3g9cquFpbUk2XdOxHFdd99ayfvejxwJc50Q4EdM8jxTnZScmsj4z=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-22T17:47:47Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgynmYKq_uQfGsNa5Xd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"7XDeI5fyj3w\",\n          \"topLevelComment\": {\n            \"id\": \"UgynmYKq_uQfGsNa5Xd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir everytime i run it with ec2 instance type t2.micro, t2.nano or t3.micro , minikube always fails to run due to space error given below, which ubuntu instance type should i take ???<br><br>Exiting due to RSRC_INSUFFICIENT_SYS_MEMORY: System only has 941MiB available, less than the required 1800MiB for Kubernetes\",\n              \"textOriginal\": \"Sir everytime i run it with ec2 instance type t2.micro, t2.nano or t3.micro , minikube always fails to run due to space error given below, which ubuntu instance type should i take ???\\n\\nExiting due to RSRC_INSUFFICIENT_SYS_MEMORY: System only has 941MiB available, less than the required 1800MiB for Kubernetes\",\n              \"authorDisplayName\": \"Arpit Saxena\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSCGKUZpw122YimVVcN6FlK2kxVjIFDn30NRPl2DZVB_Uecegb3FLIkWnrj1mTc=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-19T09:54:38Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgybDJSyv9bVLGYgDyR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"7XDeI5fyj3w\",\n          \"topLevelComment\": {\n            \"id\": \"UgybDJSyv9bVLGYgDyR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"How to setup in reactjs different url for api anyone explain\",\n              \"textOriginal\": \"How to setup in reactjs different url for api anyone explain\",\n              \"authorDisplayName\": \"Abhijeet Shikhar vlog\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/vDDAVjXy3LQ1a6_Kct1IskTkWNNKn3ULYg3D4I-K11bywxW5rybwy2HPHXjIdnTVHEMTNDQN2kk=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-04T17:53:38Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzE4SCezohyNw7xLSB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"7XDeI5fyj3w\",\n          \"topLevelComment\": {\n            \"id\": \"UgzE4SCezohyNw7xLSB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hitesh thank you so much for this valuable content. I was searching for a better content to get the exposure to this Kubernetes but lot of the places starts with highly indepth theoritical parts which incase reduces the interest little bit. But after watching this I got the high-level picture on how the things connected to each other and now it makes lots of sense to refer to those in-depth parts. So thank you so much again for this. I love the way you explain things. Thanks\",\n              \"textOriginal\": \"Hitesh thank you so much for this valuable content. I was searching for a better content to get the exposure to this Kubernetes but lot of the places starts with highly indepth theoritical parts which incase reduces the interest little bit. But after watching this I got the high-level picture on how the things connected to each other and now it makes lots of sense to refer to those in-depth parts. So thank you so much again for this. I love the way you explain things. Thanks\",\n              \"authorDisplayName\": \"Isuru Cumaranathunga\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/OpI7KeNou2juAZiO0gkLCmkqMHr3XxSBy-H3TkTXathvkfN7buMUdjsFQCiG-r-GsU6qakD-ELA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-02-19T15:05:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxyLSlewrYRUkrEsZJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"7XDeI5fyj3w\",\n          \"topLevelComment\": {\n            \"id\": \"UgxyLSlewrYRUkrEsZJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"did anyone else have running the app?<br><br>my mongo-express cant seem to connect to the mongodb database\",\n              \"textOriginal\": \"did anyone else have running the app?\\n\\nmy mongo-express cant seem to connect to the mongodb database\",\n              \"authorDisplayName\": \"isaiah Daniel\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQeM0BnGvjQt_CtOgkPkbDysnDg3nT7DB56E59poDiTjgxbt2JDOqKqENWMzI_Y=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-18T01:07:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyYlD3XX4_tAjow21d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"7XDeI5fyj3w\",\n          \"topLevelComment\": {\n            \"id\": \"UgyYlD3XX4_tAjow21d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"itni english  aati to ache lg se ni pad lete\",\n              \"textOriginal\": \"itni english  aati to ache lg se ni pad lete\",\n              \"authorDisplayName\": \"Thenical Vines\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTTNcCnKGYNMSgq72ROZbnHeNmt7B_fMdsaVRvOnA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-18T08:03:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyxHJl_8XsKiA78y2J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"7XDeI5fyj3w\",\n          \"topLevelComment\": {\n            \"id\": \"UgyxHJl_8XsKiA78y2J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"bhai gaon walo se nafarat he kya jo hindi me nahi bolte\",\n              \"textOriginal\": \"bhai gaon walo se nafarat he kya jo hindi me nahi bolte\",\n              \"authorDisplayName\": \"Thenical Vines\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTTNcCnKGYNMSgq72ROZbnHeNmt7B_fMdsaVRvOnA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-18T08:02:42Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzc_KddowSwqnOi2-J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"7XDeI5fyj3w\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzc_KddowSwqnOi2-J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"mke more project\",\n              \"textOriginal\": \"mke more project\",\n              \"authorDisplayName\": \"Thenical Vines\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTTNcCnKGYNMSgq72ROZbnHeNmt7B_fMdsaVRvOnA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-17T09:13:56Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"FpfHmAkRVK4\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"nextPageToken\": \"QURTSl9pMlprZkt0bEpnVlctVHl1U0dqV1dQeFp0U2xRNTRCT3RoSjNjNS1iUkdESDFmTjNoclJEREhIdDRrYVJ0aEF3U0tPOFZhckplQQ==\",\n    \"items\": [\n      {\n        \"id\": \"Ugzd95OeQBqVIBHbPoV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"FpfHmAkRVK4\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzd95OeQBqVIBHbPoV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Notes file not opening\",\n              \"textOriginal\": \"Notes file not opening\",\n              \"authorDisplayName\": \"Rohan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/6gQx8Hk7NlnVx9lO9xSk8BS3ufKDZwnr7vtH-eM20LEgusZT2-ddgYXNEQz0lXw9p2nf-2HYqA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-21T09:33:41Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz81I7fmJueggLxi6J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"FpfHmAkRVK4\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz81I7fmJueggLxi6J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I can&#39;t open notes\",\n              \"textOriginal\": \"I can't open notes\",\n              \"authorDisplayName\": \"Rohan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/6gQx8Hk7NlnVx9lO9xSk8BS3ufKDZwnr7vtH-eM20LEgusZT2-ddgYXNEQz0lXw9p2nf-2HYqA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-21T09:33:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgykZ2-DURDk2ubQGBd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"FpfHmAkRVK4\",\n          \"topLevelComment\": {\n            \"id\": \"UgykZ2-DURDk2ubQGBd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks 🙏❤ Sir 🙏❤\",\n              \"textOriginal\": \"Thanks 🙏❤ Sir 🙏❤\",\n              \"authorDisplayName\": \"Jagat krishna\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRZIYt7cVrV1jli7JCcsdJsIzh8P8AYw97xgw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-29T17:09:48Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxLEazzIqZhQHQbCH54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"FpfHmAkRVK4\",\n          \"topLevelComment\": {\n            \"id\": \"UgxLEazzIqZhQHQbCH54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi sir can you pleasse tell is this the same c++ course which is avaliable on learncodeonline ?\",\n              \"textOriginal\": \"Hi sir can you pleasse tell is this the same c++ course which is avaliable on learncodeonline ?\",\n              \"authorDisplayName\": \"asha dhatrak\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQl2bwb2KZAIAL5roTeGw7TLSOGPOPxUneHXA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-20T19:33:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz9jmHV296r9wbFef54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"FpfHmAkRVK4\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz9jmHV296r9wbFef54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"It will be much more beneficial for average students if you make this video in Hinglish Language!..\",\n              \"textOriginal\": \"It will be much more beneficial for average students if you make this video in Hinglish Language!..\",\n              \"authorDisplayName\": \"Ujjwal Kumar Srivastava\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRj8WgMe-qeOHC0ITpgCuJEDxIqizOt79G7DM-VfA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-19T14:08:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwED7c4n-6sFHzN--N4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"FpfHmAkRVK4\",\n          \"topLevelComment\": {\n            \"id\": \"UgwED7c4n-6sFHzN--N4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"can we have notes of this course\",\n              \"textOriginal\": \"can we have notes of this course\",\n              \"authorDisplayName\": \"Arya Chowkekar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/xcc-xMjZjq8mdEF1Bv07gP2sSwwjPrnwhfwNP9Z7YCGrFlKr-P8x7gzlvFF7MegxFPcpnbVeStQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-19T08:45:26Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgycQLHpqb6bPhsxXMd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"FpfHmAkRVK4\",\n          \"topLevelComment\": {\n            \"id\": \"UgycQLHpqb6bPhsxXMd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"https://www.youtube.com/watch?v=FpfHmAkRVK4&amp;t=00h55m22s\\\">00:55:22</a>\",\n              \"textOriginal\": \"00:55:22\",\n              \"authorDisplayName\": \"Avakash Rajkonwar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQqQovGQzjlBgRJb9erOpWrjgWFEljqT_e82a1s=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-18T19:07:43Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxYtFxwZRC4sII7LsV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"FpfHmAkRVK4\",\n          \"topLevelComment\": {\n            \"id\": \"UgxYtFxwZRC4sII7LsV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"https://www.youtube.com/watch?v=FpfHmAkRVK4&amp;t=15m00s\\\">15:00</a>\",\n              \"textOriginal\": \"15:00\",\n              \"authorDisplayName\": \"왕자우주\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS-_-C18mYkFauq-CR9v3yiJ-zkM38Y9RGCmQ77Mg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-17T09:43:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzWtU4HHcpA1WioUE94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"FpfHmAkRVK4\",\n          \"topLevelComment\": {\n            \"id\": \"UgzWtU4HHcpA1WioUE94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I request you please build chai with Java,  as like as chai with JavaScript. If you have a time Hitesh Sir. Eagerly waiting for your Java Tutorial Hitesh Sir............\",\n              \"textOriginal\": \"I request you please build chai with Java,  as like as chai with JavaScript. If you have a time Hitesh Sir. Eagerly waiting for your Java Tutorial Hitesh Sir............\",\n              \"authorDisplayName\": \"EngineerSampat Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRvDgYzzVvUzn47KcSFJsc-9vuXcWVQNZO2MiCfEw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-06-15T01:56:26Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy8RQEIOlfOJqMHdgl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"FpfHmAkRVK4\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy8RQEIOlfOJqMHdgl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you sir.\",\n              \"textOriginal\": \"Thank you sir.\",\n              \"authorDisplayName\": \"Prashanth Shivanna\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRoqNOk9Jdv8fjhEVvkM3Ok6UfTV_SuHbTZgXQF0t4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-02T05:42:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugya_bSmujlv4YiLzgJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"FpfHmAkRVK4\",\n          \"topLevelComment\": {\n            \"id\": \"Ugya_bSmujlv4YiLzgJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"https://www.youtube.com/watch?v=FpfHmAkRVK4&amp;t=1h04m00s\\\">1:04:00</a> minu\",\n              \"textOriginal\": \"1:04:00 minu\",\n              \"authorDisplayName\": \"Mayur Sharma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/vNlhZ18pQfsRkotStnfm6rtVrHIFcXOQ6YlhQ1x8Oa3olX_Hz17_s201Yl0SS0mihIyD2nS8xA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-31T19:24:50Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy4cRlro2pp-0_BBYV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"FpfHmAkRVK4\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy4cRlro2pp-0_BBYV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"somehow this video were not get noticed by the youtube algorithm, i did&#39;nt know that this channel have this c++ video until i visited channel and browse directly to the playlists.<br>Maybe Hitesh should put better SEO keywords in the description.<br>i suspect using the word &quot;Cpp&quot; does not trigger the algorithm, try to use &quot;C++&quot; instead\",\n              \"textOriginal\": \"somehow this video were not get noticed by the youtube algorithm, i did'nt know that this channel have this c++ video until i visited channel and browse directly to the playlists.\\nMaybe Hitesh should put better SEO keywords in the description.\\ni suspect using the word \\\"Cpp\\\" does not trigger the algorithm, try to use \\\"C++\\\" instead\",\n              \"authorDisplayName\": \"chris plusplus\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRPIGGj_jbHqTbG3JYSW5N_EXlvMIKcaZ__2LHB=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-24T07:25:47Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      }\n    ]\n  },\n  \"X88dsegH0-Y\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyH8HqrChL19EwMvw94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"X88dsegH0-Y\",\n          \"topLevelComment\": {\n            \"id\": \"UgyH8HqrChL19EwMvw94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello sir<br>I tried to set up the codespace and created a codes pace with repository<br><br>But I am unable to open the environment <br>It always showing <br>setting up the environment <br><br><br>Why is it doing like that\",\n              \"textOriginal\": \"Hello sir\\nI tried to set up the codespace and created a codes pace with repository\\n\\nBut I am unable to open the environment \\nIt always showing \\nsetting up the environment \\n\\n\\nWhy is it doing like that\",\n              \"authorDisplayName\": \"19-5C5- AR. BHARADWAJ\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT_ktuiM66dUovYGSVutN2p5-1yRQjdmRqYbw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-04T14:21:25Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzbtkf97yMBtGGPNHB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"X88dsegH0-Y\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzbtkf97yMBtGGPNHB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"How can i connect mongodb compass and codespace\",\n              \"textOriginal\": \"How can i connect mongodb compass and codespace\",\n              \"authorDisplayName\": \"SATYA PRAKASH SINGH\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQrFLwZAfpsDgxKeJm33psl5Oj_i8RXIyt3b3zEjQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-24T14:47:43Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzyjAew69jKsVRIpep4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"X88dsegH0-Y\",\n          \"topLevelComment\": {\n            \"id\": \"UgzyjAew69jKsVRIpep4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Just so we’re on the same page, the password section in the codespaces env was our mongo login password??!!\",\n              \"textOriginal\": \"Just so we’re on the same page, the password section in the codespaces env was our mongo login password??!!\",\n              \"authorDisplayName\": \"Nishant Kumar Giri\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRg01p0TFkpJs32VJtYSjNbisEf-CghL9Kczd1Z=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-25T21:08:28Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz_F0X7_NXtt9hWlp54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"X88dsegH0-Y\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz_F0X7_NXtt9hWlp54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello , you never replied to me. Since your devops course already started, can we still enrolled? Thank you\",\n              \"textOriginal\": \"Hello , you never replied to me. Since your devops course already started, can we still enrolled? Thank you\",\n              \"authorDisplayName\": \"Blomvi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/TOSPz4lOBiF65yFPd8cQa6mKlFqX7tmmJX15u2rBMdt6zhoavxoBBGlL8rJK2vmYWyPJef3w3w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-11-20T23:07:21Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyRyr-GBFLY7-Q-d0V4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"X88dsegH0-Y\",\n          \"topLevelComment\": {\n            \"id\": \"UgyRyr-GBFLY7-Q-d0V4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir , I&#39;m looking for Cloud and devops course through intellipaat so it&#39;s good or not  lz reply me sir\",\n              \"textOriginal\": \"Sir , I'm looking for Cloud and devops course through intellipaat so it's good or not  lz reply me sir\",\n              \"authorDisplayName\": \"Aria Jaki\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR9311E5Dx9AdwBYjrXN_HVpzhQj1qjiuRVTQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-11-18T09:42:10Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy_5J4FNxWHKWEAEOp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"X88dsegH0-Y\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy_5J4FNxWHKWEAEOp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Why are you not uploading Go Lang tutorials anymore? It&#39;s a good language after all\",\n              \"textOriginal\": \"Why are you not uploading Go Lang tutorials anymore? It's a good language after all\",\n              \"authorDisplayName\": \"Electrolyte Orb\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSz_rTN9EufY868aAN0aXFIi_1PZSbqfIBqAfI-=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-17T14:05:14Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzbST_tKHmYxZqjY654AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"X88dsegH0-Y\",\n          \"topLevelComment\": {\n            \"id\": \"UgzbST_tKHmYxZqjY654AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello, sir. Your videos are very helpful. Can you please make a video on Hero Campus Challenge. I want to participate It will be very helpful for us.\",\n              \"textOriginal\": \"Hello, sir. Your videos are very helpful. Can you please make a video on Hero Campus Challenge. I want to participate It will be very helpful for us.\",\n              \"authorDisplayName\": \"pandu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQgt08X_SQIHV0-KFMi2EV-0hL2t2A9JE4q6ZmynJmSo4Uly1U752M0GG2bLLco=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-17T06:50:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxWnuHZeZm5ScWq3-V4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"X88dsegH0-Y\",\n          \"topLevelComment\": {\n            \"id\": \"UgxWnuHZeZm5ScWq3-V4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Your This language is just Amazing.\",\n              \"textOriginal\": \"Your This language is just Amazing.\",\n              \"authorDisplayName\": \"Aadarsh Singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/taFsntkPoMUIc70YAlZUvokhxlrYRFv-PT5pNMSaJoBGcC0hPHuA5oe6WD5EHYn1UUfN71Sz1Xg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-11-16T17:00:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugyk7swPDDzUIGId-Bx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"X88dsegH0-Y\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyk7swPDDzUIGId-Bx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi\",\n              \"textOriginal\": \"Hi\",\n              \"authorDisplayName\": \"Goutam Reddy\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Go24JPv3O2Pzj-FOgQQs4FwQOMGyqT-9M_-Ixgh7PFls7DRReL8Vl-DOO8Q0cLGM5UufbGiz=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-16T15:12:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwpohQA5MZhSvf-29J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"X88dsegH0-Y\",\n          \"topLevelComment\": {\n            \"id\": \"UgwpohQA5MZhSvf-29J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello\",\n              \"textOriginal\": \"Hello\",\n              \"authorDisplayName\": \"nageswararao a\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR6AJwxd2l9xLL7vQ2Y1pJhdEp7wQh01zj3FoU1Pg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-16T14:34:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"pqjjNIrDyQk\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxByxxqv3MsFGYKlzZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"pqjjNIrDyQk\",\n          \"topLevelComment\": {\n            \"id\": \"UgxByxxqv3MsFGYKlzZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello sir, your videos are so informative. Can you please make a video on Hero Campus Challenge (Season 8)? I want to register for that and work in Hero.\",\n              \"textOriginal\": \"Hello sir, your videos are so informative. Can you please make a video on Hero Campus Challenge (Season 8)? I want to register for that and work in Hero.\",\n              \"authorDisplayName\": \"Chhavi Joshi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSSFI4P_Vx9W5Rf8VMge3Hk1Wk722X3SQkx7QXwwqEucSwmay-7knXDIIxcv0WP=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-23T09:21:00Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxogfeoQCOMtKbENdV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"pqjjNIrDyQk\",\n          \"topLevelComment\": {\n            \"id\": \"UgxogfeoQCOMtKbENdV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"thanks a lot sir, but why can&#39;t you make a complete series of this authentication process. will be appreciated sir\",\n              \"textOriginal\": \"thanks a lot sir, but why can't you make a complete series of this authentication process. will be appreciated sir\",\n              \"authorDisplayName\": \"Abubakar Muhammed Ala\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Vx6ddhXLJZTeyxvZjT_INGheNzbXJ8OO9POKNqeCPuJ46mDyMdaxdCCza0UmO3zGtHO1X_frPQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-11-22T05:46:55Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxH1qmO2ys-Zr5HKvh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"pqjjNIrDyQk\",\n          \"topLevelComment\": {\n            \"id\": \"UgxH1qmO2ys-Zr5HKvh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Useful\",\n              \"textOriginal\": \"Useful\",\n              \"authorDisplayName\": \"Arunkumar.R\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/DvYN56aUT7DeUzVFvrK3TKdXakcXDp1tVH1H0LAYhhF4Lkoq17nZlNtw0zWI4qmAOTQtQnU2Mw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-11-21T16:48:32Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgwF7OTHsHnh9nBBmAt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"pqjjNIrDyQk\",\n          \"topLevelComment\": {\n            \"id\": \"UgwF7OTHsHnh9nBBmAt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello sir, what an excellent tutorial but is this a random tutorial or a series of tutorials for nodejs cause I would like to know how the token works\",\n              \"textOriginal\": \"Hello sir, what an excellent tutorial but is this a random tutorial or a series of tutorials for nodejs cause I would like to know how the token works\",\n              \"authorDisplayName\": \"Abubakar SG\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQHqiQ_o9OaSrtXD9lVOIejV7ChWCrHi6qNbBU=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-21T16:44:54Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugwz_a1LOd8HdZM4M3B4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"pqjjNIrDyQk\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwz_a1LOd8HdZM4M3B4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir, why don&#39;t you start a mern stack course which is project based plus some aws and docker thing included in it\",\n              \"textOriginal\": \"sir, why don't you start a mern stack course which is project based plus some aws and docker thing included in it\",\n              \"authorDisplayName\": \"सत्यम्\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSNPOynRpgCMBmQ_KdOqOGxt19SdYLz0o1muHgK=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 3,\n              \"publishedAt\": \"2022-11-21T13:38:00Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgyZI3wIiBnUOYEpUV94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"pqjjNIrDyQk\",\n          \"topLevelComment\": {\n            \"id\": \"UgyZI3wIiBnUOYEpUV94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Liked,<br>Comment added,<br>Shared<br>Within first 5 seconds of upload <br><br>👍💯👍💯👍💯\",\n              \"textOriginal\": \"Liked,\\nComment added,\\nShared\\nWithin first 5 seconds of upload \\n\\n👍💯👍💯👍💯\",\n              \"authorDisplayName\": \"Rishi Raj\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTTSELBkqZHa16Ra4q7EkD7TjnNt89PBJbFGmYI1uzMfb2AMH3TBHo4ZdUs7JV2=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-21T13:31:50Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxkraio3OjgSqu0L1V4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"pqjjNIrDyQk\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxkraio3OjgSqu0L1V4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"👍💯💯\",\n              \"textOriginal\": \"👍💯💯\",\n              \"authorDisplayName\": \"Rishi Raj\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTTSELBkqZHa16Ra4q7EkD7TjnNt89PBJbFGmYI1uzMfb2AMH3TBHo4ZdUs7JV2=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-21T13:31:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"-8OEfGQPJ8c\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugy_sbKv-Y8ASDS7hCp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-8OEfGQPJ8c\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy_sbKv-Y8ASDS7hCp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"have a doubt..... does user.token=token won&#39;t store token into the DB ?\",\n              \"textOriginal\": \"have a doubt..... does user.token=token won't store token into the DB ?\",\n              \"authorDisplayName\": \"Prakhar Sinha\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSJD5i7pz3ccnJP9sN99oaTBSQq1B0U_S-ghgGZRg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-04T17:59:41Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyUSAHJeUvfrDtoQ194AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-8OEfGQPJ8c\",\n          \"topLevelComment\": {\n            \"id\": \"UgyUSAHJeUvfrDtoQ194AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Ctrl + Tab -  move forward in browser @<a href=\\\"https://www.youtube.com/watch?v=-8OEfGQPJ8c&amp;t=1m39s\\\">1:39</a><br>Ctrl + Sh + Tab - Move Backward<br>a small contribution in this video 😄\",\n              \"textOriginal\": \"Ctrl + Tab -  move forward in browser @1:39\\nCtrl + Sh + Tab - Move Backward\\na small contribution in this video 😄\",\n              \"authorDisplayName\": \"chandan kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ8GPlG25yBT4JTGnYsE8m6mDeISk7x9MSJfT8AFw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-06-13T14:06:56Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugzup1rRs0PU6UaAp0h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-8OEfGQPJ8c\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzup1rRs0PU6UaAp0h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"is it important to create jwt token both time while we are registering and login? is this create different token both time ?\",\n              \"textOriginal\": \"is it important to create jwt token both time while we are registering and login? is this create different token both time ?\",\n              \"authorDisplayName\": \"Sandeep_ Khariwal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ_QJeicMNMk0cd5OOvfvD4wuXocSjOU50rjQPZWA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-26T05:47:26Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzF4iwe9dHqkoyt2oh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-8OEfGQPJ8c\",\n          \"topLevelComment\": {\n            \"id\": \"UgzF4iwe9dHqkoyt2oh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"here&#39;s the shortcut  : (ctrl + tab) to switch tabs\",\n              \"textOriginal\": \"here's the shortcut  : (ctrl + tab) to switch tabs\",\n              \"authorDisplayName\": \"Milind Mishra (Alt)\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/rVzIA56bimVxyU9JDfocm34T8TLaz7FdRMAZ-hwaHevPdLsJzxYzSFm3Z6YuBWUMxaxFn2vyE_Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-12-03T13:00:29Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyPYMmCpCoGYUok6c94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-8OEfGQPJ8c\",\n          \"topLevelComment\": {\n            \"id\": \"UgyPYMmCpCoGYUok6c94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thankyou 🙏, Great explanation\",\n              \"textOriginal\": \"Thankyou 🙏, Great explanation\",\n              \"authorDisplayName\": \"Partha Narra\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTxjU7LMfiXH-Odnv87KEy0IZJLE9uvOZyzCKO09epI1PGtizxyGO2eDAITdAUk=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-24T17:30:31Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxFSROJnFIEDRPdu0J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-8OEfGQPJ8c\",\n          \"topLevelComment\": {\n            \"id\": \"UgxFSROJnFIEDRPdu0J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Excellent👍 thank you\",\n              \"textOriginal\": \"Excellent👍 thank you\",\n              \"authorDisplayName\": \"Hichem Chouadria\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTm8MwxxtxZOApjJXl9PZnGUCViVbhf7SExQZCj=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-23T13:46:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxd5sVPGfNCmtJI1gN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-8OEfGQPJ8c\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxd5sVPGfNCmtJI1gN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir, completed HTML CSS, JAVASCRIPT, REACTJS,MERN STACK COURSE all by you   but as I&#39;m a fresher and don&#39;t have a btech degree,how do i find a job? Cause most ppl won&#39;t give a chance to a non btech  fresher. So any tips on what I should do next and how do i get my first job and gain experience ?\",\n              \"textOriginal\": \"Sir, completed HTML CSS, JAVASCRIPT, REACTJS,MERN STACK COURSE all by you   but as I'm a fresher and don't have a btech degree,how do i find a job? Cause most ppl won't give a chance to a non btech  fresher. So any tips on what I should do next and how do i get my first job and gain experience ?\",\n              \"authorDisplayName\": \"MOON Reels\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/_Z25CkEiUZEw8Ann4k3rtGBXuPrLKIFxAOQjaR2PYhuCFMTA_n6K4gaI13XI41rpXpMj7LMBau0=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-11-23T07:38:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzzlmLGTuS0kGOhkpF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-8OEfGQPJ8c\",\n          \"topLevelComment\": {\n            \"id\": \"UgzzlmLGTuS0kGOhkpF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"ctrl +tab - move to forward tab. \\r<br>ctrl+shft+tab - move to backward tab.\",\n              \"textOriginal\": \"ctrl +tab - move to forward tab. \\r\\nctrl+shft+tab - move to backward tab.\",\n              \"authorDisplayName\": \"Raj Kishan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSWoV13A0uI_MePbhRgx6iFpmGw_iF_TMbeG5N9sDw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-23T03:21:21Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx7sSp9TO9NDWA3PFF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-8OEfGQPJ8c\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx7sSp9TO9NDWA3PFF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I am facing one problem the cookie is stored if I make request using postman but in browser it&#39;s not getting stored in cookies\",\n              \"textOriginal\": \"I am facing one problem the cookie is stored if I make request using postman but in browser it's not getting stored in cookies\",\n              \"authorDisplayName\": \"Anas\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ci_fMbYQ92tfJwHTXykPs0tuYcFP2fJFa1atUkpPAmr9Ymm2L1C6YAo0CWFYdWclJLUP0SMb=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2022-11-22T16:46:28Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzCvFEEFB-pZ4NN_K54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-8OEfGQPJ8c\",\n          \"topLevelComment\": {\n            \"id\": \"UgzCvFEEFB-pZ4NN_K54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Use argon2 which is better than bcryptjs for modern world\",\n              \"textOriginal\": \"Use argon2 which is better than bcryptjs for modern world\",\n              \"authorDisplayName\": \"Vuyyururajashekar Reddy\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTeeNq0bVyDbxfHdQWEy2wOIf4w_NpUoRGvO-SxYQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2022-11-22T14:19:53Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyIdd77GsQzScPLJsx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-8OEfGQPJ8c\",\n          \"topLevelComment\": {\n            \"id\": \"UgyIdd77GsQzScPLJsx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I don&#39;t use cookie-parser I use just a method of 5-6 of code which provided by django docs. And it&#39;s sufficient 😅.\",\n              \"textOriginal\": \"I don't use cookie-parser I use just a method of 5-6 of code which provided by django docs. And it's sufficient 😅.\",\n              \"authorDisplayName\": \"Praveen Yadav\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQD794mr-vcddaQgi7lYX7q-wL0VEEeI3er6vj0ng=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2022-11-22T14:15:36Z\"\n            }\n          },\n          \"totalReplyCount\": 4\n        }\n      },\n      {\n        \"id\": \"UgxkockaKmV70xh5H7d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"-8OEfGQPJ8c\",\n          \"topLevelComment\": {\n            \"id\": \"UgxkockaKmV70xh5H7d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Awesome 😎\",\n              \"textOriginal\": \"Awesome 😎\",\n              \"authorDisplayName\": \"Anirban Mishra\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/H5Q00m8hPXg75YfnUKx3Vjm8sCDHE95zMsCah-uZLTovUSOLIoUIui-ZwVnVU8uAZwGolaJS4g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-22T13:46:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"4XaFk78WcyY\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyhtnoR5ktuQ3OqFYh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"4XaFk78WcyY\",\n          \"topLevelComment\": {\n            \"id\": \"UgyhtnoR5ktuQ3OqFYh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This was the most clear and simple explanation, please add two more videos like how we&#39;ll handle it on frontend side using good practices and a logout route, by the way Thanks a lot for providing this level of quality free of cost     <a href=\\\"http://www.youtube.com/results?search_query=%23hiteshrocks\\\">#HITESHROCKS</a>😎\",\n              \"textOriginal\": \"This was the most clear and simple explanation, please add two more videos like how we'll handle it on frontend side using good practices and a logout route, by the way Thanks a lot for providing this level of quality free of cost     #HITESHROCKS😎\",\n              \"authorDisplayName\": \"Sankalp Sachan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQB7N78TMZS3G334MmtyHEl72LmQmhyCpG4H-QJBCqrslffnPXP0NefvHMSvsrn=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-04T19:03:53Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyQiGZtbI0BxGoVsxx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"4XaFk78WcyY\",\n          \"topLevelComment\": {\n            \"id\": \"UgyQiGZtbI0BxGoVsxx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"ThankU<br><a href=\\\"about:invalid#zCSafez\\\"></a>\",\n              \"textOriginal\": \"ThankU\\n\",\n              \"authorDisplayName\": \"Victor\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/hYROfsAu9WKMNMHq7YP6NpgXeLSO5coyTRWXNaVeL1dIrMKT5pOPdIVrenpSxk5aneK0o6lAWQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-26T14:55:51Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyZAJGFQb9kkFQinC14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"4XaFk78WcyY\",\n          \"topLevelComment\": {\n            \"id\": \"UgyZAJGFQb9kkFQinC14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank u for this codespace video tutorial\",\n              \"textOriginal\": \"Thank u for this codespace video tutorial\",\n              \"authorDisplayName\": \"SHIVANSH PATEL\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTXfVHYEQ8En-kVJreuU3AMaGlQYCENq8EVeS6_ug=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-25T17:09:47Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx-1hmEUPnA9_ndai54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"4XaFk78WcyY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx-1hmEUPnA9_ndai54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Can you please share the git repo link?\",\n              \"textOriginal\": \"Can you please share the git repo link?\",\n              \"authorDisplayName\": \"Bhavesh garg\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQn3K9ToJXnWhx6xxnjwxbt3g-2-7pnzKuW_6GXOg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-24T13:26:46Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzVBMWlka_41e0Qkzx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"4XaFk78WcyY\",\n          \"topLevelComment\": {\n            \"id\": \"UgzVBMWlka_41e0Qkzx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Nice tutorial. I was expecting branches and PR.\",\n              \"textOriginal\": \"Nice tutorial. I was expecting branches and PR.\",\n              \"authorDisplayName\": \"Goutam Reddy\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Go24JPv3O2Pzj-FOgQQs4FwQOMGyqT-9M_-Ixgh7PFls7DRReL8Vl-DOO8Q0cLGM5UufbGiz=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-23T15:59:17Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw_TW0gUOtCO7oeNH14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"4XaFk78WcyY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw_TW0gUOtCO7oeNH14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Really helpful thanku hitesh\",\n              \"textOriginal\": \"Really helpful thanku hitesh\",\n              \"authorDisplayName\": \"Sarwesh Tiwari\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQS4ljZhzDDP-s4im-CLtA31LRGL6WRTe6Hjg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-23T14:29:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx3vzByyzvU4uGK2Tp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"4XaFk78WcyY\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx3vzByyzvU4uGK2Tp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Correction <a href=\\\"https://www.youtube.com/watch?v=4XaFk78WcyY&amp;t=0m00s\\\">0:00</a>  <br>***Didn&#39;t take 😊\",\n              \"textOriginal\": \"Correction 0:00  \\n***Didn't take 😊\",\n              \"authorDisplayName\": \"Ruturaj Jadhav\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRHSw8pPRS1lYGuKb46OElFUmvHegL7ZdBvp-MIfg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-11-23T13:59:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwWx4iR8o5Y5aOyC7p4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"4XaFk78WcyY\",\n          \"topLevelComment\": {\n            \"id\": \"UgwWx4iR8o5Y5aOyC7p4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"🙏👍\",\n              \"textOriginal\": \"🙏👍\",\n              \"authorDisplayName\": \"Rishi Raj\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTTSELBkqZHa16Ra4q7EkD7TjnNt89PBJbFGmYI1uzMfb2AMH3TBHo4ZdUs7JV2=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-11-23T13:47:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzTP-He_p5S_hRPdTd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"4XaFk78WcyY\",\n          \"topLevelComment\": {\n            \"id\": \"UgzTP-He_p5S_hRPdTd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"First like and first Comment 😍❤️\",\n              \"textOriginal\": \"First like and first Comment 😍❤️\",\n              \"authorDisplayName\": \"Explore Makka\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/aC4FoQZ217QvCmkuHW6VEItTPWruOeUOXYDmguaxZwQjvNLfhfIi3reR6jRCIceU5NLIDneXRMY=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2022-11-23T13:46:01Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      }\n    ]\n  },\n  \"ZchBYjHFCC4\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgwdlD2nkBft5ks0mLR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZchBYjHFCC4\",\n          \"topLevelComment\": {\n            \"id\": \"UgwdlD2nkBft5ks0mLR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Took a lot of time to write these. Please subscribe.<br>Github Repo:<br><a href=\\\"https://github.com/hiteshchoudhary/typescript-youtube-22\\\">https://github.com/hiteshchoudhary/typescript-youtube-22</a><br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h00m00s\\\">00:00:00</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h06m51s\\\">00:06:51</a> - Why to learn typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h06m51s\\\">00:06:51</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h15m08s\\\">00:15:08</a> - Typescript is not what you think<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h15m08s\\\">00:15:08</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h27m16s\\\">00:27:16</a> - How to install typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h27m16s\\\">00:27:16</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h39m04s\\\">00:39:04</a> - Your first intro to typescript docs<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h39m04s\\\">00:39:04</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h46m35s\\\">00:46:35</a> - Number, boolean and type inference<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h39m04s\\\">00:39:04</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h46m35s\\\">00:46:35</a> - Number, boolean and type inference<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h46m35s\\\">00:46:35</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h51m13s\\\">00:51:13</a> - Don&#39;t use ANY in typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h51m13s\\\">00:51:13</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h02m38s\\\">01:02:38</a> - Do you really know functions in typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h02m38s\\\">01:02:38</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h15m21s\\\">01:15:21</a> - A better way to write function in typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h15m21s\\\">01:15:21</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h24m57s\\\">01:24:57</a> - Bad behaviour of objects in typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h24m57s\\\">01:24:57</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h32m11s\\\">01:32:11</a> - Type Aliases in Typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h32m11s\\\">01:32:11</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h41m56s\\\">01:41:56</a> - READONLY and optional in typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h41m56s\\\">01:41:56</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h49m46s\\\">01:49:46</a> - Array in Typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h49m46s\\\">01:49:46</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h04m29s\\\">02:04:29</a> - Union Types in TS<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h04m29s\\\">02:04:29</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h14m16s\\\">02:14:16</a> - Tuples in typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h14m16s\\\">02:14:16</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h23m46s\\\">02:23:46</a> - Enums in typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h23m46s\\\">02:23:46</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h33m35s\\\">02:33:35</a> - interface in typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h33m35s\\\">02:33:35</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h38m51s\\\">02:38:51</a> - Interface vs Type in typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h38m51s\\\">02:38:51</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h53m27s\\\">02:53:27</a> - How to setup Typescript for real projects<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h53m27s\\\">02:53:27</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h01m49s\\\">03:01:49</a> - Classes in typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h01m49s\\\">03:01:49</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h07m55s\\\">03:07:55</a> - Private Public in Typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h07m55s\\\">03:07:55</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h15m08s\\\">03:15:08</a> - Getters and Setters in typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h15m08s\\\">03:15:08</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h19m17s\\\">03:19:17</a> - Protected in Typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h19m17s\\\">03:19:17</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h25m48s\\\">03:25:48</a> - Why Interface is important in typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h25m48s\\\">03:25:48</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h35m19s\\\">03:35:19</a> - Abstract class in Typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h35m19s\\\">03:35:19</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h47m41s\\\">03:47:41</a> - Generics in Typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h47m41s\\\">03:47:41</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h55m50s\\\">03:55:50</a> - Generics in Array and Arrow functions in Typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h55m50s\\\">03:55:50</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h06m59s\\\">04:06:59</a> - Generic Classes in Typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h06m59s\\\">04:06:59</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h16m47s\\\">04:16:47</a> - Type Narrowing in typescript<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h16m47s\\\">04:16:47</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h22m00s\\\">04:22:00</a> - The in operator narrowing<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h22m00s\\\">04:22:00</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h31m18s\\\">04:31:18</a> - Instanceof and Type Predicates<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h31m18s\\\">04:31:18</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h42m37s\\\">04:42:37</a> - Discriminated Union and Exhaustiveness Checking with never<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h42m37s\\\">04:42:37</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h46m07s\\\">04:46:07</a> - Typescript End\",\n              \"textOriginal\": \"Took a lot of time to write these. Please subscribe.\\nGithub Repo:\\nhttps://github.com/hiteshchoudhary/typescript-youtube-22\\n00:00:00 - 00:06:51 - Why to learn typescript\\n00:06:51 - 00:15:08 - Typescript is not what you think\\n00:15:08 - 00:27:16 - How to install typescript\\n00:27:16 - 00:39:04 - Your first intro to typescript docs\\n00:39:04 - 00:46:35 - Number, boolean and type inference\\n00:39:04 - 00:46:35 - Number, boolean and type inference\\n00:46:35 - 00:51:13 - Don't use ANY in typescript\\n00:51:13 - 01:02:38 - Do you really know functions in typescript\\n01:02:38 - 01:15:21 - A better way to write function in typescript\\n01:15:21 - 01:24:57 - Bad behaviour of objects in typescript\\n01:24:57 - 01:32:11 - Type Aliases in Typescript\\n01:32:11 - 01:41:56 - READONLY and optional in typescript\\n01:41:56 - 01:49:46 - Array in Typescript\\n01:49:46 - 02:04:29 - Union Types in TS\\n02:04:29 - 02:14:16 - Tuples in typescript\\n02:14:16 - 02:23:46 - Enums in typescript\\n02:23:46 - 02:33:35 - interface in typescript\\n02:33:35 - 02:38:51 - Interface vs Type in typescript\\n02:38:51 - 02:53:27 - How to setup Typescript for real projects\\n02:53:27 - 03:01:49 - Classes in typescript\\n03:01:49 - 03:07:55 - Private Public in Typescript\\n03:07:55 - 03:15:08 - Getters and Setters in typescript\\n03:15:08 - 03:19:17 - Protected in Typescript\\n03:19:17 - 03:25:48 - Why Interface is important in typescript\\n03:25:48 - 03:35:19 - Abstract class in Typescript\\n03:35:19 - 03:47:41 - Generics in Typescript\\n03:47:41 - 03:55:50 - Generics in Array and Arrow functions in Typescript\\n03:55:50 - 04:06:59 - Generic Classes in Typescript\\n04:06:59 - 04:16:47 - Type Narrowing in typescript\\n04:16:47 - 04:22:00 - The in operator narrowing\\n04:22:00 - 04:31:18 - Instanceof and Type Predicates\\n04:31:18 - 04:42:37 - Discriminated Union and Exhaustiveness Checking with never\\n04:42:37 - 04:46:07 - Typescript End\",\n              \"authorDisplayName\": \"Hitesh Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 21,\n              \"publishedAt\": \"2022-10-28T06:37:17Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      },\n      {\n        \"id\": \"Ugx8i1vmBNu9x7aSymt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZchBYjHFCC4\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx8i1vmBNu9x7aSymt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Yes, we can push inside the _id if it is an array because the array is concerned with its reference and not the values present inside it here even if you push some values inside it the reference will remain the same .\",\n              \"textOriginal\": \"Yes, we can push inside the _id if it is an array because the array is concerned with its reference and not the values present inside it here even if you push some values inside it the reference will remain the same .\",\n              \"authorDisplayName\": \"Nikhil Upadhyay\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRRfJA9N1AXvP0aa8dWnLAOrLOKibIwSblJdw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-19T09:26:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzvQdiYruu26kol10J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZchBYjHFCC4\",\n          \"topLevelComment\": {\n            \"id\": \"UgzvQdiYruu26kol10J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"The best coding teacher on Internet! Thanks Hitesh Sir! Great tutorial! Great Human with Great Attitude.\",\n              \"textOriginal\": \"The best coding teacher on Internet! Thanks Hitesh Sir! Great tutorial! Great Human with Great Attitude.\",\n              \"authorDisplayName\": \"Prateek Bidve\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSd0CtcPegsDZKpGUlOXVy2ghtRbSArqBKMhqHT5w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-17T22:20:39Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgwCi1uNxplUjj8P_bF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZchBYjHFCC4\",\n          \"topLevelComment\": {\n            \"id\": \"UgwCi1uNxplUjj8P_bF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"At <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=4h0m48s\\\">4:0:48</a> interface is extending in &lt;U&gt; but interface toh implement hota h na\",\n              \"textOriginal\": \"At 4:0:48 interface is extending in <U> but interface toh implement hota h na\",\n              \"authorDisplayName\": \"sanjula goyal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT2Kt7CBIgHZ8wRjEY4EEPLe514yse3k2fI1w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-17T11:00:34Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw2ftDf-iAxeKaScqh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZchBYjHFCC4\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw2ftDf-iAxeKaScqh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"amazing tutorial\",\n              \"textOriginal\": \"amazing tutorial\",\n              \"authorDisplayName\": \"The Yash Gaur\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/SLCbwnXthgmoe_jusBYdW25aK0INr8l19jW6VTNJypW2U4XyQ1z_VqiNQpPw7gwI63ADyI9D=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-17T03:19:19Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgycUmW_4KC5O_YbmM14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZchBYjHFCC4\",\n          \"topLevelComment\": {\n            \"id\": \"UgycUmW_4KC5O_YbmM14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you so much for this course! Tried other ones but this was the most interesting and enjoyable so far!\",\n              \"textOriginal\": \"Thank you so much for this course! Tried other ones but this was the most interesting and enjoyable so far!\",\n              \"authorDisplayName\": \"Nika Kondra\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQgs1k4ADAYA_Uf1JC4NtCz8Eg00x5ZwJH_114L7Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-02T18:03:07Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyZQKJXaPUkwfOvbXZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZchBYjHFCC4\",\n          \"topLevelComment\": {\n            \"id\": \"UgyZQKJXaPUkwfOvbXZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"The Sytatic sugar that on class is i belive comes from PHP as Constructor property promotion\",\n              \"textOriginal\": \"The Sytatic sugar that on class is i belive comes from PHP as Constructor property promotion\",\n              \"authorDisplayName\": \"Saravana T\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT3h9eOEdfELX1dTv2RBOCwO3z3LeJ-69DnLQ80zBXKyNfA8ojwK3aqOZhOd-Uy=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-29T10:40:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz8aN5HPeR-kA6-haF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZchBYjHFCC4\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz8aN5HPeR-kA6-haF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Please let me know the font family you are using in vs code ? It looks good. 😊<br><br>Great tutorial, watched upto end.\",\n              \"textOriginal\": \"Please let me know the font family you are using in vs code ? It looks good. 😊\\n\\nGreat tutorial, watched upto end.\",\n              \"authorDisplayName\": \"Abhishek Chaudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaROGhzkURVqF8VX5AYZLgcXL6KeCjM4eq-sB_7mgA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-17T12:16:12Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwF9zGmzeZURIo9GNd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZchBYjHFCC4\",\n          \"topLevelComment\": {\n            \"id\": \"UgwF9zGmzeZURIo9GNd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Your teaching is of a different level... I love the way you explain things..thanks for this awesome video sir\",\n              \"textOriginal\": \"Your teaching is of a different level... I love the way you explain things..thanks for this awesome video sir\",\n              \"authorDisplayName\": \"Guddu bhaiya thikana mirzapur\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR8Z6dppi0CkiO76MxBfadqKj1ujZ2UUE3qQZpbRmpawwvrZm2RGWgj67xNMurh=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-06T16:57:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzaonDO4QfBLpCNDkF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZchBYjHFCC4\",\n          \"topLevelComment\": {\n            \"id\": \"UgzaonDO4QfBLpCNDkF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Your way of explaining was very good. Thank you for this tutorial. 👏\",\n              \"textOriginal\": \"Your way of explaining was very good. Thank you for this tutorial. 👏\",\n              \"authorDisplayName\": \"ilksen bozok\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSLMcMR7s_HYA87eue5VU0Trq2qM0DmL2Ptfpa6IQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-31T13:54:57Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwAWzpDjgys_ZWAnNV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZchBYjHFCC4\",\n          \"topLevelComment\": {\n            \"id\": \"UgwAWzpDjgys_ZWAnNV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"What VSC Theme are you using?\",\n              \"textOriginal\": \"What VSC Theme are you using?\",\n              \"authorDisplayName\": \"Ferris Kleier\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/n-Sfrb5qCSMjULD97MlxgDdYveB4u3tb5GMKBCKVf9lxycwamV7VFMUUV_a0QNBo1CUj2xUuMQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-26T11:37:23Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz8hE7MQCicyiK-BG94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"ZchBYjHFCC4\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz8hE7MQCicyiK-BG94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"if you are from odisha hit likes<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h00m00s\\\">00:00:00</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h06m51s\\\">00:06:51</a> - Why to learn typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h06m51s\\\">00:06:51</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h15m08s\\\">00:15:08</a> - Typescript is not what you think\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h15m08s\\\">00:15:08</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h27m16s\\\">00:27:16</a> - How to install typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h27m16s\\\">00:27:16</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h39m04s\\\">00:39:04</a> - Your first intro to typescript docs\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h39m04s\\\">00:39:04</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h46m35s\\\">00:46:35</a> - Number, boolean and type inference\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h39m04s\\\">00:39:04</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h46m35s\\\">00:46:35</a> - Number, boolean and type inference\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h46m35s\\\">00:46:35</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h51m13s\\\">00:51:13</a> - Don&#39;t use ANY in typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=00h51m13s\\\">00:51:13</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h02m38s\\\">01:02:38</a> - Do you really know functions in typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h02m38s\\\">01:02:38</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h15m21s\\\">01:15:21</a> - A better way to write function in typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h15m21s\\\">01:15:21</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h24m57s\\\">01:24:57</a> - Bad behaviour of objects in typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h24m57s\\\">01:24:57</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h32m11s\\\">01:32:11</a> - Type Aliases in Typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h32m11s\\\">01:32:11</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h41m56s\\\">01:41:56</a> - READONLY and optional in typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h41m56s\\\">01:41:56</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h49m46s\\\">01:49:46</a> - Array in Typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=01h49m46s\\\">01:49:46</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h04m29s\\\">02:04:29</a> - Union Types in TS\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h04m29s\\\">02:04:29</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h14m16s\\\">02:14:16</a> - Tuples in typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h14m16s\\\">02:14:16</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h23m46s\\\">02:23:46</a> - Enums in typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h23m46s\\\">02:23:46</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h33m35s\\\">02:33:35</a> - interface in typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h33m35s\\\">02:33:35</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h38m51s\\\">02:38:51</a> - Interface vs Type in typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h38m51s\\\">02:38:51</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h53m27s\\\">02:53:27</a> - How to setup Typescript for real projects\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=02h53m27s\\\">02:53:27</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h01m49s\\\">03:01:49</a> - Classes in typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h01m49s\\\">03:01:49</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h07m55s\\\">03:07:55</a> - Private Public in Typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h07m55s\\\">03:07:55</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h15m08s\\\">03:15:08</a> - Getters and Setters in typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h15m08s\\\">03:15:08</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h19m17s\\\">03:19:17</a> - Protected in Typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h19m17s\\\">03:19:17</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h25m48s\\\">03:25:48</a> - Why Interface is important in typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h25m48s\\\">03:25:48</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h35m19s\\\">03:35:19</a> - Abstract class in Typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h35m19s\\\">03:35:19</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h47m41s\\\">03:47:41</a> - Generics in Typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h47m41s\\\">03:47:41</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h55m50s\\\">03:55:50</a> - Generics in Array and Arrow functions in Typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=03h55m50s\\\">03:55:50</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h06m59s\\\">04:06:59</a> - Generic Classes in Typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h06m59s\\\">04:06:59</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h16m47s\\\">04:16:47</a> - Type Narrowing in typescript\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h16m47s\\\">04:16:47</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h22m00s\\\">04:22:00</a> - The in operator narrowing\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h22m00s\\\">04:22:00</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h31m18s\\\">04:31:18</a> - Instanceof and Type Predicates\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h31m18s\\\">04:31:18</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h42m37s\\\">04:42:37</a> - Discriminated Union and Exhaustiveness Checking with never\\r<br><a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h42m37s\\\">04:42:37</a> - <a href=\\\"https://www.youtube.com/watch?v=ZchBYjHFCC4&amp;t=04h46m07s\\\">04:46:07</a> - Typescript End\",\n              \"textOriginal\": \"if you are from odisha hit likes\\n00:00:00 - 00:06:51 - Why to learn typescript\\r\\n00:06:51 - 00:15:08 - Typescript is not what you think\\r\\n00:15:08 - 00:27:16 - How to install typescript\\r\\n00:27:16 - 00:39:04 - Your first intro to typescript docs\\r\\n00:39:04 - 00:46:35 - Number, boolean and type inference\\r\\n00:39:04 - 00:46:35 - Number, boolean and type inference\\r\\n00:46:35 - 00:51:13 - Don't use ANY in typescript\\r\\n00:51:13 - 01:02:38 - Do you really know functions in typescript\\r\\n01:02:38 - 01:15:21 - A better way to write function in typescript\\r\\n01:15:21 - 01:24:57 - Bad behaviour of objects in typescript\\r\\n01:24:57 - 01:32:11 - Type Aliases in Typescript\\r\\n01:32:11 - 01:41:56 - READONLY and optional in typescript\\r\\n01:41:56 - 01:49:46 - Array in Typescript\\r\\n01:49:46 - 02:04:29 - Union Types in TS\\r\\n02:04:29 - 02:14:16 - Tuples in typescript\\r\\n02:14:16 - 02:23:46 - Enums in typescript\\r\\n02:23:46 - 02:33:35 - interface in typescript\\r\\n02:33:35 - 02:38:51 - Interface vs Type in typescript\\r\\n02:38:51 - 02:53:27 - How to setup Typescript for real projects\\r\\n02:53:27 - 03:01:49 - Classes in typescript\\r\\n03:01:49 - 03:07:55 - Private Public in Typescript\\r\\n03:07:55 - 03:15:08 - Getters and Setters in typescript\\r\\n03:15:08 - 03:19:17 - Protected in Typescript\\r\\n03:19:17 - 03:25:48 - Why Interface is important in typescript\\r\\n03:25:48 - 03:35:19 - Abstract class in Typescript\\r\\n03:35:19 - 03:47:41 - Generics in Typescript\\r\\n03:47:41 - 03:55:50 - Generics in Array and Arrow functions in Typescript\\r\\n03:55:50 - 04:06:59 - Generic Classes in Typescript\\r\\n04:06:59 - 04:16:47 - Type Narrowing in typescript\\r\\n04:16:47 - 04:22:00 - The in operator narrowing\\r\\n04:22:00 - 04:31:18 - Instanceof and Type Predicates\\r\\n04:31:18 - 04:42:37 - Discriminated Union and Exhaustiveness Checking with never\\r\\n04:42:37 - 04:46:07 - Typescript End\",\n              \"authorDisplayName\": \"K Mahendra\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS_lPiJ-e4MHpjodkSsT0DxxMcdoHAUmc91I4CO9uNaI-FJwGSwtp55AEPQbs0u=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-03-24T09:38:12Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      }\n    ]\n  },\n  \"Q4UWFGRVOpQ\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"nextPageToken\": \"QURTSl9pMzFfZEZLTG1zYkVFTXBMVUVSR0o2VE96RG5lRWZSTDFZdmwzbFllbXZnM0hELUI4WTVxa21wa3MyMjhvSTZQVDFfN2xZekhOMA==\",\n    \"items\": [\n      {\n        \"id\": \"UgwGCNp6tRXpd6UPpfx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Q4UWFGRVOpQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgwGCNp6tRXpd6UPpfx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"what is the relationship between closure and decorator ? now that&#39;s not easy\",\n              \"textOriginal\": \"what is the relationship between closure and decorator ? now that's not easy\",\n              \"authorDisplayName\": \"tom jones\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT0jifGlNZo6Urs8ctZ7vNlAn2c29EO-B2ZrgXU=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-19T07:06:55Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz9-W93nHXBNYYaUvR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Q4UWFGRVOpQ\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz9-W93nHXBNYYaUvR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"A small query . Is all function  a closure?\",\n              \"textOriginal\": \"A small query . Is all function  a closure?\",\n              \"authorDisplayName\": \"Madavaraj B\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSihyJuQe9R8H8otVPG7bOZolgt2bEW_2itmz-AZA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-23T11:43:40Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxKOf8FvpEF-iZCmTl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Q4UWFGRVOpQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgxKOf8FvpEF-iZCmTl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"we love your videos<a href=\\\"about:invalid#zCSafez\\\"></a><a href=\\\"about:invalid#zCSafez\\\"></a>\",\n              \"textOriginal\": \"we love your videos\",\n              \"authorDisplayName\": \"Varun Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSkS7WVOyagQrLNpgiTpYd6gttGGZ3Zi98JRSbeS26Z-o1NeyiFXiaHxE9EJMw1=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-16T05:30:13Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw-5rjrujF1GASXUXp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Q4UWFGRVOpQ\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw-5rjrujF1GASXUXp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"thank you for the explantation, very clear for me\",\n              \"textOriginal\": \"thank you for the explantation, very clear for me\",\n              \"authorDisplayName\": \"Gor Hakobyan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS9yQmA9PB4qGxGFg1_zRApUeZhK7b6bCv7qnPja5UlcVkRiq0TbrL7O9Rw9__I=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-08T12:31:13Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzRoyetHX1Mwioi6mh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Q4UWFGRVOpQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgzRoyetHX1Mwioi6mh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Can&#39;t we just use the arrow function for that instead of using that closure? @hitesh. Love your videos\",\n              \"textOriginal\": \"Can't we just use the arrow function for that instead of using that closure? @hitesh. Love your videos\",\n              \"authorDisplayName\": \"Randomology\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/yFWsxj2yjOpnnirEamVevtN_NHfgyt3lcMaXg6KupIPuWnG_gvv9kTcERQfAYS2RTmtYAgFS=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-23T13:38:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzTURR3dvL1zjaXIOx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Q4UWFGRVOpQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgzTURR3dvL1zjaXIOx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello I want to know, is there any next video coming in this playlist?\",\n              \"textOriginal\": \"Hello I want to know, is there any next video coming in this playlist?\",\n              \"authorDisplayName\": \"Himanshu Patni\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Enj6nGtiWplwQsancMHUBQvC9o6eKBDOO5dpfNpxzZRU4Bbv052qVMAL14VNYPhxTGnf1zsYRQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-16T11:33:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxhpp1pdADJU6loZix4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Q4UWFGRVOpQ\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxhpp1pdADJU6loZix4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Wonderful\",\n              \"textOriginal\": \"Wonderful\",\n              \"authorDisplayName\": \"prateek dubey\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQpfVSd8l-QXpVKO77zgmvHqpug6ekQKEeg_3hjVuo=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-10T17:55:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyvZNWnXfNqQpj5F654AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Q4UWFGRVOpQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgyvZNWnXfNqQpj5F654AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanku so much today i understood wat is closure after few interviews\",\n              \"textOriginal\": \"Thanku so much today i understood wat is closure after few interviews\",\n              \"authorDisplayName\": \"Samruddhi SaM\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/guYNgl9Zt-jiDVDGUAZR9XUTI1ikC29DJf32X8K8xPajlFiEFB4qWLD71PEUenAGy75Kz5rxTd8=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-16T12:00:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyxagI7Iq4zWqHQ8K94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Q4UWFGRVOpQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgyxagI7Iq4zWqHQ8K94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Loved your video 😍 please bring more\",\n              \"textOriginal\": \"Loved your video 😍 please bring more\",\n              \"authorDisplayName\": \"Pramod Jadhav\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSMaQYb45xh6cSoBHNYY8c0Vib1YZI0fxW78b-xBuHsZmNYAP4CZ9LANw5p8TGy=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-11T04:13:06Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgwuGfswqyfd8-vSAZx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Q4UWFGRVOpQ\",\n          \"topLevelComment\": {\n            \"id\": \"UgwuGfswqyfd8-vSAZx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Perfect, thanks!!\",\n              \"textOriginal\": \"Perfect, thanks!!\",\n              \"authorDisplayName\": \"D Santhosh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQBkVDzVRSlCY9a8qhT3euf1Z0zGbReQ8Pm2C3JJg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-27T18:16:16Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz6j-LPlMkIyyR37_J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Q4UWFGRVOpQ\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz6j-LPlMkIyyR37_J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"this is super helpfull.I have one question though. when you set clickHandler(&#39;orange&#39;) to onclick without return. why it&#39;&#39;s already excuted without any click event.\",\n              \"textOriginal\": \"this is super helpfull.I have one question though. when you set clickHandler('orange') to onclick without return. why it''s already excuted without any click event.\",\n              \"authorDisplayName\": \"Chamara W\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSLdmb9Fzq9Bw9cakmarJWsa8wNws0eqkgI5vXihQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-18T13:40:28Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugzovd1rQK-xS3Ou-_h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"Q4UWFGRVOpQ\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzovd1rQK-xS3Ou-_h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir proper interview questions on html css bootstrap and javascript please. Because nowadays there is completely mess around in these in interviews a little mistake  in these ruin all the interview please sir 🙂🙏\",\n              \"textOriginal\": \"Sir proper interview questions on html css bootstrap and javascript please. Because nowadays there is completely mess around in these in interviews a little mistake  in these ruin all the interview please sir 🙂🙏\",\n              \"authorDisplayName\": \"DAKU SAGAR\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQLlGyU6GWhnoeTt12paems4oHFKjhA0LauQ5Nkng=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-16T17:14:51Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"E7WIis2NjZU\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyOzvePmbDGarxYmnx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"E7WIis2NjZU\",\n          \"topLevelComment\": {\n            \"id\": \"UgyOzvePmbDGarxYmnx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Continue making this kind series 🙏\",\n              \"textOriginal\": \"Continue making this kind series 🙏\",\n              \"authorDisplayName\": \"Sheroz Sharipov\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSRPexp8pDOoX53SF9k0ixH0wPp_Sn9XbUhjybXpw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-09T10:10:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzjS8jk5GtZVETtHRF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"E7WIis2NjZU\",\n          \"topLevelComment\": {\n            \"id\": \"UgzjS8jk5GtZVETtHRF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Frooti dil tooti\",\n              \"textOriginal\": \"Frooti dil tooti\",\n              \"authorDisplayName\": \"乡ROCKYツ\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Lhn-DGvZi5oVC_8zQGGz8MFL_mLd95EjoYcaaCvvGRLE2FfAP3GcfRHkwVb2QA0P3aqBXioiQA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-15T04:34:19Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzB5VwYBfEzMA-m4T14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"E7WIis2NjZU\",\n          \"topLevelComment\": {\n            \"id\": \"UgzB5VwYBfEzMA-m4T14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Loved it❤...Please continue this series..\",\n              \"textOriginal\": \"Loved it❤...Please continue this series..\",\n              \"authorDisplayName\": \"Manoj Pant\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/rFj4b9SEpHvvalibB1lE3s1qX5jhDPRUtG2VyFrgP4HwZQSXwltpsD-INi2VZK20CAntTRONMQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-08T10:15:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy-NOsyh3Ij8R4QH5J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"E7WIis2NjZU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy-NOsyh3Ij8R4QH5J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you sir. Please make more interview questions, especially front end ones. Regards from Yemen\",\n              \"textOriginal\": \"Thank you sir. Please make more interview questions, especially front end ones. Regards from Yemen\",\n              \"authorDisplayName\": \"Henna-Zone\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/5FslvD6pFYUN1IVWYlSapnAAK1J-3cCGRsIN0jk2UIkQerEW4h1wZG6M61r_3EgRSe5JKxawLA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-29T11:45:46Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyHENh9rNZ7_U_BTOR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"E7WIis2NjZU\",\n          \"topLevelComment\": {\n            \"id\": \"UgyHENh9rNZ7_U_BTOR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"i am in my week 6 learning to code. Its fun, but so hard to learn...\",\n              \"textOriginal\": \"i am in my week 6 learning to code. Its fun, but so hard to learn...\",\n              \"authorDisplayName\": \"HealingQuran\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/4IQm5METh_x-RNhBGnBu3i676IjRkmYey5cbTWIC5y6HiL8ruFNLlOIypcT1RwChExRscIpjlOw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-22T12:46:53Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxinhZIgkpR1m6mbih4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"E7WIis2NjZU\",\n          \"topLevelComment\": {\n            \"id\": \"UgxinhZIgkpR1m6mbih4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"addicted ur voice &lt;3\",\n              \"textOriginal\": \"addicted ur voice <3\",\n              \"authorDisplayName\": \"Samruddhi SaM\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/guYNgl9Zt-jiDVDGUAZR9XUTI1ikC29DJf32X8K8xPajlFiEFB4qWLD71PEUenAGy75Kz5rxTd8=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-16T12:01:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwL6IBlPTEf5m9OyqV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"E7WIis2NjZU\",\n          \"topLevelComment\": {\n            \"id\": \"UgwL6IBlPTEf5m9OyqV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Brother nailed it\",\n              \"textOriginal\": \"Brother nailed it\",\n              \"authorDisplayName\": \"Quite Intresting\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRuFX61iKAp0FveX9qrAjlOqK_YTrhUBr1MkYREbhh2aLqMkMoQcq5F-TY5Xq1D=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-13T04:50:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz8NeYiZ3zlIRx1qTx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"E7WIis2NjZU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz8NeYiZ3zlIRx1qTx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Pls sir upload some more videos of JS interview Q&amp;As\",\n              \"textOriginal\": \"Pls sir upload some more videos of JS interview Q&As\",\n              \"authorDisplayName\": \"Guddu bhaiya thikana mirzapur\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR8Z6dppi0CkiO76MxBfadqKj1ujZ2UUE3qQZpbRmpawwvrZm2RGWgj67xNMurh=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-01T20:17:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzWf_npUxr4FclJJ-d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"E7WIis2NjZU\",\n          \"topLevelComment\": {\n            \"id\": \"UgzWf_npUxr4FclJJ-d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Please put videos into this playlist more frequent\",\n              \"textOriginal\": \"Please put videos into this playlist more frequent\",\n              \"authorDisplayName\": \"Stiphen\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQkmchDD1b6g3NKvGk7i8kboEUluCtL2TeRCZEGs_M=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-26T14:34:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx4CTcYQOKeMDQNIb94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"E7WIis2NjZU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx4CTcYQOKeMDQNIb94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Pure high quality content, please make more if this.thanks🔥\",\n              \"textOriginal\": \"Pure high quality content, please make more if this.thanks🔥\",\n              \"authorDisplayName\": \"Sahil Aneja\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSH1-JmZ2k8LXTQP_geQSTNy_8hhbApB8AtBkAZUqE=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 4,\n              \"publishedAt\": \"2023-01-25T01:40:57Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzeYEAQZY2vMMklH3t4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"E7WIis2NjZU\",\n          \"topLevelComment\": {\n            \"id\": \"UgzeYEAQZY2vMMklH3t4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"tell an example of IIFE\",\n              \"textOriginal\": \"tell an example of IIFE\",\n              \"authorDisplayName\": \"Priyesh Gautam\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSYJ7HxL1563NmweV4pazZUnd1tXetiK1h1iF-yYg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-24T11:50:23Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxC5V7BS4PL02JQ7y14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"E7WIis2NjZU\",\n          \"topLevelComment\": {\n            \"id\": \"UgxC5V7BS4PL02JQ7y14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"It&#39;s a type of a function which take function as an argument.\",\n              \"textOriginal\": \"It's a type of a function which take function as an argument.\",\n              \"authorDisplayName\": \"vishu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTrt9EHkPzM-80pNZ9SuUGkFRDIGTTuG_p8TP3vcg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-01-24T06:11:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"pbvC119ZRDw\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgzmFL2OvkM_NXnZFpZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"pbvC119ZRDw\",\n          \"topLevelComment\": {\n            \"id\": \"UgzmFL2OvkM_NXnZFpZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I like the this part <a href=\\\"https://www.youtube.com/watch?v=pbvC119ZRDw&amp;t=3m15s\\\">3:15</a> very  much, which is totally true. Thanks for this awesome course\",\n              \"textOriginal\": \"I like the this part 3:15 very  much, which is totally true. Thanks for this awesome course\",\n              \"authorDisplayName\": \"Saroj Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSsQZ3-nPvLFVJTvfTQeSk08LxlCvAJaYkfdSb-Qg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-18T15:14:40Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzf2c_YYCdXHWr6e0J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"pbvC119ZRDw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzf2c_YYCdXHWr6e0J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Very good teaching skills\",\n              \"textOriginal\": \"Very good teaching skills\",\n              \"authorDisplayName\": \"Tech Sonaniya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQVnLKc6m1gL223UTY9N0F-cFBpJw5rMyWT-_Ej_Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-07T08:17:14Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyPDaohJ7E67nX8RDx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"pbvC119ZRDw\",\n          \"topLevelComment\": {\n            \"id\": \"UgyPDaohJ7E67nX8RDx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I am a react native developer in infosys Jaipur i love your videos 💞💞\",\n              \"textOriginal\": \"I am a react native developer in infosys Jaipur i love your videos 💞💞\",\n              \"authorDisplayName\": \"sahilXll\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Gjhm-lVn5LzHBbq90fZn0p5jlsfOfIMcKzjw9lEBzYpNrW_ybvXJrJ0U_eM7JlKONE1v5D-_sA0=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-14T17:37:45Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxfW0w3MoelRN_BDip4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"pbvC119ZRDw\",\n          \"topLevelComment\": {\n            \"id\": \"UgxfW0w3MoelRN_BDip4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I like this approach, mastering the basics.\",\n              \"textOriginal\": \"I like this approach, mastering the basics.\",\n              \"authorDisplayName\": \"Cameron Lares\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRjyGt09QF13oLSFKQDH4dZX_3Kzup0hqWqUlNR6A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-13T08:17:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw8JmW5a64PZ4t8p8N4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"pbvC119ZRDw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw8JmW5a64PZ4t8p8N4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"[<a href=\\\"https://www.youtube.com/watch?v=pbvC119ZRDw&amp;t=01m00s\\\">01:00</a>] Focus on the basics, i love it\",\n              \"textOriginal\": \"[01:00] Focus on the basics, i love it\",\n              \"authorDisplayName\": \"BPKodes\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/BTiejIgKCF9EeB4h1R7bcG-hiRDpsas0gHHLEPEZFbCr_KTXGdWnXX1zMdhRQ4hz50wvbw-hWg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-12T12:55:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzUwtLrVIriQPONVHt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"pbvC119ZRDw\",\n          \"topLevelComment\": {\n            \"id\": \"UgzUwtLrVIriQPONVHt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Is there any way to pass className as props  without using styled() in tsx<br>I&#39;m using tsx and tailwindcss but the problem is with the overhead of using styled component\",\n              \"textOriginal\": \"Is there any way to pass className as props  without using styled() in tsx\\nI'm using tsx and tailwindcss but the problem is with the overhead of using styled component\",\n              \"authorDisplayName\": \"132_PRIYANK RAI\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaROpZ1QfwV6r-IHb0z0Qrk5Q7KBH4L8E_jWFQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-12T09:05:28Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwY4HKf5h0UbA1hOo94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"pbvC119ZRDw\",\n          \"topLevelComment\": {\n            \"id\": \"UgwY4HKf5h0UbA1hOo94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir, Where is project one? There is only one summery video.\",\n              \"textOriginal\": \"Sir, Where is project one? There is only one summery video.\",\n              \"authorDisplayName\": \"Mr. Wayne\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/3qoM3N4tJJ9n0uPSosY_vLoo6bVbptvCxYqt4EY45d229Gf3fFPArwQ-0fhb64yEUg--Gu4uL-Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-12T08:00:55Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgywRLsNVvKpK37b1GZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"pbvC119ZRDw\",\n          \"topLevelComment\": {\n            \"id\": \"UgywRLsNVvKpK37b1GZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"What is the minimum configuration requirements for start react native..??\",\n              \"textOriginal\": \"What is the minimum configuration requirements for start react native..??\",\n              \"authorDisplayName\": \"Pankaj Rai\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQxLa16QjvUZE5l5c20s_UttNmiNXm4eTvQN9X7qAPZLjRNkypQhLC21cT4VDTg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-12T07:48:33Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugw_cH53a_fnlSVmTTR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"pbvC119ZRDw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw_cH53a_fnlSVmTTR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"so i was watching your typescript tutorial on freecodecamp im just here to check out your channel, subscribe and say thankyou for the great content\",\n              \"textOriginal\": \"so i was watching your typescript tutorial on freecodecamp im just here to check out your channel, subscribe and say thankyou for the great content\",\n              \"authorDisplayName\": \"Zekariyas Mulugeta Altaye\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR_8r-7k1Bae_cpTzCKwMLdnPvgemVooWPndK6NppYMFPwjUtNuwQI00QP0N3bC=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-12T04:18:46Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgyBKq1jq6fFJimjgjN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"pbvC119ZRDw\",\n          \"topLevelComment\": {\n            \"id\": \"UgyBKq1jq6fFJimjgjN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Great setup, appreciated sir\",\n              \"textOriginal\": \"Great setup, appreciated sir\",\n              \"authorDisplayName\": \"Yogesh Ukidwe\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTYV_X3-ebPobL973cKbG7r6cA_8J5vE1_zM9_vLQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-12T00:31:03Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugxl1w7D3LezbQVnhON4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"pbvC119ZRDw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxl1w7D3LezbQVnhON4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I want to just ask my two question,<br>1. people say Flutter is better than React-native. Whats your view on this? Why people avoid RN?<br>2. What is future of mobile devs? Should i select web dev or mobile dev?<br><br>Btw Thanks a lot sir. Please keep posting videos. Make a complete Playlist. Lots of love.\",\n              \"textOriginal\": \"I want to just ask my two question,\\n1. people say Flutter is better than React-native. Whats your view on this? Why people avoid RN?\\n2. What is future of mobile devs? Should i select web dev or mobile dev?\\n\\nBtw Thanks a lot sir. Please keep posting videos. Make a complete Playlist. Lots of love.\",\n              \"authorDisplayName\": \"husler\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS7IiTb2suCbumBdOEWRdxMnMKS5k5r2pFcJATnBg6kZPO_wuDA1LjMR5j_GvzX=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-11T20:15:36Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgyYM2vxtHD5Msti7rt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"pbvC119ZRDw\",\n          \"topLevelComment\": {\n            \"id\": \"UgyYM2vxtHD5Msti7rt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello sir, What about the JavaScript series on your other channel. Will you continue that also?\",\n              \"textOriginal\": \"Hello sir, What about the JavaScript series on your other channel. Will you continue that also?\",\n              \"authorDisplayName\": \"Devanshu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQXCAqtHMbtltPeuvckNOeU9-YtrcaI88uoZA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-02-11T18:02:57Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"CZrJpEn6b4I\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgwNvnAWBYoUZqxjrQl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"CZrJpEn6b4I\",\n          \"topLevelComment\": {\n            \"id\": \"UgwNvnAWBYoUZqxjrQl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"how it is getting refreshed automatically?\",\n              \"textOriginal\": \"how it is getting refreshed automatically?\",\n              \"authorDisplayName\": \"Hi-Tech Gaming\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/3WADELpV3AJCA_PQi8tiXpV5KTOWMvD11727hccLTkHYwQYY_H91Y0QwCfmgKSClMnY4fJ_eAO4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-12T18:37:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxfv29H5I5BCmIU91R4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"CZrJpEn6b4I\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxfv29H5I5BCmIU91R4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I am getting the error &#39;;&#39; expected ts (10050 ) from tsconfig.json file. I have updated typscript and use the wokrspace  version has anybody else had this error or know an answer.\",\n              \"textOriginal\": \"I am getting the error ';' expected ts (10050 ) from tsconfig.json file. I have updated typscript and use the wokrspace  version has anybody else had this error or know an answer.\",\n              \"authorDisplayName\": \"xenoxel\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRltcnUVCHe1kJ_ipKQmmCEJRt2HH8qxjNQVQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-21T15:54:50Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx8oqSyfsgVxe52Yr94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"CZrJpEn6b4I\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx8oqSyfsgVxe52Yr94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Doing good lets goooo\",\n              \"textOriginal\": \"Doing good lets goooo\",\n              \"authorDisplayName\": \"BoundlessCode\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS-CX6kaJxMxStI0QGB4zWbCltSO87dfInKh1hf5Fk7SHKPS6VWgeHLnmcmVUes=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-17T11:36:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy_qq9Hvw3DqlXFvbZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"CZrJpEn6b4I\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy_qq9Hvw3DqlXFvbZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Very good teaching skills\",\n              \"textOriginal\": \"Very good teaching skills\",\n              \"authorDisplayName\": \"Tech Sonaniya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQVnLKc6m1gL223UTY9N0F-cFBpJw5rMyWT-_Ej_Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-07T08:16:43Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyviDYbj7Jfsio5nwB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"CZrJpEn6b4I\",\n          \"topLevelComment\": {\n            \"id\": \"UgyviDYbj7Jfsio5nwB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Your videos are easily understandable...Even if I have to pay something for these kinds of lectures, I will happily do it.\",\n              \"textOriginal\": \"Your videos are easily understandable...Even if I have to pay something for these kinds of lectures, I will happily do it.\",\n              \"authorDisplayName\": \"Guddu bhaiya thikana mirzapur\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR8Z6dppi0CkiO76MxBfadqKj1ujZ2UUE3qQZpbRmpawwvrZm2RGWgj67xNMurh=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-03T13:16:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwxISvo4bygdECVEDJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"CZrJpEn6b4I\",\n          \"topLevelComment\": {\n            \"id\": \"UgwxISvo4bygdECVEDJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I have started watching this just now and I can say you are one of the best educators for coding.. Now I feel I won&#39;t need to find another tutorial for React Native... Thanks for this Amazing series sir\",\n              \"textOriginal\": \"I have started watching this just now and I can say you are one of the best educators for coding.. Now I feel I won't need to find another tutorial for React Native... Thanks for this Amazing series sir\",\n              \"authorDisplayName\": \"Guddu bhaiya thikana mirzapur\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR8Z6dppi0CkiO76MxBfadqKj1ujZ2UUE3qQZpbRmpawwvrZm2RGWgj67xNMurh=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 3,\n              \"publishedAt\": \"2023-02-14T10:29:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxeNqB41pDuq4f8RMF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"CZrJpEn6b4I\",\n          \"topLevelComment\": {\n            \"id\": \"UgxeNqB41pDuq4f8RMF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"@HiteshChoudharydotcom I was accidentally uninstalled Android Files from my Laptop and unfortunately it was deleted from Recycle Bin also help me in brining out this\",\n              \"textOriginal\": \"@HiteshChoudharydotcom I was accidentally uninstalled Android Files from my Laptop and unfortunately it was deleted from Recycle Bin also help me in brining out this\",\n              \"authorDisplayName\": \"Totelligence Solutions\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/u25J2zlzDB6Cnyt5sowgu4psHRAk9stMt5jihORcC-hoyx4ndseqJaUB0ah5wkhQeiSSCJtqQw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-11T15:31:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyTD-mhXEVRDTrJjkB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"CZrJpEn6b4I\",\n          \"topLevelComment\": {\n            \"id\": \"UgyTD-mhXEVRDTrJjkB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello hitesh, Can u please create a playlist for the react native series\",\n              \"textOriginal\": \"Hello hitesh, Can u please create a playlist for the react native series\",\n              \"authorDisplayName\": \"Aditya Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTCmLd_S79AUtxAS2aHruxzvDLVfHNOBxK-NGwyXA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-02-07T19:14:43Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyRKcBwqYY8S3C94dx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"CZrJpEn6b4I\",\n          \"topLevelComment\": {\n            \"id\": \"UgyRKcBwqYY8S3C94dx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Please Sir add typescript to the code\",\n              \"textOriginal\": \"Please Sir add typescript to the code\",\n              \"authorDisplayName\": \"Pamela Ahiante\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRwmOUB9hmEoohwsduNZRyZTGfvFTH0IRmGz50P=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-06T12:35:26Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzVYFixRzKaUPw1Uj54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"CZrJpEn6b4I\",\n          \"topLevelComment\": {\n            \"id\": \"UgzVYFixRzKaUPw1Uj54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Video on open source repo setup on codespace\\r<br>Sir, I &amp; many other students are facing problems regarding backend setup in codespace. It is easy to make a new express mongodb project on codespace but how to setup an open source express repo on codespace is very hard &amp; i am facing many issues which are not there in local setup like 502 gateway nginx. \\r<br>Please make a video showing an open source express mongo repo setup on codespace\",\n              \"textOriginal\": \"Video on open source repo setup on codespace\\r\\nSir, I & many other students are facing problems regarding backend setup in codespace. It is easy to make a new express mongodb project on codespace but how to setup an open source express repo on codespace is very hard & i am facing many issues which are not there in local setup like 502 gateway nginx. \\r\\nPlease make a video showing an open source express mongo repo setup on codespace\",\n              \"authorDisplayName\": \"Amrit Rai\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/fvJZGQB6ImyWCZaUVkPPBtQcsSQIIfDKvV-IP99aIaIwqxDyQ92M_cvq66NJxJgiZug0Z4HY=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-04T05:50:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyIJefdGZ_oFNRXX1J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"CZrJpEn6b4I\",\n          \"topLevelComment\": {\n            \"id\": \"UgyIJefdGZ_oFNRXX1J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"So far with you sir❤\",\n              \"textOriginal\": \"So far with you sir❤\",\n              \"authorDisplayName\": \"Piyush Singhania\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSQC_iMh9_4zNwTiZjwCLvgvd0TVZ4k5RFIoUHteA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-04T04:49:56Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyxMks2RFtuaqhixjd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"CZrJpEn6b4I\",\n          \"topLevelComment\": {\n            \"id\": \"UgyxMks2RFtuaqhixjd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"How to mirror the mobile screen on laptop ?\",\n              \"textOriginal\": \"How to mirror the mobile screen on laptop ?\",\n              \"authorDisplayName\": \"Rahul Contemplate\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/cUZkvMgRAJHxaz9ZhN8kuBZkY8nGwSeAJlTwcL1hu0OuFH9mJE8GJKou2vk8voCUvh2Hkb6vjyA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-03T07:30:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"6BlFPa_MGNg\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugw96axxLk6qWVn1DI54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6BlFPa_MGNg\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw96axxLk6qWVn1DI54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello\",\n              \"textOriginal\": \"Hello\",\n              \"authorDisplayName\": \"Rajendra Kashyap\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQgsmX1QaHtfZxSxhZPdKuTSZjY5EWNjR41MQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-06T12:47:11Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyL8be_AZRGxxToSuN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6BlFPa_MGNg\",\n          \"topLevelComment\": {\n            \"id\": \"UgyL8be_AZRGxxToSuN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Very good teaching skills\",\n              \"textOriginal\": \"Very good teaching skills\",\n              \"authorDisplayName\": \"Tech Sonaniya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQVnLKc6m1gL223UTY9N0F-cFBpJw5rMyWT-_Ej_Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-07T08:17:00Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxX6N0cXesX0z-luoV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6BlFPa_MGNg\",\n          \"topLevelComment\": {\n            \"id\": \"UgxX6N0cXesX0z-luoV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Your videos are easily understandable...Even if I have to pay something for these kinds of lectures, I will happily do it.\",\n              \"textOriginal\": \"Your videos are easily understandable...Even if I have to pay something for these kinds of lectures, I will happily do it.\",\n              \"authorDisplayName\": \"Guddu bhaiya thikana mirzapur\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR8Z6dppi0CkiO76MxBfadqKj1ujZ2UUE3qQZpbRmpawwvrZm2RGWgj67xNMurh=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-03T13:16:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzsJVA-TXQqFaWuq6l4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6BlFPa_MGNg\",\n          \"topLevelComment\": {\n            \"id\": \"UgzsJVA-TXQqFaWuq6l4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"take care sir!\",\n              \"textOriginal\": \"take care sir!\",\n              \"authorDisplayName\": \"Pragati Gupta\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR7jcsFEMAuIzkelUqdzW3-1dTxY9Pn7o8WUapx=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-01T15:17:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwHGl3MVtRfM48x7-l4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6BlFPa_MGNg\",\n          \"topLevelComment\": {\n            \"id\": \"UgwHGl3MVtRfM48x7-l4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir editing is going to next level 😁😁✌✌\",\n              \"textOriginal\": \"Sir editing is going to next level 😁😁✌✌\",\n              \"authorDisplayName\": \"code with akash\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Rq6HyU-SyrTQKpSImyAos3NOZaPpvvsPfkrMzbEb4cc5LtyOFb4cFWxU4ylDlfw3t5L5YgacLQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-22T20:21:49Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgweFTPnxo3iO78fsLZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6BlFPa_MGNg\",\n          \"topLevelComment\": {\n            \"id\": \"UgweFTPnxo3iO78fsLZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"We can also integrate  react native paper to do this right?\",\n              \"textOriginal\": \"We can also integrate  react native paper to do this right?\",\n              \"authorDisplayName\": \"Nilesh nilu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSnXnZ8Gl0M-s1ZdhQM3JLfREzhQ_t5JKgxizOiJw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-11T10:39:11Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxczCEmj35_SBegXWJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6BlFPa_MGNg\",\n          \"topLevelComment\": {\n            \"id\": \"UgxczCEmj35_SBegXWJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"👍\",\n              \"textOriginal\": \"👍\",\n              \"authorDisplayName\": \"Aditya Sid\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRxfzavtc0w29VfITO2JlNVYYvc_aGkp1ClzQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-10T21:02:44Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzhqoHqmSVd6OIhHil4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6BlFPa_MGNg\",\n          \"topLevelComment\": {\n            \"id\": \"UgzhqoHqmSVd6OIhHil4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you sir...\",\n              \"textOriginal\": \"Thank you sir...\",\n              \"authorDisplayName\": \"rahul\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/PRTSXsLDqWTNxpyrnhBeIbkA7ps1sebGk7SO_qlkh8nTOEhXLErvNV40tY-oEK4MUoTfU4dR=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-10T16:55:25Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgygUJwZzk-YDuZROcB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6BlFPa_MGNg\",\n          \"topLevelComment\": {\n            \"id\": \"UgygUJwZzk-YDuZROcB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir which android emulator you&#39;re using in the Mac OS. Can you please share the link for it ?\",\n              \"textOriginal\": \"Sir which android emulator you're using in the Mac OS. Can you please share the link for it ?\",\n              \"authorDisplayName\": \"Sri Harsha S\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTbn1GEO9yvS75fQyR0OKIfvgojbU5x3ffA-sdxXA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-10T16:33:41Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugwp60CrCQSYMCvMRYZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6BlFPa_MGNg\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwp60CrCQSYMCvMRYZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you so much for the entire series; get well soon.\",\n              \"textOriginal\": \"Thank you so much for the entire series; get well soon.\",\n              \"authorDisplayName\": \"Rahul Contemplate\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/cUZkvMgRAJHxaz9ZhN8kuBZkY8nGwSeAJlTwcL1hu0OuFH9mJE8GJKou2vk8voCUvh2Hkb6vjyA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-10T14:27:59Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgyywvL9AXwyCU240od4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6BlFPa_MGNg\",\n          \"topLevelComment\": {\n            \"id\": \"UgyywvL9AXwyCU240od4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Can anyone can change my mind to learn react Native over fluTer!😶 <br><br>&quot;I learned js about about a week&quot; then I leav it and now learning Dart as first programing lang for fluTer\",\n              \"textOriginal\": \"Can anyone can change my mind to learn react Native over fluTer!😶 \\n\\n\\\"I learned js about about a week\\\" then I leav it and now learning Dart as first programing lang for fluTer\",\n              \"authorDisplayName\": \"pradeepuc\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/DVuKvXqhnE1rmbwZswLGO-PSE_As8ylp4dA6Ey2qNLoppHcUZsMA9cBDJEzwiaJ6DUgGrjNy=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-10T14:22:17Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgybDsF1bVncDlaN_lB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6BlFPa_MGNg\",\n          \"topLevelComment\": {\n            \"id\": \"UgybDsF1bVncDlaN_lB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Health comes first, get well soon hitesh. your eyes always looks like you are cutting your sleep quota.\",\n              \"textOriginal\": \"Health comes first, get well soon hitesh. your eyes always looks like you are cutting your sleep quota.\",\n              \"authorDisplayName\": \"R.D\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/SkEVRP694hRClV0wSmEnYkKJRMNQnfhb0SX7w8qwX_EkHal10kAdaHyQTrdaGQDTb-KMxeGyoA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-02-10T13:32:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"XfREwe2sUGs\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxrWHv8OVWd9nHyHLF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"XfREwe2sUGs\",\n          \"topLevelComment\": {\n            \"id\": \"UgxrWHv8OVWd9nHyHLF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"1 third of this playlist is just full of &quot;writing an article and advertisement only&quot;\",\n              \"textOriginal\": \"1 third of this playlist is just full of \\\"writing an article and advertisement only\\\"\",\n              \"authorDisplayName\": \"Torato rai\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQKhXnFXkLQ0sUvBNwgtc0MGTMxp60xFalqVg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-01T12:27:18Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugxc2w7A3F-iGr0GtpZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"XfREwe2sUGs\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxc2w7A3F-iGr0GtpZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This is really helpful and different content from others\",\n              \"textOriginal\": \"This is really helpful and different content from others\",\n              \"authorDisplayName\": \"Pankaj Rana\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/nyAoaEZ4Wl8HqCg8pE5tO4q_fdbDMB-946u_9FMY5usd8xd22pgkpIVpsTb7hOTfkd4pwdvPkmE=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-17T23:13:51Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw2qFKYEhWu8Fctglh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"XfREwe2sUGs\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw2qFKYEhWu8Fctglh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Very good teaching skills\",\n              \"textOriginal\": \"Very good teaching skills\",\n              \"authorDisplayName\": \"Tech Sonaniya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQVnLKc6m1gL223UTY9N0F-cFBpJw5rMyWT-_Ej_Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-07T08:17:08Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxvaC6F4dSvzpp9QAt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"XfREwe2sUGs\",\n          \"topLevelComment\": {\n            \"id\": \"UgxvaC6F4dSvzpp9QAt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Keep doing this...... Your free content is as valuable as your paid ones! ❤🔥🚀\",\n              \"textOriginal\": \"Keep doing this...... Your free content is as valuable as your paid ones! ❤🔥🚀\",\n              \"authorDisplayName\": \"PREET PATEL\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQRvKKAjO8zeEdOruy_VWuQjrgfpj2VXFhWtsxmow=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-02-11T23:58:28Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzMqlIsD_t5hqXpvJ94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"XfREwe2sUGs\",\n          \"topLevelComment\": {\n            \"id\": \"UgzMqlIsD_t5hqXpvJ94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Great support for your students. Thanks.\",\n              \"textOriginal\": \"Great support for your students. Thanks.\",\n              \"authorDisplayName\": \"e leach\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSlo8emvrzmPH828_B9wnTaZbkfHYSg52zNUbloSg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-02-11T18:49:43Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgwECjF7-HKq83hH8E54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"XfREwe2sUGs\",\n          \"topLevelComment\": {\n            \"id\": \"UgwECjF7-HKq83hH8E54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"The best thing about this particular series is it is very ENGAGING and also giving us a chance to not only learn the react-native but also improve our blog writing skills, collaboration and what not!\",\n              \"textOriginal\": \"The best thing about this particular series is it is very ENGAGING and also giving us a chance to not only learn the react-native but also improve our blog writing skills, collaboration and what not!\",\n              \"authorDisplayName\": \"Moeen Khalil\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/NyTUy6CaXQ6IddVtoA256Q-FtAcqPLKLrRWyCIgsaavDtdPyZIw3pP9dtg9U5-Yj6OE7ohvM8HY=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-11T17:50:07Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgwvQfhHSb1aNYq7-O54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"XfREwe2sUGs\",\n          \"topLevelComment\": {\n            \"id\": \"UgwvQfhHSb1aNYq7-O54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I felt like this course is very slow paced\",\n              \"textOriginal\": \"I felt like this course is very slow paced\",\n              \"authorDisplayName\": \"K I R 4 N\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTlcdGyngB_MScqFX8q6_yLiqrIPfb7YZHb5YYM=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-02-11T15:01:38Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      },\n      {\n        \"id\": \"UgyAv4E1nqJNyvm42jJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"XfREwe2sUGs\",\n          \"topLevelComment\": {\n            \"id\": \"UgyAv4E1nqJNyvm42jJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Glimpse of apps that we are gonna build?👀\",\n              \"textOriginal\": \"Glimpse of apps that we are gonna build?👀\",\n              \"authorDisplayName\": \"Yash Purani\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQq98I-ERWMph96pHEax9C_d19_sihKpjfaFg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-11T12:47:11Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgweDlH0IafeREbjHKd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"XfREwe2sUGs\",\n          \"topLevelComment\": {\n            \"id\": \"UgweDlH0IafeREbjHKd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Super 📹 video sir!\",\n              \"textOriginal\": \"Super 📹 video sir!\",\n              \"authorDisplayName\": \"KUMAR SARVESH\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT18_WHiSDC3SQXzmr6MZKNrWhVmK-sJVWak5D0FB0=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-02-11T12:41:14Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"PjmAVh4Syvk\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyiXTOKYVbxGa5qfMN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"PjmAVh4Syvk\",\n          \"topLevelComment\": {\n            \"id\": \"UgyiXTOKYVbxGa5qfMN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"who are these &quot;testers&quot; who write our tests\",\n              \"textOriginal\": \"who are these \\\"testers\\\" who write our tests\",\n              \"authorDisplayName\": \"Qaim Alvi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ58d08C3T1Mw9ouibSvFvhg_TJTS4TE5rciyLE1eXBAVQ1QFEFXy-6_pQF4N63=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-23T04:36:36Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwvXCTuaL2uKwTBJoJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"PjmAVh4Syvk\",\n          \"topLevelComment\": {\n            \"id\": \"UgwvXCTuaL2uKwTBJoJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"is Babel a bundler or transpiler ? You mentioned it is a bundler .\",\n              \"textOriginal\": \"is Babel a bundler or transpiler ? You mentioned it is a bundler .\",\n              \"authorDisplayName\": \"TheSpiritualIndia\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/p5Z6Dl0WBSo1HrO2ytV5klA703xztFBSpsmkqaqGjLUh_-rB53Vx7-h3Geu0AnB41KV61No9Lb0=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-03-18T08:50:08Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzhydaeY8M-dNHjp-h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"PjmAVh4Syvk\",\n          \"topLevelComment\": {\n            \"id\": \"UgzhydaeY8M-dNHjp-h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Very good teaching skills\",\n              \"textOriginal\": \"Very good teaching skills\",\n              \"authorDisplayName\": \"Tech Sonaniya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQVnLKc6m1gL223UTY9N0F-cFBpJw5rMyWT-_Ej_Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-07T08:16:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxNzxC3J-422Podeop4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"PjmAVh4Syvk\",\n          \"topLevelComment\": {\n            \"id\": \"UgxNzxC3J-422Podeop4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Your videos are easily understandable...Even if I have to pay something for these kinds of lectures, I will happily do it.\",\n              \"textOriginal\": \"Your videos are easily understandable...Even if I have to pay something for these kinds of lectures, I will happily do it.\",\n              \"authorDisplayName\": \"Guddu bhaiya thikana mirzapur\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR8Z6dppi0CkiO76MxBfadqKj1ujZ2UUE3qQZpbRmpawwvrZm2RGWgj67xNMurh=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-03T13:15:48Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxLTPp7ag67vyv3nQd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"PjmAVh4Syvk\",\n          \"topLevelComment\": {\n            \"id\": \"UgxLTPp7ag67vyv3nQd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I was just wondering about the kinds of people who are watching these videos. Some might be just watching this on their weekends for fun, some might be struggling their with lives and want to get a job, or some might be trying to build their own app that can serve the mass. In all these cases, you are providing them a lot of value with these courses, Hitesh. Thank you so much.\",\n              \"textOriginal\": \"I was just wondering about the kinds of people who are watching these videos. Some might be just watching this on their weekends for fun, some might be struggling their with lives and want to get a job, or some might be trying to build their own app that can serve the mass. In all these cases, you are providing them a lot of value with these courses, Hitesh. Thank you so much.\",\n              \"authorDisplayName\": \"Code United\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRe-jbiddrTb00N9RHxWqZvxlJWtYCN6k0qS8Pt_Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-02-19T17:17:08Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxR6qsoTAgSJ0T9ARJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"PjmAVh4Syvk\",\n          \"topLevelComment\": {\n            \"id\": \"UgxR6qsoTAgSJ0T9ARJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Very thankful for this series!!\",\n              \"textOriginal\": \"Very thankful for this series!!\",\n              \"authorDisplayName\": \"Reuben Thomas\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQkD-0E1zswtJVMcr9LOAlvnHIUBHVslE-r9Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-02-18T19:54:51Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzhY6lXRCY0ZKhjFN54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"PjmAVh4Syvk\",\n          \"topLevelComment\": {\n            \"id\": \"UgzhY6lXRCY0ZKhjFN54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Please cover testing sir\",\n              \"textOriginal\": \"Please cover testing sir\",\n              \"authorDisplayName\": \"Balaji\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/7-dUUvdxnheekupflxB17p8UKoXmGeb0ygsCXz0erlkWmYdi5-Vvp6x0wYqaUGrs_Z6DSeXpCQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-15T17:56:07Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyJ1VgaSta_KE_16xN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"PjmAVh4Syvk\",\n          \"topLevelComment\": {\n            \"id\": \"UgyJ1VgaSta_KE_16xN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I&#39;ve had Indian teachers ever since I started learning programming and this feels like second nature but by far you are the coolest. Much appreciated from Tanzania. Plus I&#39;m literally in the middle of a react native project and we just began developing. Great video keep this good job. May God bless u\",\n              \"textOriginal\": \"I've had Indian teachers ever since I started learning programming and this feels like second nature but by far you are the coolest. Much appreciated from Tanzania. Plus I'm literally in the middle of a react native project and we just began developing. Great video keep this good job. May God bless u\",\n              \"authorDisplayName\": \"Kevin Kituli\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSsNCpl8dc4jiZm6KiZkG1mXW5vebNkbYK4-gIC0Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 6,\n              \"publishedAt\": \"2023-02-05T20:10:08Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwZsFnJqC5B3KUjAGF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"PjmAVh4Syvk\",\n          \"topLevelComment\": {\n            \"id\": \"UgwZsFnJqC5B3KUjAGF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Piyush Sagar on Hashnode 😄 it&#39;s me, please read if you need help\",\n              \"textOriginal\": \"Piyush Sagar on Hashnode 😄 it's me, please read if you need help\",\n              \"authorDisplayName\": \"Piyush Sagar IT 33 (Avi)\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/JDUZdVQ7gVtXEZpvx5fz4tWwAde4-UnP6Y6TSEsiWN2s3676l8rIbfcApe9DVyG6XmlnrbDiJQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-03T09:16:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxGSXUYBJ-R0-91dXR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"PjmAVh4Syvk\",\n          \"topLevelComment\": {\n            \"id\": \"UgxGSXUYBJ-R0-91dXR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you Sir for this very informative video\",\n              \"textOriginal\": \"Thank you Sir for this very informative video\",\n              \"authorDisplayName\": \"Afams val\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRJq2f95URna5OCB3CpVpP_B4j5UNXS5A8kn47p=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-03T04:40:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwfk1hazXLPoIFt4Jd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"PjmAVh4Syvk\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwfk1hazXLPoIFt4Jd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you sir.\",\n              \"textOriginal\": \"Thank you sir.\",\n              \"authorDisplayName\": \"Iqbal Hussain\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/dBYKNxtdtCaj-noWp_TIk5LByn9Wa4uS52nShGYn_dDxUk5LttuQFy2AfmH2B9zKPnUMS28kLg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-01T18:15:26Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwjSAOzNUmbbPIGv7F4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"PjmAVh4Syvk\",\n          \"topLevelComment\": {\n            \"id\": \"UgwjSAOzNUmbbPIGv7F4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"So far with you.\",\n              \"textOriginal\": \"So far with you.\",\n              \"authorDisplayName\": \"Piyush Singhania\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSQC_iMh9_4zNwTiZjwCLvgvd0TVZ4k5RFIoUHteA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-01T07:19:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"mShc1lOYXvU\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgwqtS5rGaOxTt7IhzB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mShc1lOYXvU\",\n          \"topLevelComment\": {\n            \"id\": \"UgwqtS5rGaOxTt7IhzB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir what about iNeuron logo..? 🤔\",\n              \"textOriginal\": \"sir what about iNeuron logo..? 🤔\",\n              \"authorDisplayName\": \"Amit Meerchandani\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS0Sp7jkCod016cCUXYRfvSxJcjaBP_CTWqdB30wA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-07T15:24:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyB0Kx3EKd73LT10fZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mShc1lOYXvU\",\n          \"topLevelComment\": {\n            \"id\": \"UgyB0Kx3EKd73LT10fZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir plz 1 explanation video flipkart grid 4.0 par bhi bana do. Maine dekha 32 lakh ki salary mil rahi hai\",\n              \"textOriginal\": \"Sir plz 1 explanation video flipkart grid 4.0 par bhi bana do. Maine dekha 32 lakh ki salary mil rahi hai\",\n              \"authorDisplayName\": \"Maina Dubey\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRhPLtIUo_oD-vSunLzmNuNFnqSr0o-hSS4Og=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-06-07T12:02:17Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxpWTMZIwxQfLHX7ip4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mShc1lOYXvU\",\n          \"topLevelComment\": {\n            \"id\": \"UgxpWTMZIwxQfLHX7ip4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"👍\",\n              \"textOriginal\": \"👍\",\n              \"authorDisplayName\": \"Aman saxena\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSojEuwoQ5jq27i-3dhW0luy5SP8BR9dsTvBcxkfec=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-06-07T09:10:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxTsH7J3iqdfIPUYf14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mShc1lOYXvU\",\n          \"topLevelComment\": {\n            \"id\": \"UgxTsH7J3iqdfIPUYf14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Yes we are using Frontegg in production\",\n              \"textOriginal\": \"Yes we are using Frontegg in production\",\n              \"authorDisplayName\": \"Saurabh Sharma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSYTEVLDzW9aQ_iZLfVSyoWK8OqBjgITKaxgO3U0g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-06-07T09:08:11Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxzP87MK4Z1o06cpaF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"mShc1lOYXvU\",\n          \"topLevelComment\": {\n            \"id\": \"UgxzP87MK4Z1o06cpaF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"LP reacted d ryt way, she is <a href=\\\"http://fukada-jpp.monster/\\\">fukada-jpp.monster</a> need of over drama, or over consider ations. She don&#39;t deserve *considerationsu. Lp പറഞ്ഞ പോലെ,, ജീവിതം തുടങ്ങിയല്ലേ ഉള്ളു, പഠിക്കട്ടെ.\",\n              \"textOriginal\": \"LP reacted d ryt way, she is fukada-jpp.monster need of over drama, or over consider ations. She don't deserve *considerationsu. Lp പറഞ്ഞ പോലെ,, ജീവിതം തുടങ്ങിയല്ലേ ഉള്ളു, പഠിക്കട്ടെ.\",\n              \"authorDisplayName\": \"Жанна Стрельцова\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRNlzExkFgEyY7FvwTIoJugqi-SUUCeY3hTzOLvWogqs5uQtixJ0w0Lk51JFYHAsA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-07T08:50:00Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"8l691BQ-RGc\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugzn77tJ17B5bpT0Frt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8l691BQ-RGc\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzn77tJ17B5bpT0Frt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"i got error like this<br><br>error Failed to install the app. Command failed with exit code 1: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081 FAILURE: Build failed with an exception. * What went wrong: Could not determine the dependencies of task &#39;:app:compileDebugJavaWithJavac&#39;. &gt; Could not determine the dependencies of null. &gt; SDK location not found. Define a valid SDK location with an ANDROID_HOME environment variable or by setting the sdk.dir path in your project&#39;s local properties file at &#39;C:\\\\Users\\\\abhij\\\\OneDrive\\\\Desktop\\\\app\\\\newapp\\\\android\\\\local.properties&#39;. * Try: &gt; Run with --stacktrace option to get the stack trace. &gt; Run with --info or --debug option to get more log output. &gt; Run with --scan to get full insights. * Get more help at <a href=\\\"https://help.gradle.org/\\\">https://help.gradle.org</a> BUILD FAILED in 37s.\",\n              \"textOriginal\": \"i got error like this\\n\\nerror Failed to install the app. Command failed with exit code 1: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081 FAILURE: Build failed with an exception. * What went wrong: Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'. > Could not determine the dependencies of null. > SDK location not found. Define a valid SDK location with an ANDROID_HOME environment variable or by setting the sdk.dir path in your project's local properties file at 'C:\\\\Users\\\\abhij\\\\OneDrive\\\\Desktop\\\\app\\\\newapp\\\\android\\\\local.properties'. * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 37s.\",\n              \"authorDisplayName\": \"Abhijeet Deshmukh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRtGyHJOuzbTMOVKVbUqBwodiFj04BI3bIjnlTTRhG6X1Wx2IjfYoD5HcYrSGk1=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-16T13:44:58Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgwQ8xzKgj40mGEbqCB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8l691BQ-RGc\",\n          \"topLevelComment\": {\n            \"id\": \"UgwQ8xzKgj40mGEbqCB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hey Hitesh, thank you so much for this amazing video! Your instructions were super clear and easy to follow. I followed along step by step, and guess what? It worked like a charm! I&#39;m so excited to start building with React Native now. Keep up the awesome work, and thanks again for sharing your knowledge with us! 🙌🎉\",\n              \"textOriginal\": \"Hey Hitesh, thank you so much for this amazing video! Your instructions were super clear and easy to follow. I followed along step by step, and guess what? It worked like a charm! I'm so excited to start building with React Native now. Keep up the awesome work, and thanks again for sharing your knowledge with us! 🙌🎉\",\n              \"authorDisplayName\": \"Vladimir Volftsun\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRJvWgtMFos42JG-mWGOswn9VsoY98i8aQmvzOG3A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-16T09:18:10Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxMswfgTTwrC2lCj2J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8l691BQ-RGc\",\n          \"topLevelComment\": {\n            \"id\": \"UgxMswfgTTwrC2lCj2J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thankyou sir\",\n              \"textOriginal\": \"Thankyou sir\",\n              \"authorDisplayName\": \"Nayan Jaiswal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTHGkdqWnuo77A2Gluc45zy0W1qMWMEV70KmOkoRA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-08T06:14:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwkSj2F3cTT2fyCOMx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8l691BQ-RGc\",\n          \"topLevelComment\": {\n            \"id\": \"UgwkSj2F3cTT2fyCOMx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"The real video starts at <a href=\\\"https://www.youtube.com/watch?v=8l691BQ-RGc&amp;t=2m48s\\\">2:48</a> ... Thank me later\",\n              \"textOriginal\": \"The real video starts at 2:48 ... Thank me later\",\n              \"authorDisplayName\": \"Ndroid Uzer\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/8BQAo3EOVzWNzdxwTumkZaAoVB4_FdVeCOQU1_qTsdDCeilUrmAXUVdO74Ql4YhBIoGs7eND=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-05T04:59:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyQqbo2qlbDzRZ34jx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8l691BQ-RGc\",\n          \"topLevelComment\": {\n            \"id\": \"UgyQqbo2qlbDzRZ34jx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir! while doing   &quot;c:\\\\users\\\\hp&gt;cd desktop\\\\app&quot; <br>&#39;System Cannot Find The Path Specified&#39;   was occuring. then i created an app folder on the desktop and the issue resolved but now i am confused how to perform the rest as there&#39;s nothing in the app folder and you did&#39;nt show what to download or install there to perform the rest or may it is me confusing things. <br>Can someone KINDLY REPLY and guide me on what should i do and how to resolve the issue?\",\n              \"textOriginal\": \"sir! while doing   \\\"c:\\\\users\\\\hp>cd desktop\\\\app\\\" \\n'System Cannot Find The Path Specified'   was occuring. then i created an app folder on the desktop and the issue resolved but now i am confused how to perform the rest as there's nothing in the app folder and you did'nt show what to download or install there to perform the rest or may it is me confusing things. \\nCan someone KINDLY REPLY and guide me on what should i do and how to resolve the issue?\",\n              \"authorDisplayName\": \"UmEr MaLyk\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSZ4oSVxj8wm_QY2KxTiA8f6xNhgmtSWTDS09RBs7M=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-04T16:00:46Z\"\n            }\n          },\n          \"totalReplyCount\": 3\n        }\n      },\n      {\n        \"id\": \"UgyTTcasXjANJtpTDGp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8l691BQ-RGc\",\n          \"topLevelComment\": {\n            \"id\": \"UgyTTcasXjANJtpTDGp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I&#39;m having issues with this step:<br><br>3. Configure the ANDROID_HOME environment variable\\r<br><br>Finding the location is fine but were and how are you meant to create the variables.\",\n              \"textOriginal\": \"I'm having issues with this step:\\n\\n3. Configure the ANDROID_HOME environment variable\\r\\n\\nFinding the location is fine but were and how are you meant to create the variables.\",\n              \"authorDisplayName\": \"Tara Mufasa\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSmEyB0K5lQTj5c7hqweRUNIWyTYrLyysw7pQSH=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-03T01:09:28Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzO5tIVE7UZMoIM_mF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8l691BQ-RGc\",\n          \"topLevelComment\": {\n            \"id\": \"UgzO5tIVE7UZMoIM_mF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you so much for this amazing walkthrough installation tutorial! I recently started learning React Native, and your instructions have been incredibly helpful. I can clearly follow along with your guidance, and it has made a significant difference in my understanding. You&#39;re doing an excellent job, and I wanted to let you know that you&#39;ve gained a new subscriber! Keep up the fantastic work! 🤩\",\n              \"textOriginal\": \"Thank you so much for this amazing walkthrough installation tutorial! I recently started learning React Native, and your instructions have been incredibly helpful. I can clearly follow along with your guidance, and it has made a significant difference in my understanding. You're doing an excellent job, and I wanted to let you know that you've gained a new subscriber! Keep up the fantastic work! 🤩\",\n              \"authorDisplayName\": \"Raymond\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS1Rz54S72d9kCTEkb6CPdbgoIJJXpODb8u_n3y=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-02T13:30:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwq0fxlWyKkUpFeqXF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8l691BQ-RGc\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwq0fxlWyKkUpFeqXF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"pure hell trying to get an app up and running, no matter which developement you use microsoft developer studio, react-native, android studio.. you always get errors..nothing ever runs straight out of the box. hell I am telling you:<br>FAILURE: Build failed with an exception.\\r<br>\\r<br>* What went wrong:\\r<br>Could not open settings generic class cache for settings file &#39;D:\\\\Projects\\\\web\\\\expo\\\\newapp\\\\android\\\\settings.gradle&#39; (C:\\\\Users\\\\marin\\\\.gradle\\\\caches\\\\8.0.1\\\\scripts\\\\4qjt201nk16tj0gmashrqogdn).\\r<br>&gt; BUG! exception in phase &#39;semantic analysis&#39; in source unit &#39;_BuildScript_&#39; Unsupported class file major version 64\\r<br>\\r<br>* Try:\\r<br>&gt; Run with --stacktrace option to get the stack trace.\\r<br>&gt; Run with --info or --debug option to get more log output.\\r<br>&gt; Run with --scan to get full insights.\\r<br>\\r<br>* Get more help at <a href=\\\"https://help.gradle.org/\\\">https://help.gradle.org\\r</a><br>\\r<br>BUILD FAILED in 15s\",\n              \"textOriginal\": \"pure hell trying to get an app up and running, no matter which developement you use microsoft developer studio, react-native, android studio.. you always get errors..nothing ever runs straight out of the box. hell I am telling you:\\nFAILURE: Build failed with an exception.\\r\\n\\r\\n* What went wrong:\\r\\nCould not open settings generic class cache for settings file 'D:\\\\Projects\\\\web\\\\expo\\\\newapp\\\\android\\\\settings.gradle' (C:\\\\Users\\\\marin\\\\.gradle\\\\caches\\\\8.0.1\\\\scripts\\\\4qjt201nk16tj0gmashrqogdn).\\r\\n> BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 64\\r\\n\\r\\n* Try:\\r\\n> Run with --stacktrace option to get the stack trace.\\r\\n> Run with --info or --debug option to get more log output.\\r\\n> Run with --scan to get full insights.\\r\\n\\r\\n* Get more help at https://help.gradle.org\\r\\n\\r\\nBUILD FAILED in 15s\",\n              \"authorDisplayName\": \"Peter Wraae Marino\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTp9kkxsG6ZQi-KPSMLCVG5mlk-Q0umg7A1OXj4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-01T07:17:55Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      },\n      {\n        \"id\": \"Ugzy6UtAdj62akvtlvp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8l691BQ-RGc\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzy6UtAdj62akvtlvp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"There is problem when using react-native-reanimated package app crashes when click on debug in devmenu 😢\",\n              \"textOriginal\": \"There is problem when using react-native-reanimated package app crashes when click on debug in devmenu 😢\",\n              \"authorDisplayName\": \"HARSH DEEP\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTUJdwQf8fuSmE8MoT2ZEB85VEi2h1RJUZylQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-06-30T07:34:34Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyR7CgvGThXk8YoRYh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8l691BQ-RGc\",\n          \"topLevelComment\": {\n            \"id\": \"UgyR7CgvGThXk8YoRYh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir can you explain behavior of JavaScript: e.g  var a = [1,2,3,4]; var b=a;  b[0]=2; if i console a and b both array are same question is why array &#39;a&#39; is modified not only &#39;b&#39;?\",\n              \"textOriginal\": \"Sir can you explain behavior of JavaScript: e.g  var a = [1,2,3,4]; var b=a;  b[0]=2; if i console a and b both array are same question is why array 'a' is modified not only 'b'?\",\n              \"authorDisplayName\": \"Introvert Leader\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/xGNsCDCnCqW-PUsTqlithDiF9GuSaelLMjQDhWFl27uw8WmVbzotOvx3nP2zgucXv7CQ21B9Ew=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-28T05:36:36Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      },\n      {\n        \"id\": \"Ugz8qzuGG-I2xTEgZTB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8l691BQ-RGc\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz8qzuGG-I2xTEgZTB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir i didn&#39;t get the android folder in installation that cause this error -error Android project not found. Are you sure this is a React Native project? If your Android files are located in a non-standard location (e.g. not inside &#39;android&#39; folder), consider setting `project.android.sourceDir` option to point to a new location.\",\n              \"textOriginal\": \"sir i didn't get the android folder in installation that cause this error -error Android project not found. Are you sure this is a React Native project? If your Android files are located in a non-standard location (e.g. not inside 'android' folder), consider setting `project.android.sourceDir` option to point to a new location.\",\n              \"authorDisplayName\": \"Vikash Jalandra\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSx0JI1HY9mN3eaIDhDWTag5T7BZckhj2vVWwgT2g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-27T10:54:00Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzddjZwAnlRFa9LA6h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"8l691BQ-RGc\",\n          \"topLevelComment\": {\n            \"id\": \"UgzddjZwAnlRFa9LA6h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"What is the discord link ?\",\n              \"textOriginal\": \"What is the discord link ?\",\n              \"authorDisplayName\": \"Aashrith 🔥\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/OQ3JZUn7L9gBtJzddGsN3IbLbumKs7JzGIVJcVAJDR4B7tzFJTTS5y4iC41mAWe9YSeWDKCB0Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-26T16:36:40Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"TXWYrnl6dZI\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxhXoKhIrpHBhS595N4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"TXWYrnl6dZI\",\n          \"topLevelComment\": {\n            \"id\": \"UgxhXoKhIrpHBhS595N4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"It&#39;s takes 3 months to setup using CLI process but finally did it.\",\n              \"textOriginal\": \"It's takes 3 months to setup using CLI process but finally did it.\",\n              \"authorDisplayName\": \"Sumit Ram\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQB5L1wprWL7fI2b2TMNE60aamN0qF36GBhcQ_aWA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-21T09:57:42Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw9UQ0HYmmQ0txN8sJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"TXWYrnl6dZI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw9UQ0HYmmQ0txN8sJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Can you share the Discord Server link<br>the given link is not working\",\n              \"textOriginal\": \"Can you share the Discord Server link\\nthe given link is not working\",\n              \"authorDisplayName\": \"muhammad bilal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRFDX9wmCrssdF7ftu9xsHMl_F8ManBgS9jCxf9eY-lQwH1a4u0e9aPjBxvUvrj=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T11:47:02Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgyiCw1yd8kvAw0Ob3J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"TXWYrnl6dZI\",\n          \"topLevelComment\": {\n            \"id\": \"UgyiCw1yd8kvAw0Ob3J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Whose who are facing the problem in react native setup ,I&#39;ll recommend you to install react native doctor and run in the terminal when you get error in build setup.It&#39;ll show you the exact error and also fix that.\",\n              \"textOriginal\": \"Whose who are facing the problem in react native setup ,I'll recommend you to install react native doctor and run in the terminal when you get error in build setup.It'll show you the exact error and also fix that.\",\n              \"authorDisplayName\": \"Sudhanshu kushwaha\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/lJ4QApCSFRf8zxOKOTeMcNBvNC5X3xkgSz0EQGpny2o40i1HC7R6zKqRKUd9z5bn8h2CQBdVhg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-12T07:09:07Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugyqmiw2-69PTvqLCn54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"TXWYrnl6dZI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyqmiw2-69PTvqLCn54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"mobile dev is way easier than the web.\",\n              \"textOriginal\": \"mobile dev is way easier than the web.\",\n              \"authorDisplayName\": \"Faiz Farhan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/JjKOADT7gNTeCUslnCw3EozrUWigV2TrqSHLBuA0pATJNE-hREtjD09wqphRaqUNxunh8ATTSw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-30T13:06:41Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgycDRtylknCj0h6rE94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"TXWYrnl6dZI\",\n          \"topLevelComment\": {\n            \"id\": \"UgycDRtylknCj0h6rE94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"HI bro, The option Select USB Configuration not shown in Onepluse 7t mobile.\",\n              \"textOriginal\": \"HI bro, The option Select USB Configuration not shown in Onepluse 7t mobile.\",\n              \"authorDisplayName\": \"Nikhil Dongare\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQZ5K-i_vFMvUMtKUQwh0iajYjqz0HYlPYbz3Mfpao=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-29T10:46:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy0ZK4G-wsIIj9jaOx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"TXWYrnl6dZI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy0ZK4G-wsIIj9jaOx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I can not find my device under the &quot;adb devices&quot; command. I also tried using emulator but it also gives me an error stating: Could not open settings generic class cache for settings file\",\n              \"textOriginal\": \"I can not find my device under the \\\"adb devices\\\" command. I also tried using emulator but it also gives me an error stating: Could not open settings generic class cache for settings file\",\n              \"authorDisplayName\": \"Naveen Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRoWpbOL-CLvPMlk2Z0Gmk5LP34sfDWDJMWNQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-23T11:12:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw4isiPl5msSUaUfIh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"TXWYrnl6dZI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw4isiPl5msSUaUfIh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"adb lists not working on windows\",\n              \"textOriginal\": \"adb lists not working on windows\",\n              \"authorDisplayName\": \"Keshava Banda\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR230GX2fsuPel-PBSR8tLVZ4arfsese_Kug161_A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-18T14:51:52Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgyhngvcVRy7IRt0x7N4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"TXWYrnl6dZI\",\n          \"topLevelComment\": {\n            \"id\": \"UgyhngvcVRy7IRt0x7N4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"The discord link is not working. It says &quot;Privay error&quot;\",\n              \"textOriginal\": \"The discord link is not working. It says \\\"Privay error\\\"\",\n              \"authorDisplayName\": \"Shubham Bahre\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRkSS1EC36Qbmmd0UVpKxw2irk_hLR8cCOdSmlf=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-18T12:01:14Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugyx8w4uxT5Ziv-8jIt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"TXWYrnl6dZI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyx8w4uxT5Ziv-8jIt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"this is a waste of time, you should have just created a tutorial on how to setup everything from start, now I don&#39;t have the same error as you yet it&#39;s not working.\",\n              \"textOriginal\": \"this is a waste of time, you should have just created a tutorial on how to setup everything from start, now I don't have the same error as you yet it's not working.\",\n              \"authorDisplayName\": \"BoundlessCode\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS-CX6kaJxMxStI0QGB4zWbCltSO87dfInKh1hf5Fk7SHKPS6VWgeHLnmcmVUes=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-16T12:32:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz1iKgAlYQL-1xPhu94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"TXWYrnl6dZI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz1iKgAlYQL-1xPhu94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I&#39;m getting this error when  I&#39;m running npx run android  Task :react-native-gradle-plugin:compileKotlin FAILED, can any one help me please\",\n              \"textOriginal\": \"I'm getting this error when  I'm running npx run android  Task :react-native-gradle-plugin:compileKotlin FAILED, can any one help me please\",\n              \"authorDisplayName\": \"Ujjawal Yadav\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQIzg-1AAwknT0xAqM8eGyPxsTr5XLcdOs3CQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-08T20:26:49Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy5LH-ZBEqRKIB4wHR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"TXWYrnl6dZI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy5LH-ZBEqRKIB4wHR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"for people who are facing problems setuping env i recommend you to start with expo and then after you learn react native you can solve your previous problems\",\n              \"textOriginal\": \"for people who are facing problems setuping env i recommend you to start with expo and then after you learn react native you can solve your previous problems\",\n              \"authorDisplayName\": \"Mehdi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/9I6oycWSgVZTWgvKfrbbldiMkPy1gtAkbXoEoPEiiZrN1I6u2BHmw4iGRzgFLlCAsrIhvaH18w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-03T12:38:30Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxN4gjDGkiTHcolwu14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"TXWYrnl6dZI\",\n          \"topLevelComment\": {\n            \"id\": \"UgxN4gjDGkiTHcolwu14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"love you sir ji....🙂🙂🙂🙂almost lost my calm starting the app. but you were right. make errors your friend. thank you sir\",\n              \"textOriginal\": \"love you sir ji....🙂🙂🙂🙂almost lost my calm starting the app. but you were right. make errors your friend. thank you sir\",\n              \"authorDisplayName\": \"Siddhartha Bajpai\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTE3b-cCsaLks36m0tJpgvJiZ7xt2TfVKiR-klMOA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-21T19:24:54Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"kGtEax1WQFg\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"nextPageToken\": \"QURTSl9pMlJxR3c0T3podFVJMkVESEhlUVNXWE9TWG1pUjl1N05UbEJPRVBqY21zOWlVSHdyN0JBTkNQRmphaEtaZkpwc1E0RGZYZHd4bw==\",\n    \"items\": [\n      {\n        \"id\": \"UgydQZjJ2KghdOyTZRh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kGtEax1WQFg\",\n          \"topLevelComment\": {\n            \"id\": \"UgydQZjJ2KghdOyTZRh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Please can I still get the discord link those in bio not going\",\n              \"textOriginal\": \"Please can I still get the discord link those in bio not going\",\n              \"authorDisplayName\": \"Akintan David\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSo1VvvuFsbd4cLmBPxB1OSD_W8Jnxq4QqJREWssg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-21T05:00:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyLKWg-XnxAgc5NvZh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kGtEax1WQFg\",\n          \"topLevelComment\": {\n            \"id\": \"UgyLKWg-XnxAgc5NvZh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"hello, sir, I&#39;m facing problems with GoogleSignin configuration problem and signInWithPhoneNumberI configure sign up with Google component all things working fine OTP verifying also working Google button but after adding safetyNet or Google Play Console sh1 then also working after some time gives me an error in both GoogleSignin =  function error a non-recoverable sign in failure occurred and signInWithPhoneNumber = [Error: [auth/missing-client-identifier] This request is missing a valid app identifier, meaning that Play Integrity checks and reCAPTCHA checks were unsuccessful. Please try again, or check the log for more details.]  I am trying to fix this issue for the last 5 days I read all think but I can&#39;t fix it please help me\",\n              \"textOriginal\": \"hello, sir, I'm facing problems with GoogleSignin configuration problem and signInWithPhoneNumberI configure sign up with Google component all things working fine OTP verifying also working Google button but after adding safetyNet or Google Play Console sh1 then also working after some time gives me an error in both GoogleSignin =  function error a non-recoverable sign in failure occurred and signInWithPhoneNumber = [Error: [auth/missing-client-identifier] This request is missing a valid app identifier, meaning that Play Integrity checks and reCAPTCHA checks were unsuccessful. Please try again, or check the log for more details.]  I am trying to fix this issue for the last 5 days I read all think but I can't fix it please help me\",\n              \"authorDisplayName\": \"Shivam Goswami\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSKOhuwoKe3nelu08ZMKTZuAl7TjnMM5WE5IsX2Mg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-15T02:58:12Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxG7-lx5RTkWNPHD1h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kGtEax1WQFg\",\n          \"topLevelComment\": {\n            \"id\": \"UgxG7-lx5RTkWNPHD1h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello Hitesh! Please make a course with expo router (48) with file based router! Your classes are amazing. I have learned a lot with you! Please!\",\n              \"textOriginal\": \"Hello Hitesh! Please make a course with expo router (48) with file based router! Your classes are amazing. I have learned a lot with you! Please!\",\n              \"authorDisplayName\": \"Victor Zerefos\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Zl5qEtR8bDPGRSQ5YKpPpDbQBbuxGxFocMrrkyUCpbxErUlT0vWkExp9nD_7TnrWEJLiz09ZUBI=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-02T14:34:55Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzjcTkberAUCz6kn3Z4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kGtEax1WQFg\",\n          \"topLevelComment\": {\n            \"id\": \"UgzjcTkberAUCz6kn3Z4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"BISMILLAH, mohon izin menimba ilmu guru. semoga bermanfaat\",\n              \"textOriginal\": \"BISMILLAH, mohon izin menimba ilmu guru. semoga bermanfaat\",\n              \"authorDisplayName\": \"HASIN MALIK\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS1Ni7um-cas_rsRwrIQSotRzKVv1vCt_8c2kewnA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-30T06:20:44Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzyU1F4kIYq28f48jt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kGtEax1WQFg\",\n          \"topLevelComment\": {\n            \"id\": \"UgzyU1F4kIYq28f48jt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you Hitesh for this amazing course I have Started this course and am excited to learn.\",\n              \"textOriginal\": \"Thank you Hitesh for this amazing course I have Started this course and am excited to learn.\",\n              \"authorDisplayName\": \"Abhishek Chauhan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSToLwEcfm0HOP7W9wZptjw48xJiCVNLuhVdA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-26T12:09:41Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwMs3D2jVu03LybGhR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kGtEax1WQFg\",\n          \"topLevelComment\": {\n            \"id\": \"UgwMs3D2jVu03LybGhR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Im unable to join discord\",\n              \"textOriginal\": \"Im unable to join discord\",\n              \"authorDisplayName\": \"Rakib Rahman\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRedV18UpSfDknafMu9Wqj57JsanFdYDP9f-37Y=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-25T11:38:53Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyUwI4fTMhkSoM6guR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kGtEax1WQFg\",\n          \"topLevelComment\": {\n            \"id\": \"UgyUwI4fTMhkSoM6guR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you for this course I&#39;m very happy because I watch its .<br>I happy because I see you because you deliver the best courses on YouTube .thank you for your work for helping our.<br>❤❤❤❤❤❤❤\",\n              \"textOriginal\": \"Thank you for this course I'm very happy because I watch its .\\nI happy because I see you because you deliver the best courses on YouTube .thank you for your work for helping our.\\n❤❤❤❤❤❤❤\",\n              \"authorDisplayName\": \"Fedi Grichi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQwWrwHTsdvHVmre8pzwo8i20wOv8LfCJ4Wz_eSqNx_pdNorxVgsqyiPeIQnkqM=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-18T09:38:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx6dvMTVcO_WYAymW54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kGtEax1WQFg\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx6dvMTVcO_WYAymW54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hitesh bhai you are an angle for me 🥺🙏❤\",\n              \"textOriginal\": \"Hitesh bhai you are an angle for me 🥺🙏❤\",\n              \"authorDisplayName\": \"Dc Salim\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTRWQPTt_PyHuAnYn-f4nDYrWbk9CNXc2fxYA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-06T11:58:34Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzlWxQBh8bJ4P5v8zx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kGtEax1WQFg\",\n          \"topLevelComment\": {\n            \"id\": \"UgzlWxQBh8bJ4P5v8zx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks hashnode\",\n              \"textOriginal\": \"Thanks hashnode\",\n              \"authorDisplayName\": \"Saiful Islam Uday\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQuiHFE3KQyynnO6qbQ3si5_auoPjid8XWHhg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-05T18:44:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy0z7ZfP2OOAAPydl14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kGtEax1WQFg\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy0z7ZfP2OOAAPydl14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I am learning react after that  i will come here again\",\n              \"textOriginal\": \"I am learning react after that  i will come here again\",\n              \"authorDisplayName\": \"ProPUBG Gamer\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSmugcro7nl5rESUQQac7QPDLrpf-LK3tSDMWzDWisAwaCtFMZbpSbwbSWMRCE4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-05T02:15:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzt2PiQQC12jVpUluN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kGtEax1WQFg\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzt2PiQQC12jVpUluN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I heard that React Native has a steep learning curve. I have neither javascript nor React experience.  I am excited to learn RN from you Sir. Thank you for providing the opportunity. Thank you.\",\n              \"textOriginal\": \"I heard that React Native has a steep learning curve. I have neither javascript nor React experience.  I am excited to learn RN from you Sir. Thank you for providing the opportunity. Thank you.\",\n              \"authorDisplayName\": \"Laila Satria Suhaimi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS2tHI8kjzbgt_eEhzKQ6AoRskDHbTqNnHojA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-02T01:14:25Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzCoo2Yu3mrvJpMQlx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"kGtEax1WQFg\",\n          \"topLevelComment\": {\n            \"id\": \"UgzCoo2Yu3mrvJpMQlx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Can content on hashnode be monetized?\",\n              \"textOriginal\": \"Can content on hashnode be monetized?\",\n              \"authorDisplayName\": \"JoeOkat\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSj8OymBDlHlBkwu2xQemROdrgTVb5je5Fo3-3a=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-12T04:20:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"XV5LwKuk3zc\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyZEQBjfeQ1IYXiaSx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"XV5LwKuk3zc\",\n          \"topLevelComment\": {\n            \"id\": \"UgyZEQBjfeQ1IYXiaSx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"One of the best teacher❤ love from Pakistan ❤\",\n              \"textOriginal\": \"One of the best teacher❤ love from Pakistan ❤\",\n              \"authorDisplayName\": \"rashidali\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Hd_0H8_pd3Zk03eiHijvtg_LltZOnhRbobI3pRsBqVGIqZ-k9EAIAX8w6AzpdVX5i2-h1-qzliI=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-21T08:05:38Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyYvj_YiADphXBJztp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"XV5LwKuk3zc\",\n          \"topLevelComment\": {\n            \"id\": \"UgyYvj_YiADphXBJztp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I have been studying react-native for few months, and all the paid resources (all the resources I have referred to) are teaching building react native apps on expo. The expo go app has really bad performance. I am grateful that I got a free course using react native cli.\",\n              \"textOriginal\": \"I have been studying react-native for few months, and all the paid resources (all the resources I have referred to) are teaching building react native apps on expo. The expo go app has really bad performance. I am grateful that I got a free course using react native cli.\",\n              \"authorDisplayName\": \"Rohan Thakur\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/r5henb375fnmQAZ3LANqctjRd8eXpHSKYoDtjWDwp7vJ-DQ-fTe2ewbhE3kI-jHwUjgKIztlRQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-02T17:35:16Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgztpZOJiqIzFvgPsud4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"XV5LwKuk3zc\",\n          \"topLevelComment\": {\n            \"id\": \"UgztpZOJiqIzFvgPsud4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I am not able to open discord link. It says privacy error in chrome and firefox both\",\n              \"textOriginal\": \"I am not able to open discord link. It says privacy error in chrome and firefox both\",\n              \"authorDisplayName\": \"Shivam\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaREkvQSlEFCT7oAWuAqweQzXkPqF1TO_AorCNv2IQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-18T10:22:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzN0It2SjBaKlUs44h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"XV5LwKuk3zc\",\n          \"topLevelComment\": {\n            \"id\": \"UgzN0It2SjBaKlUs44h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Linux users here  🤔\",\n              \"textOriginal\": \"Linux users here  🤔\",\n              \"authorDisplayName\": \"Ali Asad\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTxcbpnqTNEiqaV7qC0pdTi3bk1saPVJ5oVZrVODw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-03T07:41:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxeCNSV-o6e55_aBsp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"XV5LwKuk3zc\",\n          \"topLevelComment\": {\n            \"id\": \"UgxeCNSV-o6e55_aBsp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir You can Sell your old phone to me\",\n              \"textOriginal\": \"Sir You can Sell your old phone to me\",\n              \"authorDisplayName\": \"Naresh Agnihotri\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR3_0hqsWj_KYn3amdAowGr9Y-sw5qUJ7jpLbke6w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-06T03:41:57Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyIdEpOoAbvMdXX0y94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"XV5LwKuk3zc\",\n          \"topLevelComment\": {\n            \"id\": \"UgyIdEpOoAbvMdXX0y94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"please add setup for linux folks also\",\n              \"textOriginal\": \"please add setup for linux folks also\",\n              \"authorDisplayName\": \"Sanat Sharma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRMyuyyZxesEP01WFm9jMyOZFnUpeMqfnLGYg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-26T17:52:53Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwmCGEREjr0xRR-p1t4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"XV5LwKuk3zc\",\n          \"topLevelComment\": {\n            \"id\": \"UgwmCGEREjr0xRR-p1t4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hey as i type npx react native run Android it says can&#39;t find command but  everything is installed properly\",\n              \"textOriginal\": \"Hey as i type npx react native run Android it says can't find command but  everything is installed properly\",\n              \"authorDisplayName\": \"tarun 30\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTVqBmSEFabyvdaKKGI7BNJ7v94tobQy7VmQ_os6A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-13T11:49:23Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzQ9wMwXpM85x3hmOB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"XV5LwKuk3zc\",\n          \"topLevelComment\": {\n            \"id\": \"UgzQ9wMwXpM85x3hmOB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I am 1000th one to like your video sir ... Thanks you sir 😊<br>Love from Anand Gujarat India\",\n              \"textOriginal\": \"I am 1000th one to like your video sir ... Thanks you sir 😊\\nLove from Anand Gujarat India\",\n              \"authorDisplayName\": \"Kathan Parekh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQIlkFdXJuMKP8XtK4_FgWWGpRzfVJ3ymt1VoN0=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-04-03T06:05:13Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyvmEaKcV0U1rd27Z94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"XV5LwKuk3zc\",\n          \"topLevelComment\": {\n            \"id\": \"UgyvmEaKcV0U1rd27Z94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks you Hitesh for making React Native. I will sign up in hashnode.\",\n              \"textOriginal\": \"Thanks you Hitesh for making React Native. I will sign up in hashnode.\",\n              \"authorDisplayName\": \"motivationalrtn\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/h9OJkeIhOKbz8KaQydQVSShWc3EVhch1P8m68ui1UG26zPLHYAdfuGsStRTZyDiVLo9lBR8KLW8=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-20T13:22:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxKdxQ_QXfLhipx3Wt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"XV5LwKuk3zc\",\n          \"topLevelComment\": {\n            \"id\": \"UgxKdxQ_QXfLhipx3Wt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I just started learning this series on my phone. I will buy my first computer when I will do this series\",\n              \"textOriginal\": \"I just started learning this series on my phone. I will buy my first computer when I will do this series\",\n              \"authorDisplayName\": \"Gobinda\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRu_lkwWJKN44YlnqwXxH-CwPRA3OFxHRdt_NK-Jj4BdXxv0mVlA42JiypHLxpI=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-08T08:52:48Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgydnWnO9LfhOFZqa-14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"XV5LwKuk3zc\",\n          \"topLevelComment\": {\n            \"id\": \"UgydnWnO9LfhOFZqa-14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"For those who face issue with terminal not detecting adb on windows find the sdk path and inside sdk find platform tools folder then add that path to PATH environment variables\",\n              \"textOriginal\": \"For those who face issue with terminal not detecting adb on windows find the sdk path and inside sdk find platform tools folder then add that path to PATH environment variables\",\n              \"authorDisplayName\": \"Gowtham reddy\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRpzYpROYrno5pQWc1-d9w1nJ4RiBS-YwG7lXkHRQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 3,\n              \"publishedAt\": \"2023-03-08T06:18:33Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      },\n      {\n        \"id\": \"Ugzf9ReWHF0Bh5xO_Sh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"XV5LwKuk3zc\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzf9ReWHF0Bh5xO_Sh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Very good teaching skills\",\n              \"textOriginal\": \"Very good teaching skills\",\n              \"authorDisplayName\": \"Tech Sonaniya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQVnLKc6m1gL223UTY9N0F-cFBpJw5rMyWT-_Ej_Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-03-07T08:16:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"y6mfMqmFjGI\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgwPzBS3a0E_RhatdHd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"y6mfMqmFjGI\",\n          \"topLevelComment\": {\n            \"id\": \"UgwPzBS3a0E_RhatdHd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"can i get a direct contact number for the appsmith dev...im developing an easier product and need his help...thanks!\",\n              \"textOriginal\": \"can i get a direct contact number for the appsmith dev...im developing an easier product and need his help...thanks!\",\n              \"authorDisplayName\": \"eric wil\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSfJ_lYCA9TDO-iFOPRZG-0r_9d814Ei5pAxy-HabHyc6QDGLchXvBoLEjiN_Uy=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-27T14:42:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxWRItxuZil6z6LLR54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"y6mfMqmFjGI\",\n          \"topLevelComment\": {\n            \"id\": \"UgxWRItxuZil6z6LLR54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"🔥Enjoyed the podcast.\",\n              \"textOriginal\": \"🔥Enjoyed the podcast.\",\n              \"authorDisplayName\": \"Bibek Kakati\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSQDLmeIhyybC1n4rgUqRl7p_bvkYqhSggNhokfww=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-13T18:39:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzrssW0labeaY-hhx14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"y6mfMqmFjGI\",\n          \"topLevelComment\": {\n            \"id\": \"UgzrssW0labeaY-hhx14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"M sure its a great product, but honestly after working in the industry for some time now, its hard to keep a track of what&#39;s new in the town. I checked it out after watching this video and its good.<br>P.S: I always look forward to your videos man, always something new... Keep it up.\",\n              \"textOriginal\": \"M sure its a great product, but honestly after working in the industry for some time now, its hard to keep a track of what's new in the town. I checked it out after watching this video and its good.\\nP.S: I always look forward to your videos man, always something new... Keep it up.\",\n              \"authorDisplayName\": \"simar ms\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRRiIyjkFIzEaUUTc0_XHzlgdUmK4n-4I4q9mhYPIw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-12T15:23:49Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwzFoqXv9tjQCHEIAd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"y6mfMqmFjGI\",\n          \"topLevelComment\": {\n            \"id\": \"UgwzFoqXv9tjQCHEIAd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"good to know about appsmith, thanks hitesh\",\n              \"textOriginal\": \"good to know about appsmith, thanks hitesh\",\n              \"authorDisplayName\": \"Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/L3pSRoYoTxFRusQKq8gmKiC1GALAYGZaQ-QKQsjrQ9al9xbwcQW97_Dw7pRmkmQv6o8ZWYB-XA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-12T15:02:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw2Bg89-RHXFltKwEt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"y6mfMqmFjGI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw2Bg89-RHXFltKwEt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Please bring more such people Hitesh sir\",\n              \"textOriginal\": \"Please bring more such people Hitesh sir\",\n              \"authorDisplayName\": \"satyam mishra\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSxYW8hcRX9L6KvIFN9UWXUQfV2CYh6fp8jih7iiw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-12T07:07:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwya4pFvR5OlJ1BZGZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"y6mfMqmFjGI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwya4pFvR5OlJ1BZGZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Open source ❤❤\",\n              \"textOriginal\": \"Open source ❤❤\",\n              \"authorDisplayName\": \"satyam mishra\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSxYW8hcRX9L6KvIFN9UWXUQfV2CYh6fp8jih7iiw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-12T07:07:03Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzgo5tOQ4il46W90cN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"y6mfMqmFjGI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzgo5tOQ4il46W90cN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Just binging this podcasts one after another and it is getting more interesting than last one. Thanks again for the great lerning content.\",\n              \"textOriginal\": \"Just binging this podcasts one after another and it is getting more interesting than last one. Thanks again for the great lerning content.\",\n              \"authorDisplayName\": \"Anuj Mistry\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRBcClWkhO1kG6n6UGBRS02lNQ3mgh5k9V7HQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-11T16:00:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzrWbXa35UI_AUA3CN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"y6mfMqmFjGI\",\n          \"topLevelComment\": {\n            \"id\": \"UgzrWbXa35UI_AUA3CN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hitesh sir app developers kyaa isme apna code inject kr skte hai in case any customization needed..\",\n              \"textOriginal\": \"Hitesh sir app developers kyaa isme apna code inject kr skte hai in case any customization needed..\",\n              \"authorDisplayName\": \"DEVCODER\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/zgwU0Vlgkoj0fw34iMeaRHLFPgN-K8vryohAJmeiPyqZ0PH1qgHNkkZoAbN9T8K049WLI7UmfBw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-11T15:35:31Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzS1GeT2YBfKHxxpqV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"y6mfMqmFjGI\",\n          \"topLevelComment\": {\n            \"id\": \"UgzS1GeT2YBfKHxxpqV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"No need to mention his experience. <br>Hi remaining hairs are telling whole story.🤣🤣🤣🤣🤣🤣\",\n              \"textOriginal\": \"No need to mention his experience. \\nHi remaining hairs are telling whole story.🤣🤣🤣🤣🤣🤣\",\n              \"authorDisplayName\": \"Lets Code \",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRdPHqnndJE-JXiPz1VcX9G7VFGt54n21xcxCDbNWaB1GosbByo729cRjGDqiO8=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-11T14:33:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy0jV6wPE2pUJ9aocJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"y6mfMqmFjGI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy0jV6wPE2pUJ9aocJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Very nice podcast .expecting more like this\",\n              \"textOriginal\": \"Very nice podcast .expecting more like this\",\n              \"authorDisplayName\": \"rajith kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQym8izw0LMl0IhdUeoe0ejGRk4uBjNHU5agnj-1Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-11T11:38:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxYv-Yl34uM9c6o7K14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"y6mfMqmFjGI\",\n          \"topLevelComment\": {\n            \"id\": \"UgxYv-Yl34uM9c6o7K14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This is Awesome ❤️\",\n              \"textOriginal\": \"This is Awesome ❤️\",\n              \"authorDisplayName\": \"Arijit Goswami\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS9nu3Puy8ty0n2IjxTR1ojFOZL34NiZ431_vP3B-E=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-11T10:35:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwW33_enfpDGLVafM54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"y6mfMqmFjGI\",\n          \"topLevelComment\": {\n            \"id\": \"UgwW33_enfpDGLVafM54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Good network collabrotion👍\",\n              \"textOriginal\": \"Good network collabrotion👍\",\n              \"authorDisplayName\": \"Varsha Mohite\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR_a-Nv7GP-BP_ltF9L7MnK6TKRr1BO_IVFwx-bouVTMHzmOkJgzVs1QS4-K3bd=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-11T10:20:44Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"iYtXTUSJW78\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxhgV6e-sB0AlMcwJB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iYtXTUSJW78\",\n          \"topLevelComment\": {\n            \"id\": \"UgxhgV6e-sB0AlMcwJB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Watching from Assam\",\n              \"textOriginal\": \"Watching from Assam\",\n              \"authorDisplayName\": \"DFX\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/bJOw7vx-3iXi7_4P2S3sBPCvRBQBQ4QQz9oLva_v0-gUseSGF2aWHDHsiUqfKzNUqRWknUDv=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-10-01T17:34:55Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzoDErdKmmo4p3ob9p4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iYtXTUSJW78\",\n          \"topLevelComment\": {\n            \"id\": \"UgzoDErdKmmo4p3ob9p4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Amazing product\",\n              \"textOriginal\": \"Amazing product\",\n              \"authorDisplayName\": \"code aur chai\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/quOmHcbYxverbmyoJAgVnlHp2ItEhlInNM39djUOnR5Wwbukkf2AX53piyu1OEBJxpdH4ikZdQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-01T15:43:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzhRVVKI1RMT69s2Bt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iYtXTUSJW78\",\n          \"topLevelComment\": {\n            \"id\": \"UgzhRVVKI1RMT69s2Bt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir when you will send the session link for devops course which will start from tomorrow 2 oct.\",\n              \"textOriginal\": \"Sir when you will send the session link for devops course which will start from tomorrow 2 oct.\",\n              \"authorDisplayName\": \"Mohan Sahani\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/uZ3e0NuwXqRTEHbLSws57J22W8XAyEgbZyAQmwwy2uz6qNeJHlUbvQG1jHTT2MjSfunWmuSG240=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-01T15:38:40Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzb9KiYWSMrRqZjO1l4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iYtXTUSJW78\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzb9KiYWSMrRqZjO1l4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Being a Developer I was bit afraid of this tool,untill I saw this amazing conversation 😄\",\n              \"textOriginal\": \"Being a Developer I was bit afraid of this tool,untill I saw this amazing conversation 😄\",\n              \"authorDisplayName\": \"Gautam Nath\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ2XK42oE0w2smRxgN8rJ1hk3f43IfwrxPSyeyi2Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 7,\n              \"publishedAt\": \"2022-10-01T14:08:04Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugzg3Rqd0rU9ySrMwbJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iYtXTUSJW78\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzg3Rqd0rU9ySrMwbJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir how can SDE switch to Technical Product Manager Role ? Please make a video\",\n              \"textOriginal\": \"sir how can SDE switch to Technical Product Manager Role ? Please make a video\",\n              \"authorDisplayName\": \"Rohan Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQsvKH2AHvAm3yqgrNrhMN-8NaaYCF8aJWytg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-10-01T13:54:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxrFm8qbKPAe1Fv9Pl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iYtXTUSJW78\",\n          \"topLevelComment\": {\n            \"id\": \"UgxrFm8qbKPAe1Fv9Pl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Super sir we need more like this ❣️❤️\",\n              \"textOriginal\": \"Super sir we need more like this ❣️❤️\",\n              \"authorDisplayName\": \"KARE STUDENT\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/tJP8YZoABrPu64kFLvHM-ZDN8RHb3w5vY0NqzDKeCOPkkwn3Ac-MUPhsAkoUbhdMOvuRB-7A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-10-01T13:51:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwuT5JD4bCZU27vbod4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iYtXTUSJW78\",\n          \"topLevelComment\": {\n            \"id\": \"UgwuT5JD4bCZU27vbod4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Nice conversation cheers🍻\",\n              \"textOriginal\": \"Nice conversation cheers🍻\",\n              \"authorDisplayName\": \"Mahima\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/W247AzeKNts8dcESxSfQYGsA5ytjKqL_pmUmFqBiIFrX1mEvo0zD6eL51EFZGIhWZW0hxvjL=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 3,\n              \"publishedAt\": \"2022-10-01T13:38:46Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      }\n    ]\n  },\n  \"yjrUbWL3Nss\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgzGRxETAvoNTCX2Jyx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"yjrUbWL3Nss\",\n          \"topLevelComment\": {\n            \"id\": \"UgzGRxETAvoNTCX2Jyx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I am also building a similar site as a personal project. I was previously using docker for sandboxing but later moved on to apparmor since it was faster. What do you think about using apparmor/SELinux?\",\n              \"textOriginal\": \"I am also building a similar site as a personal project. I was previously using docker for sandboxing but later moved on to apparmor since it was faster. What do you think about using apparmor/SELinux?\",\n              \"authorDisplayName\": \"Saad Ahmed\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRCtembvBVOE6TGoBly-uDn19lnkNM_CU0IBgcnWA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-08T10:01:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyJ6w-KlAzQ11sab9l4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"yjrUbWL3Nss\",\n          \"topLevelComment\": {\n            \"id\": \"UgyJ6w-KlAzQ11sab9l4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"video <a href=\\\"about:invalid#zCSafez\\\"></a>\",\n              \"textOriginal\": \"video \",\n              \"authorDisplayName\": \"Priyesh Gautam\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTc3tN2Ke3WBn5-lKxUSG1Voiy6SlEXkAbgLvxrAPPHqPuvWUfKVtRsm4w__SrN=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-02-03T13:14:47Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx0MVSx-pcZERWIOUB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"yjrUbWL3Nss\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx0MVSx-pcZERWIOUB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Randomly found your channel when your video about DevOps showed up. You are a good listener and you let the guest express his ideas fully. That makes the discussion more enjoyable.\",\n              \"textOriginal\": \"Randomly found your channel when your video about DevOps showed up. You are a good listener and you let the guest express his ideas fully. That makes the discussion more enjoyable.\",\n              \"authorDisplayName\": \"Bharath Padmanabhan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRTABlIcAUBD-8OZbYUMP8VM6-UkDyjV4Bqf0C2eg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-19T05:51:04Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzoApZIDqfnLdTqrmh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"yjrUbWL3Nss\",\n          \"topLevelComment\": {\n            \"id\": \"UgzoApZIDqfnLdTqrmh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"👍\",\n              \"textOriginal\": \"👍\",\n              \"authorDisplayName\": \"Aman saxena\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSojEuwoQ5jq27i-3dhW0luy5SP8BR9dsTvBcxkfec=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-15T18:14:29Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzK1N37LF6NPDd3aB54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"yjrUbWL3Nss\",\n          \"topLevelComment\": {\n            \"id\": \"UgzK1N37LF6NPDd3aB54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"thank you\",\n              \"textOriginal\": \"thank you\",\n              \"authorDisplayName\": \"Saurabh kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTCmZRzDthIy8vHTPYNW6C7m2NuskdsU6S96aiMlA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-15T09:55:18Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwww77HrnfC6uwtc5d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"yjrUbWL3Nss\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwww77HrnfC6uwtc5d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"this is brilliant, please keep this coming ...\",\n              \"textOriginal\": \"this is brilliant, please keep this coming ...\",\n              \"authorDisplayName\": \"Ukaigwe Chidi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Yqan246Km1Bnxy4cfZv_p91sRRxe0XzOzMp_-4J_vF9gP9_e2_zgjXX8qs3cNumHyN4NB4pi-kQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-15T09:05:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwDNQuT6j_-N5OL9Ox4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"yjrUbWL3Nss\",\n          \"topLevelComment\": {\n            \"id\": \"UgwDNQuT6j_-N5OL9Ox4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"A very informative episode, love to see more like this.\",\n              \"textOriginal\": \"A very informative episode, love to see more like this.\",\n              \"authorDisplayName\": \"Monu Shaw\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTPkArC-ToDwgXJeYFj55hVDAfoxMODcm1aK51sHw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-13T15:22:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzRPfP5vegpU_pd-5B4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"yjrUbWL3Nss\",\n          \"topLevelComment\": {\n            \"id\": \"UgzRPfP5vegpU_pd-5B4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Nice podcast 👍🏻👍🏻\",\n              \"textOriginal\": \"Nice podcast 👍🏻👍🏻\",\n              \"authorDisplayName\": \"PrashanthKumar0\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/HV0HVaqO4CrG00Z09ne4_7yrBImBY4Rs2HL8uFQnZMems71POrgmaid9iJlcemj5KiADlC84NA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-13T10:11:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw2sv8-PfhojBiuORN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"yjrUbWL3Nss\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw2sv8-PfhojBiuORN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"my first coding learning platform was hackerrank\",\n              \"textOriginal\": \"my first coding learning platform was hackerrank\",\n              \"authorDisplayName\": \"Rohan Agrawal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR5XdGwz-d5y1HVAm1bM1o9P6cZDSQM2_fHVDu7mtQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-13T06:51:44Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyaDP0FQApob5W-kVl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"yjrUbWL3Nss\",\n          \"topLevelComment\": {\n            \"id\": \"UgyaDP0FQApob5W-kVl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"HackerRank is the best platform ♥️ Thanks for this video 😊\",\n              \"textOriginal\": \"HackerRank is the best platform ♥️ Thanks for this video 😊\",\n              \"authorDisplayName\": \"Top 10 India\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/-ORs3iHj2V2wG1pAopThJ-2iNnM8urtfAB7Yqo5e-Scz5WxVER0ahhXcI6G1_sk88ak6QeKt=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-13T05:26:42Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxBf46L8gZqY0fn6jl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"yjrUbWL3Nss\",\n          \"topLevelComment\": {\n            \"id\": \"UgxBf46L8gZqY0fn6jl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi Hitesh! Thanks for this. Also Please Bring Dr. Kailash Nadh from Zerodha.\",\n              \"textOriginal\": \"Hi Hitesh! Thanks for this. Also Please Bring Dr. Kailash Nadh from Zerodha.\",\n              \"authorDisplayName\": \"SOURAV KUMAR SAHOO\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTDzMxEqwoBwN3izL1qbLg8ooL1Rn10GxnblK3uSA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-12T16:00:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugytjh0d6h-34OH99KN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"yjrUbWL3Nss\",\n          \"topLevelComment\": {\n            \"id\": \"Ugytjh0d6h-34OH99KN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Once again , a brilliant podcast. Content quality is so amazing\",\n              \"textOriginal\": \"Once again , a brilliant podcast. Content quality is so amazing\",\n              \"authorDisplayName\": \"rajith kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQym8izw0LMl0IhdUeoe0ejGRk4uBjNHU5agnj-1Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-10-12T10:18:42Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"6m0amaGV1ak\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgwsVTqCjgFASkdvnA54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6m0amaGV1ak\",\n          \"topLevelComment\": {\n            \"id\": \"UgwsVTqCjgFASkdvnA54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"If Python was a person he would be this guy😅\",\n              \"textOriginal\": \"If Python was a person he would be this guy😅\",\n              \"authorDisplayName\": \"dotpy\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/atXKDcFFuogMBR5_2NFUbp1g-Ms8AvVQj3EgRL4dTGGFCi8uKhyrp8Ii9UEcezgrgILH3QBDKg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-06T08:34:42Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxu17Bxx07oDJH__sV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6m0amaGV1ak\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxu17Bxx07oDJH__sV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Vibe so good\",\n              \"textOriginal\": \"Vibe so good\",\n              \"authorDisplayName\": \"Prateek Bidve\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSd0CtcPegsDZKpGUlOXVy2ghtRbSArqBKMhqHT5w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-06T01:46:07Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwVEsjMwm1wXontHOF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6m0amaGV1ak\",\n          \"topLevelComment\": {\n            \"id\": \"UgwVEsjMwm1wXontHOF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Cool stuff\",\n              \"textOriginal\": \"Cool stuff\",\n              \"authorDisplayName\": \"Prateek Bidve\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSd0CtcPegsDZKpGUlOXVy2ghtRbSArqBKMhqHT5w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-06T01:45:50Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyD9srpEeoic0xeYQl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6m0amaGV1ak\",\n          \"topLevelComment\": {\n            \"id\": \"UgyD9srpEeoic0xeYQl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Good content for a developer\",\n              \"textOriginal\": \"Good content for a developer\",\n              \"authorDisplayName\": \"Prateek Bidve\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSd0CtcPegsDZKpGUlOXVy2ghtRbSArqBKMhqHT5w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-06T01:45:40Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxk9oCQw-E1LVNF4ON4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6m0amaGV1ak\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxk9oCQw-E1LVNF4ON4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Ahhaaaaaaaa!! Bangali YouTuber mone hochhe?? Jodi hai tahole Dada Khub valo laglo eto boro Bangali Tech YouTuber ke peye. Ar Dada Tumi kothai thako?\",\n              \"textOriginal\": \"Ahhaaaaaaaa!! Bangali YouTuber mone hochhe?? Jodi hai tahole Dada Khub valo laglo eto boro Bangali Tech YouTuber ke peye. Ar Dada Tumi kothai thako?\",\n              \"authorDisplayName\": \"Swapnil Bose\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTZFJdzlDfPpjhSXQDDvsEwECOn8yc55Sgy4Qo3dX31Kw2GEGJN9cS3_w0PhQhy=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-08-18T15:28:29Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz6wBp2Kr1U0Nnz1gB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6m0amaGV1ak\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz6wBp2Kr1U0Nnz1gB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi guys , it&#39;s Nabajyoti here , whose LinkedIn question is asked 🤣🤣 feeling proud 🙂\",\n              \"textOriginal\": \"Hi guys , it's Nabajyoti here , whose LinkedIn question is asked 🤣🤣 feeling proud 🙂\",\n              \"authorDisplayName\": \"Nabajyoti Borah\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/BColsL0sWx3ju1F826LHtvnoSkSES20_SzGM7wQDZIazIFgxXWjtB8FoRwNpYU2q9YkTzeNI0g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-08-17T18:28:11Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwCLw4Wo1hv4QwBUkJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6m0amaGV1ak\",\n          \"topLevelComment\": {\n            \"id\": \"UgwCLw4Wo1hv4QwBUkJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sabastin, fan of your moustache.. cheers\",\n              \"textOriginal\": \"Sabastin, fan of your moustache.. cheers\",\n              \"authorDisplayName\": \"UI Monk\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/V9AjC6K70VvEBLLT1CMji41WJyir4kFQlC2wAL_18PWBRFi5KQ32RW5uenTVlMBOQQsGnZABF2E=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-08-15T09:38:19Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwOtBFwUBfeKJa3WBJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6m0amaGV1ak\",\n          \"topLevelComment\": {\n            \"id\": \"UgwOtBFwUBfeKJa3WBJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I am currently completed my ug degree (bsc in computer science).so am interest in artificial intelligence. How to do msc in artificial intelligence in iit&#39;s Or other university. What are the entrance exams. Can you plz tell the process. It&#39;s more important to me...\",\n              \"textOriginal\": \"I am currently completed my ug degree (bsc in computer science).so am interest in artificial intelligence. How to do msc in artificial intelligence in iit's Or other university. What are the entrance exams. Can you plz tell the process. It's more important to me...\",\n              \"authorDisplayName\": \"vamshi goud\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ccAS7TfCLxRR4_cKXzOzDJNIakFrWNNN0tlhPr8U97ilFewvauPCk2RsCpsaIUpP_Uczq-UZkw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-08-12T05:48:41Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxxg1nn0hwqhwuc3Lh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6m0amaGV1ak\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxxg1nn0hwqhwuc3Lh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I missed this man. I&#39;m a big fan of this guy. Great contribution. His tech and your tutorial made it possible for me to backend developement.\",\n              \"textOriginal\": \"I missed this man. I'm a big fan of this guy. Great contribution. His tech and your tutorial made it possible for me to backend developement.\",\n              \"authorDisplayName\": \"Atharva Kulkarni\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQqTO28jHZnmxzSM4HpHa7aXNtXIjnh1Ig05NMxa9A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-08-11T21:20:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxAvK5bMrRZDTKlqeR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6m0amaGV1ak\",\n          \"topLevelComment\": {\n            \"id\": \"UgxAvK5bMrRZDTKlqeR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I love this man.. thank you Hitesh sir give an opportunity to get a brife  conversation with Sebastián Ramírez Montaño... thank you\",\n              \"textOriginal\": \"I love this man.. thank you Hitesh sir give an opportunity to get a brife  conversation with Sebastián Ramírez Montaño... thank you\",\n              \"authorDisplayName\": \"Shantonu Chowdhury\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQdtvMVi3rpjFaQRw7onBeXQhWpZs6Zfy5K8qzU=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-08-11T07:21:29Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxFl4QVI-VU0Ht7wk14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6m0amaGV1ak\",\n          \"topLevelComment\": {\n            \"id\": \"UgxFl4QVI-VU0Ht7wk14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir when are the JavaScript clases going to resume on YouTube 🥲\",\n              \"textOriginal\": \"Sir when are the JavaScript clases going to resume on YouTube 🥲\",\n              \"authorDisplayName\": \"Achana Naga Durga Prasad\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/TYAOlnJaZ6X9eStKUTrcryZ27bi5CucwWBTlitYaQmUZpMQ3bjzqWeTu_XdnRvzBtP8zGy2rDg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2022-08-11T07:14:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgznhEi9Eoal_FJdiHp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"6m0amaGV1ak\",\n          \"topLevelComment\": {\n            \"id\": \"UgznhEi9Eoal_FJdiHp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"What a down-to-earth person he is.<br>It was a pleasure to devote my 32 minutes to hearing these two gentlemen.\",\n              \"textOriginal\": \"What a down-to-earth person he is.\\nIt was a pleasure to devote my 32 minutes to hearing these two gentlemen.\",\n              \"authorDisplayName\": \"shaquib khan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRn4lHUgeM4T-fXcw-ECrBEgNzDv6YFjgAsHv3RIA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2022-08-10T18:15:49Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"jwABH7Eoa-Y\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugw3Fi8Tmopwth1r-jN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"jwABH7Eoa-Y\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw3Fi8Tmopwth1r-jN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Nice video... it&#39;s like KT and I&#39;m using kmm as well and developed one project ....\",\n              \"textOriginal\": \"Nice video... it's like KT and I'm using kmm as well and developed one project ....\",\n              \"authorDisplayName\": \"Chandra Kanth\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRO-tsJ44AMo36MKAs4tERJGaW3DhvyX94SJmVo5A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-15T16:14:52Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzG0Zsrg7iKCBMGL5Z4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"jwABH7Eoa-Y\",\n          \"topLevelComment\": {\n            \"id\": \"UgzG0Zsrg7iKCBMGL5Z4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I just wanna have that sweet english , like you hitesh!\",\n              \"textOriginal\": \"I just wanna have that sweet english , like you hitesh!\",\n              \"authorDisplayName\": \"Harsh Chaturvedi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRv0Ig22qqETJlwC-1RHd7RV8CZPYanPdOFFB-yQw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-15T11:31:17Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugww4-tjmJ-gXSLQhnd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"jwABH7Eoa-Y\",\n          \"topLevelComment\": {\n            \"id\": \"Ugww4-tjmJ-gXSLQhnd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Kotlin comes from Kotlin Island, near St. Petersburg.\",\n              \"textOriginal\": \"Kotlin comes from Kotlin Island, near St. Petersburg.\",\n              \"authorDisplayName\": \"subhanshu bankhwal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT004uxMLQEUKk5WVJaDY5VpLjpkPge92SSd4XPgg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-13T21:35:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzrfZhRdErmkBfal_h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"jwABH7Eoa-Y\",\n          \"topLevelComment\": {\n            \"id\": \"UgzrfZhRdErmkBfal_h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I want clarify one thing can we use ktor + reactjs for this hackathon?\",\n              \"textOriginal\": \"I want clarify one thing can we use ktor + reactjs for this hackathon?\",\n              \"authorDisplayName\": \"VA coder [ Tech ]\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQoqUW9YGQQvtgZ9q4c7aHRoWnOtvk2QIBu26Xmfw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-13T15:38:49Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwvaYufed_gRtBjUhR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"jwABH7Eoa-Y\",\n          \"topLevelComment\": {\n            \"id\": \"UgwvaYufed_gRtBjUhR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Is cross platform develop with the help of kotlin , ??  May be React native &amp; flutter is used to develop cross platform development.\",\n              \"textOriginal\": \"Is cross platform develop with the help of kotlin , ??  May be React native & flutter is used to develop cross platform development.\",\n              \"authorDisplayName\": \"Avisek Sahoo\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR5QQnSk7hORcsMHa9vs_SkRceqmcueeRbFZw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 3,\n              \"publishedAt\": \"2022-06-13T14:46:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzIUqxfkmBY-6gPTaZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"jwABH7Eoa-Y\",\n          \"topLevelComment\": {\n            \"id\": \"UgzIUqxfkmBY-6gPTaZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Amazing Conversation🙌\",\n              \"textOriginal\": \"Amazing Conversation🙌\",\n              \"authorDisplayName\": \"Dipak Raut\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTl5N4sZBZtCiAQofh60ZtUl1BFJSGXTU971yE8_w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2022-06-13T14:35:19Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"O7zPiurDdDk\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxMsTNk6NEGOgQWGbp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"O7zPiurDdDk\",\n          \"topLevelComment\": {\n            \"id\": \"UgxMsTNk6NEGOgQWGbp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Please Continue on this series sir.\",\n              \"textOriginal\": \"Please Continue on this series sir.\",\n              \"authorDisplayName\": \"The Tech Learner\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRx52lUZGjb-yvLYi8jzkaqFftcXBYM0RfsCzHjGg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-17T05:46:07Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyRrG0JdONgkNA7DGt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"O7zPiurDdDk\",\n          \"topLevelComment\": {\n            \"id\": \"UgyRrG0JdONgkNA7DGt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I think this all problem solved in google???\",\n              \"textOriginal\": \"I think this all problem solved in google???\",\n              \"authorDisplayName\": \"Suman Manna\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRHRXVBEoWGjda6R-8rvMGYNS20GOFqLFP1PszDSg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-30T15:27:31Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwMGu2t7C6gk3yT01B4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"O7zPiurDdDk\",\n          \"topLevelComment\": {\n            \"id\": \"UgwMGu2t7C6gk3yT01B4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"where&#39;s the source code??\",\n              \"textOriginal\": \"where's the source code??\",\n              \"authorDisplayName\": \"D Israel\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRoOS9Kpk6u4L1e8mZjOf2yOc7XGGG7dg2D1hJ_fIs=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-29T16:56:40Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxMp64h00wjtAtk5TJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"O7zPiurDdDk\",\n          \"topLevelComment\": {\n            \"id\": \"UgxMp64h00wjtAtk5TJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Time to change the name of this course\",\n              \"textOriginal\": \"Time to change the name of this course\",\n              \"authorDisplayName\": \"Siddharth Sharma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSrDtDIhDT2kyGzm54yHzcjzgUUEckRMQqxhoeE=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-22T08:42:23Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxZfCRONq-LcVxXcpd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"O7zPiurDdDk\",\n          \"topLevelComment\": {\n            \"id\": \"UgxZfCRONq-LcVxXcpd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi sir,  How we can make this app&#39;s input question limited to leet code only cause as I saw the whole video you did the simple integration of API  but my question is if someone ask a question related to other fields to this app (which you build in this video), It will also give the answer how can we make boundary for that ??\",\n              \"textOriginal\": \"Hi sir,  How we can make this app's input question limited to leet code only cause as I saw the whole video you did the simple integration of API  but my question is if someone ask a question related to other fields to this app (which you build in this video), It will also give the answer how can we make boundary for that ??\",\n              \"authorDisplayName\": \"jaydeep bhattacharya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTqslC9NYGo2D3_YtfPHtcokzuVQJa12T4btdWdatg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-20T08:34:21Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgztYMzS_NfqSf2gjTh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"O7zPiurDdDk\",\n          \"topLevelComment\": {\n            \"id\": \"UgztYMzS_NfqSf2gjTh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"not working... @hitesh sir <br>what should I do now?\",\n              \"textOriginal\": \"not working... @hitesh sir \\nwhat should I do now?\",\n              \"authorDisplayName\": \"Anshul Soni\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/MyQvSfgBLf6IRhjxxhpzh7ksAnK05IwLr9hZEnPbKZpWJDGgNnv2XmHj3FFiafOZ0TvInrIawQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-19T10:14:30Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgwOupC3SJg_cjhcAAV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"O7zPiurDdDk\",\n          \"topLevelComment\": {\n            \"id\": \"UgwOupC3SJg_cjhcAAV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello, sir. Your videos are very helpful. Can you please make a video on Namma Yatri Challenge by Juspay on Unstop. They are giving out good prizes. I want to participate It will be very helpful for me\",\n              \"textOriginal\": \"Hello, sir. Your videos are very helpful. Can you please make a video on Namma Yatri Challenge by Juspay on Unstop. They are giving out good prizes. I want to participate It will be very helpful for me\",\n              \"authorDisplayName\": \"Commenter\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQb1dm7wVvgOSM4KyTC3UfZJcDCTg2tCikMNZRQY7QcLRuJdIZtyPBCWnxIieXm=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-19T08:37:53Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgybTY6yhP6iH8JA5Q94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"O7zPiurDdDk\",\n          \"topLevelComment\": {\n            \"id\": \"UgybTY6yhP6iH8JA5Q94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"How do we get API key of ChatGPT? Share me a link in comment\",\n              \"textOriginal\": \"How do we get API key of ChatGPT? Share me a link in comment\",\n              \"authorDisplayName\": \"Anshul Soni\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/MyQvSfgBLf6IRhjxxhpzh7ksAnK05IwLr9hZEnPbKZpWJDGgNnv2XmHj3FFiafOZ0TvInrIawQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-19T07:33:48Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz_qO9i5nINcEE01XN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"O7zPiurDdDk\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz_qO9i5nINcEE01XN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"You are a Legend man. I have so much respect for you. Hope some day I met with you.\",\n              \"textOriginal\": \"You are a Legend man. I have so much respect for you. Hope some day I met with you.\",\n              \"authorDisplayName\": \"Rohit\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRuF_4d46XOz_UZ0hCmPa5toPR-Cpq0UPsqAgiA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-18T18:18:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwMv5KcZnDpzk5h0D14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"O7zPiurDdDk\",\n          \"topLevelComment\": {\n            \"id\": \"UgwMv5KcZnDpzk5h0D14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"ertyuio\",\n              \"textOriginal\": \"ertyuio\",\n              \"authorDisplayName\": \"Abhish k\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ueLd8N4mD46uScrQHFcc7Q-vCoFVErU-wN2He8hGDpb274H3W16zHCjqMgQfRYUcRgcKJ6joRQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-18T17:05:50Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxihLxQvJxKQOzFBSN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"O7zPiurDdDk\",\n          \"topLevelComment\": {\n            \"id\": \"UgxihLxQvJxKQOzFBSN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"@hiteshchaudhary U Never leave a chance to bring the smile by doing something satisfactory.🙌🙌\",\n              \"textOriginal\": \"@hiteshchaudhary U Never leave a chance to bring the smile by doing something satisfactory.🙌🙌\",\n              \"authorDisplayName\": \"PRATEEK JHA\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRoG-Ch3jgLxMxU1Q0_MDtJFVRnP9Gga2eZhcWZc2Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-18T16:26:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgybXm4uYaADzNQnMyp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"O7zPiurDdDk\",\n          \"topLevelComment\": {\n            \"id\": \"UgybXm4uYaADzNQnMyp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir what do we have to do to generate our own apikey.\",\n              \"textOriginal\": \"Sir what do we have to do to generate our own apikey.\",\n              \"authorDisplayName\": \"Sapna Kumari\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ48WJIHPfkNTWeo7yE5oZFSLuJyMMUI-r_tIf-vw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-04-18T16:15:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"EQwmQLU1S6I\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxtuqJtnxGMyeORXCp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"EQwmQLU1S6I\",\n          \"topLevelComment\": {\n            \"id\": \"UgxtuqJtnxGMyeORXCp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I would like to see your video tutorial on React-Native if you could make some small one.\",\n              \"textOriginal\": \"I would like to see your video tutorial on React-Native if you could make some small one.\",\n              \"authorDisplayName\": \"Jamshed Iqbal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTb8FcvGb8B-EBig1IZab4tmWJq_E_FQzls54wehg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-30T12:36:10Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzOoaSU8CQZysRcjgZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"EQwmQLU1S6I\",\n          \"topLevelComment\": {\n            \"id\": \"UgzOoaSU8CQZysRcjgZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir please share your coding journey from  your 18teens  to till now,  how you  work hard, what you do when code dont work, how much Decipline you maintain throughout this journey who motivates you  how you become so successful programmer as well as good teacher and mentor in short please share your short autobiography. Because this was really boost us and  give a powerful motivation in our learnings <a href=\\\"http://www.youtube.com/results?search_query=%23hitesh_sir\\\">#hitesh_sir</a>\",\n              \"textOriginal\": \"Sir please share your coding journey from  your 18teens  to till now,  how you  work hard, what you do when code dont work, how much Decipline you maintain throughout this journey who motivates you  how you become so successful programmer as well as good teacher and mentor in short please share your short autobiography. Because this was really boost us and  give a powerful motivation in our learnings #hitesh_sir\",\n              \"authorDisplayName\": \"akshay\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/uk2WeImnpu70uzmbRR-IGlAEWz-a-rInceuOLy5nWFPtaU7MbNhlBUWxRoFD_QvLsTT58gZTFes=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-24T19:05:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyYD9T9MjykXxo0G7B4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"EQwmQLU1S6I\",\n          \"topLevelComment\": {\n            \"id\": \"UgyYD9T9MjykXxo0G7B4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I encourage you to avoid taking programming languages personally. I am enjoying Mojo Lang, but I am still using Python.<br>Thanks Hitesh 🤝...\",\n              \"textOriginal\": \"I encourage you to avoid taking programming languages personally. I am enjoying Mojo Lang, but I am still using Python.\\nThanks Hitesh 🤝...\",\n              \"authorDisplayName\": \"Vijay Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQGkHGN2Gw2XV2Gza-95aJSTMZow5s6u0DC4zxtmA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-24T02:02:40Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy5Ws9x39f_GyGHEHR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"EQwmQLU1S6I\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy5Ws9x39f_GyGHEHR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"On the other hand: language XXXX is trash --- XXXX developer\",\n              \"textOriginal\": \"On the other hand: language XXXX is trash --- XXXX developer\",\n              \"authorDisplayName\": \"Bruno Noriller\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ4IIozn9ac4x-8ga-kjGKiGLLcWN-z90A-O7SrEw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-23T23:06:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwhlLLdCu-znmyyeCt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"EQwmQLU1S6I\",\n          \"topLevelComment\": {\n            \"id\": \"UgwhlLLdCu-znmyyeCt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I was a hard-core C++ guy. When I first saw a Python code, I said - &quot;this is a toy for kids. I don&#39;t use it.&quot; And here I am today after 8 years, writing Python everyday to earn my living 😂\",\n              \"textOriginal\": \"I was a hard-core C++ guy. When I first saw a Python code, I said - \\\"this is a toy for kids. I don't use it.\\\" And here I am today after 8 years, writing Python everyday to earn my living 😂\",\n              \"authorDisplayName\": \"Sivaranjan Goswami\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTrudzppujE1ugffch31BgQFDNNFt05HHfe-TSCBA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 5,\n              \"publishedAt\": \"2023-05-23T21:46:14Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzR35XgH-1tqmWZxN54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"EQwmQLU1S6I\",\n          \"topLevelComment\": {\n            \"id\": \"UgzR35XgH-1tqmWZxN54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hey hitesh, make video of &quot;is YouTube dead?&quot; People will like to see that.\",\n              \"textOriginal\": \"Hey hitesh, make video of \\\"is YouTube dead?\\\" People will like to see that.\",\n              \"authorDisplayName\": \"Ahmed_topujss\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/z6KiuCOlyJ7SNjqyOuIClTgvvgB4WBi8k3n6JYSsNA8MW6E8m982WHCEUHCSETzSl31tIvtlJ2g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-23T19:51:49Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwYOmyGe_W5jRIws-l4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"EQwmQLU1S6I\",\n          \"topLevelComment\": {\n            \"id\": \"UgwYOmyGe_W5jRIws-l4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Excited ✌🏻✌🏻✌🏻🙌🏻\",\n              \"textOriginal\": \"Excited ✌🏻✌🏻✌🏻🙌🏻\",\n              \"authorDisplayName\": \"Aakash Thakkar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTdnK2jN6cCQ_4qpOZfTmSeSaEiv9goAa1Odw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-23T19:07:19Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzMhIxBM-m0Cc9-SpN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"EQwmQLU1S6I\",\n          \"topLevelComment\": {\n            \"id\": \"UgzMhIxBM-m0Cc9-SpN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Never ever Underestimate this Man❤❤❤\",\n              \"textOriginal\": \"Never ever Underestimate this Man❤❤❤\",\n              \"authorDisplayName\": \"SERGIO\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Ssw0zSPq0g7xvMyariC9e6LOLIDzy2SaBxbeUDxrQEoUNRzKTgP-YTjmsuVDU7VHWc2cgB8jvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-23T17:33:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzABZOPuL9rdp2Pa6Z4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"EQwmQLU1S6I\",\n          \"topLevelComment\": {\n            \"id\": \"UgzABZOPuL9rdp2Pa6Z4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir please cse and cs design me difference ba dijiye achhe se  ya koi bta de please mughe addmission leni hai to cs design se mil rha hai\",\n              \"textOriginal\": \"sir please cse and cs design me difference ba dijiye achhe se  ya koi bta de please mughe addmission leni hai to cs design se mil rha hai\",\n              \"authorDisplayName\": \"Different Yt Aadi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/-7HGmecxY7LqGNPzlPfH7GFKtBHmucBWSCrpU-psFJfGf5nFc-CcjhT1HcLllVLKnBGWt6njOQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-23T17:24:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwtZp60AeFysTW0VQ94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"EQwmQLU1S6I\",\n          \"topLevelComment\": {\n            \"id\": \"UgwtZp60AeFysTW0VQ94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Arre aree sir itna bada revolution mat laiye 😂😂\",\n              \"textOriginal\": \"Arre aree sir itna bada revolution mat laiye 😂😂\",\n              \"authorDisplayName\": \"yash rajan shukla\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSDmT98iS6uoVq7Ju0_F_RnwZZN284gn4Ve6cZMCA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-23T17:04:29Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw-sYL5ToQk3c2Tdhx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"EQwmQLU1S6I\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw-sYL5ToQk3c2Tdhx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hey Hitesh , Congratulations You understand the SEO Concept Properly.. <br>kill , dead , is , is amazing SEO hope your channel will get Good reach now. <br>nice strategy Best wishes\",\n              \"textOriginal\": \"Hey Hitesh , Congratulations You understand the SEO Concept Properly.. \\nkill , dead , is , is amazing SEO hope your channel will get Good reach now. \\nnice strategy Best wishes\",\n              \"authorDisplayName\": \"Kumbhaj Shukla\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/rRVG_6yPXPjfMOSofcApGXCbnMdn8kj0EaUhZAUYd7AZ6ZQjVnLYkca1bJSP-HB1GcFjpEFC1g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-05-23T16:37:53Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzkHOOvxqKO8Ex2bKB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"EQwmQLU1S6I\",\n          \"topLevelComment\": {\n            \"id\": \"UgzkHOOvxqKO8Ex2bKB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"here we go...\",\n              \"textOriginal\": \"here we go...\",\n              \"authorDisplayName\": \"Telusko\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/o4MZVi2qdNgx0K7vpEl7DT2PefjROdisZTD7is6TMimF1_DTM49O1ld3iQzTpE5MCj86c-vzav8=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-05-23T15:22:00Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      }\n    ]\n  },\n  \"0Xde4eSqcmI\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyND88P62EIfIYoOvF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"0Xde4eSqcmI\",\n          \"topLevelComment\": {\n            \"id\": \"UgyND88P62EIfIYoOvF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Wrong Title, It should  be :--&quot; <b>Is</b> <b>Twitter</b> <b>Dead</b> <b>?</b> &quot;  😂\",\n              \"textOriginal\": \"Wrong Title, It should  be :--\\\" *Is* *Twitter* *Dead* *?* \\\"  😂\",\n              \"authorDisplayName\": \"Dixit Ram\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Db7R3d9A26DWxkckys1EFXUy3Iprs1DYA3k6lMYcXSBDzy6y6n378r4Go6N4B3bYZdy6HjoZ4Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 23,\n              \"publishedAt\": \"2023-05-22T12:55:04Z\"\n            }\n          },\n          \"totalReplyCount\": 6\n        }\n      },\n      {\n        \"id\": \"Ugx98IM8jPJFuTTDrvB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"0Xde4eSqcmI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx98IM8jPJFuTTDrvB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Meta did announce a third round of layoffs again today impacting around 6k employees. Not sure if building of this new twitter platfom and the budgeting is somehow linked to job cuts. My heart goes out for the layed off professionals.\",\n              \"textOriginal\": \"Meta did announce a third round of layoffs again today impacting around 6k employees. Not sure if building of this new twitter platfom and the budgeting is somehow linked to job cuts. My heart goes out for the layed off professionals.\",\n              \"authorDisplayName\": \"Bala Praneeth\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTo10HaH_HWlw1UdUMALzkkOBSKJU9DE3OpVpcidg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-25T13:51:51Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwuxFq5unq-Qxjfe454AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"0Xde4eSqcmI\",\n          \"topLevelComment\": {\n            \"id\": \"UgwuxFq5unq-Qxjfe454AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"plz avoid using this type of title.\",\n              \"textOriginal\": \"plz avoid using this type of title.\",\n              \"authorDisplayName\": \"Sanvir Ahmed\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR80IARk6f1TmxsLDe4xKkqPRVYf0V5BdHRkfl4nQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-24T01:05:29Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyacRrJT24JsHc95Xh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"0Xde4eSqcmI\",\n          \"topLevelComment\": {\n            \"id\": \"UgyacRrJT24JsHc95Xh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"That&#39;s right they are meta developers, they are paying to them to build stuff. In future, we may also see Meta Youtube and Meta Search Engine. I think Meta is creating a separate universe🤣\",\n              \"textOriginal\": \"That's right they are meta developers, they are paying to them to build stuff. In future, we may also see Meta Youtube and Meta Search Engine. I think Meta is creating a separate universe🤣\",\n              \"authorDisplayName\": \"Nani\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/UrFvGTwp0D9NBzQwCxJmmPGYKjLhxyoigppAf3SP2fhAYQOjZo5CCeRA2plX2YqjiPfy-eu-9TM=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-23T09:14:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgydahMfr73zoRhJt0p4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"0Xde4eSqcmI\",\n          \"topLevelComment\": {\n            \"id\": \"UgydahMfr73zoRhJt0p4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Is twitter dead ?😅😂\",\n              \"textOriginal\": \"Is twitter dead ?😅😂\",\n              \"authorDisplayName\": \"akshay gurjar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSwqTNLARGEUWcCChYEl48MnX-kwi42zEGRr31Y3A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-23T06:12:32Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw-N1YVNU_LnkQmY0p4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"0Xde4eSqcmI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw-N1YVNU_LnkQmY0p4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"hitesh ma man, this is not react channel of course, but i enjoy this kind of content.😆 keep it up... i mean it&#39;s refreshing for me, with your perspective,,. because i feed myself also with primeagen content haha... you know such a high octane content right there.\",\n              \"textOriginal\": \"hitesh ma man, this is not react channel of course, but i enjoy this kind of content.😆 keep it up... i mean it's refreshing for me, with your perspective,,. because i feed myself also with primeagen content haha... you know such a high octane content right there.\",\n              \"authorDisplayName\": \"Bagas RG\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSvmQQGyuHowq1LhB8Z2cS1FGtPGR6qLWOsoRB9=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-23T02:31:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxlQ4ZRnOd53suoM4Z4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"0Xde4eSqcmI\",\n          \"topLevelComment\": {\n            \"id\": \"UgxlQ4ZRnOd53suoM4Z4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This is more like Lew Later Clips, Hitesh Sir version!\",\n              \"textOriginal\": \"This is more like Lew Later Clips, Hitesh Sir version!\",\n              \"authorDisplayName\": \"Mujtaba M\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT7dw1w-9CHPnczxdG0d0O8gErRzyRdOfWge1OaRQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-22T19:26:43Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwhqXdrnt40jH9Xvp94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"0Xde4eSqcmI\",\n          \"topLevelComment\": {\n            \"id\": \"UgwhqXdrnt40jH9Xvp94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Barcelona Messi ?\",\n              \"textOriginal\": \"Barcelona Messi ?\",\n              \"authorDisplayName\": \"Fricko funky\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ViMo1yFuEgAxYohlulS_J4Kl7W7RtzTvNQX1AU2b8bcARyG9eVxqsJhB00OoPBPa2tUMIuom=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-22T17:50:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxv8fXKGJG6E-JH36t4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"0Xde4eSqcmI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxv8fXKGJG6E-JH36t4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Ummmm nooo? Wtf Twitter has more users than ever before. Don’t know how people don’t know that…… if we are talking user base Twitter is huge and more active than ever\",\n              \"textOriginal\": \"Ummmm nooo? Wtf Twitter has more users than ever before. Don’t know how people don’t know that…… if we are talking user base Twitter is huge and more active than ever\",\n              \"authorDisplayName\": \"Py_Nimbus\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/L-yRuYda6tHEUpsJrEm483zKSRU_3zUlT9dE0BACDC1f3sgD4NFU2YyG-luKanImcG1pkMNkBw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-22T16:20:21Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx_YJTSBizgOSgca3p4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"0Xde4eSqcmI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx_YJTSBizgOSgca3p4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"It might fail miserably if not it&#39;ll definitely fail to attract high value creators such as naval ravikant, lex Fridman etc. Because Instagram is all about other things except reality and authenticity.\",\n              \"textOriginal\": \"It might fail miserably if not it'll definitely fail to attract high value creators such as naval ravikant, lex Fridman etc. Because Instagram is all about other things except reality and authenticity.\",\n              \"authorDisplayName\": \"PSB\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Gc8ltHh37D-Uu_8Bgt9kYLtgNmg3VLfaGNcWUtw15ZAeczgPIf-BGHhaQizxZbVz807A9zRu=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-22T16:05:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzPebgnKHltK32thSt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"0Xde4eSqcmI\",\n          \"topLevelComment\": {\n            \"id\": \"UgzPebgnKHltK32thSt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Meta talking about Decentralization 💀💀\",\n              \"textOriginal\": \"Meta talking about Decentralization 💀💀\",\n              \"authorDisplayName\": \"Sahil Kashyap\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/mePXIj_sxFXhdg8NK2KZ3iHmYfZfTYxXgSIinim89qZZoJ6ybq-X61WTcz6I9OCVxULPsfeR=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-22T15:59:34Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx8NnC8hYnuYolGY6t4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"0Xde4eSqcmI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx8NnC8hYnuYolGY6t4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Wow! Really interesting thing to learn. 🙌🏼\",\n              \"textOriginal\": \"Wow! Really interesting thing to learn. 🙌🏼\",\n              \"authorDisplayName\": \"Rajat sharma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQWLuPuOjl8zly3OVZefcAyDNxfLQZz8I0zzlEQEg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-22T15:27:33Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      }\n    ]\n  },\n  \"s4ZUkwe0ZTI\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"nextPageToken\": \"QURTSl9pMlU1QmtNZFkxbmU0UVF6SzQzVVhtb2JaWkk4cVJ5WjBNcDZ2QlB2S1RMdGlBaG5NaXFSbnRjVEgwV04yOXlkaUw0SW12aWlSRQ==\",\n    \"items\": [\n      {\n        \"id\": \"UgyfP9GnIT3Xk0WGPXJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"s4ZUkwe0ZTI\",\n          \"topLevelComment\": {\n            \"id\": \"UgyfP9GnIT3Xk0WGPXJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"mojo isn&#39;t like typescript for javascript. mojo has compiler  and new out put file but in typescript finally all code convert to javascript and not improme speed\",\n              \"textOriginal\": \"mojo isn't like typescript for javascript. mojo has compiler  and new out put file but in typescript finally all code convert to javascript and not improme speed\",\n              \"authorDisplayName\": \"mohammad Esmaeili\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR5nt9cy5qnVwpUp5Gj66yKthDK5la8Tw4l43VuTA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-29T18:53:08Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyaIkYFvzQAhqPDPV54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"s4ZUkwe0ZTI\",\n          \"topLevelComment\": {\n            \"id\": \"UgyaIkYFvzQAhqPDPV54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Not MOJO it&#39;s Mongoose 😂😅\",\n              \"textOriginal\": \"Not MOJO it's Mongoose 😂😅\",\n              \"authorDisplayName\": \"Noor Girdhar (ਨੂਰਾ)\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/fW-Sdz0bSylyjni6XRjDxIhHk7Jf2js-c4U5AIQto44clCHbl83WOgB1OxC6eP-FjO2YZlK9g_M=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-27T16:12:52Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwbzd7g0gGjVT5OSwZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"s4ZUkwe0ZTI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwbzd7g0gGjVT5OSwZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"The problem. Take the number of critical applications written in Python. Ask a developer to re code them all. You see when a programming language reaches a point where you need to use it to maintain software for the foreseeable future its not going away. This is an argument which keeps programming languages relevant for decades. It also frankly makes a business think twice about adopting them. Otherwise Rust would have replaced C++ by now Type Script would have replaced Javascript and Kotlin would have replaced Java. In the real world however this is simply not the case. Don&#39;t get me wrong I enjoy seeing the advantages of new languages but they need to reach a critical mass which means a massive adoption. In Pythons case to challenge it as a language it will take many many years if at all. Have a problem with this don&#39;t hate the player hate the game.\",\n              \"textOriginal\": \"The problem. Take the number of critical applications written in Python. Ask a developer to re code them all. You see when a programming language reaches a point where you need to use it to maintain software for the foreseeable future its not going away. This is an argument which keeps programming languages relevant for decades. It also frankly makes a business think twice about adopting them. Otherwise Rust would have replaced C++ by now Type Script would have replaced Javascript and Kotlin would have replaced Java. In the real world however this is simply not the case. Don't get me wrong I enjoy seeing the advantages of new languages but they need to reach a critical mass which means a massive adoption. In Pythons case to challenge it as a language it will take many many years if at all. Have a problem with this don't hate the player hate the game.\",\n              \"authorDisplayName\": \"William Evans\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTBRMVWh9h74AQg31TtSaiMEUkUPs3ingZFHb8v=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-24T10:27:19Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgylU13hEjl4qffDLsh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"s4ZUkwe0ZTI\",\n          \"topLevelComment\": {\n            \"id\": \"UgylU13hEjl4qffDLsh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I am a machine learning engineer and I love python and sometimes people want me to create some projects on C++ and I didn&#39;t like that 😕 but now seeing other option like mojo I kinda love the idea 💡\",\n              \"textOriginal\": \"I am a machine learning engineer and I love python and sometimes people want me to create some projects on C++ and I didn't like that 😕 but now seeing other option like mojo I kinda love the idea 💡\",\n              \"authorDisplayName\": \"Ishaque Nizamani\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQGlCvJjKnP7qZEn4SYkUqwpEhSymO6xEf8m4uN9A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-24T06:10:23Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgwrstYqoSWvBCB5PC54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"s4ZUkwe0ZTI\",\n          \"topLevelComment\": {\n            \"id\": \"UgwrstYqoSWvBCB5PC54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"So many inaccuracies.  People have been programing multithreaded in java, in python, in C++ and others since before the 90s.   Another flash in the pan as AI is the latest hype popular.\",\n              \"textOriginal\": \"So many inaccuracies.  People have been programing multithreaded in java, in python, in C++ and others since before the 90s.   Another flash in the pan as AI is the latest hype popular.\",\n              \"authorDisplayName\": \"Christophe Blanchi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRKZzx8sEAzBn6NtkLkPkmcEpV038wzSoxfAC7Ejg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-05-22T17:23:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxx02syDmY0GVLZzQl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"s4ZUkwe0ZTI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxx02syDmY0GVLZzQl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Where is the git repo for mojo and which open source license is it provided with?\",\n              \"textOriginal\": \"Where is the git repo for mojo and which open source license is it provided with?\",\n              \"authorDisplayName\": \"Gianni Mariani\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSUtiavbmGZct_oJlxMHSJwEylRaS4RsfXyDdzOfg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-21T21:29:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzvt_isFlSPFcTcznh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"s4ZUkwe0ZTI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzvt_isFlSPFcTcznh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I&#39;ve been doing c/c++ for 30 years.. with better tools and compilers\",\n              \"textOriginal\": \"I've been doing c/c++ for 30 years.. with better tools and compilers\",\n              \"authorDisplayName\": \"Colin Maharaj\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQDnfCs09FRx1esch8adIL_rovl8phCkZrm9g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-20T18:27:11Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzr1jN_8eCSffrUSbx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"s4ZUkwe0ZTI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzr1jN_8eCSffrUSbx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Is mojo is same as Julia\",\n              \"textOriginal\": \"Is mojo is same as Julia\",\n              \"authorDisplayName\": \"chitrasenak\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ2DDcn4HYgW4fVGal6J9FdGZG_-ApZJiG73Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-19T21:58:18Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy9OwTgPSeVmf5XXkF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"s4ZUkwe0ZTI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy9OwTgPSeVmf5XXkF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I hope AI will be used to improve or create some new languages. Then it will be a killer. But this is interesting. Nice presentation.<br>And to improve existing codes and helps. The title is stupid\",\n              \"textOriginal\": \"I hope AI will be used to improve or create some new languages. Then it will be a killer. But this is interesting. Nice presentation.\\nAnd to improve existing codes and helps. The title is stupid\",\n              \"authorDisplayName\": \"1 conscience 0 dimension\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ4emPEIcOXSoaMEKIu5y6VqEeZKaOwVL6InRwLqA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-18T13:51:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzlKp3-_VBwBw4znF94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"s4ZUkwe0ZTI\",\n          \"topLevelComment\": {\n            \"id\": \"UgzlKp3-_VBwBw4znF94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Unfollowed you in twitter for your tweet against react CSR, now unsubscribed your yt channel for your foolish video against python..\",\n              \"textOriginal\": \"Unfollowed you in twitter for your tweet against react CSR, now unsubscribed your yt channel for your foolish video against python..\",\n              \"authorDisplayName\": \"Full Stack Spiderman\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/1kPVyOsMZJNDyiUPTB13DTtsdIlCmSsyAsjsh-7fT1oB5J8ErW6bBMhe9ksSOgYOI9dLYqER4A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-18T07:47:16Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzxwQAmBPxd9sDzC2t4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"s4ZUkwe0ZTI\",\n          \"topLevelComment\": {\n            \"id\": \"UgzxwQAmBPxd9sDzC2t4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I think kids could develop simple AI using English with the help of chatGPT in just a few months\",\n              \"textOriginal\": \"I think kids could develop simple AI using English with the help of chatGPT in just a few months\",\n              \"authorDisplayName\": \"Nick Martin\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRiKDmkFXZiVC3El9G7ZiCC16_-ch3_dpM0PoM-xw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-18T07:29:47Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzFkUbObiTLVQCASTN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"s4ZUkwe0ZTI\",\n          \"topLevelComment\": {\n            \"id\": \"UgzFkUbObiTLVQCASTN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"The person who created swift later failed at google , but has used all his experiance tobuild this one..hope this starts a new era,\",\n              \"textOriginal\": \"The person who created swift later failed at google , but has used all his experiance tobuild this one..hope this starts a new era,\",\n              \"authorDisplayName\": \"sumit bhatia\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQvoqon5FjCMwmk7nbQUFEWc7W-pAxfKsOy5YmM9iVi3W7nWN-XtBviRaTYTCVk=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-05-18T04:33:00Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"N97UKuiIlOc\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxSV7WyvpvZ9l2HA314AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N97UKuiIlOc\",\n          \"topLevelComment\": {\n            \"id\": \"UgxSV7WyvpvZ9l2HA314AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"When is the series starting for cloud, I am checking for this everyday.\",\n              \"textOriginal\": \"When is the series starting for cloud, I am checking for this everyday.\",\n              \"authorDisplayName\": \"Harsh Pachauri\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSHYanHbauviTO130ieegwSByrUt3_RNlhQkmYGcMQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-02T16:07:47Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwHIdl1F4u7dqvVsZZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N97UKuiIlOc\",\n          \"topLevelComment\": {\n            \"id\": \"UgwHIdl1F4u7dqvVsZZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I have already paid around 100 dollars while learning cloud. Neither i learnt and lost money as well\",\n              \"textOriginal\": \"I have already paid around 100 dollars while learning cloud. Neither i learnt and lost money as well\",\n              \"authorDisplayName\": \"sachin rana\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQu2PzisMmQ6fPdemcnBYCAwONDBSv4WQP17w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-26T09:49:08Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw61sEGHAP84z68SN14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N97UKuiIlOc\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw61sEGHAP84z68SN14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"hi <a href=\\\"http://www.youtube.com/results?search_query=%23hiteshchoudhary\\\">#hiteshchoudhary</a> sir. thanks for starting this free series on youtube. i highly recommend if you can create some discord or telegram channel for us so that if we need help or stuck somewhere then they can reach out to you or the community. as we know on youtube comments we dont get that much help as people are not active on youtube comments.\",\n              \"textOriginal\": \"hi #hiteshchoudhary sir. thanks for starting this free series on youtube. i highly recommend if you can create some discord or telegram channel for us so that if we need help or stuck somewhere then they can reach out to you or the community. as we know on youtube comments we dont get that much help as people are not active on youtube comments.\",\n              \"authorDisplayName\": \"Shubham Jain\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR1cofBcKfGEU84zQoOb17jem8IB5s_WELSSQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-25T15:14:22Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugy9p_G41Gggxu5rrbB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N97UKuiIlOc\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy9p_G41Gggxu5rrbB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"The quality of video is insane ✨✨\",\n              \"textOriginal\": \"The quality of video is insane ✨✨\",\n              \"authorDisplayName\": \"Alok Pandey\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/95gC4w_oXMdJ_zPCMvOMqoiT5-4uquiceVYmD8UtiFY3FoVwK-XR-_Uolx-6Jr61yXjd0kxYkg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-23T12:59:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyLAH4iast5wy9e7Ph4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N97UKuiIlOc\",\n          \"topLevelComment\": {\n            \"id\": \"UgyLAH4iast5wy9e7Ph4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I found EC2 overwhelming and scary. Only then i moved to Lambda and it feels much better. Ofcourse my use case is very particular.\",\n              \"textOriginal\": \"I found EC2 overwhelming and scary. Only then i moved to Lambda and it feels much better. Ofcourse my use case is very particular.\",\n              \"authorDisplayName\": \"Leo pentos\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/IX_NC3JrpYHifMK0oUr4FuOuOxV55Qs2sHUWBbxVlSqQJNY6XGldIWJHP699T6V-UKe-4RtUvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-22T16:04:17Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwth4nnXwDWw7FDtLB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N97UKuiIlOc\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwth4nnXwDWw7FDtLB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Plz start the classses for cloud certification\",\n              \"textOriginal\": \"Plz start the classses for cloud certification\",\n              \"authorDisplayName\": \"Abhinav Srivastava\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSE1SPPT9iQSQnOxTc8a0osouU-vErxVS9UW8eu=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-22T15:06:34Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzb4qZZszTfXkPCgKd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N97UKuiIlOc\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzb4qZZszTfXkPCgKd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Want a dedicated video on RDS in cloud and Aurora for either a 2 or 3 tier application\",\n              \"textOriginal\": \"Want a dedicated video on RDS in cloud and Aurora for either a 2 or 3 tier application\",\n              \"authorDisplayName\": \"Amogh Datar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQIPeVGIk0HGY-LKQCxNTYm8TGQ1ZKtgc3F0af9CAM=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-22T12:45:40Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxcmwYcj6YCMcp4jMZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N97UKuiIlOc\",\n          \"topLevelComment\": {\n            \"id\": \"UgxcmwYcj6YCMcp4jMZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"please make a video on how to create ami of elastic beanstalk services as i found no video on youtube related to this so thaţ i can create amazon machine image of my project and if my account will be suspended then there will be no issue in that sir any alternate way to preserve our  deployed project  then please suggest me regarding this sir it really needed to me its my humble request to you sir\",\n              \"textOriginal\": \"please make a video on how to create ami of elastic beanstalk services as i found no video on youtube related to this so thaţ i can create amazon machine image of my project and if my account will be suspended then there will be no issue in that sir any alternate way to preserve our  deployed project  then please suggest me regarding this sir it really needed to me its my humble request to you sir\",\n              \"authorDisplayName\": \"techenthusiastshubham\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/bmXP7YliADaDzkVvnMhmMxRZ0WomlX2xUfW2i-IcVCpoTtwm1IV1VMm7_ccXxagNH-Th5sp5vS4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-22T05:07:38Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxFMU51jGzrkFGAwWF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N97UKuiIlOc\",\n          \"topLevelComment\": {\n            \"id\": \"UgxFMU51jGzrkFGAwWF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir i have used mainly elastic beanstalk mainly in  aws  and got some bill amount of 800 rupees now i want to wave off it please help me how to prevent suspension of my aws account as i have various import ml projects deployed on it please help me in this concern sir\",\n              \"textOriginal\": \"sir i have used mainly elastic beanstalk mainly in  aws  and got some bill amount of 800 rupees now i want to wave off it please help me how to prevent suspension of my aws account as i have various import ml projects deployed on it please help me in this concern sir\",\n              \"authorDisplayName\": \"techenthusiastshubham\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/bmXP7YliADaDzkVvnMhmMxRZ0WomlX2xUfW2i-IcVCpoTtwm1IV1VMm7_ccXxagNH-Th5sp5vS4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-22T05:04:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzg48ITJ6SWCuWexH54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N97UKuiIlOc\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzg48ITJ6SWCuWexH54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"waiting for the next one\",\n              \"textOriginal\": \"waiting for the next one\",\n              \"authorDisplayName\": \"Abdullah\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS7Vay8GiBtR_3HS44TTmfm575Bwhc1ciUpv11j5IfRV_Naa38bKGA5rHaHPR6y=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-21T18:40:56Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyNFRq3FrGU7bbFW_14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N97UKuiIlOc\",\n          \"topLevelComment\": {\n            \"id\": \"UgyNFRq3FrGU7bbFW_14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Best video 🙌🏻\",\n              \"textOriginal\": \"Best video 🙌🏻\",\n              \"authorDisplayName\": \"akshay gurjar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSwqTNLARGEUWcCChYEl48MnX-kwi42zEGRr31Y3A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-21T18:36:57Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx4vtmMXnLx237Xp5V4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"N97UKuiIlOc\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx4vtmMXnLx237Xp5V4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi can i know ..How many videos for the series...is the video&#39;s uploaded daily? How many months to complete the series.. waiting for u ans ❤️ thank u\",\n              \"textOriginal\": \"Hi can i know ..How many videos for the series...is the video's uploaded daily? How many months to complete the series.. waiting for u ans ❤️ thank u\",\n              \"authorDisplayName\": \"santhosh v\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRbETTaizfNmh4u-fiF_D-U3etSBPnl9YyCIJJ33g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-21T18:02:11Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"eSYvfCoWIzA\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgwEjwM5aKB7HaAFATJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eSYvfCoWIzA\",\n          \"topLevelComment\": {\n            \"id\": \"UgwEjwM5aKB7HaAFATJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hey hitesh nothing about context\",\n              \"textOriginal\": \"Hey hitesh nothing about context\",\n              \"authorDisplayName\": \"theminders\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/6_8ZmbZcOk_XWchiRlC4bU0aRKwObR1RU-hpYf0umzpoWcCF_qMP3_sLpPuMRsoPze2Yd6NAEw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-12T16:49:28Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwbqs3ft1wxwUH8VWF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eSYvfCoWIzA\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwbqs3ft1wxwUH8VWF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Can you create a step-by-step playlist for a new approach to architecting things? The mental model in Next.js is different. If a parent uses &#39;useClient&#39;, then all of its children will render on the client side. We would greatly benefit from a step-by-step playlist that guides us in designing a system where CSR components are placed at the leaf level.\",\n              \"textOriginal\": \"Can you create a step-by-step playlist for a new approach to architecting things? The mental model in Next.js is different. If a parent uses 'useClient', then all of its children will render on the client side. We would greatly benefit from a step-by-step playlist that guides us in designing a system where CSR components are placed at the leaf level.\",\n              \"authorDisplayName\": \"Nawaz Haider\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTbHwh9YLHaFmxYJ0yPhQahXaZxs73jfI0vGVvZSw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-11T05:49:08Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzVYOUMQYn2ZWs35gd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eSYvfCoWIzA\",\n          \"topLevelComment\": {\n            \"id\": \"UgzVYOUMQYn2ZWs35gd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir app to chai or code to bhul hi gye ...sir plz continue\",\n              \"textOriginal\": \"Sir app to chai or code to bhul hi gye ...sir plz continue\",\n              \"authorDisplayName\": \"status,..,\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/wpdGEoP1OG5HLfbsnwPiUSOW1xJFAlXT5sJCiOE2dFjDuGDWVxVts2fkLRXcKr8MbFzOJzoLlQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-09T03:45:44Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyR2_uNv0YPjORarzB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eSYvfCoWIzA\",\n          \"topLevelComment\": {\n            \"id\": \"UgyR2_uNv0YPjORarzB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"(pages) is Little confusing for me so I&#39;ll use plain App dir structure 😅\",\n              \"textOriginal\": \"(pages) is Little confusing for me so I'll use plain App dir structure 😅\",\n              \"authorDisplayName\": \"Aman soni\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQz-Xex_kFh32NPru0u5aUnx349THKed56eia-ilA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-08T14:02:06Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzY69fec2DguYkvoDl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eSYvfCoWIzA\",\n          \"topLevelComment\": {\n            \"id\": \"UgzY69fec2DguYkvoDl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I request you please make a video playlist on solidity programing language. I started learning this new language but i faced some difficulty. Please help me out\",\n              \"textOriginal\": \"I request you please make a video playlist on solidity programing language. I started learning this new language but i faced some difficulty. Please help me out\",\n              \"authorDisplayName\": \"Atul Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTSm33nUBMYcJpM5oNNYZL2pd7A0-56Vc73q8E9Sg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 3,\n              \"publishedAt\": \"2023-07-08T07:17:23Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxjjGSCFYtHOrcHypx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eSYvfCoWIzA\",\n          \"topLevelComment\": {\n            \"id\": \"UgxjjGSCFYtHOrcHypx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks man, keep going.\",\n              \"textOriginal\": \"Thanks man, keep going.\",\n              \"authorDisplayName\": \"Mohammed Saber\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRfOvRTU2lqERISUlExA-uzAEMrlPGyWXWsKSiWqg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-07T17:36:46Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx5lF7vVEWWaL16aQR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eSYvfCoWIzA\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx5lF7vVEWWaL16aQR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Damn bhaiya your consistency amazed me\",\n              \"textOriginal\": \"Damn bhaiya your consistency amazed me\",\n              \"authorDisplayName\": \"Dragno edits\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/JDUkxJWfvOnSoisRiI2Ikw0sj1MZeX4aJQh3F9PXX6VYMtwiOvVIMo5n_xtWp-Gg7_G_MoEW=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-07T14:30:08Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzT-hK5uS3yRhiAmD14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eSYvfCoWIzA\",\n          \"topLevelComment\": {\n            \"id\": \"UgzT-hK5uS3yRhiAmD14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi Hitesh,<br>I have been watching your video more than 3 years, and i always find those helpful\",\n              \"textOriginal\": \"Hi Hitesh,\\nI have been watching your video more than 3 years, and i always find those helpful\",\n              \"authorDisplayName\": \"Rishiraj Sharma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTagzVmxyzE-Q5byn0KlhnSygaT8HeEmCmLePGWNg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-07T14:27:16Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwiaXug3SUpJHEyz7R4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eSYvfCoWIzA\",\n          \"topLevelComment\": {\n            \"id\": \"UgwiaXug3SUpJHEyz7R4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"why you didn&#39;t touch the basics of next like layout structure, loading and 404 page in first 5 basic lectures. it is basic of next\",\n              \"textOriginal\": \"why you didn't touch the basics of next like layout structure, loading and 404 page in first 5 basic lectures. it is basic of next\",\n              \"authorDisplayName\": \"Green Shaheen\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQECFlIGDoqUn5ZbKblRRb-MRvcArefJbhi4VVa_w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-07T14:22:03Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugx6-ptNg8ji3Mr1ah54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eSYvfCoWIzA\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx6-ptNg8ji3Mr1ah54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Looking for next chapter for next and appwrite\",\n              \"textOriginal\": \"Looking for next chapter for next and appwrite\",\n              \"authorDisplayName\": \"ronnakrit cheinvichai\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQj6q4KBHl5d8aaHW3Vke9Jpv6iYqkPcUkltzUVcg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-07T14:20:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwwxOapBP4LGnGqP4R4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eSYvfCoWIzA\",\n          \"topLevelComment\": {\n            \"id\": \"UgwwxOapBP4LGnGqP4R4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"1st\",\n              \"textOriginal\": \"1st\",\n              \"authorDisplayName\": \"ronnakrit cheinvichai\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQj6q4KBHl5d8aaHW3Vke9Jpv6iYqkPcUkltzUVcg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-07T14:17:51Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"1SMO6kWb9Eo\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgwPuDV8qkLXja3lkSF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"1SMO6kWb9Eo\",\n          \"topLevelComment\": {\n            \"id\": \"UgwPuDV8qkLXja3lkSF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Amazing 🔥🔥\",\n              \"textOriginal\": \"Amazing 🔥🔥\",\n              \"authorDisplayName\": \"Eliuddy Neftali\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRheXEpggtG21fBTlJHR0QnlG3rU0fhAVmTSCHwnw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-18T05:59:00Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxnIxHTtb0AUtkw20h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"1SMO6kWb9Eo\",\n          \"topLevelComment\": {\n            \"id\": \"UgxnIxHTtb0AUtkw20h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Chai aur Javascript next video????😢\",\n              \"textOriginal\": \"Chai aur Javascript next video????😢\",\n              \"authorDisplayName\": \"Aquib Sayyed\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/3KQ0o1A5mmbEWJ3ptmoJPK133bUnbxcpuYBBiFUxJvvWULZvJt55i3F7B74UJ8HRozVOBaqN=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-05T05:10:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxu-5ttRIFpcGT3AhR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"1SMO6kWb9Eo\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxu-5ttRIFpcGT3AhR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"{❤ from Bangladesh} // keep going 👌\",\n              \"textOriginal\": \"{❤ from Bangladesh} // keep going 👌\",\n              \"authorDisplayName\": \"Hasibur Rashid\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/AX5miwBgaRrd32u52si3jqNtEKH6klsvyLpnnMJXlo3eh6ZNGmLKlCWyWTQll6SsH8wbtbuJitg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-04T19:27:57Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyhN4Mt23JxEBUPVql4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"1SMO6kWb9Eo\",\n          \"topLevelComment\": {\n            \"id\": \"UgyhN4Mt23JxEBUPVql4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Context + Waiting for next videos 😅\",\n              \"textOriginal\": \"Context + Waiting for next videos 😅\",\n              \"authorDisplayName\": \"Galaxy\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQRMBImlT0axxtpySBiL88ZUTW_rLVICKhvAw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-04T13:52:32Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy6JhfoDHPMuSmMdJd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"1SMO6kWb9Eo\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy6JhfoDHPMuSmMdJd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Love from haridwar❤\",\n              \"textOriginal\": \"Love from haridwar❤\",\n              \"authorDisplayName\": \"Motivational hub\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Hdsngqann-HyQnDNBJOEXEt5vIYLcDgDEZTIx7N9FQj12iUCQmVl9Z3BO_eLoObW_FJtxAxgcw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 5,\n              \"publishedAt\": \"2023-07-04T13:16:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzf-kCEcdTG06MRi-J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"1SMO6kWb9Eo\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzf-kCEcdTG06MRi-J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you very much\",\n              \"textOriginal\": \"Thank you very much\",\n              \"authorDisplayName\": \"Rishi Raj\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTTSELBkqZHa16Ra4q7EkD7TjnNt89PBJbFGmYI1uzMfb2AMH3TBHo4ZdUs7JV2=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-04T12:53:13Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy4ypSZ87IRRbfMcUt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"1SMO6kWb9Eo\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy4ypSZ87IRRbfMcUt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir please hindi wale channel pr JavaScript ka video post kijiye\",\n              \"textOriginal\": \"Sir please hindi wale channel pr JavaScript ka video post kijiye\",\n              \"authorDisplayName\": \"Shubhasheesh Kundu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQRYPgoY6_c6134aoc3Q2JVrIOxKQBNGxEagapQ6rLWo_hdavozP1QxTILUuh8O=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-07-04T12:53:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"VXqIJ2SJh9s\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxybM0x9EH2yDnV67d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VXqIJ2SJh9s\",\n          \"topLevelComment\": {\n            \"id\": \"UgxybM0x9EH2yDnV67d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank You, this is really informative for a beginner like me\",\n              \"textOriginal\": \"Thank You, this is really informative for a beginner like me\",\n              \"authorDisplayName\": \"_Lokesh Sonawane\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR23SJBCWcDnQDDfL9tB5f8Tkvt8wwutIxLNO4cQu8=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-12T03:11:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz2WU-Q6pJWxTiPfo54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VXqIJ2SJh9s\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz2WU-Q6pJWxTiPfo54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Are you gonna coming up with cloud training on YT?\",\n              \"textOriginal\": \"Are you gonna coming up with cloud training on YT?\",\n              \"authorDisplayName\": \"Advait Joshi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR5UMQ1iQlr73ZQmkCGiG5GmZtDYkAd-KF6zW9pTw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-01T08:46:32Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy_q8fBapXjCO9eqzF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VXqIJ2SJh9s\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy_q8fBapXjCO9eqzF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Please create azur roadmap video\",\n              \"textOriginal\": \"Please create azur roadmap video\",\n              \"authorDisplayName\": \"sagar navghare\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTkspEEEe5R85icqlm7cZvn-bvtatRF4EbWb0QRjQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-30T11:26:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwS6ptE0wUigq3iNeJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VXqIJ2SJh9s\",\n          \"topLevelComment\": {\n            \"id\": \"UgwS6ptE0wUigq3iNeJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Fantastic....\",\n              \"textOriginal\": \"Fantastic....\",\n              \"authorDisplayName\": \"Creative Compilations\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/vso04FZoir0z7QN472WemvEbRQbwfK1vpZ-ohQPXgKmysmQsj_OLlIm3D-mywhrfq81UZiO6=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-29T16:21:42Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwgnlbujnTqGZGF69d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VXqIJ2SJh9s\",\n          \"topLevelComment\": {\n            \"id\": \"UgwgnlbujnTqGZGF69d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I spent couple of months wasting time in trying to learn all the things out there for a cloud engineer. Only to get tired out with all the tools of DevOps. Then decided not to do DevOps totally. It&#39;s extremely frustrating\",\n              \"textOriginal\": \"I spent couple of months wasting time in trying to learn all the things out there for a cloud engineer. Only to get tired out with all the tools of DevOps. Then decided not to do DevOps totally. It's extremely frustrating\",\n              \"authorDisplayName\": \"Pramod\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTRZRIdLLZ0edaInFK8XORAe6TAlUf5KgQCOfRvaluEs6jjY7hbK2PL3IHnVjnR=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-22T16:25:47Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx6mNI1oKQ0xFyU47p4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VXqIJ2SJh9s\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx6mNI1oKQ0xFyU47p4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hi Hitesh<br>I am a follower of your videos.<br>Can I get complete tutorials course for &#39;Docker&#39; and &#39;Report Portal&#39; for  &#39;WebdriverIO with Cucumber&#39; and Typescript<br><br>Please tell me even it a paid course...<br>❤❤❤❤❤🙏🙏🙏🙏🙏\",\n              \"textOriginal\": \"Hi Hitesh\\nI am a follower of your videos.\\nCan I get complete tutorials course for 'Docker' and 'Report Portal' for  'WebdriverIO with Cucumber' and Typescript\\n\\nPlease tell me even it a paid course...\\n❤❤❤❤❤🙏🙏🙏🙏🙏\",\n              \"authorDisplayName\": \"RAJKUMAR AADEPU\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ibVLU6_XKZ7XEkyruGiQmRwnA0JlO1Rnb458vU7aNVIHAQ_KQHpIZFTnqAfG4panO2NrtGRH=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-22T13:07:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzZMw-aaWfs3xxNo8t4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VXqIJ2SJh9s\",\n          \"topLevelComment\": {\n            \"id\": \"UgzZMw-aaWfs3xxNo8t4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Make a separate playlist of Cloud it will be brtter for us.\",\n              \"textOriginal\": \"Make a separate playlist of Cloud it will be brtter for us.\",\n              \"authorDisplayName\": \"Jahirul jitu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaStwmBQ4hwL0oftjbZSs7iJA0Yrf8kf6bnWKKUYuT0=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-22T07:10:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyeFDCSKhpBBs9dlZF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VXqIJ2SJh9s\",\n          \"topLevelComment\": {\n            \"id\": \"UgyeFDCSKhpBBs9dlZF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hitesh ...current job scenario is extremely inclined towards folks getting into DevOps tools. 90% of recruiters are only looking for DevOps and not focusing on Cloud Engineer or Cloud Support roles. Learning all these DevOps tools is very tiresome and not enthusiastic.\",\n              \"textOriginal\": \"Hitesh ...current job scenario is extremely inclined towards folks getting into DevOps tools. 90% of recruiters are only looking for DevOps and not focusing on Cloud Engineer or Cloud Support roles. Learning all these DevOps tools is very tiresome and not enthusiastic.\",\n              \"authorDisplayName\": \"Amogh Datar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ48OJr31t1F3oJKKAo0Pn8gSL15NhHd2iOFA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-22T02:54:08Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugytv87-zs8oK4vFQ8l4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VXqIJ2SJh9s\",\n          \"topLevelComment\": {\n            \"id\": \"Ugytv87-zs8oK4vFQ8l4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Mereko Unstop ke Flipkart grid 5.0  se internship crack karni hai. Uspar please ek video banado.\",\n              \"textOriginal\": \"Mereko Unstop ke Flipkart grid 5.0  se internship crack karni hai. Uspar please ek video banado.\",\n              \"authorDisplayName\": \"Anurag Basu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS-GMfCicgRZ3BXnZV0QDWLBCGJG2P-gxW5m5VK9pf8tyL2BnyZdCnJAoQvtN5K=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-21T05:09:58Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyC9QGS-BenVcdHldp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VXqIJ2SJh9s\",\n          \"topLevelComment\": {\n            \"id\": \"UgyC9QGS-BenVcdHldp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"The world is moving towards Multi Cloud  what ever cloud provider provides cheapest service for a resource get that one and connect everything together similar to a microservice application\",\n              \"textOriginal\": \"The world is moving towards Multi Cloud  what ever cloud provider provides cheapest service for a resource get that one and connect everything together similar to a microservice application\",\n              \"authorDisplayName\": \"Aboobaker Siddiq\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR0Z5wMn68JCVTx5Pm87ucCF7ktQOaDxZoMw_iW=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-20T18:36:44Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx0JS5mifnoKm6LnXN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VXqIJ2SJh9s\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx0JS5mifnoKm6LnXN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Can I move my entire database from Firebase to any service provider? If yes, can you make a video about this?\",\n              \"textOriginal\": \"Can I move my entire database from Firebase to any service provider? If yes, can you make a video about this?\",\n              \"authorDisplayName\": \"Diptenu Sarkar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQLpyw-Ql2k-8AVuqXtOHHgkudpHbaYs3nT7UYDPVc=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-20T17:16:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzo0ltwwtGT6sIL6ER4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"VXqIJ2SJh9s\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzo0ltwwtGT6sIL6ER4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"How fast can we expect the videos in this playlist ? i want to get AWS certified.\",\n              \"textOriginal\": \"How fast can we expect the videos in this playlist ? i want to get AWS certified.\",\n              \"authorDisplayName\": \"ROHAN CHOPRA\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQD-O7CH4RBNxddCwHI7huuMn1qbYK5rBIDtQYcwA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-06-19T11:54:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"UgRw9lhhWDk\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyzO-XBq6Cmfbm-T214AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"UgRw9lhhWDk\",\n          \"topLevelComment\": {\n            \"id\": \"UgyzO-XBq6Cmfbm-T214AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"https://www.youtube.com/watch?v=UgRw9lhhWDk&amp;t=19m07s\\\">19:07</a> i was confused about middleware but you made it easier. Thanks\",\n              \"textOriginal\": \"19:07 i was confused about middleware but you made it easier. Thanks\",\n              \"authorDisplayName\": \"faisal mushtaq\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRiGdI3eJab1Px4jOlAVl8chHvLLeIKziHOHJmAUw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T09:31:52Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugx7DuKJ-YTGi4InAGB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"UgRw9lhhWDk\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx7DuKJ-YTGi4InAGB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Great contents, Thanks.<br><br><a href=\\\"https://www.youtube.com/watch?v=UgRw9lhhWDk&amp;t=02m12s\\\">02:12</a> -&gt; in chrome you can create your own shortcut and set the Application trigger directly.\",\n              \"textOriginal\": \"Great contents, Thanks.\\n\\n02:12 -> in chrome you can create your own shortcut and set the Application trigger directly.\",\n              \"authorDisplayName\": \"faisal mushtaq\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRiGdI3eJab1Px4jOlAVl8chHvLLeIKziHOHJmAUw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T08:53:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxl1QqBSTEvyXa84S54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"UgRw9lhhWDk\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxl1QqBSTEvyXa84S54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"great series sir. how to make the toast work?\",\n              \"textOriginal\": \"great series sir. how to make the toast work?\",\n              \"authorDisplayName\": \"herahadi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/oVcC3x2xkqj9H_ayw833DFsONF9jBJvh99-xl8tOhDsvBBmCXlfhp4EVIA2bp0Grt006MNDw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-19T22:52:32Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwOIcIX0M93f7WCttl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"UgRw9lhhWDk\",\n          \"topLevelComment\": {\n            \"id\": \"UgwOIcIX0M93f7WCttl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"cookie is setted. but in React we use AppContext then save to logged in currentUser data. in NextJS 13 how to save that cookies decoded data in useSession? etc\",\n              \"textOriginal\": \"cookie is setted. but in React we use AppContext then save to logged in currentUser data. in NextJS 13 how to save that cookies decoded data in useSession? etc\",\n              \"authorDisplayName\": \"Solomon Tech\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/cYxI8BW4XHI7Kezkrsqd7FGxnxb1drcdDmjBe963TGn9jcoEY7F15KriX9mLvcbKfjVjhjTI=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-17T06:22:36Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwhXkhiKv-CQRXc8xp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"UgRw9lhhWDk\",\n          \"topLevelComment\": {\n            \"id\": \"UgwhXkhiKv-CQRXc8xp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"in middlewre how to implement it for user roles  like admin and normal user  for specific path\",\n              \"textOriginal\": \"in middlewre how to implement it for user roles  like admin and normal user  for specific path\",\n              \"authorDisplayName\": \"Hell ISH\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQQlhNoaMWwZqaho29bkHRud7sna1LPVgVl9w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-14T15:14:21Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzYbD8lSGIDIddgKXd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"UgRw9lhhWDk\",\n          \"topLevelComment\": {\n            \"id\": \"UgzYbD8lSGIDIddgKXd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"bookmark<br><a href=\\\"https://www.youtube.com/watch?v=UgRw9lhhWDk&amp;t=27m19s\\\">27:19</a>\",\n              \"textOriginal\": \"bookmark\\n27:19\",\n              \"authorDisplayName\": \"Johnson D'souza\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSsW3baB9__XIs6RTPr1EkfVkILAuDlXDUcwtDyfw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-10T08:47:26Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzQMUFhSgDIR9oLxSh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"UgRw9lhhWDk\",\n          \"topLevelComment\": {\n            \"id\": \"UgzQMUFhSgDIR9oLxSh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you! I did not expect to enjoy, but I did thanks to you!\",\n              \"textOriginal\": \"Thank you! I did not expect to enjoy, but I did thanks to you!\",\n              \"authorDisplayName\": \"Shantanu Kulkarni\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQQyqNK95_Ad-axD4arlftRoWB_UQ5IVZI5ME8qWow=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-09T16:30:50Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyGrsXbM1UJfrZcm6x4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"UgRw9lhhWDk\",\n          \"topLevelComment\": {\n            \"id\": \"UgyGrsXbM1UJfrZcm6x4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir the last part of video make me completely confused how that getuserdetails and the code written in helpers part how data is getting fetched how can i clear this doubt\",\n              \"textOriginal\": \"sir the last part of video make me completely confused how that getuserdetails and the code written in helpers part how data is getting fetched how can i clear this doubt\",\n              \"authorDisplayName\": \"Varun Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSkS7WVOyagQrLNpgiTpYd6gttGGZ3Zi98JRSbeS26Z-o1NeyiFXiaHxE9EJMw1=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-05T17:40:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgykZol1RAFUBD4jsQV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"UgRw9lhhWDk\",\n          \"topLevelComment\": {\n            \"id\": \"UgykZol1RAFUBD4jsQV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"thanks for this playlist...<br><a href=\\\"https://www.youtube.com/watch?v=UgRw9lhhWDk&amp;t=2m19s\\\">2:19</a> =&gt; first we have to set it up :  [ ctrl + shift + i ] -&gt; [ ctrl + shift + p ] -&gt; (make sure you are on application ) enter <br>then we can just use  [ ctrl + shift + i ] to open application section\",\n              \"textOriginal\": \"thanks for this playlist...\\n2:19 => first we have to set it up :  [ ctrl + shift + i ] -> [ ctrl + shift + p ] -> (make sure you are on application ) enter \\nthen we can just use  [ ctrl + shift + i ] to open application section\",\n              \"authorDisplayName\": \"S-111 0\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/NcLg_T84ZM2fe-Jm4CdHE0T1zg4XWymnnof-XEyfRIn0bWcFGkvfVEnVVLjfgWgNLc05uXUbFi4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-05T16:58:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwu56XL4HQ7LXfi9Wh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"UgRw9lhhWDk\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwu56XL4HQ7LXfi9Wh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"love the series &lt;3\",\n              \"textOriginal\": \"love the series <3\",\n              \"authorDisplayName\": \"Shibil Das\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSqgb6YJml-agkPR4jsSrcUhcOdTRGYXo4-vLlz4w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-04T09:12:36Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzWnasIliHqxY2R1Fx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"UgRw9lhhWDk\",\n          \"topLevelComment\": {\n            \"id\": \"UgzWnasIliHqxY2R1Fx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"okay im leaving it : |\",\n              \"textOriginal\": \"okay im leaving it : |\",\n              \"authorDisplayName\": \"Kush Sharma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/J94bBw8XHBvKjXkVDyXNV9gqeF41paq3yqynP2ithMtZrxUeYvOrm2_P81GP1Y0mxnLzwKv34w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-07-03T10:57:20Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      },\n      {\n        \"id\": \"UgwbKNu_1Q5qQoxhsm14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"UgRw9lhhWDk\",\n          \"topLevelComment\": {\n            \"id\": \"UgwbKNu_1Q5qQoxhsm14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"hello sir please use redux as well with SSR and CSTR in this project\",\n              \"textOriginal\": \"hello sir please use redux as well with SSR and CSTR in this project\",\n              \"authorDisplayName\": \"tushal tak\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTHIyopTwdK6d54-Bm8KnlEO3pAHvs1emA-nORJsCN5OpyqKialcLs53CY5qW9C=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-03T06:11:49Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"n1edxEq8syI\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyZVzd7LD11YeNtdxV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"n1edxEq8syI\",\n          \"topLevelComment\": {\n            \"id\": \"UgyZVzd7LD11YeNtdxV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I have heard of firebase thanks to Fireship but thanks to you for introducing me to Appwrite. Both seem to do the same thing but on searching a bit I found that Appwrite is completely open-sourced and also self-hosted while Firebase is limited to only using Google cloud.\",\n              \"textOriginal\": \"I have heard of firebase thanks to Fireship but thanks to you for introducing me to Appwrite. Both seem to do the same thing but on searching a bit I found that Appwrite is completely open-sourced and also self-hosted while Firebase is limited to only using Google cloud.\",\n              \"authorDisplayName\": \"Shantanu Kulkarni\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQQyqNK95_Ad-axD4arlftRoWB_UQ5IVZI5ME8qWow=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-10T06:00:51Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgyuRS_0I7kZ8P7hwkp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"n1edxEq8syI\",\n          \"topLevelComment\": {\n            \"id\": \"UgyuRS_0I7kZ8P7hwkp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"The way you explain is on next leve....... Humble and Calm and Focused..........<br>and<br>Yes please make a course explaining  redux toolkit and state Management.........\",\n              \"textOriginal\": \"The way you explain is on next leve....... Humble and Calm and Focused..........\\nand\\nYes please make a course explaining  redux toolkit and state Management.........\",\n              \"authorDisplayName\": \"Rohit soni\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQVB_eNBtCMXVEWitJSCyX7RDElzF8uPGJoNA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-10T03:41:10Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyEmlEgpyjBdPrzZnJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"n1edxEq8syI\",\n          \"topLevelComment\": {\n            \"id\": \"UgyEmlEgpyjBdPrzZnJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"make video about Redux please, sir\",\n              \"textOriginal\": \"make video about Redux please, sir\",\n              \"authorDisplayName\": \"nikhil raj\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQChoKq6oJ-MV2VX6wWr1AtGSAiYT1_Nv9lWnmYjzlqVw2jfJ2xwEoWYyxTvUNI=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-09T08:08:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwVrK94greaXmQ3zKN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"n1edxEq8syI\",\n          \"topLevelComment\": {\n            \"id\": \"UgwVrK94greaXmQ3zKN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks for telling me that I&#39;ve mindset of engineering. I do notice every detail in my work whether it is technical or non technical. I&#39;m learning web development and not touched the DSA yet because I&#39;m just building projects which solves my own problem. Like today I started making an expense tracker in MERN and that will be finished by tomorrow. For me problem solving is &#39;solving the real world problems&#39; not the leetcode. Love you sir. By the way I&#39;m not pursuing engineering.👍\",\n              \"textOriginal\": \"Thanks for telling me that I've mindset of engineering. I do notice every detail in my work whether it is technical or non technical. I'm learning web development and not touched the DSA yet because I'm just building projects which solves my own problem. Like today I started making an expense tracker in MERN and that will be finished by tomorrow. For me problem solving is 'solving the real world problems' not the leetcode. Love you sir. By the way I'm not pursuing engineering.👍\",\n              \"authorDisplayName\": \"Vaibhav Prajapat\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR_L-m6j4654wjIeUkZ8M9HhDFahnXu_xmRAiIS0w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-07T13:29:16Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzWuxvlydhvoA5xoX14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"n1edxEq8syI\",\n          \"topLevelComment\": {\n            \"id\": \"UgzWuxvlydhvoA5xoX14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Aa\",\n              \"textOriginal\": \"Aa\",\n              \"authorDisplayName\": \"Mohdbilal Bilal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTkVsrquUsbo1lu7vDJ48Lp5yeoIb8xM_1EbjsmVItLdGrfNxijKD-7NqWj8fmu=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-05T08:21:15Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwhDW7jV7EJQXygFvR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"n1edxEq8syI\",\n          \"topLevelComment\": {\n            \"id\": \"UgwhDW7jV7EJQXygFvR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"hi, can You make a video on husky ,eslint, link-staged and prettier setup using nextjs this is impotant topic every developer should know this.\",\n              \"textOriginal\": \"hi, can You make a video on husky ,eslint, link-staged and prettier setup using nextjs this is impotant topic every developer should know this.\",\n              \"authorDisplayName\": \"Govind Saini\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/d3G1F5ifxnjAZtZN_KVbHpWM1FCJwjHCPac7g4hWLe4sBjLrODbjbb2q2NfisG_fYjz7bRsa4ck=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-04T09:21:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyMhguyP0rT-wjwHXB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"n1edxEq8syI\",\n          \"topLevelComment\": {\n            \"id\": \"UgyMhguyP0rT-wjwHXB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Nice take on context API\",\n              \"textOriginal\": \"Nice take on context API\",\n              \"authorDisplayName\": \"Ankan Bhattacharya\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTIdjfhPBDeR5enUtbAtS1RucScy_a7WX8OiN6GgA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-04T05:15:38Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy2kNy6oUBCo0hrzZl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"n1edxEq8syI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy2kNy6oUBCo0hrzZl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"LCO Pro bundle cost is too high for me, can you give discount to me ? if yes please reply\",\n              \"textOriginal\": \"LCO Pro bundle cost is too high for me, can you give discount to me ? if yes please reply\",\n              \"authorDisplayName\": \"John Newmann\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/xmVaZYH3zoo3ey8oYvtTK5vgP-1Sy9m2HfqpApJU5ih-rLytlmcQDVM99TOV9xLzSlocVljC4Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-03T13:58:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzgX1_flK03vVa69f94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"n1edxEq8syI\",\n          \"topLevelComment\": {\n            \"id\": \"UgzgX1_flK03vVa69f94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"kro jldi\",\n              \"textOriginal\": \"kro jldi\",\n              \"authorDisplayName\": \"tushal tak\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTHIyopTwdK6d54-Bm8KnlEO3pAHvs1emA-nORJsCN5OpyqKialcLs53CY5qW9C=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-03T10:00:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzUaCaytPAmpb8ZiPl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"n1edxEq8syI\",\n          \"topLevelComment\": {\n            \"id\": \"UgzUaCaytPAmpb8ZiPl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"done\",\n              \"textOriginal\": \"done\",\n              \"authorDisplayName\": \"tushal tak\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTHIyopTwdK6d54-Bm8KnlEO3pAHvs1emA-nORJsCN5OpyqKialcLs53CY5qW9C=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-03T10:00:26Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyV85DIvh1J1PGzVfB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"n1edxEq8syI\",\n          \"topLevelComment\": {\n            \"id\": \"UgyV85DIvh1J1PGzVfB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Redux toolkit\",\n              \"textOriginal\": \"Redux toolkit\",\n              \"authorDisplayName\": \"Sivaji Kondeti\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ebaArBpNFbzXMhZWv4LSCEOWL48SFWfeF-KGZKW_9d7GDlirpqvAeKSgIX-QGs0v5gq9wMmziA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-03T08:41:16Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx0AX6k5EbS-___Q1d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"n1edxEq8syI\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx0AX6k5EbS-___Q1d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I want to join your discord server where&#39;s the link?\",\n              \"textOriginal\": \"I want to join your discord server where's the link?\",\n              \"authorDisplayName\": \"Sahil Verma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSxKGcjN6y0jj-KEe92s5HdWPXzpF3_VXOceAKk-g=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-03T06:48:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"eaQc7vbV4po\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugzy-IG9YV0MHJNTgBN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eaQc7vbV4po\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzy-IG9YV0MHJNTgBN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"i just want to stop in the middle of the video and already say thank you , i know node.js and ts and much more and of course react but i have never had such a smooth transition from creating a backend and a frontend to next.js i such a easy way i looked up so many videos on youtube and didnt find one that makes it as easy and nice as you so thank you very very much\",\n              \"textOriginal\": \"i just want to stop in the middle of the video and already say thank you , i know node.js and ts and much more and of course react but i have never had such a smooth transition from creating a backend and a frontend to next.js i such a easy way i looked up so many videos on youtube and didnt find one that makes it as easy and nice as you so thank you very very much\",\n              \"authorDisplayName\": \"Eliyahu Cohen\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTYdd6Cwt_6Iw4ZlEnqA8XhH1hMCZ2tw3qdUhMr5A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-23T06:24:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx0zpTyAhqzcr4iuJl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eaQc7vbV4po\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx0zpTyAhqzcr4iuJl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"May I know the extension that you are using to get those auto suggestions\",\n              \"textOriginal\": \"May I know the extension that you are using to get those auto suggestions\",\n              \"authorDisplayName\": \"krish deva\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTHPxARe6aODQuvQwJxcbhdMwUllgLcPg-jdXWY=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-23T04:35:44Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzAHQMPTRTpTBnhbl54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eaQc7vbV4po\",\n          \"topLevelComment\": {\n            \"id\": \"UgzAHQMPTRTpTBnhbl54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"1 hour 45 minutes\",\n              \"textOriginal\": \"1 hour 45 minutes\",\n              \"authorDisplayName\": \"Md Adil Hossain\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRfFfbjW-zr6cdenhjkdiqqoBnNyoOJK1Ah6cVRoA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-21T17:09:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwZhDPxEX_DzjAoumN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eaQc7vbV4po\",\n          \"topLevelComment\": {\n            \"id\": \"UgwZhDPxEX_DzjAoumN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"@hitesh sir extension name bta dain plz\",\n              \"textOriginal\": \"@hitesh sir extension name bta dain plz\",\n              \"authorDisplayName\": \"Melts in Oven\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSuV28a8WNMLn7fybjb8qt4MS-qWmhJXXtW8XpAug=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T20:44:31Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy9518M6F4WQGwfetp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eaQc7vbV4po\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy9518M6F4WQGwfetp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"whats the point of the sucess:true property if you never read it?\",\n              \"textOriginal\": \"whats the point of the sucess:true property if you never read it?\",\n              \"authorDisplayName\": \"beta john\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/RvL2l18yIPshtvUvSNPyDHhO1KvM-FEi4XSIvVRKe109SQQtbNsJ0gCC0mPn_DPCec5JKJv4OmY=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-19T19:56:08Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxVYpmIytwughbgLnx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eaQc7vbV4po\",\n          \"topLevelComment\": {\n            \"id\": \"UgxVYpmIytwughbgLnx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"i bust out of laugh on that hub logo lol it was funny\",\n              \"textOriginal\": \"i bust out of laugh on that hub logo lol it was funny\",\n              \"authorDisplayName\": \"Mystery Man\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/O588NkjzKAwryZMOJ5tY_BCCaghQZYZ5Z3e8VKFSpIulaengA_YE8zJU7O9XKc9d-3F_NmCMeQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-19T19:10:25Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgylecBfhCFeD9KltJh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eaQc7vbV4po\",\n          \"topLevelComment\": {\n            \"id\": \"UgylecBfhCFeD9KltJh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir please guide for implementing forgot password . the mail is going but the password isnt getting updated.\",\n              \"textOriginal\": \"Sir please guide for implementing forgot password . the mail is going but the password isnt getting updated.\",\n              \"authorDisplayName\": \"Sparsh Verma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLutcVEuj4QwDG0FZT4w94Re-_8vahe0IqFV4oiA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-18T18:09:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzCrYwds8B5DPu7Z5h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eaQc7vbV4po\",\n          \"topLevelComment\": {\n            \"id\": \"UgzCrYwds8B5DPu7Z5h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"can you please tell me which extension using you ?\",\n              \"textOriginal\": \"can you please tell me which extension using you ?\",\n              \"authorDisplayName\": \"aditya dhar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSH4zWDqmcP8l5Z-pAlTwf1gEBchG6EmDrn4XvNTqA1wCNzzlJmpn6-eMU3B-CN=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-17T10:41:55Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzCZUgrJ5djPozLYA14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eaQc7vbV4po\",\n          \"topLevelComment\": {\n            \"id\": \"UgzCZUgrJ5djPozLYA14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Name of Extension ? 😅😅\",\n              \"textOriginal\": \"Name of Extension ? 😅😅\",\n              \"authorDisplayName\": \"neeraj Joshi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRYE6wKh74iUNeIgWad8W4CHbLvYDjb-ApTA0-E=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-17T10:10:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzOd7IVw6NyOAR8bzN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eaQc7vbV4po\",\n          \"topLevelComment\": {\n            \"id\": \"UgzOd7IVw6NyOAR8bzN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you, sir. My knowledge of backend just increase by 100%\",\n              \"textOriginal\": \"Thank you, sir. My knowledge of backend just increase by 100%\",\n              \"authorDisplayName\": \"Lawson Chibueze\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSGENU0YTlMMlSUsHUPoNZaXgEy7Urg03XCnXvecF0=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-17T00:01:21Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwogfb53YWUBZ6nWuh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eaQc7vbV4po\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwogfb53YWUBZ6nWuh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"keep create more nextjs videos ❤❤\",\n              \"textOriginal\": \"keep create more nextjs videos ❤❤\",\n              \"authorDisplayName\": \"Atanu Mojumdar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/e-FQRsNTRmXX17ajS3FXfFK9h1q5b6fwvlnwqGhmu77pAKVz19vLtvW7RfLYNwHnUuZXf-TJcU8=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-15T14:51:44Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx3h3dOfbshBoPcu954AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"eaQc7vbV4po\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx3h3dOfbshBoPcu954AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello<br>Do you need to disconnect from mongoDB after every request is responded?<br><br>I&#39;m in tutorial hell right now, just trying to complete my first app and you have no idea how this video helped me. It made everything so clear. Watched it twice from start to finish.<br>Thanks a lot.\",\n              \"textOriginal\": \"Hello\\nDo you need to disconnect from mongoDB after every request is responded?\\n\\nI'm in tutorial hell right now, just trying to complete my first app and you have no idea how this video helped me. It made everything so clear. Watched it twice from start to finish.\\nThanks a lot.\",\n              \"authorDisplayName\": \"beta john\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/RvL2l18yIPshtvUvSNPyDHhO1KvM-FEi4XSIvVRKe109SQQtbNsJ0gCC0mPn_DPCec5JKJv4OmY=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-14T21:52:08Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"_BqkCRgCdng\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgxLezgIp0OpVxYZdbB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_BqkCRgCdng\",\n          \"topLevelComment\": {\n            \"id\": \"UgxLezgIp0OpVxYZdbB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Please cover &quot;Refresh Token&quot; topic\",\n              \"textOriginal\": \"Please cover \\\"Refresh Token\\\" topic\",\n              \"authorDisplayName\": \"Diganta Kr Das\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRiW9UV_z1megeprgGtpUFGsxFmywHeikjETSNDxQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-21T08:31:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugyi_fmvnc6F2u_uS6t4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_BqkCRgCdng\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyi_fmvnc6F2u_uS6t4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I feel sad that this series ended. Wish it could get some more episodes.\",\n              \"textOriginal\": \"I feel sad that this series ended. Wish it could get some more episodes.\",\n              \"authorDisplayName\": \"Abdus Samad 03\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTEJCB3nY3OZ6T_T_YsrvvUm0xfQSvQajY2X-Yj=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-19T00:25:16Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzuT0NByjdHyor-RfJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_BqkCRgCdng\",\n          \"topLevelComment\": {\n            \"id\": \"UgzuT0NByjdHyor-RfJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Really helpful, Hitesh sir =  Super saiyyan\",\n              \"textOriginal\": \"Really helpful, Hitesh sir =  Super saiyyan\",\n              \"authorDisplayName\": \"Abdus Samad 03\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTEJCB3nY3OZ6T_T_YsrvvUm0xfQSvQajY2X-Yj=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-18T20:29:36Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwMLHiJXr3xgE8SxM94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_BqkCRgCdng\",\n          \"topLevelComment\": {\n            \"id\": \"UgwMLHiJXr3xgE8SxM94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Just completed this series and absolutely loved it. Excellent work Hitesh, please never stop teaching❤\",\n              \"textOriginal\": \"Just completed this series and absolutely loved it. Excellent work Hitesh, please never stop teaching❤\",\n              \"authorDisplayName\": \"Arafat Tai\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTxcgOehsGnWko8p2guXPcU45zA-Tt6fk_YOwSJ47Y=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-17T07:15:50Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw5IGc08jbYB-Ux4GN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_BqkCRgCdng\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw5IGc08jbYB-Ux4GN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hitesh Choozy Nice!!\",\n              \"textOriginal\": \"Hitesh Choozy Nice!!\",\n              \"authorDisplayName\": \"Muhammad Bilal Malik\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQkaWE9Z6Qe8UDkAsNpsqz_ckmMpzuVYLhukAP_yg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-07T13:09:05Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyUYwALfwc3lorDdIN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_BqkCRgCdng\",\n          \"topLevelComment\": {\n            \"id\": \"UgyUYwALfwc3lorDdIN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"There are also cryptocurrency games in the decentralized Utopia p2p ecosystem.\",\n              \"textOriginal\": \"There are also cryptocurrency games in the decentralized Utopia p2p ecosystem.\",\n              \"authorDisplayName\": \"Oliver James\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTaIz1Namx-_x2wXY3HrLV6Oqw05QSON9nH-41Ak1tjnNir7gibAQ4hPw5ZfANP=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-06T07:42:54Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyQ77LM-tDKt_ULmVJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_BqkCRgCdng\",\n          \"topLevelComment\": {\n            \"id\": \"UgyQ77LM-tDKt_ULmVJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Added the forgot password functionality and toast notf.\",\n              \"textOriginal\": \"Added the forgot password functionality and toast notf.\",\n              \"authorDisplayName\": \"Kamal Yogi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR5vTdUE6XZCyYs6eVn5BYw7z2MNmUWERDTAg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-03T20:26:18Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzLr6nu43Cnx91d61R4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_BqkCRgCdng\",\n          \"topLevelComment\": {\n            \"id\": \"UgzLr6nu43Cnx91d61R4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Bro May Allah bless you witu lot of knowledge 🙏\",\n              \"textOriginal\": \"Bro May Allah bless you witu lot of knowledge 🙏\",\n              \"authorDisplayName\": \"Asman Ali\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ91VtG9zJ96DGwVt4tnyH5dDSRhJN_ui1-NQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-03T10:25:16Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgypI6P4opsRSuD1pJx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_BqkCRgCdng\",\n          \"topLevelComment\": {\n            \"id\": \"UgypI6P4opsRSuD1pJx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Plz make a more complex nextjs project 🎉\",\n              \"textOriginal\": \"Plz make a more complex nextjs project 🎉\",\n              \"authorDisplayName\": \"amarjyoti patra\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTlDsz8vsIkq8F3qFz6rHEWzCIZUELYcDSxQvJ_sw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-02T18:24:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxwJeC3mROA-DR_zqR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_BqkCRgCdng\",\n          \"topLevelComment\": {\n            \"id\": \"UgxwJeC3mROA-DR_zqR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you so much sir ( you are working so much hard for us )\",\n              \"textOriginal\": \"Thank you so much sir ( you are working so much hard for us )\",\n              \"authorDisplayName\": \"Atul\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQTJwutFz1_wt3psh40hRaKiEevRoCzaOh9H1B0Ag=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-01T17:39:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy4SeVeMDBGKO2Z_jJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_BqkCRgCdng\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy4SeVeMDBGKO2Z_jJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you for your next series\",\n              \"textOriginal\": \"Thank you for your next series\",\n              \"authorDisplayName\": \"Kartik Rajput\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSKLsfvd27EmXUpCMYs966SPy10qF5jR1KEXLLStA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-01T15:22:59Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwoUHKP1J6gVHQX9-14AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"_BqkCRgCdng\",\n          \"topLevelComment\": {\n            \"id\": \"UgwoUHKP1J6gVHQX9-14AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Oauth bhi add kar do playlist me to sone pe suhaga\",\n              \"textOriginal\": \"Oauth bhi add kar do playlist me to sone pe suhaga\",\n              \"authorDisplayName\": \"Kartik Rajput\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSKLsfvd27EmXUpCMYs966SPy10qF5jR1KEXLLStA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-01T13:49:53Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"qJkey7UPyiw\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgzwphRr7T-sIS8tG5l4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"qJkey7UPyiw\",\n          \"topLevelComment\": {\n            \"id\": \"UgzwphRr7T-sIS8tG5l4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Now I got it next js❤ thanks you\",\n              \"textOriginal\": \"Now I got it next js❤ thanks you\",\n              \"authorDisplayName\": \"Sanjay Santhosh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSPPZvJ9eyy_Y86sfBBNde8VDt6ZLsZY-eq8gySzQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-13T07:44:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzEoVZDDf53JHjBDiB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"qJkey7UPyiw\",\n          \"topLevelComment\": {\n            \"id\": \"UgzEoVZDDf53JHjBDiB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This is one of best series to learn full stack in next js available on YouTube , thank you so much\",\n              \"textOriginal\": \"This is one of best series to learn full stack in next js available on YouTube , thank you so much\",\n              \"authorDisplayName\": \"Aadarsh Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQWeVbeu_Z-8Z1UmqN-6WPMoq-JzS4mUckbVCc=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-09T14:12:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzkiWpHA1F2dGYBE294AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"qJkey7UPyiw\",\n          \"topLevelComment\": {\n            \"id\": \"UgzkiWpHA1F2dGYBE294AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir please a detailed course video on tailwind\",\n              \"textOriginal\": \"sir please a detailed course video on tailwind\",\n              \"authorDisplayName\": \"Shivendra pratap\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/MsyHB22lmUboQu4Y198pd9AbsrVETYCyxyMV-idd5VARYVDJZ8-SmOVfHHm9QCwxPy-F4dYa5w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-05T15:12:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxee7VErfxB52XR_FB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"qJkey7UPyiw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxee7VErfxB52XR_FB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you 🙌\",\n              \"textOriginal\": \"Thank you 🙌\",\n              \"authorDisplayName\": \"Jagadeesh Gade\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/WY1qgBAbBIO542i-P3kFZUM17NS0AgS1rd8qX4IoiUBuDd6QyQWx0QqFLqyb7AcYFi8JtlJcVg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-03T13:27:28Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzV6qpLzwRh8YHxswF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"qJkey7UPyiw\",\n          \"topLevelComment\": {\n            \"id\": \"UgzV6qpLzwRh8YHxswF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Plz help me 😭🙏😭<br>Maine frontend development complete ho gya ab mujhe backend kerna hai to kya direct backend Karlu ya fir DSA 3_4 month kerke fir backend start Karu <br>Our DSA javascript main hi ker lu ya fir Java/C++ seekhna padhega DSA kerne ke liye plz help me\",\n              \"textOriginal\": \"Plz help me 😭🙏😭\\nMaine frontend development complete ho gya ab mujhe backend kerna hai to kya direct backend Karlu ya fir DSA 3_4 month kerke fir backend start Karu \\nOur DSA javascript main hi ker lu ya fir Java/C++ seekhna padhega DSA kerne ke liye plz help me\",\n              \"authorDisplayName\": \"Umesh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQYOLQ5kMJ11TjbH6ryp9sHKJa4GBlVqs5NiHut3prJ7ovQdJe-Ob_FMGvXqFhX=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-02T06:52:53Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxCqYfkSIMBUyGUwG54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"qJkey7UPyiw\",\n          \"topLevelComment\": {\n            \"id\": \"UgxCqYfkSIMBUyGUwG54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello sir! Thank you for this series. What color theme in vscode do you use?\",\n              \"textOriginal\": \"Hello sir! Thank you for this series. What color theme in vscode do you use?\",\n              \"authorDisplayName\": \"Nik Bondarenko\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTEa8-4pQZYTzja4ki_QhjGT7Fes35ndR_n5T1i=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-02T06:41:49Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgwRWi0iuaGRSG4c0oB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"qJkey7UPyiw\",\n          \"topLevelComment\": {\n            \"id\": \"UgwRWi0iuaGRSG4c0oB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir it&#39;ll be great if you can create video on state management for react and nextjs. I found it very complicated in many videos😢. When to use zustand, react query, context api, redux etc.\",\n              \"textOriginal\": \"Sir it'll be great if you can create video on state management for react and nextjs. I found it very complicated in many videos😢. When to use zustand, react query, context api, redux etc.\",\n              \"authorDisplayName\": \"Sachin Soni\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRy1cCu66-wMU9K1bjX16Y-b8Cuw3cenOS5S1BryA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 2,\n              \"publishedAt\": \"2023-07-02T04:46:41Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxAFSuTraTU-vw9HYR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"qJkey7UPyiw\",\n          \"topLevelComment\": {\n            \"id\": \"UgxAFSuTraTU-vw9HYR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Would love to know how to add gradient to text in tailwindcss while also have the ability to add dropshadow\",\n              \"textOriginal\": \"Would love to know how to add gradient to text in tailwindcss while also have the ability to add dropshadow\",\n              \"authorDisplayName\": \"Aditya Kanu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRmloR4S9fGq3utDdEm9cB46QW79wlcYR2nAfP4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-01T20:24:16Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugwl8JRpzQ2gSTJQ37R4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"qJkey7UPyiw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwl8JRpzQ2gSTJQ37R4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Yes please make videos for tailwind skills\",\n              \"textOriginal\": \"Yes please make videos for tailwind skills\",\n              \"authorDisplayName\": \"Avishek Das\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSi4ViRKDzn8K5o06HGffA12zYYx1_JrCcMmxvz6w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-01T18:08:30Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxMAqkDBvBihXKTq7V4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"qJkey7UPyiw\",\n          \"topLevelComment\": {\n            \"id\": \"UgxMAqkDBvBihXKTq7V4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I need some guidance. Sir should I learn Backend (node + express) or just next JS is enough?\",\n              \"textOriginal\": \"I need some guidance. Sir should I learn Backend (node + express) or just next JS is enough?\",\n              \"authorDisplayName\": \"Gaurab Khanal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRsquJN0rzREx9Lj49FwtmdO7C59jA29ZaKXTMV=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-01T17:23:56Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyeTGyKUzgqx987LiZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"qJkey7UPyiw\",\n          \"topLevelComment\": {\n            \"id\": \"UgyeTGyKUzgqx987LiZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"If you can upload some about tailwind it will be great\",\n              \"textOriginal\": \"If you can upload some about tailwind it will be great\",\n              \"authorDisplayName\": \"Kajal Mukherjee\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSS4CuZ9YO_b2wkHg7WfZQGrEFhK-ySrDPye1PHww=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-01T16:04:27Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugw_zHLIZYCynMpbYAR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"qJkey7UPyiw\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw_zHLIZYCynMpbYAR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"It is end of next js full stack\",\n              \"textOriginal\": \"It is end of next js full stack\",\n              \"authorDisplayName\": \"𝕧𝖎𝖓ⓐ¥\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/hp2pp30Hk4dT260h3E4LMf8NY9-2iEPsntzRUJJPMnNOrKUqENRC3DsWnmq-kZDXLeroSkKdJQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-01T15:56:50Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      }\n    ]\n  },\n  \"75hqPk6pq5g\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgyewF74-kgHAX2y0R54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"75hqPk6pq5g\",\n          \"topLevelComment\": {\n            \"id\": \"UgyewF74-kgHAX2y0R54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir I am a first year student and don&#39;t know how to start in the development and from where plz guide me how should I start and what ?\",\n              \"textOriginal\": \"Sir I am a first year student and don't know how to start in the development and from where plz guide me how should I start and what ?\",\n              \"authorDisplayName\": \"A2 {Amazing Facts}\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/tRWYnoSkrcSnS5S19upvkuendPIxeVuC6bMRcCUGz6D0tvadnCsaSJ5ZFw7qvPqVIsCkIalM=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-21T06:34:28Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugya6lCXn5cjpYr0yvd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"75hqPk6pq5g\",\n          \"topLevelComment\": {\n            \"id\": \"Ugya6lCXn5cjpYr0yvd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir we are eagerly waiting for you detailed backend series because i have watched next js series before that i knew only about front end in details but i was able to get through the backend part like API only and reason behind is you have taught API in short on PW but i have  a ton of confusion that is created i want clear it out so please i am begging you to make and also i respect your time you do alot of stuff so if you dont have that much time please can you suggest your own old videos in which you have taught all i don&#39;t know you&#39;ll be able to read or not but if somehow you read this i&#39;ll truly thankful to you\",\n              \"textOriginal\": \"sir we are eagerly waiting for you detailed backend series because i have watched next js series before that i knew only about front end in details but i was able to get through the backend part like API only and reason behind is you have taught API in short on PW but i have  a ton of confusion that is created i want clear it out so please i am begging you to make and also i respect your time you do alot of stuff so if you dont have that much time please can you suggest your own old videos in which you have taught all i don't know you'll be able to read or not but if somehow you read this i'll truly thankful to you\",\n              \"authorDisplayName\": \"Varun Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSkS7WVOyagQrLNpgiTpYd6gttGGZ3Zi98JRSbeS26Z-o1NeyiFXiaHxE9EJMw1=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-21T06:29:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw7FtZ2ktsaAdE-9bV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"75hqPk6pq5g\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw7FtZ2ktsaAdE-9bV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir you are going to teach mobile development\",\n              \"textOriginal\": \"Sir you are going to teach mobile development\",\n              \"authorDisplayName\": \"Hemanth Varupupla\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS1X42hLh3xRzx7490DungHpUW126Mtmp2kOn0Y=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T17:21:16Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugzg3HEFp9qeG3zybWx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"75hqPk6pq5g\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzg3HEFp9qeG3zybWx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Needless to say, the quality of your videos has actually been down a bit. Or may be it&#39;s not actually for beginners I guess. If the installation part only raising so many questions, I believe the actual course will raise a ton. Anyway you can keep up the good work. Some people might find it valuable. Thanks again for reaching my feed.\",\n              \"textOriginal\": \"Needless to say, the quality of your videos has actually been down a bit. Or may be it's not actually for beginners I guess. If the installation part only raising so many questions, I believe the actual course will raise a ton. Anyway you can keep up the good work. Some people might find it valuable. Thanks again for reaching my feed.\",\n              \"authorDisplayName\": \"Saroj Kumar Sahoo\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRoP7SP2WjdkOkrrFMpcyIwdhcg7ZU-71ZjTaKvcg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T14:23:39Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      },\n      {\n        \"id\": \"UgxQtO-llfIJE01C9yV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"75hqPk6pq5g\",\n          \"topLevelComment\": {\n            \"id\": \"UgxQtO-llfIJE01C9yV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"are you starting the flutter series now ?\",\n              \"textOriginal\": \"are you starting the flutter series now ?\",\n              \"authorDisplayName\": \"The Yash Gaur\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/SLCbwnXthgmoe_jusBYdW25aK0INr8l19jW6VTNJypW2U4XyQ1z_VqiNQpPw7gwI63ADyI9D=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T13:50:38Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugxyxt6J7bZDOw7IAQJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"75hqPk6pq5g\",\n          \"topLevelComment\": {\n            \"id\": \"Ugxyxt6J7bZDOw7IAQJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thankyou sir 🎉\",\n              \"textOriginal\": \"Thankyou sir 🎉\",\n              \"authorDisplayName\": \"Ravikant\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/PDejdblh1YuEClKBjbWyqxnTAqnzXCX_ipNSUWDmSaNXu9PjdvKUEVJ8MvJZVWxuHq4xv-4Rp4E=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T10:51:48Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxAYudRglr_KX6CaOJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"75hqPk6pq5g\",\n          \"topLevelComment\": {\n            \"id\": \"UgxAYudRglr_KX6CaOJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Amazing ❤\",\n              \"textOriginal\": \"Amazing ❤\",\n              \"authorDisplayName\": \"Rishabh Dhawad\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSxABhdupWcoQnNA2G6UMh_tEEQKc-cJplTrShOLvw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T10:30:01Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx7O2CMm035gqYQlHR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"75hqPk6pq5g\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx7O2CMm035gqYQlHR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir, waiting for your tutorial on ElectronJS😅. So, when will the wait be over?☺️\",\n              \"textOriginal\": \"Sir, waiting for your tutorial on ElectronJS😅. So, when will the wait be over?☺️\",\n              \"authorDisplayName\": \"Muhammad Usman\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSe6-TbzbvkmqCxDinF5_n_vlqjh9_ABPs8TjarRRHOiPV1AqbVhJZ1LEBzwUcM=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T08:29:56Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugzx8kBf_t140Uu7Hel4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"75hqPk6pq5g\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzx8kBf_t140Uu7Hel4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Bet lagalo , agar dono channel me flutter start kiya to , jyada views hindi me hi aayenge\",\n              \"textOriginal\": \"Bet lagalo , agar dono channel me flutter start kiya to , jyada views hindi me hi aayenge\",\n              \"authorDisplayName\": \"Kartik Rajput\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSKLsfvd27EmXUpCMYs966SPy10qF5jR1KEXLLStA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T07:40:02Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyMnWtNh15GLenbEKV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"75hqPk6pq5g\",\n          \"topLevelComment\": {\n            \"id\": \"UgyMnWtNh15GLenbEKV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"BEST🙌🏻\",\n              \"textOriginal\": \"BEST🙌🏻\",\n              \"authorDisplayName\": \"akshay gurjar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSwqTNLARGEUWcCChYEl48MnX-kwi42zEGRr31Y3A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T05:05:50Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxXAFXVwIi6RxieKap4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"75hqPk6pq5g\",\n          \"topLevelComment\": {\n            \"id\": \"UgxXAFXVwIi6RxieKap4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Wanted to learn flutter, you are here❤\",\n              \"textOriginal\": \"Wanted to learn flutter, you are here❤\",\n              \"authorDisplayName\": \"Manoj Kumar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSNdDZmlbnPSFhEPXSPWZUQ1dRDX4paczbrn1OIkA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T05:05:09Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyVyUKPipXnfYBtVOB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"75hqPk6pq5g\",\n          \"topLevelComment\": {\n            \"id\": \"UgyVyUKPipXnfYBtVOB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Nice one\",\n              \"textOriginal\": \"Nice one\",\n              \"authorDisplayName\": \"Jasny Ariff\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTcNzwKM-swTDnXczhszkLzui4pYAwrWd76PYKLdA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-19T22:36:46Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"dtzfTePFKgM\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgwkVqOe66fACi-lTWt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dtzfTePFKgM\",\n          \"topLevelComment\": {\n            \"id\": \"UgwkVqOe66fACi-lTWt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"hey sir loved the project, can this project also work with dynamic APIs like weather API and so..\",\n              \"textOriginal\": \"hey sir loved the project, can this project also work with dynamic APIs like weather API and so..\",\n              \"authorDisplayName\": \"Random Guy\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRJyNxTDXp6X7EW7kuLtUB0RuXXlhmYADH2eA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-20T18:09:46Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyjbvzDOGjvqXilgX94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dtzfTePFKgM\",\n          \"topLevelComment\": {\n            \"id\": \"UgyjbvzDOGjvqXilgX94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Getting this error while running project - TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension &quot;.json&quot; for C:\\\\Users\\\\....\",\n              \"textOriginal\": \"Getting this error while running project - TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension \\\".json\\\" for C:\\\\Users\\\\....\",\n              \"authorDisplayName\": \"Debarshi Das\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQfwRE_DfPWr7Sr-Qna8nOzRelP8QVJkhzFWJWC=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T05:31:19Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwHITllclYUriCuVOt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dtzfTePFKgM\",\n          \"topLevelComment\": {\n            \"id\": \"UgwHITllclYUriCuVOt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"hey hitesh<br>is the 1st link in the description broken?\",\n              \"textOriginal\": \"hey hitesh\\nis the 1st link in the description broken?\",\n              \"authorDisplayName\": \"Vijeth Revankar\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT7AEnLe7Rl2K6os9sDYjVCJSqRwprhx8S_IfPpwQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-19T07:30:47Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugx---bGqFgb5FKPvgd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dtzfTePFKgM\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx---bGqFgb5FKPvgd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Happy Birthday Hitesh. Amazing initiative.\",\n              \"textOriginal\": \"Happy Birthday Hitesh. Amazing initiative.\",\n              \"authorDisplayName\": \"Mayukh Dasgupta\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS6TiJGXI7IU9MWqL4DGFbRhW3iTLQXnyAb8w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-18T22:45:22Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzpR7JuFJzGnJr97r94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dtzfTePFKgM\",\n          \"topLevelComment\": {\n            \"id\": \"UgzpR7JuFJzGnJr97r94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Really needed an intro to API as a frontend dev. Thank you so much hitesh for doing this all for free.\",\n              \"textOriginal\": \"Really needed an intro to API as a frontend dev. Thank you so much hitesh for doing this all for free.\",\n              \"authorDisplayName\": \"Prantik Kumar Seal\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/YD4NPszXjVJVfpBAbKtg637K4RsCv3der_9ZhDooePwa5was4Uv5NXP8kpVv3B9HoSKfG36aJA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-18T18:56:01Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxwsAm6prE7_C2sDl94AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dtzfTePFKgM\",\n          \"topLevelComment\": {\n            \"id\": \"UgxwsAm6prE7_C2sDl94AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Great initiative by you. Hitesh sir. We need more people like you who are there to help others to this  extent.🤝 I will be waiting for tutorial from scratch on this. Thanks in advance.🙂 <br>&amp;   Happy Birthday 🎉\",\n              \"textOriginal\": \"Great initiative by you. Hitesh sir. We need more people like you who are there to help others to this  extent.🤝 I will be waiting for tutorial from scratch on this. Thanks in advance.🙂 \\n&   Happy Birthday 🎉\",\n              \"authorDisplayName\": \"Alok Ray\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQT_IRKzmjTBkwSnOSzKgyhuuHL6z2AoMzYATH14Lk=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-18T18:51:45Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgxttYwETi4gLQcj70B4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dtzfTePFKgM\",\n          \"topLevelComment\": {\n            \"id\": \"UgxttYwETi4gLQcj70B4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Why did you used JS and not TS ?\",\n              \"textOriginal\": \"Why did you used JS and not TS ?\",\n              \"authorDisplayName\": \"Aditya Shanmukha\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQNe9ibvGWfjPMKAPyWcaJDe4rHTDEA72p5z1KCrA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-18T18:43:11Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgyAdPT0HeGz8eN3q694AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dtzfTePFKgM\",\n          \"topLevelComment\": {\n            \"id\": \"UgyAdPT0HeGz8eN3q694AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you and Happy Advanced Birthday Hitesh sir ❤🎉\",\n              \"textOriginal\": \"Thank you and Happy Advanced Birthday Hitesh sir ❤🎉\",\n              \"authorDisplayName\": \"CJ lokesh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSHE_IjaAUHMSlx88VQNtnjOyU7oXrTRjNsAV2yfQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-18T17:50:44Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzjkESO_sLmSS8STQV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dtzfTePFKgM\",\n          \"topLevelComment\": {\n            \"id\": \"UgzjkESO_sLmSS8STQV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello hitesh, I need a little help from you. Actually the post url of my site is not showing in google but the domain url is showing what to do ?\",\n              \"textOriginal\": \"Hello hitesh, I need a little help from you. Actually the post url of my site is not showing in google but the domain url is showing what to do ?\",\n              \"authorDisplayName\": \"Kamal Jaria\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/C_W4mwfpMI8bWDiRXMEk7QjiUiLXKz6bniQEl-KexSmuXfrGX8QRkxO8Mo59zOnm7xCdy7jcFg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-18T16:44:41Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzlLt4MJUUWW4yp9Fd4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dtzfTePFKgM\",\n          \"topLevelComment\": {\n            \"id\": \"UgzlLt4MJUUWW4yp9Fd4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir Next video JS Hindi 🙏🏻🙏🏻🙏🏻🙏🏻😭😭😭\",\n              \"textOriginal\": \"Sir Next video JS Hindi 🙏🏻🙏🏻🙏🏻🙏🏻😭😭😭\",\n              \"authorDisplayName\": \"Abhishek Khatana\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/Tkp9ogWMDWUVDkJybKL44EMHQf6qaemXpbWBvBD-fJcHhquBPoiOt6GX0SG_39NppNiq49B-Ev8=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-18T16:43:16Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwX3Ma0eLSjTvqd-P54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dtzfTePFKgM\",\n          \"topLevelComment\": {\n            \"id\": \"UgwX3Ma0eLSjTvqd-P54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Continue Js Hindi  please\",\n              \"textOriginal\": \"Continue Js Hindi  please\",\n              \"authorDisplayName\": \"Sumit Ram\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQB5L1wprWL7fI2b2TMNE60aamN0qF36GBhcQ_aWA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-18T16:38:33Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzvaMIDCQaSQLtoYed4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"dtzfTePFKgM\",\n          \"topLevelComment\": {\n            \"id\": \"UgzvaMIDCQaSQLtoYed4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir we need backend course\",\n              \"textOriginal\": \"Sir we need backend course\",\n              \"authorDisplayName\": \"Brajagopal Mukherjee\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/gfAVP2_mHVUN6PC2TnDwYEUSOLh6Y1WVaCxfN3yA5UmljxHzrXywB7fQf64Q8UcibZ-O5R2dFQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-18T16:34:35Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"xJq0EQMFGyg\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"UgzlDp7osGOFLLdjNLN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"xJq0EQMFGyg\",\n          \"topLevelComment\": {\n            \"id\": \"UgzlDp7osGOFLLdjNLN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"https://freeapi.app/\\\">https://freeapi.app/</a><br>Comment ❤ below this if you like such open source projects\",\n              \"textOriginal\": \"https://freeapi.app/\\nComment ❤ below this if you like such open source projects\",\n              \"authorDisplayName\": \"Hitesh Choudhary\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 26,\n              \"publishedAt\": \"2023-07-18T12:34:18Z\"\n            }\n          },\n          \"totalReplyCount\": 5\n        }\n      },\n      {\n        \"id\": \"UgwUbZU--9oQBNYodPV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"xJq0EQMFGyg\",\n          \"topLevelComment\": {\n            \"id\": \"UgwUbZU--9oQBNYodPV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir want to learn Stored procedure in SQL from you. Understanding Stored procedure is very much difficult please sir if possible can you create videos on it\",\n              \"textOriginal\": \"Sir want to learn Stored procedure in SQL from you. Understanding Stored procedure is very much difficult please sir if possible can you create videos on it\",\n              \"authorDisplayName\": \"Jignesh Trivedi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTuO_DmeaYZLTHworzSTgEA3kQz1EgeO8Tzjg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T18:42:16Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyPNds5JZqw4KFuXmh4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"xJq0EQMFGyg\",\n          \"topLevelComment\": {\n            \"id\": \"UgyPNds5JZqw4KFuXmh4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hitesh sir always comes up with the  unique ideas❤\",\n              \"textOriginal\": \"Hitesh sir always comes up with the  unique ideas❤\",\n              \"authorDisplayName\": \"Vishwanatha\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTjqVOPtEeqhgJQZ5agMyyaJxnP4cuhrqlHFoFaLw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T15:42:31Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxfuD66Sz8mkM0Hzsx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"xJq0EQMFGyg\",\n          \"topLevelComment\": {\n            \"id\": \"UgxfuD66Sz8mkM0Hzsx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"I will contribute to it once i check it and use it .\",\n              \"textOriginal\": \"I will contribute to it once i check it and use it .\",\n              \"authorDisplayName\": \"Apollyon\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/2F1rUBRKJgkaviOPzytEHxUXY_pypHYTpRa2nBndU50aBBn4DMWJGAH3h5-_rEOHaoD6zSIv0Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-20T06:42:57Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzUspF1_1Rp1ZWeqFN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"xJq0EQMFGyg\",\n          \"topLevelComment\": {\n            \"id\": \"UgzUspF1_1Rp1ZWeqFN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"hello sir , documentation link is not working, can&#39;t able to download or view documentation\",\n              \"textOriginal\": \"hello sir , documentation link is not working, can't able to download or view documentation\",\n              \"authorDisplayName\": \"Santosh Shinde\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRoauzvTKcOvBdN4y7qz6MP1dJdoxq2wj0N3T9J-A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T06:38:09Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugw2YjuupFrkFoNSf5d4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"xJq0EQMFGyg\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw2YjuupFrkFoNSf5d4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"This is great one. For example, I know solid principle but I don&#39;t know how to implement it with the API&#39;s business logic with this project i will know how the thing is really handled. Great work ❤❤❤❤\",\n              \"textOriginal\": \"This is great one. For example, I know solid principle but I don't know how to implement it with the API's business logic with this project i will know how the thing is really handled. Great work ❤❤❤❤\",\n              \"authorDisplayName\": \"Mohamed Sulaimaan Sheriff\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTmew8PnFZ7o3-kyQ6n0L2DEXIckyVDHEVEp0_hwg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T04:19:18Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgwYRw7gEpHZSZPwAa54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"xJq0EQMFGyg\",\n          \"topLevelComment\": {\n            \"id\": \"UgwYRw7gEpHZSZPwAa54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"❤\",\n              \"textOriginal\": \"❤\",\n              \"authorDisplayName\": \"dmrishabh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRX-zo9gqYfNH63Rr4Q5dovedF-GBZi7gVMR7aHgl4=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T03:35:48Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxxCzMriLoZvWJCJTN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"xJq0EQMFGyg\",\n          \"topLevelComment\": {\n            \"id\": \"UgxxCzMriLoZvWJCJTN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello Sir myself Shashwat, following you for a very long time, would like to contribute to the project by helping in development. As you said to reach out to you how should i do that?\",\n              \"textOriginal\": \"Hello Sir myself Shashwat, following you for a very long time, would like to contribute to the project by helping in development. As you said to reach out to you how should i do that?\",\n              \"authorDisplayName\": \"Kavya Vishwakarma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/6avsJqgAaifP8zIQIuHYiuqTdJZP2N-Ol-ybBlP7gn4Xg3YrjQqoX-0HnaOlTME4vj4zngAyznM=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-19T19:23:14Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyV6ulXHVxKBe-RKuJ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"xJq0EQMFGyg\",\n          \"topLevelComment\": {\n            \"id\": \"UgyV6ulXHVxKBe-RKuJ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Great Work, Sir.... Really appreciate your work your&#39;re doing for the community.... Looking forward for the next Update.....\",\n              \"textOriginal\": \"Great Work, Sir.... Really appreciate your work your're doing for the community.... Looking forward for the next Update.....\",\n              \"authorDisplayName\": \"Suny Dutta\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTkVoleD4Sva2JLXCoE7sb_oLCiTfNly1vIeElP=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-19T05:11:34Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyRO1W2AnTPqqsOQih4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"xJq0EQMFGyg\",\n          \"topLevelComment\": {\n            \"id\": \"UgyRO1W2AnTPqqsOQih4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Sir would you please tell me where are the doc&#39;s present in this FreeAppi repository\",\n              \"textOriginal\": \"Sir would you please tell me where are the doc's present in this FreeAppi repository\",\n              \"authorDisplayName\": \"AY GAMING\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSsDIdan4fEPtZjW-Z97Rcwb7B9f6vvB8fHcZms=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-19T03:25:32Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgwC5Oshvn5MrjxgmPB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"xJq0EQMFGyg\",\n          \"topLevelComment\": {\n            \"id\": \"UgwC5Oshvn5MrjxgmPB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hello sir I can&#39;t find any discord link or anything else to engage with the community in this FreeAppi repository please help\",\n              \"textOriginal\": \"Hello sir I can't find any discord link or anything else to engage with the community in this FreeAppi repository please help\",\n              \"authorDisplayName\": \"AY GAMING\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSsDIdan4fEPtZjW-Z97Rcwb7B9f6vvB8fHcZms=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-19T03:21:50Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyXwQv0nzTPnzRtPbl4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"xJq0EQMFGyg\",\n          \"topLevelComment\": {\n            \"id\": \"UgyXwQv0nzTPnzRtPbl4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Amazing😍\",\n              \"textOriginal\": \"Amazing😍\",\n              \"authorDisplayName\": \"shubham singh\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaR_GpDi0xjzUT9L0gkpXKiAm_MwIyoqBhSljA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-19T01:47:56Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"iPGXk-i-VYU\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"nextPageToken\": \"QURTSl9pMmp4Z2tHYXpleGFOamJIQzR0bVJVMTFIalhsYkNhcUJzcDZuTXRXOVh6czhBMzFFNjltQnpmcXh0SW1IR1QxcUNVTmpWcEJSOA==\",\n    \"items\": [\n      {\n        \"id\": \"UgwPo63GyiUrMuaenrZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iPGXk-i-VYU\",\n          \"topLevelComment\": {\n            \"id\": \"UgwPo63GyiUrMuaenrZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Guys i need your help so i&#39;m building a production application that will be large scale do i really need to use next-auth coz my backend is totally separate from next app and i was also wondering who&#39;s using next as their backend since production apps are large scale so I&#39;m pretty sure no one is using NEXT backend\",\n              \"textOriginal\": \"Guys i need your help so i'm building a production application that will be large scale do i really need to use next-auth coz my backend is totally separate from next app and i was also wondering who's using next as their backend since production apps are large scale so I'm pretty sure no one is using NEXT backend\",\n              \"authorDisplayName\": \"Anshul Vandra\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaS17GsF6kC4E0fsKZCOopVwiWj3ixsuN5NBg5G18A=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-19T07:49:27Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugw7OoYoHB_UjcV6uDR4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iPGXk-i-VYU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugw7OoYoHB_UjcV6uDR4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Hey Hitesh I&#39;ve been following you for a long time, and you are one of my favorite content creators because your explanations are easy to understand, and the way you explain is just mind-blowing. I have a humble request for you: I was searching for the next 13 with ExpressJS. Did not get enough sources. Should I use the NextJS framework with another framework like Express? If yes, then how, and if no, then why? So would you please make a video of the next 13 with Express? I would be very grateful to you if you helpe me understand the concept. However, keep going. The programming community needs selfless contributors like you. You are doing an amazing job. I appreciate you.\",\n              \"textOriginal\": \"Hey Hitesh I've been following you for a long time, and you are one of my favorite content creators because your explanations are easy to understand, and the way you explain is just mind-blowing. I have a humble request for you: I was searching for the next 13 with ExpressJS. Did not get enough sources. Should I use the NextJS framework with another framework like Express? If yes, then how, and if no, then why? So would you please make a video of the next 13 with Express? I would be very grateful to you if you helpe me understand the concept. However, keep going. The programming community needs selfless contributors like you. You are doing an amazing job. I appreciate you.\",\n              \"authorDisplayName\": \"Mr Ahamed\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaSu2lSNynFfvVLq4SRUiySdYsDOhQV7RgTiut3cpRd3h5GAj8e5vte4skjO0dqN=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-19T04:46:37Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzWSCsr1L_wk8X1nYZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iPGXk-i-VYU\",\n          \"topLevelComment\": {\n            \"id\": \"UgzWSCsr1L_wk8X1nYZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Mama video is miend blow. I love your all video\",\n              \"textOriginal\": \"Mama video is miend blow. I love your all video\",\n              \"authorDisplayName\": \"code with mahbubul\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/w2h37Z64qc1N_phXATuq6IBENZ8XIs6SQSnnOV8Hss-pUAbrpj2a7ch6RHQXLUILJTdV2PvB=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-18T13:58:34Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugyap-p9UQqDi4oni714AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iPGXk-i-VYU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugyap-p9UQqDi4oni714AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"It&#39;s always something good to learn from Hitesh, excited to watch the full playlist 👨‍💻👨‍💻\",\n              \"textOriginal\": \"It's always something good to learn from Hitesh, excited to watch the full playlist 👨‍💻👨‍💻\",\n              \"authorDisplayName\": \"Tarun\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ_Slqzdn6Qz4HmT32TA87zjyOElEDYUVJV2LXsKQ=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-17T12:17:13Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugz4srnMP3QS-QRiT3J4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iPGXk-i-VYU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugz4srnMP3QS-QRiT3J4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"p**nhub is not harmed in this video. 😆\",\n              \"textOriginal\": \"p**nhub is not harmed in this video. 😆\",\n              \"authorDisplayName\": \"Keshav Kattel\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRFCGIRF2fO7MK_zdaFaRAkzlJcVE9pQkb_PRTK=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-13T10:42:21Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwwHiSymf03NsCIsZx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iPGXk-i-VYU\",\n          \"topLevelComment\": {\n            \"id\": \"UgwwHiSymf03NsCIsZx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"thx for your video<br><br>hope you can also provide the timestamp.\",\n              \"textOriginal\": \"thx for your video\\n\\nhope you can also provide the timestamp.\",\n              \"authorDisplayName\": \"mm\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTq-JGAzUp8QQ1faDk0VZEDS9wPGUk0VqG5nQrIvtGCkeLqpTrgH_wlprfvDjHqKw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-13T05:04:45Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwlEe0lQXC1xCDgrPp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iPGXk-i-VYU\",\n          \"topLevelComment\": {\n            \"id\": \"UgwlEe0lQXC1xCDgrPp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"https://www.youtube.com/watch?v=iPGXk-i-VYU&amp;t=1h02m01s\\\">1:02:01</a> damnnnnn heehhehe\",\n              \"textOriginal\": \"1:02:01 damnnnnn heehhehe\",\n              \"authorDisplayName\": \"031_Priyanshu Gupta\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ387uB8KQYtTie3rh_bX_siH3X9PGrUqjn4Y5z_r1cVw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-12T08:51:09Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"Ugx9T7rdH56w56SaaSp4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iPGXk-i-VYU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugx9T7rdH56w56SaaSp4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"H! Sir, why should we have to use NextJS? What are the advantages it providing over react. Or when to use react and when to use nextJs!!?\",\n              \"textOriginal\": \"H! Sir, why should we have to use NextJS? What are the advantages it providing over react. Or when to use react and when to use nextJs!!?\",\n              \"authorDisplayName\": \"DhamareshwaraKumar Gandikota\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQ9Damv_KkqK5NIuGTXeK-MN8zYrrlO-0te8pezjg=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-11T22:39:57Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxHEmAapWc8MvPtn7h4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iPGXk-i-VYU\",\n          \"topLevelComment\": {\n            \"id\": \"UgxHEmAapWc8MvPtn7h4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Who believes that mother is the greatest warrior of the world!\",\n              \"textOriginal\": \"Who believes that mother is the greatest warrior of the world!\",\n              \"authorDisplayName\": \"Programming With Nurulhuda\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/MEAph60xPhxR9DrfdsPWVTxaz9E55pCnKqhXYyebZacJxbuDrYrE8nitVnUDbyuqc0JdacTGHN0=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-11T14:50:17Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugwq5VR4qxc08_rk9RN4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iPGXk-i-VYU\",\n          \"topLevelComment\": {\n            \"id\": \"Ugwq5VR4qxc08_rk9RN4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Love your spirit of teaching stuff with such a interactive way specially non-verbal language and explaining codes <a href=\\\"about:invalid#zCSafez\\\"></a> 🖤\",\n              \"textOriginal\": \"Love your spirit of teaching stuff with such a interactive way specially non-verbal language and explaining codes  🖤\",\n              \"authorDisplayName\": \"Musiur Alam Opu\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/e9fFts3_fmg4MHVeS3B70Pt5MsympialkPeHRDwJhp0i6SR2YtvUXbfHM10CC0FzLNmdgQ44Sv8=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-08T19:24:57Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgyfcBreVCXDR5Vf_O54AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iPGXk-i-VYU\",\n          \"topLevelComment\": {\n            \"id\": \"UgyfcBreVCXDR5Vf_O54AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"it&#39;s really helpful, can you plz share the cool VS extension you use?\",\n              \"textOriginal\": \"it's really helpful, can you plz share the cool VS extension you use?\",\n              \"authorDisplayName\": \"Shivam Sharma\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT84gwGRIGMN8UtBehXOvJsJShIv7vVmhPdxNfzk-JOUvqJE-H72tLhF4KWEe23=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-08T18:02:24Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwiJdJQEXFfdrveDiZ4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"iPGXk-i-VYU\",\n          \"topLevelComment\": {\n            \"id\": \"UgwiJdJQEXFfdrveDiZ4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thanks a lot, Hitesh <br>which extension was used in the video to get the suggestions?\",\n              \"textOriginal\": \"Thanks a lot, Hitesh \\nwhich extension was used in the video to get the suggestions?\",\n              \"authorDisplayName\": \"bhanu chandra reddy y\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaT3B87crTZJn4kLoziRZNWzibD3qZND6kmczxqDl6w=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-08T14:56:41Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"2RxaJrltJKo\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": [\n      {\n        \"id\": \"Ugzh0dXAmfiKW5mWwat4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"2RxaJrltJKo\",\n          \"topLevelComment\": {\n            \"id\": \"Ugzh0dXAmfiKW5mWwat4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"nice explained\",\n              \"textOriginal\": \"nice explained\",\n              \"authorDisplayName\": \"Jyotishman Goswami\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaQIBpm4N3Ab2LazaDYz6XKNuWCkVByznqsYSSf7=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-22T19:11:55Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwQZdud6cO-dqLtzMx4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"2RxaJrltJKo\",\n          \"topLevelComment\": {\n            \"id\": \"UgwQZdud6cO-dqLtzMx4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Bro Your extensions are just mind blowing... please tell us more about them specially the one which is giving the answer of console.log on editor\",\n              \"textOriginal\": \"Bro Your extensions are just mind blowing... please tell us more about them specially the one which is giving the answer of console.log on editor\",\n              \"authorDisplayName\": \"Ahmad Hassan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTpV0n2wCvlbooOsXkT7r_fv-F4312fPyu1aW10=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-21T00:22:29Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgzNx4B5p4Eg0AKTd9B4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"2RxaJrltJKo\",\n          \"topLevelComment\": {\n            \"id\": \"UgzNx4B5p4Eg0AKTd9B4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"🤚DOUBT: sir at time <a href=\\\"https://www.youtube.com/watch?v=2RxaJrltJKo&amp;t=45m10s\\\">45:10</a> you said the compare method from bcryptjs will handle it.<br>but sir we also added salt value = 10  at signup route. <br>then we should also tell to bcryptjs that salt is 10 otherwise how will it know and compare the value.🤔🤔\",\n              \"textOriginal\": \"🤚DOUBT: sir at time 45:10 you said the compare method from bcryptjs will handle it.\\nbut sir we also added salt value = 10  at signup route. \\nthen we should also tell to bcryptjs that salt is 10 otherwise how will it know and compare the value.🤔🤔\",\n              \"authorDisplayName\": \"SinniS _\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/uCg_8znbQm013IRtjuhh_j3dGuZLfCaA5UAGc3S0rAqFexMX6Cuu3lUMq7GuUE0tv5wQl-K29Q=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T08:11:17Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy1v4PFNySm7xZdeaF4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"2RxaJrltJKo\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy1v4PFNySm7xZdeaF4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Crazy stuff!!! Thanks alot\",\n              \"textOriginal\": \"Crazy stuff!!! Thanks alot\",\n              \"authorDisplayName\": \"faisal mushtaq\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRiGdI3eJab1Px4jOlAVl8chHvLLeIKziHOHJmAUw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-20T06:00:42Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzPrC1Y9W-rp7t_S414AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"2RxaJrltJKo\",\n          \"topLevelComment\": {\n            \"id\": \"UgzPrC1Y9W-rp7t_S414AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"adding the part number may be can easily for us to learn in a correct order\",\n              \"textOriginal\": \"adding the part number may be can easily for us to learn in a correct order\",\n              \"authorDisplayName\": \"herahadi\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/oVcC3x2xkqj9H_ayw833DFsONF9jBJvh99-xl8tOhDsvBBmCXlfhp4EVIA2bp0Grt006MNDw=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-19T12:54:48Z\"\n            }\n          },\n          \"totalReplyCount\": 1\n        }\n      },\n      {\n        \"id\": \"UgzyljBR9itLyNTrkkV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"2RxaJrltJKo\",\n          \"topLevelComment\": {\n            \"id\": \"UgzyljBR9itLyNTrkkV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Dear sir , I m from  Pakistan... Please make a video with next. Js Full stack Mongodb Add title, Description, category  with Image With Same work PDF file upload and Videos Add from front end and back End \\r<br>\\r<br>Then Image Display,  PDF file download and Videos play work\",\n              \"textOriginal\": \"Dear sir , I m from  Pakistan... Please make a video with next. Js Full stack Mongodb Add title, Description, category  with Image With Same work PDF file upload and Videos Add from front end and back End \\r\\n\\r\\nThen Image Display,  PDF file download and Videos play work\",\n              \"authorDisplayName\": \"Malik Bhai\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRHxzibzH4ILs9GVfa4SMHplP_1zOWBasjLwA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-18T12:54:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"Ugy8fi-eF78gaqTiVrt4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"2RxaJrltJKo\",\n          \"topLevelComment\": {\n            \"id\": \"Ugy8fi-eF78gaqTiVrt4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"if anyone having a issue with [ OverwriteModelError ], put this mongoose.models = {}; to clear cache from mongoos. Just before you define the &quot;User&quot; model.\",\n              \"textOriginal\": \"if anyone having a issue with [ OverwriteModelError ], put this mongoose.models = {}; to clear cache from mongoos. Just before you define the \\\"User\\\" model.\",\n              \"authorDisplayName\": \"Explain yourself\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/LbkBdXDEp0YqPRPZ79JaalbnLgNfVwFfUrzhp3WOQ4AiulpO4iYfXHsMmg3ZDclS82KFBrA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-15T23:38:04Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgwQVqI_9zBHKddNbhV4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"2RxaJrltJKo\",\n          \"topLevelComment\": {\n            \"id\": \"UgwQVqI_9zBHKddNbhV4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"sir please tell please error a rha hai end me jab login kar rha to router push nhi kar rha profile page me apne kaise thik kiya mera to nhi hua dobara start bhi kiya<br>Failed to load resource: the server responded with a status of 400 (Bad Request)<br>page.tsx:29 Login failed AxiosError\",\n              \"textOriginal\": \"sir please tell please error a rha hai end me jab login kar rha to router push nhi kar rha profile page me apne kaise thik kiya mera to nhi hua dobara start bhi kiya\\nFailed to load resource: the server responded with a status of 400 (Bad Request)\\npage.tsx:29 Login failed AxiosError\",\n              \"authorDisplayName\": \"Dragno edits\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/JDUkxJWfvOnSoisRiI2Ikw0sj1MZeX4aJQh3F9PXX6VYMtwiOvVIMo5n_xtWp-Gg7_G_MoEW=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 1,\n              \"publishedAt\": \"2023-07-13T15:46:39Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxMkKduLka0bbGm-Px4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"2RxaJrltJKo\",\n          \"topLevelComment\": {\n            \"id\": \"UgxMkKduLka0bbGm-Px4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Please anyone can help me with mongo db?<br>I have followed along the video completely nothing is showing error the problem is that when I enter data on the sign up it shows in terminal that it has been successfully added to the mongo db, but does not shows up in mongo db, I have refresh also but at the account in browse collecttion iy does not show anything .<br><br>please guide me !\",\n              \"textOriginal\": \"Please anyone can help me with mongo db?\\nI have followed along the video completely nothing is showing error the problem is that when I enter data on the sign up it shows in terminal that it has been successfully added to the mongo db, but does not shows up in mongo db, I have refresh also but at the account in browse collecttion iy does not show anything .\\n\\nplease guide me !\",\n              \"authorDisplayName\": \"Mahapara\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/VTvPy2x92qOJtWGo5W4CT7106bLCGCDPYnojhC6lrBa_ZBQZFQn5TiXyVKPYGLhrc93HyemL9fU=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-09T16:35:03Z\"\n            }\n          },\n          \"totalReplyCount\": 2\n        }\n      },\n      {\n        \"id\": \"UgxWTai4zXOY19Sc86Z4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"2RxaJrltJKo\",\n          \"topLevelComment\": {\n            \"id\": \"UgxWTai4zXOY19Sc86Z4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you so much for making such great videos\",\n              \"textOriginal\": \"Thank you so much for making such great videos\",\n              \"authorDisplayName\": \"Shreyas Gopnarayan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaTep_NqjLf6eQo07A7ivX7RE9mO9AtWvQ84VtZQMA=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-09T06:47:48Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgxxyOuRdhCFDoh1u2Z4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"2RxaJrltJKo\",\n          \"topLevelComment\": {\n            \"id\": \"UgxxyOuRdhCFDoh1u2Z4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"<a href=\\\"https://www.youtube.com/watch?v=2RxaJrltJKo&amp;t=40m00s\\\">40:00</a>  I thought only im getting the error in console<br>still how many are getting that error, what might be the reason and hoe to resolve\",\n              \"textOriginal\": \"40:00  I thought only im getting the error in console\\nstill how many are getting that error, what might be the reason and hoe to resolve\",\n              \"authorDisplayName\": \"BM Pavan\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/9Vq38_VZwzkjjc_YvZF3z2W5-esJA8DUzdPqic0B0BucZZ2T4tctYZ5cTvVWYinV4L8r5gfU2ek=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-09T06:38:06Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      },\n      {\n        \"id\": \"UgydWaAJHWQarZ9XijB4AaABAg\",\n        \"snippet\": {\n          \"videoId\": \"2RxaJrltJKo\",\n          \"topLevelComment\": {\n            \"id\": \"UgydWaAJHWQarZ9XijB4AaABAg\",\n            \"snippet\": {\n              \"textDisplay\": \"Thank you,  your videos have been very helpful.\",\n              \"textOriginal\": \"Thank you,  your videos have been very helpful.\",\n              \"authorDisplayName\": \"Whitney Grenaway\",\n              \"authorProfileImageUrl\": \"https://yt3.ggpht.com/ytc/AOPolaRA_2XgYwu6FKzXRGJ4SprP2JesFRkiH2g6N8sG-fw3lwK0KK51BfgEETJKYzQ1=s48-c-k-c0x00ffffff-no-rj\",\n              \"likeCount\": 0,\n              \"publishedAt\": \"2023-07-08T12:39:20Z\"\n            }\n          },\n          \"totalReplyCount\": 0\n        }\n      }\n    ]\n  },\n  \"1eR8CstyPdY\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": []\n  },\n  \"fyEA1R4lFyQ\": {\n    \"kind\": \"youtube#commentThreadListResponse\",\n    \"items\": []\n  }\n}\n"
  },
  {
    "path": "src/json/youtube/playlistitems.json",
    "content": "[\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVE5Qek9idFVwYnhlMUwxbEI5N3oyUi41NkI0NEY2RDEwNTU3Q0M2\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-07-19T13:14:16Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Flutter Windows Installation\",\n      \"description\": \"https://hitesh.ai/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/75hqPk6pq5g/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/75hqPk6pq5g/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/75hqPk6pq5g/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/75hqPk6pq5g/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/75hqPk6pq5g/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTNPzObtUpbxe1L1lB97z2R\",\n      \"position\": 0,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"75hqPk6pq5g\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXU3g0ZXJIR3E4aFdfR0UtRWFqNjByLS41NkI0NEY2RDEwNTU3Q0M2\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-07-18T12:28:08Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Open Source Project Launch | FreeAPI.app\",\n      \"description\": \"Learn about API and master them with our new open source project. Check it out here:\\nhttps://freeapi.app\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/xJq0EQMFGyg/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/xJq0EQMFGyg/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/xJq0EQMFGyg/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/xJq0EQMFGyg/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/xJq0EQMFGyg/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWSx4erHGq8hW_GE-Eaj60r-\",\n      \"position\": 0,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"xJq0EQMFGyg\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXU3g0ZXJIR3E4aFdfR0UtRWFqNjByLS4yODlGNEE0NkRGMEEzMEQy\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-07-18T12:49:04Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"FreeAPI local setup with npm\",\n      \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/dtzfTePFKgM/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/dtzfTePFKgM/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/dtzfTePFKgM/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/dtzfTePFKgM/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/dtzfTePFKgM/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWSx4erHGq8hW_GE-Eaj60r-\",\n      \"position\": 1,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"dtzfTePFKgM\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUjdLRi16VjZZUFl0S1lFSEVORVR5RS41NkI0NEY2RDEwNTU3Q0M2\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-06-30T11:35:13Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Nextjs Full stack course\",\n      \"description\": \"Source code\\nhttps://github.com/hiteshchoudhary/nextjs-fullstack-auth/\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/iPGXk-i-VYU/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/iPGXk-i-VYU/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/iPGXk-i-VYU/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/iPGXk-i-VYU/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/iPGXk-i-VYU/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWR7KF-zV6YPYtKYEHENETyE\",\n      \"position\": 0,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"iPGXk-i-VYU\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUjdLRi16VjZZUFl0S1lFSEVORVR5RS4yODlGNEE0NkRGMEEzMEQy\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-06-30T11:36:34Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"NextJS fullstack course | Signup and login\",\n      \"description\": \"https://github.com/hiteshchoudhary/nextjs-fullstack-auth\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/2RxaJrltJKo/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/2RxaJrltJKo/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/2RxaJrltJKo/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/2RxaJrltJKo/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/2RxaJrltJKo/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWR7KF-zV6YPYtKYEHENETyE\",\n      \"position\": 1,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"2RxaJrltJKo\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUjdLRi16VjZZUFl0S1lFSEVORVR5RS4wMTcyMDhGQUE4NTIzM0Y5\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-06-30T12:44:17Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Middleware in nextjs | Nextjs fullstack course\",\n      \"description\": \"https://github.com/hiteshchoudhary/nextjs-fullstack-auth/\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/UgRw9lhhWDk/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/UgRw9lhhWDk/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/UgRw9lhhWDk/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/UgRw9lhhWDk/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/UgRw9lhhWDk/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWR7KF-zV6YPYtKYEHENETyE\",\n      \"position\": 2,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"UgRw9lhhWDk\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUjdLRi16VjZZUFl0S1lFSEVORVR5RS41MjE1MkI0OTQ2QzJGNzNG\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-06-30T13:09:09Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"User verification email in nextjs\",\n      \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/_BqkCRgCdng/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/_BqkCRgCdng/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/_BqkCRgCdng/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/_BqkCRgCdng/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/_BqkCRgCdng/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWR7KF-zV6YPYtKYEHENETyE\",\n      \"position\": 3,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"_BqkCRgCdng\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUjdLRi16VjZZUFl0S1lFSEVORVR5RS4wOTA3OTZBNzVEMTUzOTMy\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-06-30T13:23:45Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Nextjs Deployment\",\n      \"description\": \"https://github.com/hiteshchoudhary/nextjs-fullstack-auth/\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/qJkey7UPyiw/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/qJkey7UPyiw/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/qJkey7UPyiw/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/qJkey7UPyiw/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/qJkey7UPyiw/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWR7KF-zV6YPYtKYEHENETyE\",\n      \"position\": 4,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"qJkey7UPyiw\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUjdLRi16VjZZUFl0S1lFSEVORVR5RS4xMkVGQjNCMUM1N0RFNEUx\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-07-02T09:45:04Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Complete Nextjs fullstack Authentication course\",\n      \"description\": \"00:00:00 - Introduction and file structure for front end\\n01:04:17 - Mongodb, signup and login\\n02:05:51 - JWT, cookies and protected routes, middleware\\n02:47:30 - User verification and emails\\n03:43:34 - Deployment and assignment\\n\\nhttps://github.com/hiteshchoudhary/nextjs-fullstack-auth\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/eaQc7vbV4po/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/eaQc7vbV4po/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/eaQc7vbV4po/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/eaQc7vbV4po/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/eaQc7vbV4po/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWR7KF-zV6YPYtKYEHENETyE\",\n      \"position\": 5,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"eaQc7vbV4po\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUjdLRi16VjZZUFl0S1lFSEVORVR5RS41MzJCQjBCNDIyRkJDN0VD\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-07-02T15:59:02Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Nextjs meets Appwrite\",\n      \"description\": \"https://github.com/hiteshchoudhary/nextjs-appwrite-auth\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/n1edxEq8syI/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/n1edxEq8syI/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/n1edxEq8syI/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/n1edxEq8syI/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/n1edxEq8syI/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWR7KF-zV6YPYtKYEHENETyE\",\n      \"position\": 6,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"n1edxEq8syI\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUjdLRi16VjZZUFl0S1lFSEVORVR5RS5DQUNERDQ2NkIzRUQxNTY1\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-07-04T10:17:05Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"How to integrate appwrite to nextjs\",\n      \"description\": \"https://github.com/hiteshchoudhary/nextjs-appwrite-auth\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/1SMO6kWb9Eo/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/1SMO6kWb9Eo/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/1SMO6kWb9Eo/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/1SMO6kWb9Eo/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/1SMO6kWb9Eo/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWR7KF-zV6YPYtKYEHENETyE\",\n      \"position\": 7,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"1SMO6kWb9Eo\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUjdLRi16VjZZUFl0S1lFSEVORVR5RS45NDk1REZENzhEMzU5MDQz\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-07-06T11:40:44Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Nextjs componets to talk to Appwrite\",\n      \"description\": \"https://github.com/hiteshchoudhary/nextjs-appwrite-auth\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/fyEA1R4lFyQ/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/fyEA1R4lFyQ/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/fyEA1R4lFyQ/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/fyEA1R4lFyQ/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/fyEA1R4lFyQ/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWR7KF-zV6YPYtKYEHENETyE\",\n      \"position\": 8,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"fyEA1R4lFyQ\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUjdLRi16VjZZUFl0S1lFSEVORVR5RS5GNjNDRDREMDQxOThCMDQ2\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-07-07T13:51:08Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Appwrite Nextjs and context api\",\n      \"description\": \"https://github.com/hiteshchoudhary/nextjs-appwrite-auth\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/eSYvfCoWIzA/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/eSYvfCoWIzA/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/eSYvfCoWIzA/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/eSYvfCoWIzA/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/eSYvfCoWIzA/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWR7KF-zV6YPYtKYEHENETyE\",\n      \"position\": 9,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"eSYvfCoWIzA\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVGpXOHdITXZfZlFTZ1UtOGlzNktUUi41NkI0NEY2RDEwNTU3Q0M2\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-06-16T17:56:25Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"How to start cloud learning journey 2023\",\n      \"description\": \"Embark on a transformative cloud learning journey with our comprehensive video guide. We'll walk you through the basics and beyond of cloud computing, using AWS, Google Cloud, and Azure. This tutorial is designed for beginners, providing a solid foundation in understanding and utilizing these powerful cloud services. Dive into the world of cloud technologies and infrastructure, and start building your cloud skills today. No matter where you are in your IT career, understanding the cloud is crucial. Let's start learning together!\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/VXqIJ2SJh9s/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/VXqIJ2SJh9s/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/VXqIJ2SJh9s/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/VXqIJ2SJh9s/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/VXqIJ2SJh9s/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTjW8wHMv_fQSgU-8is6KTR\",\n      \"position\": 0,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"VXqIJ2SJh9s\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVGpXOHdITXZfZlFTZ1UtOGlzNktUUi4wMTcyMDhGQUE4NTIzM0Y5\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-06-21T10:24:06Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Scared of cloud bills for learning ?\",\n      \"description\": \"This video will help you to learn about cloud computing and will answer most common questions that you might be having while learning cloud. Questions like Should I be worried about cloud bills or what is cloud sandbox, should I buy one ? How much bill to expect while learning cloud ?\\nAll of these will be answered in this video,\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/N97UKuiIlOc/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/N97UKuiIlOc/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/N97UKuiIlOc/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/N97UKuiIlOc/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/N97UKuiIlOc/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTjW8wHMv_fQSgU-8is6KTR\",\n      \"position\": 1,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"N97UKuiIlOc\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUmZUR0ktWkVXSVdWajBWczVJSndraC41MjE1MkI0OTQ2QzJGNzNG\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-05-22T15:57:48Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Let's kill all programming language | playlist intro\",\n      \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/EQwmQLU1S6I/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/EQwmQLU1S6I/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/EQwmQLU1S6I/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/EQwmQLU1S6I/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/EQwmQLU1S6I/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRfTGI-ZEWIWVj0Vs5IJwkh\",\n      \"position\": 0,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"EQwmQLU1S6I\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUmZUR0ktWkVXSVdWajBWczVJSndraC41NkI0NEY2RDEwNTU3Q0M2\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-05-18T12:12:52Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Is VSCode Dead ? Zed first look\",\n      \"description\": \"https://zed.dev\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/BCQwMXZ4Cy8/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/BCQwMXZ4Cy8/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/BCQwMXZ4Cy8/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/BCQwMXZ4Cy8/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/BCQwMXZ4Cy8/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRfTGI-ZEWIWVj0Vs5IJwkh\",\n      \"position\": 1,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"BCQwMXZ4Cy8\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUmZUR0ktWkVXSVdWajBWczVJSndraC4yODlGNEE0NkRGMEEzMEQy\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-05-18T13:24:56Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Say Goodbye to Python and Hello to Mojo\",\n      \"description\": \"https://www.modular.com/mojo\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/s4ZUkwe0ZTI/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/s4ZUkwe0ZTI/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/s4ZUkwe0ZTI/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/s4ZUkwe0ZTI/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/s4ZUkwe0ZTI/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRfTGI-ZEWIWVj0Vs5IJwkh\",\n      \"position\": 2,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"s4ZUkwe0ZTI\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUmZUR0ktWkVXSVdWajBWczVJSndraC4wMTcyMDhGQUE4NTIzM0Y5\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-05-22T15:00:16Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Is twitter dead ?\",\n      \"description\": \"Article link:\\nhttps://techcrunch.com/2023/05/19/everything-we-know-about-instagrams-twitter-clone-due-this-summer/?tpcc=tcplustwitter\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/0Xde4eSqcmI/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/0Xde4eSqcmI/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/0Xde4eSqcmI/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/0Xde4eSqcmI/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/0Xde4eSqcmI/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRfTGI-ZEWIWVj0Vs5IJwkh\",\n      \"position\": 3,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"0Xde4eSqcmI\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVGNHYUJkSWhBVTRyZHZoV0tsMXNway41NkI0NEY2RDEwNTU3Q0M2\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-04-18T12:12:33Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Javascript Project | get all leetcode solution with ChatGPT\",\n      \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/O7zPiurDdDk/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/O7zPiurDdDk/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/O7zPiurDdDk/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/O7zPiurDdDk/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/O7zPiurDdDk/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTcGaBdIhAU4rdvhWKl1spk\",\n      \"position\": 0,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"O7zPiurDdDk\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVEs4ZzFDSDlnNHB6azB6YWdmbUxvUi41NkI0NEY2RDEwNTU3Q0M2\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-03-05T20:24:24Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"How HackerRank was build |  A tech talk with Founder\",\n      \"description\": \"Check out the beautiful journey of building one of the best product of internet. Get behind the scene directly from the co-founder of HackerRank.\\nhttps://www.hackerrank.com/\\n\\nhttps://hc.lco.dev/devops\\n\\nPick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/yjrUbWL3Nss/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/yjrUbWL3Nss/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/yjrUbWL3Nss/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/yjrUbWL3Nss/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/yjrUbWL3Nss/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTK8g1CH9g4pzk0zagfmLoR\",\n      \"position\": 0,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"yjrUbWL3Nss\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVEs4ZzFDSDlnNHB6azB6YWdmbUxvUi41MjE1MkI0OTQ2QzJGNzNG\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-03-05T20:30:07Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"How to build the best open source company | @appsmith\",\n      \"description\": \"Appsmith is one the next big project which is open source and is loved by industry. The evolution of project is crazy good and more people should know about it.\\nCheck out app smith and let me know your feedback:\\nhttps://www.appsmith.com/ (it's FREE)\\n\\nAlso, Our new course:\\nhttps://hc.lco.dev/devops\\n\\nPick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/y6mfMqmFjGI/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/y6mfMqmFjGI/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/y6mfMqmFjGI/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/y6mfMqmFjGI/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/y6mfMqmFjGI/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTK8g1CH9g4pzk0zagfmLoR\",\n      \"position\": 1,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"y6mfMqmFjGI\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVEs4ZzFDSDlnNHB6azB6YWdmbUxvUi4xMkVGQjNCMUM1N0RFNEUx\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-03-05T20:31:34Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"How to build crazy good product | locofy\",\n      \"description\": \"Join in the discussion with Co-Founder of locofy and learn about the process of building a crazy good product and making it production ready.\\nAlso, feel free to ask questions directly during the live stream\\nhttps://www.locofy.ai/\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/iYtXTUSJW78/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/iYtXTUSJW78/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/iYtXTUSJW78/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/iYtXTUSJW78/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/iYtXTUSJW78/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTK8g1CH9g4pzk0zagfmLoR\",\n      \"position\": 2,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"iYtXTUSJW78\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVEs4ZzFDSDlnNHB6azB6YWdmbUxvUi4yODlGNEE0NkRGMEEzMEQy\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-03-05T20:28:16Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Meet creator of FastAPI | Sebastián Ramírez Montaño\",\n      \"description\": \"Meet founder of FastAPI and get to know the thought process behind creation of FastAPI. \\nAlso, some regular developer talks\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/6m0amaGV1ak/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/6m0amaGV1ak/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/6m0amaGV1ak/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/6m0amaGV1ak/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/6m0amaGV1ak/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTK8g1CH9g4pzk0zagfmLoR\",\n      \"position\": 3,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"6m0amaGV1ak\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVEs4ZzFDSDlnNHB6azB6YWdmbUxvUi4wMTcyMDhGQUE4NTIzM0Y5\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-03-05T20:29:32Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Cross-platform mobile development with Kotlin (Jetbrains)\",\n      \"description\": \"Announcing Hackathon with Jetbrains:\\nhttps://docs.google.com/forms/d/1JY7tIcD8cX4GKjVbUvlyj5-lR6Lgw9IJZgS1w1q3ybI/edit?ts=62a0b755\\n\\nBelow are some handy links to get you started on your Kotlin Journey\\n\\nGet started with Kotlin - https://kotlinlang.org/docs/getting-started.html\\n\\nGet Started with Kotlin Multiplatform Mobile - https://kotlinlang.org/docs/multiplatform-mobile-getting-started.html\\n\\nSee how mobile teams all over the world are using Kotlin to simplify their development efforts -  https://kotlinlang.org/lp/mobile/case-studies/\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/jwABH7Eoa-Y/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/jwABH7Eoa-Y/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/jwABH7Eoa-Y/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/jwABH7Eoa-Y/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/jwABH7Eoa-Y/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTK8g1CH9g4pzk0zagfmLoR\",\n      \"position\": 4,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"jwABH7Eoa-Y\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVEs4ZzFDSDlnNHB6azB6YWdmbUxvUi4wOTA3OTZBNzVEMTUzOTMy\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-03-05T20:30:53Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Meet Co-Founder of Frontegg | Aviad Mizrachi\",\n      \"description\": \"Ask your questions\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/mShc1lOYXvU/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/mShc1lOYXvU/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/mShc1lOYXvU/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/mShc1lOYXvU/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/mShc1lOYXvU/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTK8g1CH9g4pzk0zagfmLoR\",\n      \"position\": 5,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"mShc1lOYXvU\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXU2pCQkotZWdOTk9kNG1kYmx0MVA0Yy41NkI0NEY2RDEwNTU3Q0M2\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-01-25T08:04:44Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"React Native Mastery: Develop 10 Apps with Confidence\",\n      \"description\": \"Welcome to the React Native course where you will learn how to build 10 mobile apps from scratch using the React Native framework. This course is perfect for both beginners and experienced developers who want to learn how to develop mobile apps using React Native.\\n\\nIn this course, you will start by learning the fundamentals of React Native, including how to set up your development environment, create components, use styling, and handle user input. You will then move on to more advanced topics such as navigating between screens, making network requests, and integrating with third-party libraries.\\n\\nThroughout the course, you will build 10 different apps, each focusing on a different aspect of React Native development. You will build apps such as a weather app, a messaging app, a social media app, and more.\\n\\nBy the end of this course, you will have a solid understanding of React Native development and be able to create your own mobile apps. So, join the course now and start your journey to becoming a React Native developer!\\n\\nDocument your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nDiscord community link:\\nhttps://hc.lco.dev/discord\\n\\nSignup and say thanks tweet to Hashnode\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/kGtEax1WQFg/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/kGtEax1WQFg/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/kGtEax1WQFg/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/kGtEax1WQFg/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/kGtEax1WQFg/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWSjBBJ-egNNOd4mdblt1P4c\",\n      \"position\": 0,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"kGtEax1WQFg\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXU2pCQkotZWdOTk9kNG1kYmx0MVA0Yy4yODlGNEE0NkRGMEEzMEQy\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-01-25T09:42:39Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"The Ultimate React Native Installation Guide: Prerequisites and Setup\",\n      \"description\": \"In this video, we will guide you through the ultimate React Native installation process. We'll cover everything you need to know, from the prerequisites you need to have installed to setting up your development environment for React Native. Whether you're a beginner or an experienced developer, this guide will help you get started with React Native and prepare you for building amazing mobile applications. So, join us as we walk you through step-by-step, and get ready to start your React Native journey today!\\n\\nDocument your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/XV5LwKuk3zc/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/XV5LwKuk3zc/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/XV5LwKuk3zc/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/XV5LwKuk3zc/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/XV5LwKuk3zc/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWSjBBJ-egNNOd4mdblt1P4c\",\n      \"position\": 1,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"XV5LwKuk3zc\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXU2pCQkotZWdOTk9kNG1kYmx0MVA0Yy5CQkEwRDA0MDkwNUM2MDY1\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-06-25T15:31:39Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"React native windows installation\",\n      \"description\": \"https://hitesh.ai/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/8l691BQ-RGc/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/8l691BQ-RGc/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/8l691BQ-RGc/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/8l691BQ-RGc/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/8l691BQ-RGc/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWSjBBJ-egNNOd4mdblt1P4c\",\n      \"position\": 2,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"8l691BQ-RGc\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXU2pCQkotZWdOTk9kNG1kYmx0MVA0Yy4wMTcyMDhGQUE4NTIzM0Y5\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-01-25T10:43:24Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"React Native 101: Building Your First App and Troubleshooting Common Issues\",\n      \"description\": \"In this video, we'll walk you through the basics of building your first app with React Native. We'll cover the essential concepts, including creating components, applying styles, and handling user input. Additionally, we'll discuss common issues you may encounter during development and provide troubleshooting tips to overcome them. Whether you're new to React Native or looking to expand your knowledge, this video will help you get started and build your first app. So, join us and take your first step towards becoming a React Native developer today!\\n\\nDocument your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nPW: https://pwskills.com \\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/TXWYrnl6dZI/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/TXWYrnl6dZI/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/TXWYrnl6dZI/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/TXWYrnl6dZI/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/TXWYrnl6dZI/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWSjBBJ-egNNOd4mdblt1P4c\",\n      \"position\": 3,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"TXWYrnl6dZI\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXU2pCQkotZWdOTk9kNG1kYmx0MVA0Yy41MjE1MkI0OTQ2QzJGNzNG\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-01-31T08:30:10Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"React Native File Structure: Best Practices and Tips\",\n      \"description\": \"In this video, we'll dive into React Native file structure and explore best practices and tips for organizing your project. We'll discuss the importance of structuring your project for efficiency, scalability, and maintainability. You'll learn about the recommended file organization patterns and directory structures, including separating components, screens, assets, and helpers. By the end of this video, you'll have a solid understanding of how to structure your React Native project to optimize your workflow, improve code maintainability, and make collaboration with other developers easier. So, join us as we explore React Native file structure and discover how to create a solid foundation for your mobile app development projects.\\n\\nDocument your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\n\\nDiscord: https://hc.lco.dev/discord\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nPW: https://pwskills.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/PjmAVh4Syvk/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/PjmAVh4Syvk/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/PjmAVh4Syvk/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/PjmAVh4Syvk/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/PjmAVh4Syvk/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWSjBBJ-egNNOd4mdblt1P4c\",\n      \"position\": 4,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"PjmAVh4Syvk\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXU2pCQkotZWdOTk9kNG1kYmx0MVA0Yy4wOTA3OTZBNzVEMTUzOTMy\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-01-31T11:11:44Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Rewrite React Native App\",\n      \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\n\\nDiscord: https://hc.lco.dev/discord\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/CZrJpEn6b4I/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/CZrJpEn6b4I/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/CZrJpEn6b4I/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/CZrJpEn6b4I/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/CZrJpEn6b4I/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWSjBBJ-egNNOd4mdblt1P4c\",\n      \"position\": 5,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"CZrJpEn6b4I\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXU2pCQkotZWdOTk9kNG1kYmx0MVA0Yy41MzJCQjBCNDIyRkJDN0VD\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-02-10T08:02:20Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Dynamic Theming in React Native: A Guide to Hooks\",\n      \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\n\\nDiscord: https://hc.lco.dev/discord\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nPW: https://pwskills.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/6BlFPa_MGNg/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/6BlFPa_MGNg/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/6BlFPa_MGNg/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/6BlFPa_MGNg/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/6BlFPa_MGNg/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWSjBBJ-egNNOd4mdblt1P4c\",\n      \"position\": 7,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"6BlFPa_MGNg\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXU2pCQkotZWdOTk9kNG1kYmx0MVA0Yy5DQUNERDQ2NkIzRUQxNTY1\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-02-10T16:21:01Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Summary of Project 1 and open source contribution | React Native\",\n      \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/XfREwe2sUGs/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/XfREwe2sUGs/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/XfREwe2sUGs/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/XfREwe2sUGs/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/XfREwe2sUGs/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWSjBBJ-egNNOd4mdblt1P4c\",\n      \"position\": 8,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"XfREwe2sUGs\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXU2pCQkotZWdOTk9kNG1kYmx0MVA0Yy45NDk1REZENzhEMzU5MDQz\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-02-10T16:47:21Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"React Native Project 2\",\n      \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nPW: https://pwskills.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/pbvC119ZRDw/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/pbvC119ZRDw/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/pbvC119ZRDw/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/pbvC119ZRDw/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/pbvC119ZRDw/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWSjBBJ-egNNOd4mdblt1P4c\",\n      \"position\": 9,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"pbvC119ZRDw\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXU0EwbERJaTIwNExyY1NfUVR0VGNCVy41NkI0NEY2RDEwNTU3Q0M2\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-12-01T13:35:16Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Javascript interview | Closure\",\n      \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/Q4UWFGRVOpQ/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/Q4UWFGRVOpQ/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/Q4UWFGRVOpQ/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/Q4UWFGRVOpQ/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/Q4UWFGRVOpQ/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWSA0lDIi204LrcS_QTtTcBW\",\n      \"position\": 0,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"Q4UWFGRVOpQ\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXU0EwbERJaTIwNExyY1NfUVR0VGNCVy4yODlGNEE0NkRGMEEzMEQy\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-01-18T11:29:24Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Higher Order Function | javascript interview series\",\n      \"description\": \"Instagram: https://instagram.com/hiteshchoudharyofficial\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/E7WIis2NjZU/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/E7WIis2NjZU/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/E7WIis2NjZU/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/E7WIis2NjZU/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/E7WIis2NjZU/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWSA0lDIi204LrcS_QTtTcBW\",\n      \"position\": 1,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"E7WIis2NjZU\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUmpCQkc2emdSN0dNa01CVnUwSUE5TS41NkI0NEY2RDEwNTU3Q0M2\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-11-30T10:49:23Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Should you take AWS CCP exam or skip it\",\n      \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/1eR8CstyPdY/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/1eR8CstyPdY/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/1eR8CstyPdY/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/1eR8CstyPdY/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/1eR8CstyPdY/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRjBBG6zgR7GMkMBVu0IA9M\",\n      \"position\": 0,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"1eR8CstyPdY\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVHFSb0Z5REJhb2NMOUdQbmZqQ3lTai4yODlGNEE0NkRGMEEzMEQy\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-11-18T07:12:35Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Github Codespace crash course\",\n      \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTqRoFyDBaocL9GPnfjCySj\",\n      \"position\": 0,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"D_5T6KMTRb8\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVHFSb0Z5REJhb2NMOUdQbmZqQ3lTai41NkI0NEY2RDEwNTU3Q0M2\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-11-15T18:35:25Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"How to connect Github Codespaces and Mongodb Atlas\",\n      \"description\": \"Learn to connect MongoDB with GitHub codespaces\\n\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/X88dsegH0-Y/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/X88dsegH0-Y/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/X88dsegH0-Y/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/X88dsegH0-Y/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/X88dsegH0-Y/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTqRoFyDBaocL9GPnfjCySj\",\n      \"position\": 1,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"X88dsegH0-Y\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVHFSb0Z5REJhb2NMOUdQbmZqQ3lTai4wMTcyMDhGQUE4NTIzM0Y5\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-11-19T13:25:42Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"How to create model for user authentication\",\n      \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/pqjjNIrDyQk/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/pqjjNIrDyQk/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/pqjjNIrDyQk/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/pqjjNIrDyQk/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/pqjjNIrDyQk/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTqRoFyDBaocL9GPnfjCySj\",\n      \"position\": 2,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"pqjjNIrDyQk\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVHFSb0Z5REJhb2NMOUdQbmZqQ3lTai41MjE1MkI0OTQ2QzJGNzNG\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-11-19T13:34:59Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Register and login a user with JWT token\",\n      \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/-8OEfGQPJ8c/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/-8OEfGQPJ8c/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/-8OEfGQPJ8c/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/-8OEfGQPJ8c/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/-8OEfGQPJ8c/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTqRoFyDBaocL9GPnfjCySj\",\n      \"position\": 3,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"-8OEfGQPJ8c\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVHFSb0Z5REJhb2NMOUdQbmZqQ3lTai4wOTA3OTZBNzVEMTUzOTMy\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-11-19T13:43:51Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"lets code a middleware in easy way\",\n      \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/4XaFk78WcyY/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/4XaFk78WcyY/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/4XaFk78WcyY/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/4XaFk78WcyY/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/4XaFk78WcyY/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTqRoFyDBaocL9GPnfjCySj\",\n      \"position\": 4,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"4XaFk78WcyY\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUUtJVGx1cnVKOGNpeUNpOWJ5YlE5RS41NkI0NEY2RDEwNTU3Q0M2\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-10-27T18:00:49Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Complete Typescript in under 5 hours\",\n      \"description\": \"https://hc.lco.dev/jscamp2\\n\\n00:00:00 - 00:06:51 - Why to learn typescript\\n00:06:51 - 00:15:08 - Typescript is not what you think\\n00:15:08 - 00:27:16 - How to install typescript\\n00:27:16 - 00:39:04 - Your first intro to typescript docs\\n00:39:04 - 00:46:35 - Number, boolean and type inference\\n00:39:04 - 00:46:35 - Number, boolean and type inference\\n00:46:35 - 00:51:13 - Don't use ANY in typescript\\n00:51:13 - 01:02:38 - Do you really know functions in typescript\\n01:02:38 - 01:15:21 - A better way to write function in typescript\\n01:15:21 - 01:24:57 - Bad behaviour of objects in typescript\\n01:24:57 - 01:32:11 - Type Aliases in Typescript\\n01:32:11 - 01:41:56 - READONLY and optional in typescript\\n01:41:56 - 01:49:46 - Array in Typescript\\n01:49:46 - 02:04:29 - Union Types in TS\\n02:04:29 - 02:14:16 - Tuples in typescript\\n02:14:16 - 02:23:46 - Enums in typescript\\n02:23:46 - 02:33:35 - interface in typescript\\n02:33:35 - 02:38:51 - Interface vs Type in typescript\\n02:38:51 - 02:53:27 - How to setup Typescript for real projects\\n02:53:27 - 03:01:49 - Classes in typescript\\n03:01:49 - 03:07:55 - Private Public in Typescript\\n03:07:55 - 03:15:08 - Getters and Setters in typescript\\n03:15:08 - 03:19:17 - Protected in Typescript\\n03:19:17 - 03:25:48 - Why Interface is important in typescript\\n03:25:48 - 03:35:19 - Abstract class in Typescript\\n03:35:19 - 03:47:41 - Generics in Typescript\\n03:47:41 - 03:55:50 - Generics in Array and Arrow functions in Typescript\\n03:55:50 - 04:06:59 - Generic Classes in Typescript\\n04:06:59 - 04:16:47 - Type Narrowing in typescript\\n04:16:47 - 04:22:00 - The in operator narrowing\\n04:22:00 - 04:31:18 - Instanceof and Type Predicates\\n04:31:18 - 04:42:37 - Discriminated Union and Exhaustiveness Checking with never\\n04:42:37 - 04:46:07 - Typescript End\\n\\nGithub Repo Link:\\nhttps://github.com/hiteshchoudhary/typescript-youtube-22\\n\\nPick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/ZchBYjHFCC4/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/ZchBYjHFCC4/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/ZchBYjHFCC4/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/ZchBYjHFCC4/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/ZchBYjHFCC4/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWQKITluruJ8ciyCi9bybQ9E\",\n      \"position\": 0,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"ZchBYjHFCC4\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUUtJVGx1cnVKOGNpeUNpOWJ5YlE5RS4yODlGNEE0NkRGMEEzMEQy\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-11-03T01:28:11Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"A practical guide on Docker with projects | Docker Course\",\n      \"description\": \"https://hc.lco.dev/jscamp2\\nThis video was made possible with the help of Agenty:\\nhttps://agenty.com/\\nCheck them out.\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/rr9cI4u1_88/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/rr9cI4u1_88/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/rr9cI4u1_88/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/rr9cI4u1_88/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/rr9cI4u1_88/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWQKITluruJ8ciyCi9bybQ9E\",\n      \"position\": 1,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"rr9cI4u1_88\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUUtJVGx1cnVKOGNpeUNpOWJ5YlE5RS4wMTcyMDhGQUE4NTIzM0Y5\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-11-09T12:26:26Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Complete Kubernetes Course | Deploy MERN app\",\n      \"description\": \"Code files:\\nhttps://github.com/hiteshchoudhary/kubernetes-mern-app\\nCheck Rowy here:\\nhttps://www.rowy.io/\\n\\nDevOps Course\\nhttps://hc.lco.dev/devops\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/7XDeI5fyj3w/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/7XDeI5fyj3w/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/7XDeI5fyj3w/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/7XDeI5fyj3w/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/7XDeI5fyj3w/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWQKITluruJ8ciyCi9bybQ9E\",\n      \"position\": 2,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"7XDeI5fyj3w\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUUtJVGx1cnVKOGNpeUNpOWJ5YlE5RS41MjE1MkI0OTQ2QzJGNzNG\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-11-13T16:21:07Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Github Codespace crash course\",\n      \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWQKITluruJ8ciyCi9bybQ9E\",\n      \"position\": 3,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"D_5T6KMTRb8\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUUtJVGx1cnVKOGNpeUNpOWJ5YlE5RS4wOTA3OTZBNzVEMTUzOTMy\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-11-19T15:12:56Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Build a complete Authentication system using Github Codespaces\",\n      \"description\": \"Here is the code,\\nhttps://github.com/hiteshchoudhary/codespace-auth-22\\nFeel free to send a pull request with updated code, that I missed during the commit\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/2kkUAyG6GtA/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/2kkUAyG6GtA/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/2kkUAyG6GtA/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/2kkUAyG6GtA/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/2kkUAyG6GtA/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWQKITluruJ8ciyCi9bybQ9E\",\n      \"position\": 4,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"2kkUAyG6GtA\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUUtJVGx1cnVKOGNpeUNpOWJ5YlE5RS4xMkVGQjNCMUM1N0RFNEUx\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-12-15T13:10:32Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"C++ A complete and modern course for beginners\",\n      \"description\": \"00:00:00 - 00:02:05  - intro\\n00:02:05 - 00:05:07  - Welcome to c++ course\\n00:05:07 - 00:12:09  - Prerequisite and tools\\n00:12:09 - 00:21:59  - Understand the entry Point\\n00:21:59 - 00:29:17  - Compare the 2 Hello world\\n00:29:17 - 00:35:51  - Version history and official docs\\n00:35:51 - 00:44:31  - Return type and comments\\n00:44:31 - 00:50:57  - Redefine program in cpp\\n00:50:57 - 00:55:22  - What is namespace in Cpp\\n00:55:22 - 01:00:18  - First iteration of program\\n01:00:18 - 01:08:10  - Can I name that\\n01:08:10 - 01:17:32  - Get the colour and assignment\\n01:17:32 - 01:28:13  - Your first intro to pointers\\n01:28:13 - 01:34:38  - Reference is the actual tough thing in cpp\\n01:34:38 - 01:46:04  - Cpp Array are different with pointers\\n01:46:04 - 01:57:27  - A formal intro to integers\\n01:57:27 - 02:09:46  - Conditional and ternary\\n02:09:46 - 02:17:36  - Conditional as switch\\n02:17:36 - 02:32:46  - While and Do while loop\\n02:32:46 - 02:44:10  - for and range based loop\\n02:44:10 - 02:58:04  - loop with pointers and shortcuts\\n02:58:04 - 03:06:35  - Always use float with caution\\n03:06:35 - 03:17:00  - Why always divide by zero with try catch\\n03:17:00 - 03:25:10  - Sneak peak to functions in cpp\\n03:25:10 - 03:39:36  - linkers qualifiers prefix and postfix\\n03:39:36 - 03:46:40  - Basics of operations\\n03:46:40 - 03:54:19  - Logical AND OR and NOT\\n03:54:19 - 04:01:18  - Bitwise operation in cpp\\n04:01:18 - 04:09:49  - Memory Leak in cpp\\n04:09:49 - 04:21:36  - Get started with structs in cpp\\n04:21:36 - 04:28:39  - Enums and preprocessors\\n04:28:39 - 04:36:17  - A challenge to strongly type language\\n04:36:17 - 04:51:43  - Heap and stack memory\\n04:51:43 - 05:06:28  - Detailed intro to functions\\n05:06:28 - 05:17:18  - How to create header file in cpp\\n05:17:18 - 05:21:39  - Your first intro to templates\\n05:21:39 - 05:28:39  - What are functional pointers\\n05:28:39 - 05:34:36  - nullptr saves the day\\n05:34:36 - 05:44:09  - Factorial and recursion are close friends\\n05:44:09 - 05:58:52  - Lets talk about MACROS\\n05:58:52 - 06:08:59  - Variadic templates and recursion\\n06:08:59 - 06:06:07  - A design example\\n06:06:07 - 06:23:52  - Get started with class and objects\\n06:23:52 - 06:33:21  - Getters and Setters for a data member\\n06:33:21 - 06:41:43  - Method separation and const qualified methods\\n06:41:43 - 07:07:49  - Constructor destructor and rule of 3\\n07:07:49 - 07:10:28  - Disable the constructor\\n07:10:28 - 07:25:35  - THIS is not easy in cpp\\n07:25:35 - 07:31:27  - Inheritance in my favourite\\n07:31:27 - 07:45:01  - Base class Derived class and overriding\\n07:45:01 - 07:49:29  - Friend keyword comes with caution\\n07:49:29 - 07:52:34  - Multiple Inheritance\\n07:52:34 - 07:59:35  - Polymorphism and Virtual\\n07:59:35 - 08:04:10  - What are smart pointers\\n08:04:10 - 08:13:06  - Unique pointers and issues\\n08:13:06 - 08:16:54  - Shared pointers in smart pointers\\n08:16:54 - 08:20:24  - Weak Pointers in smart Pointers\\n08:20:24 - 08:32:48  - Move semantics Lvalue and Rvalue\\n08:32:48 - 08:48:13  - Vectors - Dynamic array\\n08:48:13 - 08:56:49  - Lambda - a small hello\\n08:56:49 - 09:04:47  - Create, rename and delete files\\n09:04:47 - 09:13:39  - Reading and writing into files and MODES\\n09:13:39 - 09:23:30  - Introduction to STL\\n09:23:30 - 09:31:07  - Main components in STL\\n09:31:07 - 09:38:02  - Functions in STL\\n09:38:02 - 09:46:05  - Sort Algo in STL\\n09:46:05 - 09:50:23  - Search Algo to STL\\n09:50:23 - 09:57:01  - Partition and Stable partition in STL\\n09:57:01 - 10:06:18  - Revisiting Vectors in STL\\n10:06:18 - 10:06:18  - List in STL\\n10:06:18 - 10:24:25  - Queue and priority Queue STL\\n\\n\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/FpfHmAkRVK4/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/FpfHmAkRVK4/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/FpfHmAkRVK4/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/FpfHmAkRVK4/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/FpfHmAkRVK4/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWQKITluruJ8ciyCi9bybQ9E\",\n      \"position\": 5,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"FpfHmAkRVK4\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVERNWUFfN216RzJkTjlUS0M5ZWQzbS41NkI0NEY2RDEwNTU3Q0M2\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-09-21T11:38:13Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Before you start for interview preparation\",\n      \"description\": \"Pick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/Trsho3HVAdI/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/Trsho3HVAdI/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/Trsho3HVAdI/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/Trsho3HVAdI/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/Trsho3HVAdI/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTDMYA_7mzG2dN9TKC9ed3m\",\n      \"position\": 0,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"Trsho3HVAdI\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVERNWUFfN216RzJkTjlUS0M5ZWQzbS4yODlGNEE0NkRGMEEzMEQy\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-09-21T12:03:03Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Are you really ready for interviews ?\",\n      \"description\": \"Pick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/QH0-M_ijShU/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/QH0-M_ijShU/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/QH0-M_ijShU/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/QH0-M_ijShU/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/QH0-M_ijShU/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTDMYA_7mzG2dN9TKC9ed3m\",\n      \"position\": 1,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"QH0-M_ijShU\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVERNWUFfN216RzJkTjlUS0M5ZWQzbS4wMTcyMDhGQUE4NTIzM0Y5\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-09-22T11:14:39Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Your resume needs an update\",\n      \"description\": \"Pick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/kUM7tiBcei0/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/kUM7tiBcei0/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/kUM7tiBcei0/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/kUM7tiBcei0/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/kUM7tiBcei0/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTDMYA_7mzG2dN9TKC9ed3m\",\n      \"position\": 2,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"kUM7tiBcei0\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVERNWUFfN216RzJkTjlUS0M5ZWQzbS41MjE1MkI0OTQ2QzJGNzNG\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-09-29T11:33:01Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"8 point resume check list\",\n      \"description\": \"New JS batch is here:\\nhttps://hc.lco.dev/jscamp2\\n\\nPick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/Ot5CHVwZ_NE/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/Ot5CHVwZ_NE/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/Ot5CHVwZ_NE/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/Ot5CHVwZ_NE/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/Ot5CHVwZ_NE/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTDMYA_7mzG2dN9TKC9ed3m\",\n      \"position\": 3,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"Ot5CHVwZ_NE\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVERNWUFfN216RzJkTjlUS0M5ZWQzbS4wOTA3OTZBNzVEMTUzOTMy\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-10-07T12:32:41Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"how to handle experience section in resume\",\n      \"description\": \"https://hc.lco.dev/devops\\n\\nPick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/A8-lVZMd3dI/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/A8-lVZMd3dI/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/A8-lVZMd3dI/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/A8-lVZMd3dI/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/A8-lVZMd3dI/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTDMYA_7mzG2dN9TKC9ed3m\",\n      \"position\": 4,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"A8-lVZMd3dI\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVERNWUFfN216RzJkTjlUS0M5ZWQzbS4xMkVGQjNCMUM1N0RFNEUx\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-10-07T13:21:03Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"FAANG interview process overview\",\n      \"description\": \"https://hc.lco.dev/devops\\n\\nPick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/Ec-z6924f6w/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/Ec-z6924f6w/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/Ec-z6924f6w/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/Ec-z6924f6w/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/Ec-z6924f6w/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTDMYA_7mzG2dN9TKC9ed3m\",\n      \"position\": 5,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"Ec-z6924f6w\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUlBTZkt6d1pzSW0tQXh4cS1MeHFoVy41NkI0NEY2RDEwNTU3Q0M2\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-09-07T16:41:14Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Why to learn Typescript\",\n      \"description\": \"Link to my programming Video Library:\\nhttps://ineuron.ai/course/Be-A-DevOps-Pro\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/j89BvWz8Eag/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/j89BvWz8Eag/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/j89BvWz8Eag/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/j89BvWz8Eag/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/j89BvWz8Eag/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRPSfKzwZsIm-Axxq-LxqhW\",\n      \"position\": 0,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"j89BvWz8Eag\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUlBTZkt6d1pzSW0tQXh4cS1MeHFoVy4yODlGNEE0NkRGMEEzMEQy\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-09-08T09:18:04Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Typescript is not what you think\",\n      \"description\": \"Link to my programming Video Library:\\nhttps://hc.lco.dev/devops\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/JjWRNtBorMw/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/JjWRNtBorMw/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/JjWRNtBorMw/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/JjWRNtBorMw/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/JjWRNtBorMw/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRPSfKzwZsIm-Axxq-LxqhW\",\n      \"position\": 1,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"JjWRNtBorMw\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUlBTZkt6d1pzSW0tQXh4cS1MeHFoVy4wMTcyMDhGQUE4NTIzM0Y5\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-09-08T11:48:59Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"How to install typescript\",\n      \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/kvm8tsRj6BM/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/kvm8tsRj6BM/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/kvm8tsRj6BM/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/kvm8tsRj6BM/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/kvm8tsRj6BM/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRPSfKzwZsIm-Axxq-LxqhW\",\n      \"position\": 2,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"kvm8tsRj6BM\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUlBTZkt6d1pzSW0tQXh4cS1MeHFoVy41MjE1MkI0OTQ2QzJGNzNG\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-09-09T12:27:11Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Your first intro to typescript docs\",\n      \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/gEIP87k75aU/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/gEIP87k75aU/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/gEIP87k75aU/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/gEIP87k75aU/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/gEIP87k75aU/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRPSfKzwZsIm-Axxq-LxqhW\",\n      \"position\": 3,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"gEIP87k75aU\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUlBTZkt6d1pzSW0tQXh4cS1MeHFoVy4wOTA3OTZBNzVEMTUzOTMy\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-09-09T18:18:34Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Number, boolean and type inference\",\n      \"description\": \"Link to my programming Video Library:\\nhttps://hc.lco.dev/devops\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/JrZfUktGano/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/JrZfUktGano/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/JrZfUktGano/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/JrZfUktGano/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/JrZfUktGano/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRPSfKzwZsIm-Axxq-LxqhW\",\n      \"position\": 4,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"JrZfUktGano\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUlBTZkt6d1pzSW0tQXh4cS1MeHFoVy4xMkVGQjNCMUM1N0RFNEUx\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-09-10T13:32:16Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Don't use ANY in typescript\",\n      \"description\": \"Link to my programming Video Library:\\nhttps://hc.lco.dev/devops\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/de6Q0I4yMI8/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/de6Q0I4yMI8/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/de6Q0I4yMI8/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/de6Q0I4yMI8/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/de6Q0I4yMI8/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRPSfKzwZsIm-Axxq-LxqhW\",\n      \"position\": 5,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"de6Q0I4yMI8\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUlBTZkt6d1pzSW0tQXh4cS1MeHFoVy5DQUNERDQ2NkIzRUQxNTY1\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-09-11T13:20:02Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Do you really know functions in typescript\",\n      \"description\": \"New DevOps course\\nhttps://hc.lco.dev/devops\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/ULMH3lxygXY/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/ULMH3lxygXY/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/ULMH3lxygXY/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/ULMH3lxygXY/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/ULMH3lxygXY/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRPSfKzwZsIm-Axxq-LxqhW\",\n      \"position\": 6,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"ULMH3lxygXY\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUlBTZkt6d1pzSW0tQXh4cS1MeHFoVy40NzZCMERDMjVEN0RFRThB\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-09-13T11:21:10Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"A better way to write function in typescript\",\n      \"description\": \"Something new and awesome\\nhttps://hc.lco.dev/devops\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/tx4NHrhJK_Q/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/tx4NHrhJK_Q/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/tx4NHrhJK_Q/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/tx4NHrhJK_Q/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/tx4NHrhJK_Q/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRPSfKzwZsIm-Axxq-LxqhW\",\n      \"position\": 7,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"tx4NHrhJK_Q\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUlBTZkt6d1pzSW0tQXh4cS1MeHFoVy5EMEEwRUY5M0RDRTU3NDJC\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-09-14T05:56:36Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Bad behaviour of objects in typescript\",\n      \"description\": \"Link to my programming Video Library:\\nhttps://hc.lco.dev/devops\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/p8HML9W2F6E/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/p8HML9W2F6E/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/p8HML9W2F6E/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/p8HML9W2F6E/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/p8HML9W2F6E/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRPSfKzwZsIm-Axxq-LxqhW\",\n      \"position\": 8,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"p8HML9W2F6E\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUlBTZkt6d1pzSW0tQXh4cS1MeHFoVy45ODRDNTg0QjA4NkFBNkQy\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-09-14T06:04:28Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Type Aliases in Typescript\",\n      \"description\": \"Link to my programming Video Library:\\nhttps://hc.lco.dev/devops\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/Dzn5BjAcCB0/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/Dzn5BjAcCB0/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/Dzn5BjAcCB0/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/Dzn5BjAcCB0/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/Dzn5BjAcCB0/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRPSfKzwZsIm-Axxq-LxqhW\",\n      \"position\": 9,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"Dzn5BjAcCB0\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVHVER0pCYTdVZHFYX3B4b0VYeTAwcC41NkI0NEY2RDEwNTU3Q0M2\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-08-22T05:31:24Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Learn backend development with Prisma and mongodb\",\n      \"description\": \"Learn backend development with Prisma and mongodb\\nFor code files and community learning for free:\\nhttps://courses.learncodeonline.in/learn/Prisma-backend-development-with-mongodb\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/IiqhMNPWGEs/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/IiqhMNPWGEs/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/IiqhMNPWGEs/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/IiqhMNPWGEs/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/IiqhMNPWGEs/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTuDGJBa7UdqX_pxoEXy00p\",\n      \"position\": 0,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"IiqhMNPWGEs\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVHVER0pCYTdVZHFYX3B4b0VYeTAwcC4yODlGNEE0NkRGMEEzMEQy\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-08-22T05:31:36Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Learn backend development with Prisma and mongodb | part 2\",\n      \"description\": \"Learn backend development with Prisma and mongodb | part 2\\nFor code files and community learning for free:\\nhttps://courses.learncodeonline.in/learn/Prisma-backend-development-with-mongodb\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/qcIotzhNLDU/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/qcIotzhNLDU/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/qcIotzhNLDU/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/qcIotzhNLDU/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/qcIotzhNLDU/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTuDGJBa7UdqX_pxoEXy00p\",\n      \"position\": 1,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"qcIotzhNLDU\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVHVER0pCYTdVZHFYX3B4b0VYeTAwcC4wMTcyMDhGQUE4NTIzM0Y5\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-08-22T07:21:20Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Learn backend development with prisma and mongodb | part 3\",\n      \"description\": \"For code files and community learning for free:\\nhttps://courses.learncodeonline.in/learn/Prisma-backend-development-with-mongodb\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/arYn3DJcicw/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/arYn3DJcicw/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/arYn3DJcicw/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/arYn3DJcicw/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/arYn3DJcicw/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTuDGJBa7UdqX_pxoEXy00p\",\n      \"position\": 2,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"arYn3DJcicw\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUjNtNTdWbzM5ajVsUUU5aDV3MHZrRy41NkI0NEY2RDEwNTU3Q0M2\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-06-15T12:53:33Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Javascript marathon | Live classes on youtube\",\n      \"description\": \"For course assets such as code files and study material, please join here for free:\\nhttps://courses.ineuron.ai/JavaScript-Marathon\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/_gg5_gFP0gQ/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/_gg5_gFP0gQ/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/_gg5_gFP0gQ/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/_gg5_gFP0gQ/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/_gg5_gFP0gQ/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWR3m57Vo39j5lQE9h5w0vkG\",\n      \"position\": 0,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"_gg5_gFP0gQ\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUjNtNTdWbzM5ajVsUUU5aDV3MHZrRy4yODlGNEE0NkRGMEEzMEQy\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-06-16T10:15:10Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Javascript Marathon - Day 1 | Introduction and lexical structure\",\n      \"description\": \"Get started with Javascript marathon.\\nThis is a live session on youtube. If you join in late, that's on you. Please try to join in and watch the teaching part first. Once the class is over, I will have a doubt session to answer your doubts.\\nPlease avoid quesitons like, Will you teach XYZ, or compare flutter vs React Native. \\nAll exercise files, code files and upcoming quizes are available at:\\nhttps://courses.ineuron.ai/JavaScript-Marathon\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/-1rEsrEau7I/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/-1rEsrEau7I/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/-1rEsrEau7I/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/-1rEsrEau7I/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/-1rEsrEau7I/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWR3m57Vo39j5lQE9h5w0vkG\",\n      \"position\": 1,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"-1rEsrEau7I\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUjNtNTdWbzM5ajVsUUU5aDV3MHZrRy4wMTcyMDhGQUE4NTIzM0Y5\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-06-17T06:25:31Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Javascript Marathon | Mystery of numbers\",\n      \"description\": \"Welcome to another Live for javascript Marathon. In today's live we will learn about numbers and will understand why javascript behaves differently with numbers. \\n\\nAlso, there is a job guarantee JS bootcamp coming up:\\nhttps://bit.ly/38vmTZs\\nuse code HITESH10 to get additional 10% off, if you are interested to grind and master JS and it's frameworks.\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/g-0k8syANzI/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/g-0k8syANzI/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/g-0k8syANzI/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/g-0k8syANzI/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/g-0k8syANzI/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWR3m57Vo39j5lQE9h5w0vkG\",\n      \"position\": 2,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"g-0k8syANzI\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUjNtNTdWbzM5ajVsUUU5aDV3MHZrRy41MjE1MkI0OTQ2QzJGNzNG\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-06-20T10:27:24Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Javascript Marathon | Strings and Regex\",\n      \"description\": \"Welcome to another Day for Javascript Marathon.\\nWhere I am teaching javascript in depth, Live on youtube.\\nSpend daily 1 hour with me and be a master in javascript. \\nYou will be able to crack interviews too. \\n\\nFor last classses and code files:\\nhttps://courses.ineuron.ai/JavaScript-Marathon\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/Yz1CsZVS6FQ/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/Yz1CsZVS6FQ/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/Yz1CsZVS6FQ/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/Yz1CsZVS6FQ/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/Yz1CsZVS6FQ/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWR3m57Vo39j5lQE9h5w0vkG\",\n      \"position\": 3,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"Yz1CsZVS6FQ\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUjNtNTdWbzM5ajVsUUU5aDV3MHZrRy4wOTA3OTZBNzVEMTUzOTMy\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-06-21T07:49:55Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Javascript Marathon | Symbols and Global Objects\",\n      \"description\": \"Welcome to another episode of Javascript marathon. We are going all indepth of Javascript with this marathon. Goal of this series is to make you pro in JS. In this video, we will learn about booleans, Symbols and Global objects in Javascript. \\nIn case you are looking for Paid Job guarantee course:\\nhttps://courses.ineuron.ai/Full-Stack-Javascript-Web-Developer\\nuse Code: HITESH10 for additional 10% off.\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/PFrOxB5NyJw/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/PFrOxB5NyJw/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/PFrOxB5NyJw/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/PFrOxB5NyJw/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/PFrOxB5NyJw/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWR3m57Vo39j5lQE9h5w0vkG\",\n      \"position\": 4,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"PFrOxB5NyJw\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUjNtNTdWbzM5ajVsUUU5aDV3MHZrRy4xMkVGQjNCMUM1N0RFNEUx\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-06-27T11:56:42Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Javascript Marathon | Conversion Confusion\",\n      \"description\": \"Welcome to another episode of javascript marathon.\\nhttps://courses.ineuron.ai/JavaScript-Marathon\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/ZdfPSolb1fs/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/ZdfPSolb1fs/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/ZdfPSolb1fs/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/ZdfPSolb1fs/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/ZdfPSolb1fs/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWR3m57Vo39j5lQE9h5w0vkG\",\n      \"position\": 5,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"ZdfPSolb1fs\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUjNtNTdWbzM5ajVsUUU5aDV3MHZrRy41MzJCQjBCNDIyRkJDN0VD\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-06-28T08:53:01Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"How conversion works in javascript | 3 conversion algo\",\n      \"description\": \"In case you are interested in getting a full stack live course (live + pro recorded videos) here is the link, use code HITESH10 for additional 10% off\\nhttps://courses.ineuron.ai/Full-Stack-Javascript-Web-Developer\\n\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/OeVE-8CIzys/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/OeVE-8CIzys/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/OeVE-8CIzys/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/OeVE-8CIzys/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/OeVE-8CIzys/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWR3m57Vo39j5lQE9h5w0vkG\",\n      \"position\": 6,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"OeVE-8CIzys\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUjNtNTdWbzM5ajVsUUU5aDV3MHZrRy5DQUNERDQ2NkIzRUQxNTY1\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-09-07T14:53:59Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Update to Javascript marathon\",\n      \"description\": \"Link to my programming Video Library:\\nhttps://hc.lco.dev/devops\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/mxSK9ZcASMU/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/mxSK9ZcASMU/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/mxSK9ZcASMU/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/mxSK9ZcASMU/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/mxSK9ZcASMU/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWR3m57Vo39j5lQE9h5w0vkG\",\n      \"position\": 7,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"mxSK9ZcASMU\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUU1YZWtEZ3c3ZlJBc0htc2JLV2t3dS41NkI0NEY2RDEwNTU3Q0M2\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-05-18T09:47:47Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"React state management crash course | Zustand\",\n      \"description\": \"React state management crash course\\nCode files:\\nhttps://github.com/hiteshchoudhary/Zustand-crash-course\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/KCr-UNsM3vA/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/KCr-UNsM3vA/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/KCr-UNsM3vA/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/KCr-UNsM3vA/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/KCr-UNsM3vA/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWQMXekDgw7fRAsHmsbKWkwu\",\n      \"position\": 0,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"KCr-UNsM3vA\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUU1YZWtEZ3c3ZlJBc0htc2JLV2t3dS4yODlGNEE0NkRGMEEzMEQy\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-05-18T09:48:11Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"React state management crash course | Zustand | Part 2\",\n      \"description\": \"React state management crash course | zustand\\nCode files:\\nhttps://github.com/hiteshchoudhary/Zustand-crash-course\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/IDKKB5bm4vM/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/IDKKB5bm4vM/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/IDKKB5bm4vM/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/IDKKB5bm4vM/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/IDKKB5bm4vM/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWQMXekDgw7fRAsHmsbKWkwu\",\n      \"position\": 1,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"IDKKB5bm4vM\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUU1YZWtEZ3c3ZlJBc0htc2JLV2t3dS4wMTcyMDhGQUE4NTIzM0Y5\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-05-19T06:06:32Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"React state management crash course | Zustand | part 3\",\n      \"description\": \"Code files for react state management crash course with  Zustand\\nhttps://github.com/hiteshchoudhary/Zustand-crash-course\\n\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/m41aGndJNPU/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/m41aGndJNPU/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/m41aGndJNPU/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/m41aGndJNPU/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/m41aGndJNPU/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWQMXekDgw7fRAsHmsbKWkwu\",\n      \"position\": 2,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"m41aGndJNPU\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUU1YZWtEZ3c3ZlJBc0htc2JLV2t3dS41MjE1MkI0OTQ2QzJGNzNG\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-05-20T06:26:32Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Github Codespaces | deploying a react app\",\n      \"description\": \"Lets Learn to deploy react apps using Github Codespaces. Really simple workflow and no need to use any third party hosting. Version management to deployment, all in 1 solution.\\n\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/GucwWmwAGT8/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/GucwWmwAGT8/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/GucwWmwAGT8/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/GucwWmwAGT8/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/GucwWmwAGT8/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWQMXekDgw7fRAsHmsbKWkwu\",\n      \"position\": 3,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"GucwWmwAGT8\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXVFp3bzdIMTNHM202SGdodHdwYjBCNi41NkI0NEY2RDEwNTU3Q0M2\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-01-10T09:41:16Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Nextjs full stack application\",\n      \"description\": \"Learn to build a full stack app with nextjs and mongoDB with REST API.\\nhttps://courses.learncodeonline.in/learn/NextJS-Full-stack-crash-course\\n\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/3DVNl8uwoAo/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/3DVNl8uwoAo/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/3DVNl8uwoAo/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/3DVNl8uwoAo/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/3DVNl8uwoAo/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWTZwo7H13G3m6Hghtwpb0B6\",\n      \"position\": 0,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"3DVNl8uwoAo\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUkJFWnNmYnAtNTU3dy1adVktLXdyTy41NkI0NEY2RDEwNTU3Q0M2\",\n    \"snippet\": {\n      \"publishedAt\": \"2021-12-11T17:33:52Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Saturday live  (after a while)\",\n      \"description\": \"Hey there everyone, welcome to Saturday live again. It was a busy ,month but finally here we are. Live again !\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/9Jvgh6txd1k/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/9Jvgh6txd1k/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/9Jvgh6txd1k/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/9Jvgh6txd1k/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/9Jvgh6txd1k/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRBEZsfbp-557w-ZuY--wrO\",\n      \"position\": 0,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"9Jvgh6txd1k\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUkJFWnNmYnAtNTU3dy1adVktLXdyTy4yODlGNEE0NkRGMEEzMEQy\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-01-08T14:58:42Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Saturday Live\",\n      \"description\": \"Welcome to saturday live where I try to answer your questions and just regular chit chat with you all.\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/altMM5he1wY/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/altMM5he1wY/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/altMM5he1wY/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/altMM5he1wY/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/altMM5he1wY/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRBEZsfbp-557w-ZuY--wrO\",\n      \"position\": 1,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"altMM5he1wY\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUkJFWnNmYnAtNTU3dy1adVktLXdyTy4wMTcyMDhGQUE4NTIzM0Y5\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-02-05T13:37:53Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Saturday Live for coders | Payment gateways\",\n      \"description\": \"Welcome to another session of Saturday live. \\nA Talk with Abhishek\\nhttps://www.linkedin.com/in/abhishekpopli/\\n Hope you will enjoy this session.\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/Ly2253lKR0U/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/Ly2253lKR0U/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/Ly2253lKR0U/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/Ly2253lKR0U/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/Ly2253lKR0U/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRBEZsfbp-557w-ZuY--wrO\",\n      \"position\": 2,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"Ly2253lKR0U\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUkJFWnNmYnAtNTU3dy1adVktLXdyTy41MjE1MkI0OTQ2QzJGNzNG\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-02-15T17:24:57Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Saturday live for coders\",\n      \"description\": \"Welcome to another Saturday live where I try to answer all of your tech questions. This saturday live is more interesting as we have a guest today. Sudhanshu Kumar.\\nSudhanshu got a great experince in modern edtech. From code to Hardwares like drone.\\n\\nSudhanshu is also a Founder of edtech company iNeuron.\\niNeuron has launched the world's first OTT platform for education - \\\"One Neuron\\\".\\nUnder One Neuron we provide :\\n✔200+ courses, 500+ projects\\n✔Consistent services from iNeuron\\n✔Work 1:1 with experts\\n✔Raise your demand\\n✔Mock interview\\n✔Career guidance\\n✔Access to innovation lab\\n✔Access to incubation lab\\nFor more details on One Neuron you can refer our website : https://one-neuron.ineuron.ai/\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/NPKEncE2mW0/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/NPKEncE2mW0/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/NPKEncE2mW0/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/NPKEncE2mW0/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/NPKEncE2mW0/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRBEZsfbp-557w-ZuY--wrO\",\n      \"position\": 3,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"NPKEncE2mW0\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUkJFWnNmYnAtNTU3dy1adVktLXdyTy4wOTA3OTZBNzVEMTUzOTMy\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-02-19T15:25:13Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Saturday live for coders\",\n      \"description\": \"Welcome to saturday live. Another episode to answer your questions live !\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/bfSd_0fzv5U/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/bfSd_0fzv5U/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/bfSd_0fzv5U/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/bfSd_0fzv5U/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/bfSd_0fzv5U/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRBEZsfbp-557w-ZuY--wrO\",\n      \"position\": 4,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"bfSd_0fzv5U\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUkJFWnNmYnAtNTU3dy1adVktLXdyTy4xMkVGQjNCMUM1N0RFNEUx\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-03-12T12:11:06Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Saturday live\",\n      \"description\": \"Welcome to another edition of Saturday live\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/TRviIyktFhM/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/TRviIyktFhM/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/TRviIyktFhM/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/TRviIyktFhM/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/TRviIyktFhM/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRBEZsfbp-557w-ZuY--wrO\",\n      \"position\": 5,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"TRviIyktFhM\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUkJFWnNmYnAtNTU3dy1adVktLXdyTy41MzJCQjBCNDIyRkJDN0VD\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-10-29T06:30:43Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Saturday Live\",\n      \"description\": \"Saturday live is back.\\nSame studio, same me and lots of experience sharing.\\nLet's connect:\\nhttps://hc.lco.dev/jscamp2\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/78vzqy9VQlQ/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/78vzqy9VQlQ/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/78vzqy9VQlQ/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/78vzqy9VQlQ/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/78vzqy9VQlQ/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWRBEZsfbp-557w-ZuY--wrO\",\n      \"position\": 6,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"78vzqy9VQlQ\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUUdEUW9CWU1aV0tqenVoQ2FPbkJwYS41NkI0NEY2RDEwNTU3Q0M2\",\n    \"snippet\": {\n      \"publishedAt\": \"2021-08-31T11:04:10Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Welcome to series on GO programming language\",\n      \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/JoJ8Sw5Yb4c/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/JoJ8Sw5Yb4c/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/JoJ8Sw5Yb4c/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/JoJ8Sw5Yb4c/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/JoJ8Sw5Yb4c/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWQGDQoBYMZWKjzuhCaOnBpa\",\n      \"position\": 0,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"JoJ8Sw5Yb4c\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUUdEUW9CWU1aV0tqenVoQ2FPbkJwYS4yODlGNEE0NkRGMEEzMEQy\",\n    \"snippet\": {\n      \"publishedAt\": \"2021-08-31T11:10:56Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Before you start with golang\",\n      \"description\": \"Welcome to the series on golang. In this video, we will clear the basics of golang, and mostly we will answer some most common questions that you should know before getting started with golang.\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/F3klnY_r8FU/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/F3klnY_r8FU/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/F3klnY_r8FU/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/F3klnY_r8FU/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/F3klnY_r8FU/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWQGDQoBYMZWKjzuhCaOnBpa\",\n      \"position\": 1,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"F3klnY_r8FU\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUUdEUW9CWU1aV0tqenVoQ2FPbkJwYS4wMTcyMDhGQUE4NTIzM0Y5\",\n    \"snippet\": {\n      \"publishedAt\": \"2021-08-31T11:17:28Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Golang installation and hello world\",\n      \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/62qGe9yhiJI/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/62qGe9yhiJI/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/62qGe9yhiJI/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/62qGe9yhiJI/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/62qGe9yhiJI/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWQGDQoBYMZWKjzuhCaOnBpa\",\n      \"position\": 2,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"62qGe9yhiJI\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUUdEUW9CWU1aV0tqenVoQ2FPbkJwYS41MjE1MkI0OTQ2QzJGNzNG\",\n    \"snippet\": {\n      \"publishedAt\": \"2021-08-31T12:06:02Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"GOPATH and reading go docs\",\n      \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/QEZlivtFOZk/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/QEZlivtFOZk/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/QEZlivtFOZk/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/QEZlivtFOZk/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/QEZlivtFOZk/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWQGDQoBYMZWKjzuhCaOnBpa\",\n      \"position\": 3,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"QEZlivtFOZk\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUUdEUW9CWU1aV0tqenVoQ2FPbkJwYS4wOTA3OTZBNzVEMTUzOTMy\",\n    \"snippet\": {\n      \"publishedAt\": \"2021-08-31T13:08:31Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Lexer in golang and Types\",\n      \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/elYPAeX9h1E/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/elYPAeX9h1E/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/elYPAeX9h1E/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/elYPAeX9h1E/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/elYPAeX9h1E/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWQGDQoBYMZWKjzuhCaOnBpa\",\n      \"position\": 4,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"elYPAeX9h1E\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUUdEUW9CWU1aV0tqenVoQ2FPbkJwYS4xMkVGQjNCMUM1N0RFNEUx\",\n    \"snippet\": {\n      \"publishedAt\": \"2021-08-31T13:13:38Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Variables, types and constants\",\n      \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/9fYqg6uo-UU/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/9fYqg6uo-UU/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/9fYqg6uo-UU/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/9fYqg6uo-UU/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/9fYqg6uo-UU/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWQGDQoBYMZWKjzuhCaOnBpa\",\n      \"position\": 5,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"9fYqg6uo-UU\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUUdEUW9CWU1aV0tqenVoQ2FPbkJwYS41MzJCQjBCNDIyRkJDN0VD\",\n    \"snippet\": {\n      \"publishedAt\": \"2021-09-01T10:49:00Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Comma ok syntax and packages in golang\",\n      \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/zYIZtbyUIDY/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/zYIZtbyUIDY/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/zYIZtbyUIDY/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/zYIZtbyUIDY/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/zYIZtbyUIDY/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWQGDQoBYMZWKjzuhCaOnBpa\",\n      \"position\": 6,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"zYIZtbyUIDY\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUUdEUW9CWU1aV0tqenVoQ2FPbkJwYS5DQUNERDQ2NkIzRUQxNTY1\",\n    \"snippet\": {\n      \"publishedAt\": \"2021-09-01T10:54:27Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Conversions in golang\",\n      \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/3j43y-PFJPI/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/3j43y-PFJPI/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/3j43y-PFJPI/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/3j43y-PFJPI/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/3j43y-PFJPI/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWQGDQoBYMZWKjzuhCaOnBpa\",\n      \"position\": 7,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"3j43y-PFJPI\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUUdEUW9CWU1aV0tqenVoQ2FPbkJwYS45NDk1REZENzhEMzU5MDQz\",\n    \"snippet\": {\n      \"publishedAt\": \"2021-09-01T11:52:21Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Handling time in golang\",\n      \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/xsAz24z4Hdg/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/xsAz24z4Hdg/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/xsAz24z4Hdg/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/xsAz24z4Hdg/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/xsAz24z4Hdg/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWQGDQoBYMZWKjzuhCaOnBpa\",\n      \"position\": 8,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"xsAz24z4Hdg\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  },\n  {\n    \"kind\": \"youtube#playlistItem\",\n    \"id\": \"UExSQVY2OWRTMXVXUUdEUW9CWU1aV0tqenVoQ2FPbkJwYS5GNjNDRDREMDQxOThCMDQ2\",\n    \"snippet\": {\n      \"publishedAt\": \"2021-09-01T11:55:28Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Build for windows, linux and mac\",\n      \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/9vxsO5vMTAw/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/9vxsO5vMTAw/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/9vxsO5vMTAw/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/9vxsO5vMTAw/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/9vxsO5vMTAw/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"playlistId\": \"PLRAV69dS1uWQGDQoBYMZWKjzuhCaOnBpa\",\n      \"position\": 9,\n      \"resourceId\": {\n        \"kind\": \"youtube#video\",\n        \"videoId\": \"9vxsO5vMTAw\"\n      },\n      \"videoOwnerChannelTitle\": \"Hitesh Choudhary\",\n      \"videoOwnerChannelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\"\n    }\n  }\n]\n"
  },
  {
    "path": "src/json/youtube/playlists.json",
    "content": "[\n  {\n    \"kind\": \"youtube#playlist\",\n    \"id\": \"PLRAV69dS1uWTNPzObtUpbxe1L1lB97z2R\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-07-19T13:14:09Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Flutter | a project based learning\",\n      \"description\": \"Learn flutter by building mobile apps\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/75hqPk6pq5g/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/75hqPk6pq5g/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/75hqPk6pq5g/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/75hqPk6pq5g/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/75hqPk6pq5g/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"localized\": {\n        \"title\": \"Flutter | a project based learning\",\n        \"description\": \"Learn flutter by building mobile apps\"\n      }\n    }\n  },\n  {\n    \"kind\": \"youtube#playlist\",\n    \"id\": \"PLRAV69dS1uWSx4erHGq8hW_GE-Eaj60r-\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-07-18T12:28:02Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"FreeAPI.app\",\n      \"description\": \"Learn and master API with our open source project, https://freeapi.app\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/xJq0EQMFGyg/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/xJq0EQMFGyg/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/xJq0EQMFGyg/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/xJq0EQMFGyg/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/xJq0EQMFGyg/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"localized\": {\n        \"title\": \"FreeAPI.app\",\n        \"description\": \"Learn and master API with our open source project, https://freeapi.app\"\n      }\n    }\n  },\n  {\n    \"kind\": \"youtube#playlist\",\n    \"id\": \"PLRAV69dS1uWR7KF-zV6YPYtKYEHENETyE\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-06-30T11:35:07Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Nextjs Fullstack course on Authentication\",\n      \"description\": \"Learn about the lastest nextjs, new ways to create pages and API routes and middleware. This playlist will help you to understand nextjs in depth and you will be able to manage all projects easily after this.\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/iPGXk-i-VYU/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/iPGXk-i-VYU/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/iPGXk-i-VYU/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/iPGXk-i-VYU/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/iPGXk-i-VYU/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"localized\": {\n        \"title\": \"Nextjs Fullstack course on Authentication\",\n        \"description\": \"Learn about the lastest nextjs, new ways to create pages and API routes and middleware. This playlist will help you to understand nextjs in depth and you will be able to manage all projects easily after this.\"\n      }\n    }\n  },\n  {\n    \"kind\": \"youtube#playlist\",\n    \"id\": \"PLRAV69dS1uWTjW8wHMv_fQSgU-8is6KTR\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-06-16T17:56:18Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"AWS Certified Cloud Practitioner\",\n      \"description\": \"Dive into our comprehensive AWS Certified Cloud Practitioner playlist. This series is tailored to assist you in your journey towards becoming an AWS Certified Cloud Practitioner. From understanding AWS core services to security basics and architectural principles, we've got you covered. Each video in this series breaks down complex cloud concepts into easily digestible segments, ensuring an optimal learning experience. Whether you're a novice just starting with AWS, or an IT professional looking to enhance your skills, this playlist is your stepping stone towards mastering the AWS cloud. Don't wait to transform your career, start your cloud certification journey today\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/VXqIJ2SJh9s/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/VXqIJ2SJh9s/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/VXqIJ2SJh9s/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/VXqIJ2SJh9s/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/VXqIJ2SJh9s/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"localized\": {\n        \"title\": \"AWS Certified Cloud Practitioner\",\n        \"description\": \"Dive into our comprehensive AWS Certified Cloud Practitioner playlist. This series is tailored to assist you in your journey towards becoming an AWS Certified Cloud Practitioner. From understanding AWS core services to security basics and architectural principles, we've got you covered. Each video in this series breaks down complex cloud concepts into easily digestible segments, ensuring an optimal learning experience. Whether you're a novice just starting with AWS, or an IT professional looking to enhance your skills, this playlist is your stepping stone towards mastering the AWS cloud. Don't wait to transform your career, start your cloud certification journey today\"\n      }\n    }\n  },\n  {\n    \"kind\": \"youtube#playlist\",\n    \"id\": \"PLRAV69dS1uWRfTGI-ZEWIWVj0Vs5IJwkh\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-05-18T12:12:46Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Is XYZ Dead\",\n      \"description\": \"A playlist to tease beginners by poking their sentiment around tools. If you know it, enjoy the comment section otherwise go on full rage mode in comments. 🫣\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/EQwmQLU1S6I/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/EQwmQLU1S6I/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/EQwmQLU1S6I/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/EQwmQLU1S6I/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/EQwmQLU1S6I/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"localized\": {\n        \"title\": \"Is XYZ Dead\",\n        \"description\": \"A playlist to tease beginners by poking their sentiment around tools. If you know it, enjoy the comment section otherwise go on full rage mode in comments. 🫣\"\n      }\n    }\n  },\n  {\n    \"kind\": \"youtube#playlist\",\n    \"id\": \"PLRAV69dS1uWTcGaBdIhAU4rdvhWKl1spk\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-04-18T12:12:27Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Javascript fun projects\",\n      \"description\": \"some fun javascript project for beginners\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/O7zPiurDdDk/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/O7zPiurDdDk/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/O7zPiurDdDk/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/O7zPiurDdDk/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/O7zPiurDdDk/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"localized\": {\n        \"title\": \"Javascript fun projects\",\n        \"description\": \"some fun javascript project for beginners\"\n      }\n    }\n  },\n  {\n    \"kind\": \"youtube#playlist\",\n    \"id\": \"PLRAV69dS1uWTK8g1CH9g4pzk0zagfmLoR\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-03-05T20:20:24Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Code Cast with HC\",\n      \"description\": \"Code Cast with HC\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/yjrUbWL3Nss/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/yjrUbWL3Nss/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/yjrUbWL3Nss/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/yjrUbWL3Nss/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/yjrUbWL3Nss/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"localized\": {\n        \"title\": \"Code Cast with HC\",\n        \"description\": \"Code Cast with HC\"\n      }\n    }\n  },\n  {\n    \"kind\": \"youtube#playlist\",\n    \"id\": \"PLRAV69dS1uWSjBBJ-egNNOd4mdblt1P4c\",\n    \"snippet\": {\n      \"publishedAt\": \"2023-01-24T12:35:45Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"React Native Mastery with 10 apps\",\n      \"description\": \"\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/kGtEax1WQFg/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/kGtEax1WQFg/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/kGtEax1WQFg/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/kGtEax1WQFg/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/kGtEax1WQFg/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"localized\": {\n        \"title\": \"React Native Mastery with 10 apps\",\n        \"description\": \"\"\n      }\n    }\n  },\n  {\n    \"kind\": \"youtube#playlist\",\n    \"id\": \"PLRAV69dS1uWSA0lDIi204LrcS_QTtTcBW\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-12-01T13:35:09Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Javascript Interview Preparation guide\",\n      \"description\": \"\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/Q4UWFGRVOpQ/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/Q4UWFGRVOpQ/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/Q4UWFGRVOpQ/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/Q4UWFGRVOpQ/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/Q4UWFGRVOpQ/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"localized\": {\n        \"title\": \"Javascript Interview Preparation guide\",\n        \"description\": \"\"\n      }\n    }\n  },\n  {\n    \"kind\": \"youtube#playlist\",\n    \"id\": \"PLRAV69dS1uWRjBBG6zgR7GMkMBVu0IA9M\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-11-30T10:49:17Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Certified Cloud Practitioner | AWS\",\n      \"description\": \"\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/1eR8CstyPdY/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/1eR8CstyPdY/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/1eR8CstyPdY/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/1eR8CstyPdY/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/1eR8CstyPdY/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"localized\": {\n        \"title\": \"Certified Cloud Practitioner | AWS\",\n        \"description\": \"\"\n      }\n    }\n  },\n  {\n    \"kind\": \"youtube#playlist\",\n    \"id\": \"PLRAV69dS1uWTqRoFyDBaocL9GPnfjCySj\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-11-15T18:33:42Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Auth system in GitHub codespaces\",\n      \"description\": \"\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"localized\": {\n        \"title\": \"Auth system in GitHub codespaces\",\n        \"description\": \"\"\n      }\n    }\n  },\n  {\n    \"kind\": \"youtube#playlist\",\n    \"id\": \"PLRAV69dS1uWQKITluruJ8ciyCi9bybQ9E\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-10-27T18:00:42Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Long form Videos\",\n      \"description\": \"\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/ZchBYjHFCC4/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/ZchBYjHFCC4/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/ZchBYjHFCC4/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/ZchBYjHFCC4/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/ZchBYjHFCC4/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"localized\": {\n        \"title\": \"Long form Videos\",\n        \"description\": \"\"\n      }\n    }\n  },\n  {\n    \"kind\": \"youtube#playlist\",\n    \"id\": \"PLRAV69dS1uWTDMYA_7mzG2dN9TKC9ed3m\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-09-21T11:33:05Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Before you start interview preparation\",\n      \"description\": \"\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/Trsho3HVAdI/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/Trsho3HVAdI/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/Trsho3HVAdI/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/Trsho3HVAdI/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/Trsho3HVAdI/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"localized\": {\n        \"title\": \"Before you start interview preparation\",\n        \"description\": \"\"\n      }\n    }\n  },\n  {\n    \"kind\": \"youtube#playlist\",\n    \"id\": \"PLRAV69dS1uWRPSfKzwZsIm-Axxq-LxqhW\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-09-07T16:41:07Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Typescript\",\n      \"description\": \"Videos are in order from top to bottom\\n\\nhttps://github.com/hiteshchoudhary/typescript-youtube-22\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/j89BvWz8Eag/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/j89BvWz8Eag/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/j89BvWz8Eag/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/j89BvWz8Eag/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/j89BvWz8Eag/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"localized\": {\n        \"title\": \"Typescript\",\n        \"description\": \"Videos are in order from top to bottom\\n\\nhttps://github.com/hiteshchoudhary/typescript-youtube-22\"\n      }\n    }\n  },\n  {\n    \"kind\": \"youtube#playlist\",\n    \"id\": \"PLRAV69dS1uWTuDGJBa7UdqX_pxoEXy00p\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-08-22T05:30:50Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Prisma | backend development\",\n      \"description\": \"\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/IiqhMNPWGEs/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/IiqhMNPWGEs/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/IiqhMNPWGEs/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/IiqhMNPWGEs/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/IiqhMNPWGEs/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"localized\": {\n        \"title\": \"Prisma | backend development\",\n        \"description\": \"\"\n      }\n    }\n  },\n  {\n    \"kind\": \"youtube#playlist\",\n    \"id\": \"PLRAV69dS1uWR3m57Vo39j5lQE9h5w0vkG\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-06-15T10:21:57Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Javascript Marathon\",\n      \"description\": \"\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/_gg5_gFP0gQ/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/_gg5_gFP0gQ/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/_gg5_gFP0gQ/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/_gg5_gFP0gQ/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/_gg5_gFP0gQ/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"localized\": {\n        \"title\": \"Javascript Marathon\",\n        \"description\": \"\"\n      }\n    }\n  },\n  {\n    \"kind\": \"youtube#playlist\",\n    \"id\": \"PLRAV69dS1uWQMXekDgw7fRAsHmsbKWkwu\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-05-18T09:47:07Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Zustand | react state management\",\n      \"description\": \"\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/KCr-UNsM3vA/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/KCr-UNsM3vA/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/KCr-UNsM3vA/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/KCr-UNsM3vA/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/KCr-UNsM3vA/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"localized\": {\n        \"title\": \"Zustand | react state management\",\n        \"description\": \"\"\n      }\n    }\n  },\n  {\n    \"kind\": \"youtube#playlist\",\n    \"id\": \"PLRAV69dS1uWTZwo7H13G3m6Hghtwpb0B6\",\n    \"snippet\": {\n      \"publishedAt\": \"2022-01-10T09:41:08Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Nextjs full stack\",\n      \"description\": \"\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/3DVNl8uwoAo/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/3DVNl8uwoAo/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/3DVNl8uwoAo/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/3DVNl8uwoAo/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/3DVNl8uwoAo/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"localized\": {\n        \"title\": \"Nextjs full stack\",\n        \"description\": \"\"\n      }\n    }\n  },\n  {\n    \"kind\": \"youtube#playlist\",\n    \"id\": \"PLRAV69dS1uWRBEZsfbp-557w-ZuY--wrO\",\n    \"snippet\": {\n      \"publishedAt\": \"2021-12-11T17:33:36Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Saturday live (2022)\",\n      \"description\": \"\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/9Jvgh6txd1k/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/9Jvgh6txd1k/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/9Jvgh6txd1k/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/9Jvgh6txd1k/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/9Jvgh6txd1k/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"localized\": {\n        \"title\": \"Saturday live (2022)\",\n        \"description\": \"\"\n      }\n    }\n  },\n  {\n    \"kind\": \"youtube#playlist\",\n    \"id\": \"PLRAV69dS1uWQGDQoBYMZWKjzuhCaOnBpa\",\n    \"snippet\": {\n      \"publishedAt\": \"2021-08-31T11:04:01Z\",\n      \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n      \"title\": \"Let's go with golang\",\n      \"description\": \"\",\n      \"thumbnails\": {\n        \"default\": {\n          \"url\": \"https://i.ytimg.com/vi/JoJ8Sw5Yb4c/default.jpg\",\n          \"width\": 120,\n          \"height\": 90\n        },\n        \"medium\": {\n          \"url\": \"https://i.ytimg.com/vi/JoJ8Sw5Yb4c/mqdefault.jpg\",\n          \"width\": 320,\n          \"height\": 180\n        },\n        \"high\": {\n          \"url\": \"https://i.ytimg.com/vi/JoJ8Sw5Yb4c/hqdefault.jpg\",\n          \"width\": 480,\n          \"height\": 360\n        },\n        \"standard\": {\n          \"url\": \"https://i.ytimg.com/vi/JoJ8Sw5Yb4c/sddefault.jpg\",\n          \"width\": 640,\n          \"height\": 480\n        },\n        \"maxres\": {\n          \"url\": \"https://i.ytimg.com/vi/JoJ8Sw5Yb4c/maxresdefault.jpg\",\n          \"width\": 1280,\n          \"height\": 720\n        }\n      },\n      \"channelTitle\": \"Hitesh Choudhary\",\n      \"localized\": {\n        \"title\": \"Let's go with golang\",\n        \"description\": \"\"\n      }\n    }\n  }\n]\n"
  },
  {
    "path": "src/json/youtube/videos.json",
    "content": "{\n  \"channelVideos\": [\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"zg06ec5arCs\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-07-12T12:20:42Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Learn to build file based routing from scratch like Nextjs\",\n          \"description\": \"Here is the link to get code files for this video:\\nhttps://hitesh.pieces.cloud/?p=a2ac4ab4b3\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/zg06ec5arCs/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/zg06ec5arCs/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/zg06ec5arCs/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/zg06ec5arCs/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/zg06ec5arCs/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"cloud\",\n            \"pieces\",\n            \"nextjs\",\n            \"file based routing\",\n            \"learn react\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Learn to build file based routing from scratch like Nextjs\",\n            \"description\": \"Here is the link to get code files for this video:\\nhttps://hitesh.pieces.cloud/?p=a2ac4ab4b3\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT1H17M17S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"4144\",\n          \"likeCount\": \"292\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"43\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"eLyISYdoVac\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-07-11T11:30:15Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"AI just killed more jobs\",\n          \"description\": \"In case you want to read the tweets:\\nhttps://twitter.com/suumitshah/status/1678460569844588547\\n\\nI have no opinion about the situation, I am just saying this is a start and will happen more. Support industry is the first target and next will be more low level or easy to entry jobs.\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/eLyISYdoVac/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/eLyISYdoVac/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/eLyISYdoVac/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/eLyISYdoVac/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/eLyISYdoVac/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"coding\",\n            \"jobs\",\n            \"AI\",\n            \"machine learning\",\n            \"AI killing jobs\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"AI just killed more jobs\",\n            \"description\": \"In case you want to read the tweets:\\nhttps://twitter.com/suumitshah/status/1678460569844588547\\n\\nI have no opinion about the situation, I am just saying this is a start and will happen more. Support industry is the first target and next will be more low level or easy to entry jobs.\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT14M11S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"19126\",\n          \"likeCount\": \"955\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"152\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"P1xDCeg10FY\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-07-09T09:38:56Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Is this the best monitor for coders? | BenQ GW3290QT | Eye-Care Programming Monitor\",\n          \"description\": \"https://www.benq.com/en-in/monitor/home/gw3290qt.html?utm_source=youtube.com&utm_medium=social&utm_campaign=lcd-productivity-review-gw3290qt-hitesh-choudhary-youtube-202306&utm_content=review&utm_term=learn-more\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/P1xDCeg10FY/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/P1xDCeg10FY/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/P1xDCeg10FY/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/P1xDCeg10FY/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/P1xDCeg10FY/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"coding\",\n            \"monitor for coders\",\n            \"vertical monitor\",\n            \"best coding monitor\",\n            \"true color monitor\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Is this the best monitor for coders? | BenQ GW3290QT | Eye-Care Programming Monitor\",\n            \"description\": \"https://www.benq.com/en-in/monitor/home/gw3290qt.html?utm_source=youtube.com&utm_medium=social&utm_campaign=lcd-productivity-review-gw3290qt-hitesh-choudhary-youtube-202306&utm_content=review&utm_term=learn-more\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT13M40S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"15300\",\n          \"likeCount\": \"680\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"67\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"8KgQEk22sYY\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-06-22T18:47:51Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Here is a hack for developers. @getpieces\",\n          \"description\": \"\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/8KgQEk22sYY/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/8KgQEk22sYY/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/8KgQEk22sYY/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/8KgQEk22sYY/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/8KgQEk22sYY/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Here is a hack for developers. @getpieces\",\n            \"description\": \"\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT41S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"19224\",\n          \"likeCount\": \"1595\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"22\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"mPpHs5C-Qaw\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-06-22T12:45:03Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Future is AI and Low code tools | illa cloud\",\n          \"description\": \"Use this link to check out:\\nhttps://bit.ly/44d2Jux\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/mPpHs5C-Qaw/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/mPpHs5C-Qaw/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/mPpHs5C-Qaw/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/mPpHs5C-Qaw/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/mPpHs5C-Qaw/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"cloud\",\n            \"illa cloud\",\n            \"low code\",\n            \"artificial intelligence\",\n            \"appwrite\",\n            \"api\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Future is AI and Low code tools | illa cloud\",\n            \"description\": \"Use this link to check out:\\nhttps://bit.ly/44d2Jux\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT22M41S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"17231\",\n          \"likeCount\": \"447\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"33\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"RdEmvav6ZpE\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-06-17T17:05:17Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Saturday live with Wess from Appwrite | 20+ years of code\",\n          \"description\": \"Welcome to another saturday live for coders. Today I am bringing in Wesley Cope. He is currently at Appwrite, building Next Gen Open Source backend as a service. With so much of experience, post your interesting questions, and I will ask him.\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/RdEmvav6ZpE/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/RdEmvav6ZpE/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/RdEmvav6ZpE/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/RdEmvav6ZpE/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/RdEmvav6ZpE/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"live\", \"coding\", \"appwrite\", \"technology\", \"ai\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Saturday live with Wess from Appwrite | 20+ years of code\",\n            \"description\": \"Welcome to another saturday live for coders. Today I am bringing in Wesley Cope. He is currently at Appwrite, building Next Gen Open Source backend as a service. With so much of experience, post your interesting questions, and I will ask him.\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT1H1S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"5238\",\n          \"likeCount\": \"377\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"5\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"ddWVGyXPgNs\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-06-14T06:19:11Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Reading the docs can be faster than videos 😁 | @Appwrite\",\n          \"description\": \"\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/ddWVGyXPgNs/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/ddWVGyXPgNs/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/ddWVGyXPgNs/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/ddWVGyXPgNs/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/ddWVGyXPgNs/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Reading the docs can be faster than videos 😁 | @Appwrite\",\n            \"description\": \"\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT1M\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"19878\",\n          \"likeCount\": \"1517\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"16\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"y2Fz0dkI4v8\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-06-12T16:50:08Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"This will change DSA and Leetcode preparation forever | Pieces for developers\",\n          \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/y2Fz0dkI4v8/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/y2Fz0dkI4v8/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/y2Fz0dkI4v8/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/y2Fz0dkI4v8/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/y2Fz0dkI4v8/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"python\",\n            \"javascript\",\n            \"Dsa\",\n            \"leetcode\",\n            \"code conversion\",\n            \"pieces for developers\",\n            \"best developer tool\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"This will change DSA and Leetcode preparation forever | Pieces for developers\",\n            \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT16M36S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"51896\",\n          \"likeCount\": \"2112\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"133\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"rWv0zzEYB2w\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-06-07T12:14:23Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Using Appwrite service with custom context in React Native\",\n          \"description\": \"Learn to create custom context of Appwrite in React native so that your whole app knows if the user is logged in or not.\\n\\n\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/rWv0zzEYB2w/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/rWv0zzEYB2w/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/rWv0zzEYB2w/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/rWv0zzEYB2w/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/rWv0zzEYB2w/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"react\",\n            \"react native\",\n            \"appwrite\",\n            \"database as a service\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Using Appwrite service with custom context in React Native\",\n            \"description\": \"Learn to create custom context of Appwrite in React native so that your whole app knows if the user is logged in or not.\\n\\n\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT1H6M31S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"19154\",\n          \"likeCount\": \"119\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"30\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"_uZCOeWCK7g\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-06-06T08:51:11Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Apple vision pro | Developers 1st impression\",\n          \"description\": \"Apple vision pro is an amazing new product line up and new opportunity for developers \\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/_uZCOeWCK7g/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/_uZCOeWCK7g/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/_uZCOeWCK7g/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/_uZCOeWCK7g/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/_uZCOeWCK7g/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"apple\",\n            \"wwdc\",\n            \"apple vision pro\",\n            \"apple 2023\",\n            \"developer\",\n            \"coder\",\n            \"swiftUI\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Apple vision pro | Developers 1st impression\",\n            \"description\": \"Apple vision pro is an amazing new product line up and new opportunity for developers \\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT14M22S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"13872\",\n          \"likeCount\": \"541\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"100\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"cv-6bAeYsOY\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-06-05T13:39:26Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Pieces: An Essential Tool for the Modern Developer's Toolkit\",\n          \"description\": \"Here is a sample snippet that I saved and everyone can use:\\nhttps://hitesh.pieces.cloud/?p=3fcb449271\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/cv-6bAeYsOY/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/cv-6bAeYsOY/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/cv-6bAeYsOY/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/cv-6bAeYsOY/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/cv-6bAeYsOY/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"devops\",\n            \"cloud\",\n            \"pieces\",\n            \"pieces for developers\",\n            \"developers productivity\",\n            \"pieces in vscode\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Pieces: An Essential Tool for the Modern Developer's Toolkit\",\n            \"description\": \"Here is a sample snippet that I saved and everyone can use:\\nhttps://hitesh.pieces.cloud/?p=3fcb449271\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT19M6S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"20990\",\n          \"likeCount\": \"798\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"85\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"zlojM-Jbux4\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-05-22T15:30:14Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Complete Appwrite authentication walkthrough\",\n          \"description\": \"https://hitesh.ai/appwrite\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/zlojM-Jbux4/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/zlojM-Jbux4/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/zlojM-Jbux4/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/zlojM-Jbux4/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/zlojM-Jbux4/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"cloud\",\n            \"appwrite\",\n            \"backend\",\n            \"backend as a service\",\n            \"authentication\",\n            \"auth\",\n            \"react\",\n            \"react native\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Complete Appwrite authentication walkthrough\",\n            \"description\": \"https://hitesh.ai/appwrite\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT43M33S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"23974\",\n          \"likeCount\": \"224\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"39\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"VeSUgWHbphk\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-05-22T09:14:24Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Building a React native app with Appwrite authentication | App demo\",\n          \"description\": \"https://hitesh.ai/appwrite\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/VeSUgWHbphk/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/VeSUgWHbphk/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/VeSUgWHbphk/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/VeSUgWHbphk/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/VeSUgWHbphk/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"cloud\",\n            \"appwrite\",\n            \"authentication\",\n            \"react native\",\n            \"mobile app development\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Building a React native app with Appwrite authentication | App demo\",\n            \"description\": \"https://hitesh.ai/appwrite\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT3M51S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"21531\",\n          \"likeCount\": \"152\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"41\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"BCQwMXZ4Cy8\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-05-18T12:25:38Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Is VSCode Dead ? Zed first look\",\n          \"description\": \"https://zed.dev\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/BCQwMXZ4Cy8/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/BCQwMXZ4Cy8/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/BCQwMXZ4Cy8/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/BCQwMXZ4Cy8/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/BCQwMXZ4Cy8/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"code editor\",\n            \"IDE\",\n            \"vscode\",\n            \"jetbrains\",\n            \"github\",\n            \"zed\",\n            \"zed editor\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Is VSCode Dead ? Zed first look\",\n            \"description\": \"https://zed.dev\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT17M56S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"57050\",\n          \"likeCount\": \"1407\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"187\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"YnOtfyluLBw\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-07-15T06:41:40Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Can we go back to pre tiktok era?\",\n          \"description\": \"\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/YnOtfyluLBw/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/YnOtfyluLBw/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/YnOtfyluLBw/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/YnOtfyluLBw/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/YnOtfyluLBw/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Can we go back to pre tiktok era?\",\n            \"description\": \"\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT47S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"8152\",\n          \"likeCount\": \"438\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"18\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"zLdcmJDIXt8\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-05-16T13:01:32Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Get Postman in your VSCode | 1st look\",\n          \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/zLdcmJDIXt8/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/zLdcmJDIXt8/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/zLdcmJDIXt8/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/zLdcmJDIXt8/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/zLdcmJDIXt8/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"Programming\", \"python\", \"javascript\", \"devops\", \"cloud\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Get Postman in your VSCode | 1st look\",\n            \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT7M58S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"14158\",\n          \"likeCount\": \"458\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"113\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"N5EbQyRUFYs\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-05-16T11:01:18Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"10000 USD for Appwrite online hackathon\",\n          \"description\": \"https://hitesh.ai/hackathon\\nhttps://hitesh.ai/appwrite\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/N5EbQyRUFYs/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/N5EbQyRUFYs/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/N5EbQyRUFYs/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/N5EbQyRUFYs/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/N5EbQyRUFYs/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"cloud\",\n            \"appwrite\",\n            \"hackathon\",\n            \"web developer\",\n            \"mobile developer\",\n            \"backend as a service\",\n            \"win cash\",\n            \"coders\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"10000 USD for Appwrite online hackathon\",\n            \"description\": \"https://hitesh.ai/hackathon\\nhttps://hitesh.ai/appwrite\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT6M55S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"9032\",\n          \"likeCount\": \"448\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"47\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"uRqSJ8eqFII\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-05-11T08:05:16Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"What projects should you build to get hire?\",\n          \"description\": \"\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/uRqSJ8eqFII/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/uRqSJ8eqFII/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/uRqSJ8eqFII/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/uRqSJ8eqFII/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/uRqSJ8eqFII/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"What projects should you build to get hire?\",\n            \"description\": \"\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT1M\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"19165\",\n          \"likeCount\": \"1653\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"28\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"daURe-AI5qQ\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-05-10T13:30:15Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Code Like a Pro | Setting Up Your MacBook Air M2 for Development in 2023\",\n          \"description\": \"A really long video showing my setup of a new Apple Macbook Air M2 machine. I will be using it for all of my mobile development videos, python work for college and Javascript fun on this channel.\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/daURe-AI5qQ/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/daURe-AI5qQ/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/daURe-AI5qQ/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/daURe-AI5qQ/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/daURe-AI5qQ/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"Programming\", \"python\", \"javascript\", \"devops\", \"cloud\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Code Like a Pro | Setting Up Your MacBook Air M2 for Development in 2023\",\n            \"description\": \"A really long video showing my setup of a new Apple Macbook Air M2 machine. I will be using it for all of my mobile development videos, python work for college and Javascript fun on this channel.\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT56M20S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"27999\",\n          \"likeCount\": \"705\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"90\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"ZHfkaaUjj8o\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-05-06T16:53:01Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Learn this to become future proof software developer\",\n          \"description\": \"\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/ZHfkaaUjj8o/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/ZHfkaaUjj8o/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/ZHfkaaUjj8o/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/ZHfkaaUjj8o/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/ZHfkaaUjj8o/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Learn this to become future proof software developer\",\n            \"description\": \"\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT32S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"32095\",\n          \"likeCount\": \"2155\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"30\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"brTO1smAI04\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-05-06T16:49:27Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Keep this in mind for open source contribution #opensource\",\n          \"description\": \"\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/brTO1smAI04/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/brTO1smAI04/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/brTO1smAI04/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/brTO1smAI04/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/brTO1smAI04/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Keep this in mind for open source contribution #opensource\",\n            \"description\": \"\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT1M1S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"8991\",\n          \"likeCount\": \"613\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"0\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"7MwkKBqy3oM\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-05-06T16:26:59Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Saturday live Podcast for coders 🔥\",\n          \"description\": \"Just talk about code and code realted stuff\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/7MwkKBqy3oM/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/7MwkKBqy3oM/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/7MwkKBqy3oM/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/7MwkKBqy3oM/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/7MwkKBqy3oM/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"24\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Saturday live Podcast for coders 🔥\",\n            \"description\": \"Just talk about code and code realted stuff\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT47M45S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"7444\",\n          \"likeCount\": \"361\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"12\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"s4ZUkwe0ZTI\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-05-04T11:18:30Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Say Goodbye to Python and Hello to Mojo\",\n          \"description\": \"https://www.modular.com/mojo\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/s4ZUkwe0ZTI/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/s4ZUkwe0ZTI/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/s4ZUkwe0ZTI/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/s4ZUkwe0ZTI/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/s4ZUkwe0ZTI/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"python\",\n            \"Programming languages\",\n            \"Python\",\n            \"Mojo\",\n            \"Coding\",\n            \"Computer science\",\n            \"Software development\",\n            \"Python alternatives\",\n            \"Programming tools\",\n            \"Python vs Mojo\",\n            \"Tech industry\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Say Goodbye to Python and Hello to Mojo\",\n            \"description\": \"https://www.modular.com/mojo\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT8M45S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"98500\",\n          \"likeCount\": \"2551\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"225\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"9BfMfDJpbjI\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-05-03T18:30:11Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Creating components to display mobile in react native\",\n          \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/9BfMfDJpbjI/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/9BfMfDJpbjI/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/9BfMfDJpbjI/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/9BfMfDJpbjI/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/9BfMfDJpbjI/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"python\",\n            \"javascript\",\n            \"devops\",\n            \"cloud\",\n            \"React-native\",\n            \"react\",\n            \"hashnode\",\n            \"android\",\n            \"mobile apps\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Creating components to display mobile in react native\",\n            \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT10M31S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"6098\",\n          \"likeCount\": \"69\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"12\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"iZloRI4LVYY\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-05-03T15:30:08Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"These IITians are doing crazy thing to learn web development\",\n          \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/iZloRI4LVYY/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/iZloRI4LVYY/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/iZloRI4LVYY/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/iZloRI4LVYY/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/iZloRI4LVYY/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"python\",\n            \"javascript\",\n            \"devops\",\n            \"cloud\",\n            \"IIT\",\n            \"IITian\",\n            \"Learning story\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"These IITians are doing crazy thing to learn web development\",\n            \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT8M32S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"88056\",\n          \"likeCount\": \"4332\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"295\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"k24F_CNTx3Q\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-05-02T17:16:06Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"AI is getting scary\",\n          \"description\": \"\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/k24F_CNTx3Q/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/k24F_CNTx3Q/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/k24F_CNTx3Q/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/k24F_CNTx3Q/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/k24F_CNTx3Q/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": { \"title\": \"AI is getting scary\", \"description\": \"\" },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT34S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"9798\",\n          \"likeCount\": \"437\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"5\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"Q5lqT7bHoV0\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-05-02T14:30:10Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Project 10 in react native\",\n          \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/Q5lqT7bHoV0/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/Q5lqT7bHoV0/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/Q5lqT7bHoV0/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/Q5lqT7bHoV0/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/Q5lqT7bHoV0/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"python\",\n            \"javascript\",\n            \"devops\",\n            \"cloud\",\n            \"React-native\",\n            \"react\",\n            \"hashnode\",\n            \"android\",\n            \"mobile apps\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Project 10 in react native\",\n            \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT1M50S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"6605\",\n          \"likeCount\": \"90\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"20\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"-Qj6krbHU7w\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-05-02T12:07:58Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"God Father of AI warns about AI risks\",\n          \"description\": \"Article Link:\\nhttps://www.nytimes.com/2023/05/01/technology/ai-google-chatbot-engineer-quits-hinton.html\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/-Qj6krbHU7w/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/-Qj6krbHU7w/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/-Qj6krbHU7w/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/-Qj6krbHU7w/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/-Qj6krbHU7w/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"artificial intelligence\",\n            \"machine learning\",\n            \"chatgpt\",\n            \"AI\",\n            \"AI jobs\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"God Father of AI warns about AI risks\",\n            \"description\": \"Article Link:\\nhttps://www.nytimes.com/2023/05/01/technology/ai-google-chatbot-engineer-quits-hinton.html\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT12M46S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"75484\",\n          \"likeCount\": \"2842\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"217\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"dAsxCAQogwA\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-04-30T14:30:11Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Setting up Home screen for navigation in react native\",\n          \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/dAsxCAQogwA/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/dAsxCAQogwA/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/dAsxCAQogwA/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/dAsxCAQogwA/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/dAsxCAQogwA/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"python\",\n            \"javascript\",\n            \"devops\",\n            \"cloud\",\n            \"React-native\",\n            \"react\",\n            \"hashnode\",\n            \"android\",\n            \"mobile apps\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Setting up Home screen for navigation in react native\",\n            \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT10M51S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"7105\",\n          \"likeCount\": \"80\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"5\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"KMJE_0ybg9E\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-04-29T14:30:06Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Learn react native navigation basics\",\n          \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/KMJE_0ybg9E/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/KMJE_0ybg9E/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/KMJE_0ybg9E/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/KMJE_0ybg9E/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/KMJE_0ybg9E/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"python\",\n            \"javascript\",\n            \"devops\",\n            \"cloud\",\n            \"React-native\",\n            \"react\",\n            \"hashnode\",\n            \"android\",\n            \"mobile apps\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Learn react native navigation basics\",\n            \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT18M33S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"7925\",\n          \"likeCount\": \"130\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"8\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"c_7ukxJz1wE\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-04-28T15:55:56Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Introduction to react native navigation\",\n          \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/c_7ukxJz1wE/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/c_7ukxJz1wE/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/c_7ukxJz1wE/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/c_7ukxJz1wE/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/c_7ukxJz1wE/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"python\",\n            \"javascript\",\n            \"devops\",\n            \"cloud\",\n            \"React-native\",\n            \"react\",\n            \"hashnode\",\n            \"android\",\n            \"mobile apps\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Introduction to react native navigation\",\n            \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT10M45S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"11105\",\n          \"likeCount\": \"174\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"13\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"t-f0aYdg8Hw\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-04-28T14:09:06Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Use this loader hack in your website. Save it, share it.\",\n          \"description\": \"\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/t-f0aYdg8Hw/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/t-f0aYdg8Hw/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/t-f0aYdg8Hw/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/t-f0aYdg8Hw/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/t-f0aYdg8Hw/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Use this loader hack in your website. Save it, share it.\",\n            \"description\": \"\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT58S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"32210\",\n          \"likeCount\": \"2553\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"15\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"Wy2s73ofwDA\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-04-28T11:12:52Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Secure Your Digital Life: A Guide to Setting Up Passbolt Open Source Password Manager\",\n          \"description\": \"Hey everyone! If you're enjoying this video, don't forget to visit their website for more amazing content like this. While you're there, be sure to check out their GitHub repositories and give them a star to show your support.\\n\\nAnd here's a special treat - use code HITESH-CHOUDHARY to get a 20% discount on all our products and services. So, what are you waiting for? Head to their website now and take advantage of this exclusive offer!\\\"\\n\\nGithub link :- https://github.com/orgs/passbolt/repositories.\\n\\nhttps://www.passbolt.com\\n\\n\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/Wy2s73ofwDA/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/Wy2s73ofwDA/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/Wy2s73ofwDA/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/Wy2s73ofwDA/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/Wy2s73ofwDA/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"Passbolt\",\n            \"password manager\",\n            \"open-source\",\n            \"cybersecurity\",\n            \"data security\",\n            \"digital privacy\",\n            \"self-hosted\",\n            \"encryption\",\n            \"online privacy\",\n            \"online security\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Secure Your Digital Life: A Guide to Setting Up Passbolt Open Source Password Manager\",\n            \"description\": \"Hey everyone! If you're enjoying this video, don't forget to visit their website for more amazing content like this. While you're there, be sure to check out their GitHub repositories and give them a star to show your support.\\n\\nAnd here's a special treat - use code HITESH-CHOUDHARY to get a 20% discount on all our products and services. So, what are you waiting for? Head to their website now and take advantage of this exclusive offer!\\\"\\n\\nGithub link :- https://github.com/orgs/passbolt/repositories.\\n\\nhttps://www.passbolt.com\\n\\n\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT14M23S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"29357\",\n          \"likeCount\": \"236\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"14\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"wpfE9XQuMBI\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-04-27T10:16:27Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Roadmap to build your frontend portfolio with example projects\",\n          \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/wpfE9XQuMBI/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/wpfE9XQuMBI/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/wpfE9XQuMBI/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/wpfE9XQuMBI/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/wpfE9XQuMBI/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"Programming\", \"python\", \"javascript\", \"devops\", \"cloud\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Roadmap to build your frontend portfolio with example projects\",\n            \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT11M38S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"45716\",\n          \"likeCount\": \"3216\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"371\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"dif57eOnU4E\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-04-22T18:18:41Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Saturday Tech Talk: Join us for Discussions on the Latest Programming Trends 🔥\",\n          \"description\": \"\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/dif57eOnU4E/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/dif57eOnU4E/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/dif57eOnU4E/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/dif57eOnU4E/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/dif57eOnU4E/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"24\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Saturday Tech Talk: Join us for Discussions on the Latest Programming Trends 🔥\",\n            \"description\": \"\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT1H17M40S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"5954\",\n          \"likeCount\": \"312\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"15\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"w6FbSbvYlp8\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-04-22T08:06:43Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Oracle owns Javascript and is sending notices\",\n          \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/w6FbSbvYlp8/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/w6FbSbvYlp8/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/w6FbSbvYlp8/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/w6FbSbvYlp8/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/w6FbSbvYlp8/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"Programming\", \"javascript\", \"oracle\", \"notice\", \"java\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Oracle owns Javascript and is sending notices\",\n            \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT4M14S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"89994\",\n          \"likeCount\": \"1920\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"251\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"6-AasXEBr6k\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-04-19T13:30:02Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"DevUI updates | Open Source\",\n          \"description\": \"https://devui.io\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/6-AasXEBr6k/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/6-AasXEBr6k/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/6-AasXEBr6k/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/6-AasXEBr6k/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/6-AasXEBr6k/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"devui\",\n            \"open source\",\n            \"front end\",\n            \"reactjs\",\n            \"tailwind\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"DevUI updates | Open Source\",\n            \"description\": \"https://devui.io\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT4M39S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"6971\",\n          \"likeCount\": \"367\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"37\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"eCkPGsqn4xw\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-04-12T15:59:31Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"React native track player | reading docs\",\n          \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/eCkPGsqn4xw/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/eCkPGsqn4xw/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/eCkPGsqn4xw/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/eCkPGsqn4xw/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/eCkPGsqn4xw/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"python\",\n            \"javascript\",\n            \"devops\",\n            \"cloud\",\n            \"React-native\",\n            \"react\",\n            \"hashnode\",\n            \"android\",\n            \"mobile apps\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"React native track player | reading docs\",\n            \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT8M45S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"7274\",\n          \"likeCount\": \"50\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"1\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"yqMKsKzUanU\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-04-12T15:59:13Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Project 8 | Building a Spotify inspired app in react native\",\n          \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/yqMKsKzUanU/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/yqMKsKzUanU/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/yqMKsKzUanU/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/yqMKsKzUanU/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/yqMKsKzUanU/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"python\",\n            \"javascript\",\n            \"React-native\",\n            \"react\",\n            \"hashnode\",\n            \"android\",\n            \"mobile apps\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Project 8 | Building a Spotify inspired app in react native\",\n            \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT4M2S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"7190\",\n          \"likeCount\": \"98\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"2\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"lpCwIPFGMkQ\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-04-12T16:00:09Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Slider and album info in react native\",\n          \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/lpCwIPFGMkQ/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/lpCwIPFGMkQ/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/lpCwIPFGMkQ/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/lpCwIPFGMkQ/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/lpCwIPFGMkQ/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"python\",\n            \"javascript\",\n            \"React-native\",\n            \"react\",\n            \"hashnode\",\n            \"android\",\n            \"mobile apps\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Slider and album info in react native\",\n            \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT11M39S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"6342\",\n          \"likeCount\": \"35\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"4\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"ShIND2eR1Z0\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-04-12T15:58:42Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"FontAwesome icons in react native\",\n          \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/ShIND2eR1Z0/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/ShIND2eR1Z0/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/ShIND2eR1Z0/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/ShIND2eR1Z0/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/ShIND2eR1Z0/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"python\",\n            \"javascript\",\n            \"React-native\",\n            \"react\",\n            \"hashnode\",\n            \"android\",\n            \"mobile apps\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"FontAwesome icons in react native\",\n            \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT13M43S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"8796\",\n          \"likeCount\": \"72\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"4\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"Hb5rh9vXNyY\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-04-01T04:05:29Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Social Media Revolution Launch\",\n          \"description\": \"https://www.pw.live/\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/Hb5rh9vXNyY/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/Hb5rh9vXNyY/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/Hb5rh9vXNyY/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/Hb5rh9vXNyY/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/Hb5rh9vXNyY/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"python\",\n            \"javascript\",\n            \"devops\",\n            \"april\",\n            \"april fool\",\n            \"prank\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Social Media Revolution Launch\",\n            \"description\": \"https://www.pw.live/\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT4M40S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"13260\",\n          \"likeCount\": \"830\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"209\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"ItKjzteWXFg\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-03-24T12:12:05Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"#harpaymentdigital is a great initiative by RBI. It’s a milestone by India\",\n          \"description\": \"\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/ItKjzteWXFg/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/ItKjzteWXFg/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/ItKjzteWXFg/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/ItKjzteWXFg/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/ItKjzteWXFg/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"#harpaymentdigital is a great initiative by RBI. It’s a milestone by India\",\n            \"description\": \"\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT54S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"17536\",\n          \"likeCount\": \"1901\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"28\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"-4jSSxoGOSs\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-03-22T09:06:50Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Here is an security first, open source password manager. #passbolt\",\n          \"description\": \"\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/-4jSSxoGOSs/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/-4jSSxoGOSs/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/-4jSSxoGOSs/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/-4jSSxoGOSs/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/-4jSSxoGOSs/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Here is an security first, open source password manager. #passbolt\",\n            \"description\": \"\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT1M1S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"10444\",\n          \"likeCount\": \"568\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"7\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"j0mJLvHvTjc\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-03-18T10:50:52Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"competitive programming is killing C++\",\n          \"description\": \"This video is not to restart fight of Dev or CP. It's not a meaningful conversation to have. This video is about exploring cpp as a language to build something, do something creative instead of just doing CP with it. CP is fun but core essence of learning a programming language is to build something out of it. If you are not building something, there is something wrong in your learning approach.\\nYou might not agree with me and it's ok. Challenge the idea, not the person.\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/j0mJLvHvTjc/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/j0mJLvHvTjc/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/j0mJLvHvTjc/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/j0mJLvHvTjc/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/j0mJLvHvTjc/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"Programming\", \"cp\", \"leetcode\", \"cpp\", \"C++\", \"coding\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"competitive programming is killing C++\",\n            \"description\": \"This video is not to restart fight of Dev or CP. It's not a meaningful conversation to have. This video is about exploring cpp as a language to build something, do something creative instead of just doing CP with it. CP is fun but core essence of learning a programming language is to build something out of it. If you are not building something, there is something wrong in your learning approach.\\nYou might not agree with me and it's ok. Challenge the idea, not the person.\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT11M29S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"39729\",\n          \"likeCount\": \"2040\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"206\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"M5PWvT3Rt94\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-03-17T12:30:08Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"My issue with new React docs\",\n          \"description\": \"Facebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/M5PWvT3Rt94/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/M5PWvT3Rt94/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/M5PWvT3Rt94/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/M5PWvT3Rt94/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/M5PWvT3Rt94/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"Programming\", \"javascript\", \"react\", \"react docs\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"My issue with new React docs\",\n            \"description\": \"Facebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT5M24S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"19036\",\n          \"likeCount\": \"822\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"89\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"mJomfTfOJUQ\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-03-08T14:30:08Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Let's build a react native app with debugging in 1 shot | Project 4\",\n          \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/mJomfTfOJUQ/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/mJomfTfOJUQ/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/mJomfTfOJUQ/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/mJomfTfOJUQ/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/mJomfTfOJUQ/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"react-native\",\n            \"react\",\n            \"mobile app developer\",\n            \"hashnode\",\n            \"tech blogs\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Let's build a react native app with debugging in 1 shot | Project 4\",\n            \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT28M43S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"13452\",\n          \"likeCount\": \"187\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"10\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"BayDYRigP5I\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-03-07T14:30:10Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Debugging React Native Apps\",\n          \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/BayDYRigP5I/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/BayDYRigP5I/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/BayDYRigP5I/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/BayDYRigP5I/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/BayDYRigP5I/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"React-native\",\n            \"react\",\n            \"hashnode\",\n            \"android\",\n            \"mobile apps\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Debugging React Native Apps\",\n            \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT4M17S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"19129\",\n          \"likeCount\": \"189\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"14\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"molTIg-zvGI\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-03-06T14:30:08Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Formik React Native Crash Course\",\n          \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/molTIg-zvGI/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/molTIg-zvGI/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/molTIg-zvGI/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/molTIg-zvGI/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/molTIg-zvGI/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"React-native\",\n            \"react\",\n            \"hashnode\",\n            \"android\",\n            \"mobile apps\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Formik React Native Crash Course\",\n            \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT36M56S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"13617\",\n          \"likeCount\": \"257\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"18\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"iOvs_dsbm2M\",\n        \"snippet\": {\n          \"publishedAt\": \"2021-05-16T05:29:29Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"How signal app is doing in your phone?\",\n          \"description\": \"\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/iOvs_dsbm2M/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/iOvs_dsbm2M/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/iOvs_dsbm2M/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/iOvs_dsbm2M/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/iOvs_dsbm2M/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"How signal app is doing in your phone?\",\n            \"description\": \"\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT19S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"32604\",\n          \"likeCount\": \"1219\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"300\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"vHYuQacSnzo\",\n        \"snippet\": {\n          \"publishedAt\": \"2019-05-29T02:30:00Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"BlueBird and Q promises\",\n          \"description\": \"Complete course on MongoDB is available for free, with exercise files at\\nhttps://courses.learncodeonline.in/learn/Learn-MongoDB-basics\\n\\n\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hitesh0141\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\n\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/vHYuQacSnzo/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/vHYuQacSnzo/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/vHYuQacSnzo/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/vHYuQacSnzo/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/vHYuQacSnzo/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"LearnCodeOnline\",\n            \"mongo\",\n            \"mongoDB\",\n            \"mongoDB tutorials\",\n            \"mocha\",\n            \"projects in mongoDB\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"BlueBird and Q promises\",\n            \"description\": \"Complete course on MongoDB is available for free, with exercise files at\\nhttps://courses.learncodeonline.in/learn/Learn-MongoDB-basics\\n\\n\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hitesh0141\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\n\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT4M31S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"8519\",\n          \"likeCount\": \"181\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"14\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"rj0L3XBo8Jg\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-06-18T17:44:17Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"That’s one great memory 😁\",\n          \"description\": \"\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/rj0L3XBo8Jg/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/rj0L3XBo8Jg/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/rj0L3XBo8Jg/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/rj0L3XBo8Jg/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/rj0L3XBo8Jg/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"That’s one great memory 😁\",\n            \"description\": \"\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT19S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"30070\",\n          \"likeCount\": \"1120\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"20\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"-5WLKu_J_AE\",\n        \"snippet\": {\n          \"publishedAt\": \"2020-10-12T06:52:38Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"How to install chocolatey in Windows\",\n          \"description\": \"A quick and fast video on How to install Chocolatey on Windows. Chocolatey is like a package manager but for windows. It helps you to install software really fast and in an easy manner. It also sets required paths and uninstallation is breeze too.\\nEnjoy this rapid installation video and share it too.\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/-5WLKu_J_AE/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/-5WLKu_J_AE/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/-5WLKu_J_AE/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/-5WLKu_J_AE/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/-5WLKu_J_AE/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"LearnCodeOnline\",\n            \"chocolatey\",\n            \"windows chocolatey\",\n            \"chocolatey install\",\n            \"how to\",\n            \"install chocolatey on windows 10\",\n            \"windows package manager\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"How to install chocolatey in Windows\",\n            \"description\": \"A quick and fast video on How to install Chocolatey on Windows. Chocolatey is like a package manager but for windows. It helps you to install software really fast and in an easy manner. It also sets required paths and uninstallation is breeze too.\\nEnjoy this rapid installation video and share it too.\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT1M22S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"80617\",\n          \"likeCount\": \"2054\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"165\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"6wFVxSw2seY\",\n        \"snippet\": {\n          \"publishedAt\": \"2017-05-19T13:06:52Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"LearnCodeonline.in is finally here\",\n          \"description\": \"http://www.LearnCodeOnline.in is finally here to help you to learn programming, web development, iOS development, react and nodejs development and pentesting too.\\n\\nAll courses are offered at almost 90% discount. Grab them and learn code online\\n\\nfb: https://www.facebook.com/HiteshChoudharyPage\\nhomepage: http://www.hiteshChoudhary.com\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/6wFVxSw2seY/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/6wFVxSw2seY/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/6wFVxSw2seY/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/6wFVxSw2seY/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/6wFVxSw2seY/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"computers\",\n            \"code\",\n            \"hacking\",\n            \"information\",\n            \"Security\",\n            \"iOS\",\n            \"iPhone\",\n            \"udemy\",\n            \"online-courses\",\n            \"coupons\",\n            \"free-coupons\",\n            \"udemy-coupons\",\n            \"udemy-courses\",\n            \"android\",\n            \"iphone\",\n            \"reactjs\",\n            \"web-development\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"LearnCodeonline.in is finally here\",\n            \"description\": \"http://www.LearnCodeOnline.in is finally here to help you to learn programming, web development, iOS development, react and nodejs development and pentesting too.\\n\\nAll courses are offered at almost 90% discount. Grab them and learn code online\\n\\nfb: https://www.facebook.com/HiteshChoudharyPage\\nhomepage: http://www.hiteshChoudhary.com\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT2M54S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"4408\",\n          \"likeCount\": \"197\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"119\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"-LeV_c1zG-s\",\n        \"snippet\": {\n          \"publishedAt\": \"2019-08-13T08:37:31Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"What is Docker? Easy way\",\n          \"description\": \"To understand What is Docker, first we need to understand the problem statement. Docker solves a classic problem of development and deployment, It works on my machine. \\nCode works fine on developer machine but as soon as it is deployed, it doesn't works like it was expected.\\nThen starts the blame game.\\nDocker solves this issue. Not only this, docker helps in teaching code too. I have used docker many times in past and it surely saves a lot of time.\\nLink to public docker container:\\nhttps://hub.docker.com/r/hiteshchoudhary/hello_crow\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/-LeV_c1zG-s/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/-LeV_c1zG-s/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/-LeV_c1zG-s/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/-LeV_c1zG-s/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/-LeV_c1zG-s/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"LearnCodeOnline\",\n            \"Docker\",\n            \"what is docker\",\n            \"docker contaniner\",\n            \"docker for beginners\",\n            \"containers\",\n            \"docker vs VM\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"What is Docker? Easy way\",\n            \"description\": \"To understand What is Docker, first we need to understand the problem statement. Docker solves a classic problem of development and deployment, It works on my machine. \\nCode works fine on developer machine but as soon as it is deployed, it doesn't works like it was expected.\\nThen starts the blame game.\\nDocker solves this issue. Not only this, docker helps in teaching code too. I have used docker many times in past and it surely saves a lot of time.\\nLink to public docker container:\\nhttps://hub.docker.com/r/hiteshchoudhary/hello_crow\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT7M34S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"true\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"557159\",\n          \"likeCount\": \"16790\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"845\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"WuH0T9FHDZ4\",\n        \"snippet\": {\n          \"publishedAt\": \"2020-12-16T05:42:17Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"What is Nginx | easy way\",\n          \"description\": \"Nginx is a high-performance HTTP server but this doesn't give us a clear picture that why one should use it or what problem nginx is trying to solve. Surely Nginx can be seen at many high visibility sites like Netflix but the question still remains the same, Why are they using Nginx.\\nThis video will clearn your basics about Nginx\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/WuH0T9FHDZ4/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/WuH0T9FHDZ4/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/WuH0T9FHDZ4/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/WuH0T9FHDZ4/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/WuH0T9FHDZ4/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"LearnCodeOnline\",\n            \"nginx\",\n            \"what is nginx\",\n            \"why to use nginx\",\n            \"hosting MEAN MERN\",\n            \"mern to production\",\n            \"mean to production\",\n            \"load balancing\",\n            \"http server\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"What is Nginx | easy way\",\n            \"description\": \"Nginx is a high-performance HTTP server but this doesn't give us a clear picture that why one should use it or what problem nginx is trying to solve. Surely Nginx can be seen at many high visibility sites like Netflix but the question still remains the same, Why are they using Nginx.\\nThis video will clearn your basics about Nginx\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT6M42S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"171688\",\n          \"likeCount\": \"6500\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"465\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"_Gpe1Zn-1fE\",\n        \"snippet\": {\n          \"publishedAt\": \"2019-08-16T09:57:14Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"What is DevOps? Easy way\",\n          \"description\": \"What is DevOps? This DevOps is the most heard Buzz word in the tech industry. People want to become DevOps engineers but don't know where to start. Most beginners think that DevOps is technology or tools or a programming language that they can learn and become a DevOps engineer. But DevOps does not work like that.\\n\\nDevOps is a mindset, a way of working for an organization so that new features reach to the users as quickly as possible and smoothly too. In this video, I will talk about DevOps philosophy and how it helps any organization.\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/_Gpe1Zn-1fE/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/_Gpe1Zn-1fE/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/_Gpe1Zn-1fE/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/_Gpe1Zn-1fE/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/_Gpe1Zn-1fE/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"LearnCodeOnline\",\n            \"devops\",\n            \"what is devops\",\n            \"DevOps\",\n            \"DevOps Engineer\",\n            \"DevOps Manager\",\n            \"How to become DevOps\",\n            \"devops tutorial\",\n            \"devops tools\",\n            \"devops training\",\n            \"devops interview\",\n            \"devops project\",\n            \"devops automation\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"What is DevOps? Easy way\",\n            \"description\": \"What is DevOps? This DevOps is the most heard Buzz word in the tech industry. People want to become DevOps engineers but don't know where to start. Most beginners think that DevOps is technology or tools or a programming language that they can learn and become a DevOps engineer. But DevOps does not work like that.\\n\\nDevOps is a mindset, a way of working for an organization so that new features reach to the users as quickly as possible and smoothly too. In this video, I will talk about DevOps philosophy and how it helps any organization.\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT9M6S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"859999\",\n          \"likeCount\": \"29546\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"1301\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"hJw8Sy13Vp8\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-02-15T13:41:58Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"What is Kubernetes ? Easy way\",\n          \"description\": \"Kubernetes can be an absolute jargon to understand at first look, even to seasoned developers. In this video, I will explain what is kubernetes in an easy to understand manner so that everyone can understand it. After this video you will have full what why and of kubernetes.\\nEnjoy the video.\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/hJw8Sy13Vp8/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/hJw8Sy13Vp8/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/hJw8Sy13Vp8/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/hJw8Sy13Vp8/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/hJw8Sy13Vp8/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"kubernetes\", \"devops\", \"cloud\", \"aws\", \"gcp\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"What is Kubernetes ? Easy way\",\n            \"description\": \"Kubernetes can be an absolute jargon to understand at first look, even to seasoned developers. In this video, I will explain what is kubernetes in an easy to understand manner so that everyone can understand it. After this video you will have full what why and of kubernetes.\\nEnjoy the video.\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT6M24S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"51662\",\n          \"likeCount\": \"2083\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"110\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"M5PWvT3Rt94\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-03-17T12:30:08Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"My issue with new React docs\",\n          \"description\": \"Facebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/M5PWvT3Rt94/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/M5PWvT3Rt94/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/M5PWvT3Rt94/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/M5PWvT3Rt94/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/M5PWvT3Rt94/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"Programming\", \"javascript\", \"react\", \"react docs\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"My issue with new React docs\",\n            \"description\": \"Facebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT5M24S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"19036\",\n          \"likeCount\": \"822\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"89\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"xsAz24z4Hdg\",\n        \"snippet\": {\n          \"publishedAt\": \"2021-09-12T11:30:25Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Handling time in golang\",\n          \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/xsAz24z4Hdg/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/xsAz24z4Hdg/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/xsAz24z4Hdg/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/xsAz24z4Hdg/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/xsAz24z4Hdg/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"LearnCodeOnline\",\n            \"python\",\n            \"javascript\",\n            \"go\",\n            \"golang\",\n            \"go programming language\",\n            \"learn golang\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Handling time in golang\",\n            \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT11M44S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"27228\",\n          \"likeCount\": \"575\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"37\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"zYIZtbyUIDY\",\n        \"snippet\": {\n          \"publishedAt\": \"2021-09-07T11:30:22Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Comma ok syntax and packages in golang\",\n          \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/zYIZtbyUIDY/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/zYIZtbyUIDY/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/zYIZtbyUIDY/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/zYIZtbyUIDY/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/zYIZtbyUIDY/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"LearnCodeOnline\",\n            \"python\",\n            \"javascript\",\n            \"go\",\n            \"golang\",\n            \"learn golang\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Comma ok syntax and packages in golang\",\n            \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT11M41S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"34414\",\n          \"likeCount\": \"751\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"38\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"9vxsO5vMTAw\",\n        \"snippet\": {\n          \"publishedAt\": \"2021-09-13T11:30:02Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Build for windows, linux and mac\",\n          \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/9vxsO5vMTAw/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/9vxsO5vMTAw/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/9vxsO5vMTAw/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/9vxsO5vMTAw/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/9vxsO5vMTAw/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"LearnCodeOnline\",\n            \"python\",\n            \"javascript\",\n            \"go\",\n            \"golang\",\n            \"learn golang\",\n            \"go programming language\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Build for windows, linux and mac\",\n            \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT3M46S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"19146\",\n          \"likeCount\": \"451\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"30\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"3j43y-PFJPI\",\n        \"snippet\": {\n          \"publishedAt\": \"2021-09-08T11:30:01Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Conversions in golang\",\n          \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/3j43y-PFJPI/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/3j43y-PFJPI/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/3j43y-PFJPI/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/3j43y-PFJPI/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/3j43y-PFJPI/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"LearnCodeOnline\",\n            \"python\",\n            \"javascript\",\n            \"go\",\n            \"golang\",\n            \"go programming language\",\n            \"learn golang\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Conversions in golang\",\n            \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT10M33S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"28331\",\n          \"likeCount\": \"768\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"39\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"QEZlivtFOZk\",\n        \"snippet\": {\n          \"publishedAt\": \"2021-09-03T11:30:11Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"GOPATH and reading go docs\",\n          \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/QEZlivtFOZk/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/QEZlivtFOZk/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/QEZlivtFOZk/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/QEZlivtFOZk/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/QEZlivtFOZk/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"LearnCodeOnline\",\n            \"python\",\n            \"javascript\",\n            \"go\",\n            \"golang\",\n            \"learn go\",\n            \"go programming language\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"GOPATH and reading go docs\",\n            \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT7M10S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"46803\",\n          \"likeCount\": \"1081\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"41\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"F3klnY_r8FU\",\n        \"snippet\": {\n          \"publishedAt\": \"2021-09-01T11:30:06Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Before you start with golang\",\n          \"description\": \"Welcome to the series on golang. In this video, we will clear the basics of golang, and mostly we will answer some most common questions that you should know before getting started with golang.\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/F3klnY_r8FU/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/F3klnY_r8FU/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/F3klnY_r8FU/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/F3klnY_r8FU/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/F3klnY_r8FU/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"LearnCodeOnline\",\n            \"python\",\n            \"javascript\",\n            \"golang\",\n            \"learn go\",\n            \"go programming language\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Before you start with golang\",\n            \"description\": \"Welcome to the series on golang. In this video, we will clear the basics of golang, and mostly we will answer some most common questions that you should know before getting started with golang.\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT7M53S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"108525\",\n          \"likeCount\": \"2709\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"92\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"62qGe9yhiJI\",\n        \"snippet\": {\n          \"publishedAt\": \"2021-09-02T11:30:01Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Golang installation and hello world\",\n          \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/62qGe9yhiJI/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/62qGe9yhiJI/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/62qGe9yhiJI/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/62qGe9yhiJI/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/62qGe9yhiJI/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"LearnCodeOnline\",\n            \"python\",\n            \"javascript\",\n            \"go\",\n            \"golang\",\n            \"learn go programming\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Golang installation and hello world\",\n            \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT11M44S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"70831\",\n          \"likeCount\": \"1409\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"82\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"9fYqg6uo-UU\",\n        \"snippet\": {\n          \"publishedAt\": \"2021-09-06T11:30:02Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Variables, types and constants\",\n          \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/9fYqg6uo-UU/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/9fYqg6uo-UU/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/9fYqg6uo-UU/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/9fYqg6uo-UU/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/9fYqg6uo-UU/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"LearnCodeOnline\",\n            \"python\",\n            \"javascript\",\n            \"go\",\n            \"golang\",\n            \"go programming language\",\n            \"learn golang\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Variables, types and constants\",\n            \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT17M29S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"40748\",\n          \"likeCount\": \"1015\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"50\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"elYPAeX9h1E\",\n        \"snippet\": {\n          \"publishedAt\": \"2021-09-05T11:30:05Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Lexer in golang and Types\",\n          \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/elYPAeX9h1E/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/elYPAeX9h1E/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/elYPAeX9h1E/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/elYPAeX9h1E/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/elYPAeX9h1E/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"LearnCodeOnline\",\n            \"python\",\n            \"javascript\",\n            \"go\",\n            \"golang\",\n            \"go programming language\",\n            \"golang api\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Lexer in golang and Types\",\n            \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT7M28S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"37785\",\n          \"likeCount\": \"973\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"26\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"NPKEncE2mW0\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-02-12T16:45:05Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Saturday live for coders\",\n          \"description\": \"Welcome to another Saturday live where I try to answer all of your tech questions. This saturday live is more interesting as we have a guest today. Sudhanshu Kumar.\\nSudhanshu got a great experince in modern edtech. From code to Hardwares like drone.\\n\\nSudhanshu is also a Founder of edtech company iNeuron.\\niNeuron has launched the world's first OTT platform for education - \\\"One Neuron\\\".\\nUnder One Neuron we provide :\\n✔200+ courses, 500+ projects\\n✔Consistent services from iNeuron\\n✔Work 1:1 with experts\\n✔Raise your demand\\n✔Mock interview\\n✔Career guidance\\n✔Access to innovation lab\\n✔Access to incubation lab\\nFor more details on One Neuron you can refer our website : https://one-neuron.ineuron.ai/\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/NPKEncE2mW0/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/NPKEncE2mW0/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/NPKEncE2mW0/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/NPKEncE2mW0/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/NPKEncE2mW0/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Saturday live for coders\",\n            \"description\": \"Welcome to another Saturday live where I try to answer all of your tech questions. This saturday live is more interesting as we have a guest today. Sudhanshu Kumar.\\nSudhanshu got a great experince in modern edtech. From code to Hardwares like drone.\\n\\nSudhanshu is also a Founder of edtech company iNeuron.\\niNeuron has launched the world's first OTT platform for education - \\\"One Neuron\\\".\\nUnder One Neuron we provide :\\n✔200+ courses, 500+ projects\\n✔Consistent services from iNeuron\\n✔Work 1:1 with experts\\n✔Raise your demand\\n✔Mock interview\\n✔Career guidance\\n✔Access to innovation lab\\n✔Access to incubation lab\\nFor more details on One Neuron you can refer our website : https://one-neuron.ineuron.ai/\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT1H4M44S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"16756\",\n          \"likeCount\": \"574\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"15\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"bfSd_0fzv5U\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-02-19T16:36:51Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Saturday live for coders\",\n          \"description\": \"Welcome to saturday live. Another episode to answer your questions live !\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/bfSd_0fzv5U/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/bfSd_0fzv5U/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/bfSd_0fzv5U/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/bfSd_0fzv5U/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/bfSd_0fzv5U/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"coder\",\n            \"coding\",\n            \"programming\",\n            \"aws\",\n            \"devops\",\n            \"cloud computing\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Saturday live for coders\",\n            \"description\": \"Welcome to saturday live. Another episode to answer your questions live !\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT58M50S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"9104\",\n          \"likeCount\": \"586\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"20\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"TRviIyktFhM\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-03-12T16:12:56Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Saturday live\",\n          \"description\": \"Welcome to another edition of Saturday live\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/TRviIyktFhM/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/TRviIyktFhM/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/TRviIyktFhM/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/TRviIyktFhM/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/TRviIyktFhM/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Saturday live\",\n            \"description\": \"Welcome to another edition of Saturday live\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT39M1S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"6672\",\n          \"likeCount\": \"578\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"16\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"78vzqy9VQlQ\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-10-29T16:29:12Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Saturday Live\",\n          \"description\": \"Saturday live is back.\\nSame studio, same me and lots of experience sharing.\\nLet's connect:\\nhttps://hc.lco.dev/jscamp2\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/78vzqy9VQlQ/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/78vzqy9VQlQ/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/78vzqy9VQlQ/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/78vzqy9VQlQ/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/78vzqy9VQlQ/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"javascript\",\n            \"devops\",\n            \"aws\",\n            \"google cloud\",\n            \"docker\",\n            \"reactjs\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Saturday Live\",\n            \"description\": \"Saturday live is back.\\nSame studio, same me and lots of experience sharing.\\nLet's connect:\\nhttps://hc.lco.dev/jscamp2\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT55M1S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"4753\",\n          \"likeCount\": \"539\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"6\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"JoJ8Sw5Yb4c\",\n        \"snippet\": {\n          \"publishedAt\": \"2021-08-31T11:30:03Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Welcome to series on GO programming language\",\n          \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/JoJ8Sw5Yb4c/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/JoJ8Sw5Yb4c/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/JoJ8Sw5Yb4c/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/JoJ8Sw5Yb4c/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/JoJ8Sw5Yb4c/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"LearnCodeOnline\",\n            \"python\",\n            \"javascript\",\n            \"golang\",\n            \"learn go\",\n            \"go programming\",\n            \"build api\",\n            \"rest api\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Welcome to series on GO programming language\",\n            \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT4M59S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"135872\",\n          \"likeCount\": \"3329\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"207\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"altMM5he1wY\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-01-08T16:32:05Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Saturday Live\",\n          \"description\": \"Welcome to saturday live where I try to answer your questions and just regular chit chat with you all.\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/altMM5he1wY/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/altMM5he1wY/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/altMM5he1wY/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/altMM5he1wY/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/altMM5he1wY/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"live\", \"saturday live\", \"live for coders\", \"programmers\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Saturday Live\",\n            \"description\": \"Welcome to saturday live where I try to answer your questions and just regular chit chat with you all.\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT58M50S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"9030\",\n          \"likeCount\": \"503\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"13\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"9Jvgh6txd1k\",\n        \"snippet\": {\n          \"publishedAt\": \"2021-12-11T17:02:53Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Saturday live  (after a while)\",\n          \"description\": \"Hey there everyone, welcome to Saturday live again. It was a busy ,month but finally here we are. Live again !\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/9Jvgh6txd1k/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/9Jvgh6txd1k/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/9Jvgh6txd1k/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/9Jvgh6txd1k/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/9Jvgh6txd1k/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Saturday live  (after a while)\",\n            \"description\": \"Hey there everyone, welcome to Saturday live again. It was a busy ,month but finally here we are. Live again !\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT1H22M7S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"10192\",\n          \"likeCount\": \"648\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"11\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"3DVNl8uwoAo\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-01-10T11:30:00Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Nextjs full stack application\",\n          \"description\": \"Learn to build a full stack app with nextjs and mongoDB with REST API.\\nhttps://courses.learncodeonline.in/learn/NextJS-Full-stack-crash-course\\n\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/3DVNl8uwoAo/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/3DVNl8uwoAo/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/3DVNl8uwoAo/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/3DVNl8uwoAo/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/3DVNl8uwoAo/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"LearnCodeOnline\",\n            \"javascript\",\n            \"nextjs\",\n            \"reactjs\",\n            \"nextjs mongodb\",\n            \"mongodb\",\n            \"nextjs full stack\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Nextjs full stack application\",\n            \"description\": \"Learn to build a full stack app with nextjs and mongoDB with REST API.\\nhttps://courses.learncodeonline.in/learn/NextJS-Full-stack-crash-course\\n\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT7M3S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"28576\",\n          \"likeCount\": \"1104\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"82\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"Ly2253lKR0U\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-02-05T16:35:53Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Saturday Live for coders | Payment gateways\",\n          \"description\": \"Welcome to another session of Saturday live. \\nA Talk with Abhishek\\nhttps://www.linkedin.com/in/abhishekpopli/\\n Hope you will enjoy this session.\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/Ly2253lKR0U/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/Ly2253lKR0U/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/Ly2253lKR0U/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/Ly2253lKR0U/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/Ly2253lKR0U/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Saturday Live\",\n            \"Coders live\",\n            \"coding\",\n            \"payment gateways\",\n            \"tech interviews\",\n            \"data structures and algorithms\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Saturday Live for coders | Payment gateways\",\n            \"description\": \"Welcome to another session of Saturday live. \\nA Talk with Abhishek\\nhttps://www.linkedin.com/in/abhishekpopli/\\n Hope you will enjoy this session.\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT1H52S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"6737\",\n          \"likeCount\": \"437\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"16\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"GucwWmwAGT8\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-05-20T08:21:02Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Github Codespaces | deploying a react app\",\n          \"description\": \"Lets Learn to deploy react apps using Github Codespaces. Really simple workflow and no need to use any third party hosting. Version management to deployment, all in 1 solution.\\n\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/GucwWmwAGT8/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/GucwWmwAGT8/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/GucwWmwAGT8/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/GucwWmwAGT8/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/GucwWmwAGT8/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"github\", \"github codesspaces\", \"reactjs\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Github Codespaces | deploying a react app\",\n            \"description\": \"Lets Learn to deploy react apps using Github Codespaces. Really simple workflow and no need to use any third party hosting. Version management to deployment, all in 1 solution.\\n\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT7M27S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"11572\",\n          \"likeCount\": \"507\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"34\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"OeVE-8CIzys\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-06-28T14:30:13Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"How conversion works in javascript | 3 conversion algo\",\n          \"description\": \"In case you are interested in getting a full stack live course (live + pro recorded videos) here is the link, use code HITESH10 for additional 10% off\\nhttps://courses.ineuron.ai/Full-Stack-Javascript-Web-Developer\\n\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/OeVE-8CIzys/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/OeVE-8CIzys/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/OeVE-8CIzys/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/OeVE-8CIzys/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/OeVE-8CIzys/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"javascript\",\n            \"learn js\",\n            \"react\",\n            \"nodejs\",\n            \"machine learning\",\n            \"ai\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"How conversion works in javascript | 3 conversion algo\",\n            \"description\": \"In case you are interested in getting a full stack live course (live + pro recorded videos) here is the link, use code HITESH10 for additional 10% off\\nhttps://courses.ineuron.ai/Full-Stack-Javascript-Web-Developer\\n\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT15M10S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"5039\",\n          \"likeCount\": \"252\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"39\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"m41aGndJNPU\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-05-19T06:08:00Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"React state management crash course | Zustand | part 3\",\n          \"description\": \"Code files for react state management crash course with  Zustand\\nhttps://github.com/hiteshchoudhary/Zustand-crash-course\\n\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/m41aGndJNPU/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/m41aGndJNPU/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/m41aGndJNPU/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/m41aGndJNPU/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/m41aGndJNPU/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"react\",\n            \"zustand\",\n            \"reactjs\",\n            \"state management\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"React state management crash course | Zustand | part 3\",\n            \"description\": \"Code files for react state management crash course with  Zustand\\nhttps://github.com/hiteshchoudhary/Zustand-crash-course\\n\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT13M51S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"7889\",\n          \"likeCount\": \"265\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"40\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"KCr-UNsM3vA\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-05-16T13:18:10Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"React state management crash course | Zustand\",\n          \"description\": \"React state management crash course\\nCode files:\\nhttps://github.com/hiteshchoudhary/Zustand-crash-course\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/KCr-UNsM3vA/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/KCr-UNsM3vA/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/KCr-UNsM3vA/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/KCr-UNsM3vA/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/KCr-UNsM3vA/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"react state management\",\n            \"redux\",\n            \"zustand\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"React state management crash course | Zustand\",\n            \"description\": \"React state management crash course\\nCode files:\\nhttps://github.com/hiteshchoudhary/Zustand-crash-course\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT19M50S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"32740\",\n          \"likeCount\": \"862\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"59\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"mxSK9ZcASMU\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-09-07T15:32:46Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Update to Javascript marathon\",\n          \"description\": \"Link to my programming Video Library:\\nhttps://hc.lco.dev/devops\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/mxSK9ZcASMU/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/mxSK9ZcASMU/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/mxSK9ZcASMU/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/mxSK9ZcASMU/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/mxSK9ZcASMU/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"python\",\n            \"machine learning\",\n            \"typescript\",\n            \"jobs\",\n            \"ai\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Update to Javascript marathon\",\n            \"description\": \"Link to my programming Video Library:\\nhttps://hc.lco.dev/devops\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT2M2S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"6597\",\n          \"likeCount\": \"498\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"64\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"IDKKB5bm4vM\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-05-18T09:45:24Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"React state management crash course | Zustand | Part 2\",\n          \"description\": \"React state management crash course | zustand\\nCode files:\\nhttps://github.com/hiteshchoudhary/Zustand-crash-course\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/IDKKB5bm4vM/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/IDKKB5bm4vM/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/IDKKB5bm4vM/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/IDKKB5bm4vM/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/IDKKB5bm4vM/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"Zustand\",\n            \"redux\",\n            \"react\",\n            \"state management\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"React state management crash course | Zustand | Part 2\",\n            \"description\": \"React state management crash course | zustand\\nCode files:\\nhttps://github.com/hiteshchoudhary/Zustand-crash-course\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT13M4S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"11681\",\n          \"likeCount\": \"274\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"16\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"ZdfPSolb1fs\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-06-27T15:33:24Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Javascript Marathon | Conversion Confusion\",\n          \"description\": \"Welcome to another episode of javascript marathon.\\nhttps://courses.ineuron.ai/JavaScript-Marathon\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/ZdfPSolb1fs/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/ZdfPSolb1fs/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/ZdfPSolb1fs/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/ZdfPSolb1fs/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/ZdfPSolb1fs/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Javascript Marathon | Conversion Confusion\",\n            \"description\": \"Welcome to another episode of javascript marathon.\\nhttps://courses.ineuron.ai/JavaScript-Marathon\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT55M20S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"7856\",\n          \"likeCount\": \"605\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"48\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"-1rEsrEau7I\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-06-16T15:40:26Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Javascript Marathon - Day 1 | Introduction and lexical structure\",\n          \"description\": \"Get started with Javascript marathon.\\nThis is a live session on youtube. If you join in late, that's on you. Please try to join in and watch the teaching part first. Once the class is over, I will have a doubt session to answer your doubts.\\nPlease avoid quesitons like, Will you teach XYZ, or compare flutter vs React Native. \\nAll exercise files, code files and upcoming quizes are available at:\\nhttps://courses.ineuron.ai/JavaScript-Marathon\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/-1rEsrEau7I/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/-1rEsrEau7I/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/-1rEsrEau7I/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/-1rEsrEau7I/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/-1rEsrEau7I/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"javascript marathon\",\n            \"javascript\",\n            \"learn data structures in javascript\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Javascript Marathon - Day 1 | Introduction and lexical structure\",\n            \"description\": \"Get started with Javascript marathon.\\nThis is a live session on youtube. If you join in late, that's on you. Please try to join in and watch the teaching part first. Once the class is over, I will have a doubt session to answer your doubts.\\nPlease avoid quesitons like, Will you teach XYZ, or compare flutter vs React Native. \\nAll exercise files, code files and upcoming quizes are available at:\\nhttps://courses.ineuron.ai/JavaScript-Marathon\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT1H5M4S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"56850\",\n          \"likeCount\": \"3378\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"109\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"Yz1CsZVS6FQ\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-06-20T15:23:41Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Javascript Marathon | Strings and Regex\",\n          \"description\": \"Welcome to another Day for Javascript Marathon.\\nWhere I am teaching javascript in depth, Live on youtube.\\nSpend daily 1 hour with me and be a master in javascript. \\nYou will be able to crack interviews too. \\n\\nFor last classses and code files:\\nhttps://courses.ineuron.ai/JavaScript-Marathon\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/Yz1CsZVS6FQ/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/Yz1CsZVS6FQ/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/Yz1CsZVS6FQ/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/Yz1CsZVS6FQ/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/Yz1CsZVS6FQ/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Javascript Marathon | Strings and Regex\",\n            \"description\": \"Welcome to another Day for Javascript Marathon.\\nWhere I am teaching javascript in depth, Live on youtube.\\nSpend daily 1 hour with me and be a master in javascript. \\nYou will be able to crack interviews too. \\n\\nFor last classses and code files:\\nhttps://courses.ineuron.ai/JavaScript-Marathon\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT47M35S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"12416\",\n          \"likeCount\": \"746\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"24\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"PFrOxB5NyJw\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-06-21T15:20:50Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Javascript Marathon | Symbols and Global Objects\",\n          \"description\": \"Welcome to another episode of Javascript marathon. We are going all indepth of Javascript with this marathon. Goal of this series is to make you pro in JS. In this video, we will learn about booleans, Symbols and Global objects in Javascript. \\nIn case you are looking for Paid Job guarantee course:\\nhttps://courses.ineuron.ai/Full-Stack-Javascript-Web-Developer\\nuse Code: HITESH10 for additional 10% off.\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/PFrOxB5NyJw/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/PFrOxB5NyJw/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/PFrOxB5NyJw/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/PFrOxB5NyJw/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/PFrOxB5NyJw/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"javascript\",\n            \"learn js\",\n            \"symbols in JS\",\n            \"react\",\n            \"machine learning\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Javascript Marathon | Symbols and Global Objects\",\n            \"description\": \"Welcome to another episode of Javascript marathon. We are going all indepth of Javascript with this marathon. Goal of this series is to make you pro in JS. In this video, we will learn about booleans, Symbols and Global objects in Javascript. \\nIn case you are looking for Paid Job guarantee course:\\nhttps://courses.ineuron.ai/Full-Stack-Javascript-Web-Developer\\nuse Code: HITESH10 for additional 10% off.\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT46M29S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"10570\",\n          \"likeCount\": \"543\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"26\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"g-0k8syANzI\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-06-17T15:19:31Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Javascript Marathon | Mystery of numbers\",\n          \"description\": \"Welcome to another Live for javascript Marathon. In today's live we will learn about numbers and will understand why javascript behaves differently with numbers. \\n\\nAlso, there is a job guarantee JS bootcamp coming up:\\nhttps://bit.ly/38vmTZs\\nuse code HITESH10 to get additional 10% off, if you are interested to grind and master JS and it's frameworks.\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/g-0k8syANzI/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/g-0k8syANzI/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/g-0k8syANzI/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/g-0k8syANzI/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/g-0k8syANzI/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Javascript Marathon | Mystery of numbers\",\n            \"description\": \"Welcome to another Live for javascript Marathon. In today's live we will learn about numbers and will understand why javascript behaves differently with numbers. \\n\\nAlso, there is a job guarantee JS bootcamp coming up:\\nhttps://bit.ly/38vmTZs\\nuse code HITESH10 to get additional 10% off, if you are interested to grind and master JS and it's frameworks.\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT45M47S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"16437\",\n          \"likeCount\": \"923\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"43\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"Dzn5BjAcCB0\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-09-15T11:30:07Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Type Aliases in Typescript\",\n          \"description\": \"Link to my programming Video Library:\\nhttps://hc.lco.dev/devops\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/Dzn5BjAcCB0/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/Dzn5BjAcCB0/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/Dzn5BjAcCB0/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/Dzn5BjAcCB0/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/Dzn5BjAcCB0/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"javascript\",\n            \"typescript\",\n            \"reactjs\",\n            \"machine learning\",\n            \"ai\",\n            \"devops\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Type Aliases in Typescript\",\n            \"description\": \"Link to my programming Video Library:\\nhttps://hc.lco.dev/devops\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT7M19S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"17958\",\n          \"likeCount\": \"289\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"10\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"_gg5_gFP0gQ\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-06-15T12:53:45Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Javascript marathon | Live classes on youtube\",\n          \"description\": \"For course assets such as code files and study material, please join here for free:\\nhttps://courses.ineuron.ai/JavaScript-Marathon\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/_gg5_gFP0gQ/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/_gg5_gFP0gQ/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/_gg5_gFP0gQ/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/_gg5_gFP0gQ/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/_gg5_gFP0gQ/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"LearnCodeOnline\",\n            \"javascript\",\n            \"javascript projects\",\n            \"full stack development\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Javascript marathon | Live classes on youtube\",\n            \"description\": \"For course assets such as code files and study material, please join here for free:\\nhttps://courses.ineuron.ai/JavaScript-Marathon\\n\\nLink to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT4M14S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"21818\",\n          \"likeCount\": \"1299\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"89\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"IiqhMNPWGEs\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-08-19T17:48:05Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Learn backend development with Prisma and mongodb\",\n          \"description\": \"Learn backend development with Prisma and mongodb\\nFor code files and community learning for free:\\nhttps://courses.learncodeonline.in/learn/Prisma-backend-development-with-mongodb\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/IiqhMNPWGEs/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/IiqhMNPWGEs/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/IiqhMNPWGEs/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/IiqhMNPWGEs/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/IiqhMNPWGEs/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Learn backend development with Prisma and mongodb\",\n            \"description\": \"Learn backend development with Prisma and mongodb\\nFor code files and community learning for free:\\nhttps://courses.learncodeonline.in/learn/Prisma-backend-development-with-mongodb\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT1H41M31S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"26838\",\n          \"likeCount\": \"913\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"30\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"arYn3DJcicw\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-08-22T07:22:18Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Learn backend development with prisma and mongodb | part 3\",\n          \"description\": \"For code files and community learning for free:\\nhttps://courses.learncodeonline.in/learn/Prisma-backend-development-with-mongodb\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/arYn3DJcicw/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/arYn3DJcicw/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/arYn3DJcicw/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/arYn3DJcicw/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/arYn3DJcicw/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Learn backend development with prisma and mongodb | part 3\",\n            \"description\": \"For code files and community learning for free:\\nhttps://courses.learncodeonline.in/learn/Prisma-backend-development-with-mongodb\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT46M38S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"5525\",\n          \"likeCount\": \"195\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"11\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"qcIotzhNLDU\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-08-20T18:14:08Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Learn backend development with Prisma and mongodb | part 2\",\n          \"description\": \"Learn backend development with Prisma and mongodb | part 2\\nFor code files and community learning for free:\\nhttps://courses.learncodeonline.in/learn/Prisma-backend-development-with-mongodb\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/qcIotzhNLDU/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/qcIotzhNLDU/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/qcIotzhNLDU/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/qcIotzhNLDU/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/qcIotzhNLDU/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Learn backend development with Prisma and mongodb | part 2\",\n            \"description\": \"Learn backend development with Prisma and mongodb | part 2\\nFor code files and community learning for free:\\nhttps://courses.learncodeonline.in/learn/Prisma-backend-development-with-mongodb\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT41M\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"7769\",\n          \"likeCount\": \"251\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"17\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"ULMH3lxygXY\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-09-11T13:25:09Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Do you really know functions in typescript\",\n          \"description\": \"New DevOps course\\nhttps://hc.lco.dev/devops\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/ULMH3lxygXY/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/ULMH3lxygXY/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/ULMH3lxygXY/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/ULMH3lxygXY/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/ULMH3lxygXY/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"javascript\",\n            \"typescript\",\n            \"reactjs\",\n            \"devops\",\n            \"machine learning\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Do you really know functions in typescript\",\n            \"description\": \"New DevOps course\\nhttps://hc.lco.dev/devops\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT11M31S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"7358\",\n          \"likeCount\": \"334\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"17\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"tx4NHrhJK_Q\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-09-13T11:23:10Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"A better way to write function in typescript\",\n          \"description\": \"Something new and awesome\\nhttps://hc.lco.dev/devops\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/tx4NHrhJK_Q/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/tx4NHrhJK_Q/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/tx4NHrhJK_Q/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/tx4NHrhJK_Q/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/tx4NHrhJK_Q/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"javascript\",\n            \"typescript\",\n            \"reactjs\",\n            \"web development\",\n            \"machine learning\",\n            \"system design\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"A better way to write function in typescript\",\n            \"description\": \"Something new and awesome\\nhttps://hc.lco.dev/devops\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT12M43S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"11265\",\n          \"likeCount\": \"464\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"24\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"p8HML9W2F6E\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-09-14T11:30:13Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Bad behaviour of objects in typescript\",\n          \"description\": \"Link to my programming Video Library:\\nhttps://hc.lco.dev/devops\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/p8HML9W2F6E/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/p8HML9W2F6E/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/p8HML9W2F6E/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/p8HML9W2F6E/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/p8HML9W2F6E/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"javascript\",\n            \"typescript\",\n            \"reactjs\",\n            \"machine learning\",\n            \"devops\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Bad behaviour of objects in typescript\",\n            \"description\": \"Link to my programming Video Library:\\nhttps://hc.lco.dev/devops\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT9M48S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"13013\",\n          \"likeCount\": \"364\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"22\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"de6Q0I4yMI8\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-09-10T13:36:39Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Don't use ANY in typescript\",\n          \"description\": \"Link to my programming Video Library:\\nhttps://hc.lco.dev/devops\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/de6Q0I4yMI8/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/de6Q0I4yMI8/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/de6Q0I4yMI8/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/de6Q0I4yMI8/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/de6Q0I4yMI8/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"javascript\",\n            \"typescript\",\n            \"reactjs\",\n            \"machine learning\",\n            \"ai\",\n            \"cloud\",\n            \"devops\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Don't use ANY in typescript\",\n            \"description\": \"Link to my programming Video Library:\\nhttps://hc.lco.dev/devops\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT4M44S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"7780\",\n          \"likeCount\": \"426\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"13\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"JrZfUktGano\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-09-09T18:21:38Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Number, boolean and type inference\",\n          \"description\": \"Link to my programming Video Library:\\nhttps://hc.lco.dev/devops\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/JrZfUktGano/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/JrZfUktGano/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/JrZfUktGano/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/JrZfUktGano/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/JrZfUktGano/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"javascript\",\n            \"typescript\",\n            \"reactjs\",\n            \"machine learning\",\n            \"ai\",\n            \"system design\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Number, boolean and type inference\",\n            \"description\": \"Link to my programming Video Library:\\nhttps://hc.lco.dev/devops\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT7M37S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"7256\",\n          \"likeCount\": \"387\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"31\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"Ec-z6924f6w\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-10-07T13:48:02Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"FAANG interview process overview\",\n          \"description\": \"https://hc.lco.dev/devops\\n\\nPick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/Ec-z6924f6w/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/Ec-z6924f6w/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/Ec-z6924f6w/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/Ec-z6924f6w/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/Ec-z6924f6w/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"Programming\", \"python\", \"javascript\", \"devops\", \"cloud\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"FAANG interview process overview\",\n            \"description\": \"https://hc.lco.dev/devops\\n\\nPick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT12M30S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"9077\",\n          \"likeCount\": \"448\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"43\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"gEIP87k75aU\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-09-09T12:31:51Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Your first intro to typescript docs\",\n          \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/gEIP87k75aU/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/gEIP87k75aU/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/gEIP87k75aU/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/gEIP87k75aU/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/gEIP87k75aU/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"javascript\",\n            \"typescript\",\n            \"reactjs\",\n            \"machine learning\",\n            \"ai\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Your first intro to typescript docs\",\n            \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT11M54S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"15690\",\n          \"likeCount\": \"531\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"43\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"kvm8tsRj6BM\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-09-08T11:55:33Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"How to install typescript\",\n          \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/kvm8tsRj6BM/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/kvm8tsRj6BM/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/kvm8tsRj6BM/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/kvm8tsRj6BM/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/kvm8tsRj6BM/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"typescript\",\n            \"javascript\",\n            \"machine learning\",\n            \"ai\",\n            \"devops\",\n            \"cloud\",\n            \"hosting\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"How to install typescript\",\n            \"description\": \"Link to my programming Video Library:\\nhttps://courses.LearnCodeOnline.in/learn\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT12M14S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"13574\",\n          \"likeCount\": \"595\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"22\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"JjWRNtBorMw\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-09-08T09:54:00Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Typescript is not what you think\",\n          \"description\": \"Link to my programming Video Library:\\nhttps://hc.lco.dev/devops\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/JjWRNtBorMw/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/JjWRNtBorMw/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/JjWRNtBorMw/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/JjWRNtBorMw/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/JjWRNtBorMw/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"javascript\",\n            \"typescript\",\n            \"reactjs\",\n            \"machine learning\",\n            \"ai\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Typescript is not what you think\",\n            \"description\": \"Link to my programming Video Library:\\nhttps://hc.lco.dev/devops\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT8M23S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"14962\",\n          \"likeCount\": \"624\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"28\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"j89BvWz8Eag\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-09-07T16:46:54Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Why to learn Typescript\",\n          \"description\": \"Link to my programming Video Library:\\nhttps://ineuron.ai/course/Be-A-DevOps-Pro\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/j89BvWz8Eag/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/j89BvWz8Eag/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/j89BvWz8Eag/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/j89BvWz8Eag/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/j89BvWz8Eag/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"javascript\",\n            \"typescript\",\n            \"angular\",\n            \"machine learning\",\n            \"ai\",\n            \"jobs\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Why to learn Typescript\",\n            \"description\": \"Link to my programming Video Library:\\nhttps://ineuron.ai/course/Be-A-DevOps-Pro\\n\\nPick best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\nDesktop: https://amzn.to/2GZ0C46\\nLaptop that I use: https://amzn.to/2Goui9Q\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purpose and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT6M52S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"34502\",\n          \"likeCount\": \"1347\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"88\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"kUM7tiBcei0\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-09-22T11:16:11Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Your resume needs an update\",\n          \"description\": \"Pick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/kUM7tiBcei0/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/kUM7tiBcei0/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/kUM7tiBcei0/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/kUM7tiBcei0/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/kUM7tiBcei0/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"python\",\n            \"javascript\",\n            \"devops\",\n            \"cloud\",\n            \"resume\",\n            \"interview\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Your resume needs an update\",\n            \"description\": \"Pick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT8M27S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"10798\",\n          \"likeCount\": \"460\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"20\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"QH0-M_ijShU\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-09-21T12:07:09Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Are you really ready for interviews ?\",\n          \"description\": \"Pick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/QH0-M_ijShU/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/QH0-M_ijShU/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/QH0-M_ijShU/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/QH0-M_ijShU/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/QH0-M_ijShU/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"interviews\",\n            \"tech\",\n            \"jobs\",\n            \"javascript\",\n            \"typescript\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Are you really ready for interviews ?\",\n            \"description\": \"Pick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT9M19S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"10124\",\n          \"likeCount\": \"683\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"39\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"A8-lVZMd3dI\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-10-07T12:34:07Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"how to handle experience section in resume\",\n          \"description\": \"https://hc.lco.dev/devops\\n\\nPick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/A8-lVZMd3dI/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/A8-lVZMd3dI/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/A8-lVZMd3dI/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/A8-lVZMd3dI/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/A8-lVZMd3dI/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"python\",\n            \"javascript\",\n            \"devops\",\n            \"cloud\",\n            \"resume\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"how to handle experience section in resume\",\n            \"description\": \"https://hc.lco.dev/devops\\n\\nPick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT3M57S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"4306\",\n          \"likeCount\": \"247\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"14\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"Trsho3HVAdI\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-09-21T11:46:42Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Before you start for interview preparation\",\n          \"description\": \"Pick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/Trsho3HVAdI/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/Trsho3HVAdI/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/Trsho3HVAdI/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/Trsho3HVAdI/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/Trsho3HVAdI/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"interview preparation\", \"coding\", \"tech interviews\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Before you start for interview preparation\",\n            \"description\": \"Pick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT2M24S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"7959\",\n          \"likeCount\": \"464\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"27\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"Ot5CHVwZ_NE\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-09-29T11:42:18Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"8 point resume check list\",\n          \"description\": \"New JS batch is here:\\nhttps://hc.lco.dev/jscamp2\\n\\nPick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/Ot5CHVwZ_NE/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/Ot5CHVwZ_NE/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/Ot5CHVwZ_NE/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/Ot5CHVwZ_NE/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/Ot5CHVwZ_NE/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"resume\",\n            \"jobs\",\n            \"interview preparation\",\n            \"IT jobs\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"8 point resume check list\",\n            \"description\": \"New JS batch is here:\\nhttps://hc.lco.dev/jscamp2\\n\\nPick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT13M44S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"7702\",\n          \"likeCount\": \"422\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"23\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"2kkUAyG6GtA\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-11-25T13:30:02Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Build a complete Authentication system using Github Codespaces\",\n          \"description\": \"Here is the code,\\nhttps://github.com/hiteshchoudhary/codespace-auth-22\\nFeel free to send a pull request with updated code, that I missed during the commit\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/2kkUAyG6GtA/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/2kkUAyG6GtA/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/2kkUAyG6GtA/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/2kkUAyG6GtA/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/2kkUAyG6GtA/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"devops\",\n            \"cloud\",\n            \"github\",\n            \"codespaces\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Build a complete Authentication system using Github Codespaces\",\n            \"description\": \"Here is the code,\\nhttps://github.com/hiteshchoudhary/codespace-auth-22\\nFeel free to send a pull request with updated code, that I missed during the commit\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT2H16M40S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"11052\",\n          \"likeCount\": \"191\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"8\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"D_5T6KMTRb8\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-11-14T15:30:09Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Github Codespace crash course\",\n          \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"devops\", \"cloud\", \"github\", \"codespaces\", \"git\", \"gitlab\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Github Codespace crash course\",\n            \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT41M28S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"29897\",\n          \"likeCount\": \"641\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"36\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"rr9cI4u1_88\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-11-03T04:30:24Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"A practical guide on Docker with projects | Docker Course\",\n          \"description\": \"https://hc.lco.dev/jscamp2\\nThis video was made possible with the help of Agenty:\\nhttps://agenty.com/\\nCheck them out.\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/rr9cI4u1_88/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/rr9cI4u1_88/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/rr9cI4u1_88/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/rr9cI4u1_88/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/rr9cI4u1_88/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"devops\",\n            \"cloud\",\n            \"Docker\",\n            \"kubernetes\",\n            \"containers\",\n            \"aws\",\n            \"gcp\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"A practical guide on Docker with projects | Docker Course\",\n            \"description\": \"https://hc.lco.dev/jscamp2\\nThis video was made possible with the help of Agenty:\\nhttps://agenty.com/\\nCheck them out.\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT2H43M1S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"61135\",\n          \"likeCount\": \"1522\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"106\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"7XDeI5fyj3w\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-11-09T14:30:08Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Complete Kubernetes Course | Deploy MERN app\",\n          \"description\": \"Code files:\\nhttps://github.com/hiteshchoudhary/kubernetes-mern-app\\nCheck Rowy here:\\nhttps://www.rowy.io/\\n\\nDevOps Course\\nhttps://hc.lco.dev/devops\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/7XDeI5fyj3w/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/7XDeI5fyj3w/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/7XDeI5fyj3w/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/7XDeI5fyj3w/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/7XDeI5fyj3w/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"devops\",\n            \"cloud\",\n            \"docker\",\n            \"kubernetes\",\n            \"pods\",\n            \"minikube\",\n            \"kubectl\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Complete Kubernetes Course | Deploy MERN app\",\n            \"description\": \"Code files:\\nhttps://github.com/hiteshchoudhary/kubernetes-mern-app\\nCheck Rowy here:\\nhttps://www.rowy.io/\\n\\nDevOps Course\\nhttps://hc.lco.dev/devops\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT1H22M51S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"66210\",\n          \"likeCount\": \"1190\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"81\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"FpfHmAkRVK4\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-12-15T15:30:03Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"C++ A complete and modern course for beginners\",\n          \"description\": \"00:00:00 - 00:02:05  - intro\\n00:02:05 - 00:05:07  - Welcome to c++ course\\n00:05:07 - 00:12:09  - Prerequisite and tools\\n00:12:09 - 00:21:59  - Understand the entry Point\\n00:21:59 - 00:29:17  - Compare the 2 Hello world\\n00:29:17 - 00:35:51  - Version history and official docs\\n00:35:51 - 00:44:31  - Return type and comments\\n00:44:31 - 00:50:57  - Redefine program in cpp\\n00:50:57 - 00:55:22  - What is namespace in Cpp\\n00:55:22 - 01:00:18  - First iteration of program\\n01:00:18 - 01:08:10  - Can I name that\\n01:08:10 - 01:17:32  - Get the colour and assignment\\n01:17:32 - 01:28:13  - Your first intro to pointers\\n01:28:13 - 01:34:38  - Reference is the actual tough thing in cpp\\n01:34:38 - 01:46:04  - Cpp Array are different with pointers\\n01:46:04 - 01:57:27  - A formal intro to integers\\n01:57:27 - 02:09:46  - Conditional and ternary\\n02:09:46 - 02:17:36  - Conditional as switch\\n02:17:36 - 02:32:46  - While and Do while loop\\n02:32:46 - 02:44:10  - for and range based loop\\n02:44:10 - 02:58:04  - loop with pointers and shortcuts\\n02:58:04 - 03:06:35  - Always use float with caution\\n03:06:35 - 03:17:00  - Why always divide by zero with try catch\\n03:17:00 - 03:25:10  - Sneak peak to functions in cpp\\n03:25:10 - 03:39:36  - linkers qualifiers prefix and postfix\\n03:39:36 - 03:46:40  - Basics of operations\\n03:46:40 - 03:54:19  - Logical AND OR and NOT\\n03:54:19 - 04:01:18  - Bitwise operation in cpp\\n04:01:18 - 04:09:49  - Memory Leak in cpp\\n04:09:49 - 04:21:36  - Get started with structs in cpp\\n04:21:36 - 04:28:39  - Enums and preprocessors\\n04:28:39 - 04:36:17  - A challenge to strongly type language\\n04:36:17 - 04:51:43  - Heap and stack memory\\n04:51:43 - 05:06:28  - Detailed intro to functions\\n05:06:28 - 05:17:18  - How to create header file in cpp\\n05:17:18 - 05:21:39  - Your first intro to templates\\n05:21:39 - 05:28:39  - What are functional pointers\\n05:28:39 - 05:34:36  - nullptr saves the day\\n05:34:36 - 05:44:09  - Factorial and recursion are close friends\\n05:44:09 - 05:58:52  - Lets talk about MACROS\\n05:58:52 - 06:08:59  - Variadic templates and recursion\\n06:08:59 - 06:06:07  - A design example\\n06:06:07 - 06:23:52  - Get started with class and objects\\n06:23:52 - 06:33:21  - Getters and Setters for a data member\\n06:33:21 - 06:41:43  - Method separation and const qualified methods\\n06:41:43 - 07:07:49  - Constructor destructor and rule of 3\\n07:07:49 - 07:10:28  - Disable the constructor\\n07:10:28 - 07:25:35  - THIS is not easy in cpp\\n07:25:35 - 07:31:27  - Inheritance in my favourite\\n07:31:27 - 07:45:01  - Base class Derived class and overriding\\n07:45:01 - 07:49:29  - Friend keyword comes with caution\\n07:49:29 - 07:52:34  - Multiple Inheritance\\n07:52:34 - 07:59:35  - Polymorphism and Virtual\\n07:59:35 - 08:04:10  - What are smart pointers\\n08:04:10 - 08:13:06  - Unique pointers and issues\\n08:13:06 - 08:16:54  - Shared pointers in smart pointers\\n08:16:54 - 08:20:24  - Weak Pointers in smart Pointers\\n08:20:24 - 08:32:48  - Move semantics Lvalue and Rvalue\\n08:32:48 - 08:48:13  - Vectors - Dynamic array\\n08:48:13 - 08:56:49  - Lambda - a small hello\\n08:56:49 - 09:04:47  - Create, rename and delete files\\n09:04:47 - 09:13:39  - Reading and writing into files and MODES\\n09:13:39 - 09:23:30  - Introduction to STL\\n09:23:30 - 09:31:07  - Main components in STL\\n09:31:07 - 09:38:02  - Functions in STL\\n09:38:02 - 09:46:05  - Sort Algo in STL\\n09:46:05 - 09:50:23  - Search Algo to STL\\n09:50:23 - 09:57:01  - Partition and Stable partition in STL\\n09:57:01 - 10:06:18  - Revisiting Vectors in STL\\n10:06:18 - 10:06:18  - List in STL\\n10:06:18 - 10:24:25  - Queue and priority Queue STL\\n\\n\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/FpfHmAkRVK4/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/FpfHmAkRVK4/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/FpfHmAkRVK4/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/FpfHmAkRVK4/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/FpfHmAkRVK4/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"devops\",\n            \"cloud\",\n            \"C++\",\n            \"cpp for beginners\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"C++ A complete and modern course for beginners\",\n            \"description\": \"00:00:00 - 00:02:05  - intro\\n00:02:05 - 00:05:07  - Welcome to c++ course\\n00:05:07 - 00:12:09  - Prerequisite and tools\\n00:12:09 - 00:21:59  - Understand the entry Point\\n00:21:59 - 00:29:17  - Compare the 2 Hello world\\n00:29:17 - 00:35:51  - Version history and official docs\\n00:35:51 - 00:44:31  - Return type and comments\\n00:44:31 - 00:50:57  - Redefine program in cpp\\n00:50:57 - 00:55:22  - What is namespace in Cpp\\n00:55:22 - 01:00:18  - First iteration of program\\n01:00:18 - 01:08:10  - Can I name that\\n01:08:10 - 01:17:32  - Get the colour and assignment\\n01:17:32 - 01:28:13  - Your first intro to pointers\\n01:28:13 - 01:34:38  - Reference is the actual tough thing in cpp\\n01:34:38 - 01:46:04  - Cpp Array are different with pointers\\n01:46:04 - 01:57:27  - A formal intro to integers\\n01:57:27 - 02:09:46  - Conditional and ternary\\n02:09:46 - 02:17:36  - Conditional as switch\\n02:17:36 - 02:32:46  - While and Do while loop\\n02:32:46 - 02:44:10  - for and range based loop\\n02:44:10 - 02:58:04  - loop with pointers and shortcuts\\n02:58:04 - 03:06:35  - Always use float with caution\\n03:06:35 - 03:17:00  - Why always divide by zero with try catch\\n03:17:00 - 03:25:10  - Sneak peak to functions in cpp\\n03:25:10 - 03:39:36  - linkers qualifiers prefix and postfix\\n03:39:36 - 03:46:40  - Basics of operations\\n03:46:40 - 03:54:19  - Logical AND OR and NOT\\n03:54:19 - 04:01:18  - Bitwise operation in cpp\\n04:01:18 - 04:09:49  - Memory Leak in cpp\\n04:09:49 - 04:21:36  - Get started with structs in cpp\\n04:21:36 - 04:28:39  - Enums and preprocessors\\n04:28:39 - 04:36:17  - A challenge to strongly type language\\n04:36:17 - 04:51:43  - Heap and stack memory\\n04:51:43 - 05:06:28  - Detailed intro to functions\\n05:06:28 - 05:17:18  - How to create header file in cpp\\n05:17:18 - 05:21:39  - Your first intro to templates\\n05:21:39 - 05:28:39  - What are functional pointers\\n05:28:39 - 05:34:36  - nullptr saves the day\\n05:34:36 - 05:44:09  - Factorial and recursion are close friends\\n05:44:09 - 05:58:52  - Lets talk about MACROS\\n05:58:52 - 06:08:59  - Variadic templates and recursion\\n06:08:59 - 06:06:07  - A design example\\n06:06:07 - 06:23:52  - Get started with class and objects\\n06:23:52 - 06:33:21  - Getters and Setters for a data member\\n06:33:21 - 06:41:43  - Method separation and const qualified methods\\n06:41:43 - 07:07:49  - Constructor destructor and rule of 3\\n07:07:49 - 07:10:28  - Disable the constructor\\n07:10:28 - 07:25:35  - THIS is not easy in cpp\\n07:25:35 - 07:31:27  - Inheritance in my favourite\\n07:31:27 - 07:45:01  - Base class Derived class and overriding\\n07:45:01 - 07:49:29  - Friend keyword comes with caution\\n07:49:29 - 07:52:34  - Multiple Inheritance\\n07:52:34 - 07:59:35  - Polymorphism and Virtual\\n07:59:35 - 08:04:10  - What are smart pointers\\n08:04:10 - 08:13:06  - Unique pointers and issues\\n08:13:06 - 08:16:54  - Shared pointers in smart pointers\\n08:16:54 - 08:20:24  - Weak Pointers in smart Pointers\\n08:20:24 - 08:32:48  - Move semantics Lvalue and Rvalue\\n08:32:48 - 08:48:13  - Vectors - Dynamic array\\n08:48:13 - 08:56:49  - Lambda - a small hello\\n08:56:49 - 09:04:47  - Create, rename and delete files\\n09:04:47 - 09:13:39  - Reading and writing into files and MODES\\n09:13:39 - 09:23:30  - Introduction to STL\\n09:23:30 - 09:31:07  - Main components in STL\\n09:31:07 - 09:38:02  - Functions in STL\\n09:38:02 - 09:46:05  - Sort Algo in STL\\n09:46:05 - 09:50:23  - Search Algo to STL\\n09:50:23 - 09:57:01  - Partition and Stable partition in STL\\n09:57:01 - 10:06:18  - Revisiting Vectors in STL\\n10:06:18 - 10:06:18  - List in STL\\n10:06:18 - 10:24:25  - Queue and priority Queue STL\\n\\n\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT10H25M10S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"51630\",\n          \"likeCount\": \"1951\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"129\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"4XaFk78WcyY\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-11-23T13:45:01Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"lets code a middleware in easy way\",\n          \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/4XaFk78WcyY/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/4XaFk78WcyY/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/4XaFk78WcyY/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/4XaFk78WcyY/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/4XaFk78WcyY/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"javascript\", \"devops\", \"cloud\", \"github\", \"codespaces\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"lets code a middleware in easy way\",\n            \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT24M31S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"13150\",\n          \"likeCount\": \"140\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"10\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"ZchBYjHFCC4\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-10-28T04:30:11Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Complete Typescript in under 5 hours\",\n          \"description\": \"https://hc.lco.dev/jscamp2\\n\\n00:00:00 - 00:06:51 - Why to learn typescript\\n00:06:51 - 00:15:08 - Typescript is not what you think\\n00:15:08 - 00:27:16 - How to install typescript\\n00:27:16 - 00:39:04 - Your first intro to typescript docs\\n00:39:04 - 00:46:35 - Number, boolean and type inference\\n00:39:04 - 00:46:35 - Number, boolean and type inference\\n00:46:35 - 00:51:13 - Don't use ANY in typescript\\n00:51:13 - 01:02:38 - Do you really know functions in typescript\\n01:02:38 - 01:15:21 - A better way to write function in typescript\\n01:15:21 - 01:24:57 - Bad behaviour of objects in typescript\\n01:24:57 - 01:32:11 - Type Aliases in Typescript\\n01:32:11 - 01:41:56 - READONLY and optional in typescript\\n01:41:56 - 01:49:46 - Array in Typescript\\n01:49:46 - 02:04:29 - Union Types in TS\\n02:04:29 - 02:14:16 - Tuples in typescript\\n02:14:16 - 02:23:46 - Enums in typescript\\n02:23:46 - 02:33:35 - interface in typescript\\n02:33:35 - 02:38:51 - Interface vs Type in typescript\\n02:38:51 - 02:53:27 - How to setup Typescript for real projects\\n02:53:27 - 03:01:49 - Classes in typescript\\n03:01:49 - 03:07:55 - Private Public in Typescript\\n03:07:55 - 03:15:08 - Getters and Setters in typescript\\n03:15:08 - 03:19:17 - Protected in Typescript\\n03:19:17 - 03:25:48 - Why Interface is important in typescript\\n03:25:48 - 03:35:19 - Abstract class in Typescript\\n03:35:19 - 03:47:41 - Generics in Typescript\\n03:47:41 - 03:55:50 - Generics in Array and Arrow functions in Typescript\\n03:55:50 - 04:06:59 - Generic Classes in Typescript\\n04:06:59 - 04:16:47 - Type Narrowing in typescript\\n04:16:47 - 04:22:00 - The in operator narrowing\\n04:22:00 - 04:31:18 - Instanceof and Type Predicates\\n04:31:18 - 04:42:37 - Discriminated Union and Exhaustiveness Checking with never\\n04:42:37 - 04:46:07 - Typescript End\\n\\nGithub Repo Link:\\nhttps://github.com/hiteshchoudhary/typescript-youtube-22\\n\\nPick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/ZchBYjHFCC4/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/ZchBYjHFCC4/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/ZchBYjHFCC4/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/ZchBYjHFCC4/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/ZchBYjHFCC4/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"Programming\", \"typescript\", \"reactjs\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Complete Typescript in under 5 hours\",\n            \"description\": \"https://hc.lco.dev/jscamp2\\n\\n00:00:00 - 00:06:51 - Why to learn typescript\\n00:06:51 - 00:15:08 - Typescript is not what you think\\n00:15:08 - 00:27:16 - How to install typescript\\n00:27:16 - 00:39:04 - Your first intro to typescript docs\\n00:39:04 - 00:46:35 - Number, boolean and type inference\\n00:39:04 - 00:46:35 - Number, boolean and type inference\\n00:46:35 - 00:51:13 - Don't use ANY in typescript\\n00:51:13 - 01:02:38 - Do you really know functions in typescript\\n01:02:38 - 01:15:21 - A better way to write function in typescript\\n01:15:21 - 01:24:57 - Bad behaviour of objects in typescript\\n01:24:57 - 01:32:11 - Type Aliases in Typescript\\n01:32:11 - 01:41:56 - READONLY and optional in typescript\\n01:41:56 - 01:49:46 - Array in Typescript\\n01:49:46 - 02:04:29 - Union Types in TS\\n02:04:29 - 02:14:16 - Tuples in typescript\\n02:14:16 - 02:23:46 - Enums in typescript\\n02:23:46 - 02:33:35 - interface in typescript\\n02:33:35 - 02:38:51 - Interface vs Type in typescript\\n02:38:51 - 02:53:27 - How to setup Typescript for real projects\\n02:53:27 - 03:01:49 - Classes in typescript\\n03:01:49 - 03:07:55 - Private Public in Typescript\\n03:07:55 - 03:15:08 - Getters and Setters in typescript\\n03:15:08 - 03:19:17 - Protected in Typescript\\n03:19:17 - 03:25:48 - Why Interface is important in typescript\\n03:25:48 - 03:35:19 - Abstract class in Typescript\\n03:35:19 - 03:47:41 - Generics in Typescript\\n03:47:41 - 03:55:50 - Generics in Array and Arrow functions in Typescript\\n03:55:50 - 04:06:59 - Generic Classes in Typescript\\n04:06:59 - 04:16:47 - Type Narrowing in typescript\\n04:16:47 - 04:22:00 - The in operator narrowing\\n04:22:00 - 04:31:18 - Instanceof and Type Predicates\\n04:31:18 - 04:42:37 - Discriminated Union and Exhaustiveness Checking with never\\n04:42:37 - 04:46:07 - Typescript End\\n\\nGithub Repo Link:\\nhttps://github.com/hiteshchoudhary/typescript-youtube-22\\n\\nPick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT4H46M8S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"58694\",\n          \"likeCount\": \"1842\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"123\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"pqjjNIrDyQk\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-11-21T13:30:12Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"How to create model for user authentication\",\n          \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/pqjjNIrDyQk/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/pqjjNIrDyQk/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/pqjjNIrDyQk/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/pqjjNIrDyQk/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/pqjjNIrDyQk/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"devops\",\n            \"cloud\",\n            \"github\",\n            \"codespaces\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"How to create model for user authentication\",\n            \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT12M25S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"6387\",\n          \"likeCount\": \"95\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"10\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"-8OEfGQPJ8c\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-11-22T13:45:00Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Register and login a user with JWT token\",\n          \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/-8OEfGQPJ8c/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/-8OEfGQPJ8c/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/-8OEfGQPJ8c/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/-8OEfGQPJ8c/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/-8OEfGQPJ8c/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"javascript\", \"devops\", \"cloud\", \"github\", \"codespaces\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Register and login a user with JWT token\",\n            \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT39M21S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"10856\",\n          \"likeCount\": \"243\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"20\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"X88dsegH0-Y\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-11-16T14:30:08Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"How to connect Github Codespaces and Mongodb Atlas\",\n          \"description\": \"Learn to connect MongoDB with GitHub codespaces\\n\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/X88dsegH0-Y/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/X88dsegH0-Y/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/X88dsegH0-Y/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/X88dsegH0-Y/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/X88dsegH0-Y/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"devops\",\n            \"cloud\",\n            \"github\",\n            \"codespaces\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"How to connect Github Codespaces and Mongodb Atlas\",\n            \"description\": \"Learn to connect MongoDB with GitHub codespaces\\n\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT18M57S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"10602\",\n          \"likeCount\": \"127\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"11\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"Q4UWFGRVOpQ\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-12-01T14:30:10Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Javascript interview | Closure\",\n          \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/Q4UWFGRVOpQ/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/Q4UWFGRVOpQ/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/Q4UWFGRVOpQ/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/Q4UWFGRVOpQ/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/Q4UWFGRVOpQ/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"devops\",\n            \"cloud\",\n            \"javascript interview\",\n            \"interview preparation\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Javascript interview | Closure\",\n            \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT11M44S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"26003\",\n          \"likeCount\": \"953\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"140\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"E7WIis2NjZU\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-01-18T11:36:30Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Higher Order Function | javascript interview series\",\n          \"description\": \"Instagram: https://instagram.com/hiteshchoudharyofficial\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/E7WIis2NjZU/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/E7WIis2NjZU/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/E7WIis2NjZU/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/E7WIis2NjZU/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/E7WIis2NjZU/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"Programming\", \"python\", \"javascript\", \"devops\", \"cloud\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Higher Order Function | javascript interview series\",\n            \"description\": \"Instagram: https://instagram.com/hiteshchoudharyofficial\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT11M46S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"11295\",\n          \"likeCount\": \"465\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"38\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"1eR8CstyPdY\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-11-30T13:30:00Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Should you take AWS CCP exam or skip it\",\n          \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/1eR8CstyPdY/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/1eR8CstyPdY/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/1eR8CstyPdY/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/1eR8CstyPdY/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/1eR8CstyPdY/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"devops\",\n            \"cloud\",\n            \"aws\",\n            \"ccp\",\n            \"cloud computing\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Should you take AWS CCP exam or skip it\",\n            \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT6M44S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"24721\",\n          \"likeCount\": \"327\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"22\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"D_5T6KMTRb8\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-11-14T15:30:09Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Github Codespace crash course\",\n          \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/D_5T6KMTRb8/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"devops\", \"cloud\", \"github\", \"codespaces\", \"git\", \"gitlab\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Github Codespace crash course\",\n            \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT41M28S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"29897\",\n          \"likeCount\": \"641\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"36\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"pbvC119ZRDw\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-02-11T14:30:09Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"React Native Project 2\",\n          \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nPW: https://pwskills.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/pbvC119ZRDw/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/pbvC119ZRDw/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/pbvC119ZRDw/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/pbvC119ZRDw/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/pbvC119ZRDw/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"react-native\",\n            \"react\",\n            \"mobile app development\",\n            \"android\",\n            \"ios\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"React Native Project 2\",\n            \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nPW: https://pwskills.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT4M21S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"11222\",\n          \"likeCount\": \"333\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"24\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"XfREwe2sUGs\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-02-11T12:30:09Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Summary of Project 1 and open source contribution | React Native\",\n          \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/XfREwe2sUGs/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/XfREwe2sUGs/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/XfREwe2sUGs/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/XfREwe2sUGs/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/XfREwe2sUGs/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"react\",\n            \"react-native\",\n            \"mobile apps\",\n            \"android\",\n            \"ios\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Summary of Project 1 and open source contribution | React Native\",\n            \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT5M29S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"11609\",\n          \"likeCount\": \"288\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"15\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"6BlFPa_MGNg\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-02-10T12:30:07Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Dynamic Theming in React Native: A Guide to Hooks\",\n          \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\n\\nDiscord: https://hc.lco.dev/discord\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nPW: https://pwskills.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/6BlFPa_MGNg/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/6BlFPa_MGNg/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/6BlFPa_MGNg/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/6BlFPa_MGNg/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/6BlFPa_MGNg/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"react native\",\n            \"hashnode\",\n            \"mobile development\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Dynamic Theming in React Native: A Guide to Hooks\",\n            \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\n\\nDiscord: https://hc.lco.dev/discord\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nPW: https://pwskills.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT5M29S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"24306\",\n          \"likeCount\": \"377\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"30\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"CZrJpEn6b4I\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-01-31T15:30:10Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Rewrite React Native App\",\n          \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\n\\nDiscord: https://hc.lco.dev/discord\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/CZrJpEn6b4I/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/CZrJpEn6b4I/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/CZrJpEn6b4I/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/CZrJpEn6b4I/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/CZrJpEn6b4I/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"react native\",\n            \"mobile apps\",\n            \"iOS android\",\n            \"hashnode\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Rewrite React Native App\",\n            \"description\": \"Document your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\n\\nDiscord: https://hc.lco.dev/discord\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT12M14S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"20743\",\n          \"likeCount\": \"541\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"50\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"PjmAVh4Syvk\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-01-31T11:30:08Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"React Native File Structure: Best Practices and Tips\",\n          \"description\": \"In this video, we'll dive into React Native file structure and explore best practices and tips for organizing your project. We'll discuss the importance of structuring your project for efficiency, scalability, and maintainability. You'll learn about the recommended file organization patterns and directory structures, including separating components, screens, assets, and helpers. By the end of this video, you'll have a solid understanding of how to structure your React Native project to optimize your workflow, improve code maintainability, and make collaboration with other developers easier. So, join us as we explore React Native file structure and discover how to create a solid foundation for your mobile app development projects.\\n\\nDocument your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\n\\nDiscord: https://hc.lco.dev/discord\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nPW: https://pwskills.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/PjmAVh4Syvk/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/PjmAVh4Syvk/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/PjmAVh4Syvk/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/PjmAVh4Syvk/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/PjmAVh4Syvk/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"Programming\", \"javascript\", \"react native\", \"mobile app\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"React Native File Structure: Best Practices and Tips\",\n            \"description\": \"In this video, we'll dive into React Native file structure and explore best practices and tips for organizing your project. We'll discuss the importance of structuring your project for efficiency, scalability, and maintainability. You'll learn about the recommended file organization patterns and directory structures, including separating components, screens, assets, and helpers. By the end of this video, you'll have a solid understanding of how to structure your React Native project to optimize your workflow, improve code maintainability, and make collaboration with other developers easier. So, join us as we explore React Native file structure and discover how to create a solid foundation for your mobile app development projects.\\n\\nDocument your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\n\\nDiscord: https://hc.lco.dev/discord\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nPW: https://pwskills.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT14M3S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"27615\",\n          \"likeCount\": \"630\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"73\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"XV5LwKuk3zc\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-01-27T12:30:09Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"The Ultimate React Native Installation Guide: Prerequisites and Setup\",\n          \"description\": \"In this video, we will guide you through the ultimate React Native installation process. We'll cover everything you need to know, from the prerequisites you need to have installed to setting up your development environment for React Native. Whether you're a beginner or an experienced developer, this guide will help you get started with React Native and prepare you for building amazing mobile applications. So, join us as we walk you through step-by-step, and get ready to start your React Native journey today!\\n\\nDocument your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/XV5LwKuk3zc/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/XV5LwKuk3zc/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/XV5LwKuk3zc/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/XV5LwKuk3zc/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/XV5LwKuk3zc/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"Programming\", \"react native\", \"mobile apps\", \"hashnode\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"The Ultimate React Native Installation Guide: Prerequisites and Setup\",\n            \"description\": \"In this video, we will guide you through the ultimate React Native installation process. We'll cover everything you need to know, from the prerequisites you need to have installed to setting up your development environment for React Native. Whether you're a beginner or an experienced developer, this guide will help you get started with React Native and prepare you for building amazing mobile applications. So, join us as we walk you through step-by-step, and get ready to start your React Native journey today!\\n\\nDocument your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT11M21S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"46791\",\n          \"likeCount\": \"1297\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"98\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"8l691BQ-RGc\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-06-25T15:51:13Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"React native windows installation\",\n          \"description\": \"https://hitesh.ai/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/8l691BQ-RGc/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/8l691BQ-RGc/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/8l691BQ-RGc/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/8l691BQ-RGc/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/8l691BQ-RGc/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"react\",\n            \"react native\",\n            \"hashnode\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"React native windows installation\",\n            \"description\": \"https://hitesh.ai/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT20M14S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"11445\",\n          \"likeCount\": \"302\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"46\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"kGtEax1WQFg\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-01-26T11:30:08Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"React Native Mastery: Develop 10 Apps with Confidence\",\n          \"description\": \"Welcome to the React Native course where you will learn how to build 10 mobile apps from scratch using the React Native framework. This course is perfect for both beginners and experienced developers who want to learn how to develop mobile apps using React Native.\\n\\nIn this course, you will start by learning the fundamentals of React Native, including how to set up your development environment, create components, use styling, and handle user input. You will then move on to more advanced topics such as navigating between screens, making network requests, and integrating with third-party libraries.\\n\\nThroughout the course, you will build 10 different apps, each focusing on a different aspect of React Native development. You will build apps such as a weather app, a messaging app, a social media app, and more.\\n\\nBy the end of this course, you will have a solid understanding of React Native development and be able to create your own mobile apps. So, join the course now and start your journey to becoming a React Native developer!\\n\\nDocument your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nDiscord community link:\\nhttps://hc.lco.dev/discord\\n\\nSignup and say thanks tweet to Hashnode\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/kGtEax1WQFg/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/kGtEax1WQFg/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/kGtEax1WQFg/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/kGtEax1WQFg/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/kGtEax1WQFg/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"react native\",\n            \"mobile app development\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"React Native Mastery: Develop 10 Apps with Confidence\",\n            \"description\": \"Welcome to the React Native course where you will learn how to build 10 mobile apps from scratch using the React Native framework. This course is perfect for both beginners and experienced developers who want to learn how to develop mobile apps using React Native.\\n\\nIn this course, you will start by learning the fundamentals of React Native, including how to set up your development environment, create components, use styling, and handle user input. You will then move on to more advanced topics such as navigating between screens, making network requests, and integrating with third-party libraries.\\n\\nThroughout the course, you will build 10 different apps, each focusing on a different aspect of React Native development. You will build apps such as a weather app, a messaging app, a social media app, and more.\\n\\nBy the end of this course, you will have a solid understanding of React Native development and be able to create your own mobile apps. So, join the course now and start your journey to becoming a React Native developer!\\n\\nDocument your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nDiscord community link:\\nhttps://hc.lco.dev/discord\\n\\nSignup and say thanks tweet to Hashnode\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT4M58S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"50731\",\n          \"likeCount\": \"2762\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"194\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"mShc1lOYXvU\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-06-07T08:43:43Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Meet Co-Founder of Frontegg | Aviad Mizrachi\",\n          \"description\": \"Ask your questions\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/mShc1lOYXvU/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/mShc1lOYXvU/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/mShc1lOYXvU/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/mShc1lOYXvU/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/mShc1lOYXvU/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Meet Co-Founder of Frontegg | Aviad Mizrachi\",\n            \"description\": \"Ask your questions\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT28M52S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"4667\",\n          \"likeCount\": \"243\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"6\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"TXWYrnl6dZI\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-01-28T12:30:10Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"React Native 101: Building Your First App and Troubleshooting Common Issues\",\n          \"description\": \"In this video, we'll walk you through the basics of building your first app with React Native. We'll cover the essential concepts, including creating components, applying styles, and handling user input. Additionally, we'll discuss common issues you may encounter during development and provide troubleshooting tips to overcome them. Whether you're new to React Native or looking to expand your knowledge, this video will help you get started and build your first app. So, join us and take your first step towards becoming a React Native developer today!\\n\\nDocument your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nPW: https://pwskills.com \\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/TXWYrnl6dZI/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/TXWYrnl6dZI/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/TXWYrnl6dZI/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/TXWYrnl6dZI/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/TXWYrnl6dZI/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"react native\",\n            \"hashnode\",\n            \"blogs\",\n            \"mobile apps\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"React Native 101: Building Your First App and Troubleshooting Common Issues\",\n            \"description\": \"In this video, we'll walk you through the basics of building your first app with React Native. We'll cover the essential concepts, including creating components, applying styles, and handling user input. Additionally, we'll discuss common issues you may encounter during development and provide troubleshooting tips to overcome them. Whether you're new to React Native or looking to expand your knowledge, this video will help you get started and build your first app. So, join us and take your first step towards becoming a React Native developer today!\\n\\nDocument your progress and share your React Native journey on your own Hashnode blog for free: \\nhttps://hashnode.com/?source=hitesh\\nTag your posts with #reactnative so they can be easily discovered by Hashnode's global community\\nhttps://github.com/hiteshchoudhary/React-native-projects\\nDiscord: https://hc.lco.dev/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nPW: https://pwskills.com \\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT12M20S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"36323\",\n          \"likeCount\": \"896\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"143\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"iYtXTUSJW78\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-10-01T13:34:16Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"How to build crazy good product | locofy\",\n          \"description\": \"Join in the discussion with Co-Founder of locofy and learn about the process of building a crazy good product and making it production ready.\\nAlso, feel free to ask questions directly during the live stream\\nhttps://www.locofy.ai/\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/iYtXTUSJW78/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/iYtXTUSJW78/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/iYtXTUSJW78/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/iYtXTUSJW78/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/iYtXTUSJW78/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"How to build crazy good product | locofy\",\n            \"description\": \"Join in the discussion with Co-Founder of locofy and learn about the process of building a crazy good product and making it production ready.\\nAlso, feel free to ask questions directly during the live stream\\nhttps://www.locofy.ai/\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT57M52S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"5192\",\n          \"likeCount\": \"297\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"9\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"yjrUbWL3Nss\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-10-11T15:15:03Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"How HackerRank was build |  A tech talk with Founder\",\n          \"description\": \"Check out the beautiful journey of building one of the best product of internet. Get behind the scene directly from the co-founder of HackerRank.\\nhttps://www.hackerrank.com/\\n\\nhttps://hc.lco.dev/devops\\n\\nPick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/yjrUbWL3Nss/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/yjrUbWL3Nss/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/yjrUbWL3Nss/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/yjrUbWL3Nss/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/yjrUbWL3Nss/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"python\",\n            \"javascript\",\n            \"devops\",\n            \"cloud\",\n            \"hackerrank\",\n            \"interview preparation\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"How HackerRank was build |  A tech talk with Founder\",\n            \"description\": \"Check out the beautiful journey of building one of the best product of internet. Get behind the scene directly from the co-founder of HackerRank.\\nhttps://www.hackerrank.com/\\n\\nhttps://hc.lco.dev/devops\\n\\nPick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT35M34S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"8259\",\n          \"likeCount\": \"420\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"37\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"6m0amaGV1ak\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-08-09T15:10:13Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Meet creator of FastAPI | Sebastián Ramírez Montaño\",\n          \"description\": \"Meet founder of FastAPI and get to know the thought process behind creation of FastAPI. \\nAlso, some regular developer talks\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/6m0amaGV1ak/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/6m0amaGV1ak/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/6m0amaGV1ak/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/6m0amaGV1ak/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/6m0amaGV1ak/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Meet creator of FastAPI | Sebastián Ramírez Montaño\",\n            \"description\": \"Meet founder of FastAPI and get to know the thought process behind creation of FastAPI. \\nAlso, some regular developer talks\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT33M28S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"11875\",\n          \"likeCount\": \"436\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"26\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"jwABH7Eoa-Y\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-06-13T14:37:16Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Cross-platform mobile development with Kotlin (Jetbrains)\",\n          \"description\": \"Announcing Hackathon with Jetbrains:\\nhttps://docs.google.com/forms/d/1JY7tIcD8cX4GKjVbUvlyj5-lR6Lgw9IJZgS1w1q3ybI/edit?ts=62a0b755\\n\\nBelow are some handy links to get you started on your Kotlin Journey\\n\\nGet started with Kotlin - https://kotlinlang.org/docs/getting-started.html\\n\\nGet Started with Kotlin Multiplatform Mobile - https://kotlinlang.org/docs/multiplatform-mobile-getting-started.html\\n\\nSee how mobile teams all over the world are using Kotlin to simplify their development efforts -  https://kotlinlang.org/lp/mobile/case-studies/\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/jwABH7Eoa-Y/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/jwABH7Eoa-Y/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/jwABH7Eoa-Y/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/jwABH7Eoa-Y/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/jwABH7Eoa-Y/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Cross-platform mobile development with Kotlin (Jetbrains)\",\n            \"description\": \"Announcing Hackathon with Jetbrains:\\nhttps://docs.google.com/forms/d/1JY7tIcD8cX4GKjVbUvlyj5-lR6Lgw9IJZgS1w1q3ybI/edit?ts=62a0b755\\n\\nBelow are some handy links to get you started on your Kotlin Journey\\n\\nGet started with Kotlin - https://kotlinlang.org/docs/getting-started.html\\n\\nGet Started with Kotlin Multiplatform Mobile - https://kotlinlang.org/docs/multiplatform-mobile-getting-started.html\\n\\nSee how mobile teams all over the world are using Kotlin to simplify their development efforts -  https://kotlinlang.org/lp/mobile/case-studies/\"\n          },\n          \"defaultAudioLanguage\": \"en-US\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT50M22S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"8045\",\n          \"likeCount\": \"385\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"6\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"y6mfMqmFjGI\",\n        \"snippet\": {\n          \"publishedAt\": \"2022-10-11T09:10:11Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"How to build the best open source company | @appsmith\",\n          \"description\": \"Appsmith is one the next big project which is open source and is loved by industry. The evolution of project is crazy good and more people should know about it.\\nCheck out app smith and let me know your feedback:\\nhttps://www.appsmith.com/ (it's FREE)\\n\\nAlso, Our new course:\\nhttps://hc.lco.dev/devops\\n\\nPick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/y6mfMqmFjGI/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/y6mfMqmFjGI/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/y6mfMqmFjGI/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/y6mfMqmFjGI/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/y6mfMqmFjGI/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"devops\",\n            \"cloud\",\n            \"open source\",\n            \"appsmith\",\n            \"startup\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"How to build the best open source company | @appsmith\",\n            \"description\": \"Appsmith is one the next big project which is open source and is loved by industry. The evolution of project is crazy good and more people should know about it.\\nCheck out app smith and let me know your feedback:\\nhttps://www.appsmith.com/ (it's FREE)\\n\\nAlso, Our new course:\\nhttps://hc.lco.dev/devops\\n\\nPick the best UI color for your projects:\\nhttps://UIColorPicker.com\\n\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\nDownload LearnCodeOnline.in  app from Google play store and Apple App store\\nhttps://play.google.com/store/apps/details?id=in.learncodeonline.lco\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT38M2S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"4452\",\n          \"likeCount\": \"230\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"21\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"s4ZUkwe0ZTI\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-05-04T11:18:30Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Say Goodbye to Python and Hello to Mojo\",\n          \"description\": \"https://www.modular.com/mojo\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/s4ZUkwe0ZTI/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/s4ZUkwe0ZTI/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/s4ZUkwe0ZTI/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/s4ZUkwe0ZTI/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/s4ZUkwe0ZTI/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"python\",\n            \"Programming languages\",\n            \"Python\",\n            \"Mojo\",\n            \"Coding\",\n            \"Computer science\",\n            \"Software development\",\n            \"Python alternatives\",\n            \"Programming tools\",\n            \"Python vs Mojo\",\n            \"Tech industry\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Say Goodbye to Python and Hello to Mojo\",\n            \"description\": \"https://www.modular.com/mojo\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT8M45S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"98500\",\n          \"likeCount\": \"2551\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"225\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"0Xde4eSqcmI\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-05-22T12:30:02Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Is twitter dead ?\",\n          \"description\": \"Article link:\\nhttps://techcrunch.com/2023/05/19/everything-we-know-about-instagrams-twitter-clone-due-this-summer/?tpcc=tcplustwitter\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/0Xde4eSqcmI/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/0Xde4eSqcmI/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/0Xde4eSqcmI/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/0Xde4eSqcmI/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/0Xde4eSqcmI/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"python\",\n            \"javascript\",\n            \"twitter\",\n            \"instagram\",\n            \"meta\",\n            \"clone\",\n            \"techcrunch\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Is twitter dead ?\",\n            \"description\": \"Article link:\\nhttps://techcrunch.com/2023/05/19/everything-we-know-about-instagrams-twitter-clone-due-this-summer/?tpcc=tcplustwitter\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT6M16S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"6336\",\n          \"likeCount\": \"300\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"55\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"BCQwMXZ4Cy8\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-05-18T12:25:38Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Is VSCode Dead ? Zed first look\",\n          \"description\": \"https://zed.dev\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/BCQwMXZ4Cy8/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/BCQwMXZ4Cy8/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/BCQwMXZ4Cy8/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/BCQwMXZ4Cy8/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/BCQwMXZ4Cy8/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"code editor\",\n            \"IDE\",\n            \"vscode\",\n            \"jetbrains\",\n            \"github\",\n            \"zed\",\n            \"zed editor\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Is VSCode Dead ? Zed first look\",\n            \"description\": \"https://zed.dev\\n\\nhttps://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT17M56S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"57050\",\n          \"likeCount\": \"1407\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"187\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"O7zPiurDdDk\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-04-18T13:30:08Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Javascript Project | get all leetcode solution with ChatGPT\",\n          \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/O7zPiurDdDk/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/O7zPiurDdDk/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/O7zPiurDdDk/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/O7zPiurDdDk/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/O7zPiurDdDk/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"python\",\n            \"javascript\",\n            \"devops\",\n            \"cloud\",\n            \"chatgpt\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Javascript Project | get all leetcode solution with ChatGPT\",\n            \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT28M\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"9738\",\n          \"likeCount\": \"323\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"19\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"EQwmQLU1S6I\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-05-23T12:30:05Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Let's kill all programming language | playlist intro\",\n          \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/EQwmQLU1S6I/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/EQwmQLU1S6I/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/EQwmQLU1S6I/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/EQwmQLU1S6I/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/EQwmQLU1S6I/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"python\",\n            \"rust\",\n            \"java\",\n            \"c++\",\n            \"swift\",\n            \"typescript\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Let's kill all programming language | playlist intro\",\n            \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT5M48S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"7861\",\n          \"likeCount\": \"433\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"53\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"1SMO6kWb9Eo\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-07-04T12:45:00Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"How to integrate appwrite to nextjs\",\n          \"description\": \"https://github.com/hiteshchoudhary/nextjs-appwrite-auth\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/1SMO6kWb9Eo/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/1SMO6kWb9Eo/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/1SMO6kWb9Eo/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/1SMO6kWb9Eo/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/1SMO6kWb9Eo/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"cloud\",\n            \"appwrite\",\n            \"nextjs\",\n            \"reactjs\",\n            \"learn react\",\n            \"learn nextjs\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"How to integrate appwrite to nextjs\",\n            \"description\": \"https://github.com/hiteshchoudhary/nextjs-appwrite-auth\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT36M32S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"9873\",\n          \"likeCount\": \"95\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"7\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"eSYvfCoWIzA\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-07-07T14:17:22Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Appwrite Nextjs and context api\",\n          \"description\": \"https://github.com/hiteshchoudhary/nextjs-appwrite-auth\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/eSYvfCoWIzA/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/eSYvfCoWIzA/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/eSYvfCoWIzA/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/eSYvfCoWIzA/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/eSYvfCoWIzA/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"devops\",\n            \"reactjs\",\n            \"nextjs\",\n            \"appwrite\",\n            \"appwrite cloud\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Appwrite Nextjs and context api\",\n            \"description\": \"https://github.com/hiteshchoudhary/nextjs-appwrite-auth\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT39M29S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"10028\",\n          \"likeCount\": \"86\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"14\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"N97UKuiIlOc\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-06-21T12:45:01Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Scared of cloud bills for learning ?\",\n          \"description\": \"This video will help you to learn about cloud computing and will answer most common questions that you might be having while learning cloud. Questions like Should I be worried about cloud bills or what is cloud sandbox, should I buy one ? How much bill to expect while learning cloud ?\\nAll of these will be answered in this video,\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/N97UKuiIlOc/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/N97UKuiIlOc/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/N97UKuiIlOc/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/N97UKuiIlOc/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/N97UKuiIlOc/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"devops\",\n            \"cloud\",\n            \"aws\",\n            \"gcp\",\n            \"cloud computing\",\n            \"learn cloud\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Scared of cloud bills for learning ?\",\n            \"description\": \"This video will help you to learn about cloud computing and will answer most common questions that you might be having while learning cloud. Questions like Should I be worried about cloud bills or what is cloud sandbox, should I buy one ? How much bill to expect while learning cloud ?\\nAll of these will be answered in this video,\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT10M53S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"9765\",\n          \"likeCount\": \"509\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"62\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"VXqIJ2SJh9s\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-06-17T12:45:02Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"How to start cloud learning journey 2023\",\n          \"description\": \"Embark on a transformative cloud learning journey with our comprehensive video guide. We'll walk you through the basics and beyond of cloud computing, using AWS, Google Cloud, and Azure. This tutorial is designed for beginners, providing a solid foundation in understanding and utilizing these powerful cloud services. Dive into the world of cloud technologies and infrastructure, and start building your cloud skills today. No matter where you are in your IT career, understanding the cloud is crucial. Let's start learning together!\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/VXqIJ2SJh9s/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/VXqIJ2SJh9s/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/VXqIJ2SJh9s/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/VXqIJ2SJh9s/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/VXqIJ2SJh9s/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"devops\",\n            \"cloud\",\n            \"Cloud Computing\",\n            \"AWS\",\n            \"Google Cloud\",\n            \"Azure\",\n            \"Cloud Tutorial\",\n            \"Getting Started with Cloud\",\n            \"Cloud Learning Journey\",\n            \"AWS Tutorial\",\n            \"Azure Tutorial\",\n            \"Google Cloud Tutorial\",\n            \"Cloud Services\",\n            \"Learn Cloud\",\n            \"Cloud Training\",\n            \"Cloud for Beginners\",\n            \"AWS for Beginners\",\n            \"Azure for Beginners\",\n            \"Google Cloud for Beginners\",\n            \"Cloud Technologies\",\n            \"Cloud Infrastructure\",\n            \"Cloud Basics\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"How to start cloud learning journey 2023\",\n            \"description\": \"Embark on a transformative cloud learning journey with our comprehensive video guide. We'll walk you through the basics and beyond of cloud computing, using AWS, Google Cloud, and Azure. This tutorial is designed for beginners, providing a solid foundation in understanding and utilizing these powerful cloud services. Dive into the world of cloud technologies and infrastructure, and start building your cloud skills today. No matter where you are in your IT career, understanding the cloud is crucial. Let's start learning together!\\n\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT17M19S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"17567\",\n          \"likeCount\": \"956\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"79\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"fyEA1R4lFyQ\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-07-06T11:41:53Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Nextjs componets to talk to Appwrite\",\n          \"description\": \"https://github.com/hiteshchoudhary/nextjs-appwrite-auth\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/fyEA1R4lFyQ/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/fyEA1R4lFyQ/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/fyEA1R4lFyQ/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/fyEA1R4lFyQ/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/fyEA1R4lFyQ/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"cloud\",\n            \"appwrite\",\n            \"auth\",\n            \"nextjs\",\n            \"reactjs\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Nextjs componets to talk to Appwrite\",\n            \"description\": \"https://github.com/hiteshchoudhary/nextjs-appwrite-auth\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT30M23S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"9138\",\n          \"likeCount\": \"68\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"9\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"UgRw9lhhWDk\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-06-30T16:00:24Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Middleware in nextjs | Nextjs fullstack course\",\n          \"description\": \"https://github.com/hiteshchoudhary/nextjs-fullstack-auth/\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/UgRw9lhhWDk/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/UgRw9lhhWDk/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/UgRw9lhhWDk/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/UgRw9lhhWDk/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/UgRw9lhhWDk/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"reactjs\",\n            \"nextjs\",\n            \"vercel\",\n            \"mongodb\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Middleware in nextjs | Nextjs fullstack course\",\n            \"description\": \"https://github.com/hiteshchoudhary/nextjs-fullstack-auth/\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT41M39S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"5342\",\n          \"likeCount\": \"194\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"58\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"_BqkCRgCdng\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-07-01T12:45:03Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"User verification email in nextjs\",\n          \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/_BqkCRgCdng/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/_BqkCRgCdng/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/_BqkCRgCdng/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/_BqkCRgCdng/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/_BqkCRgCdng/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"reactjs\",\n            \"nextjs\",\n            \"vercel\",\n            \"mongodb\",\n            \"learn nextjs\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"User verification email in nextjs\",\n            \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT56M4S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"3800\",\n          \"likeCount\": \"172\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"28\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"qJkey7UPyiw\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-07-01T13:45:02Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Nextjs Deployment\",\n          \"description\": \"https://github.com/hiteshchoudhary/nextjs-fullstack-auth/\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/qJkey7UPyiw/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/qJkey7UPyiw/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/qJkey7UPyiw/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/qJkey7UPyiw/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/qJkey7UPyiw/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"Programming\", \"javascript\", \"reactjs\", \"nextjs\", \"mongodb\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Nextjs Deployment\",\n            \"description\": \"https://github.com/hiteshchoudhary/nextjs-fullstack-auth/\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT13M24S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"2782\",\n          \"likeCount\": \"102\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"22\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"eaQc7vbV4po\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-07-02T11:59:15Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Complete Nextjs fullstack Authentication course\",\n          \"description\": \"00:00:00 - Introduction and file structure for front end\\n01:04:17 - Mongodb, signup and login\\n02:05:51 - JWT, cookies and protected routes, middleware\\n02:47:30 - User verification and emails\\n03:43:34 - Deployment and assignment\\n\\nhttps://github.com/hiteshchoudhary/nextjs-fullstack-auth\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/eaQc7vbV4po/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/eaQc7vbV4po/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/eaQc7vbV4po/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/eaQc7vbV4po/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/eaQc7vbV4po/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"devops\",\n            \"cloud\",\n            \"nextjs\",\n            \"mongodb\",\n            \"reactjs\",\n            \"authentication\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Complete Nextjs fullstack Authentication course\",\n            \"description\": \"00:00:00 - Introduction and file structure for front end\\n01:04:17 - Mongodb, signup and login\\n02:05:51 - JWT, cookies and protected routes, middleware\\n02:47:30 - User verification and emails\\n03:43:34 - Deployment and assignment\\n\\nhttps://github.com/hiteshchoudhary/nextjs-fullstack-auth\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT3H56M54S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"17806\",\n          \"likeCount\": \"804\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"78\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"n1edxEq8syI\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-07-02T16:10:43Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Nextjs meets Appwrite\",\n          \"description\": \"https://github.com/hiteshchoudhary/nextjs-appwrite-auth\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/n1edxEq8syI/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/n1edxEq8syI/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/n1edxEq8syI/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/n1edxEq8syI/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/n1edxEq8syI/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"Programming\", \"python\", \"javascript\", \"devops\", \"cloud\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Nextjs meets Appwrite\",\n            \"description\": \"https://github.com/hiteshchoudhary/nextjs-appwrite-auth\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT5M41S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"16158\",\n          \"likeCount\": \"263\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"49\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"xJq0EQMFGyg\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-07-18T12:33:40Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Open Source Project Launch | FreeAPI.app\",\n          \"description\": \"Learn about API and master them with our new open source project. Check it out here:\\nhttps://freeapi.app\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/xJq0EQMFGyg/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/xJq0EQMFGyg/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/xJq0EQMFGyg/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/xJq0EQMFGyg/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/xJq0EQMFGyg/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"Programming\", \"python\", \"javascript\", \"devops\", \"cloud\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Open Source Project Launch | FreeAPI.app\",\n            \"description\": \"Learn about API and master them with our new open source project. Check it out here:\\nhttps://freeapi.app\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT8M45S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"17208\",\n          \"likeCount\": \"1068\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"91\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"2RxaJrltJKo\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-06-30T15:30:00Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"NextJS fullstack course | Signup and login\",\n          \"description\": \"https://github.com/hiteshchoudhary/nextjs-fullstack-auth\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/2RxaJrltJKo/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/2RxaJrltJKo/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/2RxaJrltJKo/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/2RxaJrltJKo/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/2RxaJrltJKo/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"Programming\", \"python\", \"javascript\", \"devops\", \"cloud\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"NextJS fullstack course | Signup and login\",\n            \"description\": \"https://github.com/hiteshchoudhary/nextjs-fullstack-auth\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT1H1M38S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"10018\",\n          \"likeCount\": \"378\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"79\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"75hqPk6pq5g\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-07-19T13:16:33Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Flutter Windows Installation\",\n          \"description\": \"https://hitesh.ai/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/75hqPk6pq5g/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/75hqPk6pq5g/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/75hqPk6pq5g/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/75hqPk6pq5g/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/75hqPk6pq5g/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"Programming\", \"javascript\", \"flutter\", \"flutter windows\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Flutter Windows Installation\",\n            \"description\": \"https://hitesh.ai/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT19M35S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"2955\",\n          \"likeCount\": \"163\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"51\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"dtzfTePFKgM\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-07-18T16:30:07Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"FreeAPI local setup with npm\",\n          \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/dtzfTePFKgM/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/dtzfTePFKgM/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/dtzfTePFKgM/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/dtzfTePFKgM/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/dtzfTePFKgM/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\"Programming\", \"python\", \"javascript\", \"devops\", \"cloud\"],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"FreeAPI local setup with npm\",\n            \"description\": \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT15M12S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"2528\",\n          \"likeCount\": \"128\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"20\"\n        }\n      }\n    },\n    {\n      \"kind\": \"youtube#videoListResponse\",\n      \"items\": {\n        \"kind\": \"youtube#video\",\n        \"id\": \"iPGXk-i-VYU\",\n        \"snippet\": {\n          \"publishedAt\": \"2023-06-30T12:45:03Z\",\n          \"channelId\": \"UCXgGY0wkgOzynnHvSEVmE3A\",\n          \"title\": \"Nextjs Full stack course\",\n          \"description\": \"Source code\\nhttps://github.com/hiteshchoudhary/nextjs-fullstack-auth/\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\",\n          \"thumbnails\": {\n            \"default\": {\n              \"url\": \"https://i.ytimg.com/vi/iPGXk-i-VYU/default.jpg\",\n              \"width\": 120,\n              \"height\": 90\n            },\n            \"medium\": {\n              \"url\": \"https://i.ytimg.com/vi/iPGXk-i-VYU/mqdefault.jpg\",\n              \"width\": 320,\n              \"height\": 180\n            },\n            \"high\": {\n              \"url\": \"https://i.ytimg.com/vi/iPGXk-i-VYU/hqdefault.jpg\",\n              \"width\": 480,\n              \"height\": 360\n            },\n            \"standard\": {\n              \"url\": \"https://i.ytimg.com/vi/iPGXk-i-VYU/sddefault.jpg\",\n              \"width\": 640,\n              \"height\": 480\n            },\n            \"maxres\": {\n              \"url\": \"https://i.ytimg.com/vi/iPGXk-i-VYU/maxresdefault.jpg\",\n              \"width\": 1280,\n              \"height\": 720\n            }\n          },\n          \"channelTitle\": \"Hitesh Choudhary\",\n          \"tags\": [\n            \"Programming\",\n            \"javascript\",\n            \"nextjs\",\n            \"reactjs\",\n            \"full stack\",\n            \"authentication\",\n            \"mongodb\"\n          ],\n          \"categoryId\": \"28\",\n          \"liveBroadcastContent\": \"none\",\n          \"localized\": {\n            \"title\": \"Nextjs Full stack course\",\n            \"description\": \"Source code\\nhttps://github.com/hiteshchoudhary/nextjs-fullstack-auth/\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have a disclaimer in every video but this is how the world is right now. \\nAll videos are for educational purposes and use them wisely. Any video may have a slight mistake, please take decisions based on your research. This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate links (If any).\"\n          },\n          \"defaultAudioLanguage\": \"en\"\n        },\n        \"contentDetails\": {\n          \"duration\": \"PT1H4M11S\",\n          \"dimension\": \"2d\",\n          \"definition\": \"hd\",\n          \"caption\": \"false\",\n          \"licensedContent\": true,\n          \"contentRating\": {},\n          \"projection\": \"rectangular\"\n        },\n        \"statistics\": {\n          \"viewCount\": \"26880\",\n          \"likeCount\": \"1285\",\n          \"favoriteCount\": \"0\",\n          \"commentCount\": \"144\"\n        }\n      }\n    }\n  ]\n}\n"
  },
  {
    "path": "src/logger/morgan.logger.js",
    "content": "import morgan from \"morgan\";\nimport logger from \"./winston.logger.js\";\n\nconst stream = {\n  // Use the http severity\n  write: (message) => logger.http(message.trim()),\n};\n\nconst skip = () => {\n  const env = process.env.NODE_ENV || \"development\";\n  return env !== \"development\";\n};\n\nconst morganMiddleware = morgan(\n  \":remote-addr :method :url :status - :response-time ms\",\n  { stream, skip }\n);\n\nexport default morganMiddleware;\n"
  },
  {
    "path": "src/logger/winston.logger.js",
    "content": "import winston from \"winston\";\n// Define your severity levels.\nconst levels = {\n  error: 0,\n  warn: 1,\n  info: 2,\n  http: 3,\n  debug: 4,\n};\n\n// This method set the current severity based on\n// the current NODE_ENV: show all the log levels\n// if the server was run in development mode; otherwise,\n// if it was run in production, show only warn and error messages.\nconst level = () => {\n  const env = process.env.NODE_ENV || \"development\";\n  const isDevelopment = env === \"development\";\n  return isDevelopment ? \"debug\" : \"warn\";\n};\n\n// Define different colors for each level.\n// Colors make the log message more visible,\n// adding the ability to focus or ignore messages.\nconst colors = {\n  error: \"red\",\n  warn: \"yellow\",\n  info: \"blue\",\n  http: \"magenta\",\n  debug: \"white\",\n};\n\n// Tell winston that you want to link the colors\n// defined above to the severity levels.\nwinston.addColors(colors);\n\n// Chose the aspect of your log customizing the log format.\nconst format = winston.format.combine(\n  // Add the message timestamp with the preferred format\n  winston.format.timestamp({ format: \"DD MMM, YYYY - HH:mm:ss:ms\" }),\n  // Tell Winston that the logs must be colored\n  winston.format.colorize({ all: true }),\n  // Define the format of the message showing the timestamp, the level and the message\n  winston.format.printf(\n    (info) => `[${info.timestamp}] ${info.level}: ${info.message}`\n  )\n);\n\n// Define which transports the logger must use to print out messages.\n// In this example, we are using three different transports\nconst transports = [\n  // Allow the use the console to print the messages\n  new winston.transports.Console(),\n  new winston.transports.File({ filename: \"logs/error.log\", level: \"error\" }),\n  new winston.transports.File({ filename: \"logs/info.log\", level: \"info\" }),\n  new winston.transports.File({ filename: \"logs/http.log\", level: \"http\" }),\n];\n\n// Create the logger instance that has to be exported\n// and used to log messages.\nconst logger = winston.createLogger({\n  level: level(),\n  levels,\n  format,\n  transports,\n});\n\nexport default logger;\n"
  },
  {
    "path": "src/middlewares/auth.middlewares.js",
    "content": "import { AvailableUserRoles } from \"../constants.js\";\nimport { User } from \"../models/apps/auth/user.models.js\";\nimport { ApiError } from \"../utils/ApiError.js\";\nimport { asyncHandler } from \"../utils/asyncHandler.js\";\nimport jwt from \"jsonwebtoken\";\n\nexport const verifyJWT = asyncHandler(async (req, res, next) => {\n  const token =\n    req.cookies?.accessToken ||\n    req.header(\"Authorization\")?.replace(\"Bearer \", \"\");\n\n  if (!token) {\n    throw new ApiError(401, \"Unauthorized request\");\n  }\n\n  try {\n    const decodedToken = jwt.verify(token, process.env.ACCESS_TOKEN_SECRET);\n    const user = await User.findById(decodedToken?._id).select(\n      \"-password -refreshToken -emailVerificationToken -emailVerificationExpiry\"\n    );\n    if (!user) {\n      // Client should make a request to /api/v1/users/refresh-token if they have refreshToken present in their cookie\n      // Then they will get a new access token which will allow them to refresh the access token without logging out the user\n      throw new ApiError(401, \"Invalid access token\");\n    }\n    req.user = user;\n    next();\n  } catch (error) {\n    // Client should make a request to /api/v1/users/refresh-token if they have refreshToken present in their cookie\n    // Then they will get a new access token which will allow them to refresh the access token without logging out the user\n    throw new ApiError(401, error?.message || \"Invalid access token\");\n  }\n});\n\n/**\n *\n * @description Middleware to check logged in users for unprotected routes. The function will set the logged in user to the request object and, if no user is logged in, it will silently fail.\n *\n * `NOTE: THIS MIDDLEWARE IS ONLY TO BE USED FOR UNPROTECTED ROUTES IN WHICH THE LOGGED IN USER'S INFORMATION IS NEEDED`\n */\nexport const getLoggedInUserOrIgnore = asyncHandler(async (req, res, next) => {\n  const token =\n    req.cookies?.accessToken ||\n    req.header(\"Authorization\")?.replace(\"Bearer \", \"\");\n\n  try {\n    const decodedToken = jwt.verify(token, process.env.ACCESS_TOKEN_SECRET);\n    const user = await User.findById(decodedToken?._id).select(\n      \"-password -refreshToken -emailVerificationToken -emailVerificationExpiry\"\n    );\n    req.user = user;\n    next();\n  } catch (error) {\n    // Fail silently with req.user being falsy\n    next();\n  }\n});\n\n/**\n * @param {AvailableUserRoles} roles\n * @description\n * * This middleware is responsible for validating multiple user role permissions at a time.\n * * So, in future if we have a route which can be accessible by multiple roles, we can achieve that with this middleware\n */\nexport const verifyPermission = (roles = []) =>\n  asyncHandler(async (req, res, next) => {\n    if (!req.user?._id) {\n      throw new ApiError(401, \"Unauthorized request\");\n    }\n    if (roles.includes(req.user?.role)) {\n      next();\n    } else {\n      throw new ApiError(403, \"You are not allowed to perform this action\");\n    }\n  });\n\nexport const avoidInProduction = asyncHandler(async (req, res, next) => {\n  if (process.env.NODE_ENV === \"development\") {\n    next();\n  } else {\n    throw new ApiError(\n      403,\n      \"This service is only available in the local environment. For more details visit: https://github.com/hiteshchoudhary/apihub/#readme\"\n    );\n  }\n});\n"
  },
  {
    "path": "src/middlewares/error.middlewares.js",
    "content": "import mongoose from \"mongoose\";\n\nimport logger from \"../logger/winston.logger.js\";\nimport { ApiError } from \"../utils/ApiError.js\";\nimport { asyncHandler } from \"../utils/asyncHandler.js\";\nimport { removeUnusedMulterImageFilesOnError } from \"../utils/helpers.js\";\n\n/**\n *\n * @param {Error | ApiError} err\n * @param {import(\"express\").Request} req\n * @param {import(\"express\").Response} res\n * @param {import(\"express\").NextFunction} next\n *\n *\n * @description This middleware is responsible to catch the errors from any request handler wrapped inside the {@link asyncHandler}\n */\nconst errorHandler = (err, req, res, next) => {\n  let error = err;\n\n  // Check if the error is an instance of an ApiError class which extends native Error class\n  if (!(error instanceof ApiError)) {\n    // if not\n    // create a new ApiError instance to keep the consistency\n\n    // assign an appropriate status code\n    const statusCode =\n      error.statusCode || error instanceof mongoose.Error ? 400 : 500;\n\n    // set a message from native Error instance or a custom one\n    const message = error.message || \"Something went wrong\";\n    error = new ApiError(statusCode, message, error?.errors || [], err.stack);\n  }\n\n  // Now we are sure that the `error` variable will be an instance of ApiError class\n  const response = {\n    ...error,\n    message: error.message,\n    ...(process.env.NODE_ENV === \"development\" ? { stack: error.stack } : {}), // Error stack traces should be visible in development for debugging\n  };\n\n  logger.error(`${error.message}`);\n\n  removeUnusedMulterImageFilesOnError(req);\n  // Send error response\n  return res.status(error.statusCode).json(response);\n};\n\nexport { errorHandler };\n"
  },
  {
    "path": "src/middlewares/multer.middlewares.js",
    "content": "import multer from \"multer\";\n\nconst storage = multer.diskStorage({\n  destination: function (req, file, cb) {\n    // This storage needs public/images folder in the root directory\n    // Else it will throw an error saying cannot find path public/images\n    cb(null, \"./public/images\");\n  },\n  // Store file in a .png/.jpeg/.jpg format instead of binary\n  filename: function (req, file, cb) {\n    let fileExtension = \"\";\n    if (file.originalname.split(\".\").length > 1) {\n      fileExtension = file.originalname.substring(\n        file.originalname.lastIndexOf(\".\")\n      );\n    }\n    const filenameWithoutExtension = file.originalname\n      .toLowerCase()\n      .split(\" \")\n      .join(\"-\")\n      ?.split(\".\")[0];\n    cb(\n      null,\n      filenameWithoutExtension +\n        Date.now() +\n        Math.ceil(Math.random() * 1e5) + // avoid rare name conflict\n        fileExtension\n    );\n  },\n});\n\n// Middleware responsible to read form data and upload the File object to the mentioned path\nexport const upload = multer({\n  storage,\n  limits: {\n    fileSize: 1 * 1000 * 1000,\n  },\n});\n"
  },
  {
    "path": "src/models/apps/auth/user.models.js",
    "content": "import bcrypt from \"bcrypt\";\nimport crypto from \"crypto\";\nimport jwt from \"jsonwebtoken\";\nimport mongoose, { Schema } from \"mongoose\";\nimport {\n  AvailableSocialLogins,\n  AvailableUserRoles,\n  USER_TEMPORARY_TOKEN_EXPIRY,\n  UserLoginType,\n  UserRolesEnum,\n} from \"../../../constants.js\";\nimport { Cart } from \"../ecommerce/cart.models.js\";\nimport { EcomProfile } from \"../ecommerce/profile.models.js\";\nimport { SocialProfile } from \"../social-media/profile.models.js\";\n\nconst userSchema = new Schema(\n  {\n    avatar: {\n      type: {\n        url: String,\n        localPath: String,\n      },\n      default: {\n        url: `https://via.placeholder.com/200x200.png`,\n        localPath: \"\",\n      },\n    },\n    username: {\n      type: String,\n      required: true,\n      unique: true,\n      lowercase: true,\n      trim: true,\n      index: true,\n    },\n    email: {\n      type: String,\n      required: true,\n      unique: true,\n      lowercase: true,\n      trim: true,\n    },\n    role: {\n      type: String,\n      enum: AvailableUserRoles,\n      default: UserRolesEnum.USER,\n      required: true,\n    },\n    password: {\n      type: String,\n      required: [true, \"Password is required\"],\n    },\n    loginType: {\n      type: String,\n      enum: AvailableSocialLogins,\n      default: UserLoginType.EMAIL_PASSWORD,\n    },\n    isEmailVerified: {\n      type: Boolean,\n      default: false,\n    },\n    refreshToken: {\n      type: String,\n    },\n    forgotPasswordToken: {\n      type: String,\n    },\n    forgotPasswordExpiry: {\n      type: Date,\n    },\n    emailVerificationToken: {\n      type: String,\n    },\n    emailVerificationExpiry: {\n      type: Date,\n    },\n  },\n  { timestamps: true }\n);\n\nuserSchema.pre(\"save\", async function (next) {\n  if (!this.isModified(\"password\")) return next();\n  this.password = await bcrypt.hash(this.password, 10);\n  next();\n});\n\nuserSchema.post(\"save\", async function (user, next) {\n  // ! Generally, querying data on every user save is not a good idea and not necessary when you are working on a specific application which has concrete models which are tightly coupled\n  // ! However, in this application this user model is being referenced in many loosely coupled models so we need to do some initial setups before proceeding to make sure the data consistency and integrity\n  const ecomProfile = await EcomProfile.findOne({ owner: user._id });\n  const socialProfile = await SocialProfile.findOne({ owner: user._id });\n  const cart = await Cart.findOne({ owner: user._id });\n\n  // Setup necessary ecommerce models for the user\n  if (!ecomProfile) {\n    await EcomProfile.create({\n      owner: user._id,\n    });\n  }\n  if (!cart) {\n    await Cart.create({\n      owner: user._id,\n      items: [],\n    });\n  }\n\n  // Setup necessary social media models for the user\n  if (!socialProfile) {\n    await SocialProfile.create({\n      owner: user._id,\n    });\n  }\n  next();\n});\n\nuserSchema.methods.isPasswordCorrect = async function (password) {\n  return await bcrypt.compare(password, this.password);\n};\n\nuserSchema.methods.generateAccessToken = function () {\n  return jwt.sign(\n    {\n      _id: this._id,\n      email: this.email,\n      username: this.username,\n      role: this.role,\n    },\n    process.env.ACCESS_TOKEN_SECRET,\n    { expiresIn: process.env.ACCESS_TOKEN_EXPIRY }\n  );\n};\n\nuserSchema.methods.generateRefreshToken = function () {\n  return jwt.sign(\n    {\n      _id: this._id,\n    },\n    process.env.REFRESH_TOKEN_SECRET,\n    { expiresIn: process.env.REFRESH_TOKEN_EXPIRY }\n  );\n};\n\n/**\n * @description Method responsible for generating tokens for email verification, password reset etc.\n */\nuserSchema.methods.generateTemporaryToken = function () {\n  // This token should be client facing\n  // for example: for email verification unHashedToken should go into the user's mail\n  const unHashedToken = crypto.randomBytes(20).toString(\"hex\");\n\n  // This should stay in the DB to compare at the time of verification\n  const hashedToken = crypto\n    .createHash(\"sha256\")\n    .update(unHashedToken)\n    .digest(\"hex\");\n  // This is the expiry time for the token (20 minutes)\n  const tokenExpiry = Date.now() + USER_TEMPORARY_TOKEN_EXPIRY;\n\n  return { unHashedToken, hashedToken, tokenExpiry };\n};\n\nexport const User = mongoose.model(\"User\", userSchema);\n"
  },
  {
    "path": "src/models/apps/chat-app/chat.models.js",
    "content": "import mongoose, { Schema } from \"mongoose\";\n\nconst chatSchema = new Schema(\n  {\n    name: {\n      type: String,\n      required: true,\n    },\n    isGroupChat: {\n      type: Boolean,\n      default: false,\n    },\n    lastMessage: {\n      type: Schema.Types.ObjectId,\n      ref: \"ChatMessage\",\n    },\n    participants: [\n      {\n        type: Schema.Types.ObjectId,\n        ref: \"User\",\n      },\n    ],\n    admin: {\n      type: Schema.Types.ObjectId,\n      ref: \"User\",\n    },\n  },\n  { timestamps: true }\n);\n\nexport const Chat = mongoose.model(\"Chat\", chatSchema);\n"
  },
  {
    "path": "src/models/apps/chat-app/message.models.js",
    "content": "import mongoose, { Schema } from \"mongoose\";\n\n// TODO: Add image and pdf file sharing in the next version\nconst chatMessageSchema = new Schema(\n  {\n    sender: {\n      type: Schema.Types.ObjectId,\n      ref: \"User\",\n    },\n    content: {\n      type: String,\n    },\n    attachments: {\n      type: [\n        {\n          url: String,\n          localPath: String,\n        },\n      ],\n      default: [],\n    },\n    chat: {\n      type: Schema.Types.ObjectId,\n      ref: \"Chat\",\n    },\n  },\n  { timestamps: true }\n);\n\nexport const ChatMessage = mongoose.model(\"ChatMessage\", chatMessageSchema);\n"
  },
  {
    "path": "src/models/apps/ecommerce/address.models.js",
    "content": "import mongoose, { Schema } from \"mongoose\";\nimport { User } from \"../auth/user.models.js\";\nimport mongooseAggregatePaginate from \"mongoose-aggregate-paginate-v2\";\n\nconst addressSchema = new Schema(\n  {\n    addressLine1: {\n      required: true,\n      type: String,\n    },\n    addressLine2: {\n      type: String,\n    },\n    city: {\n      required: true,\n      type: String,\n    },\n    country: {\n      required: true,\n      type: String,\n    },\n    owner: {\n      ref: \"User\",\n      type: Schema.Types.ObjectId,\n    },\n    pincode: {\n      required: true,\n      type: String,\n    },\n    state: {\n      required: true,\n      type: String,\n    },\n  },\n  { timestamps: true }\n);\n\naddressSchema.plugin(mongooseAggregatePaginate);\n\nexport const Address = mongoose.model(\"Address\", addressSchema);\n"
  },
  {
    "path": "src/models/apps/ecommerce/cart.models.js",
    "content": "import mongoose, { Schema } from \"mongoose\";\nimport { User } from \"../auth/user.models.js\";\nimport { Product } from \"./product.models.js\";\nimport { Coupon } from \"./coupon.models.js\";\n\nconst cartSchema = new Schema(\n  {\n    owner: {\n      type: Schema.Types.ObjectId,\n      ref: \"User\",\n    },\n    items: {\n      type: [\n        {\n          productId: {\n            type: Schema.Types.ObjectId,\n            ref: \"Product\",\n          },\n          quantity: {\n            type: Number,\n            required: true,\n            min: [1, \"Quantity can not be less then 1.\"],\n            default: 1,\n          },\n        },\n      ],\n      default: [],\n    },\n    coupon: {\n      type: Schema.Types.ObjectId,\n      ref: \"Coupon\",\n      default: null,\n    },\n  },\n\n  { timestamps: true }\n);\n\nexport const Cart = mongoose.model(\"Cart\", cartSchema);\n"
  },
  {
    "path": "src/models/apps/ecommerce/category.models.js",
    "content": "import mongoose, { Schema } from \"mongoose\";\nimport { User } from \"../auth/user.models.js\";\nimport mongooseAggregatePaginate from \"mongoose-aggregate-paginate-v2\";\n\nconst categorySchema = new Schema(\n  {\n    name: {\n      type: String,\n      required: true,\n    },\n    owner: {\n      type: Schema.Types.ObjectId,\n      ref: \"User\",\n    },\n  },\n  { timestamps: true }\n);\n\ncategorySchema.plugin(mongooseAggregatePaginate);\n\nexport const Category = mongoose.model(\"Category\", categorySchema);\n"
  },
  {
    "path": "src/models/apps/ecommerce/coupon.models.js",
    "content": "import mongoose, { Schema } from \"mongoose\";\nimport { User } from \"../auth/user.models.js\";\nimport { AvailableCouponTypes, CouponTypeEnum } from \"../../../constants.js\";\nimport mongooseAggregatePaginate from \"mongoose-aggregate-paginate-v2\";\n\nconst couponSchema = new Schema(\n  {\n    name: {\n      type: String,\n      required: true,\n    },\n    couponCode: {\n      type: String,\n      unique: true,\n      required: true,\n      trim: true,\n      uppercase: true,\n    },\n    type: {\n      type: String,\n      enum: AvailableCouponTypes,\n      default: CouponTypeEnum.FLAT,\n    },\n    discountValue: {\n      type: Number,\n      required: true,\n    },\n    isActive: {\n      type: Boolean,\n      default: true,\n    },\n    minimumCartValue: {\n      type: Number,\n      default: 0,\n    },\n    startDate: {\n      type: Date,\n      default: Date.now,\n    },\n    expiryDate: {\n      type: Date,\n      default: null,\n    },\n    owner: {\n      type: Schema.Types.ObjectId,\n      ref: \"User\",\n    },\n  },\n  { timestamps: true }\n);\n\ncouponSchema.plugin(mongooseAggregatePaginate);\n\nexport const Coupon = mongoose.model(\"Coupon\", couponSchema);\n"
  },
  {
    "path": "src/models/apps/ecommerce/order.models.js",
    "content": "import mongoose, { Schema } from \"mongoose\";\nimport { User } from \"../auth/user.models.js\";\nimport { Address } from \"./address.models.js\";\nimport { Product } from \"./product.models.js\";\nimport { Coupon } from \"./coupon.models.js\";\nimport {\n  AvailableOrderStatuses,\n  AvailablePaymentProviders,\n  OrderStatusEnum,\n  PaymentProviderEnum,\n} from \"../../../constants.js\";\nimport mongooseAggregatePaginate from \"mongoose-aggregate-paginate-v2\";\n\nconst orderSchema = new Schema(\n  {\n    orderPrice: {\n      type: Number,\n      required: true,\n    },\n    discountedOrderPrice: {\n      type: Number,\n      required: true,\n    },\n    coupon: {\n      type: Schema.Types.ObjectId,\n      ref: \"Coupon\",\n      default: null,\n    },\n    customer: {\n      type: Schema.Types.ObjectId,\n      ref: \"User\",\n    },\n    items: {\n      type: [\n        {\n          productId: {\n            type: Schema.Types.ObjectId,\n            ref: \"Product\",\n          },\n          quantity: {\n            type: Number,\n            required: true,\n            min: [1, \"Quantity can not be less then 1.\"],\n            default: 1,\n          },\n        },\n      ],\n      default: [],\n    },\n    address: {\n      addressLine1: {\n        required: true,\n        type: String,\n      },\n      addressLine2: {\n        type: String,\n      },\n      city: {\n        required: true,\n        type: String,\n      },\n      country: {\n        required: true,\n        type: String,\n      },\n      pincode: {\n        required: true,\n        type: String,\n      },\n      state: {\n        required: true,\n        type: String,\n      },\n    },\n    status: {\n      type: String,\n      enum: AvailableOrderStatuses,\n      default: OrderStatusEnum.PENDING,\n    },\n    paymentProvider: {\n      type: String,\n      enum: AvailablePaymentProviders,\n      default: PaymentProviderEnum.UNKNOWN,\n    },\n    paymentId: {\n      type: String,\n    },\n    // This field shows if the payment is done or not\n    isPaymentDone: {\n      type: Boolean,\n      default: false,\n    },\n  },\n  { timestamps: true }\n);\n\norderSchema.plugin(mongooseAggregatePaginate);\n\nexport const EcomOrder = mongoose.model(\"EcomOrder\", orderSchema);\n"
  },
  {
    "path": "src/models/apps/ecommerce/product.models.js",
    "content": "import mongoose, { Schema } from \"mongoose\";\nimport { User } from \"../auth/user.models.js\";\nimport { Category } from \"./category.models.js\";\nimport mongooseAggregatePaginate from \"mongoose-aggregate-paginate-v2\";\n\nconst productSchema = new Schema(\n  {\n    category: {\n      ref: \"Category\",\n      required: true,\n      type: Schema.Types.ObjectId,\n    },\n    description: {\n      required: true,\n      type: String,\n    },\n    mainImage: {\n      required: true,\n      type: {\n        url: String,\n        localPath: String,\n      },\n    },\n    name: {\n      required: true,\n      type: String,\n    },\n    owner: {\n      ref: \"User\",\n      type: Schema.Types.ObjectId,\n    },\n    price: {\n      default: 0,\n      type: Number,\n    },\n    stock: {\n      default: 0,\n      type: Number,\n    },\n    subImages: {\n      type: [\n        {\n          url: String,\n          localPath: String,\n        },\n      ],\n      default: [],\n    },\n  },\n  { timestamps: true }\n);\n\nproductSchema.plugin(mongooseAggregatePaginate);\n\nexport const Product = mongoose.model(\"Product\", productSchema);\n"
  },
  {
    "path": "src/models/apps/ecommerce/profile.models.js",
    "content": "import mongoose, { Schema } from \"mongoose\";\nimport { User } from \"../auth/user.models.js\";\n\nconst profileSchema = new Schema(\n  {\n    firstName: {\n      type: String,\n      default: \"John\",\n    },\n    lastName: {\n      type: String,\n      default: \"Doe\",\n    },\n    countryCode: {\n      type: String,\n      default: \"\",\n    },\n    phoneNumber: {\n      type: String,\n      default: \"\",\n    },\n    owner: {\n      type: Schema.Types.ObjectId,\n      ref: \"User\",\n    },\n  },\n  { timestamps: true }\n);\n\nexport const EcomProfile = mongoose.model(\"EcomProfile\", profileSchema);\n"
  },
  {
    "path": "src/models/apps/social-media/bookmark.models.js",
    "content": "import mongoose, { Schema } from \"mongoose\";\nimport { User } from \"../auth/user.models.js\";\nimport { SocialPost } from \"./post.models.js\";\nimport mongooseAggregatePaginate from \"mongoose-aggregate-paginate-v2\";\n\nconst bookmarkSchema = new Schema(\n  {\n    postId: {\n      type: Schema.Types.ObjectId,\n      ref: \"SocialPost\",\n    },\n    bookmarkedBy: {\n      type: Schema.Types.ObjectId,\n      ref: \"User\",\n    },\n  },\n  { timestamps: true }\n);\n\nbookmarkSchema.plugin(mongooseAggregatePaginate);\n\nexport const SocialBookmark = mongoose.model(\"SocialBookmark\", bookmarkSchema);\n"
  },
  {
    "path": "src/models/apps/social-media/comment.models.js",
    "content": "import mongoose, { Schema } from \"mongoose\";\nimport { User } from \"../auth/user.models.js\";\nimport { SocialPost } from \"./post.models.js\";\nimport mongooseAggregatePaginate from \"mongoose-aggregate-paginate-v2\";\n\nconst commentSchema = new Schema(\n  {\n    content: {\n      type: String,\n      required: true,\n    },\n    postId: {\n      type: Schema.Types.ObjectId,\n      ref: \"SocialPost\",\n    },\n    author: {\n      type: Schema.Types.ObjectId,\n      ref: \"User\",\n    },\n  },\n  { timestamps: true }\n);\n\ncommentSchema.plugin(mongooseAggregatePaginate);\n\nexport const SocialComment = mongoose.model(\"SocialComment\", commentSchema);\n"
  },
  {
    "path": "src/models/apps/social-media/follow.models.js",
    "content": "import mongoose, { Schema } from \"mongoose\";\nimport { User } from \"../auth/user.models.js\";\nimport mongooseAggregatePaginate from \"mongoose-aggregate-paginate-v2\";\n\nconst followSchema = new Schema(\n  {\n    // The one who follows\n    followerId: {\n      type: Schema.Types.ObjectId,\n      ref: \"User\",\n    },\n    // The one who is being followed\n    followeeId: {\n      type: Schema.Types.ObjectId,\n      ref: \"User\",\n    },\n  },\n  { timestamps: true }\n);\n\nfollowSchema.plugin(mongooseAggregatePaginate);\n\nexport const SocialFollow = mongoose.model(\"SocialFollow\", followSchema);\n"
  },
  {
    "path": "src/models/apps/social-media/like.models.js",
    "content": "import mongoose, { Schema } from \"mongoose\";\nimport { User } from \"../auth/user.models.js\";\nimport { SocialPost } from \"./post.models.js\";\nimport { SocialComment } from \"./comment.models.js\";\n\nconst likeSchema = new Schema(\n  {\n    postId: {\n      type: Schema.Types.ObjectId,\n      ref: \"SocialPost\",\n      default: null,\n    },\n    commentId: {\n      type: Schema.Types.ObjectId,\n      ref: \"SocialComment\",\n      default: null,\n    },\n    likedBy: {\n      type: Schema.Types.ObjectId,\n      ref: \"User\",\n    },\n  },\n  { timestamps: true }\n);\n\nexport const SocialLike = mongoose.model(\"SocialLike\", likeSchema);\n"
  },
  {
    "path": "src/models/apps/social-media/post.models.js",
    "content": "import mongoose, { Schema } from \"mongoose\";\nimport { User } from \"../auth/user.models.js\";\nimport mongooseAggregatePaginate from \"mongoose-aggregate-paginate-v2\";\n\nconst postSchema = new Schema(\n  {\n    content: {\n      type: String,\n      required: true,\n      index: true,\n    },\n    tags: {\n      type: [String],\n      default: [],\n    },\n    images: {\n      type: [\n        {\n          url: String,\n          localPath: String,\n        },\n      ],\n      default: [],\n    },\n    author: {\n      type: Schema.Types.ObjectId,\n      ref: \"User\",\n    },\n  },\n  { timestamps: true }\n);\n\npostSchema.plugin(mongooseAggregatePaginate);\n\nexport const SocialPost = mongoose.model(\"SocialPost\", postSchema);\n"
  },
  {
    "path": "src/models/apps/social-media/profile.models.js",
    "content": "import mongoose, { Schema } from \"mongoose\";\nimport { User } from \"../auth/user.models.js\";\n\nconst profileSchema = new Schema(\n  {\n    coverImage: {\n      type: {\n        url: String,\n        localPath: String,\n      },\n      default: {\n        url: `https://via.placeholder.com/800x450.png`,\n        localPath: \"\",\n      },\n    },\n    firstName: {\n      type: String,\n      default: \"John\",\n    },\n    lastName: {\n      type: String,\n      default: \"Doe\",\n    },\n    bio: {\n      type: String,\n      default: \"\",\n    },\n    dob: {\n      type: Date,\n      default: null,\n    },\n    location: {\n      type: String,\n      default: \"\",\n    },\n    countryCode: {\n      type: String,\n      default: \"\",\n    },\n    phoneNumber: {\n      type: String,\n      default: \"\",\n    },\n    owner: {\n      type: Schema.Types.ObjectId,\n      ref: \"User\",\n    },\n  },\n  { timestamps: true }\n);\n\nexport const SocialProfile = mongoose.model(\"SocialProfile\", profileSchema);\n"
  },
  {
    "path": "src/models/apps/todo/todo.models.js",
    "content": "import mongoose, { Schema } from \"mongoose\";\n\nconst todoSchema = new Schema(\n  {\n    title: {\n      type: String,\n      required: true,\n      index: true,\n    },\n    description: {\n      type: String,\n      default: \"\",\n    },\n    isComplete: {\n      type: Boolean,\n      default: false,\n    },\n  },\n  { timestamps: true }\n);\n\nexport const Todo = mongoose.model(\"Todo\", todoSchema);\n"
  },
  {
    "path": "src/passport/index.js",
    "content": "import passport from \"passport\";\nimport { Strategy as GoogleStrategy } from \"passport-google-oauth20\";\nimport { User } from \"../models/apps/auth/user.models.js\";\nimport { UserLoginType, UserRolesEnum } from \"../constants.js\";\nimport { ApiError } from \"../utils/ApiError.js\";\nimport { Strategy as GitHubStrategy } from \"passport-github2\";\n\ntry {\n  passport.serializeUser((user, next) => {\n    next(null, user._id);\n  });\n\n  passport.deserializeUser(async (id, next) => {\n    try {\n      const user = await User.findById(id);\n      if (user) next(null, user); // return user of exist\n      else next(new ApiError(404, \"User does not exist\"), null); // throw an error if user does not exist\n    } catch (error) {\n      next(\n        new ApiError(\n          500,\n          \"Something went wrong while deserializing the user. Error: \" + error\n        ),\n        null\n      );\n    }\n  });\n\n  passport.use(\n    new GoogleStrategy(\n      {\n        clientID: process.env.GOOGLE_CLIENT_ID,\n        clientSecret: process.env.GOOGLE_CLIENT_SECRET,\n        callbackURL: process.env.GOOGLE_CALLBACK_URL,\n      },\n      async (_, __, profile, next) => {\n        // Check if the user with email already exist\n        const user = await User.findOne({ email: profile._json.email });\n        if (user) {\n          // if user exists, check if user has registered with the GOOGLE SSO\n          if (user.loginType !== UserLoginType.GOOGLE) {\n            // If user is registered with some other method, we will ask him/her to use the same method as registered.\n            // TODO: We can redirect user to appropriate frontend urls which will show users what went wrong instead of sending response from the backend\n            next(\n              new ApiError(\n                400,\n                \"You have previously registered using \" +\n                  user.loginType?.toLowerCase()?.split(\"_\").join(\" \") +\n                  \". Please use the \" +\n                  user.loginType?.toLowerCase()?.split(\"_\").join(\" \") +\n                  \" login option to access your account.\"\n              ),\n              null\n            );\n          } else {\n            // If user is registered with the same login method we will send the saved user\n            next(null, user);\n          }\n        } else {\n          // If user with email does not exists, means the user is coming for the first time\n          const createdUser = await User.create({\n            email: profile._json.email,\n            // There is a check for traditional logic so the password does not matter in this login method\n            password: profile._json.sub, // Set user's password as sub (coming from the google)\n            username: profile._json.email?.split(\"@\")[0], // as email is unique, this username will be unique\n            isEmailVerified: true, // email will be already verified\n            role: UserRolesEnum.USER,\n            avatar: {\n              url: profile._json.picture,\n              localPath: \"\",\n            }, // set avatar as user's google picture\n            loginType: UserLoginType.GOOGLE,\n          });\n          if (createdUser) {\n            next(null, createdUser);\n          } else {\n            next(new ApiError(500, \"Error while registering the user\"), null);\n          }\n        }\n      }\n    )\n  );\n\n  passport.use(\n    new GitHubStrategy(\n      {\n        clientID: process.env.GITHUB_CLIENT_ID,\n        clientSecret: process.env.GITHUB_CLIENT_SECRET,\n        callbackURL: process.env.GITHUB_CALLBACK_URL,\n      },\n      async (_, __, profile, next) => {\n        const user = await User.findOne({ email: profile._json.email });\n        if (user) {\n          if (user.loginType !== UserLoginType.GITHUB) {\n            // TODO: We can redirect user to appropriate frontend urls which will show users what went wrong instead of sending response from the backend\n            next(\n              new ApiError(\n                400,\n                \"You have previously registered using \" +\n                  user.loginType?.toLowerCase()?.split(\"_\").join(\" \") +\n                  \". Please use the \" +\n                  user.loginType?.toLowerCase()?.split(\"_\").join(\" \") +\n                  \" login option to access your account.\"\n              ),\n              null\n            );\n          } else {\n            next(null, user);\n          }\n        } else {\n          if (!profile._json.email) {\n            next(\n              new ApiError(\n                400,\n                \"User does not have a public email associated with their account. Please try another login method\"\n              ),\n              null\n            );\n          } else {\n            // check of user with username same as github profile username already exist\n            const userNameExist = await User.findOne({\n              username: profile?.username,\n            });\n\n            const createdUser = await User.create({\n              email: profile._json.email,\n              password: profile._json.node_id, // password is redundant for the SSO\n              username: userNameExist\n                ? // if username already exist, set the emails first half as the username\n                  profile._json.email?.split(\"@\")[0]\n                : profile?.username,\n              isEmailVerified: true, // email will be already verified\n              role: UserRolesEnum.USER,\n              avatar: {\n                url: profile._json.avatar_url,\n                localPath: \"\",\n              },\n              loginType: UserLoginType.GITHUB,\n            });\n            if (createdUser) {\n              next(null, createdUser);\n            } else {\n              next(new ApiError(500, \"Error while registering the user\"), null);\n            }\n          }\n        }\n      }\n    )\n  );\n} catch (error) {\n  console.error(\"PASSPORT ERROR: \", error);\n}\n"
  },
  {
    "path": "src/routes/apps/auth/user.routes.js",
    "content": "import { Router } from \"express\";\nimport passport from \"passport\";\nimport { UserRolesEnum } from \"../../../constants.js\";\nimport {\n  assignRole,\n  changeCurrentPassword,\n  forgotPasswordRequest,\n  getCurrentUser,\n  handleSocialLogin,\n  loginUser,\n  logoutUser,\n  refreshAccessToken,\n  registerUser,\n  resendEmailVerification,\n  resetForgottenPassword,\n  updateUserAvatar,\n  verifyEmail,\n} from \"../../../controllers/apps/auth/user.controllers.js\";\nimport {\n  verifyJWT,\n  verifyPermission,\n} from \"../../../middlewares/auth.middlewares.js\";\nimport \"../../../passport/index.js\"; // import the passport config\nimport {\n  userAssignRoleValidator,\n  userChangeCurrentPasswordValidator,\n  userForgotPasswordValidator,\n  userLoginValidator,\n  userRegisterValidator,\n  userResetForgottenPasswordValidator,\n} from \"../../../validators/apps/auth/user.validators.js\";\nimport { validate } from \"../../../validators/validate.js\";\nimport { upload } from \"../../../middlewares/multer.middlewares.js\";\nimport { mongoIdPathVariableValidator } from \"../../../validators/common/mongodb.validators.js\";\n\nconst router = Router();\n\n// Unsecured route\nrouter.route(\"/register\").post(userRegisterValidator(), validate, registerUser);\nrouter.route(\"/login\").post(userLoginValidator(), validate, loginUser);\nrouter.route(\"/refresh-token\").post(refreshAccessToken);\nrouter.route(\"/verify-email/:verificationToken\").get(verifyEmail);\n\nrouter\n  .route(\"/forgot-password\")\n  .post(userForgotPasswordValidator(), validate, forgotPasswordRequest);\nrouter\n  .route(\"/reset-password/:resetToken\")\n  .post(\n    userResetForgottenPasswordValidator(),\n    validate,\n    resetForgottenPassword\n  );\n\n// Secured routes\nrouter.route(\"/logout\").post(verifyJWT, logoutUser);\nrouter\n  .route(\"/avatar\")\n  .patch(verifyJWT, upload.single(\"avatar\"), updateUserAvatar);\nrouter.route(\"/current-user\").get(verifyJWT, getCurrentUser);\nrouter\n  .route(\"/change-password\")\n  .post(\n    verifyJWT,\n    userChangeCurrentPasswordValidator(),\n    validate,\n    changeCurrentPassword\n  );\nrouter\n  .route(\"/resend-email-verification\")\n  .post(verifyJWT, resendEmailVerification);\nrouter\n  .route(\"/assign-role/:userId\")\n  .post(\n    verifyJWT,\n    verifyPermission([UserRolesEnum.ADMIN]),\n    mongoIdPathVariableValidator(\"userId\"),\n    userAssignRoleValidator(),\n    validate,\n    assignRole\n  );\n\n// SSO routes\nrouter.route(\"/google\").get(\n  passport.authenticate(\"google\", {\n    scope: [\"profile\", \"email\"],\n  }),\n  (req, res) => {\n    res.send(\"redirecting to google...\");\n  }\n);\n\nrouter.route(\"/github\").get(\n  passport.authenticate(\"github\", {\n    scope: [\"profile\", \"email\"],\n  }),\n  (req, res) => {\n    res.send(\"redirecting to github...\");\n  }\n);\n\nrouter\n  .route(\"/google/callback\")\n  .get(passport.authenticate(\"google\"), handleSocialLogin);\n\nrouter\n  .route(\"/github/callback\")\n  .get(passport.authenticate(\"github\"), handleSocialLogin);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/apps/chat-app/chat.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  addNewParticipantInGroupChat,\n  createAGroupChat,\n  createOrGetAOneOnOneChat,\n  deleteGroupChat,\n  deleteOneOnOneChat,\n  getAllChats,\n  getGroupChatDetails,\n  leaveGroupChat,\n  removeParticipantFromGroupChat,\n  renameGroupChat,\n  searchAvailableUsers,\n} from \"../../../controllers/apps/chat-app/chat.controllers.js\";\nimport { verifyJWT } from \"../../../middlewares/auth.middlewares.js\";\nimport {\n  createAGroupChatValidator,\n  updateGroupChatNameValidator,\n} from \"../../../validators/apps/chat-app/chat.validators.js\";\nimport { mongoIdPathVariableValidator } from \"../../../validators/common/mongodb.validators.js\";\nimport { validate } from \"../../../validators/validate.js\";\n\nconst router = Router();\n\nrouter.use(verifyJWT);\n\nrouter.route(\"/\").get(getAllChats);\n\nrouter.route(\"/users\").get(searchAvailableUsers);\n\nrouter\n  .route(\"/c/:receiverId\")\n  .post(\n    mongoIdPathVariableValidator(\"receiverId\"),\n    validate,\n    createOrGetAOneOnOneChat\n  );\n\nrouter\n  .route(\"/group\")\n  .post(createAGroupChatValidator(), validate, createAGroupChat);\n\nrouter\n  .route(\"/group/:chatId\")\n  .get(mongoIdPathVariableValidator(\"chatId\"), validate, getGroupChatDetails)\n  .patch(\n    mongoIdPathVariableValidator(\"chatId\"),\n    updateGroupChatNameValidator(),\n    validate,\n    renameGroupChat\n  )\n  .delete(mongoIdPathVariableValidator(\"chatId\"), validate, deleteGroupChat);\n\nrouter\n  .route(\"/group/:chatId/:participantId\")\n  .post(\n    mongoIdPathVariableValidator(\"chatId\"),\n    mongoIdPathVariableValidator(\"participantId\"),\n    validate,\n    addNewParticipantInGroupChat\n  )\n  .delete(\n    mongoIdPathVariableValidator(\"chatId\"),\n    mongoIdPathVariableValidator(\"participantId\"),\n    validate,\n    removeParticipantFromGroupChat\n  );\n\nrouter\n  .route(\"/leave/group/:chatId\")\n  .delete(mongoIdPathVariableValidator(\"chatId\"), validate, leaveGroupChat);\n\nrouter\n  .route(\"/remove/:chatId\")\n  .delete(mongoIdPathVariableValidator(\"chatId\"), validate, deleteOneOnOneChat);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/apps/chat-app/message.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  deleteMessage,\n  getAllMessages,\n  sendMessage,\n} from \"../../../controllers/apps/chat-app/message.controllers.js\";\nimport { verifyJWT } from \"../../../middlewares/auth.middlewares.js\";\nimport { upload } from \"../../../middlewares/multer.middlewares.js\";\nimport { sendMessageValidator } from \"../../../validators/apps/chat-app/message.validators.js\";\nimport { mongoIdPathVariableValidator } from \"../../../validators/common/mongodb.validators.js\";\nimport { validate } from \"../../../validators/validate.js\";\n\nconst router = Router();\n\nrouter.use(verifyJWT);\n\nrouter\n  .route(\"/:chatId\")\n  .get(mongoIdPathVariableValidator(\"chatId\"), validate, getAllMessages)\n  .post(\n    upload.fields([{ name: \"attachments\", maxCount: 5 }]),\n    mongoIdPathVariableValidator(\"chatId\"),\n    sendMessageValidator(),\n    validate,\n    sendMessage\n  );\n\n//Delete message route based on Message id\n\nrouter\n  .route(\"/:chatId/:messageId\")\n  .delete(\n    mongoIdPathVariableValidator(\"chatId\"),\n    mongoIdPathVariableValidator(\"messageId\"),\n    validate,\n    deleteMessage\n  );\n\nexport default router;\n"
  },
  {
    "path": "src/routes/apps/ecommerce/address.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  createAddress,\n  deleteAddress,\n  getAddressById,\n  getAllAddresses,\n  updateAddress,\n} from \"../../../controllers/apps/ecommerce/address.controllers.js\";\nimport { verifyJWT } from \"../../../middlewares/auth.middlewares.js\";\nimport {\n  createAddressValidator,\n  updateAddressValidator,\n} from \"../../../validators/apps/ecommerce/address.validators.js\";\nimport { validate } from \"../../../validators/validate.js\";\nimport { mongoIdPathVariableValidator } from \"../../../validators/common/mongodb.validators.js\";\n\nconst router = Router();\n\n// All routes require authentication\nrouter.use(verifyJWT);\n\nrouter\n  .route(\"/\")\n  .post(createAddressValidator(), validate, createAddress)\n  .get(getAllAddresses);\n\nrouter\n  .route(\"/:addressId\")\n  .get(mongoIdPathVariableValidator(\"addressId\"), validate, getAddressById)\n  .delete(mongoIdPathVariableValidator(\"addressId\"), validate, deleteAddress)\n  .patch(\n    updateAddressValidator(),\n    mongoIdPathVariableValidator(\"addressId\"),\n    validate,\n    updateAddress\n  );\n\nexport default router;\n"
  },
  {
    "path": "src/routes/apps/ecommerce/cart.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  addItemOrUpdateItemQuantity,\n  clearCart,\n  getUserCart,\n  removeItemFromCart,\n} from \"../../../controllers/apps/ecommerce/cart.controllers.js\";\nimport { verifyJWT } from \"../../../middlewares/auth.middlewares.js\";\nimport { addItemOrUpdateItemQuantityValidator } from \"../../../validators/apps/ecommerce/cart.validators.js\";\nimport { validate } from \"../../../validators/validate.js\";\nimport { mongoIdPathVariableValidator } from \"../../../validators/common/mongodb.validators.js\";\n\nconst router = Router();\n\nrouter.use(verifyJWT);\n\nrouter.route(\"/\").get(getUserCart);\n\nrouter.route(\"/clear\").delete(clearCart);\n\nrouter\n  .route(\"/item/:productId\")\n  .post(\n    mongoIdPathVariableValidator(\"productId\"),\n    addItemOrUpdateItemQuantityValidator(),\n    validate,\n    addItemOrUpdateItemQuantity\n  )\n  .delete(mongoIdPathVariableValidator(\"productId\"), validate, removeItemFromCart);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/apps/ecommerce/category.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  createCategory,\n  deleteCategory,\n  getAllCategories,\n  getCategoryById,\n  updateCategory,\n} from \"../../../controllers/apps/ecommerce/category.controllers.js\";\nimport {\n  categoryRequestBodyValidator,\n} from \"../../../validators/apps/ecommerce/category.validators.js\";\nimport { validate } from \"../../../validators/validate.js\";\nimport {\n  verifyPermission,\n  verifyJWT,\n} from \"../../../middlewares/auth.middlewares.js\";\nimport { UserRolesEnum } from \"../../../constants.js\";\nimport { mongoIdPathVariableValidator } from \"../../../validators/common/mongodb.validators.js\";\n\nconst router = Router();\n\nrouter\n  .route(\"/\")\n  .post(\n    verifyJWT,\n    verifyPermission([UserRolesEnum.ADMIN]),\n    categoryRequestBodyValidator(),\n    validate,\n    createCategory\n  )\n  .get(getAllCategories);\n\nrouter\n  .route(\"/:categoryId\")\n  .get(mongoIdPathVariableValidator(\"categoryId\"), validate, getCategoryById)\n  .delete(\n    verifyJWT,\n    verifyPermission([UserRolesEnum.ADMIN]),\n    mongoIdPathVariableValidator(\"categoryId\"),\n    validate,\n    deleteCategory\n  )\n  .patch(\n    verifyJWT,\n    verifyPermission([UserRolesEnum.ADMIN]),\n    categoryRequestBodyValidator(),\n    mongoIdPathVariableValidator(\"categoryId\"),\n    validate,\n    updateCategory\n  );\n\nexport default router;\n"
  },
  {
    "path": "src/routes/apps/ecommerce/coupon.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  applyCoupon,\n  createCoupon,\n  deleteCoupon,\n  getAllCoupons,\n  getCouponById,\n  getValidCouponsForCustomer,\n  removeCouponFromCart,\n  updateCoupon,\n  updateCouponActiveStatus,\n} from \"../../../controllers/apps/ecommerce/coupon.controllers.js\";\nimport {\n  verifyPermission,\n  verifyJWT,\n} from \"../../../middlewares/auth.middlewares.js\";\nimport {\n  applyCouponCodeValidator,\n  couponActivityStatusValidator,\n  createCouponValidator,\n  updateCouponValidator,\n} from \"../../../validators/apps/ecommerce/coupon.validators.js\";\nimport { validate } from \"../../../validators/validate.js\";\nimport { UserRolesEnum } from \"../../../constants.js\";\nimport { mongoIdPathVariableValidator } from \"../../../validators/common/mongodb.validators.js\";\n\nconst router = Router();\n\n// * CUSTOMER ROUTES\nrouter.use(verifyJWT);\n\nrouter\n  .route(\"/c/apply\")\n  .post(applyCouponCodeValidator(), validate, applyCoupon);\nrouter.route(\"/c/remove\").post(removeCouponFromCart);\n// get coupons that customer can apply based on coupons active status and customer's cart value\nrouter.route(\"/customer/available\").get(getValidCouponsForCustomer);\n\n// * ADMIN ROUTES\nrouter.use(verifyPermission([UserRolesEnum.ADMIN]));\n\nrouter\n  .route(\"/\")\n  .get(getAllCoupons)\n  .post(createCouponValidator(), validate, createCoupon);\n\nrouter\n  .route(\"/:couponId\")\n  .get(mongoIdPathVariableValidator(\"couponId\"), validate, getCouponById)\n  .patch(\n    mongoIdPathVariableValidator(\"couponId\"),\n    updateCouponValidator(),\n    validate,\n    updateCoupon\n  )\n  .delete(mongoIdPathVariableValidator(\"couponId\"), validate, deleteCoupon);\n\nrouter\n  .route(\"/status/:couponId\")\n  .patch(\n    mongoIdPathVariableValidator(\"couponId\"),\n    couponActivityStatusValidator(),\n    validate,\n    updateCouponActiveStatus\n  );\n\nexport default router;\n"
  },
  {
    "path": "src/routes/apps/ecommerce/order.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  generatePaypalOrder,\n  generateRazorpayOrder,\n  getOrderById,\n  getOrderListAdmin,\n  updateOrderStatus,\n  verifyPaypalPayment,\n  verifyRazorpayPayment,\n} from \"../../../controllers/apps/ecommerce/order.controllers.js\";\nimport {\n  verifyPermission,\n  verifyJWT,\n} from \"../../../middlewares/auth.middlewares.js\";\nimport {\n  orderUpdateStatusValidator,\n  verifyPaypalPaymentValidator,\n  verifyRazorpayPaymentValidator,\n} from \"../../../validators/apps/ecommerce/order.validators.js\";\nimport { validate } from \"../../../validators/validate.js\";\nimport { UserRolesEnum } from \"../../../constants.js\";\nimport { mongoIdPathVariableValidator, mongoIdRequestBodyValidator } from \"../../../validators/common/mongodb.validators.js\";\n\nconst router = Router();\n\nrouter.use(verifyJWT);\n\nrouter\n  .route(\"/provider/razorpay\")\n  .post(mongoIdRequestBodyValidator(\"addressId\"), validate, generateRazorpayOrder);\nrouter\n  .route(\"/provider/paypal\")\n  .post(mongoIdRequestBodyValidator(\"addressId\"), validate, generatePaypalOrder);\n\nrouter\n  .route(\"/provider/razorpay/verify-payment\")\n  .post(verifyRazorpayPaymentValidator(), validate, verifyRazorpayPayment);\n\nrouter\n  .route(\"/provider/paypal/verify-payment\")\n  .post(verifyPaypalPaymentValidator(), validate, verifyPaypalPayment);\n\nrouter\n  .route(\"/:orderId\")\n  .get(mongoIdPathVariableValidator(\"orderId\"), validate, getOrderById);\n\nrouter\n  .route(\"/list/admin\")\n  .get(verifyPermission([UserRolesEnum.ADMIN]), getOrderListAdmin);\nrouter\n  .route(\"/status/:orderId\")\n  .patch(\n    verifyPermission([UserRolesEnum.ADMIN]),\n    mongoIdPathVariableValidator(\"orderId\"),\n    orderUpdateStatusValidator(),\n    validate,\n    updateOrderStatus\n  );\n\nexport default router;\n"
  },
  {
    "path": "src/routes/apps/ecommerce/product.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  createProduct,\n  deleteProduct,\n  getAllProducts,\n  getProductById,\n  getProductsByCategory,\n  removeProductSubImage,\n  updateProduct,\n} from \"../../../controllers/apps/ecommerce/product.controllers.js\";\nimport {\n  verifyPermission,\n  verifyJWT,\n} from \"../../../middlewares/auth.middlewares.js\";\nimport { upload } from \"../../../middlewares/multer.middlewares.js\";\nimport {\n  createProductValidator,\n  updateProductValidator,\n} from \"../../../validators/apps/ecommerce/product.validators.js\";\nimport { validate } from \"../../../validators/validate.js\";\nimport { MAXIMUM_SUB_IMAGE_COUNT, UserRolesEnum } from \"../../../constants.js\";\nimport { mongoIdPathVariableValidator } from \"../../../validators/common/mongodb.validators.js\";\n\nconst router = Router();\n\nrouter\n  .route(\"/\")\n  .get(getAllProducts)\n  .post(\n    verifyJWT,\n    verifyPermission([UserRolesEnum.ADMIN]),\n    // In product form we will received one main image file type\n    // And max 4 sub images\n    upload.fields([\n      {\n        name: \"mainImage\",\n        maxCount: 1,\n      },\n      {\n        // frontend will send at max 4 `subImages` keys with file object which we will save in the backend\n        name: \"subImages\",\n        maxCount: MAXIMUM_SUB_IMAGE_COUNT, // maximum number of subImages is 4\n      },\n    ]),\n    createProductValidator(),\n    validate,\n    createProduct\n  );\n\nrouter\n  .route(\"/:productId\")\n  .get(mongoIdPathVariableValidator(\"productId\"), validate, getProductById)\n  .patch(\n    verifyJWT,\n    verifyPermission([UserRolesEnum.ADMIN]),\n    upload.fields([\n      {\n        name: \"mainImage\",\n        maxCount: 1,\n      },\n      {\n        name: \"subImages\",\n        maxCount: MAXIMUM_SUB_IMAGE_COUNT, // maximum number of subImages is 4\n      },\n    ]),\n    mongoIdPathVariableValidator(\"productId\"),\n    updateProductValidator(),\n    validate,\n    updateProduct\n  )\n  .delete(\n    verifyJWT,\n    verifyPermission([UserRolesEnum.ADMIN]),\n    mongoIdPathVariableValidator(\"productId\"),\n    validate,\n    deleteProduct\n  );\n\nrouter\n  .route(\"/category/:categoryId\")\n  .get(mongoIdPathVariableValidator(\"categoryId\"), validate, getProductsByCategory);\n\nrouter\n  .route(\"/remove/subimage/:productId/:subImageId\")\n  .patch(\n    verifyJWT,\n    verifyPermission([UserRolesEnum.ADMIN]),\n    mongoIdPathVariableValidator(\"productId\"),\n    mongoIdPathVariableValidator(\"subImageId\"),\n    validate,\n    removeProductSubImage\n  );\n\nexport default router;\n"
  },
  {
    "path": "src/routes/apps/ecommerce/profile.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  getMyEcomProfile,\n  getMyOrders,\n  updateEcomProfile,\n} from \"../../../controllers/apps/ecommerce/profile.controllers.js\";\nimport { verifyJWT } from \"../../../middlewares/auth.middlewares.js\";\nimport { updateEcomProfileValidator } from \"../../../validators/apps/ecommerce/profile.validators.js\";\nimport { validate } from \"../../../validators/validate.js\";\n\nconst router = Router();\n\nrouter.use(verifyJWT);\n\nrouter\n  .route(\"/\")\n  .get(getMyEcomProfile)\n  .patch(updateEcomProfileValidator(), validate, updateEcomProfile);\n\nrouter.route(\"/my-orders\").get(getMyOrders);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/apps/social-media/bookmark.routes.js",
    "content": "import { Router } from \"express\";\nimport { verifyJWT } from \"../../../middlewares/auth.middlewares.js\";\nimport { bookmarkUnBookmarkPost } from \"../../../controllers/apps/social-media/bookmark.controllers.js\";\nimport { validate } from \"../../../validators/validate.js\";\nimport { getBookMarkedPosts } from \"../../../controllers/apps/social-media/post.controllers.js\";\nimport { mongoIdPathVariableValidator } from \"../../../validators/common/mongodb.validators.js\";\n\nconst router = Router();\n\nrouter.use(verifyJWT);\n\nrouter.route(\"/\").get(getBookMarkedPosts); // getBookMarkedPosts controller is present in posts controller due to utility function dependency\n\nrouter\n  .route(\"/:postId\")\n  .post(mongoIdPathVariableValidator(\"postId\"), validate, bookmarkUnBookmarkPost);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/apps/social-media/comment.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  addComment,\n  deleteComment,\n  getPostComments,\n  updateComment,\n} from \"../../../controllers/apps/social-media/comment.controllers.js\";\nimport {\n  getLoggedInUserOrIgnore,\n  verifyJWT,\n} from \"../../../middlewares/auth.middlewares.js\";\nimport {\n  commentContentValidator,\n} from \"../../../validators/apps/social-media/comment.validators.js\";\nimport { validate } from \"../../../validators/validate.js\";\nimport { mongoIdPathVariableValidator } from \"../../../validators/common/mongodb.validators.js\";\n\nconst router = Router();\n\nrouter\n  .route(\"/post/:postId\")\n  .get(\n    getLoggedInUserOrIgnore,\n    mongoIdPathVariableValidator(\"postId\"),\n    validate,\n    getPostComments\n  )\n  .post(\n    verifyJWT,\n    mongoIdPathVariableValidator(\"postId\"),\n    commentContentValidator(),\n    validate,\n    addComment\n  );\n\nrouter\n  .route(\"/:commentId\")\n  .delete(verifyJWT, mongoIdPathVariableValidator(\"commentId\"), validate, deleteComment)\n  .patch(\n    verifyJWT,\n    mongoIdPathVariableValidator(\"commentId\"),\n    commentContentValidator(),\n    validate,\n    updateComment\n  );\n\nexport default router;\n"
  },
  {
    "path": "src/routes/apps/social-media/follow.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  followUnFollowUser,\n  getFollowersListByUserName,\n  getFollowingListByUserName,\n} from \"../../../controllers/apps/social-media/follow.controllers.js\";\nimport {\n  getLoggedInUserOrIgnore,\n  verifyJWT,\n} from \"../../../middlewares/auth.middlewares.js\";\nimport { validate } from \"../../../validators/validate.js\";\nimport { mongoIdPathVariableValidator } from \"../../../validators/common/mongodb.validators.js\";\n\nconst router = Router();\n\nrouter\n  .route(\"/:toBeFollowedUserId\")\n  .post(verifyJWT, mongoIdPathVariableValidator(\"toBeFollowedUserId\"), validate, followUnFollowUser);\n\nrouter\n  .route(\"/list/followers/:username\")\n  .get(getLoggedInUserOrIgnore, getFollowersListByUserName);\n\nrouter\n  .route(\"/list/following/:username\")\n  .get(getLoggedInUserOrIgnore, getFollowingListByUserName);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/apps/social-media/like.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  likeDislikeComment,\n  likeDislikePost,\n} from \"../../../controllers/apps/social-media/like.controllers.js\";\nimport { verifyJWT } from \"../../../middlewares/auth.middlewares.js\";\nimport { validate } from \"../../../validators/validate.js\";\nimport { mongoIdPathVariableValidator } from \"../../../validators/common/mongodb.validators.js\";\n\nconst router = Router();\n\nrouter\n  .route(\"/post/:postId\")\n  .post(verifyJWT, mongoIdPathVariableValidator(\"postId\"), validate, likeDislikePost);\n\nrouter\n  .route(\"/comment/:commentId\")\n  .post(\n    verifyJWT,\n    mongoIdPathVariableValidator(\"commentId\"),\n    validate,\n    likeDislikeComment\n  );\n\nexport default router;\n"
  },
  {
    "path": "src/routes/apps/social-media/post.routes.js",
    "content": "import { Router } from \"express\";\nimport { MAXIMUM_SOCIAL_POST_IMAGE_COUNT } from \"../../../constants.js\";\nimport {\n  createPost,\n  deletePost,\n  getAllPosts,\n  getMyPosts,\n  getPostById,\n  getPostsByTag,\n  getPostsByUsername,\n  removePostImage,\n  updatePost,\n} from \"../../../controllers/apps/social-media/post.controllers.js\";\nimport {\n  getLoggedInUserOrIgnore,\n  verifyJWT,\n} from \"../../../middlewares/auth.middlewares.js\";\nimport { upload } from \"../../../middlewares/multer.middlewares.js\";\nimport {\n  createPostValidator,\n  tagPathVariableValidator,\n  updatePostValidator,\n  usernamePathVariableValidator,\n} from \"../../../validators/apps/social-media/post.validators.js\";\nimport { validate } from \"../../../validators/validate.js\";\nimport { mongoIdPathVariableValidator } from \"../../../validators/common/mongodb.validators.js\";\n\nconst router = Router();\n\nrouter\n  .route(\"/\")\n  .get(getLoggedInUserOrIgnore, getAllPosts)\n  .post(\n    verifyJWT,\n    upload.fields([\n      { name: \"images\", maxCount: MAXIMUM_SOCIAL_POST_IMAGE_COUNT },\n    ]),\n    createPostValidator(),\n    validate,\n    createPost\n  );\n\nrouter.route(\"/get/my\").get(verifyJWT, getMyPosts);\n\nrouter\n  .route(\"/get/u/:username\")\n  .get(\n    getLoggedInUserOrIgnore,\n    usernamePathVariableValidator(),\n    validate,\n    getPostsByUsername\n  );\n\nrouter\n  .route(\"/get/t/:tag\")\n  .get(\n    getLoggedInUserOrIgnore,\n    tagPathVariableValidator(),\n    validate,\n    getPostsByTag\n  );\n\nrouter\n  .route(\"/:postId\")\n  .get(\n    getLoggedInUserOrIgnore,\n    mongoIdPathVariableValidator(\"postId\"),\n    validate,\n    getPostById\n  )\n  .patch(\n    verifyJWT,\n    upload.fields([\n      { name: \"images\", maxCount: MAXIMUM_SOCIAL_POST_IMAGE_COUNT },\n    ]),\n    mongoIdPathVariableValidator(\"postId\"),\n    updatePostValidator(),\n    validate,\n    updatePost\n  )\n  .delete(verifyJWT, mongoIdPathVariableValidator(\"postId\"), validate, deletePost);\n\nrouter\n  .route(\"/remove/image/:postId/:imageId\")\n  .patch(\n    verifyJWT,\n    mongoIdPathVariableValidator(\"postId\"),\n    mongoIdPathVariableValidator(\"imageId\"),\n    validate,\n    removePostImage\n  );\n\nexport default router;\n"
  },
  {
    "path": "src/routes/apps/social-media/profile.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  getMySocialProfile,\n  getProfileByUserName,\n  updateCoverImage,\n  updateSocialProfile,\n} from \"../../../controllers/apps/social-media/profile.controllers.js\";\nimport {\n  getLoggedInUserOrIgnore,\n  verifyJWT,\n} from \"../../../middlewares/auth.middlewares.js\";\nimport { upload } from \"../../../middlewares/multer.middlewares.js\";\nimport {\n  getProfileByUserNameValidator,\n  updateSocialProfileValidator,\n} from \"../../../validators/apps/social-media/profile.validators.js\";\nimport { validate } from \"../../../validators/validate.js\";\n\nconst router = Router();\n\n// public route\nrouter.route(\"/u/:username\").get(\n  getLoggedInUserOrIgnore, // hover over the middleware to know more\n  getProfileByUserNameValidator(),\n  validate,\n  getProfileByUserName\n);\n\nrouter.use(verifyJWT);\n\nrouter\n  .route(\"/\")\n  .get(getMySocialProfile)\n  .patch(updateSocialProfileValidator(), validate, updateSocialProfile);\n\nrouter\n  .route(\"/cover-image\")\n  .patch(upload.single(\"coverImage\"), updateCoverImage);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/apps/todo/todo.routes.js",
    "content": "import { Router } from \"express\";\n\nimport {\n  createTodo,\n  deleteTodo,\n  getAllTodos,\n  getTodoById,\n  toggleTodoDoneStatus,\n  updateTodo,\n} from \"../../../controllers/apps/todo/todo.controllers.js\";\nimport {\n  createTodoValidator,\n  getAllTodosQueryValidators,\n  updateTodoValidator,\n} from \"../../../validators/apps/todo/todo.validators.js\";\nimport { mongoIdPathVariableValidator } from \"../../../validators/common/mongodb.validators.js\";\nimport { validate } from \"../../../validators/validate.js\";\n\nconst router = Router();\n\nrouter\n  .route(\"/\")\n  .post(createTodoValidator(), validate, createTodo)\n  .get(getAllTodosQueryValidators(), validate, getAllTodos);\n\nrouter\n  .route(\"/:todoId\")\n  .get(mongoIdPathVariableValidator(\"todoId\"), validate, getTodoById)\n  .patch(\n    mongoIdPathVariableValidator(\"todoId\"),\n    updateTodoValidator(),\n    validate,\n    updateTodo\n  )\n  .delete(mongoIdPathVariableValidator(\"todoId\"), validate, deleteTodo);\n\nrouter\n  .route(\"/toggle/status/:todoId\")\n  .patch(\n    mongoIdPathVariableValidator(\"todoId\"),\n    validate,\n    toggleTodoDoneStatus\n  );\n\nexport default router;\n"
  },
  {
    "path": "src/routes/healthcheck.routes.js",
    "content": "import { Router } from \"express\";\nimport { healthcheck } from \"../controllers/healthcheck.controllers.js\";\n\nconst router = Router();\n\nrouter.route(\"/\").get(healthcheck);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/kitchen-sink/cookie.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  getCookies,\n  removeCookie,\n  setCookie,\n} from \"../../controllers/kitchen-sink/cookie.controllers.js\";\nimport { cookieKeyQueryStringValidator } from \"../../validators/kitchen-sink/cookie.validators.js\";\nimport { validate } from \"../../validators/validate.js\";\n\nconst router = Router();\n\nrouter.route(\"/get\").get(getCookies);\nrouter.route(\"/set\").post(setCookie);\nrouter\n  .route(\"/remove\")\n  .delete(cookieKeyQueryStringValidator(), validate, removeCookie);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/kitchen-sink/httpmethod.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  deleteRequest,\n  getRequest,\n  patchRequest,\n  postRequest,\n  putRequest,\n} from \"../../controllers/kitchen-sink/httpmethod.controllers.js\";\n\nconst router = Router();\n\nrouter.route(\"/get\").get(getRequest);\nrouter.route(\"/post\").post(postRequest);\nrouter.route(\"/put\").put(putRequest);\nrouter.route(\"/patch\").patch(patchRequest);\nrouter.route(\"/delete\").delete(deleteRequest);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/kitchen-sink/image.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  sendJpegImage,\n  sendJpgImage,\n  sendPngImage,\n  sendSvgImage,\n  sendWebpImage,\n} from \"../../controllers/kitchen-sink/image.controllers.js\";\n\nconst router = Router();\n\nrouter.route(\"/jpeg\").get(sendJpegImage);\nrouter.route(\"/jpg\").get(sendJpgImage);\nrouter.route(\"/png\").get(sendPngImage);\nrouter.route(\"/svg\").get(sendSvgImage);\nrouter.route(\"/webp\").get(sendWebpImage);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/kitchen-sink/redirect.routes.js",
    "content": "import { Router } from \"express\";\nimport { redirectToTheUrl } from \"../../controllers/kitchen-sink/redirect.controllers.js\";\nimport { redirectToTheUrlValidator } from \"../../validators/kitchen-sink/redirect.validators.js\";\nimport { validate } from \"../../validators/validate.js\";\n\nconst router = Router();\n\nrouter\n  .route(\"/to\")\n  .get(redirectToTheUrlValidator(), validate, redirectToTheUrl);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/kitchen-sink/requestinspection.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  getClientIP,\n  getPathVariables,\n  getQueryParameters,\n  getRequestHeaders,\n  getUserAgent,\n} from \"../../controllers/kitchen-sink/requestinspection.controllers.js\";\n\nconst router = Router();\n\nrouter.route(\"/headers\").get(getRequestHeaders);\nrouter.route(\"/ip\").get(getClientIP);\nrouter.route(\"/user-agent\").get(getUserAgent);\nrouter.route(\"/path-variable/:pathVariable\").get(getPathVariables);\nrouter.route(\"/query-parameter\").get(getQueryParameters);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/kitchen-sink/responseinspection.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  getResponseHeaders,\n  sendBrotliResponse,\n  sendGzipResponse,\n  sendHTMLTemplate,\n  sendXMLData,\n  setCacheControlHeader,\n} from \"../../controllers/kitchen-sink/responseinspection.controllers.js\";\nimport { setCacheControlHeaderValidator } from \"../../validators/kitchen-sink/responseinspection.validators.js\";\nimport { validate } from \"../../validators/validate.js\";\nimport compression from \"express-compression\";\n\nconst router = Router();\n\nrouter\n  .route(\"/cache/:timeToLive/:cacheResponseDirective\")\n  .get(setCacheControlHeaderValidator(), validate, setCacheControlHeader);\nrouter.route(\"/headers\").get(getResponseHeaders);\nrouter.route(\"/html\").get(sendHTMLTemplate);\nrouter.route(\"/xml\").get(sendXMLData);\n\nrouter.use(compression()).route(\"/gzip\").get(sendGzipResponse);\n\nrouter\n  .use(\n    compression({\n      brotli: {\n        enabled: true,\n        zlib: {},\n      },\n    })\n  )\n  .get(\"/brotli\", sendBrotliResponse);\nexport default router;\n"
  },
  {
    "path": "src/routes/kitchen-sink/statuscode.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  getAllStatusCodes,\n  getStatusCode,\n} from \"../../controllers/kitchen-sink/statuscode.controllers.js\";\nimport { statusCodeValidator } from \"../../validators/kitchen-sink/statuscode.validators.js\";\nimport { validate } from \"../../validators/validate.js\";\n\nconst router = Router();\n\nrouter.route(\"/\").get(getAllStatusCodes);\n\nrouter\n  .route(\"/:statusCode\")\n  .get(statusCodeValidator(), validate, getStatusCode);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/public/book.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  getARandomBook,\n  getBookById,\n  getBooks,\n} from \"../../controllers/public/book.controllers.js\";\n\nconst router = Router();\n\nrouter.route(\"/\").get(getBooks);\nrouter.route(\"/:bookId\").get(getBookById);\nrouter.route(\"/book/random\").get(getARandomBook);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/public/cat.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  getARandomCat,\n  getCatById,\n  getCats,\n} from \"../../controllers/public/cat.controllers.js\";\n\nconst router = Router();\n\nrouter.route(\"/\").get(getCats);\nrouter.route(\"/:catId\").get(getCatById);\nrouter.route(\"/cat/random\").get(getARandomCat);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/public/dog.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  getARandomDog,\n  getDogById,\n  getDogs,\n} from \"../../controllers/public/dog.controllers.js\";\n\nconst router = Router();\n\nrouter.route(\"/\").get(getDogs);\nrouter.route(\"/:dogId\").get(getDogById);\nrouter.route(\"/dog/random\").get(getARandomDog);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/public/meal.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  getARandomMeal,\n  getMealById,\n  getMeals,\n} from \"../../controllers/public/meal.controllers.js\";\n\nconst router = Router();\n\nrouter.route(\"/\").get(getMeals);\nrouter.route(\"/:mealId\").get(getMealById);\nrouter.route(\"/meal/random\").get(getARandomMeal);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/public/quote.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  getARandomQuote,\n  getQuoteById,\n  getQuotes,\n} from \"../../controllers/public/quote.controllers.js\";\n\nconst router = Router();\n\nrouter.route(\"/\").get(getQuotes);\nrouter.route(\"/:quoteId\").get(getQuoteById);\nrouter.route(\"/quote/random\").get(getARandomQuote);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/public/randomjoke.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  getARandomJoke,\n  getJokeById,\n  getRandomJokes,\n} from \"../../controllers/public/randomjoke.controllers.js\";\n\nconst router = Router();\n\nrouter.route(\"/\").get(getRandomJokes);\nrouter.route(\"/:jokeId\").get(getJokeById);\nrouter.route(\"/joke/random\").get(getARandomJoke);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/public/randomproduct.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  getARandomProduct,\n  getProductById,\n  getRandomProducts,\n} from \"../../controllers/public/randomproduct.controllers.js\";\n\nconst router = Router();\n\nrouter.route(\"/\").get(getRandomProducts);\nrouter.route(\"/:productId\").get(getProductById);\nrouter.route(\"/product/random\").get(getARandomProduct);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/public/randomuser.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  getARandomUser,\n  getRandomUsers,\n  getUserById,\n} from \"../../controllers/public/randomuser.controllers.js\";\n\nconst router = Router();\n\nrouter.route(\"/\").get(getRandomUsers);\nrouter.route(\"/:userId\").get(getUserById);\nrouter.route(\"/user/random\").get(getARandomUser);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/public/stock.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  getARandomStock,\n  getStockById,\n  getStocks,\n} from \"../../controllers/public/stock.controllers.js\";\n\nconst router = Router();\n\nrouter.route(\"/\").get(getStocks);\nrouter.route(\"/:stockSymbol\").get(getStockById);\nrouter.route(\"/stock/random\").get(getARandomStock);\n\nexport default router;\n"
  },
  {
    "path": "src/routes/public/youtube.routes.js",
    "content": "import { Router } from \"express\";\nimport {\n  getChannelDetails,\n  getPlaylistById,\n  getPlaylists,\n  getRelatedVideos,\n  getVideoById,\n  getVideoComments,\n  getVideos,\n} from \"../../controllers/public/youtube.controllers.js\";\n\nconst router = Router();\n\nrouter.route(\"/channel\").get(getChannelDetails);\n\nrouter.route(\"/playlists\").get(getPlaylists);\nrouter.route(\"/playlists/:playlistId\").get(getPlaylistById);\n\nrouter.route(\"/videos\").get(getVideos);\nrouter.route(\"/videos/:videoId\").get(getVideoById);\n\nrouter.route(\"/comments/:videoId\").get(getVideoComments);\nrouter.route(\"/related/:videoId\").get(getRelatedVideos);\n\nexport default router;\n"
  },
  {
    "path": "src/seeds/_constants.js",
    "content": "// * TODOS\nexport const TODOS_COUNT = 20;\n\n// * USERS\nexport const USERS_COUNT = 50;\n\n// * ECOMMERCE\nexport const CATEGORIES_COUNT = 25;\nexport const ADDRESSES_COUNT = 100;\nexport const COUPONS_COUNT = 15;\nexport const PRODUCTS_COUNT = 50;\nexport const PRODUCTS_SUB_IMAGES_COUNT = 4;\nexport const ORDERS_COUNT = 20;\nexport const ORDERS_RANDOM_ITEMS_COUNT = 20;\n\n// * SOCIAL MEDIA\nexport const SOCIAL_POSTS_COUNT = 200;\nexport const SOCIAL_POST_IMAGES_COUNT = 6;\nexport const SOCIAL_LIKES_COUNT = 2000;\nexport const SOCIAL_FOLLOWS_COUNT = 1000;\nexport const SOCIAL_COMMENTS_COUNT = 500;\nexport const SOCIAL_BOOKMARKS_COUNT = 200;\n\n// * CHAT APP\nexport const ONE_ON_ONE_CHATS_COUNT = 100;\nexport const GROUP_CHATS_COUNT = 30;\nexport const GROUP_CHAT_MAX_PARTICIPANTS_COUNT = 10;\n"
  },
  {
    "path": "src/seeds/chat-app.seeds.js",
    "content": "import { faker } from \"@faker-js/faker\";\nimport { User } from \"../models/apps/auth/user.models.js\";\nimport { Chat } from \"../models/apps/chat-app/chat.models.js\";\nimport { ChatMessage } from \"../models/apps/chat-app/message.models.js\";\nimport { ApiResponse } from \"../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../utils/asyncHandler.js\";\nimport { getRandomNumber } from \"../utils/helpers.js\";\nimport {\n  GROUP_CHATS_COUNT,\n  GROUP_CHAT_MAX_PARTICIPANTS_COUNT,\n  ONE_ON_ONE_CHATS_COUNT,\n} from \"./_constants.js\";\n\nconst seedOneOnOneChats = async () => {\n  const users = await User.find();\n  const chatsArray = new Array(ONE_ON_ONE_CHATS_COUNT)\n    .fill(\"_\")\n    .map(async (_) => {\n      let index1 = getRandomNumber(users.length);\n      let index2 = getRandomNumber(users.length);\n      if (index1 === index2) {\n        // This shows that both participant indexes are the same\n        index2 <= 0 ? index2++ : index2--; // avoid same participants\n      }\n      const participants = [\n        users[index1]._id.toString(),\n        users[index2]._id.toString(),\n      ];\n      await Chat.findOneAndUpdate(\n        {\n          $and: [\n            {\n              participants: {\n                $elemMatch: { $eq: participants[0] },\n              },\n            },\n            {\n              participants: {\n                $elemMatch: { $eq: participants[1] },\n              },\n            },\n          ],\n        },\n        {\n          $set: {\n            name: \"One on one chat\",\n            isGroupChat: false,\n            participants,\n            admin: participants[getRandomNumber(participants.length)],\n          },\n        },\n        { upsert: true } // We don't want duplicate entries of the chat. So if found then update else insert\n      );\n    });\n  await Promise.all([...chatsArray]);\n};\n\nconst seedGroupChats = async () => {\n  const users = await User.find();\n\n  const groupChatsArray = new Array(GROUP_CHATS_COUNT).fill(\"_\").map((_) => {\n    let participants = [];\n    const participantsCount = getRandomNumber(\n      GROUP_CHAT_MAX_PARTICIPANTS_COUNT\n    );\n\n    new Array(participantsCount < 3 ? 3 : participantsCount)\n      .fill(\"_\")\n      .forEach((_) =>\n        participants.push(users[getRandomNumber(users.length)]._id.toString())\n      );\n\n    participants = [...new Set(participants)];\n\n    return {\n      name: faker.vehicle.vehicle() + faker.company.buzzNoun(),\n      isGroupChat: true,\n      participants,\n      admin: participants[getRandomNumber(participants.length)],\n    };\n  });\n  await Chat.insertMany(groupChatsArray);\n};\n\nconst seedChatApp = asyncHandler(async (req, res) => {\n  await Chat.deleteMany({});\n  await ChatMessage.deleteMany({});\n  await seedOneOnOneChats();\n  await seedGroupChats();\n\n  return res\n    .status(201)\n    .json(\n      new ApiResponse(201, {}, \"Database populated for chat app successfully\")\n    );\n});\n\nexport { seedChatApp };\n"
  },
  {
    "path": "src/seeds/ecommerce.seeds.js",
    "content": "import { faker } from \"@faker-js/faker\";\nimport {\n  AvailableOrderStatuses,\n  AvailablePaymentProviders,\n  UserRolesEnum,\n} from \"../constants.js\";\nimport { User } from \"../models/apps/auth/user.models.js\";\nimport { Address } from \"../models/apps/ecommerce/address.models.js\";\nimport { Category } from \"../models/apps/ecommerce/category.models.js\";\nimport { Coupon } from \"../models/apps/ecommerce/coupon.models.js\";\nimport { EcomOrder } from \"../models/apps/ecommerce/order.models.js\";\nimport { Product } from \"../models/apps/ecommerce/product.models.js\";\nimport { EcomProfile } from \"../models/apps/ecommerce/profile.models.js\";\nimport { ApiError } from \"../utils/ApiError.js\";\nimport { ApiResponse } from \"../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../utils/asyncHandler.js\";\nimport { getRandomNumber } from \"../utils/helpers.js\";\nimport {\n  ADDRESSES_COUNT,\n  CATEGORIES_COUNT,\n  COUPONS_COUNT,\n  ORDERS_COUNT,\n  ORDERS_RANDOM_ITEMS_COUNT,\n  PRODUCTS_COUNT,\n  PRODUCTS_SUB_IMAGES_COUNT,\n} from \"./_constants.js\";\n\n// Generate fake categories\nconst categories = new Array(CATEGORIES_COUNT).fill(\"_\").map(() => ({\n  name: faker.commerce.productAdjective().toLowerCase(),\n}));\n\n// Generate fake addresses\nconst addresses = new Array(ADDRESSES_COUNT).fill(\"_\").map(() => ({\n  addressLine1: faker.location.streetAddress(),\n  addressLine2: faker.location.street(),\n  city: faker.location.city(),\n  country: faker.location.country(),\n  pincode: faker.location.zipCode(\"######\"),\n  state: faker.location.state(),\n}));\n\n// Generate fake coupons\nconst coupons = new Array(COUPONS_COUNT).fill(\"_\").map(() => {\n  const discountValue = faker.number.int({\n    max: 1000,\n    min: 100,\n  });\n\n  return {\n    name: faker.lorem.word({\n      length: {\n        max: 15,\n        min: 8,\n      },\n    }),\n    couponCode:\n      faker.lorem.word({\n        length: {\n          max: 8,\n          min: 5,\n        },\n      }) + `${discountValue}`,\n    discountValue: discountValue,\n    isActive: faker.datatype.boolean(),\n    minimumCartValue: discountValue + 300,\n    startDate: faker.date.anytime(),\n    expiryDate: faker.date.future({\n      years: 3,\n    }),\n  };\n});\n\n// Generate fake products\nconst products = new Array(PRODUCTS_COUNT).fill(\"_\").map(() => {\n  return {\n    // Add other fields which are connected to other models later\n    name: faker.commerce.productName(),\n    description: faker.commerce.productDescription(),\n    mainImage: {\n      url: faker.image.urlLoremFlickr({\n        category: \"product\",\n      }),\n      localPath: \"\",\n    },\n    price: +faker.commerce.price({ dec: 0, min: 200, max: 500 }),\n    stock: +faker.commerce.price({ dec: 0, min: 10, max: 200 }),\n    subImages: new Array(PRODUCTS_SUB_IMAGES_COUNT).fill(\"_\").map(() => ({\n      url: faker.image.urlLoremFlickr({\n        category: \"product\",\n      }),\n      localPath: \"\",\n    })),\n  };\n});\n\nconst orders = new Array(ORDERS_COUNT).fill(\"_\").map(() => {\n  const paymentProvider =\n    AvailablePaymentProviders[\n      getRandomNumber(AvailablePaymentProviders.length)\n    ];\n  return {\n    // Add other fields which are connected to other models later\n    status:\n      AvailableOrderStatuses[getRandomNumber(AvailableOrderStatuses.length)],\n    paymentProvider: paymentProvider === \"UNKNOWN\" ? \"PAYPAL\" : paymentProvider, // Avoid setting UNKNOWN payment provider\n    paymentId: faker.string.alphanumeric({\n      casing: \"mixed\",\n      length: 24,\n    }),\n    isPaymentDone: true,\n  };\n});\n\nconst seedEcomProfiles = async () => {\n  const profiles = await EcomProfile.find();\n  const ecomProfileUpdatePromise = profiles.map(async (profile) => {\n    await EcomProfile.findByIdAndUpdate(profile._id, {\n      $set: {\n        firstName: faker.person.firstName(),\n        lastName: faker.person.lastName(),\n        countryCode: \"+91\",\n        phoneNumber: faker.phone.number(\"9#########\"),\n      },\n    });\n  });\n  await Promise.all(ecomProfileUpdatePromise);\n};\n\nconst seedEcomCategories = async (owner) => {\n  await Category.deleteMany({});\n  await Category.insertMany(\n    categories.map((cat) => ({ ...cat, owner: owner }))\n  );\n};\n\nconst seedEcomAddresses = async () => {\n  const users = await User.find();\n  await Address.deleteMany({});\n  await Address.insertMany(\n    addresses.map((add, i) => {\n      return {\n        ...add,\n        owner: users[i] ?? users[getRandomNumber(users.length)], // set address to every user and then set random user as a owner\n      };\n    })\n  );\n};\n\nconst seedEcomCoupons = async (owner) => {\n  await Coupon.deleteMany({});\n  await Coupon.insertMany(\n    coupons.map((coupon) => ({ ...coupon, owner: owner }))\n  );\n};\n\nconst seedEcomProducts = async () => {\n  const users = await User.find();\n  const categories = await Category.find();\n\n  await Product.deleteMany({});\n  await Product.insertMany(\n    products.map((product) => ({\n      ...product,\n      owner: users[getRandomNumber(users.length)], // set random user as a owner\n      category: categories[getRandomNumber(categories.length)], // set random category\n    }))\n  );\n};\n\nconst seedEcomOrders = async () => {\n  const customers = await User.find();\n  const coupons = await Coupon.find();\n  const products = await Product.find();\n  const addresses = await Address.find();\n\n  /**\n   * @type {{orderItems: {productId: string; quantity: number}[], orderPrice: number, discountedOrderPrice: number; coupon: Coupon | null}[]}\n   * @description this variable holds array of random order items array, coupon, calculated total and discounted price\n   */\n  const orderPayload = new Array(ORDERS_RANDOM_ITEMS_COUNT)\n    .fill(\"_\")\n    .map(() => {\n      const totalOrderProducts = getRandomNumber(5); // get total products to be included in the order items\n\n      // map through the available products\n      const orderItems = products\n        .slice(0, totalOrderProducts > 1 ? totalOrderProducts : 2) // We need at least 1 product in the items array\n        .map((prod) => ({\n          productId: prod._id, // this field we need to add while creating the order\n          quantity: +faker.commerce.price({ dec: 0, min: 1, max: 5 }), // this field we need to add while creating the order\n          price: prod.price, // this field we need to calculate total order price\n        }));\n\n      // calculate total order price based on product price and it's quantity\n      const orderPrice = orderItems.reduce(\n        (prev, curr) => prev + curr.price * curr.quantity,\n        0\n      );\n\n      // Randomly assign or ignore coupon\n      // If we find any coupon we set it, if the index is out of range (we are intentionally adding 20 to the length) we keep coupon null\n      let coupon = coupons[getRandomNumber(coupons.length + 20)] ?? null;\n      let discountedOrderPrice = orderPrice; // by default discountedOrderPrice is orderPrice if there is no coupon\n      if (coupon && coupon.minimumCartValue <= orderPrice) {\n        // Check if there is coupon selected and the minimumCartValue is less than current order price\n        discountedOrderPrice -= coupon.discountValue;\n      } else {\n        coupon = null;\n      }\n      // return the required metadata\n      return {\n        orderItems: orderItems.map((prod) => ({\n          productId: prod.productId,\n          quantity: prod.quantity,\n        })),\n        orderPrice,\n        discountedOrderPrice,\n        coupon,\n      };\n    });\n\n  await EcomOrder.deleteMany({});\n  await EcomOrder.insertMany(\n    orders.map((order) => {\n      const customer = customers[getRandomNumber(customers.length)];\n      const orderInstance = orderPayload[getRandomNumber(orderPayload.length)]; // pick any random order instance to include\n      return {\n        ...order,\n        customer, // set random user as a customer\n        address:\n          // Find address which is of order's customer\n          // In rare cases if it does not exist. Select a random one\n          addresses.find(\n            (add) => add.owner?.toString() === customer?._id.toString()\n          ) || addresses[getRandomNumber(addresses.length)],\n        items: orderInstance.orderItems, // set order items\n        coupon: orderInstance.coupon,\n        orderPrice: orderInstance.orderPrice,\n        discountedOrderPrice: orderInstance.discountedOrderPrice,\n      };\n    })\n  );\n};\n\nconst seedEcommerce = asyncHandler(async (req, res) => {\n  const owner = await User.findOne({\n    role: UserRolesEnum.ADMIN,\n  });\n\n  if (!owner) {\n    throw new ApiError(\n      500,\n      \"Something went wrong while seeding the data. Please try again once\"\n    );\n  }\n  await seedEcomProfiles();\n  await seedEcomCategories(owner._id);\n  await seedEcomAddresses();\n  await seedEcomCoupons(owner._id);\n  await seedEcomProducts();\n  await seedEcomOrders();\n  return res\n    .status(201)\n    .json(\n      new ApiResponse(201, {}, \"Database populated for ecommerce successfully\")\n    );\n});\n\nexport { seedEcommerce };\n"
  },
  {
    "path": "src/seeds/social-media.seeds.js",
    "content": "import { faker } from \"@faker-js/faker\";\nimport { User } from \"../models/apps/auth/user.models.js\";\nimport { SocialBookmark } from \"../models/apps/social-media/bookmark.models.js\";\nimport { SocialComment } from \"../models/apps/social-media/comment.models.js\";\nimport { SocialFollow } from \"../models/apps/social-media/follow.models.js\";\nimport { SocialLike } from \"../models/apps/social-media/like.models.js\";\nimport { SocialPost } from \"../models/apps/social-media/post.models.js\";\nimport { SocialProfile } from \"../models/apps/social-media/profile.models.js\";\nimport { ApiResponse } from \"../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../utils/asyncHandler.js\";\nimport { getRandomNumber } from \"../utils/helpers.js\";\nimport {\n  SOCIAL_BOOKMARKS_COUNT,\n  SOCIAL_COMMENTS_COUNT,\n  SOCIAL_FOLLOWS_COUNT,\n  SOCIAL_LIKES_COUNT,\n  SOCIAL_POSTS_COUNT,\n  SOCIAL_POST_IMAGES_COUNT,\n} from \"./_constants.js\";\n\n// generate random posts\nconst posts = new Array(SOCIAL_POSTS_COUNT).fill(\"_\").map(() => {\n  return {\n    content: faker.lorem.lines({ min: 2, max: 5 }),\n    tags: faker.lorem.words({ min: 3, max: 8 }).split(\" \"),\n    images: new Array(SOCIAL_POST_IMAGES_COUNT).fill(\"_\").map(() => {\n      return {\n        url: faker.image.urlLoremFlickr({\n          category: \"food\",\n        }),\n        localPath: \"\",\n      };\n    }),\n  };\n});\n\n// generate random comments\nconst comments = new Array(SOCIAL_COMMENTS_COUNT).fill(\"_\").map(() => {\n  return {\n    content: faker.lorem.lines({\n      min: 1,\n      max: 10,\n    }),\n  };\n});\n\nconst seedSocialProfiles = async () => {\n  const profiles = await SocialProfile.find(); // Social profile is being created while user is created\n  const profileUpdatePromise = profiles.map(async (profile) => {\n    await SocialProfile.findByIdAndUpdate(profile._id, {\n      // find profile and insert random data there\n      $set: {\n        firstName: faker.person.firstName(),\n        lastName: faker.person.lastName(),\n        bio: faker.person.bio(),\n        dob: faker.date.past({\n          years: 18,\n        }),\n        location: `${faker.location.city()}, ${faker.location.country()}`,\n        countryCode: \"+91\",\n        phoneNumber: faker.phone.number(\"9#########\"),\n      },\n    });\n  });\n  await Promise.all(profileUpdatePromise); // resolve all promises\n};\n\nconst seedSocialPosts = async () => {\n  await SocialPost.deleteMany({});\n  const users = await User.find();\n  await SocialPost.insertMany(\n    posts.map((post, i) => {\n      return {\n        ...post,\n        author: users[i] ?? users[getRandomNumber(users.length)], // set post to every user and then set random user as an author\n      };\n    })\n  );\n};\n\nconst seedSocialComments = async () => {\n  await SocialComment.deleteMany({});\n  const authors = await User.find();\n  const posts = await SocialPost.find();\n  await SocialComment.insertMany(\n    comments.map((comment) => {\n      return {\n        ...comment,\n        author: authors[getRandomNumber(authors.length)],\n        postId: posts[getRandomNumber(posts.length)],\n      };\n    })\n  );\n};\n\nconst seedSocialLikes = async () => {\n  await SocialLike.deleteMany({});\n  const users = await User.find();\n  const posts = await SocialPost.find();\n  const comments = await SocialComment.find();\n  // Post likes documents\n  const socialPostsLikesPromise = new Array(SOCIAL_LIKES_COUNT)\n    .fill(\"_\")\n    .map(async () => {\n      const likedBy = users[getRandomNumber(users.length)];\n      const post = posts[getRandomNumber(posts.length)];\n\n      await SocialLike.findOneAndUpdate(\n        {\n          postId: post._id,\n          likedBy: likedBy._id,\n        },\n        {\n          $set: {\n            postId: post._id,\n            likedBy: likedBy._id,\n          },\n        },\n        { upsert: true } // We don't want duplicate entries of the like. So if found then update else insert\n      );\n    });\n\n  // Comment likes documents\n  const socialCommentsLikesPromise = new Array(SOCIAL_LIKES_COUNT)\n    .fill(\"_\")\n    .map(async () => {\n      const likedBy = users[getRandomNumber(users.length)];\n      const comment = comments[getRandomNumber(comments.length)];\n\n      await SocialLike.findOneAndUpdate(\n        {\n          commentId: comment._id,\n          likedBy: likedBy._id,\n        },\n        {\n          $set: {\n            commentId: comment._id,\n            likedBy: likedBy._id,\n          },\n        },\n        { upsert: true } // We don't want duplicate entries of the like. So if found then update else insert\n      );\n    });\n  await Promise.all([\n    ...socialPostsLikesPromise,\n    ...socialCommentsLikesPromise,\n  ]);\n};\n\nconst seedSocialFollowers = async () => {\n  await SocialFollow.deleteMany({});\n  const users = await User.find();\n  const socialFollowerPromise = new Array(SOCIAL_FOLLOWS_COUNT)\n    .fill(\"_\")\n    .map(async () => {\n      let followerIndex = getRandomNumber(users.length); // generate a random index for the follower\n      let followeeIndex = getRandomNumber(users.length); // generate a random index for the followee\n      if (followeeIndex === followerIndex) {\n        // This shows that both follower and followee are the same\n        followerIndex <= 0 ? followerIndex++ : followerIndex--; // avoid same follower and followee\n      }\n      const follower = users[followerIndex]; // get the follower\n      const followee = users[followeeIndex]; // get the followee\n\n      await SocialFollow.findOneAndUpdate(\n        {\n          followerId: follower._id,\n          followeeId: followee._id,\n        },\n        {\n          $set: {\n            followerId: follower._id,\n            followeeId: followee._id,\n          },\n        },\n        { upsert: true } // We don't want duplicate entries of the follows. So if found then update else insert\n      );\n    });\n  await Promise.all(socialFollowerPromise);\n};\n\nconst seedSocialBookmarks = async () => {\n  await SocialBookmark.deleteMany({});\n  const users = await User.find();\n  const posts = await SocialPost.find();\n  const socialPostsBookmarksPromise = new Array(SOCIAL_BOOKMARKS_COUNT)\n    .fill(\"_\")\n    .map(async () => {\n      const bookmarkedBy = users[getRandomNumber(users.length)];\n      const post = posts[getRandomNumber(posts.length)];\n\n      await SocialBookmark.findOneAndUpdate(\n        {\n          postId: post._id,\n          bookmarkedBy: bookmarkedBy._id,\n        },\n        {\n          $set: {\n            postId: post._id,\n            bookmarkedBy: bookmarkedBy._id,\n          },\n        },\n        { upsert: true } // We don't want duplicate entries of the bookmarks. So if found then update else insert\n      );\n    });\n\n  await Promise.all(socialPostsBookmarksPromise);\n};\n\nconst seedSocialMedia = asyncHandler(async (req, res) => {\n  await seedSocialProfiles();\n  await seedSocialPosts();\n  await seedSocialComments();\n  await seedSocialLikes();\n  await seedSocialFollowers();\n  await seedSocialBookmarks();\n  return res\n    .status(201)\n    .json(\n      new ApiResponse(\n        201,\n        {},\n        \"Database populated for social media successfully\"\n      )\n    );\n});\n\nexport { seedSocialMedia };\n"
  },
  {
    "path": "src/seeds/todo.seeds.js",
    "content": "import { faker } from \"@faker-js/faker\";\nimport { Todo } from \"../models/apps/todo/todo.models.js\";\nimport { ApiResponse } from \"../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../utils/asyncHandler.js\";\nimport { TODOS_COUNT } from \"./_constants.js\";\n\n// Generate random todos\nconst todos = new Array(TODOS_COUNT).fill(\"_\").map(() => ({\n  title: faker.lorem.sentence({ min: 3, max: 5 }),\n  description: faker.lorem.paragraph({\n    min: 10,\n    max: 15,\n  }),\n  isComplete: faker.datatype.boolean({}),\n}));\n\nconst seedTodos = asyncHandler(async (req, res) => {\n  await Todo.deleteMany({}); // delete existing todos\n\n  await Todo.insertMany(todos); // insert new todos\n\n  return res\n    .status(201)\n    .json(new ApiResponse(201, {}, \"Todos inserted successfully\"));\n});\n\nexport { seedTodos };\n"
  },
  {
    "path": "src/seeds/user.seeds.js",
    "content": "import { faker } from \"@faker-js/faker\";\nimport fs from \"fs\";\nimport { AvailableUserRoles } from \"../constants.js\";\nimport logger from \"../logger/winston.logger.js\";\nimport { User } from \"../models/apps/auth/user.models.js\";\nimport { Cart } from \"../models/apps/ecommerce/cart.models.js\";\nimport { EcomProfile } from \"../models/apps/ecommerce/profile.models.js\";\nimport { SocialProfile } from \"../models/apps/social-media/profile.models.js\";\nimport { ApiError } from \"../utils/ApiError.js\";\nimport { ApiResponse } from \"../utils/ApiResponse.js\";\nimport { asyncHandler } from \"../utils/asyncHandler.js\";\nimport { getRandomNumber, removeLocalFile } from \"../utils/helpers.js\";\nimport { USERS_COUNT } from \"./_constants.js\";\n\n// Array of fake users\nconst users = new Array(USERS_COUNT).fill(\"_\").map(() => ({\n  avatar: {\n    url: faker.internet.avatar(),\n    localPath: \"\",\n  },\n  username: faker.internet.userName(),\n  email: faker.internet.email(),\n  password: faker.internet.password(),\n  isEmailVerified: true,\n  role: AvailableUserRoles[getRandomNumber(2)],\n}));\n\n/**\n * @description Seeding middleware for users api which other api services can use which are dependent on users\n */\nconst seedUsers = asyncHandler(async (req, res, next) => {\n  const userCount = await User.count();\n  if (userCount >= USERS_COUNT) {\n    // Don't re-generate the users if we already have them in the database\n    next();\n    return;\n  }\n  await User.deleteMany({}); // delete all the existing users from previous seedings\n  await SocialProfile.deleteMany({}); // delete dependent model documents as well\n  await EcomProfile.deleteMany({}); // delete dependent model documents as well\n  await Cart.deleteMany({}); // delete dependent model documents as well\n  // remove cred json\n  removeLocalFile(\"./public/temp/seed-credentials.json\"); // remove old credentials\n\n  const credentials = [];\n\n  // create Promise array\n  const userCreationPromise = users.map(async (user) => {\n    credentials.push({\n      username: user.username.toLowerCase(),\n      password: user.password,\n      role: user.role,\n    });\n    await User.create(user);\n  });\n\n  // pass promises array to the Promise.all method\n  await Promise.all(userCreationPromise);\n\n  // Once users are created dump the credentials to the json file\n  const json = JSON.stringify(credentials);\n\n  fs.writeFileSync(\n    \"./public/temp/seed-credentials.json\",\n    json,\n    \"utf8\",\n    (err) => {\n      logger.error(\"Error while writing the credentials\", err);\n    }\n  );\n\n  // proceed with the request\n  next();\n});\n\n/**\n * @description This api gives the saved credentials generated while seeding.\n */\nconst getGeneratedCredentials = asyncHandler(async (req, res) => {\n  try {\n    const json = fs.readFileSync(\"./public/temp/seed-credentials.json\", \"utf8\");\n    return res\n      .status(200)\n      .json(\n        new ApiResponse(\n          200,\n          JSON.parse(json),\n          \"Dummy credentials fetched successfully\"\n        )\n      );\n  } catch (error) {\n    throw new ApiError(\n      404,\n      \"No credentials generated yet. Make sure you have seeded social media or ecommerce api data first which generates users as dependencies.\"\n    );\n  }\n});\n\nexport { getGeneratedCredentials, seedUsers };\n"
  },
  {
    "path": "src/socket/index.js",
    "content": "import cookie from \"cookie\";\nimport jwt from \"jsonwebtoken\";\nimport { Server, Socket } from \"socket.io\";\nimport { AvailableChatEvents, ChatEventEnum } from \"../constants.js\";\nimport { User } from \"../models/apps/auth/user.models.js\";\nimport { ApiError } from \"../utils/ApiError.js\";\n\n/**\n * @description This function is responsible to allow user to join the chat represented by chatId (chatId). event happens when user switches between the chats\n * @param {Socket<import(\"socket.io/dist/typed-events\").DefaultEventsMap, import(\"socket.io/dist/typed-events\").DefaultEventsMap, import(\"socket.io/dist/typed-events\").DefaultEventsMap, any>} socket\n */\nconst mountJoinChatEvent = (socket) => {\n  socket.on(ChatEventEnum.JOIN_CHAT_EVENT, (chatId) => {\n    console.log(`User joined the chat 🤝. chatId: `, chatId);\n    // joining the room with the chatId will allow specific events to be fired where we don't bother about the users like typing events\n    // E.g. When user types we don't want to emit that event to specific participant.\n    // We want to just emit that to the chat where the typing is happening\n    socket.join(chatId);\n  });\n};\n\n/**\n * @description This function is responsible to emit the typing event to the other participants of the chat\n * @param {Socket<import(\"socket.io/dist/typed-events\").DefaultEventsMap, import(\"socket.io/dist/typed-events\").DefaultEventsMap, import(\"socket.io/dist/typed-events\").DefaultEventsMap, any>} socket\n */\nconst mountParticipantTypingEvent = (socket) => {\n  socket.on(ChatEventEnum.TYPING_EVENT, (chatId) => {\n    socket.in(chatId).emit(ChatEventEnum.TYPING_EVENT, chatId);\n  });\n};\n\n/**\n * @description This function is responsible to emit the stopped typing event to the other participants of the chat\n * @param {Socket<import(\"socket.io/dist/typed-events\").DefaultEventsMap, import(\"socket.io/dist/typed-events\").DefaultEventsMap, import(\"socket.io/dist/typed-events\").DefaultEventsMap, any>} socket\n */\nconst mountParticipantStoppedTypingEvent = (socket) => {\n  socket.on(ChatEventEnum.STOP_TYPING_EVENT, (chatId) => {\n    socket.in(chatId).emit(ChatEventEnum.STOP_TYPING_EVENT, chatId);\n  });\n};\n\n/**\n *\n * @param {Server<import(\"socket.io/dist/typed-events\").DefaultEventsMap, import(\"socket.io/dist/typed-events\").DefaultEventsMap, import(\"socket.io/dist/typed-events\").DefaultEventsMap, any>} io\n */\nconst initializeSocketIO = (io) => {\n  return io.on(\"connection\", async (socket) => {\n    try {\n      // parse the cookies from the handshake headers (This is only possible if client has `withCredentials: true`)\n      const cookies = cookie.parse(socket.handshake.headers?.cookie || \"\");\n\n      let token = cookies?.accessToken; // get the accessToken\n\n      if (!token) {\n        // If there is no access token in cookies. Check inside the handshake auth\n        token = socket.handshake.auth?.token;\n      }\n\n      if (!token) {\n        // Token is required for the socket to work\n        throw new ApiError(401, \"Un-authorized handshake. Token is missing\");\n      }\n\n      const decodedToken = jwt.verify(token, process.env.ACCESS_TOKEN_SECRET); // decode the token\n\n      const user = await User.findById(decodedToken?._id).select(\n        \"-password -refreshToken -emailVerificationToken -emailVerificationExpiry\"\n      );\n\n      // retrieve the user\n      if (!user) {\n        throw new ApiError(401, \"Un-authorized handshake. Token is invalid\");\n      }\n      socket.user = user; // mount te user object to the socket\n\n      // We are creating a room with user id so that if user is joined but does not have any active chat going on.\n      // still we want to emit some socket events to the user.\n      // so that the client can catch the event and show the notifications.\n      socket.join(user._id.toString());\n      socket.emit(ChatEventEnum.CONNECTED_EVENT); // emit the connected event so that client is aware\n      console.log(\"User connected 🗼. userId: \", user._id.toString());\n\n      // Common events that needs to be mounted on the initialization\n      mountJoinChatEvent(socket);\n      mountParticipantTypingEvent(socket);\n      mountParticipantStoppedTypingEvent(socket);\n\n      socket.on(ChatEventEnum.DISCONNECT_EVENT, () => {\n        console.log(\"user has disconnected 🚫. userId: \" + socket.user?._id);\n        if (socket.user?._id) {\n          socket.leave(socket.user._id);\n        }\n      });\n    } catch (error) {\n      socket.emit(\n        ChatEventEnum.SOCKET_ERROR_EVENT,\n        error?.message || \"Something went wrong while connecting to the socket.\"\n      );\n    }\n  });\n};\n\n/**\n *\n * @param {import(\"express\").Request} req - Request object to access the `io` instance set at the entry point\n * @param {string} roomId - Room where the event should be emitted\n * @param {AvailableChatEvents[0]} event - Event that should be emitted\n * @param {any} payload - Data that should be sent when emitting the event\n * @description Utility function responsible to abstract the logic of socket emission via the io instance\n */\nconst emitSocketEvent = (req, roomId, event, payload) => {\n  req.app.get(\"io\").in(roomId).emit(event, payload);\n};\n\nexport { initializeSocketIO, emitSocketEvent };\n"
  },
  {
    "path": "src/swagger.yaml",
    "content": "openapi: 3.0.3\ninfo:\n  title: FreeAPI\n  description: >-\n    # FreeAPI.app\n\n    The **FreeAPI** project is an innovative 🚀 and community-driven 🔭 initiative aimed at providing developers with free and accessible APIs for their projects.\n\n    The project focuses on delivering a wide range of APIs that cater to various domains and functionalities, enabling developers to seamlessly integrate these APIs into their applications.\n\n    Key highlights of the FreeAPI project include:\n\n    1. **🧤 Accessibility:** The FreeAPI project is committed to eliminating barriers by providing free access to its collection of APIs.  \n        Developers can leverage these APIs without any cost limitations, allowing them to experiment, learn, and build innovative applications.\n\n    2. **🔩 Diverse API Collection:** The project offers a diverse and comprehensive collection of APIs that span across different industries, domains, and functionalities.  \n        Whether you require social media integrations, payment gateways, machine learning algorithms, or IoT device connectivity, the FreeAPI project has you covered.\n    \n    3. **🔌 Simplified Integration:** The FreeAPI project understands the challenges developers face when integrating APIs into their applications. To address this, the project provides clear documentation, code samples, and SDKs, simplifying the integration process and reducing development time and effort.\n    \n    4. **🤝 Community-Driven Development:** The project fosters a vibrant and collaborative community of developers. Contributors are encouraged to share their knowledge, engage in discussions, and collaborate on API-related projects. This collective effort ensures the continuous improvement and reliability of the APIs offered by the FreeAPI project.\n    \n    5. **🎼 Learning and Skill Development:** The FreeAPI project aims to empower developers by providing a platform for learning and skill development. Through access to various APIs and educational resources, developers can enhance their understanding of API integration, expand their knowledge, and showcase their expertise through building complete projects.\n        \n\n    Overall, the **FreeAPI** project is a valuable resource for developers seeking accessible and diverse APIs.\n\n    By fostering a supportive community, the project empowers developers to learn, create, and innovate, ultimately contributing to the growth and advancement of the API integration landscape.\n\n    ## 🏁 Installation\n\n    Follow [these](https://github.com/hiteshchoudhary/apihub#-installation) instructions for the installation and project setup.\n\n    ## 🐞 Reporting issues\n\n    If you find API issues or bugs when testing, please create an [issue](https://github.com/hiteshchoudhary/apihub/issues/new) and assign it to a member of the development team.\n  version: 1.3.1\n  contact: {}\nservers:\n  - url: https://api.freeapi.app/api/v1 # add `http://localhost:<port_from_.env>/api/v1` in case of local testing\npaths:\n  /public/randomusers:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get users\n      description: >-\n        The API endpoint retrieves a random list of users. When accessing this\n        endpoint, you will receive a response containing a randomly generated\n        list of users.\n\n\n        This functionality is useful for scenarios such as testing, demo data\n        generation, or populating user interfaces with dummy data.\n\n\n        It provides a convenient way to obtain randomized user information for\n        various purposes within your application.\n      operationId: getUsers\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '10'\n      responses:\n        '200':\n          description: Get random users\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '10757'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:44:13 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"2a05-xjkqHU4sNAeFPZX9uGNel7XPn8E\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      currentPageItems:\n                        type: number\n                        example: 10\n                      data:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            cell:\n                              type: string\n                              example: (029)-082-3612\n                            dob:\n                              type: object\n                              properties:\n                                age:\n                                  type: number\n                                  example: 54\n                                date:\n                                  type: string\n                                  example: '1968-07-21T10:02:51.768Z'\n                            email:\n                              type: string\n                              example: joseph.evans@example.com\n                            gender:\n                              type: string\n                              example: male\n                            id:\n                              type: number\n                              example: 1\n                            location:\n                              type: object\n                              properties:\n                                city:\n                                  type: string\n                                  example: Hastings\n                                coordinates:\n                                  type: object\n                                  properties:\n                                    latitude:\n                                      type: string\n                                      example: '51.9039'\n                                    longitude:\n                                      type: string\n                                      example: '-45.2357'\n                                country:\n                                  type: string\n                                  example: New Zealand\n                                postcode:\n                                  example: 92298\n                                  anyOf:\n                                    - type: number\n                                      example: 92298\n                                    - type: string\n                                      example: 3305 DO\n                                    - type: number\n                                      example: 1138\n                                    - type: number\n                                      example: 20318\n                                    - type: number\n                                      example: 7746\n                                    - type: number\n                                      example: 22060\n                                    - type: number\n                                      example: 30399\n                                    - type: number\n                                      example: 86893\n                                state:\n                                  type: string\n                                  example: Otago\n                                street:\n                                  type: object\n                                  properties:\n                                    name:\n                                      type: string\n                                      example: Lunn Avenue\n                                    number:\n                                      type: number\n                                      example: 61\n                                timezone:\n                                  type: object\n                                  properties:\n                                    description:\n                                      type: string\n                                      example: Central Time (US & Canada), Mexico City\n                                    offset:\n                                      type: string\n                                      example: '-6:00'\n                            login:\n                              type: object\n                              properties:\n                                md5:\n                                  type: string\n                                  example: 2cc09194861ea12e8e842cdce5749230\n                                password:\n                                  type: string\n                                  example: otis\n                                salt:\n                                  type: string\n                                  example: WiHweSpK\n                                sha1:\n                                  type: string\n                                  example: aa808f8a4f03df53a427905ae690c677b2d68895\n                                sha256:\n                                  type: string\n                                  example: >-\n                                    c857e62a617c9015a05b9ecc7f63e05c90042bd79514ca49bacfdf7e97b482d8\n                                username:\n                                  type: string\n                                  example: angryzebra337\n                                uuid:\n                                  type: string\n                                  example: 9230749e-c285-41b4-9a0f-46dab2454b4e\n                            name:\n                              type: object\n                              properties:\n                                first:\n                                  type: string\n                                  example: Joseph\n                                last:\n                                  type: string\n                                  example: Evans\n                                title:\n                                  type: string\n                                  example: Mr\n                            nat:\n                              type: string\n                              example: NZ\n                            phone:\n                              type: string\n                              example: (612)-327-2806\n                            picture:\n                              type: object\n                              properties:\n                                large:\n                                  type: string\n                                  example: >-\n                                    https://randomuser.me/api/portraits/men/65.jpg\n                                medium:\n                                  type: string\n                                  example: >-\n                                    https://randomuser.me/api/portraits/med/men/65.jpg\n                                thumbnail:\n                                  type: string\n                                  example: >-\n                                    https://randomuser.me/api/portraits/thumb/men/65.jpg\n                            registered:\n                              type: object\n                              properties:\n                                age:\n                                  type: number\n                                  example: 4\n                                date:\n                                  type: string\n                                  example: '2019-01-31T10:09:35.816Z'\n                        example:\n                          - cell: (029)-082-3612\n                            dob:\n                              age: 54\n                              date: '1968-07-21T10:02:51.768Z'\n                            email: joseph.evans@example.com\n                            gender: male\n                            id: 1\n                            location:\n                              city: Hastings\n                              coordinates:\n                                latitude: '51.9039'\n                                longitude: '-45.2357'\n                              country: New Zealand\n                              postcode: 92298\n                              state: Otago\n                              street:\n                                name: Lunn Avenue\n                                number: 61\n                              timezone:\n                                description: Central Time (US & Canada), Mexico City\n                                offset: '-6:00'\n                            login:\n                              md5: 2cc09194861ea12e8e842cdce5749230\n                              password: otis\n                              salt: WiHweSpK\n                              sha1: aa808f8a4f03df53a427905ae690c677b2d68895\n                              sha256: >-\n                                c857e62a617c9015a05b9ecc7f63e05c90042bd79514ca49bacfdf7e97b482d8\n                              username: angryzebra337\n                              uuid: 9230749e-c285-41b4-9a0f-46dab2454b4e\n                            name:\n                              first: Joseph\n                              last: Evans\n                              title: Mr\n                            nat: NZ\n                            phone: (612)-327-2806\n                            picture:\n                              large: https://randomuser.me/api/portraits/men/65.jpg\n                              medium: >-\n                                https://randomuser.me/api/portraits/med/men/65.jpg\n                              thumbnail: >-\n                                https://randomuser.me/api/portraits/thumb/men/65.jpg\n                            registered:\n                              age: 4\n                              date: '2019-01-31T10:09:35.816Z'\n                          - cell: '8993504716'\n                            dob:\n                              age: 32\n                              date: '1990-10-29T13:51:49.805Z'\n                            email: hetal.bharanya@example.com\n                            gender: female\n                            id: 2\n                            location:\n                              city: Howrah\n                              coordinates:\n                                latitude: '-89.7659'\n                                longitude: '49.5620'\n                              country: India\n                              postcode: 12054\n                              state: Madhya Pradesh\n                              street:\n                                name: Gali Paranthe Wali\n                                number: 234\n                              timezone:\n                                description: Kabul\n                                offset: '+4:30'\n                            login:\n                              md5: fa9549419b5ac6ca748d0513ec625553\n                              password: insanity\n                              salt: rYfUWfpZ\n                              sha1: b7f374368f6d8be2f9880037b5bf6c3c76c1db2e\n                              sha256: >-\n                                5c61e253e05d64a713020566d872b07890d74f347c430974c7e86897bf6ed781\n                              username: happygoose680\n                              uuid: 03e1e369-138c-442b-a046-904d1cc13d76\n                            name:\n                              first: Hetal\n                              last: Bharanya\n                              title: Ms\n                            nat: IN\n                            phone: '7517215828'\n                            picture:\n                              large: https://randomuser.me/api/portraits/women/47.jpg\n                              medium: >-\n                                https://randomuser.me/api/portraits/med/women/47.jpg\n                              thumbnail: >-\n                                https://randomuser.me/api/portraits/thumb/women/47.jpg\n                            registered:\n                              age: 16\n                              date: '2007-04-04T09:22:55.620Z'\n                          - cell: 064-2952-510\n                            dob:\n                              age: 63\n                              date: '1960-01-02T04:11:38.488Z'\n                            email: tanja.spanovic@example.com\n                            gender: female\n                            id: 3\n                            location:\n                              city: Lebane\n                              coordinates:\n                                latitude: '-26.3541'\n                                longitude: '52.2337'\n                              country: Serbia\n                              postcode: 88087\n                              state: Prizren\n                              street:\n                                name: Vojvode Mišića\n                                number: 1663\n                              timezone:\n                                description: Central Time (US & Canada), Mexico City\n                                offset: '-6:00'\n                            login:\n                              md5: ec60e7838514036315af596a3f465c3c\n                              password: calgary\n                              salt: giy1GclZ\n                              sha1: dd79140034db5b5fa55896f3a7dee55d3b3b384d\n                              sha256: >-\n                                42fdb899d4443d01815fb27c146223c2ad9ce9ad12fc488015c5cadd52881104\n                              username: greentiger564\n                              uuid: d37482c4-28c3-4d6e-b591-6c1a7059defc\n                            name:\n                              first: Tanja\n                              last: Španović\n                              title: Mrs\n                            nat: RS\n                            phone: 039-7503-456\n                            picture:\n                              large: https://randomuser.me/api/portraits/women/96.jpg\n                              medium: >-\n                                https://randomuser.me/api/portraits/med/women/96.jpg\n                              thumbnail: >-\n                                https://randomuser.me/api/portraits/thumb/women/96.jpg\n                            registered:\n                              age: 4\n                              date: '2018-06-15T09:02:58.581Z'\n                          - cell: (06) 13040738\n                            dob:\n                              age: 59\n                              date: '1963-10-03T14:59:37.860Z'\n                            email: yori.knot@example.com\n                            gender: female\n                            id: 4\n                            location:\n                              city: Winterswijk Henxel\n                              coordinates:\n                                latitude: '-39.0490'\n                                longitude: '88.6245'\n                              country: Netherlands\n                              postcode: 3305 DO\n                              state: Utrecht\n                              street:\n                                name: Kastordreef\n                                number: 1243\n                              timezone:\n                                description: Newfoundland\n                                offset: '-3:30'\n                            login:\n                              md5: 48ecff0ad189ec56cc77cf08b95f6de8\n                              password: ilikeit\n                              salt: zmeTOy1q\n                              sha1: ebae70d28b5cf4c2164dcf32f1dc33cf0c4e2f21\n                              sha256: >-\n                                9af6004f46f05b9317bd780f18eb409fb22186f587850b48a62b7c12e45f0730\n                              username: purpledog668\n                              uuid: a2dadb83-2e6a-4d12-ad80-2d35e84cfbfb\n                            name:\n                              first: Yori\n                              last: Knot\n                              title: Ms\n                            nat: NL\n                            phone: (096) 2598476\n                            picture:\n                              large: https://randomuser.me/api/portraits/women/43.jpg\n                              medium: >-\n                                https://randomuser.me/api/portraits/med/women/43.jpg\n                              thumbnail: >-\n                                https://randomuser.me/api/portraits/thumb/women/43.jpg\n                            registered:\n                              age: 16\n                              date: '2007-05-08T12:35:56.245Z'\n                          - cell: 076 657 23 84\n                            dob:\n                              age: 53\n                              date: '1970-04-26T10:23:24.025Z'\n                            email: cacilia.lemoine@example.com\n                            gender: female\n                            id: 5\n                            location:\n                              city: Erlinsbach (Ag)\n                              coordinates:\n                                latitude: '0.3904'\n                                longitude: '-150.1322'\n                              country: Switzerland\n                              postcode: 1138\n                              state: Schwyz\n                              street:\n                                name: Montée du Chemin-Neuf\n                                number: 3778\n                              timezone:\n                                description: Mountain Time (US & Canada)\n                                offset: '-7:00'\n                            login:\n                              md5: 180077a1ef8cc1e9cf42860f645b3b2f\n                              password: bigtime\n                              salt: RcUosVOt\n                              sha1: 5269d29ebc80c8d73fe7a6383e838b054a760b51\n                              sha256: >-\n                                1a4381f6625bb368ffa08ada211f7848acce2e2a418361899d8f91bd69578139\n                              username: beautifulrabbit185\n                              uuid: 569974f9-4921-4c5a-8031-f7bff6f41efc\n                            name:\n                              first: Cäcilia\n                              last: Lemoine\n                              title: Madame\n                            nat: CH\n                            phone: 076 011 82 88\n                            picture:\n                              large: https://randomuser.me/api/portraits/women/42.jpg\n                              medium: >-\n                                https://randomuser.me/api/portraits/med/women/42.jpg\n                              thumbnail: >-\n                                https://randomuser.me/api/portraits/thumb/women/42.jpg\n                            registered:\n                              age: 2\n                              date: '2020-07-15T11:41:59.706Z'\n                          - cell: '9376723605'\n                            dob:\n                              age: 44\n                              date: '1978-10-01T00:33:31.775Z'\n                            email: nandita.uchil@example.com\n                            gender: female\n                            id: 6\n                            location:\n                              city: Kozhikode\n                              coordinates:\n                                latitude: '-21.4486'\n                                longitude: '-29.1084'\n                              country: India\n                              postcode: 20318\n                              state: Tripura\n                              street:\n                                name: NAD X Rd\n                                number: 6826\n                              timezone:\n                                description: Kathmandu\n                                offset: '+5:45'\n                            login:\n                              md5: cb8ba0dba2c270e548fd9dc4fc00612b\n                              password: soccer10\n                              salt: El6b1cU3\n                              sha1: fe9e3df57d56931472e2ead3e2ba0989660f4805\n                              sha256: >-\n                                210321ab09bb38896ee7a616ba3a8fa0e0dd3f7cbcf93f185bdcc3715b842d4e\n                              username: goldenostrich181\n                              uuid: 31ba6d47-92a5-447f-a48f-c7bab21a219c\n                            name:\n                              first: Nandita\n                              last: Uchil\n                              title: Mrs\n                            nat: IN\n                            phone: '9450586544'\n                            picture:\n                              large: https://randomuser.me/api/portraits/women/82.jpg\n                              medium: >-\n                                https://randomuser.me/api/portraits/med/women/82.jpg\n                              thumbnail: >-\n                                https://randomuser.me/api/portraits/thumb/women/82.jpg\n                            registered:\n                              age: 5\n                              date: '2018-03-16T16:46:33.627Z'\n                          - cell: 0466-518-535\n                            dob:\n                              age: 33\n                              date: '1989-11-13T19:26:57.752Z'\n                            email: terri.clark@example.com\n                            gender: female\n                            id: 7\n                            location:\n                              city: Mildura\n                              coordinates:\n                                latitude: '-40.3788'\n                                longitude: '-164.7382'\n                              country: Australia\n                              postcode: 7746\n                              state: New South Wales\n                              street:\n                                name: College St\n                                number: 3585\n                              timezone:\n                                description: >-\n                                  Western Europe Time, London, Lisbon,\n                                  Casablanca\n                                offset: '0:00'\n                            login:\n                              md5: 2ebf82771d7ce990ad469ff4e9e80a27\n                              password: elway7\n                              salt: gvoc7xk4\n                              sha1: f52933723cdaea82f9bffd11134a86ca2872036f\n                              sha256: >-\n                                6b3dafbf3e244aa21f56fc59f631c7d7edd88189719089158df4e5d8775e329f\n                              username: smallladybug901\n                              uuid: 25070c5d-4f32-4a60-8640-828282943624\n                            name:\n                              first: Terri\n                              last: Clark\n                              title: Miss\n                            nat: AU\n                            phone: 07-1746-8000\n                            picture:\n                              large: https://randomuser.me/api/portraits/women/59.jpg\n                              medium: >-\n                                https://randomuser.me/api/portraits/med/women/59.jpg\n                              thumbnail: >-\n                                https://randomuser.me/api/portraits/thumb/women/59.jpg\n                            registered:\n                              age: 1\n                              date: '2021-08-02T19:56:17.949Z'\n                          - cell: (097) H03-7594\n                            dob:\n                              age: 41\n                              date: '1981-07-13T07:30:31.046Z'\n                            email: dibach.gocko@example.com\n                            gender: male\n                            id: 8\n                            location:\n                              city: Popasna\n                              coordinates:\n                                latitude: '23.5401'\n                                longitude: '106.1507'\n                              country: Ukraine\n                              postcode: 22060\n                              state: Poltavska\n                              street:\n                                name: Ivana Pulyuya\n                                number: 1883\n                              timezone:\n                                description: Ekaterinburg, Islamabad, Karachi, Tashkent\n                                offset: '+5:00'\n                            login:\n                              md5: 478264ccf64d1fbf414c4c10fd9345fc\n                              password: wowwow\n                              salt: jlHUGO4a\n                              sha1: d9dc663a737b747137f56d76e4614b25a760c123\n                              sha256: >-\n                                fce19f3106a0360176cfc8863e7bd22c8384867acbe1f7a21b93d4b07364e291\n                              username: heavysnake675\n                              uuid: b0c34ca5-20c1-47e6-b040-12d3de4a8b45\n                            name:\n                              first: Dibach\n                              last: Gocko\n                              title: Mr\n                            nat: UA\n                            phone: (096) Q51-1466\n                            picture:\n                              large: https://randomuser.me/api/portraits/men/97.jpg\n                              medium: >-\n                                https://randomuser.me/api/portraits/med/men/97.jpg\n                              thumbnail: >-\n                                https://randomuser.me/api/portraits/thumb/men/97.jpg\n                            registered:\n                              age: 2\n                              date: '2020-06-15T06:00:13.939Z'\n                          - cell: 663-396-994\n                            dob:\n                              age: 34\n                              date: '1988-10-18T10:40:46.976Z'\n                            email: virginia.dominguez@example.com\n                            gender: female\n                            id: 9\n                            location:\n                              city: Santa Cruz de Tenerife\n                              coordinates:\n                                latitude: '68.0499'\n                                longitude: '-9.1692'\n                              country: Spain\n                              postcode: 30399\n                              state: Asturias\n                              street:\n                                name: Avenida de Andalucía\n                                number: 3813\n                              timezone:\n                                description: >-\n                                  Western Europe Time, London, Lisbon,\n                                  Casablanca\n                                offset: '0:00'\n                            login:\n                              md5: d2dd087741f12a7dbef36df5e3294846\n                              password: lander\n                              salt: wdlOyzev\n                              sha1: 9d899ba14206c645557261b14572c9cdc13fcd1c\n                              sha256: >-\n                                6d9cfd544a26c1bbb02903f0e0503da2242ada312abe31b62cd70393e5ff5643\n                              username: tinymeercat592\n                              uuid: 63b2e547-b188-47f7-8a98-e173e0d0ced5\n                            name:\n                              first: Virginia\n                              last: Domínguez\n                              title: Ms\n                            nat: ES\n                            phone: 950-457-280\n                            picture:\n                              large: https://randomuser.me/api/portraits/women/60.jpg\n                              medium: >-\n                                https://randomuser.me/api/portraits/med/women/60.jpg\n                              thumbnail: >-\n                                https://randomuser.me/api/portraits/thumb/women/60.jpg\n                            registered:\n                              age: 4\n                              date: '2018-10-07T16:11:51.787Z'\n                          - cell: 0955-789-0778\n                            dob:\n                              age: 63\n                              date: '1960-04-09T12:58:36.692Z'\n                            email: ard.khwty@example.com\n                            gender: male\n                            id: 10\n                            location:\n                              city: نیشابور\n                              coordinates:\n                                latitude: '30.4677'\n                                longitude: '-147.4363'\n                              country: Iran\n                              postcode: 86893\n                              state: کردستان\n                              street:\n                                name: میدان استقلال\n                                number: 6607\n                              timezone:\n                                description: Central Time (US & Canada), Mexico City\n                                offset: '-6:00'\n                            login:\n                              md5: 57a78bf79f14747d8e4e4bfc8b88421c\n                              password: lucky\n                              salt: 7YOJGqxC\n                              sha1: 0d1d7a5e577a6ad2f24e6197fdff5406561b485c\n                              sha256: >-\n                                dac7bc7fcf5c3fc7fae006ae8a318908515c45d4dfd315063e1d406a96337f91\n                              username: goldendog820\n                              uuid: 9cdb7909-ca96-46c5-89c4-5909db33c1d0\n                            name:\n                              first: آراد\n                              last: کوتی\n                              title: Mr\n                            nat: IR\n                            phone: 040-18679426\n                            picture:\n                              large: https://randomuser.me/api/portraits/men/28.jpg\n                              medium: >-\n                                https://randomuser.me/api/portraits/med/men/28.jpg\n                              thumbnail: >-\n                                https://randomuser.me/api/portraits/thumb/men/28.jpg\n                            registered:\n                              age: 6\n                              date: '2016-11-19T20:27:01.344Z'\n                      limit:\n                        type: number\n                        example: 10\n                      nextPage:\n                        type: boolean\n                        example: true\n                      page:\n                        type: number\n                        example: 1\n                      previousPage:\n                        type: boolean\n                        example: false\n                      totalItems:\n                        type: number\n                        example: 500\n                      totalPages:\n                        type: number\n                        example: 50\n                  message:\n                    type: string\n                    example: Random users fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get random users:\n                  value:\n                    data:\n                      currentPageItems: 10\n                      data:\n                        - cell: (029)-082-3612\n                          dob:\n                            age: 54\n                            date: '1968-07-21T10:02:51.768Z'\n                          email: joseph.evans@example.com\n                          gender: male\n                          id: 1\n                          location:\n                            city: Hastings\n                            coordinates:\n                              latitude: '51.9039'\n                              longitude: '-45.2357'\n                            country: New Zealand\n                            postcode: 92298\n                            state: Otago\n                            street:\n                              name: Lunn Avenue\n                              number: 61\n                            timezone:\n                              description: Central Time (US & Canada), Mexico City\n                              offset: '-6:00'\n                          login:\n                            md5: 2cc09194861ea12e8e842cdce5749230\n                            password: otis\n                            salt: WiHweSpK\n                            sha1: aa808f8a4f03df53a427905ae690c677b2d68895\n                            sha256: >-\n                              c857e62a617c9015a05b9ecc7f63e05c90042bd79514ca49bacfdf7e97b482d8\n                            username: angryzebra337\n                            uuid: 9230749e-c285-41b4-9a0f-46dab2454b4e\n                          name:\n                            first: Joseph\n                            last: Evans\n                            title: Mr\n                          nat: NZ\n                          phone: (612)-327-2806\n                          picture:\n                            large: https://randomuser.me/api/portraits/men/65.jpg\n                            medium: https://randomuser.me/api/portraits/med/men/65.jpg\n                            thumbnail: >-\n                              https://randomuser.me/api/portraits/thumb/men/65.jpg\n                          registered:\n                            age: 4\n                            date: '2019-01-31T10:09:35.816Z'\n                        - cell: '8993504716'\n                          dob:\n                            age: 32\n                            date: '1990-10-29T13:51:49.805Z'\n                          email: hetal.bharanya@example.com\n                          gender: female\n                          id: 2\n                          location:\n                            city: Howrah\n                            coordinates:\n                              latitude: '-89.7659'\n                              longitude: '49.5620'\n                            country: India\n                            postcode: 12054\n                            state: Madhya Pradesh\n                            street:\n                              name: Gali Paranthe Wali\n                              number: 234\n                            timezone:\n                              description: Kabul\n                              offset: '+4:30'\n                          login:\n                            md5: fa9549419b5ac6ca748d0513ec625553\n                            password: insanity\n                            salt: rYfUWfpZ\n                            sha1: b7f374368f6d8be2f9880037b5bf6c3c76c1db2e\n                            sha256: >-\n                              5c61e253e05d64a713020566d872b07890d74f347c430974c7e86897bf6ed781\n                            username: happygoose680\n                            uuid: 03e1e369-138c-442b-a046-904d1cc13d76\n                          name:\n                            first: Hetal\n                            last: Bharanya\n                            title: Ms\n                          nat: IN\n                          phone: '7517215828'\n                          picture:\n                            large: https://randomuser.me/api/portraits/women/47.jpg\n                            medium: >-\n                              https://randomuser.me/api/portraits/med/women/47.jpg\n                            thumbnail: >-\n                              https://randomuser.me/api/portraits/thumb/women/47.jpg\n                          registered:\n                            age: 16\n                            date: '2007-04-04T09:22:55.620Z'\n                        - cell: 064-2952-510\n                          dob:\n                            age: 63\n                            date: '1960-01-02T04:11:38.488Z'\n                          email: tanja.spanovic@example.com\n                          gender: female\n                          id: 3\n                          location:\n                            city: Lebane\n                            coordinates:\n                              latitude: '-26.3541'\n                              longitude: '52.2337'\n                            country: Serbia\n                            postcode: 88087\n                            state: Prizren\n                            street:\n                              name: Vojvode Mišića\n                              number: 1663\n                            timezone:\n                              description: Central Time (US & Canada), Mexico City\n                              offset: '-6:00'\n                          login:\n                            md5: ec60e7838514036315af596a3f465c3c\n                            password: calgary\n                            salt: giy1GclZ\n                            sha1: dd79140034db5b5fa55896f3a7dee55d3b3b384d\n                            sha256: >-\n                              42fdb899d4443d01815fb27c146223c2ad9ce9ad12fc488015c5cadd52881104\n                            username: greentiger564\n                            uuid: d37482c4-28c3-4d6e-b591-6c1a7059defc\n                          name:\n                            first: Tanja\n                            last: Španović\n                            title: Mrs\n                          nat: RS\n                          phone: 039-7503-456\n                          picture:\n                            large: https://randomuser.me/api/portraits/women/96.jpg\n                            medium: >-\n                              https://randomuser.me/api/portraits/med/women/96.jpg\n                            thumbnail: >-\n                              https://randomuser.me/api/portraits/thumb/women/96.jpg\n                          registered:\n                            age: 4\n                            date: '2018-06-15T09:02:58.581Z'\n                        - cell: (06) 13040738\n                          dob:\n                            age: 59\n                            date: '1963-10-03T14:59:37.860Z'\n                          email: yori.knot@example.com\n                          gender: female\n                          id: 4\n                          location:\n                            city: Winterswijk Henxel\n                            coordinates:\n                              latitude: '-39.0490'\n                              longitude: '88.6245'\n                            country: Netherlands\n                            postcode: 3305 DO\n                            state: Utrecht\n                            street:\n                              name: Kastordreef\n                              number: 1243\n                            timezone:\n                              description: Newfoundland\n                              offset: '-3:30'\n                          login:\n                            md5: 48ecff0ad189ec56cc77cf08b95f6de8\n                            password: ilikeit\n                            salt: zmeTOy1q\n                            sha1: ebae70d28b5cf4c2164dcf32f1dc33cf0c4e2f21\n                            sha256: >-\n                              9af6004f46f05b9317bd780f18eb409fb22186f587850b48a62b7c12e45f0730\n                            username: purpledog668\n                            uuid: a2dadb83-2e6a-4d12-ad80-2d35e84cfbfb\n                          name:\n                            first: Yori\n                            last: Knot\n                            title: Ms\n                          nat: NL\n                          phone: (096) 2598476\n                          picture:\n                            large: https://randomuser.me/api/portraits/women/43.jpg\n                            medium: >-\n                              https://randomuser.me/api/portraits/med/women/43.jpg\n                            thumbnail: >-\n                              https://randomuser.me/api/portraits/thumb/women/43.jpg\n                          registered:\n                            age: 16\n                            date: '2007-05-08T12:35:56.245Z'\n                        - cell: 076 657 23 84\n                          dob:\n                            age: 53\n                            date: '1970-04-26T10:23:24.025Z'\n                          email: cacilia.lemoine@example.com\n                          gender: female\n                          id: 5\n                          location:\n                            city: Erlinsbach (Ag)\n                            coordinates:\n                              latitude: '0.3904'\n                              longitude: '-150.1322'\n                            country: Switzerland\n                            postcode: 1138\n                            state: Schwyz\n                            street:\n                              name: Montée du Chemin-Neuf\n                              number: 3778\n                            timezone:\n                              description: Mountain Time (US & Canada)\n                              offset: '-7:00'\n                          login:\n                            md5: 180077a1ef8cc1e9cf42860f645b3b2f\n                            password: bigtime\n                            salt: RcUosVOt\n                            sha1: 5269d29ebc80c8d73fe7a6383e838b054a760b51\n                            sha256: >-\n                              1a4381f6625bb368ffa08ada211f7848acce2e2a418361899d8f91bd69578139\n                            username: beautifulrabbit185\n                            uuid: 569974f9-4921-4c5a-8031-f7bff6f41efc\n                          name:\n                            first: Cäcilia\n                            last: Lemoine\n                            title: Madame\n                          nat: CH\n                          phone: 076 011 82 88\n                          picture:\n                            large: https://randomuser.me/api/portraits/women/42.jpg\n                            medium: >-\n                              https://randomuser.me/api/portraits/med/women/42.jpg\n                            thumbnail: >-\n                              https://randomuser.me/api/portraits/thumb/women/42.jpg\n                          registered:\n                            age: 2\n                            date: '2020-07-15T11:41:59.706Z'\n                        - cell: '9376723605'\n                          dob:\n                            age: 44\n                            date: '1978-10-01T00:33:31.775Z'\n                          email: nandita.uchil@example.com\n                          gender: female\n                          id: 6\n                          location:\n                            city: Kozhikode\n                            coordinates:\n                              latitude: '-21.4486'\n                              longitude: '-29.1084'\n                            country: India\n                            postcode: 20318\n                            state: Tripura\n                            street:\n                              name: NAD X Rd\n                              number: 6826\n                            timezone:\n                              description: Kathmandu\n                              offset: '+5:45'\n                          login:\n                            md5: cb8ba0dba2c270e548fd9dc4fc00612b\n                            password: soccer10\n                            salt: El6b1cU3\n                            sha1: fe9e3df57d56931472e2ead3e2ba0989660f4805\n                            sha256: >-\n                              210321ab09bb38896ee7a616ba3a8fa0e0dd3f7cbcf93f185bdcc3715b842d4e\n                            username: goldenostrich181\n                            uuid: 31ba6d47-92a5-447f-a48f-c7bab21a219c\n                          name:\n                            first: Nandita\n                            last: Uchil\n                            title: Mrs\n                          nat: IN\n                          phone: '9450586544'\n                          picture:\n                            large: https://randomuser.me/api/portraits/women/82.jpg\n                            medium: >-\n                              https://randomuser.me/api/portraits/med/women/82.jpg\n                            thumbnail: >-\n                              https://randomuser.me/api/portraits/thumb/women/82.jpg\n                          registered:\n                            age: 5\n                            date: '2018-03-16T16:46:33.627Z'\n                        - cell: 0466-518-535\n                          dob:\n                            age: 33\n                            date: '1989-11-13T19:26:57.752Z'\n                          email: terri.clark@example.com\n                          gender: female\n                          id: 7\n                          location:\n                            city: Mildura\n                            coordinates:\n                              latitude: '-40.3788'\n                              longitude: '-164.7382'\n                            country: Australia\n                            postcode: 7746\n                            state: New South Wales\n                            street:\n                              name: College St\n                              number: 3585\n                            timezone:\n                              description: Western Europe Time, London, Lisbon, Casablanca\n                              offset: '0:00'\n                          login:\n                            md5: 2ebf82771d7ce990ad469ff4e9e80a27\n                            password: elway7\n                            salt: gvoc7xk4\n                            sha1: f52933723cdaea82f9bffd11134a86ca2872036f\n                            sha256: >-\n                              6b3dafbf3e244aa21f56fc59f631c7d7edd88189719089158df4e5d8775e329f\n                            username: smallladybug901\n                            uuid: 25070c5d-4f32-4a60-8640-828282943624\n                          name:\n                            first: Terri\n                            last: Clark\n                            title: Miss\n                          nat: AU\n                          phone: 07-1746-8000\n                          picture:\n                            large: https://randomuser.me/api/portraits/women/59.jpg\n                            medium: >-\n                              https://randomuser.me/api/portraits/med/women/59.jpg\n                            thumbnail: >-\n                              https://randomuser.me/api/portraits/thumb/women/59.jpg\n                          registered:\n                            age: 1\n                            date: '2021-08-02T19:56:17.949Z'\n                        - cell: (097) H03-7594\n                          dob:\n                            age: 41\n                            date: '1981-07-13T07:30:31.046Z'\n                          email: dibach.gocko@example.com\n                          gender: male\n                          id: 8\n                          location:\n                            city: Popasna\n                            coordinates:\n                              latitude: '23.5401'\n                              longitude: '106.1507'\n                            country: Ukraine\n                            postcode: 22060\n                            state: Poltavska\n                            street:\n                              name: Ivana Pulyuya\n                              number: 1883\n                            timezone:\n                              description: Ekaterinburg, Islamabad, Karachi, Tashkent\n                              offset: '+5:00'\n                          login:\n                            md5: 478264ccf64d1fbf414c4c10fd9345fc\n                            password: wowwow\n                            salt: jlHUGO4a\n                            sha1: d9dc663a737b747137f56d76e4614b25a760c123\n                            sha256: >-\n                              fce19f3106a0360176cfc8863e7bd22c8384867acbe1f7a21b93d4b07364e291\n                            username: heavysnake675\n                            uuid: b0c34ca5-20c1-47e6-b040-12d3de4a8b45\n                          name:\n                            first: Dibach\n                            last: Gocko\n                            title: Mr\n                          nat: UA\n                          phone: (096) Q51-1466\n                          picture:\n                            large: https://randomuser.me/api/portraits/men/97.jpg\n                            medium: https://randomuser.me/api/portraits/med/men/97.jpg\n                            thumbnail: >-\n                              https://randomuser.me/api/portraits/thumb/men/97.jpg\n                          registered:\n                            age: 2\n                            date: '2020-06-15T06:00:13.939Z'\n                        - cell: 663-396-994\n                          dob:\n                            age: 34\n                            date: '1988-10-18T10:40:46.976Z'\n                          email: virginia.dominguez@example.com\n                          gender: female\n                          id: 9\n                          location:\n                            city: Santa Cruz de Tenerife\n                            coordinates:\n                              latitude: '68.0499'\n                              longitude: '-9.1692'\n                            country: Spain\n                            postcode: 30399\n                            state: Asturias\n                            street:\n                              name: Avenida de Andalucía\n                              number: 3813\n                            timezone:\n                              description: Western Europe Time, London, Lisbon, Casablanca\n                              offset: '0:00'\n                          login:\n                            md5: d2dd087741f12a7dbef36df5e3294846\n                            password: lander\n                            salt: wdlOyzev\n                            sha1: 9d899ba14206c645557261b14572c9cdc13fcd1c\n                            sha256: >-\n                              6d9cfd544a26c1bbb02903f0e0503da2242ada312abe31b62cd70393e5ff5643\n                            username: tinymeercat592\n                            uuid: 63b2e547-b188-47f7-8a98-e173e0d0ced5\n                          name:\n                            first: Virginia\n                            last: Domínguez\n                            title: Ms\n                          nat: ES\n                          phone: 950-457-280\n                          picture:\n                            large: https://randomuser.me/api/portraits/women/60.jpg\n                            medium: >-\n                              https://randomuser.me/api/portraits/med/women/60.jpg\n                            thumbnail: >-\n                              https://randomuser.me/api/portraits/thumb/women/60.jpg\n                          registered:\n                            age: 4\n                            date: '2018-10-07T16:11:51.787Z'\n                        - cell: 0955-789-0778\n                          dob:\n                            age: 63\n                            date: '1960-04-09T12:58:36.692Z'\n                          email: ard.khwty@example.com\n                          gender: male\n                          id: 10\n                          location:\n                            city: نیشابور\n                            coordinates:\n                              latitude: '30.4677'\n                              longitude: '-147.4363'\n                            country: Iran\n                            postcode: 86893\n                            state: کردستان\n                            street:\n                              name: میدان استقلال\n                              number: 6607\n                            timezone:\n                              description: Central Time (US & Canada), Mexico City\n                              offset: '-6:00'\n                          login:\n                            md5: 57a78bf79f14747d8e4e4bfc8b88421c\n                            password: lucky\n                            salt: 7YOJGqxC\n                            sha1: 0d1d7a5e577a6ad2f24e6197fdff5406561b485c\n                            sha256: >-\n                              dac7bc7fcf5c3fc7fae006ae8a318908515c45d4dfd315063e1d406a96337f91\n                            username: goldendog820\n                            uuid: 9cdb7909-ca96-46c5-89c4-5909db33c1d0\n                          name:\n                            first: آراد\n                            last: کوتی\n                            title: Mr\n                          nat: IR\n                          phone: 040-18679426\n                          picture:\n                            large: https://randomuser.me/api/portraits/men/28.jpg\n                            medium: https://randomuser.me/api/portraits/med/men/28.jpg\n                            thumbnail: >-\n                              https://randomuser.me/api/portraits/thumb/men/28.jpg\n                          registered:\n                            age: 6\n                            date: '2016-11-19T20:27:01.344Z'\n                      limit: 10\n                      nextPage: true\n                      page: 1\n                      previousPage: false\n                      totalItems: 500\n                      totalPages: 50\n                    message: Random users fetched successfully\n                    statusCode: 200\n                    success: true\n  /public/randomusers/{userId}:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get user by id\n      description: >-\n        The API endpoint retrieves a user based on the specified ID.\n\n\n        When accessing this endpoint and providing a valid user ID as a\n        parameter, you will receive a response containing the details of the\n        user matching the provided ID.\n      operationId: getUserById\n      responses:\n        '200':\n          description: Get user by id\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '1126'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:44:27 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"466-tNv1SNtB6cuxJH2yZW7lrDnlA34\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      cell:\n                        type: string\n                        example: (06) 55822509\n                      dob:\n                        type: object\n                        properties:\n                          age:\n                            type: number\n                            example: 46\n                          date:\n                            type: string\n                            example: '1977-02-08T09:03:59.520Z'\n                      email:\n                        type: string\n                        example: liron.roukema@example.com\n                      gender:\n                        type: string\n                        example: male\n                      id:\n                        type: number\n                        example: 13\n                      location:\n                        type: object\n                        properties:\n                          city:\n                            type: string\n                            example: Velp\n                          coordinates:\n                            type: object\n                            properties:\n                              latitude:\n                                type: string\n                                example: '-65.8793'\n                              longitude:\n                                type: string\n                                example: '-124.5931'\n                          country:\n                            type: string\n                            example: Netherlands\n                          postcode:\n                            type: string\n                            example: 1204 FM\n                          state:\n                            type: string\n                            example: Noord-Holland\n                          street:\n                            type: object\n                            properties:\n                              name:\n                                type: string\n                                example: Geessinkbrink\n                              number:\n                                type: number\n                                example: 2643\n                          timezone:\n                            type: object\n                            properties:\n                              description:\n                                type: string\n                                example: Kaliningrad, South Africa\n                              offset:\n                                type: string\n                                example: '+2:00'\n                      login:\n                        type: object\n                        properties:\n                          md5:\n                            type: string\n                            example: 25d7d3c90507e1f0efe35cbdf1ab9aa9\n                          password:\n                            type: string\n                            example: kenwood\n                          salt:\n                            type: string\n                            example: oDN21BPS\n                          sha1:\n                            type: string\n                            example: 6f2113126a3f6b42fd3eaa02ec02dc09e11b867c\n                          sha256:\n                            type: string\n                            example: >-\n                              ed7cb9b0cdc995e1b25ae1c1e631c3f4fd9b02fff34e7d80c589019dcee4a1f9\n                          username:\n                            type: string\n                            example: bigleopard480\n                          uuid:\n                            type: string\n                            example: 28b8ae0f-7daa-4ef7-a912-6999416b8e65\n                      name:\n                        type: object\n                        properties:\n                          first:\n                            type: string\n                            example: Liron\n                          last:\n                            type: string\n                            example: Roukema\n                          title:\n                            type: string\n                            example: Mr\n                      nat:\n                        type: string\n                        example: NL\n                      phone:\n                        type: string\n                        example: (040) 4848820\n                      picture:\n                        type: object\n                        properties:\n                          large:\n                            type: string\n                            example: https://randomuser.me/api/portraits/men/72.jpg\n                          medium:\n                            type: string\n                            example: https://randomuser.me/api/portraits/med/men/72.jpg\n                          thumbnail:\n                            type: string\n                            example: >-\n                              https://randomuser.me/api/portraits/thumb/men/72.jpg\n                      registered:\n                        type: object\n                        properties:\n                          age:\n                            type: number\n                            example: 8\n                          date:\n                            type: string\n                            example: '2014-08-12T08:58:31.276Z'\n                  message:\n                    type: string\n                    example: User fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get user by id:\n                  value:\n                    data:\n                      cell: (06) 55822509\n                      dob:\n                        age: 46\n                        date: '1977-02-08T09:03:59.520Z'\n                      email: liron.roukema@example.com\n                      gender: male\n                      id: 13\n                      location:\n                        city: Velp\n                        coordinates:\n                          latitude: '-65.8793'\n                          longitude: '-124.5931'\n                        country: Netherlands\n                        postcode: 1204 FM\n                        state: Noord-Holland\n                        street:\n                          name: Geessinkbrink\n                          number: 2643\n                        timezone:\n                          description: Kaliningrad, South Africa\n                          offset: '+2:00'\n                      login:\n                        md5: 25d7d3c90507e1f0efe35cbdf1ab9aa9\n                        password: kenwood\n                        salt: oDN21BPS\n                        sha1: 6f2113126a3f6b42fd3eaa02ec02dc09e11b867c\n                        sha256: >-\n                          ed7cb9b0cdc995e1b25ae1c1e631c3f4fd9b02fff34e7d80c589019dcee4a1f9\n                        username: bigleopard480\n                        uuid: 28b8ae0f-7daa-4ef7-a912-6999416b8e65\n                      name:\n                        first: Liron\n                        last: Roukema\n                        title: Mr\n                      nat: NL\n                      phone: (040) 4848820\n                      picture:\n                        large: https://randomuser.me/api/portraits/men/72.jpg\n                        medium: https://randomuser.me/api/portraits/med/men/72.jpg\n                        thumbnail: https://randomuser.me/api/portraits/thumb/men/72.jpg\n                      registered:\n                        age: 8\n                        date: '2014-08-12T08:58:31.276Z'\n                    message: User fetched successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: userId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: '13'\n  /public/randomusers/user/random:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get a random user\n      description: >-\n        The API endpoint retrieves a single random user. When accessing this\n        endpoint, you will receive a response containing the details of one\n        randomly selected user.\n      operationId: getARandomUser\n      responses:\n        '200':\n          description: Get a random user\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '1140'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:44:19 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"474-4pbaU+VvJJctUuXcB6/x3v8JCEE\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      cell:\n                        type: string\n                        example: (896)-589-7916\n                      dob:\n                        type: object\n                        properties:\n                          age:\n                            type: number\n                            example: 42\n                          date:\n                            type: string\n                            example: '1980-09-25T14:49:43.525Z'\n                      email:\n                        type: string\n                        example: cohen.kumar@example.com\n                      gender:\n                        type: string\n                        example: male\n                      id:\n                        type: number\n                        example: 72\n                      location:\n                        type: object\n                        properties:\n                          city:\n                            type: string\n                            example: Hamilton\n                          coordinates:\n                            type: object\n                            properties:\n                              latitude:\n                                type: string\n                                example: '-27.4776'\n                              longitude:\n                                type: string\n                                example: '162.0555'\n                          country:\n                            type: string\n                            example: New Zealand\n                          postcode:\n                            type: number\n                            example: 96606\n                          state:\n                            type: string\n                            example: Marlborough\n                          street:\n                            type: object\n                            properties:\n                              name:\n                                type: string\n                                example: Madras Street\n                              number:\n                                type: number\n                                example: 1501\n                          timezone:\n                            type: object\n                            properties:\n                              description:\n                                type: string\n                                example: Central Time (US & Canada), Mexico City\n                              offset:\n                                type: string\n                                example: '-6:00'\n                      login:\n                        type: object\n                        properties:\n                          md5:\n                            type: string\n                            example: 92e33e2b88449a3db2e4e0a3a19a09fa\n                          password:\n                            type: string\n                            example: animal\n                          salt:\n                            type: string\n                            example: OIFBJCNH\n                          sha1:\n                            type: string\n                            example: c38e61a03ec59d36798d0626d73fb64b0e431f77\n                          sha256:\n                            type: string\n                            example: >-\n                              f5162a8f3459aec6add03a463a8cbdcd45abb8fbff8acf603d1a9c83302c7500\n                          username:\n                            type: string\n                            example: blueswan153\n                          uuid:\n                            type: string\n                            example: 5508de3c-c0d9-4288-88bb-c215f2c77d5a\n                      name:\n                        type: object\n                        properties:\n                          first:\n                            type: string\n                            example: Cohen\n                          last:\n                            type: string\n                            example: Kumar\n                          title:\n                            type: string\n                            example: Mr\n                      nat:\n                        type: string\n                        example: NZ\n                      phone:\n                        type: string\n                        example: (698)-247-1783\n                      picture:\n                        type: object\n                        properties:\n                          large:\n                            type: string\n                            example: https://randomuser.me/api/portraits/men/21.jpg\n                          medium:\n                            type: string\n                            example: https://randomuser.me/api/portraits/med/men/21.jpg\n                          thumbnail:\n                            type: string\n                            example: >-\n                              https://randomuser.me/api/portraits/thumb/men/21.jpg\n                      registered:\n                        type: object\n                        properties:\n                          age:\n                            type: number\n                            example: 17\n                          date:\n                            type: string\n                            example: '2006-02-15T17:17:15.115Z'\n                  message:\n                    type: string\n                    example: Random user fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get a random user:\n                  value:\n                    data:\n                      cell: (896)-589-7916\n                      dob:\n                        age: 42\n                        date: '1980-09-25T14:49:43.525Z'\n                      email: cohen.kumar@example.com\n                      gender: male\n                      id: 72\n                      location:\n                        city: Hamilton\n                        coordinates:\n                          latitude: '-27.4776'\n                          longitude: '162.0555'\n                        country: New Zealand\n                        postcode: 96606\n                        state: Marlborough\n                        street:\n                          name: Madras Street\n                          number: 1501\n                        timezone:\n                          description: Central Time (US & Canada), Mexico City\n                          offset: '-6:00'\n                      login:\n                        md5: 92e33e2b88449a3db2e4e0a3a19a09fa\n                        password: animal\n                        salt: OIFBJCNH\n                        sha1: c38e61a03ec59d36798d0626d73fb64b0e431f77\n                        sha256: >-\n                          f5162a8f3459aec6add03a463a8cbdcd45abb8fbff8acf603d1a9c83302c7500\n                        username: blueswan153\n                        uuid: 5508de3c-c0d9-4288-88bb-c215f2c77d5a\n                      name:\n                        first: Cohen\n                        last: Kumar\n                        title: Mr\n                      nat: NZ\n                      phone: (698)-247-1783\n                      picture:\n                        large: https://randomuser.me/api/portraits/men/21.jpg\n                        medium: https://randomuser.me/api/portraits/med/men/21.jpg\n                        thumbnail: https://randomuser.me/api/portraits/thumb/men/21.jpg\n                      registered:\n                        age: 17\n                        date: '2006-02-15T17:17:15.115Z'\n                    message: Random user fetched successfully\n                    statusCode: 200\n                    success: true\n  /public/randomproducts:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get products\n      description: >-\n        The API endpoint returns a list of dummy products.\n\n\n        When accessing this endpoint, you will receive a response containing a\n        collection of dummy product information.\n      operationId: getProducts\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '10'\n        - name: inc\n          in: query\n          schema:\n            type: string\n            example: category,price,thumbnail,images,title,id\n        - name: query\n          in: query\n          schema:\n            type: string\n            example: mens-watches\n      responses:\n        '200':\n          description: Get random products\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '3793'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:45:29 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"ed1-niNss1eompEQ4ChfnBhzzfpOScU\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      currentPageItems:\n                        type: number\n                        example: 10\n                      data:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            category:\n                              type: string\n                              example: mens-watches\n                            id:\n                              type: number\n                              example: 61\n                            images:\n                              type: array\n                              items:\n                                type: string\n                                example: https://i.dummyjson.com/data/products/61/1.jpg\n                              example:\n                                - https://i.dummyjson.com/data/products/61/1.jpg\n                                - https://i.dummyjson.com/data/products/61/2.png\n                                - https://i.dummyjson.com/data/products/61/3.jpg\n                            price:\n                              type: number\n                              example: 120\n                            thumbnail:\n                              type: string\n                              example: >-\n                                https://i.dummyjson.com/data/products/61/thumbnail.jpg\n                            title:\n                              type: string\n                              example: Leather Straps Wristwatch\n                        example:\n                          - category: mens-watches\n                            id: 61\n                            images:\n                              - https://i.dummyjson.com/data/products/61/1.jpg\n                              - https://i.dummyjson.com/data/products/61/2.png\n                              - https://i.dummyjson.com/data/products/61/3.jpg\n                            price: 120\n                            thumbnail: >-\n                              https://i.dummyjson.com/data/products/61/thumbnail.jpg\n                            title: Leather Straps Wristwatch\n                          - category: mens-watches\n                            id: 62\n                            images:\n                              - https://i.dummyjson.com/data/products/62/1.jpg\n                              - https://i.dummyjson.com/data/products/62/2.jpg\n                            price: 46\n                            thumbnail: >-\n                              https://i.dummyjson.com/data/products/62/thumbnail.jpg\n                            title: Waterproof Leather Brand Watch\n                          - category: mens-watches\n                            id: 63\n                            images:\n                              - https://i.dummyjson.com/data/products/63/1.jpg\n                              - https://i.dummyjson.com/data/products/63/2.jpg\n                              - https://i.dummyjson.com/data/products/63/3.png\n                              - https://i.dummyjson.com/data/products/63/4.jpeg\n                            price: 50\n                            thumbnail: >-\n                              https://i.dummyjson.com/data/products/63/thumbnail.webp\n                            title: Royal Blue Premium Watch\n                          - category: mens-watches\n                            id: 64\n                            images:\n                              - https://i.dummyjson.com/data/products/64/1.jpg\n                              - https://i.dummyjson.com/data/products/64/2.webp\n                              - https://i.dummyjson.com/data/products/64/3.jpg\n                              - >-\n                                https://i.dummyjson.com/data/products/64/thumbnail.jpg\n                            price: 46\n                            thumbnail: >-\n                              https://i.dummyjson.com/data/products/64/thumbnail.jpg\n                            title: Leather Strap Skeleton Watch\n                          - category: mens-watches\n                            id: 65\n                            images:\n                              - https://i.dummyjson.com/data/products/65/1.jpg\n                              - https://i.dummyjson.com/data/products/65/2.webp\n                              - https://i.dummyjson.com/data/products/65/3.jpg\n                              - https://i.dummyjson.com/data/products/65/4.webp\n                              - >-\n                                https://i.dummyjson.com/data/products/65/thumbnail.webp\n                            price: 47\n                            thumbnail: >-\n                              https://i.dummyjson.com/data/products/65/thumbnail.webp\n                            title: Stainless Steel Wrist Watch\n                          - category: womens-watches\n                            id: 66\n                            images:\n                              - https://i.dummyjson.com/data/products/66/1.jpg\n                              - https://i.dummyjson.com/data/products/66/2.jpg\n                              - https://i.dummyjson.com/data/products/66/3.jpg\n                              - https://i.dummyjson.com/data/products/66/4.JPG\n                              - >-\n                                https://i.dummyjson.com/data/products/66/thumbnail.jpg\n                            price: 35\n                            thumbnail: >-\n                              https://i.dummyjson.com/data/products/66/thumbnail.jpg\n                            title: Steel Analog Couple Watches\n                          - category: womens-watches\n                            id: 67\n                            images:\n                              - https://i.dummyjson.com/data/products/67/1.jpg\n                              - https://i.dummyjson.com/data/products/67/2.jpg\n                              - https://i.dummyjson.com/data/products/67/3.jpg\n                              - https://i.dummyjson.com/data/products/67/4.jpg\n                              - >-\n                                https://i.dummyjson.com/data/products/67/thumbnail.jpg\n                            price: 60\n                            thumbnail: >-\n                              https://i.dummyjson.com/data/products/67/thumbnail.jpg\n                            title: Fashion Magnetic Wrist Watch\n                          - category: womens-watches\n                            id: 68\n                            images:\n                              - https://i.dummyjson.com/data/products/68/1.jpg\n                              - https://i.dummyjson.com/data/products/68/2.jpg\n                            price: 57\n                            thumbnail: >-\n                              https://i.dummyjson.com/data/products/68/thumbnail.webp\n                            title: Stylish Luxury Digital Watch\n                          - category: womens-watches\n                            id: 69\n                            images:\n                              - https://i.dummyjson.com/data/products/69/1.jpg\n                              - https://i.dummyjson.com/data/products/69/2.jpg\n                              - https://i.dummyjson.com/data/products/69/3.webp\n                              - https://i.dummyjson.com/data/products/69/4.jpg\n                              - >-\n                                https://i.dummyjson.com/data/products/69/thumbnail.jpg\n                            price: 47\n                            thumbnail: >-\n                              https://i.dummyjson.com/data/products/69/thumbnail.jpg\n                            title: Golden Watch Pearls Bracelet Watch\n                          - category: womens-watches\n                            id: 70\n                            images:\n                              - https://i.dummyjson.com/data/products/70/1.jpg\n                              - https://i.dummyjson.com/data/products/70/2.jpg\n                              - >-\n                                https://i.dummyjson.com/data/products/70/thumbnail.jpg\n                            price: 35\n                            thumbnail: >-\n                              https://i.dummyjson.com/data/products/70/thumbnail.jpg\n                            title: Stainless Steel Women\n                      limit:\n                        type: number\n                        example: 10\n                      nextPage:\n                        type: boolean\n                        example: false\n                      page:\n                        type: number\n                        example: 1\n                      previousPage:\n                        type: boolean\n                        example: false\n                      totalItems:\n                        type: number\n                        example: 10\n                      totalPages:\n                        type: number\n                        example: 1\n                  message:\n                    type: string\n                    example: Random products fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get random products:\n                  value:\n                    data:\n                      currentPageItems: 10\n                      data:\n                        - category: mens-watches\n                          id: 61\n                          images:\n                            - https://i.dummyjson.com/data/products/61/1.jpg\n                            - https://i.dummyjson.com/data/products/61/2.png\n                            - https://i.dummyjson.com/data/products/61/3.jpg\n                          price: 120\n                          thumbnail: >-\n                            https://i.dummyjson.com/data/products/61/thumbnail.jpg\n                          title: Leather Straps Wristwatch\n                        - category: mens-watches\n                          id: 62\n                          images:\n                            - https://i.dummyjson.com/data/products/62/1.jpg\n                            - https://i.dummyjson.com/data/products/62/2.jpg\n                          price: 46\n                          thumbnail: >-\n                            https://i.dummyjson.com/data/products/62/thumbnail.jpg\n                          title: Waterproof Leather Brand Watch\n                        - category: mens-watches\n                          id: 63\n                          images:\n                            - https://i.dummyjson.com/data/products/63/1.jpg\n                            - https://i.dummyjson.com/data/products/63/2.jpg\n                            - https://i.dummyjson.com/data/products/63/3.png\n                            - https://i.dummyjson.com/data/products/63/4.jpeg\n                          price: 50\n                          thumbnail: >-\n                            https://i.dummyjson.com/data/products/63/thumbnail.webp\n                          title: Royal Blue Premium Watch\n                        - category: mens-watches\n                          id: 64\n                          images:\n                            - https://i.dummyjson.com/data/products/64/1.jpg\n                            - https://i.dummyjson.com/data/products/64/2.webp\n                            - https://i.dummyjson.com/data/products/64/3.jpg\n                            - >-\n                              https://i.dummyjson.com/data/products/64/thumbnail.jpg\n                          price: 46\n                          thumbnail: >-\n                            https://i.dummyjson.com/data/products/64/thumbnail.jpg\n                          title: Leather Strap Skeleton Watch\n                        - category: mens-watches\n                          id: 65\n                          images:\n                            - https://i.dummyjson.com/data/products/65/1.jpg\n                            - https://i.dummyjson.com/data/products/65/2.webp\n                            - https://i.dummyjson.com/data/products/65/3.jpg\n                            - https://i.dummyjson.com/data/products/65/4.webp\n                            - >-\n                              https://i.dummyjson.com/data/products/65/thumbnail.webp\n                          price: 47\n                          thumbnail: >-\n                            https://i.dummyjson.com/data/products/65/thumbnail.webp\n                          title: Stainless Steel Wrist Watch\n                        - category: womens-watches\n                          id: 66\n                          images:\n                            - https://i.dummyjson.com/data/products/66/1.jpg\n                            - https://i.dummyjson.com/data/products/66/2.jpg\n                            - https://i.dummyjson.com/data/products/66/3.jpg\n                            - https://i.dummyjson.com/data/products/66/4.JPG\n                            - >-\n                              https://i.dummyjson.com/data/products/66/thumbnail.jpg\n                          price: 35\n                          thumbnail: >-\n                            https://i.dummyjson.com/data/products/66/thumbnail.jpg\n                          title: Steel Analog Couple Watches\n                        - category: womens-watches\n                          id: 67\n                          images:\n                            - https://i.dummyjson.com/data/products/67/1.jpg\n                            - https://i.dummyjson.com/data/products/67/2.jpg\n                            - https://i.dummyjson.com/data/products/67/3.jpg\n                            - https://i.dummyjson.com/data/products/67/4.jpg\n                            - >-\n                              https://i.dummyjson.com/data/products/67/thumbnail.jpg\n                          price: 60\n                          thumbnail: >-\n                            https://i.dummyjson.com/data/products/67/thumbnail.jpg\n                          title: Fashion Magnetic Wrist Watch\n                        - category: womens-watches\n                          id: 68\n                          images:\n                            - https://i.dummyjson.com/data/products/68/1.jpg\n                            - https://i.dummyjson.com/data/products/68/2.jpg\n                          price: 57\n                          thumbnail: >-\n                            https://i.dummyjson.com/data/products/68/thumbnail.webp\n                          title: Stylish Luxury Digital Watch\n                        - category: womens-watches\n                          id: 69\n                          images:\n                            - https://i.dummyjson.com/data/products/69/1.jpg\n                            - https://i.dummyjson.com/data/products/69/2.jpg\n                            - https://i.dummyjson.com/data/products/69/3.webp\n                            - https://i.dummyjson.com/data/products/69/4.jpg\n                            - >-\n                              https://i.dummyjson.com/data/products/69/thumbnail.jpg\n                          price: 47\n                          thumbnail: >-\n                            https://i.dummyjson.com/data/products/69/thumbnail.jpg\n                          title: Golden Watch Pearls Bracelet Watch\n                        - category: womens-watches\n                          id: 70\n                          images:\n                            - https://i.dummyjson.com/data/products/70/1.jpg\n                            - https://i.dummyjson.com/data/products/70/2.jpg\n                            - >-\n                              https://i.dummyjson.com/data/products/70/thumbnail.jpg\n                          price: 35\n                          thumbnail: >-\n                            https://i.dummyjson.com/data/products/70/thumbnail.jpg\n                          title: Stainless Steel Women\n                      limit: 10\n                      nextPage: false\n                      page: 1\n                      previousPage: false\n                      totalItems: 10\n                      totalPages: 1\n                    message: Random products fetched successfully\n                    statusCode: 200\n                    success: true\n  /public/randomproducts/{productId}:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get product by id\n      description: >-\n        The API endpoint allows you to retrieve a product based on the specified\n        product ID.\n\n\n        When accessing this endpoint and providing a valid product ID as a\n        parameter, you will receive a response containing the details of the\n        product matching the provided ID.\n      operationId: getProductById\n      responses:\n        '200':\n          description: Get product by id\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '602'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:45:39 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"25a-isRjpC546EwJ9+UPPGSwD9OgnZI\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      brand:\n                        type: string\n                        example: Golden\n                      category:\n                        type: string\n                        example: home-decoration\n                      description:\n                        type: string\n                        example: >-\n                          Attractive DesignMetallic materialFour key\n                          hooksReliable & DurablePremium Quality\n                      discountPercentage:\n                        type: number\n                        example: 2.92\n                      id:\n                        type: number\n                        example: 30\n                      images:\n                        type: array\n                        items:\n                          type: string\n                          example: https://i.dummyjson.com/data/products/30/1.jpg\n                        example:\n                          - https://i.dummyjson.com/data/products/30/1.jpg\n                          - https://i.dummyjson.com/data/products/30/2.jpg\n                          - https://i.dummyjson.com/data/products/30/3.jpg\n                          - >-\n                            https://i.dummyjson.com/data/products/30/thumbnail.jpg\n                      price:\n                        type: number\n                        example: 30\n                      rating:\n                        type: number\n                        example: 4.92\n                      stock:\n                        type: number\n                        example: 54\n                      thumbnail:\n                        type: string\n                        example: https://i.dummyjson.com/data/products/30/thumbnail.jpg\n                      title:\n                        type: string\n                        example: Key Holder\n                  message:\n                    type: string\n                    example: Product fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get product by id:\n                  value:\n                    data:\n                      brand: Golden\n                      category: home-decoration\n                      description: >-\n                        Attractive DesignMetallic materialFour key hooksReliable\n                        & DurablePremium Quality\n                      discountPercentage: 2.92\n                      id: 30\n                      images:\n                        - https://i.dummyjson.com/data/products/30/1.jpg\n                        - https://i.dummyjson.com/data/products/30/2.jpg\n                        - https://i.dummyjson.com/data/products/30/3.jpg\n                        - https://i.dummyjson.com/data/products/30/thumbnail.jpg\n                      price: 30\n                      rating: 4.92\n                      stock: 54\n                      thumbnail: https://i.dummyjson.com/data/products/30/thumbnail.jpg\n                      title: Key Holder\n                    message: Product fetched successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: productId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: '30'\n  /public/randomproducts/product/random:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get a random product\n      description: >-\n        The API endpoint allows you to retrieve a randomly generated dummy\n        product.\n\n\n        When accessing this endpoint, you will receive a response containing the\n        details of a randomly generated product.\n      operationId: getARandomProduct\n      responses:\n        '200':\n          description: Get a random product\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '697'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:45:34 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"2b9-kve56DFo4Izrqx3d8TNyM1fZ8Ow\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      brand:\n                        type: string\n                        example: lightingbrilliance\n                      category:\n                        type: string\n                        example: lighting\n                      description:\n                        type: string\n                        example: >-\n                          Wholesale slim hanging decorative kid room lighting\n                          ceiling kitchen chandeliers pendant light modern\n                      discountPercentage:\n                        type: number\n                        example: 14.89\n                      id:\n                        type: number\n                        example: 96\n                      images:\n                        type: array\n                        items:\n                          type: string\n                          example: https://i.dummyjson.com/data/products/96/1.jpg\n                        example:\n                          - https://i.dummyjson.com/data/products/96/1.jpg\n                          - https://i.dummyjson.com/data/products/96/2.jpg\n                          - https://i.dummyjson.com/data/products/96/3.jpg\n                          - https://i.dummyjson.com/data/products/96/4.jpg\n                          - >-\n                            https://i.dummyjson.com/data/products/96/thumbnail.jpg\n                      price:\n                        type: number\n                        example: 30\n                      rating:\n                        type: number\n                        example: 4.83\n                      stock:\n                        type: number\n                        example: 96\n                      thumbnail:\n                        type: string\n                        example: https://i.dummyjson.com/data/products/96/thumbnail.jpg\n                      title:\n                        type: string\n                        example: lighting ceiling kitchen\n                  message:\n                    type: string\n                    example: Random product fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get a random product:\n                  value:\n                    data:\n                      brand: lightingbrilliance\n                      category: lighting\n                      description: >-\n                        Wholesale slim hanging decorative kid room lighting\n                        ceiling kitchen chandeliers pendant light modern\n                      discountPercentage: 14.89\n                      id: 96\n                      images:\n                        - https://i.dummyjson.com/data/products/96/1.jpg\n                        - https://i.dummyjson.com/data/products/96/2.jpg\n                        - https://i.dummyjson.com/data/products/96/3.jpg\n                        - https://i.dummyjson.com/data/products/96/4.jpg\n                        - https://i.dummyjson.com/data/products/96/thumbnail.jpg\n                      price: 30\n                      rating: 4.83\n                      stock: 96\n                      thumbnail: https://i.dummyjson.com/data/products/96/thumbnail.jpg\n                      title: lighting ceiling kitchen\n                    message: Random product fetched successfully\n                    statusCode: 200\n                    success: true\n  /public/randomjokes:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get jokes\n      description: >-\n        The API endpoint retrieves a list of jokes.  \n\n        When accessing this endpoint, you will receive a response containing a\n        collection of jokes.\n\n\n        This functionality is useful for retrieving multiple jokes at once,\n        enabling you to incorporate humor and amusement into your application or\n        provide entertainment to users.\n      operationId: getJokes\n      parameters:\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '10'\n        - name: query\n          in: query\n          schema:\n            type: string\n            example: science\n        - name: inc\n          in: query\n          schema:\n            type: string\n            example: categories,id,content\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n      responses:\n        '200':\n          description: Get random jokes\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '969'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:46:21 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"3c9-n/MuPetwd17hzlWYhtjCeBr+miU\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      currentPageItems:\n                        type: number\n                        example: 4\n                      data:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            categories:\n                              type: array\n                              items:\n                                type: string\n                                example: science\n                              example:\n                                - science\n                            content:\n                              type: string\n                              example: >-\n                                Science Fact: Roundhouse kicks are comprised\n                                primarily of an element called Chucktanium.\n                            id:\n                              type: number\n                              example: 140\n                        example:\n                          - categories:\n                              - science\n                            content: >-\n                              Science Fact: Roundhouse kicks are comprised\n                              primarily of an element called Chucktanium.\n                            id: 140\n                          - categories: []\n                            content: >-\n                              All science students maybe aware about the fact\n                              that picochuck is the unit of manliness in the\n                              International System of Units (SI). An average man\n                              measures about 0.00073 pc. Chuck Norris measures\n                              39,372 petachucks.\n                            id: 456\n                          - categories: []\n                            content: >-\n                              The 7 wonders of the world were actually Chuck\n                              Norris' science fair projects. And Chuck Norris is\n                              the 8th wonder of the world.\n                            id: 1073\n                          - categories: []\n                            content: >-\n                              Larry the Cable Guy was a nuclear science physics\n                              professor at MIT for only 3 seconds more after he\n                              called Chuck Norris' mother a \"slutty beatch of a\n                              crack whore\".\n                            id: 1269\n                      limit:\n                        type: number\n                        example: 10\n                      nextPage:\n                        type: boolean\n                        example: false\n                      page:\n                        type: number\n                        example: 1\n                      previousPage:\n                        type: boolean\n                        example: false\n                      totalItems:\n                        type: number\n                        example: 4\n                      totalPages:\n                        type: number\n                        example: 1\n                  message:\n                    type: string\n                    example: Random jokes fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get random jokes:\n                  value:\n                    data:\n                      currentPageItems: 4\n                      data:\n                        - categories:\n                            - science\n                          content: >-\n                            Science Fact: Roundhouse kicks are comprised\n                            primarily of an element called Chucktanium.\n                          id: 140\n                        - categories: []\n                          content: >-\n                            All science students maybe aware about the fact that\n                            picochuck is the unit of manliness in the\n                            International System of Units (SI). An average man\n                            measures about 0.00073 pc. Chuck Norris measures\n                            39,372 petachucks.\n                          id: 456\n                        - categories: []\n                          content: >-\n                            The 7 wonders of the world were actually Chuck\n                            Norris' science fair projects. And Chuck Norris is\n                            the 8th wonder of the world.\n                          id: 1073\n                        - categories: []\n                          content: >-\n                            Larry the Cable Guy was a nuclear science physics\n                            professor at MIT for only 3 seconds more after he\n                            called Chuck Norris' mother a \"slutty beatch of a\n                            crack whore\".\n                          id: 1269\n                      limit: 10\n                      nextPage: false\n                      page: 1\n                      previousPage: false\n                      totalItems: 4\n                      totalPages: 1\n                    message: Random jokes fetched successfully\n                    statusCode: 200\n                    success: true\n  /public/randomjokes/{jokeId}:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get joke by id\n      description: >-\n        The API endpoint allows you to retrieve a joke based on the specified\n        joke ID.\n\n\n        When accessing this endpoint and providing a valid joke ID as a\n        parameter, you will receive a response containing the joke associated\n        with the provided ID.\n      operationId: getJokeById\n      responses:\n        '200':\n          description: Get joke by id\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '240'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:47:05 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"f0-cSoUmzLyEo5KvPTCWQsV1UiXXSc\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      categories:\n                        type: array\n                        items: {}\n                        example: []\n                      content:\n                        type: string\n                        example: >-\n                          Chuck Norris has a sign in his front yard that reads,\n                          \"Beware of Chuck Norris.\" This is not a joke. He\n                          actually has one.\n                      id:\n                        type: number\n                        example: 100\n                  message:\n                    type: string\n                    example: Joke fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get joke by id:\n                  value:\n                    data:\n                      categories: []\n                      content: >-\n                        Chuck Norris has a sign in his front yard that reads,\n                        \"Beware of Chuck Norris.\" This is not a joke. He\n                        actually has one.\n                      id: 100\n                    message: Joke fetched successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: jokeId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: '100'\n  /public/randomjokes/joke/random:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get a random joke\n      description: >-\n        The API endpoint returns a random joke from a list of jokes.\n\n\n        When accessing this endpoint, you will receive a response containing a\n        randomly selected joke.\n      operationId: getARandomJoke\n      responses:\n        '200':\n          description: Get a random joke\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '278'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:46:32 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"116-g0J4ogeV3LVqn3g7rODx7tn00sM\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      categories:\n                        type: array\n                        items: {}\n                        example: []\n                      content:\n                        type: string\n                        example: >-\n                          Some people call it love at first sight when you gaze\n                          in to the eyes of your lover. Other people call it\n                          death by suicide when you stare at Chuck Norris.\n                      id:\n                        type: number\n                        example: 974\n                  message:\n                    type: string\n                    example: Random joke fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get a random joke:\n                  value:\n                    data:\n                      categories: []\n                      content: >-\n                        Some people call it love at first sight when you gaze in\n                        to the eyes of your lover. Other people call it death by\n                        suicide when you stare at Chuck Norris.\n                      id: 974\n                    message: Random joke fetched successfully\n                    statusCode: 200\n                    success: true\n  /public/books:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get books\n      description: >-\n        The API endpoint allows you to retrieve a list of random books.\n\n\n        Upon accessing this endpoint, you will receive a response containing a\n        collection of randomly selected books.\n      operationId: getBooks\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '10'\n        - name: inc\n          in: query\n          schema:\n            type: string\n            example: kind,id,etag,volumeInfo\n        - name: query\n          in: query\n          schema:\n            type: string\n            example: tech\n      responses:\n        '200':\n          description: Get books\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '27925'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:47:47 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"6d15-0KcGCMfWHfOKgogQFckT/3DtmQw\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      currentPageItems:\n                        type: number\n                        example: 10\n                      data:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            etag:\n                              type: string\n                              example: aT6gRM8dLto\n                            id:\n                              type: number\n                              example: 2\n                            kind:\n                              type: string\n                              example: books#volume\n                            volumeInfo:\n                              type: object\n                              properties:\n                                allowAnonLogging:\n                                  type: boolean\n                                  example: false\n                                authors:\n                                  type: array\n                                  items:\n                                    type: string\n                                    example: Alexander Tarlinder\n                                  example:\n                                    - Alexander Tarlinder\n                                averageRating:\n                                  type: number\n                                  example: 3\n                                canonicalVolumeLink:\n                                  type: string\n                                  example: >-\n                                    https://books.google.com/books/about/Developer_Testing.html?hl=&id=bmDFjgEACAAJ\n                                categories:\n                                  type: array\n                                  items:\n                                    type: string\n                                    example: Computer programs\n                                  example:\n                                    - Computer programs\n                                contentVersion:\n                                  type: string\n                                  example: preview-1.0.0\n                                description:\n                                  type: string\n                                  example: >-\n                                    To build high-quality software, you need to\n                                    write testable code. That's harder than it\n                                    seems: it requires insights drawn from\n                                    arenas ranging from software craftsmanship\n                                    to unit testing, refactoring to test-driven\n                                    development. Most programming books either\n                                    discuss testing only briefly, or drill down\n                                    on just one or two techniques, with little\n                                    guidance on how to systematically verify\n                                    code. Most testing books, on the other hand,\n                                    focus on a specific testing process, without\n                                    showing how to write software that can be\n                                    easily and systematically tested. In\n                                    Developer Testing, leading software\n                                    engineering consultant Alexander Tarnowski\n                                    strikes an optimal balance, integrating\n                                    insights from multiple disciplines to help\n                                    frustrated practitioners get better results.\n                                    Drawing on his extensive experience as a\n                                    mentor and trainer, he offers insights that\n                                    help you accelerate through the typical\n                                    software assurance learning curve, so you\n                                    can progress far more rapidly. Tarnowski\n                                    organizes his insights into \"chunks\" to help\n                                    you quickly absorb key concepts, and focuses\n                                    on technology-agnostic approaches you can\n                                    keep using with any new language, platform,\n                                    or toolset. The first guide to cover testing\n                                    mindset, techniques, and applications from\n                                    the developer's perspective, Developer\n                                    Testing will help developers get what they\n                                    really want: better code. -- Provided by\n                                    publisher.\n                                imageLinks:\n                                  type: object\n                                  properties:\n                                    smallThumbnail:\n                                      type: string\n                                      example: >-\n                                        http://books.google.com/books/content?id=bmDFjgEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\n                                    thumbnail:\n                                      type: string\n                                      example: >-\n                                        http://books.google.com/books/content?id=bmDFjgEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\n                                industryIdentifiers:\n                                  type: array\n                                  items:\n                                    type: object\n                                    properties:\n                                      identifier:\n                                        type: string\n                                        example: '0134291069'\n                                      type:\n                                        type: string\n                                        example: ISBN_10\n                                  example:\n                                    - identifier: '0134291069'\n                                      type: ISBN_10\n                                    - identifier: '9780134291062'\n                                      type: ISBN_13\n                                infoLink:\n                                  type: string\n                                  example: >-\n                                    http://books.google.co.in/books?id=bmDFjgEACAAJ&dq=developer&hl=&source=gbs_api\n                                language:\n                                  type: string\n                                  example: en\n                                maturityRating:\n                                  type: string\n                                  example: NOT_MATURE\n                                pageCount:\n                                  type: number\n                                  example: 0\n                                panelizationSummary:\n                                  type: object\n                                  properties:\n                                    containsEpubBubbles:\n                                      type: boolean\n                                      example: false\n                                    containsImageBubbles:\n                                      type: boolean\n                                      example: false\n                                previewLink:\n                                  type: string\n                                  example: >-\n                                    http://books.google.co.in/books?id=bmDFjgEACAAJ&dq=developer&hl=&cd=2&source=gbs_api\n                                printType:\n                                  type: string\n                                  example: BOOK\n                                publishedDate:\n                                  type: string\n                                  example: '2016'\n                                publisher:\n                                  type: string\n                                  example: Addison-Wesley Signature Series (Cohn)\n                                ratingsCount:\n                                  type: number\n                                  example: 1\n                                readingModes:\n                                  type: object\n                                  properties:\n                                    image:\n                                      type: boolean\n                                      example: false\n                                    text:\n                                      type: boolean\n                                      example: false\n                                subtitle:\n                                  type: string\n                                  example: Building Quality Into Software\n                                title:\n                                  type: string\n                                  example: Developer Testing\n                        example:\n                          - etag: aT6gRM8dLto\n                            id: 2\n                            kind: books#volume\n                            volumeInfo:\n                              allowAnonLogging: false\n                              authors:\n                                - Alexander Tarlinder\n                              canonicalVolumeLink: >-\n                                https://books.google.com/books/about/Developer_Testing.html?hl=&id=bmDFjgEACAAJ\n                              categories:\n                                - Computer programs\n                              contentVersion: preview-1.0.0\n                              description: >-\n                                To build high-quality software, you need to\n                                write testable code. That's harder than it\n                                seems: it requires insights drawn from arenas\n                                ranging from software craftsmanship to unit\n                                testing, refactoring to test-driven development.\n                                Most programming books either discuss testing\n                                only briefly, or drill down on just one or two\n                                techniques, with little guidance on how to\n                                systematically verify code. Most testing books,\n                                on the other hand, focus on a specific testing\n                                process, without showing how to write software\n                                that can be easily and systematically tested. In\n                                Developer Testing, leading software engineering\n                                consultant Alexander Tarnowski strikes an\n                                optimal balance, integrating insights from\n                                multiple disciplines to help frustrated\n                                practitioners get better results. Drawing on his\n                                extensive experience as a mentor and trainer, he\n                                offers insights that help you accelerate through\n                                the typical software assurance learning curve,\n                                so you can progress far more rapidly. Tarnowski\n                                organizes his insights into \"chunks\" to help you\n                                quickly absorb key concepts, and focuses on\n                                technology-agnostic approaches you can keep\n                                using with any new language, platform, or\n                                toolset. The first guide to cover testing\n                                mindset, techniques, and applications from the\n                                developer's perspective, Developer Testing will\n                                help developers get what they really want:\n                                better code. -- Provided by publisher.\n                              imageLinks:\n                                smallThumbnail: >-\n                                  http://books.google.com/books/content?id=bmDFjgEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\n                                thumbnail: >-\n                                  http://books.google.com/books/content?id=bmDFjgEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\n                              industryIdentifiers:\n                                - identifier: '0134291069'\n                                  type: ISBN_10\n                                - identifier: '9780134291062'\n                                  type: ISBN_13\n                              infoLink: >-\n                                http://books.google.co.in/books?id=bmDFjgEACAAJ&dq=developer&hl=&source=gbs_api\n                              language: en\n                              maturityRating: NOT_MATURE\n                              pageCount: 0\n                              panelizationSummary:\n                                containsEpubBubbles: false\n                                containsImageBubbles: false\n                              previewLink: >-\n                                http://books.google.co.in/books?id=bmDFjgEACAAJ&dq=developer&hl=&cd=2&source=gbs_api\n                              printType: BOOK\n                              publishedDate: '2016'\n                              publisher: Addison-Wesley Signature Series (Cohn)\n                              readingModes:\n                                image: false\n                                text: false\n                              subtitle: Building Quality Into Software\n                              title: Developer Testing\n                          - etag: 48wn8Io+xX0\n                            id: 9\n                            kind: books#volume\n                            volumeInfo:\n                              allowAnonLogging: false\n                              authors:\n                                - Mike Gunderloy\n                              averageRating: 3\n                              canonicalVolumeLink: >-\n                                https://books.google.com/books/about/Coder_to_Developer.html?hl=&id=dfJqmAEACAAJ\n                              categories:\n                                - Computers\n                              contentVersion: preview-1.0.0\n                              description: >-\n                                \"Two thumbs up\" —Gregory V. Wilson, Dr. Dobbs\n                                Journal (October 2004) No one can disparage the\n                                ability to write good code. At its highest\n                                levels, it is an art. But no one can confuse\n                                writing good code with developing good software.\n                                The difference—in terms of challenges, skills,\n                                and compensation—is immense. Coder to Developer\n                                helps you excel at the many non-coding tasks\n                                entailed, from start to finish, in just about\n                                any successful development project. What's more,\n                                it equips you with the mindset and\n                                self-assurance required to pull it all together,\n                                so that you see every piece of your work as part\n                                of a coherent process. Inside, you'll find\n                                plenty of technical guidance on such topics as:\n                                Choosing and using a source code control system\n                                Code generation tools--when and why Preventing\n                                bugs with unit testing Tracking, fixing, and\n                                learning from bugs Application activity logging\n                                Streamlining and systematizing the build process\n                                Traditional installations and alternative\n                                approaches To pull all of this together, the\n                                author has provided the source code for Download\n                                Tracker, a tool for organizing your collection\n                                of downloaded code, that's used for examples\n                                throughout this book. The code is provided in\n                                various states of completion, reflecting every\n                                stage of development, so that you can dig deep\n                                into the actual process of building software.\n                                But you'll also develop \"softer\" skills, in\n                                areas such as team management, open source\n                                collaboration, user and developer documentation,\n                                and intellectual property protection. If you\n                                want to become someone who can deliver not just\n                                good code but also a good product, this book is\n                                the place to start. If you must build successful\n                                software projects, it's essential reading.\n                              imageLinks:\n                                smallThumbnail: >-\n                                  http://books.google.com/books/content?id=dfJqmAEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\n                                thumbnail: >-\n                                  http://books.google.com/books/content?id=dfJqmAEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\n                              industryIdentifiers:\n                                - identifier: 078214327X\n                                  type: ISBN_10\n                                - identifier: '9780782143270'\n                                  type: ISBN_13\n                              infoLink: >-\n                                http://books.google.co.in/books?id=dfJqmAEACAAJ&dq=developer&hl=&source=gbs_api\n                              language: en\n                              maturityRating: NOT_MATURE\n                              pageCount: 320\n                              previewLink: >-\n                                http://books.google.co.in/books?id=dfJqmAEACAAJ&dq=developer&hl=&cd=9&source=gbs_api\n                              printType: BOOK\n                              publishedDate: '2004-05-07'\n                              publisher: Sybex\n                              ratingsCount: 1\n                              readingModes:\n                                image: false\n                                text: false\n                              subtitle: >-\n                                Tools and Strategies for Delivering Your\n                                Software\n                              title: Coder to Developer\n                          - etag: /wisZye3qPU\n                            id: 19\n                            kind: books#volume\n                            volumeInfo:\n                              allowAnonLogging: false\n                              authors:\n                                - Matt Frisbie\n                              canonicalVolumeLink: >-\n                                https://books.google.com/books/about/Professional_JavaScript_for_Web_Develope.html?hl=&id=3GOuDwAAQBAJ\n                              categories:\n                                - Computers\n                              contentVersion: 0.7.1.0.preview.1\n                              description: >-\n                                Update your skill set for ES 6 and 7 with the\n                                ultimate JavaScript guide for pros Professional\n                                JavaScript for Web Developers is the essential\n                                guide to next-level JavaScript development.\n                                Written for intermediate-to-advanced\n                                programmers, this book jumps right into the\n                                technical details to help you clean up your code\n                                and become a more sophisticated JavaScript\n                                developer. From JavaScript-specific\n                                object-oriented programming and inheritance, to\n                                combining JavaScript with HTML and other markup\n                                languages, expert instruction walks you through\n                                the fundamentals and beyond. This new fourth\n                                edition has been updated to cover ECMAScript 6\n                                and 7 (also known as ES2015 and ES2016) and the\n                                major re-imagination and departure from ES 5.1;\n                                new frameworks and libraries, new techniques,\n                                new testing tools, and more are explained in\n                                detail for the professional developer, with a\n                                practical focus that helps you put your new\n                                skills to work on real-world projects. The\n                                latest—and most dramatic—ES release is already\n                                being incorporated into JavaScript engines in\n                                major browsers; this, coupled with the rise in\n                                mobile web traffic increasing demand for\n                                responsive, dynamic web design, means that all\n                                web developers need to update their skills—and\n                                this book is your ideal resource for quick,\n                                relevant guidance. Get up to date with\n                                ECMAScript 6 and 7, new frameworks, and new\n                                libraries Delve into web animation, emerging\n                                APIs, and build systems Test more effectively\n                                with mocks, unit tests, functional tests, and\n                                other tools Plan your builds for future ES\n                                releases Even if you think you know JavaScript,\n                                new ES releases bring big changes that will\n                                affect the way you work. For a\n                                professional-level update that doesn't waste\n                                time on coding fundamentals, Professional\n                                JavaScript for Web Developers is the ultimate\n                                resource to bring you up to speed.\n                              imageLinks:\n                                smallThumbnail: >-\n                                  http://books.google.com/books/content?id=3GOuDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\n                                thumbnail: >-\n                                  http://books.google.com/books/content?id=3GOuDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\n                              industryIdentifiers:\n                                - identifier: '9781119366447'\n                                  type: ISBN_13\n                                - identifier: '1119366445'\n                                  type: ISBN_10\n                              infoLink: >-\n                                http://books.google.co.in/books?id=3GOuDwAAQBAJ&dq=javascript&hl=&source=gbs_api\n                              language: en\n                              maturityRating: NOT_MATURE\n                              pageCount: 1200\n                              panelizationSummary:\n                                containsEpubBubbles: false\n                                containsImageBubbles: false\n                              previewLink: >-\n                                http://books.google.co.in/books?id=3GOuDwAAQBAJ&printsec=frontcover&dq=javascript&hl=&cd=9&source=gbs_api\n                              printType: BOOK\n                              publishedDate: '2019-10-15'\n                              publisher: John Wiley & Sons\n                              readingModes:\n                                image: true\n                                text: false\n                              title: Professional JavaScript for Web Developers\n                          - etag: ZK8ST3zhg0U\n                            id: 43\n                            kind: books#volume\n                            volumeInfo:\n                              allowAnonLogging: false\n                              authors:\n                                - W. Bernard Carlson\n                              averageRating: 4\n                              canonicalVolumeLink: >-\n                                https://books.google.com/books/about/Tesla.html?hl=&id=VWyYDwAAQBAJ\n                              categories:\n                                - Biography & Autobiography\n                              contentVersion: 0.0.1.0.preview.1\n                              description: >-\n                                Nikola Tesla was a major contributor to the\n                                electrical revolution that transformed daily\n                                life at the turn of the twentieth century. His\n                                inventions, patents, and theoretical work formed\n                                the basis of modern AC electricity, and\n                                contributed to the development of radio and\n                                television. Like his competitor Thomas Edison,\n                                Tesla was one of America's first celebrity\n                                scientists, enjoying the company of New York\n                                high society and dazzling the likes of Mark\n                                Twain with his electrical demonstrations. An\n                                astute self-promoter and gifted showman, he\n                                cultivated a public image of the eccentric\n                                genius. Even at the end of his life when he was\n                                living in poverty, Tesla still attracted\n                                reporters to his annual birthday interview,\n                                regaling them with claims that he had invented a\n                                particle-beam weapon capable of bringing down\n                                enemy aircraft. Plenty of biographies glamorize\n                                Tesla and his eccentricities, but until now none\n                                has carefully examined what, how, and why he\n                                invented. In this groundbreaking book, W.\n                                Bernard Carlson demystifies the legendary\n                                inventor, placing him within the cultural and\n                                technological context of his time, and focusing\n                                on his inventions themselves as well as the\n                                creation and maintenance of his celebrity.\n                                Drawing on original documents from Tesla's\n                                private and public life, Carlson shows how he\n                                was an \"idealist\" inventor who sought the\n                                perfect experimental realization of a great idea\n                                or principle, and who skillfully sold his\n                                inventions to the public through mythmaking and\n                                illusion. This major biography sheds new light\n                                on Tesla's visionary approach to invention and\n                                the business strategies behind his most\n                                important technological breakthroughs.\n                              imageLinks:\n                                smallThumbnail: >-\n                                  http://books.google.com/books/content?id=VWyYDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\n                                thumbnail: >-\n                                  http://books.google.com/books/content?id=VWyYDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\n                              industryIdentifiers:\n                                - identifier: '9780691165615'\n                                  type: ISBN_13\n                                - identifier: '0691165610'\n                                  type: ISBN_10\n                              infoLink: >-\n                                http://books.google.co.in/books?id=VWyYDwAAQBAJ&dq=tesla&hl=&source=gbs_api\n                              language: en\n                              maturityRating: NOT_MATURE\n                              pageCount: 516\n                              panelizationSummary:\n                                containsEpubBubbles: false\n                                containsImageBubbles: false\n                              previewLink: >-\n                                http://books.google.co.in/books?id=VWyYDwAAQBAJ&printsec=frontcover&dq=tesla&hl=&cd=3&source=gbs_api\n                              printType: BOOK\n                              publishedDate: '2015-04-27'\n                              publisher: Princeton University Press\n                              ratingsCount: 3\n                              readingModes:\n                                image: true\n                                text: false\n                              subtitle: Inventor of the Electrical Age\n                              title: Tesla\n                          - etag: 8yO3QqwMIdk\n                            id: 57\n                            kind: books#volume\n                            volumeInfo:\n                              allowAnonLogging: false\n                              authors:\n                                - Hemanta Saikia\n                                - Dibyojyoti Bhattacharjee\n                                - Diganta Mukherjee\n                              canonicalVolumeLink: >-\n                                https://play.google.com/store/books/details?id=Z3jADwAAQBAJ\n                              categories:\n                                - Mathematics\n                              contentVersion: 1.1.1.0.preview.3\n                              description: >-\n                                This book focuses on the application of data\n                                mining techniques in cricket. It provides\n                                detailed examples of how data mining can be\n                                helpful for decision-making in sports with\n                                special reference to cricket, particularly the\n                                quantitative features related to Twenty20\n                                cricket, the latest and the most popular format\n                                of the game. The book highlights the performance\n                                quantification of cricketers (batsmen, bowlers,\n                                all-rounders, and wicket keepers), determining\n                                the market valuation of cricketers based on\n                                their on-field performances and the effect of\n                                age on the performance of the cricketers. It\n                                also provides a comprehensive overview of the\n                                different aspects of the game where quantitative\n                                techniques are beneficial, and highlights the\n                                use of statistical and data mining tools in\n                                analysing sports-related data and objective\n                                decision-making in sports. The book appeals to a\n                                wide readership, including postgraduate students\n                                of statistics/mathematics, data analysts, sports\n                                management bodies. It also offers data miners,\n                                such as researchers in statistics, mathematics,\n                                operations research, and computer science ideas\n                                for projects.\n                              imageLinks:\n                                smallThumbnail: >-\n                                  http://books.google.com/books/content?id=Z3jADwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\n                                thumbnail: >-\n                                  http://books.google.com/books/content?id=Z3jADwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\n                              industryIdentifiers:\n                                - identifier: '9789811513541'\n                                  type: ISBN_13\n                                - identifier: '9811513546'\n                                  type: ISBN_10\n                              infoLink: >-\n                                https://play.google.com/store/books/details?id=Z3jADwAAQBAJ&source=gbs_api\n                              language: en\n                              maturityRating: NOT_MATURE\n                              pageCount: 231\n                              panelizationSummary:\n                                containsEpubBubbles: false\n                                containsImageBubbles: false\n                              previewLink: >-\n                                http://books.google.co.in/books?id=Z3jADwAAQBAJ&printsec=frontcover&dq=cricket&hl=&cd=7&source=gbs_api\n                              printType: BOOK\n                              publishedDate: '2019-11-26'\n                              publisher: Springer Nature\n                              readingModes:\n                                image: true\n                                text: true\n                              subtitle: Mathematical Formulation and Analytics\n                              title: Cricket Performance Management\n                          - etag: QAfgPzROhyc\n                            id: 79\n                            kind: books#volume\n                            volumeInfo:\n                              allowAnonLogging: false\n                              authors:\n                                - Ben Klemens\n                              canonicalVolumeLink: >-\n                                https://books.google.com/books/about/21st_Century_C.html?hl=&id=-pH7RT-VWjsC\n                              categories:\n                                - Computers\n                              contentVersion: preview-1.0.0\n                              description: >-\n                                Throw out your old ideas about C and get to know\n                                a programming language that’s substantially\n                                outgrown its origins. With this revised edition\n                                of 21st Century C, you’ll discover up-to-date\n                                techniques missing from other C tutorials,\n                                whether you’re new to the language or just\n                                getting reacquainted. C isn’t just the\n                                foundation of modern programming languages; it\n                                is a modern language, ideal for writing\n                                efficient, state-of-the-art applications. Get\n                                past idioms that made sense on mainframes and\n                                learn the tools you need to work with this\n                                evolved and aggressively simple language. No\n                                matter what programming language you currently\n                                favor, you’ll quickly see that 21st century C\n                                rocks. Set up a C programming environment with\n                                shell facilities, makefiles, text editors,\n                                debuggers, and memory checkers Use Autotools,\n                                C’s de facto cross-platform package manager\n                                Learn about the problematic C concepts too\n                                useful to discard Solve C’s string-building\n                                problems with C-standard functions Use modern\n                                syntactic features for functions that take\n                                structured inputs Build high-level, object-based\n                                libraries and programs Perform advanced math,\n                                talk to internet servers, and run databases with\n                                existing C libraries This edition also includes\n                                new material on concurrent threads, virtual\n                                tables, C99 numeric types, and other features.\n                              imageLinks:\n                                smallThumbnail: >-\n                                  http://books.google.com/books/content?id=-pH7RT-VWjsC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\n                                thumbnail: >-\n                                  http://books.google.com/books/content?id=-pH7RT-VWjsC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\n                              industryIdentifiers:\n                                - identifier: '9781449344665'\n                                  type: ISBN_13\n                                - identifier: '1449344666'\n                                  type: ISBN_10\n                              infoLink: >-\n                                http://books.google.co.in/books?id=-pH7RT-VWjsC&dq=c&hl=&source=gbs_api\n                              language: en\n                              maturityRating: NOT_MATURE\n                              pageCount: 297\n                              panelizationSummary:\n                                containsEpubBubbles: false\n                                containsImageBubbles: false\n                              previewLink: >-\n                                http://books.google.co.in/books?id=-pH7RT-VWjsC&pg=PP1&dq=c&hl=&cd=9&source=gbs_api\n                              printType: BOOK\n                              publishedDate: '2012-10-15'\n                              publisher: '\"O''Reilly Media, Inc.\"'\n                              readingModes:\n                                image: true\n                                text: false\n                              subtitle: C Tips from the New School\n                              title: 21st Century C\n                          - etag: g763LMOmMas\n                            id: 93\n                            kind: books#volume\n                            volumeInfo:\n                              allowAnonLogging: false\n                              authors:\n                                - Nikos Daskalakis\n                                - Panagiotis Georgitseas\n                              averageRating: 5\n                              canonicalVolumeLink: >-\n                                https://play.google.com/store/books/details?id=XmIPEAAAQBAJ\n                              categories:\n                                - Business & Economics\n                              contentVersion: 0.1.1.0.preview.1\n                              description: >-\n                                The Crypto Market Ecosystem has emerged as the\n                                most profound application of blockchain\n                                technology in finance. This textbook adopts an\n                                integrated approach, linking traditional\n                                functions of the current financial system\n                                (payments, traded assets, fundraising,\n                                regulation) with the respective functions in the\n                                crypto market, in order to facilitate the reader\n                                in their understanding of how this new ecosystem\n                                works. The book walks the reader through the\n                                main features of the blockchain technology, the\n                                definitions, classifications, and distinct\n                                characteristics of cryptocurrencies and tokens,\n                                how these are evaluated, how funds are raised in\n                                the cryptocurrency ecosystem (ICOs), and what\n                                the main regulatory approaches are. The authors\n                                have compiled more than 100 sources from\n                                different sub-fields of economics, finance, and\n                                regulation to create a coherent textbook that\n                                provides the reader with a clear and easily\n                                understandable picture of the new world of\n                                encrypted finance and its applications. The book\n                                is primarily aimed at business and finance\n                                students, who already have an understanding of\n                                the basic principles of how the financial system\n                                works, but also targets a more general\n                                readership, by virtue of its broader scope and\n                                engaging and accessible tone.\n                              imageLinks:\n                                smallThumbnail: >-\n                                  http://books.google.com/books/content?id=XmIPEAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\n                                thumbnail: >-\n                                  http://books.google.com/books/content?id=XmIPEAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\n                              industryIdentifiers:\n                                - identifier: '9781000077704'\n                                  type: ISBN_13\n                                - identifier: '1000077705'\n                                  type: ISBN_10\n                              infoLink: >-\n                                https://play.google.com/store/books/details?id=XmIPEAAAQBAJ&source=gbs_api\n                              language: en\n                              maturityRating: NOT_MATURE\n                              pageCount: 88\n                              panelizationSummary:\n                                containsEpubBubbles: false\n                                containsImageBubbles: false\n                              previewLink: >-\n                                http://books.google.co.in/books?id=XmIPEAAAQBAJ&printsec=frontcover&dq=crypto&hl=&cd=3&source=gbs_api\n                              printType: BOOK\n                              publishedDate: '2020-05-28'\n                              publisher: Routledge\n                              ratingsCount: 7\n                              readingModes:\n                                image: true\n                                text: false\n                              subtitle: The Crypto Market Ecosystem\n                              title: An Introduction to Cryptocurrencies\n                          - etag: opUg7jC3/Sg\n                            id: 95\n                            kind: books#volume\n                            volumeInfo:\n                              allowAnonLogging: true\n                              authors:\n                                - Aries Wanlin Wang\n                              averageRating: 4.5\n                              canonicalVolumeLink: >-\n                                https://play.google.com/store/books/details?id=W_aBDwAAQBAJ\n                              categories:\n                                - Business & Economics\n                              contentVersion: 1.10.8.0.preview.2\n                              description: >-\n                                In late 2008, under the long shadow cast by the\n                                most severe economic crisis in generations, a\n                                revolutionary new form of currency was quietly\n                                being shaped. At the time no one could have\n                                predicted that an obscure form of electronic\n                                money would in less than a decade prove to be\n                                the most important financial innovation of the\n                                21st century—a tool that would spark an entire\n                                new economic institution: crypto economy. That\n                                once-obscure money was known as Bitcoin, and\n                                today it is the highest valued digital coin. And\n                                though consumers continue to scramble to cash in\n                                on the trending currency, the technology behind\n                                Bitcoin known as Blockchain, which allows the\n                                currency to bought and sold without regulation\n                                by a government, remains a mystery to the\n                                public. In Crypto Economy, Aries Wanlin Wang\n                                provides the definitive blueprint for\n                                understanding how Bitcoin, Blockchain, and other\n                                digital technologies are disrupting traditional\n                                financial institutions and forever changing the\n                                world of commerce.\n                              imageLinks:\n                                smallThumbnail: >-\n                                  http://books.google.com/books/content?id=W_aBDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\n                                thumbnail: >-\n                                  http://books.google.com/books/content?id=W_aBDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\n                              industryIdentifiers:\n                                - identifier: '9781510744837'\n                                  type: ISBN_13\n                                - identifier: '1510744835'\n                                  type: ISBN_10\n                              infoLink: >-\n                                https://play.google.com/store/books/details?id=W_aBDwAAQBAJ&source=gbs_api\n                              language: en\n                              maturityRating: NOT_MATURE\n                              pageCount: 148\n                              panelizationSummary:\n                                containsEpubBubbles: false\n                                containsImageBubbles: false\n                              previewLink: >-\n                                http://books.google.co.in/books?id=W_aBDwAAQBAJ&printsec=frontcover&dq=crypto&hl=&cd=5&source=gbs_api\n                              printType: BOOK\n                              publishedDate: '2018-11-20'\n                              publisher: Simon and Schuster\n                              ratingsCount: 7\n                              readingModes:\n                                image: false\n                                text: true\n                              subtitle: >-\n                                How Blockchain, Cryptocurrency, and\n                                Token-Economy Are Disrupting the Financial World\n                              title: Crypto Economy\n                          - etag: 2SeSH2MhYas\n                            id: 98\n                            kind: books#volume\n                            volumeInfo:\n                              allowAnonLogging: false\n                              authors:\n                                - Sarah Swammy\n                                - Richard Thompson\n                                - Marvin Loh\n                              averageRating: 5\n                              canonicalVolumeLink: >-\n                                https://play.google.com/store/books/details?id=LiWFDwAAQBAJ\n                              categories:\n                                - Business & Economics\n                              contentVersion: preview-1.0.0\n                              description: >-\n                                Crypto currency integrated BlockChain under\n                                Virtual Scalable Enterprises is a widely debated\n                                and earnestly discussed topic in the technology\n                                arena. Executives at the largest institutions\n                                are calling crypto currency fraudulent while\n                                high-level institutional banking professionals\n                                are leaving their positions to jump into crypto\n                                technology, regulation and investment\n                                opportunities as industries advance towards\n                                adoption. The narratives on these topics are\n                                diametrically opposite and polarizing on both\n                                side of the debate. While this debate has many\n                                layers from a government regulatory side to\n                                social impact to the practicality of everyday\n                                use of crypto currencies in developing markets,\n                                it is safe to assume that crypto currencies or\n                                utility tokens are more than a global phenomenon\n                                and are now becoming a working framework for\n                                optional modes of business. This book\n                                demystifies what crypto currency is, how it is\n                                used, and what it means to the consumer,\n                                investor, and the future of our global currency\n                                marketplace. By providing the historical\n                                backdrop to the market, authors Sarah Swammy,\n                                Richard Thompson, and Marvin Loh provide a clear\n                                definition of what crypto-currencies actually\n                                are, how they are being used and by whom, and\n                                the unique reasons why they have gone from back\n                                street to Main Street almost overnight. The book\n                                will also delve into the government’s role in\n                                regulating this commerce medium. Lastly, the\n                                authors will look at the current global monetary\n                                policy and discuss if this type of currency\n                                phenomena was a direct result while also\n                                examining the potential risk and rewards for\n                                investors and the economy.\n                              imageLinks:\n                                smallThumbnail: >-\n                                  http://books.google.com/books/content?id=LiWFDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\n                                thumbnail: >-\n                                  http://books.google.com/books/content?id=LiWFDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\n                              industryIdentifiers:\n                                - identifier: '9783030001353'\n                                  type: ISBN_13\n                                - identifier: '3030001350'\n                                  type: ISBN_10\n                              infoLink: >-\n                                https://play.google.com/store/books/details?id=LiWFDwAAQBAJ&source=gbs_api\n                              language: en\n                              maturityRating: NOT_MATURE\n                              pageCount: 181\n                              panelizationSummary:\n                                containsEpubBubbles: false\n                                containsImageBubbles: false\n                              previewLink: >-\n                                http://books.google.co.in/books?id=LiWFDwAAQBAJ&printsec=frontcover&dq=crypto&hl=&cd=8&source=gbs_api\n                              printType: BOOK\n                              publishedDate: '2019-01-24'\n                              publisher: Springer\n                              ratingsCount: 7\n                              readingModes:\n                                image: true\n                                text: true\n                              subtitle: >-\n                                The Evolution of Bitcoin and the Crypto Currency\n                                Marketplace\n                              title: Crypto Uncovered\n                          - etag: 1CqgTPbHJ3Q\n                            id: 105\n                            kind: books#volume\n                            volumeInfo:\n                              allowAnonLogging: true\n                              authors:\n                                - Jennifer L. Clinehens\n                              averageRating: 2\n                              canonicalVolumeLink: >-\n                                https://play.google.com/store/books/details?id=GR7dDwAAQBAJ\n                              categories:\n                                - Business & Economics\n                              contentVersion: 1.5.4.0.preview.3\n                              description: >-\n                                What if you could use Nobel prize-winning\n                                science to predict the choices your customers\n                                will make? Customer and user behaviors can seem\n                                irrational. Shaped by mental shortcuts and\n                                psychological biases, their actions often appear\n                                random on the surface. In Choice Hacking, we'll\n                                learn to predict these irrational behaviors and\n                                apply the science of decision-making to create\n                                unforgettable customer experiences. Discover a\n                                framework for designing experiences that doesn't\n                                just show you what principles to apply, but\n                                introduces a new way of thinking about customer\n                                behavior. You'll finish Choice Hacking feeling\n                                confident and ready to transform your experience\n                                with science. In Choice Hacking, you'll\n                                discover: - How to make sure your customer\n                                experience is designed for what people do (not\n                                what they say they'll do) - How to increase the\n                                odds that customers will make the \"right choice\"\n                                in any environment - How to design user\n                                experiences that drive action and engagement -\n                                How to create retail experiences that persuade\n                                and drive brand love - How brands like Uber,\n                                Netflix, Disney, and Starbucks apply these\n                                principles in their customer and user\n                                experiences Additional resources included with\n                                the book: - Access to free video Companion\n                                Course - Access to exclusive free resources,\n                                tools, examples, and use cases online Who will\n                                benefit from reading Choice Hacking? This book\n                                was written for anyone who wants to better\n                                understand customer and user decision-making.\n                                Whether you're a consultant, strategist, digital\n                                marketer, small business owner, writer, user\n                                experience designer, student, manager, or\n                                organizational leader, you will find immediate\n                                value in Choice Hacking. About the Author\n                                Jennifer Clinehens is currently Head of\n                                Experience at a major global experience agency.\n                                She holds a Master's degree in Brand Management\n                                as well as an MBA from Emory University's\n                                Goizueta School. Ms. Clinehens has client-side\n                                and consulting experience working for brands\n                                like AT&T, McDonald's, and Adidas, and she's\n                                helped shape customer experiences across the\n                                globe. A recognized authority in marketing and\n                                customer experience, she is also the author of\n                                CX That Sings: An Introduction To Customer\n                                Journey Mapping. To learn more about this book\n                                or contact the author, please visit\n                                ChoiceHacking.com\n                              imageLinks:\n                                smallThumbnail: >-\n                                  http://books.google.com/books/content?id=GR7dDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\n                                thumbnail: >-\n                                  http://books.google.com/books/content?id=GR7dDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\n                              infoLink: >-\n                                https://play.google.com/store/books/details?id=GR7dDwAAQBAJ&source=gbs_api\n                              language: en\n                              maturityRating: NOT_MATURE\n                              pageCount: 262\n                              panelizationSummary:\n                                containsEpubBubbles: false\n                                containsImageBubbles: false\n                              previewLink: >-\n                                http://books.google.co.in/books?id=GR7dDwAAQBAJ&pg=PT222&dq=uber&hl=&cd=5&source=gbs_api\n                              printType: BOOK\n                              publishedDate: '2020-06-16'\n                              publisher: Jennifer L. Clinehens\n                              ratingsCount: 1\n                              readingModes:\n                                image: true\n                                text: true\n                              subtitle: >-\n                                How to use psychology and behavioral science to\n                                create an experience that sings\n                              title: Choice Hacking\n                      limit:\n                        type: number\n                        example: 10\n                      nextPage:\n                        type: boolean\n                        example: false\n                      page:\n                        type: number\n                        example: 1\n                      previousPage:\n                        type: boolean\n                        example: false\n                      totalItems:\n                        type: number\n                        example: 20\n                      totalPages:\n                        type: number\n                        example: 2\n                  message:\n                    type: string\n                    example: Books fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get books:\n                  value:\n                    data:\n                      currentPageItems: 10\n                      data:\n                        - etag: aT6gRM8dLto\n                          id: 2\n                          kind: books#volume\n                          volumeInfo:\n                            allowAnonLogging: false\n                            authors:\n                              - Alexander Tarlinder\n                            canonicalVolumeLink: >-\n                              https://books.google.com/books/about/Developer_Testing.html?hl=&id=bmDFjgEACAAJ\n                            categories:\n                              - Computer programs\n                            contentVersion: preview-1.0.0\n                            description: >-\n                              To build high-quality software, you need to write\n                              testable code. That's harder than it seems: it\n                              requires insights drawn from arenas ranging from\n                              software craftsmanship to unit testing,\n                              refactoring to test-driven development. Most\n                              programming books either discuss testing only\n                              briefly, or drill down on just one or two\n                              techniques, with little guidance on how to\n                              systematically verify code. Most testing books, on\n                              the other hand, focus on a specific testing\n                              process, without showing how to write software\n                              that can be easily and systematically tested. In\n                              Developer Testing, leading software engineering\n                              consultant Alexander Tarnowski strikes an optimal\n                              balance, integrating insights from multiple\n                              disciplines to help frustrated practitioners get\n                              better results. Drawing on his extensive\n                              experience as a mentor and trainer, he offers\n                              insights that help you accelerate through the\n                              typical software assurance learning curve, so you\n                              can progress far more rapidly. Tarnowski organizes\n                              his insights into \"chunks\" to help you quickly\n                              absorb key concepts, and focuses on\n                              technology-agnostic approaches you can keep using\n                              with any new language, platform, or toolset. The\n                              first guide to cover testing mindset, techniques,\n                              and applications from the developer's perspective,\n                              Developer Testing will help developers get what\n                              they really want: better code. -- Provided by\n                              publisher.\n                            imageLinks:\n                              smallThumbnail: >-\n                                http://books.google.com/books/content?id=bmDFjgEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\n                              thumbnail: >-\n                                http://books.google.com/books/content?id=bmDFjgEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\n                            industryIdentifiers:\n                              - identifier: '0134291069'\n                                type: ISBN_10\n                              - identifier: '9780134291062'\n                                type: ISBN_13\n                            infoLink: >-\n                              http://books.google.co.in/books?id=bmDFjgEACAAJ&dq=developer&hl=&source=gbs_api\n                            language: en\n                            maturityRating: NOT_MATURE\n                            pageCount: 0\n                            panelizationSummary:\n                              containsEpubBubbles: false\n                              containsImageBubbles: false\n                            previewLink: >-\n                              http://books.google.co.in/books?id=bmDFjgEACAAJ&dq=developer&hl=&cd=2&source=gbs_api\n                            printType: BOOK\n                            publishedDate: '2016'\n                            publisher: Addison-Wesley Signature Series (Cohn)\n                            readingModes:\n                              image: false\n                              text: false\n                            subtitle: Building Quality Into Software\n                            title: Developer Testing\n                        - etag: 48wn8Io+xX0\n                          id: 9\n                          kind: books#volume\n                          volumeInfo:\n                            allowAnonLogging: false\n                            authors:\n                              - Mike Gunderloy\n                            averageRating: 3\n                            canonicalVolumeLink: >-\n                              https://books.google.com/books/about/Coder_to_Developer.html?hl=&id=dfJqmAEACAAJ\n                            categories:\n                              - Computers\n                            contentVersion: preview-1.0.0\n                            description: >-\n                              \"Two thumbs up\" —Gregory V. Wilson, Dr. Dobbs\n                              Journal (October 2004) No one can disparage the\n                              ability to write good code. At its highest levels,\n                              it is an art. But no one can confuse writing good\n                              code with developing good software. The\n                              difference—in terms of challenges, skills, and\n                              compensation—is immense. Coder to Developer helps\n                              you excel at the many non-coding tasks entailed,\n                              from start to finish, in just about any successful\n                              development project. What's more, it equips you\n                              with the mindset and self-assurance required to\n                              pull it all together, so that you see every piece\n                              of your work as part of a coherent process.\n                              Inside, you'll find plenty of technical guidance\n                              on such topics as: Choosing and using a source\n                              code control system Code generation tools--when\n                              and why Preventing bugs with unit testing\n                              Tracking, fixing, and learning from bugs\n                              Application activity logging Streamlining and\n                              systematizing the build process Traditional\n                              installations and alternative approaches To pull\n                              all of this together, the author has provided the\n                              source code for Download Tracker, a tool for\n                              organizing your collection of downloaded code,\n                              that's used for examples throughout this book. The\n                              code is provided in various states of completion,\n                              reflecting every stage of development, so that you\n                              can dig deep into the actual process of building\n                              software. But you'll also develop \"softer\" skills,\n                              in areas such as team management, open source\n                              collaboration, user and developer documentation,\n                              and intellectual property protection. If you want\n                              to become someone who can deliver not just good\n                              code but also a good product, this book is the\n                              place to start. If you must build successful\n                              software projects, it's essential reading.\n                            imageLinks:\n                              smallThumbnail: >-\n                                http://books.google.com/books/content?id=dfJqmAEACAAJ&printsec=frontcover&img=1&zoom=5&source=gbs_api\n                              thumbnail: >-\n                                http://books.google.com/books/content?id=dfJqmAEACAAJ&printsec=frontcover&img=1&zoom=1&source=gbs_api\n                            industryIdentifiers:\n                              - identifier: 078214327X\n                                type: ISBN_10\n                              - identifier: '9780782143270'\n                                type: ISBN_13\n                            infoLink: >-\n                              http://books.google.co.in/books?id=dfJqmAEACAAJ&dq=developer&hl=&source=gbs_api\n                            language: en\n                            maturityRating: NOT_MATURE\n                            pageCount: 320\n                            previewLink: >-\n                              http://books.google.co.in/books?id=dfJqmAEACAAJ&dq=developer&hl=&cd=9&source=gbs_api\n                            printType: BOOK\n                            publishedDate: '2004-05-07'\n                            publisher: Sybex\n                            ratingsCount: 1\n                            readingModes:\n                              image: false\n                              text: false\n                            subtitle: Tools and Strategies for Delivering Your Software\n                            title: Coder to Developer\n                        - etag: /wisZye3qPU\n                          id: 19\n                          kind: books#volume\n                          volumeInfo:\n                            allowAnonLogging: false\n                            authors:\n                              - Matt Frisbie\n                            canonicalVolumeLink: >-\n                              https://books.google.com/books/about/Professional_JavaScript_for_Web_Develope.html?hl=&id=3GOuDwAAQBAJ\n                            categories:\n                              - Computers\n                            contentVersion: 0.7.1.0.preview.1\n                            description: >-\n                              Update your skill set for ES 6 and 7 with the\n                              ultimate JavaScript guide for pros Professional\n                              JavaScript for Web Developers is the essential\n                              guide to next-level JavaScript development.\n                              Written for intermediate-to-advanced programmers,\n                              this book jumps right into the technical details\n                              to help you clean up your code and become a more\n                              sophisticated JavaScript developer. From\n                              JavaScript-specific object-oriented programming\n                              and inheritance, to combining JavaScript with HTML\n                              and other markup languages, expert instruction\n                              walks you through the fundamentals and beyond.\n                              This new fourth edition has been updated to cover\n                              ECMAScript 6 and 7 (also known as ES2015 and\n                              ES2016) and the major re-imagination and departure\n                              from ES 5.1; new frameworks and libraries, new\n                              techniques, new testing tools, and more are\n                              explained in detail for the professional\n                              developer, with a practical focus that helps you\n                              put your new skills to work on real-world\n                              projects. The latest—and most dramatic—ES release\n                              is already being incorporated into JavaScript\n                              engines in major browsers; this, coupled with the\n                              rise in mobile web traffic increasing demand for\n                              responsive, dynamic web design, means that all web\n                              developers need to update their skills—and this\n                              book is your ideal resource for quick, relevant\n                              guidance. Get up to date with ECMAScript 6 and 7,\n                              new frameworks, and new libraries Delve into web\n                              animation, emerging APIs, and build systems Test\n                              more effectively with mocks, unit tests,\n                              functional tests, and other tools Plan your builds\n                              for future ES releases Even if you think you know\n                              JavaScript, new ES releases bring big changes that\n                              will affect the way you work. For a\n                              professional-level update that doesn't waste time\n                              on coding fundamentals, Professional JavaScript\n                              for Web Developers is the ultimate resource to\n                              bring you up to speed.\n                            imageLinks:\n                              smallThumbnail: >-\n                                http://books.google.com/books/content?id=3GOuDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\n                              thumbnail: >-\n                                http://books.google.com/books/content?id=3GOuDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\n                            industryIdentifiers:\n                              - identifier: '9781119366447'\n                                type: ISBN_13\n                              - identifier: '1119366445'\n                                type: ISBN_10\n                            infoLink: >-\n                              http://books.google.co.in/books?id=3GOuDwAAQBAJ&dq=javascript&hl=&source=gbs_api\n                            language: en\n                            maturityRating: NOT_MATURE\n                            pageCount: 1200\n                            panelizationSummary:\n                              containsEpubBubbles: false\n                              containsImageBubbles: false\n                            previewLink: >-\n                              http://books.google.co.in/books?id=3GOuDwAAQBAJ&printsec=frontcover&dq=javascript&hl=&cd=9&source=gbs_api\n                            printType: BOOK\n                            publishedDate: '2019-10-15'\n                            publisher: John Wiley & Sons\n                            readingModes:\n                              image: true\n                              text: false\n                            title: Professional JavaScript for Web Developers\n                        - etag: ZK8ST3zhg0U\n                          id: 43\n                          kind: books#volume\n                          volumeInfo:\n                            allowAnonLogging: false\n                            authors:\n                              - W. Bernard Carlson\n                            averageRating: 4\n                            canonicalVolumeLink: >-\n                              https://books.google.com/books/about/Tesla.html?hl=&id=VWyYDwAAQBAJ\n                            categories:\n                              - Biography & Autobiography\n                            contentVersion: 0.0.1.0.preview.1\n                            description: >-\n                              Nikola Tesla was a major contributor to the\n                              electrical revolution that transformed daily life\n                              at the turn of the twentieth century. His\n                              inventions, patents, and theoretical work formed\n                              the basis of modern AC electricity, and\n                              contributed to the development of radio and\n                              television. Like his competitor Thomas Edison,\n                              Tesla was one of America's first celebrity\n                              scientists, enjoying the company of New York high\n                              society and dazzling the likes of Mark Twain with\n                              his electrical demonstrations. An astute\n                              self-promoter and gifted showman, he cultivated a\n                              public image of the eccentric genius. Even at the\n                              end of his life when he was living in poverty,\n                              Tesla still attracted reporters to his annual\n                              birthday interview, regaling them with claims that\n                              he had invented a particle-beam weapon capable of\n                              bringing down enemy aircraft. Plenty of\n                              biographies glamorize Tesla and his\n                              eccentricities, but until now none has carefully\n                              examined what, how, and why he invented. In this\n                              groundbreaking book, W. Bernard Carlson\n                              demystifies the legendary inventor, placing him\n                              within the cultural and technological context of\n                              his time, and focusing on his inventions\n                              themselves as well as the creation and maintenance\n                              of his celebrity. Drawing on original documents\n                              from Tesla's private and public life, Carlson\n                              shows how he was an \"idealist\" inventor who sought\n                              the perfect experimental realization of a great\n                              idea or principle, and who skillfully sold his\n                              inventions to the public through mythmaking and\n                              illusion. This major biography sheds new light on\n                              Tesla's visionary approach to invention and the\n                              business strategies behind his most important\n                              technological breakthroughs.\n                            imageLinks:\n                              smallThumbnail: >-\n                                http://books.google.com/books/content?id=VWyYDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\n                              thumbnail: >-\n                                http://books.google.com/books/content?id=VWyYDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\n                            industryIdentifiers:\n                              - identifier: '9780691165615'\n                                type: ISBN_13\n                              - identifier: '0691165610'\n                                type: ISBN_10\n                            infoLink: >-\n                              http://books.google.co.in/books?id=VWyYDwAAQBAJ&dq=tesla&hl=&source=gbs_api\n                            language: en\n                            maturityRating: NOT_MATURE\n                            pageCount: 516\n                            panelizationSummary:\n                              containsEpubBubbles: false\n                              containsImageBubbles: false\n                            previewLink: >-\n                              http://books.google.co.in/books?id=VWyYDwAAQBAJ&printsec=frontcover&dq=tesla&hl=&cd=3&source=gbs_api\n                            printType: BOOK\n                            publishedDate: '2015-04-27'\n                            publisher: Princeton University Press\n                            ratingsCount: 3\n                            readingModes:\n                              image: true\n                              text: false\n                            subtitle: Inventor of the Electrical Age\n                            title: Tesla\n                        - etag: 8yO3QqwMIdk\n                          id: 57\n                          kind: books#volume\n                          volumeInfo:\n                            allowAnonLogging: false\n                            authors:\n                              - Hemanta Saikia\n                              - Dibyojyoti Bhattacharjee\n                              - Diganta Mukherjee\n                            canonicalVolumeLink: >-\n                              https://play.google.com/store/books/details?id=Z3jADwAAQBAJ\n                            categories:\n                              - Mathematics\n                            contentVersion: 1.1.1.0.preview.3\n                            description: >-\n                              This book focuses on the application of data\n                              mining techniques in cricket. It provides detailed\n                              examples of how data mining can be helpful for\n                              decision-making in sports with special reference\n                              to cricket, particularly the quantitative features\n                              related to Twenty20 cricket, the latest and the\n                              most popular format of the game. The book\n                              highlights the performance quantification of\n                              cricketers (batsmen, bowlers, all-rounders, and\n                              wicket keepers), determining the market valuation\n                              of cricketers based on their on-field performances\n                              and the effect of age on the performance of the\n                              cricketers. It also provides a comprehensive\n                              overview of the different aspects of the game\n                              where quantitative techniques are beneficial, and\n                              highlights the use of statistical and data mining\n                              tools in analysing sports-related data and\n                              objective decision-making in sports. The book\n                              appeals to a wide readership, including\n                              postgraduate students of statistics/mathematics,\n                              data analysts, sports management bodies. It also\n                              offers data miners, such as researchers in\n                              statistics, mathematics, operations research, and\n                              computer science ideas for projects.\n                            imageLinks:\n                              smallThumbnail: >-\n                                http://books.google.com/books/content?id=Z3jADwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\n                              thumbnail: >-\n                                http://books.google.com/books/content?id=Z3jADwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\n                            industryIdentifiers:\n                              - identifier: '9789811513541'\n                                type: ISBN_13\n                              - identifier: '9811513546'\n                                type: ISBN_10\n                            infoLink: >-\n                              https://play.google.com/store/books/details?id=Z3jADwAAQBAJ&source=gbs_api\n                            language: en\n                            maturityRating: NOT_MATURE\n                            pageCount: 231\n                            panelizationSummary:\n                              containsEpubBubbles: false\n                              containsImageBubbles: false\n                            previewLink: >-\n                              http://books.google.co.in/books?id=Z3jADwAAQBAJ&printsec=frontcover&dq=cricket&hl=&cd=7&source=gbs_api\n                            printType: BOOK\n                            publishedDate: '2019-11-26'\n                            publisher: Springer Nature\n                            readingModes:\n                              image: true\n                              text: true\n                            subtitle: Mathematical Formulation and Analytics\n                            title: Cricket Performance Management\n                        - etag: QAfgPzROhyc\n                          id: 79\n                          kind: books#volume\n                          volumeInfo:\n                            allowAnonLogging: false\n                            authors:\n                              - Ben Klemens\n                            canonicalVolumeLink: >-\n                              https://books.google.com/books/about/21st_Century_C.html?hl=&id=-pH7RT-VWjsC\n                            categories:\n                              - Computers\n                            contentVersion: preview-1.0.0\n                            description: >-\n                              Throw out your old ideas about C and get to know a\n                              programming language that’s substantially outgrown\n                              its origins. With this revised edition of 21st\n                              Century C, you’ll discover up-to-date techniques\n                              missing from other C tutorials, whether you’re new\n                              to the language or just getting reacquainted. C\n                              isn’t just the foundation of modern programming\n                              languages; it is a modern language, ideal for\n                              writing efficient, state-of-the-art applications.\n                              Get past idioms that made sense on mainframes and\n                              learn the tools you need to work with this evolved\n                              and aggressively simple language. No matter what\n                              programming language you currently favor, you’ll\n                              quickly see that 21st century C rocks. Set up a C\n                              programming environment with shell facilities,\n                              makefiles, text editors, debuggers, and memory\n                              checkers Use Autotools, C’s de facto\n                              cross-platform package manager Learn about the\n                              problematic C concepts too useful to discard Solve\n                              C’s string-building problems with C-standard\n                              functions Use modern syntactic features for\n                              functions that take structured inputs Build\n                              high-level, object-based libraries and programs\n                              Perform advanced math, talk to internet servers,\n                              and run databases with existing C libraries This\n                              edition also includes new material on concurrent\n                              threads, virtual tables, C99 numeric types, and\n                              other features.\n                            imageLinks:\n                              smallThumbnail: >-\n                                http://books.google.com/books/content?id=-pH7RT-VWjsC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\n                              thumbnail: >-\n                                http://books.google.com/books/content?id=-pH7RT-VWjsC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\n                            industryIdentifiers:\n                              - identifier: '9781449344665'\n                                type: ISBN_13\n                              - identifier: '1449344666'\n                                type: ISBN_10\n                            infoLink: >-\n                              http://books.google.co.in/books?id=-pH7RT-VWjsC&dq=c&hl=&source=gbs_api\n                            language: en\n                            maturityRating: NOT_MATURE\n                            pageCount: 297\n                            panelizationSummary:\n                              containsEpubBubbles: false\n                              containsImageBubbles: false\n                            previewLink: >-\n                              http://books.google.co.in/books?id=-pH7RT-VWjsC&pg=PP1&dq=c&hl=&cd=9&source=gbs_api\n                            printType: BOOK\n                            publishedDate: '2012-10-15'\n                            publisher: '\"O''Reilly Media, Inc.\"'\n                            readingModes:\n                              image: true\n                              text: false\n                            subtitle: C Tips from the New School\n                            title: 21st Century C\n                        - etag: g763LMOmMas\n                          id: 93\n                          kind: books#volume\n                          volumeInfo:\n                            allowAnonLogging: false\n                            authors:\n                              - Nikos Daskalakis\n                              - Panagiotis Georgitseas\n                            averageRating: 5\n                            canonicalVolumeLink: >-\n                              https://play.google.com/store/books/details?id=XmIPEAAAQBAJ\n                            categories:\n                              - Business & Economics\n                            contentVersion: 0.1.1.0.preview.1\n                            description: >-\n                              The Crypto Market Ecosystem has emerged as the\n                              most profound application of blockchain technology\n                              in finance. This textbook adopts an integrated\n                              approach, linking traditional functions of the\n                              current financial system (payments, traded assets,\n                              fundraising, regulation) with the respective\n                              functions in the crypto market, in order to\n                              facilitate the reader in their understanding of\n                              how this new ecosystem works. The book walks the\n                              reader through the main features of the blockchain\n                              technology, the definitions, classifications, and\n                              distinct characteristics of cryptocurrencies and\n                              tokens, how these are evaluated, how funds are\n                              raised in the cryptocurrency ecosystem (ICOs), and\n                              what the main regulatory approaches are. The\n                              authors have compiled more than 100 sources from\n                              different sub-fields of economics, finance, and\n                              regulation to create a coherent textbook that\n                              provides the reader with a clear and easily\n                              understandable picture of the new world of\n                              encrypted finance and its applications. The book\n                              is primarily aimed at business and finance\n                              students, who already have an understanding of the\n                              basic principles of how the financial system\n                              works, but also targets a more general readership,\n                              by virtue of its broader scope and engaging and\n                              accessible tone.\n                            imageLinks:\n                              smallThumbnail: >-\n                                http://books.google.com/books/content?id=XmIPEAAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\n                              thumbnail: >-\n                                http://books.google.com/books/content?id=XmIPEAAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\n                            industryIdentifiers:\n                              - identifier: '9781000077704'\n                                type: ISBN_13\n                              - identifier: '1000077705'\n                                type: ISBN_10\n                            infoLink: >-\n                              https://play.google.com/store/books/details?id=XmIPEAAAQBAJ&source=gbs_api\n                            language: en\n                            maturityRating: NOT_MATURE\n                            pageCount: 88\n                            panelizationSummary:\n                              containsEpubBubbles: false\n                              containsImageBubbles: false\n                            previewLink: >-\n                              http://books.google.co.in/books?id=XmIPEAAAQBAJ&printsec=frontcover&dq=crypto&hl=&cd=3&source=gbs_api\n                            printType: BOOK\n                            publishedDate: '2020-05-28'\n                            publisher: Routledge\n                            ratingsCount: 7\n                            readingModes:\n                              image: true\n                              text: false\n                            subtitle: The Crypto Market Ecosystem\n                            title: An Introduction to Cryptocurrencies\n                        - etag: opUg7jC3/Sg\n                          id: 95\n                          kind: books#volume\n                          volumeInfo:\n                            allowAnonLogging: true\n                            authors:\n                              - Aries Wanlin Wang\n                            averageRating: 4.5\n                            canonicalVolumeLink: >-\n                              https://play.google.com/store/books/details?id=W_aBDwAAQBAJ\n                            categories:\n                              - Business & Economics\n                            contentVersion: 1.10.8.0.preview.2\n                            description: >-\n                              In late 2008, under the long shadow cast by the\n                              most severe economic crisis in generations, a\n                              revolutionary new form of currency was quietly\n                              being shaped. At the time no one could have\n                              predicted that an obscure form of electronic money\n                              would in less than a decade prove to be the most\n                              important financial innovation of the 21st\n                              century—a tool that would spark an entire new\n                              economic institution: crypto economy. That\n                              once-obscure money was known as Bitcoin, and today\n                              it is the highest valued digital coin. And though\n                              consumers continue to scramble to cash in on the\n                              trending currency, the technology behind Bitcoin\n                              known as Blockchain, which allows the currency to\n                              bought and sold without regulation by a\n                              government, remains a mystery to the public. In\n                              Crypto Economy, Aries Wanlin Wang provides the\n                              definitive blueprint for understanding how\n                              Bitcoin, Blockchain, and other digital\n                              technologies are disrupting traditional financial\n                              institutions and forever changing the world of\n                              commerce.\n                            imageLinks:\n                              smallThumbnail: >-\n                                http://books.google.com/books/content?id=W_aBDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\n                              thumbnail: >-\n                                http://books.google.com/books/content?id=W_aBDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\n                            industryIdentifiers:\n                              - identifier: '9781510744837'\n                                type: ISBN_13\n                              - identifier: '1510744835'\n                                type: ISBN_10\n                            infoLink: >-\n                              https://play.google.com/store/books/details?id=W_aBDwAAQBAJ&source=gbs_api\n                            language: en\n                            maturityRating: NOT_MATURE\n                            pageCount: 148\n                            panelizationSummary:\n                              containsEpubBubbles: false\n                              containsImageBubbles: false\n                            previewLink: >-\n                              http://books.google.co.in/books?id=W_aBDwAAQBAJ&printsec=frontcover&dq=crypto&hl=&cd=5&source=gbs_api\n                            printType: BOOK\n                            publishedDate: '2018-11-20'\n                            publisher: Simon and Schuster\n                            ratingsCount: 7\n                            readingModes:\n                              image: false\n                              text: true\n                            subtitle: >-\n                              How Blockchain, Cryptocurrency, and Token-Economy\n                              Are Disrupting the Financial World\n                            title: Crypto Economy\n                        - etag: 2SeSH2MhYas\n                          id: 98\n                          kind: books#volume\n                          volumeInfo:\n                            allowAnonLogging: false\n                            authors:\n                              - Sarah Swammy\n                              - Richard Thompson\n                              - Marvin Loh\n                            averageRating: 5\n                            canonicalVolumeLink: >-\n                              https://play.google.com/store/books/details?id=LiWFDwAAQBAJ\n                            categories:\n                              - Business & Economics\n                            contentVersion: preview-1.0.0\n                            description: >-\n                              Crypto currency integrated BlockChain under\n                              Virtual Scalable Enterprises is a widely debated\n                              and earnestly discussed topic in the technology\n                              arena. Executives at the largest institutions are\n                              calling crypto currency fraudulent while\n                              high-level institutional banking professionals are\n                              leaving their positions to jump into crypto\n                              technology, regulation and investment\n                              opportunities as industries advance towards\n                              adoption. The narratives on these topics are\n                              diametrically opposite and polarizing on both side\n                              of the debate. While this debate has many layers\n                              from a government regulatory side to social impact\n                              to the practicality of everyday use of crypto\n                              currencies in developing markets, it is safe to\n                              assume that crypto currencies or utility tokens\n                              are more than a global phenomenon and are now\n                              becoming a working framework for optional modes of\n                              business. This book demystifies what crypto\n                              currency is, how it is used, and what it means to\n                              the consumer, investor, and the future of our\n                              global currency marketplace. By providing the\n                              historical backdrop to the market, authors Sarah\n                              Swammy, Richard Thompson, and Marvin Loh provide a\n                              clear definition of what crypto-currencies\n                              actually are, how they are being used and by whom,\n                              and the unique reasons why they have gone from\n                              back street to Main Street almost overnight. The\n                              book will also delve into the government’s role in\n                              regulating this commerce medium. Lastly, the\n                              authors will look at the current global monetary\n                              policy and discuss if this type of currency\n                              phenomena was a direct result while also examining\n                              the potential risk and rewards for investors and\n                              the economy.\n                            imageLinks:\n                              smallThumbnail: >-\n                                http://books.google.com/books/content?id=LiWFDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\n                              thumbnail: >-\n                                http://books.google.com/books/content?id=LiWFDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\n                            industryIdentifiers:\n                              - identifier: '9783030001353'\n                                type: ISBN_13\n                              - identifier: '3030001350'\n                                type: ISBN_10\n                            infoLink: >-\n                              https://play.google.com/store/books/details?id=LiWFDwAAQBAJ&source=gbs_api\n                            language: en\n                            maturityRating: NOT_MATURE\n                            pageCount: 181\n                            panelizationSummary:\n                              containsEpubBubbles: false\n                              containsImageBubbles: false\n                            previewLink: >-\n                              http://books.google.co.in/books?id=LiWFDwAAQBAJ&printsec=frontcover&dq=crypto&hl=&cd=8&source=gbs_api\n                            printType: BOOK\n                            publishedDate: '2019-01-24'\n                            publisher: Springer\n                            ratingsCount: 7\n                            readingModes:\n                              image: true\n                              text: true\n                            subtitle: >-\n                              The Evolution of Bitcoin and the Crypto Currency\n                              Marketplace\n                            title: Crypto Uncovered\n                        - etag: 1CqgTPbHJ3Q\n                          id: 105\n                          kind: books#volume\n                          volumeInfo:\n                            allowAnonLogging: true\n                            authors:\n                              - Jennifer L. Clinehens\n                            averageRating: 2\n                            canonicalVolumeLink: >-\n                              https://play.google.com/store/books/details?id=GR7dDwAAQBAJ\n                            categories:\n                              - Business & Economics\n                            contentVersion: 1.5.4.0.preview.3\n                            description: >-\n                              What if you could use Nobel prize-winning science\n                              to predict the choices your customers will make?\n                              Customer and user behaviors can seem irrational.\n                              Shaped by mental shortcuts and psychological\n                              biases, their actions often appear random on the\n                              surface. In Choice Hacking, we'll learn to predict\n                              these irrational behaviors and apply the science\n                              of decision-making to create unforgettable\n                              customer experiences. Discover a framework for\n                              designing experiences that doesn't just show you\n                              what principles to apply, but introduces a new way\n                              of thinking about customer behavior. You'll finish\n                              Choice Hacking feeling confident and ready to\n                              transform your experience with science. In Choice\n                              Hacking, you'll discover: - How to make sure your\n                              customer experience is designed for what people do\n                              (not what they say they'll do) - How to increase\n                              the odds that customers will make the \"right\n                              choice\" in any environment - How to design user\n                              experiences that drive action and engagement - How\n                              to create retail experiences that persuade and\n                              drive brand love - How brands like Uber, Netflix,\n                              Disney, and Starbucks apply these principles in\n                              their customer and user experiences Additional\n                              resources included with the book: - Access to free\n                              video Companion Course - Access to exclusive free\n                              resources, tools, examples, and use cases online\n                              Who will benefit from reading Choice Hacking? This\n                              book was written for anyone who wants to better\n                              understand customer and user decision-making.\n                              Whether you're a consultant, strategist, digital\n                              marketer, small business owner, writer, user\n                              experience designer, student, manager, or\n                              organizational leader, you will find immediate\n                              value in Choice Hacking. About the Author Jennifer\n                              Clinehens is currently Head of Experience at a\n                              major global experience agency. She holds a\n                              Master's degree in Brand Management as well as an\n                              MBA from Emory University's Goizueta School. Ms.\n                              Clinehens has client-side and consulting\n                              experience working for brands like AT&T,\n                              McDonald's, and Adidas, and she's helped shape\n                              customer experiences across the globe. A\n                              recognized authority in marketing and customer\n                              experience, she is also the author of CX That\n                              Sings: An Introduction To Customer Journey\n                              Mapping. To learn more about this book or contact\n                              the author, please visit ChoiceHacking.com\n                            imageLinks:\n                              smallThumbnail: >-\n                                http://books.google.com/books/content?id=GR7dDwAAQBAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\n                              thumbnail: >-\n                                http://books.google.com/books/content?id=GR7dDwAAQBAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\n                            infoLink: >-\n                              https://play.google.com/store/books/details?id=GR7dDwAAQBAJ&source=gbs_api\n                            language: en\n                            maturityRating: NOT_MATURE\n                            pageCount: 262\n                            panelizationSummary:\n                              containsEpubBubbles: false\n                              containsImageBubbles: false\n                            previewLink: >-\n                              http://books.google.co.in/books?id=GR7dDwAAQBAJ&pg=PT222&dq=uber&hl=&cd=5&source=gbs_api\n                            printType: BOOK\n                            publishedDate: '2020-06-16'\n                            publisher: Jennifer L. Clinehens\n                            ratingsCount: 1\n                            readingModes:\n                              image: true\n                              text: true\n                            subtitle: >-\n                              How to use psychology and behavioral science to\n                              create an experience that sings\n                            title: Choice Hacking\n                      limit: 10\n                      nextPage: false\n                      page: 1\n                      previousPage: false\n                      totalItems: 20\n                      totalPages: 2\n                    message: Books fetched successfully\n                    statusCode: 200\n                    success: true\n  /public/books/{bookId}:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get book by id\n      description: >-\n        The API endpoint retrieves a book based on the book ID provided as a\n        path variable.\n\n\n        By accessing this endpoint and specifying a valid book ID, you will\n        receive a response containing the details of the corresponding book.\n      operationId: getBookById\n      responses:\n        '200':\n          description: Get book by id\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '3361'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:47:57 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"d21-VOx6nGLbPBZU6wWmXZSPV7oDdm8\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      accessInfo:\n                        type: object\n                        properties:\n                          accessViewStatus:\n                            type: string\n                            example: SAMPLE\n                          country:\n                            type: string\n                            example: IN\n                          embeddable:\n                            type: boolean\n                            example: true\n                          epub:\n                            type: object\n                            properties:\n                              isAvailable:\n                                type: boolean\n                                example: false\n                          pdf:\n                            type: object\n                            properties:\n                              acsTokenLink:\n                                type: string\n                                example: >-\n                                  http://books.google.co.in/books/download/Ruby_On_Rails_Bible-sample-pdf.acsm?id=bLWi6l8BDuIC&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\n                              isAvailable:\n                                type: boolean\n                                example: true\n                          publicDomain:\n                            type: boolean\n                            example: false\n                          quoteSharingAllowed:\n                            type: boolean\n                            example: false\n                          textToSpeechPermission:\n                            type: string\n                            example: ALLOWED\n                          viewability:\n                            type: string\n                            example: PARTIAL\n                          webReaderLink:\n                            type: string\n                            example: >-\n                              http://play.google.com/books/reader?id=bLWi6l8BDuIC&hl=&source=gbs_api\n                      etag:\n                        type: string\n                        example: 1vN/nB9C/F0\n                      id:\n                        type: number\n                        example: 39\n                      kind:\n                        type: string\n                        example: books#volume\n                      saleInfo:\n                        type: object\n                        properties:\n                          country:\n                            type: string\n                            example: IN\n                          isEbook:\n                            type: boolean\n                            example: false\n                          saleability:\n                            type: string\n                            example: NOT_FOR_SALE\n                      searchInfo:\n                        type: object\n                        properties:\n                          textSnippet:\n                            type: string\n                            example: >-\n                              In addition to chapters detailing all of the\n                              features of Rails, a separate section of the book\n                              will provide a walkthrough of the development of a\n                              complete Rails web application utilizing much of\n                              what is taught earlier in the book.\n                      selfLink:\n                        type: string\n                        example: >-\n                          https://www.googleapis.com/books/v1/volumes/bLWi6l8BDuIC\n                      volumeInfo:\n                        type: object\n                        properties:\n                          allowAnonLogging:\n                            type: boolean\n                            example: false\n                          authors:\n                            type: array\n                            items:\n                              type: string\n                              example: Timothy Fisher\n                            example:\n                              - Timothy Fisher\n                          canonicalVolumeLink:\n                            type: string\n                            example: >-\n                              https://books.google.com/books/about/Ruby_On_Rails_Bible.html?hl=&id=bLWi6l8BDuIC\n                          categories:\n                            type: array\n                            items:\n                              type: string\n                              example: Ruby (Computer program language)\n                            example:\n                              - Ruby (Computer program language)\n                          contentVersion:\n                            type: string\n                            example: 0.5.5.0.preview.1\n                          description:\n                            type: string\n                            example: >-\n                              Ruby on Rails is a Web application framework\n                              written in Ruby, an object-oriented programming\n                              language. RoR has grown year over year in\n                              notoriety and popularity among developers because\n                              its ease of use and speed for which a Web\n                              developer can build and maintain Web sites and\n                              applications. One of its key principles is using\n                              less code for application development by avoiding\n                              redundancy and following Rails conventions,\n                              encouraging increased performance, but with less\n                              development time. Ruby on Rails Bible takes all\n                              that is key to this framework and programming\n                              language and details it in one concise guide for\n                              all user levels. Coverage includes an introduction\n                              and summary of the Ruby programming language,\n                              followed by complete in-depth coverage of the Ruby\n                              on Rails framework. In addition to chapters\n                              detailing all of the features of Rails, a separate\n                              section of the book will provide a walkthrough of\n                              the development of a complete Rails web\n                              application utilizing much of what is taught\n                              earlier in the book. Current hot development\n                              trends including Agile development, Web Services,\n                              Web 2.0, and Ajax will be covered from the Rails\n                              perspective too.\n                          imageLinks:\n                            type: object\n                            properties:\n                              smallThumbnail:\n                                type: string\n                                example: >-\n                                  http://books.google.com/books/content?id=bLWi6l8BDuIC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\n                              thumbnail:\n                                type: string\n                                example: >-\n                                  http://books.google.com/books/content?id=bLWi6l8BDuIC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\n                          industryIdentifiers:\n                            type: array\n                            items:\n                              type: object\n                              properties:\n                                identifier:\n                                  type: string\n                                  example: '8126518901'\n                                type:\n                                  type: string\n                                  example: ISBN_10\n                            example:\n                              - identifier: '8126518901'\n                                type: ISBN_10\n                              - identifier: '9788126518906'\n                                type: ISBN_13\n                          infoLink:\n                            type: string\n                            example: >-\n                              http://books.google.co.in/books?id=bLWi6l8BDuIC&dq=ruby&hl=&source=gbs_api\n                          language:\n                            type: string\n                            example: en\n                          maturityRating:\n                            type: string\n                            example: NOT_MATURE\n                          pageCount:\n                            type: number\n                            example: 630\n                          panelizationSummary:\n                            type: object\n                            properties:\n                              containsEpubBubbles:\n                                type: boolean\n                                example: false\n                              containsImageBubbles:\n                                type: boolean\n                                example: false\n                          previewLink:\n                            type: string\n                            example: >-\n                              http://books.google.co.in/books?id=bLWi6l8BDuIC&printsec=frontcover&dq=ruby&hl=&cd=9&source=gbs_api\n                          printType:\n                            type: string\n                            example: BOOK\n                          publishedDate:\n                            type: string\n                            example: '2008-11-10'\n                          publisher:\n                            type: string\n                            example: John Wiley & Sons\n                          readingModes:\n                            type: object\n                            properties:\n                              image:\n                                type: boolean\n                                example: true\n                              text:\n                                type: boolean\n                                example: false\n                          title:\n                            type: string\n                            example: Ruby On Rails Bible\n                  message:\n                    type: string\n                    example: Book fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get book by id:\n                  value:\n                    data:\n                      accessInfo:\n                        accessViewStatus: SAMPLE\n                        country: IN\n                        embeddable: true\n                        epub:\n                          isAvailable: false\n                        pdf:\n                          acsTokenLink: >-\n                            http://books.google.co.in/books/download/Ruby_On_Rails_Bible-sample-pdf.acsm?id=bLWi6l8BDuIC&format=pdf&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api\n                          isAvailable: true\n                        publicDomain: false\n                        quoteSharingAllowed: false\n                        textToSpeechPermission: ALLOWED\n                        viewability: PARTIAL\n                        webReaderLink: >-\n                          http://play.google.com/books/reader?id=bLWi6l8BDuIC&hl=&source=gbs_api\n                      etag: 1vN/nB9C/F0\n                      id: 39\n                      kind: books#volume\n                      saleInfo:\n                        country: IN\n                        isEbook: false\n                        saleability: NOT_FOR_SALE\n                      searchInfo:\n                        textSnippet: >-\n                          In addition to chapters detailing all of the features\n                          of Rails, a separate section of the book will provide\n                          a walkthrough of the development of a complete Rails\n                          web application utilizing much of what is taught\n                          earlier in the book.\n                      selfLink: https://www.googleapis.com/books/v1/volumes/bLWi6l8BDuIC\n                      volumeInfo:\n                        allowAnonLogging: false\n                        authors:\n                          - Timothy Fisher\n                        canonicalVolumeLink: >-\n                          https://books.google.com/books/about/Ruby_On_Rails_Bible.html?hl=&id=bLWi6l8BDuIC\n                        categories:\n                          - Ruby (Computer program language)\n                        contentVersion: 0.5.5.0.preview.1\n                        description: >-\n                          Ruby on Rails is a Web application framework written\n                          in Ruby, an object-oriented programming language. RoR\n                          has grown year over year in notoriety and popularity\n                          among developers because its ease of use and speed for\n                          which a Web developer can build and maintain Web sites\n                          and applications. One of its key principles is using\n                          less code for application development by avoiding\n                          redundancy and following Rails conventions,\n                          encouraging increased performance, but with less\n                          development time. Ruby on Rails Bible takes all that\n                          is key to this framework and programming language and\n                          details it in one concise guide for all user levels.\n                          Coverage includes an introduction and summary of the\n                          Ruby programming language, followed by complete\n                          in-depth coverage of the Ruby on Rails framework. In\n                          addition to chapters detailing all of the features of\n                          Rails, a separate section of the book will provide a\n                          walkthrough of the development of a complete Rails web\n                          application utilizing much of what is taught earlier\n                          in the book. Current hot development trends including\n                          Agile development, Web Services, Web 2.0, and Ajax\n                          will be covered from the Rails perspective too.\n                        imageLinks:\n                          smallThumbnail: >-\n                            http://books.google.com/books/content?id=bLWi6l8BDuIC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\n                          thumbnail: >-\n                            http://books.google.com/books/content?id=bLWi6l8BDuIC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\n                        industryIdentifiers:\n                          - identifier: '8126518901'\n                            type: ISBN_10\n                          - identifier: '9788126518906'\n                            type: ISBN_13\n                        infoLink: >-\n                          http://books.google.co.in/books?id=bLWi6l8BDuIC&dq=ruby&hl=&source=gbs_api\n                        language: en\n                        maturityRating: NOT_MATURE\n                        pageCount: 630\n                        panelizationSummary:\n                          containsEpubBubbles: false\n                          containsImageBubbles: false\n                        previewLink: >-\n                          http://books.google.co.in/books?id=bLWi6l8BDuIC&printsec=frontcover&dq=ruby&hl=&cd=9&source=gbs_api\n                        printType: BOOK\n                        publishedDate: '2008-11-10'\n                        publisher: John Wiley & Sons\n                        readingModes:\n                          image: true\n                          text: false\n                        title: Ruby On Rails Bible\n                    message: Book fetched successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: bookId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: '39'\n  /public/books/book/random:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get a random book\n      description: >-\n        The API endpoint returns a single random book from a list of books.\n\n\n        Upon accessing this endpoint, you will receive a response containing the\n        details of a randomly selected book.\n      operationId: getARandomBook\n      responses:\n        '200':\n          description: Get a random book\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '2803'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:48:01 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"af3-tgo13Cikj+pozPOzr/EHgQRwOsk\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      accessInfo:\n                        type: object\n                        properties:\n                          accessViewStatus:\n                            type: string\n                            example: FULL_PUBLIC_DOMAIN\n                          country:\n                            type: string\n                            example: IN\n                          embeddable:\n                            type: boolean\n                            example: true\n                          epub:\n                            type: object\n                            properties:\n                              downloadLink:\n                                type: string\n                                example: >-\n                                  http://books.google.co.in/books/download/The_demand_for_nonconsumptive_wildlife_u.epub?id=DPgTAAAAYAAJ&hl=&output=epub&source=gbs_api\n                              isAvailable:\n                                type: boolean\n                                example: false\n                          pdf:\n                            type: object\n                            properties:\n                              isAvailable:\n                                type: boolean\n                                example: false\n                          publicDomain:\n                            type: boolean\n                            example: true\n                          quoteSharingAllowed:\n                            type: boolean\n                            example: false\n                          textToSpeechPermission:\n                            type: string\n                            example: ALLOWED\n                          viewability:\n                            type: string\n                            example: ALL_PAGES\n                          webReaderLink:\n                            type: string\n                            example: >-\n                              http://play.google.com/books/reader?id=DPgTAAAAYAAJ&hl=&source=gbs_api\n                      etag:\n                        type: string\n                        example: lubgLpUZcpo\n                      id:\n                        type: number\n                        example: 146\n                      kind:\n                        type: string\n                        example: books#volume\n                      saleInfo:\n                        type: object\n                        properties:\n                          buyLink:\n                            type: string\n                            example: >-\n                              https://play.google.com/store/books/details?id=DPgTAAAAYAAJ&rdid=book-DPgTAAAAYAAJ&rdot=1&source=gbs_api\n                          country:\n                            type: string\n                            example: IN\n                          isEbook:\n                            type: boolean\n                            example: true\n                          saleability:\n                            type: string\n                            example: FREE\n                      searchInfo:\n                        type: object\n                        properties:\n                          textSnippet:\n                            type: string\n                            example: >-\n                              This report reviews the literature about the\n                              demand for nonconsumptive wildlife, based on\n                              surveys of the attitudes, preferences,\n                              participation, and expenditures for related\n                              activities.&quot;--Title page verso.\n                      selfLink:\n                        type: string\n                        example: >-\n                          https://www.googleapis.com/books/v1/volumes/DPgTAAAAYAAJ\n                      volumeInfo:\n                        type: object\n                        properties:\n                          allowAnonLogging:\n                            type: boolean\n                            example: false\n                          authors:\n                            type: array\n                            items:\n                              type: string\n                              example: Thomas A. More\n                            example:\n                              - Thomas A. More\n                          canonicalVolumeLink:\n                            type: string\n                            example: >-\n                              https://play.google.com/store/books/details?id=DPgTAAAAYAAJ\n                          categories:\n                            type: array\n                            items:\n                              type: string\n                              example: Bird watching\n                            example:\n                              - Bird watching\n                          contentVersion:\n                            type: string\n                            example: 1.4.6.0.full.1\n                          description:\n                            type: string\n                            example: >-\n                              \"Nonconsumptive wildlife use is a generic term for\n                              a variety of recreational activities related to\n                              wildlife. Primary nonconsumptive uses include\n                              general wildlife observation, birdwatching,\n                              birdfeeding, and wildlife and bird photography.\n                              Secondary activities include nature walks,\n                              membership in animal-related organizations,\n                              ownership of wildlife pets, and zoo visitation.\n                              This report reviews the literature about the\n                              demand for nonconsumptive wildlife, based on\n                              surveys of the attitudes, preferences,\n                              participation, and expenditures for related\n                              activities.\"--Title page verso.\n                          imageLinks:\n                            type: object\n                            properties:\n                              smallThumbnail:\n                                type: string\n                                example: >-\n                                  http://books.google.com/books/content?id=DPgTAAAAYAAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\n                              thumbnail:\n                                type: string\n                                example: >-\n                                  http://books.google.com/books/content?id=DPgTAAAAYAAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\n                          industryIdentifiers:\n                            type: array\n                            items:\n                              type: object\n                              properties:\n                                identifier:\n                                  type: string\n                                  example: UVA:X002398128\n                                type:\n                                  type: string\n                                  example: OTHER\n                            example:\n                              - identifier: UVA:X002398128\n                                type: OTHER\n                          infoLink:\n                            type: string\n                            example: >-\n                              https://play.google.com/store/books/details?id=DPgTAAAAYAAJ&source=gbs_api\n                          language:\n                            type: string\n                            example: en\n                          maturityRating:\n                            type: string\n                            example: NOT_MATURE\n                          pageCount:\n                            type: number\n                            example: 22\n                          panelizationSummary:\n                            type: object\n                            properties:\n                              containsEpubBubbles:\n                                type: boolean\n                                example: false\n                              containsImageBubbles:\n                                type: boolean\n                                example: false\n                          previewLink:\n                            type: string\n                            example: >-\n                              http://books.google.co.in/books?id=DPgTAAAAYAAJ&printsec=frontcover&dq=wildlife&hl=&cd=6&source=gbs_api\n                          printType:\n                            type: string\n                            example: BOOK\n                          publishedDate:\n                            type: string\n                            example: '1979'\n                          readingModes:\n                            type: object\n                            properties:\n                              image:\n                                type: boolean\n                                example: true\n                              text:\n                                type: boolean\n                                example: false\n                          subtitle:\n                            type: string\n                            example: a review of the literature\n                          title:\n                            type: string\n                            example: The demand for nonconsumptive wildlife uses\n                  message:\n                    type: string\n                    example: Book fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get a random book:\n                  value:\n                    data:\n                      accessInfo:\n                        accessViewStatus: FULL_PUBLIC_DOMAIN\n                        country: IN\n                        embeddable: true\n                        epub:\n                          downloadLink: >-\n                            http://books.google.co.in/books/download/The_demand_for_nonconsumptive_wildlife_u.epub?id=DPgTAAAAYAAJ&hl=&output=epub&source=gbs_api\n                          isAvailable: false\n                        pdf:\n                          isAvailable: false\n                        publicDomain: true\n                        quoteSharingAllowed: false\n                        textToSpeechPermission: ALLOWED\n                        viewability: ALL_PAGES\n                        webReaderLink: >-\n                          http://play.google.com/books/reader?id=DPgTAAAAYAAJ&hl=&source=gbs_api\n                      etag: lubgLpUZcpo\n                      id: 146\n                      kind: books#volume\n                      saleInfo:\n                        buyLink: >-\n                          https://play.google.com/store/books/details?id=DPgTAAAAYAAJ&rdid=book-DPgTAAAAYAAJ&rdot=1&source=gbs_api\n                        country: IN\n                        isEbook: true\n                        saleability: FREE\n                      searchInfo:\n                        textSnippet: >-\n                          This report reviews the literature about the demand\n                          for nonconsumptive wildlife, based on surveys of the\n                          attitudes, preferences, participation, and\n                          expenditures for related activities.&quot;--Title page\n                          verso.\n                      selfLink: https://www.googleapis.com/books/v1/volumes/DPgTAAAAYAAJ\n                      volumeInfo:\n                        allowAnonLogging: false\n                        authors:\n                          - Thomas A. More\n                        canonicalVolumeLink: >-\n                          https://play.google.com/store/books/details?id=DPgTAAAAYAAJ\n                        categories:\n                          - Bird watching\n                        contentVersion: 1.4.6.0.full.1\n                        description: >-\n                          \"Nonconsumptive wildlife use is a generic term for a\n                          variety of recreational activities related to\n                          wildlife. Primary nonconsumptive uses include general\n                          wildlife observation, birdwatching, birdfeeding, and\n                          wildlife and bird photography. Secondary activities\n                          include nature walks, membership in animal-related\n                          organizations, ownership of wildlife pets, and zoo\n                          visitation. This report reviews the literature about\n                          the demand for nonconsumptive wildlife, based on\n                          surveys of the attitudes, preferences, participation,\n                          and expenditures for related activities.\"--Title page\n                          verso.\n                        imageLinks:\n                          smallThumbnail: >-\n                            http://books.google.com/books/content?id=DPgTAAAAYAAJ&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api\n                          thumbnail: >-\n                            http://books.google.com/books/content?id=DPgTAAAAYAAJ&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api\n                        industryIdentifiers:\n                          - identifier: UVA:X002398128\n                            type: OTHER\n                        infoLink: >-\n                          https://play.google.com/store/books/details?id=DPgTAAAAYAAJ&source=gbs_api\n                        language: en\n                        maturityRating: NOT_MATURE\n                        pageCount: 22\n                        panelizationSummary:\n                          containsEpubBubbles: false\n                          containsImageBubbles: false\n                        previewLink: >-\n                          http://books.google.co.in/books?id=DPgTAAAAYAAJ&printsec=frontcover&dq=wildlife&hl=&cd=6&source=gbs_api\n                        printType: BOOK\n                        publishedDate: '1979'\n                        readingModes:\n                          image: true\n                          text: false\n                        subtitle: a review of the literature\n                        title: The demand for nonconsumptive wildlife uses\n                    message: Book fetched successfully\n                    statusCode: 200\n                    success: true\n  /public/stocks:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get stocks\n      description: >-\n        The API endpoint allows you to retrieve a list of stocks listed on NSE [National Stock Exchange of India].\n        The data you get is a snapshot taken on 28th Dec 2023 & not live from stock exchange. \n\n        Upon accessing this endpoint, you will receive a response containing a\n        collection of randomly selected stocks.\n      operationId: getStocks\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '2'\n        - name: inc\n          in: query\n          schema:\n            type: string\n            example: Symbol,Name,MarketCap,CurrentPrice\n        - name: query\n          in: query\n          schema:\n            type: string\n            example: tata\n      responses:\n        '200':\n          description: Get stocks\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '27925'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:47:47 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"6d15-0KcGCMfWHfOKgogQFckT/3DtmQw\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      currentPageItems:\n                        type: number\n                        example: 10\n                      data:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            Name:\n                              type: string\n                              example: Tata Chemicals Limited\n                            Symbol:\n                              type: string\n                              example: TATACHEM\n                            ListingDate:\n                              type: string\n                              example: 01-Apr-99\n                            ISIN:\n                              type: string\n                              example: INE092A01019  \n                            MarketCap:\n                              type: string\n                              example: ₹ 28,355 Cr.  \n                            CurrentPrice:\n                              type: string\n                              example: ₹ 1,113  \n                            HighLow:\n                              type: string\n                              example: ₹ 1,123 / 912  \n                            StockPE:\n                              type: string\n                              example:  14.4 \n                            BookValue:\n                              type: string\n                              example: ₹ 840  \n                            DividendYield:\n                              type: string\n                              example: 1.54 %  \n                            ROCE:\n                              type: string\n                              example: 11.6 %  \n                            ROE:\n                              type: string\n                              example: 12.0 %  \n                            FaceValue:\n                              type: string\n                              example: ₹ 10.0  \n                            \n                        example:\n                          - Name: Tata Chemicals Limited\n                            Symbol: TATACHEM\n                            ListingDate: 01-Apr-99\n                            ISIN: INE092A01019\n                            MarketCap: ₹ 28,355 Cr.\n                            CurrentPrice: ₹ 1,113\n                            HighLow: ₹ 1,123 / 912\n                            StockPE: 14.4\n                            BookValue: ₹ 840\n                            DividendYield: 1.54 %\n                            ROCE: 11.6 %\n                            ROE: 12.0 %\n                            FaceValue: ₹ 10.0\n\n                          - Name: Tata Coffee Limited\n                            Symbol: TATACOFFEE\n                            ListingDate: 16-Feb-00\n                            ISIN: INE493A01027\n                            MarketCap: ₹ 5,993 Cr.\n                            CurrentPrice: ₹ 321\n                            HighLow: ₹ 322 / 199\n                            StockPE: 33.4\n                            BookValue: ₹ 99.3\n                            DividendYield: 0.93 %\n                            ROCE: 9.78 %\n                            ROE: 10.1 %\n                            FaceValue: ₹ 1.0      \n                      limit:\n                        type: number\n                        example: 10\n                      nextPage:\n                        type: boolean\n                        example: false\n                      page:\n                        type: number\n                        example: 1\n                      previousPage:\n                        type: boolean\n                        example: false\n                      totalItems:\n                        type: number\n                        example: 20\n                      totalPages:\n                        type: number\n                        example: 2\n                  message:\n                    type: string\n                    example: Books fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get Stocks:\n                  value:\n                    data:\n                      limit: 2\n                      nextPage: true\n                      page: 1\n                      previousPage: false\n                      totalItems: 14\n                      totalPages: 7\n                      currentPageItems: 2\n                      data:\n                        - Name: Tata Chemicals Limited\n                          Symbol: TATACHEM\n                          ListingDate: 01-Apr-99\n                          ISIN: INE092A01019\n                          MarketCap: ₹ 28,355 Cr.\n                          CurrentPrice: ₹ 1,113\n                          HighLow: ₹ 1,123 / 912\n                          StockPE: 14.4\n                          BookValue: ₹ 840\n                          DividendYield: 1.54 %\n                          ROCE: 11.6 %\n                          ROE: 12.0 %\n                          FaceValue: ₹ 10.0\n\n                        - Name: Tata Coffee Limited\n                          Symbol: TATACOFFEE\n                          ListingDate: 16-Feb-00\n                          ISIN: INE493A01027\n                          MarketCap: ₹ 5,993 Cr.\n                          CurrentPrice: ₹ 321\n                          HighLow: ₹ 322 / 199\n                          StockPE: 33.4\n                          BookValue: ₹ 99.3\n                          DividendYield: 0.93 %\n                          ROCE: 9.78 %\n                          ROE: 10.1 %\n                          FaceValue: ₹ 1.0\n                    message: Stocks fetched successfully\n                    statusCode: 200\n                    success: true\n  /public/stocks/{stockSymbol}:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get stock by symbol id\n      description: >-\n        The API endpoint retrieves a stock based on the Symbol as ID provided as a\n        path variable.\n\n\n        By accessing this endpoint and specifying a valid stock symbol, you will\n        receive a response containing the details of the corresponding stock.\n      operationId: getStockById\n      responses:\n        '200':\n          description: Get stock by symbol id\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '3361'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:47:57 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"d21-VOx6nGLbPBZU6wWmXZSPV7oDdm8\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      Name:\n                        type: string\n                        example: Tata Chemicals Limited\n                      Symbol:\n                        type: string\n                        example: TATACHEM\n                      ListingDate:\n                        type: string\n                        example: 01-Apr-99\n                      ISIN:\n                        type: string\n                        example: INE092A01019  \n                      MarketCap:\n                        type: string\n                        example: ₹ 28,355 Cr.  \n                      CurrentPrice:\n                        type: string\n                        example: ₹ 1,113  \n                      HighLow:\n                        type: string\n                        example: ₹ 1,123 / 912  \n                      StockPE:\n                        type: string\n                        example:  14.4 \n                      BookValue:\n                        type: string\n                        example: ₹ 840  \n                      DividendYield:\n                        type: string\n                        example: 1.54 %  \n                      ROCE:\n                        type: string\n                        example: 11.6 %  \n                      ROE:\n                        type: string\n                        example: 12.0 %  \n                      FaceValue:\n                        type: string\n                        example: ₹ 10.0          \n                  message:\n                    type: string\n                    example: Book fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get stock by symbol id:\n                  value:\n                    data:\n                        Name: Tata Chemicals Limited\n                        Symbol: TATACHEM\n                        ListingDate: 01-Apr-99\n                        ISIN: INE092A01019\n                        MarketCap: ₹ 28,355 Cr.\n                        CurrentPrice: ₹ 1,113\n                        HighLow: ₹ 1,123 / 912\n                        StockPE: 14.4\n                        BookValue: ₹ 840\n                        DividendYield: 1.54 %\n                        ROCE: 11.6 %\n                        ROE: 12.0 %\n                        FaceValue: ₹ 10.0\n                    message: Stock fetched successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: stockSymbol\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 'INFY'\n  /public/stocks/stock/random:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get a random stock\n      description: >-\n        The API endpoint returns a single random stock from a list of stocks.\n\n\n        Upon accessing this endpoint, you will receive a response containing the\n        details of a randomly selected stock.\n      operationId: getARandomStock\n      responses:\n        '200':\n          description: Get a random stock\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '2803'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:48:01 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"af3-tgo13Cikj+pozPOzr/EHgQRwOsk\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      Name:\n                        type: string\n                        example: Tata Chemicals Limited\n                      Symbol:\n                        type: string\n                        example: TATACHEM\n                      ListingDate:\n                        type: string\n                        example: 01-Apr-99\n                      ISIN:\n                        type: string\n                        example: INE092A01019  \n                      MarketCap:\n                        type: string\n                        example: ₹ 28,355 Cr.  \n                      CurrentPrice:\n                        type: string\n                        example: ₹ 1,113  \n                      HighLow:\n                        type: string\n                        example: ₹ 1,123 / 912  \n                      StockPE:\n                        type: string\n                        example:  14.4 \n                      BookValue:\n                        type: string\n                        example: ₹ 840  \n                      DividendYield:\n                        type: string\n                        example: 1.54 %  \n                      ROCE:\n                        type: string\n                        example: 11.6 %  \n                      ROE:\n                        type: string\n                        example: 12.0 %  \n                      FaceValue:\n                        type: string\n                        example: ₹ 10.0  \n                  message:\n                    type: string\n                    example: Book fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get a random stock:\n                  value:\n                    data:\n                        Name: Tata Chemicals Limited\n                        Symbol: TATACHEM\n                        ListingDate: 01-Apr-99\n                        ISIN: INE092A01019\n                        MarketCap: ₹ 28,355 Cr.\n                        CurrentPrice: ₹ 1,113\n                        HighLow: ₹ 1,123 / 912\n                        StockPE: 14.4\n                        BookValue: ₹ 840\n                        DividendYield: 1.54 %\n                        ROCE: 11.6 %\n                        ROE: 12.0 %\n                        FaceValue: ₹ 10.0\n                    message: Stock fetched successfully\n                    statusCode: 200\n                    success: true\n  /public/quotes:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get quotes\n      description: >-\n        The API endpoint allows you to retrieve a list of quotes.\n\n\n        When accessing this endpoint, you will receive a response containing a\n        collection of quotes.\n      operationId: getQuotes\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '10'\n        - name: query\n          in: query\n          schema:\n            type: string\n            example: human\n      responses:\n        '200':\n          description: Get quotes\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '1749'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:48:41 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"6d5-+zpn8l6pYZYj9bgDEIVzSwsiHts\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      currentPageItems:\n                        type: number\n                        example: 5\n                      data:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            author:\n                              type: string\n                              example: Charles Dickens\n                            authorSlug:\n                              type: string\n                              example: charles-dickens\n                            content:\n                              type: string\n                              example: >-\n                                Subdue your appetites, my dears, and you've\n                                conquered human nature.\n                            dateAdded:\n                              type: string\n                              example: '2023-04-14'\n                            dateModified:\n                              type: string\n                              example: '2023-04-14'\n                            id:\n                              type: number\n                              example: 1\n                            length:\n                              type: number\n                              example: 67\n                            tags:\n                              type: array\n                              items: {}\n                              example: []\n                        example:\n                          - author: Charles Dickens\n                            authorSlug: charles-dickens\n                            content: >-\n                              Subdue your appetites, my dears, and you've\n                              conquered human nature.\n                            dateAdded: '2023-04-14'\n                            dateModified: '2023-04-14'\n                            id: 1\n                            length: 67\n                            tags: []\n                          - author: Thomas Edison\n                            authorSlug: thomas-edison\n                            content: >-\n                              The doctor of the future will give no medicine,\n                              but will interest her or his patients in the care\n                              of the human frame, in a proper diet, and in the\n                              cause and prevention of disease.\n                            dateAdded: '2023-04-14'\n                            dateModified: '2023-04-14'\n                            id: 14\n                            length: 179\n                            tags:\n                              - Health\n                              - Wellness\n                          - author: Albert Einstein\n                            authorSlug: albert-einstein\n                            content: >-\n                              Only two things are infinite, the universe and\n                              human stupidity, and I'm not sure about the\n                              former.\n                            dateAdded: '2023-04-06'\n                            dateModified: '2023-04-14'\n                            id: 26\n                            length: 98\n                            tags:\n                              - Stupidity\n                          - author: Albert Einstein\n                            authorSlug: albert-einstein\n                            content: >-\n                              The ideals which have lighted my way, and time\n                              after time have given me new courage to face life\n                              cheerfully, have been Kindness, Beauty, and Truth.\n                              The trite subjects of human efforts, possessions,\n                              outward success, luxury have always seemed to me\n                              contemptible.\n                            dateAdded: '2023-04-06'\n                            dateModified: '2023-04-14'\n                            id: 40\n                            length: 260\n                            tags:\n                              - Success\n                          - author: Winston Churchill\n                            authorSlug: winston-churchill\n                            content: >-\n                              Courage is rightly esteemed the first of human\n                              qualities... because it is the quality which\n                              guarantees all others.\n                            dateAdded: '2022-03-12'\n                            dateModified: '2023-04-14'\n                            id: 255\n                            length: 114\n                            tags:\n                              - Courage\n                      limit:\n                        type: number\n                        example: 10\n                      nextPage:\n                        type: boolean\n                        example: false\n                      page:\n                        type: number\n                        example: 1\n                      previousPage:\n                        type: boolean\n                        example: false\n                      totalItems:\n                        type: number\n                        example: 5\n                      totalPages:\n                        type: number\n                        example: 1\n                  message:\n                    type: string\n                    example: Quotes fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get quotes:\n                  value:\n                    data:\n                      currentPageItems: 5\n                      data:\n                        - author: Charles Dickens\n                          authorSlug: charles-dickens\n                          content: >-\n                            Subdue your appetites, my dears, and you've\n                            conquered human nature.\n                          dateAdded: '2023-04-14'\n                          dateModified: '2023-04-14'\n                          id: 1\n                          length: 67\n                          tags: []\n                        - author: Thomas Edison\n                          authorSlug: thomas-edison\n                          content: >-\n                            The doctor of the future will give no medicine, but\n                            will interest her or his patients in the care of the\n                            human frame, in a proper diet, and in the cause and\n                            prevention of disease.\n                          dateAdded: '2023-04-14'\n                          dateModified: '2023-04-14'\n                          id: 14\n                          length: 179\n                          tags:\n                            - Health\n                            - Wellness\n                        - author: Albert Einstein\n                          authorSlug: albert-einstein\n                          content: >-\n                            Only two things are infinite, the universe and human\n                            stupidity, and I'm not sure about the former.\n                          dateAdded: '2023-04-06'\n                          dateModified: '2023-04-14'\n                          id: 26\n                          length: 98\n                          tags:\n                            - Stupidity\n                        - author: Albert Einstein\n                          authorSlug: albert-einstein\n                          content: >-\n                            The ideals which have lighted my way, and time after\n                            time have given me new courage to face life\n                            cheerfully, have been Kindness, Beauty, and Truth.\n                            The trite subjects of human efforts, possessions,\n                            outward success, luxury have always seemed to me\n                            contemptible.\n                          dateAdded: '2023-04-06'\n                          dateModified: '2023-04-14'\n                          id: 40\n                          length: 260\n                          tags:\n                            - Success\n                        - author: Winston Churchill\n                          authorSlug: winston-churchill\n                          content: >-\n                            Courage is rightly esteemed the first of human\n                            qualities... because it is the quality which\n                            guarantees all others.\n                          dateAdded: '2022-03-12'\n                          dateModified: '2023-04-14'\n                          id: 255\n                          length: 114\n                          tags:\n                            - Courage\n                      limit: 10\n                      nextPage: false\n                      page: 1\n                      previousPage: false\n                      totalItems: 5\n                      totalPages: 1\n                    message: Quotes fetched successfully\n                    statusCode: 200\n                    success: true\n  /public/quotes/{quoteId}:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get quote by id\n      description: >-\n        The API endpoint enables you to retrieve a specific quote based on the\n        quote ID provided in the path variable.\n\n\n        When accessing this endpoint and providing a valid quote ID, you will\n        receive a response containing the quote corresponding to that ID.\n      operationId: getQuoteById\n      responses:\n        '200':\n          description: Get quote by id\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '433'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:48:51 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1b1-FfdWhcGldKlnJVRsP3c0CBQ6XfI\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      author:\n                        type: string\n                        example: Thomas Edison\n                      authorSlug:\n                        type: string\n                        example: thomas-edison\n                      content:\n                        type: string\n                        example: >-\n                          If I find 10,000 ways something won't work, I haven't\n                          failed. I am not discouraged, because every wrong\n                          attempt discarded is another step forward.\n                      dateAdded:\n                        type: string\n                        example: '2023-04-14'\n                      dateModified:\n                        type: string\n                        example: '2023-04-14'\n                      id:\n                        type: number\n                        example: 10\n                      length:\n                        type: number\n                        example: 146\n                      tags:\n                        type: array\n                        items:\n                          type: string\n                          example: Perseverance\n                        example:\n                          - Perseverance\n                          - Success\n                          - Inspirational\n                          - Motivational\n                  message:\n                    type: string\n                    example: Quote fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get quote by id:\n                  value:\n                    data:\n                      author: Thomas Edison\n                      authorSlug: thomas-edison\n                      content: >-\n                        If I find 10,000 ways something won't work, I haven't\n                        failed. I am not discouraged, because every wrong\n                        attempt discarded is another step forward.\n                      dateAdded: '2023-04-14'\n                      dateModified: '2023-04-14'\n                      id: 10\n                      length: 146\n                      tags:\n                        - Perseverance\n                        - Success\n                        - Inspirational\n                        - Motivational\n                    message: Quote fetched successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: quoteId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: '10'\n  /public/quotes/quote/random:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get a random quote\n      description: >-\n        The API endpoint returns a random quote from a list of quotes.\n\n\n        When accessing this endpoint, you will receive a response containing a\n        randomly selected quote.\n      operationId: getARandomQuote\n      responses:\n        '200':\n          description: Get a random quote\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '337'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:48:11 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"151-LtFqyrqwne2YHaFkUiOQ0YhS0Q4\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      author:\n                        type: string\n                        example: Harriet Beecher Stowe\n                      authorSlug:\n                        type: string\n                        example: harriet-beecher-stowe\n                      content:\n                        type: string\n                        example: >-\n                          Never give up, for that is just the place and time\n                          that the tide will turn.\n                      dateAdded:\n                        type: string\n                        example: '2022-07-06'\n                      dateModified:\n                        type: string\n                        example: '2023-04-14'\n                      id:\n                        type: number\n                        example: 143\n                      length:\n                        type: number\n                        example: 75\n                      tags:\n                        type: array\n                        items:\n                          type: string\n                          example: Motivational\n                        example:\n                          - Motivational\n                  message:\n                    type: string\n                    example: Quote fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get a random quote:\n                  value:\n                    data:\n                      author: Harriet Beecher Stowe\n                      authorSlug: harriet-beecher-stowe\n                      content: >-\n                        Never give up, for that is just the place and time that\n                        the tide will turn.\n                      dateAdded: '2022-07-06'\n                      dateModified: '2023-04-14'\n                      id: 143\n                      length: 75\n                      tags:\n                        - Motivational\n                    message: Quote fetched successfully\n                    statusCode: 200\n                    success: true\n  /public/meals:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get meals\n      description: >-\n        The API endpoint enables you to retrieve a list of meals.\n\n\n        Upon accessing this endpoint, you will receive a response containing a\n        collection of meals.\n      operationId: getMeals\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '10'\n        - name: query\n          in: query\n          schema:\n            type: string\n            example: rice\n      responses:\n        '200':\n          description: Get meals\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '5703'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:49:25 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1647-J7xozRPSZ5qfyLbYwW3t9yzQiQ0\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      currentPageItems:\n                        type: number\n                        example: 2\n                      data:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            dateModified:\n                              nullable: true\n                              example: null\n                            id:\n                              type: number\n                              example: 19\n                            idMeal:\n                              type: string\n                              example: '52937'\n                            strArea:\n                              type: string\n                              example: Jamaican\n                            strCategory:\n                              type: string\n                              example: Chicken\n                            strCreativeCommonsConfirmed:\n                              nullable: true\n                              example: null\n                            strDrinkAlternate:\n                              nullable: true\n                              example: null\n                            strImageSource:\n                              nullable: true\n                              example: null\n                            strIngredient1:\n                              type: string\n                              example: Chicken Thighs\n                            strIngredient10:\n                              type: string\n                              example: Soy Sauce\n                            strIngredient11:\n                              type: string\n                              example: Vegetable Oil\n                            strIngredient12:\n                              type: string\n                              example: Brown Sugar\n                            strIngredient13:\n                              type: string\n                              example: Allspice\n                            strIngredient14:\n                              type: string\n                              example: Basmati Rice\n                            strIngredient15:\n                              type: string\n                              example: Coconut Milk\n                            strIngredient16:\n                              type: string\n                              example: Spring Onions\n                            strIngredient17:\n                              type: string\n                              example: Thyme\n                            strIngredient18:\n                              type: string\n                              example: Garlic\n                            strIngredient19:\n                              type: string\n                              example: Allspice\n                            strIngredient2:\n                              type: string\n                              example: Lime\n                            strIngredient20:\n                              type: string\n                              example: Kidney Beans\n                            strIngredient3:\n                              type: string\n                              example: Spring Onions\n                            strIngredient4:\n                              type: string\n                              example: Ginger\n                            strIngredient5:\n                              type: string\n                              example: Garlic\n                            strIngredient6:\n                              type: string\n                              example: Onion\n                            strIngredient7:\n                              type: string\n                              example: Red Chilli\n                            strIngredient8:\n                              type: string\n                              example: Thyme\n                            strIngredient9:\n                              type: string\n                              example: Lime\n                            strInstructions:\n                              type: string\n                              example: \"To make the jerk marinade, combine all the ingredients in a food processor along with 1 tsp salt, and blend to a purée. If you’re having trouble getting it to blend, just keep turning off the blender, stirring the mixture, and trying again. Eventually it will start to blend up – don’t be tempted to add water, as you want a thick paste.\\r\\n\\r\\nTaste the jerk mixture for seasoning – it should taste pretty salty, but not unpleasantly, puckering salty. You can now throw in more chillies if it’s not spicy enough for you. If it tastes too salty and sour, try adding in a bit more brown sugar until the mixture tastes well balanced.\\r\\n\\r\\nMake a few slashes in the chicken thighs and pour the marinade over the meat, rubbing it into all the crevices. Cover and leave to marinate overnight in the fridge.\\r\\n\\r\\nIf you want to barbecue your chicken, get the coals burning 1 hr or so before you’re ready to cook. Authentic jerked meats are not exactly grilled as we think of grilling, but sort of smoke-grilled. To get a more authentic jerk experience, add some wood chips to your barbecue, and cook your chicken over slow, indirect heat for 30 mins. To cook in the oven, heat to 180C/160C fan/gas 4. Put the chicken pieces in a roasting tin with the lime halves and cook for 45 mins until tender and cooked through.\\r\\n\\r\\nWhile the chicken is cooking, prepare the rice & peas. Rinse the rice in plenty of cold water, then tip it into a large saucepan with all the remaining ingredients except the kidney beans. Season with salt, add 300ml cold water and set over a high heat. Once the rice begins to boil, turn it down to a medium heat, cover and cook for 10 mins.\\r\\n\\r\\nAdd the beans to the rice, then cover with a lid. Leave off the heat for 5 mins until all the liquid is absorbed. Squeeze the roasted lime over the chicken and serve with the rice & peas, and some hot sauce if you like it really spicy.\"\n                            strMeal:\n                              type: string\n                              example: Jerk chicken with rice & peas\n                            strMealThumb:\n                              type: string\n                              example: >-\n                                https://www.themealdb.com/images/media/meals/tytyxu1515363282.jpg\n                            strMeasure1:\n                              type: string\n                              example: '12'\n                            strMeasure10:\n                              type: string\n                              example: 2 tbs\n                            strMeasure11:\n                              type: string\n                              example: 2 tbs\n                            strMeasure12:\n                              type: string\n                              example: 3 tbs\n                            strMeasure13:\n                              type: string\n                              example: 1 tbs\n                            strMeasure14:\n                              type: string\n                              example: 200g\n                            strMeasure15:\n                              type: string\n                              example: 400g\n                            strMeasure16:\n                              type: string\n                              example: 1  bunch\n                            strMeasure17:\n                              type: string\n                              example: 2 sprigs\n                            strMeasure18:\n                              type: string\n                              example: 2 cloves chopped\n                            strMeasure19:\n                              type: string\n                              example: 1 tbs\n                            strMeasure2:\n                              type: string\n                              example: '1/2 '\n                            strMeasure20:\n                              type: string\n                              example: 800g\n                            strMeasure3:\n                              type: string\n                              example: 1  bunch\n                            strMeasure4:\n                              type: string\n                              example: 1 tbs chopped\n                            strMeasure5:\n                              type: string\n                              example: 3 cloves\n                            strMeasure6:\n                              type: string\n                              example: '1/2 '\n                            strMeasure7:\n                              type: string\n                              example: 3 chopped\n                            strMeasure8:\n                              type: string\n                              example: 1/2 teaspoon\n                            strMeasure9:\n                              type: string\n                              example: Juice of 1\n                            strSource:\n                              type: string\n                              example: >-\n                                https://www.bbcgoodfood.com/recipes/2369635/jerk-chicken-with-rice-and-peas\n                            strTags:\n                              type: string\n                              nullable: true\n                              example: Chilli,Curry\n                            strYoutube:\n                              type: string\n                              example: https://www.youtube.com/watch?v=qfchrS2D_v4\n                        example:\n                          - dateModified: null\n                            id: 19\n                            idMeal: '52937'\n                            strArea: Jamaican\n                            strCategory: Chicken\n                            strCreativeCommonsConfirmed: null\n                            strDrinkAlternate: null\n                            strImageSource: null\n                            strIngredient1: Chicken Thighs\n                            strIngredient10: Soy Sauce\n                            strIngredient11: Vegetable Oil\n                            strIngredient12: Brown Sugar\n                            strIngredient13: Allspice\n                            strIngredient14: Basmati Rice\n                            strIngredient15: Coconut Milk\n                            strIngredient16: Spring Onions\n                            strIngredient17: Thyme\n                            strIngredient18: Garlic\n                            strIngredient19: Allspice\n                            strIngredient2: Lime\n                            strIngredient20: Kidney Beans\n                            strIngredient3: Spring Onions\n                            strIngredient4: Ginger\n                            strIngredient5: Garlic\n                            strIngredient6: Onion\n                            strIngredient7: Red Chilli\n                            strIngredient8: Thyme\n                            strIngredient9: Lime\n                            strInstructions: \"To make the jerk marinade, combine all the ingredients in a food processor along with 1 tsp salt, and blend to a purée. If you’re having trouble getting it to blend, just keep turning off the blender, stirring the mixture, and trying again. Eventually it will start to blend up – don’t be tempted to add water, as you want a thick paste.\\r\\n\\r\\nTaste the jerk mixture for seasoning – it should taste pretty salty, but not unpleasantly, puckering salty. You can now throw in more chillies if it’s not spicy enough for you. If it tastes too salty and sour, try adding in a bit more brown sugar until the mixture tastes well balanced.\\r\\n\\r\\nMake a few slashes in the chicken thighs and pour the marinade over the meat, rubbing it into all the crevices. Cover and leave to marinate overnight in the fridge.\\r\\n\\r\\nIf you want to barbecue your chicken, get the coals burning 1 hr or so before you’re ready to cook. Authentic jerked meats are not exactly grilled as we think of grilling, but sort of smoke-grilled. To get a more authentic jerk experience, add some wood chips to your barbecue, and cook your chicken over slow, indirect heat for 30 mins. To cook in the oven, heat to 180C/160C fan/gas 4. Put the chicken pieces in a roasting tin with the lime halves and cook for 45 mins until tender and cooked through.\\r\\n\\r\\nWhile the chicken is cooking, prepare the rice & peas. Rinse the rice in plenty of cold water, then tip it into a large saucepan with all the remaining ingredients except the kidney beans. Season with salt, add 300ml cold water and set over a high heat. Once the rice begins to boil, turn it down to a medium heat, cover and cook for 10 mins.\\r\\n\\r\\nAdd the beans to the rice, then cover with a lid. Leave off the heat for 5 mins until all the liquid is absorbed. Squeeze the roasted lime over the chicken and serve with the rice & peas, and some hot sauce if you like it really spicy.\"\n                            strMeal: Jerk chicken with rice & peas\n                            strMealThumb: >-\n                              https://www.themealdb.com/images/media/meals/tytyxu1515363282.jpg\n                            strMeasure1: '12'\n                            strMeasure10: 2 tbs\n                            strMeasure11: 2 tbs\n                            strMeasure12: 3 tbs\n                            strMeasure13: 1 tbs\n                            strMeasure14: 200g\n                            strMeasure15: 400g\n                            strMeasure16: 1  bunch\n                            strMeasure17: 2 sprigs\n                            strMeasure18: 2 cloves chopped\n                            strMeasure19: 1 tbs\n                            strMeasure2: '1/2 '\n                            strMeasure20: 800g\n                            strMeasure3: 1  bunch\n                            strMeasure4: 1 tbs chopped\n                            strMeasure5: 3 cloves\n                            strMeasure6: '1/2 '\n                            strMeasure7: 3 chopped\n                            strMeasure8: 1/2 teaspoon\n                            strMeasure9: Juice of 1\n                            strSource: >-\n                              https://www.bbcgoodfood.com/recipes/2369635/jerk-chicken-with-rice-and-peas\n                            strTags: Chilli,Curry\n                            strYoutube: https://www.youtube.com/watch?v=qfchrS2D_v4\n                          - dateModified: null\n                            id: 21\n                            idMeal: '53033'\n                            strArea: Japanese\n                            strCategory: Side\n                            strCreativeCommonsConfirmed: null\n                            strDrinkAlternate: null\n                            strImageSource: null\n                            strIngredient1: Sushi Rice\n                            strIngredient10: ''\n                            strIngredient11: ''\n                            strIngredient12: ''\n                            strIngredient13: ''\n                            strIngredient14: ''\n                            strIngredient15: ''\n                            strIngredient16: ''\n                            strIngredient17: ''\n                            strIngredient18: ''\n                            strIngredient19: ''\n                            strIngredient2: Mirin\n                            strIngredient20: ''\n                            strIngredient3: Pickle Juice\n                            strIngredient4: Spring Onions\n                            strIngredient5: ''\n                            strIngredient6: ''\n                            strIngredient7: ''\n                            strIngredient8: ''\n                            strIngredient9: ''\n                            strInstructions: \"STEP 1\\r\\nRinsing and soaking your rice is key to achieving the perfect texture. Measure the rice into a bowl, cover with cold water, then use your fingers to massage the grains of rice – the water will become cloudy. Drain and rinse again with fresh water. Repeat five more times until the water stays clear.\\r\\n\\r\\nSTEP 2\\r\\nTip the rinsed rice into a saucepan with 400ml water, or 200ml dashi and 200ml water, bring to the boil, then turn down the heat to a low simmer, cover with a tight-fitting lid with a steam hole and cook for 15 mins. Remove from the heat and leave to sit for another 15 mins, then stir through the mirin. Remove the lid and give it a good stir. Serve with any or all of the optional toppings.\"\n                            strMeal: Japanese gohan rice\n                            strMealThumb: >-\n                              https://www.themealdb.com/images/media/meals/kw92t41604181871.jpg\n                            strMeasure1: 300g\n                            strMeasure10: ' '\n                            strMeasure11: ' '\n                            strMeasure12: ' '\n                            strMeasure13: ' '\n                            strMeasure14: ' '\n                            strMeasure15: ' '\n                            strMeasure16: ' '\n                            strMeasure17: ' '\n                            strMeasure18: ' '\n                            strMeasure19: ' '\n                            strMeasure2: 1 tbs\n                            strMeasure20: ' '\n                            strMeasure3: Garnish\n                            strMeasure4: Garnish\n                            strMeasure5: ' '\n                            strMeasure6: ' '\n                            strMeasure7: ' '\n                            strMeasure8: ' '\n                            strMeasure9: ' '\n                            strSource: >-\n                              https://www.bbcgoodfood.com/recipes/japanese-rice-gohan\n                            strTags: null\n                            strYoutube: https://www.youtube.com/watch?v=rZO86_-MIp0\n                      limit:\n                        type: number\n                        example: 10\n                      nextPage:\n                        type: boolean\n                        example: false\n                      page:\n                        type: number\n                        example: 1\n                      previousPage:\n                        type: boolean\n                        example: false\n                      totalItems:\n                        type: number\n                        example: 2\n                      totalPages:\n                        type: number\n                        example: 1\n                  message:\n                    type: string\n                    example: Meals fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get meals:\n                  value:\n                    data:\n                      currentPageItems: 2\n                      data:\n                        - dateModified: null\n                          id: 19\n                          idMeal: '52937'\n                          strArea: Jamaican\n                          strCategory: Chicken\n                          strCreativeCommonsConfirmed: null\n                          strDrinkAlternate: null\n                          strImageSource: null\n                          strIngredient1: Chicken Thighs\n                          strIngredient10: Soy Sauce\n                          strIngredient11: Vegetable Oil\n                          strIngredient12: Brown Sugar\n                          strIngredient13: Allspice\n                          strIngredient14: Basmati Rice\n                          strIngredient15: Coconut Milk\n                          strIngredient16: Spring Onions\n                          strIngredient17: Thyme\n                          strIngredient18: Garlic\n                          strIngredient19: Allspice\n                          strIngredient2: Lime\n                          strIngredient20: Kidney Beans\n                          strIngredient3: Spring Onions\n                          strIngredient4: Ginger\n                          strIngredient5: Garlic\n                          strIngredient6: Onion\n                          strIngredient7: Red Chilli\n                          strIngredient8: Thyme\n                          strIngredient9: Lime\n                          strInstructions: \"To make the jerk marinade, combine all the ingredients in a food processor along with 1 tsp salt, and blend to a purée. If you’re having trouble getting it to blend, just keep turning off the blender, stirring the mixture, and trying again. Eventually it will start to blend up – don’t be tempted to add water, as you want a thick paste.\\r\\n\\r\\nTaste the jerk mixture for seasoning – it should taste pretty salty, but not unpleasantly, puckering salty. You can now throw in more chillies if it’s not spicy enough for you. If it tastes too salty and sour, try adding in a bit more brown sugar until the mixture tastes well balanced.\\r\\n\\r\\nMake a few slashes in the chicken thighs and pour the marinade over the meat, rubbing it into all the crevices. Cover and leave to marinate overnight in the fridge.\\r\\n\\r\\nIf you want to barbecue your chicken, get the coals burning 1 hr or so before you’re ready to cook. Authentic jerked meats are not exactly grilled as we think of grilling, but sort of smoke-grilled. To get a more authentic jerk experience, add some wood chips to your barbecue, and cook your chicken over slow, indirect heat for 30 mins. To cook in the oven, heat to 180C/160C fan/gas 4. Put the chicken pieces in a roasting tin with the lime halves and cook for 45 mins until tender and cooked through.\\r\\n\\r\\nWhile the chicken is cooking, prepare the rice & peas. Rinse the rice in plenty of cold water, then tip it into a large saucepan with all the remaining ingredients except the kidney beans. Season with salt, add 300ml cold water and set over a high heat. Once the rice begins to boil, turn it down to a medium heat, cover and cook for 10 mins.\\r\\n\\r\\nAdd the beans to the rice, then cover with a lid. Leave off the heat for 5 mins until all the liquid is absorbed. Squeeze the roasted lime over the chicken and serve with the rice & peas, and some hot sauce if you like it really spicy.\"\n                          strMeal: Jerk chicken with rice & peas\n                          strMealThumb: >-\n                            https://www.themealdb.com/images/media/meals/tytyxu1515363282.jpg\n                          strMeasure1: '12'\n                          strMeasure10: 2 tbs\n                          strMeasure11: 2 tbs\n                          strMeasure12: 3 tbs\n                          strMeasure13: 1 tbs\n                          strMeasure14: 200g\n                          strMeasure15: 400g\n                          strMeasure16: 1  bunch\n                          strMeasure17: 2 sprigs\n                          strMeasure18: 2 cloves chopped\n                          strMeasure19: 1 tbs\n                          strMeasure2: '1/2 '\n                          strMeasure20: 800g\n                          strMeasure3: 1  bunch\n                          strMeasure4: 1 tbs chopped\n                          strMeasure5: 3 cloves\n                          strMeasure6: '1/2 '\n                          strMeasure7: 3 chopped\n                          strMeasure8: 1/2 teaspoon\n                          strMeasure9: Juice of 1\n                          strSource: >-\n                            https://www.bbcgoodfood.com/recipes/2369635/jerk-chicken-with-rice-and-peas\n                          strTags: Chilli,Curry\n                          strYoutube: https://www.youtube.com/watch?v=qfchrS2D_v4\n                        - dateModified: null\n                          id: 21\n                          idMeal: '53033'\n                          strArea: Japanese\n                          strCategory: Side\n                          strCreativeCommonsConfirmed: null\n                          strDrinkAlternate: null\n                          strImageSource: null\n                          strIngredient1: Sushi Rice\n                          strIngredient10: ''\n                          strIngredient11: ''\n                          strIngredient12: ''\n                          strIngredient13: ''\n                          strIngredient14: ''\n                          strIngredient15: ''\n                          strIngredient16: ''\n                          strIngredient17: ''\n                          strIngredient18: ''\n                          strIngredient19: ''\n                          strIngredient2: Mirin\n                          strIngredient20: ''\n                          strIngredient3: Pickle Juice\n                          strIngredient4: Spring Onions\n                          strIngredient5: ''\n                          strIngredient6: ''\n                          strIngredient7: ''\n                          strIngredient8: ''\n                          strIngredient9: ''\n                          strInstructions: \"STEP 1\\r\\nRinsing and soaking your rice is key to achieving the perfect texture. Measure the rice into a bowl, cover with cold water, then use your fingers to massage the grains of rice – the water will become cloudy. Drain and rinse again with fresh water. Repeat five more times until the water stays clear.\\r\\n\\r\\nSTEP 2\\r\\nTip the rinsed rice into a saucepan with 400ml water, or 200ml dashi and 200ml water, bring to the boil, then turn down the heat to a low simmer, cover with a tight-fitting lid with a steam hole and cook for 15 mins. Remove from the heat and leave to sit for another 15 mins, then stir through the mirin. Remove the lid and give it a good stir. Serve with any or all of the optional toppings.\"\n                          strMeal: Japanese gohan rice\n                          strMealThumb: >-\n                            https://www.themealdb.com/images/media/meals/kw92t41604181871.jpg\n                          strMeasure1: 300g\n                          strMeasure10: ' '\n                          strMeasure11: ' '\n                          strMeasure12: ' '\n                          strMeasure13: ' '\n                          strMeasure14: ' '\n                          strMeasure15: ' '\n                          strMeasure16: ' '\n                          strMeasure17: ' '\n                          strMeasure18: ' '\n                          strMeasure19: ' '\n                          strMeasure2: 1 tbs\n                          strMeasure20: ' '\n                          strMeasure3: Garnish\n                          strMeasure4: Garnish\n                          strMeasure5: ' '\n                          strMeasure6: ' '\n                          strMeasure7: ' '\n                          strMeasure8: ' '\n                          strMeasure9: ' '\n                          strSource: >-\n                            https://www.bbcgoodfood.com/recipes/japanese-rice-gohan\n                          strTags: null\n                          strYoutube: https://www.youtube.com/watch?v=rZO86_-MIp0\n                      limit: 10\n                      nextPage: false\n                      page: 1\n                      previousPage: false\n                      totalItems: 2\n                      totalPages: 1\n                    message: Meals fetched successfully\n                    statusCode: 200\n                    success: true\n  /public/meals/{mealId}:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get meal by id\n      description: >-\n        The API endpoint retrieves a meal based on the provided meal ID in the\n        path variable.\n\n\n        When accessing this endpoint and specifying a valid meal ID, you will\n        receive a response containing the details and information about the\n        specific meal.\n      operationId: getMealById\n      responses:\n        '200':\n          description: Get meal by id\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '2226'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:49:35 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"8b2-p3sHES7ExQPWtWLwEgp8WIteLsk\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      dateModified:\n                        nullable: true\n                        example: null\n                      id:\n                        type: number\n                        example: 1\n                      idMeal:\n                        type: string\n                        example: '52785'\n                      strArea:\n                        type: string\n                        example: Indian\n                      strCategory:\n                        type: string\n                        example: Vegetarian\n                      strCreativeCommonsConfirmed:\n                        nullable: true\n                        example: null\n                      strDrinkAlternate:\n                        nullable: true\n                        example: null\n                      strImageSource:\n                        nullable: true\n                        example: null\n                      strIngredient1:\n                        type: string\n                        example: Toor dal\n                      strIngredient10:\n                        type: string\n                        example: Green Chili\n                      strIngredient11:\n                        type: string\n                        example: Ginger\n                      strIngredient12:\n                        type: string\n                        example: Cilantro\n                      strIngredient13:\n                        type: string\n                        example: Red Pepper\n                      strIngredient14:\n                        type: string\n                        example: Salt\n                      strIngredient15:\n                        type: string\n                        example: Sugar\n                      strIngredient16:\n                        type: string\n                        example: Garam Masala\n                      strIngredient17:\n                        type: string\n                        example: ''\n                      strIngredient18:\n                        type: string\n                        example: ''\n                      strIngredient19:\n                        type: string\n                        example: ''\n                      strIngredient2:\n                        type: string\n                        example: Water\n                      strIngredient20:\n                        type: string\n                        example: ''\n                      strIngredient3:\n                        type: string\n                        example: Salt\n                      strIngredient4:\n                        type: string\n                        example: Turmeric\n                      strIngredient5:\n                        type: string\n                        example: Ghee\n                      strIngredient6:\n                        type: string\n                        example: Chopped tomatoes\n                      strIngredient7:\n                        type: string\n                        example: Cumin seeds\n                      strIngredient8:\n                        type: string\n                        example: Mustard Seeds\n                      strIngredient9:\n                        type: string\n                        example: Bay Leaf\n                      strInstructions:\n                        type: string\n                        example: \"Wash and soak toor dal in approx. 3 cups of water, for at least one hours. Dal will be double in volume after soaking. Drain the water.\\r\\nCook dal with 2-1/2 cups water and add salt, turmeric, on medium high heat, until soft in texture (approximately 30 mins) it should be like thick soup.\\r\\nIn a frying pan, heat the ghee. Add cumin seeds, and mustard seeds. After the seeds crack, add bay leaves, green chili, ginger and chili powder. Stir for a few seconds.\\r\\nAdd tomatoes, salt and sugar stir and cook until tomatoes are tender and mushy.\\r\\nAdd cilantro and garam masala cook for about one minute.\\r\\nPour the seasoning over dal mix it well and cook for another minute.\\r\\nServe with Naan.\"\n                      strMeal:\n                        type: string\n                        example: Dal fry\n                      strMealThumb:\n                        type: string\n                        example: >-\n                          https://www.themealdb.com/images/media/meals/wuxrtu1483564410.jpg\n                      strMeasure1:\n                        type: string\n                        example: 1 cup\n                      strMeasure10:\n                        type: string\n                        example: 1 tbs chopped\n                      strMeasure11:\n                        type: string\n                        example: 2 tsp shredded\n                      strMeasure12:\n                        type: string\n                        example: '2 tbs '\n                      strMeasure13:\n                        type: string\n                        example: 1/2 tsp\n                      strMeasure14:\n                        type: string\n                        example: 1/2 tsp\n                      strMeasure15:\n                        type: string\n                        example: 1 tsp\n                      strMeasure16:\n                        type: string\n                        example: 1/4 tsp\n                      strMeasure17:\n                        type: string\n                        example: ''\n                      strMeasure18:\n                        type: string\n                        example: ''\n                      strMeasure19:\n                        type: string\n                        example: ''\n                      strMeasure2:\n                        type: string\n                        example: 2-1/2 cups\n                      strMeasure20:\n                        type: string\n                        example: ''\n                      strMeasure3:\n                        type: string\n                        example: 1 tsp\n                      strMeasure4:\n                        type: string\n                        example: 1/4 tsp\n                      strMeasure5:\n                        type: string\n                        example: 3 tbs\n                      strMeasure6:\n                        type: string\n                        example: 1 cup\n                      strMeasure7:\n                        type: string\n                        example: 1/2 tsp\n                      strMeasure8:\n                        type: string\n                        example: 1/2 tsp\n                      strMeasure9:\n                        type: string\n                        example: '2'\n                      strSource:\n                        type: string\n                        example: https://www.instagram.com/p/BO21bpYD3Fu\n                      strTags:\n                        type: string\n                        example: Curry,Vegetarian,Cake\n                      strYoutube:\n                        type: string\n                        example: https://www.youtube.com/watch?v=J4D855Q9-jg\n                  message:\n                    type: string\n                    example: Meal fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get meal by id:\n                  value:\n                    data:\n                      dateModified: null\n                      id: 1\n                      idMeal: '52785'\n                      strArea: Indian\n                      strCategory: Vegetarian\n                      strCreativeCommonsConfirmed: null\n                      strDrinkAlternate: null\n                      strImageSource: null\n                      strIngredient1: Toor dal\n                      strIngredient10: Green Chili\n                      strIngredient11: Ginger\n                      strIngredient12: Cilantro\n                      strIngredient13: Red Pepper\n                      strIngredient14: Salt\n                      strIngredient15: Sugar\n                      strIngredient16: Garam Masala\n                      strIngredient17: ''\n                      strIngredient18: ''\n                      strIngredient19: ''\n                      strIngredient2: Water\n                      strIngredient20: ''\n                      strIngredient3: Salt\n                      strIngredient4: Turmeric\n                      strIngredient5: Ghee\n                      strIngredient6: Chopped tomatoes\n                      strIngredient7: Cumin seeds\n                      strIngredient8: Mustard Seeds\n                      strIngredient9: Bay Leaf\n                      strInstructions: \"Wash and soak toor dal in approx. 3 cups of water, for at least one hours. Dal will be double in volume after soaking. Drain the water.\\r\\nCook dal with 2-1/2 cups water and add salt, turmeric, on medium high heat, until soft in texture (approximately 30 mins) it should be like thick soup.\\r\\nIn a frying pan, heat the ghee. Add cumin seeds, and mustard seeds. After the seeds crack, add bay leaves, green chili, ginger and chili powder. Stir for a few seconds.\\r\\nAdd tomatoes, salt and sugar stir and cook until tomatoes are tender and mushy.\\r\\nAdd cilantro and garam masala cook for about one minute.\\r\\nPour the seasoning over dal mix it well and cook for another minute.\\r\\nServe with Naan.\"\n                      strMeal: Dal fry\n                      strMealThumb: >-\n                        https://www.themealdb.com/images/media/meals/wuxrtu1483564410.jpg\n                      strMeasure1: 1 cup\n                      strMeasure10: 1 tbs chopped\n                      strMeasure11: 2 tsp shredded\n                      strMeasure12: '2 tbs '\n                      strMeasure13: 1/2 tsp\n                      strMeasure14: 1/2 tsp\n                      strMeasure15: 1 tsp\n                      strMeasure16: 1/4 tsp\n                      strMeasure17: ''\n                      strMeasure18: ''\n                      strMeasure19: ''\n                      strMeasure2: 2-1/2 cups\n                      strMeasure20: ''\n                      strMeasure3: 1 tsp\n                      strMeasure4: 1/4 tsp\n                      strMeasure5: 3 tbs\n                      strMeasure6: 1 cup\n                      strMeasure7: 1/2 tsp\n                      strMeasure8: 1/2 tsp\n                      strMeasure9: '2'\n                      strSource: https://www.instagram.com/p/BO21bpYD3Fu\n                      strTags: Curry,Vegetarian,Cake\n                      strYoutube: https://www.youtube.com/watch?v=J4D855Q9-jg\n                    message: Meal fetched successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: mealId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: '1'\n  /public/meals/meal/random:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get a random meal\n      description: >-\n        The API endpoint returns a random meal object from a given list of\n        meals.\n\n\n        When accessing this endpoint, you will receive a response containing a\n        randomly selected meal.\n      operationId: getARandomMeal\n      responses:\n        '200':\n          description: Get a random meal\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '3050'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:49:02 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"bea-UKrTciQDR5ZSjGNdtq/9NYzVL9g\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      dateModified:\n                        nullable: true\n                        example: null\n                      id:\n                        type: number\n                        example: 210\n                      idMeal:\n                        type: string\n                        example: '52995'\n                      strArea:\n                        type: string\n                        example: American\n                      strCategory:\n                        type: string\n                        example: Pork\n                      strCreativeCommonsConfirmed:\n                        nullable: true\n                        example: null\n                      strDrinkAlternate:\n                        nullable: true\n                        example: null\n                      strImageSource:\n                        nullable: true\n                        example: null\n                      strIngredient1:\n                        type: string\n                        example: Potatoes\n                      strIngredient10:\n                        type: string\n                        example: Sugar\n                      strIngredient11:\n                        type: string\n                        example: Vegetable Oil\n                      strIngredient12:\n                        type: string\n                        example: Salt\n                      strIngredient13:\n                        type: string\n                        example: Pepper\n                      strIngredient14:\n                        type: string\n                        example: ''\n                      strIngredient15:\n                        type: string\n                        example: ''\n                      strIngredient16:\n                        type: string\n                        example: ''\n                      strIngredient17:\n                        type: string\n                        example: ''\n                      strIngredient18:\n                        type: string\n                        example: ''\n                      strIngredient19:\n                        type: string\n                        example: ''\n                      strIngredient2:\n                        type: string\n                        example: Red Onions\n                      strIngredient20:\n                        type: string\n                        example: ''\n                      strIngredient3:\n                        type: string\n                        example: Garlic\n                      strIngredient4:\n                        type: string\n                        example: Lime\n                      strIngredient5:\n                        type: string\n                        example: Bread\n                      strIngredient6:\n                        type: string\n                        example: Pork\n                      strIngredient7:\n                        type: string\n                        example: Barbeque Sauce\n                      strIngredient8:\n                        type: string\n                        example: Hotsauce\n                      strIngredient9:\n                        type: string\n                        example: Tomato Ketchup\n                      strInstructions:\n                        type: string\n                        example: \"1\\r\\n\\r\\nPreheat oven to 450 degrees. Wash and dry all produce. Cut sweet potatoes into ½-inch-thick wedges. Toss on a baking sheet with a drizzle of oil, salt, and pepper. Roast until browned and tender, 20-25 minutes.\\r\\n\\r\\n2\\r\\n\\r\\nMeanwhile, halve and peel onion. Slice as thinly as possible until you have ¼ cup (½ cup for 4 servings); finely chop remaining onion. Peel and finely chop garlic. Halve lime; squeeze juice into a small bowl. Halve buns. Add 1 TBSP butter (2 TBSP for 4) to a separate small microwave-safe bowl; microwave until melted, 30 seconds. Brush onto cut sides of buns.\\r\\n\\r\\n3\\r\\n\\r\\nTo bowl with lime juice, add sliced onion, ¼ tsp sugar (½ tsp for 4 servings), and a pinch of salt. Stir to combine; set aside to quick-pickle.\\r\\n\\r\\n4\\r\\n\\r\\nHeat a drizzle of oil in a large pan over medium-high heat. Add chopped onion and season with salt and pepper. Cook, stirring, until softened, 4-5 minutes. Add garlic and cook until fragrant, 30 seconds more. Add pork and season with salt and pepper. Cook, breaking up meat into pieces, until browned and cooked through, 4-6 minutes.\\r\\n\\r\\n5\\r\\n\\r\\nWhile pork cooks, in a third small bowl, combine BBQ sauce, pickling liquid from onion, 3 TBSP ketchup (6 TBSP for 4 servings), ½ tsp sugar (1 tsp for 4), and ¼ cup water (⅓ cup for 4). Once pork is cooked through, add BBQ sauce mixture to pan. Cook, stirring, until sauce is thickened, 2-3 minutes. Taste and season with salt and pepper.\\r\\n\\r\\n6\\r\\n\\r\\nMeanwhile, toast buns in oven or toaster oven until golden, 3-5 minutes. Divide toasted buns between plates and fill with as much BBQ pork as you’d like. Top with pickled onion and hot sauce. Serve with sweet potato wedges on the side.\"\n                      strMeal:\n                        type: string\n                        example: BBQ Pork Sloppy Joes\n                      strMealThumb:\n                        type: string\n                        example: >-\n                          https://www.themealdb.com/images/media/meals/atd5sh1583188467.jpg\n                      strMeasure1:\n                        type: string\n                        example: '2'\n                      strMeasure10:\n                        type: string\n                        example: ' '\n                      strMeasure11:\n                        type: string\n                        example: ' '\n                      strMeasure12:\n                        type: string\n                        example: ' '\n                      strMeasure13:\n                        type: string\n                        example: ' '\n                      strMeasure14:\n                        type: string\n                        example: ' '\n                      strMeasure15:\n                        type: string\n                        example: ' '\n                      strMeasure16:\n                        type: string\n                        example: ' '\n                      strMeasure17:\n                        type: string\n                        example: ' '\n                      strMeasure18:\n                        type: string\n                        example: ' '\n                      strMeasure19:\n                        type: string\n                        example: ' '\n                      strMeasure2:\n                        type: string\n                        example: '1'\n                      strMeasure20:\n                        type: string\n                        example: ' '\n                      strMeasure3:\n                        type: string\n                        example: 2 cloves\n                      strMeasure4:\n                        type: string\n                        example: '1'\n                      strMeasure5:\n                        type: string\n                        example: '2'\n                      strMeasure6:\n                        type: string\n                        example: 1 lb\n                      strMeasure7:\n                        type: string\n                        example: ' '\n                      strMeasure8:\n                        type: string\n                        example: ' '\n                      strMeasure9:\n                        type: string\n                        example: ' '\n                      strSource:\n                        type: string\n                        example: ''\n                      strTags:\n                        nullable: true\n                        example: null\n                      strYoutube:\n                        type: string\n                        example: ''\n                  message:\n                    type: string\n                    example: Meal fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get a random meal:\n                  value:\n                    data:\n                      dateModified: null\n                      id: 210\n                      idMeal: '52995'\n                      strArea: American\n                      strCategory: Pork\n                      strCreativeCommonsConfirmed: null\n                      strDrinkAlternate: null\n                      strImageSource: null\n                      strIngredient1: Potatoes\n                      strIngredient10: Sugar\n                      strIngredient11: Vegetable Oil\n                      strIngredient12: Salt\n                      strIngredient13: Pepper\n                      strIngredient14: ''\n                      strIngredient15: ''\n                      strIngredient16: ''\n                      strIngredient17: ''\n                      strIngredient18: ''\n                      strIngredient19: ''\n                      strIngredient2: Red Onions\n                      strIngredient20: ''\n                      strIngredient3: Garlic\n                      strIngredient4: Lime\n                      strIngredient5: Bread\n                      strIngredient6: Pork\n                      strIngredient7: Barbeque Sauce\n                      strIngredient8: Hotsauce\n                      strIngredient9: Tomato Ketchup\n                      strInstructions: \"1\\r\\n\\r\\nPreheat oven to 450 degrees. Wash and dry all produce. Cut sweet potatoes into ½-inch-thick wedges. Toss on a baking sheet with a drizzle of oil, salt, and pepper. Roast until browned and tender, 20-25 minutes.\\r\\n\\r\\n2\\r\\n\\r\\nMeanwhile, halve and peel onion. Slice as thinly as possible until you have ¼ cup (½ cup for 4 servings); finely chop remaining onion. Peel and finely chop garlic. Halve lime; squeeze juice into a small bowl. Halve buns. Add 1 TBSP butter (2 TBSP for 4) to a separate small microwave-safe bowl; microwave until melted, 30 seconds. Brush onto cut sides of buns.\\r\\n\\r\\n3\\r\\n\\r\\nTo bowl with lime juice, add sliced onion, ¼ tsp sugar (½ tsp for 4 servings), and a pinch of salt. Stir to combine; set aside to quick-pickle.\\r\\n\\r\\n4\\r\\n\\r\\nHeat a drizzle of oil in a large pan over medium-high heat. Add chopped onion and season with salt and pepper. Cook, stirring, until softened, 4-5 minutes. Add garlic and cook until fragrant, 30 seconds more. Add pork and season with salt and pepper. Cook, breaking up meat into pieces, until browned and cooked through, 4-6 minutes.\\r\\n\\r\\n5\\r\\n\\r\\nWhile pork cooks, in a third small bowl, combine BBQ sauce, pickling liquid from onion, 3 TBSP ketchup (6 TBSP for 4 servings), ½ tsp sugar (1 tsp for 4), and ¼ cup water (⅓ cup for 4). Once pork is cooked through, add BBQ sauce mixture to pan. Cook, stirring, until sauce is thickened, 2-3 minutes. Taste and season with salt and pepper.\\r\\n\\r\\n6\\r\\n\\r\\nMeanwhile, toast buns in oven or toaster oven until golden, 3-5 minutes. Divide toasted buns between plates and fill with as much BBQ pork as you’d like. Top with pickled onion and hot sauce. Serve with sweet potato wedges on the side.\"\n                      strMeal: BBQ Pork Sloppy Joes\n                      strMealThumb: >-\n                        https://www.themealdb.com/images/media/meals/atd5sh1583188467.jpg\n                      strMeasure1: '2'\n                      strMeasure10: ' '\n                      strMeasure11: ' '\n                      strMeasure12: ' '\n                      strMeasure13: ' '\n                      strMeasure14: ' '\n                      strMeasure15: ' '\n                      strMeasure16: ' '\n                      strMeasure17: ' '\n                      strMeasure18: ' '\n                      strMeasure19: ' '\n                      strMeasure2: '1'\n                      strMeasure20: ' '\n                      strMeasure3: 2 cloves\n                      strMeasure4: '1'\n                      strMeasure5: '2'\n                      strMeasure6: 1 lb\n                      strMeasure7: ' '\n                      strMeasure8: ' '\n                      strMeasure9: ' '\n                      strSource: ''\n                      strTags: null\n                      strYoutube: ''\n                    message: Meal fetched successfully\n                    statusCode: 200\n                    success: true\n  /public/dogs:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get dogs\n      description: >-\n        The API endpoint retrieves a list of dog objects.\n\n\n        When accessing this endpoint, you will receive a response containing a\n        collection of dog objects.\n\n\n        Each dog object represents a specific dog breed and includes relevant\n        details such as breed name, characteristics, temperament, and images.\n      operationId: getDogs\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '10'\n        - name: query\n          in: query\n          schema:\n            type: string\n            example: Affenpinscher\n      responses:\n        '200':\n          description: Get dogs\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '666'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:49:55 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"29a-AqTk/qB0S7bZQ/tAUfMlIcJs3Yc\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      currentPageItems:\n                        type: number\n                        example: 1\n                      data:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            bred_for:\n                              type: string\n                              example: Small rodent hunting, lapdog\n                            breed_group:\n                              type: string\n                              example: Toy\n                            height:\n                              type: object\n                              properties:\n                                imperial:\n                                  type: string\n                                  example: 9 - 11.5\n                                metric:\n                                  type: string\n                                  example: 23 - 29\n                            id:\n                              type: number\n                              example: 1\n                            image:\n                              type: object\n                              properties:\n                                height:\n                                  type: number\n                                  example: 1199\n                                id:\n                                  type: string\n                                  example: BJa4kxc4X\n                                url:\n                                  type: string\n                                  example: >-\n                                    https://cdn2.thedogapi.com/images/BJa4kxc4X.jpg\n                                width:\n                                  type: number\n                                  example: 1600\n                            life_span:\n                              type: string\n                              example: 10 - 12 years\n                            name:\n                              type: string\n                              example: Affenpinscher\n                            origin:\n                              type: string\n                              example: Germany, France\n                            reference_image_id:\n                              type: string\n                              example: BJa4kxc4X\n                            temperament:\n                              type: string\n                              example: >-\n                                Stubborn, Curious, Playful, Adventurous, Active,\n                                Fun-loving\n                            weight:\n                              type: object\n                              properties:\n                                imperial:\n                                  type: string\n                                  example: 6 - 13\n                                metric:\n                                  type: string\n                                  example: 3 - 6\n                        example:\n                          - bred_for: Small rodent hunting, lapdog\n                            breed_group: Toy\n                            height:\n                              imperial: 9 - 11.5\n                              metric: 23 - 29\n                            id: 1\n                            image:\n                              height: 1199\n                              id: BJa4kxc4X\n                              url: https://cdn2.thedogapi.com/images/BJa4kxc4X.jpg\n                              width: 1600\n                            life_span: 10 - 12 years\n                            name: Affenpinscher\n                            origin: Germany, France\n                            reference_image_id: BJa4kxc4X\n                            temperament: >-\n                              Stubborn, Curious, Playful, Adventurous, Active,\n                              Fun-loving\n                            weight:\n                              imperial: 6 - 13\n                              metric: 3 - 6\n                      limit:\n                        type: number\n                        example: 20\n                      nextPage:\n                        type: boolean\n                        example: false\n                      page:\n                        type: number\n                        example: 1\n                      previousPage:\n                        type: boolean\n                        example: false\n                      totalItems:\n                        type: number\n                        example: 1\n                      totalPages:\n                        type: number\n                        example: 1\n                  message:\n                    type: string\n                    example: Dogs fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get dogs:\n                  value:\n                    data:\n                      currentPageItems: 1\n                      data:\n                        - bred_for: Small rodent hunting, lapdog\n                          breed_group: Toy\n                          height:\n                            imperial: 9 - 11.5\n                            metric: 23 - 29\n                          id: 1\n                          image:\n                            height: 1199\n                            id: BJa4kxc4X\n                            url: https://cdn2.thedogapi.com/images/BJa4kxc4X.jpg\n                            width: 1600\n                          life_span: 10 - 12 years\n                          name: Affenpinscher\n                          origin: Germany, France\n                          reference_image_id: BJa4kxc4X\n                          temperament: >-\n                            Stubborn, Curious, Playful, Adventurous, Active,\n                            Fun-loving\n                          weight:\n                            imperial: 6 - 13\n                            metric: 3 - 6\n                      limit: 20\n                      nextPage: false\n                      page: 1\n                      previousPage: false\n                      totalItems: 1\n                      totalPages: 1\n                    message: Dogs fetched successfully\n                    statusCode: 200\n                    success: true\n  /public/dogs/{dogId}:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get dog by id\n      description: >-\n        The API endpoint retrieves a dog object based on the provided dog ID in\n        the path variable.\n\n\n        By accessing this endpoint with a valid dog ID, you will receive a\n        response containing the details and information specific to the dog with\n        the corresponding ID.\n      operationId: getDogById\n      responses:\n        '200':\n          description: Get dog by id\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '515'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:50:08 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"203-mY15ZTFX9cnk4YqDwJ1WHMryBRs\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      bred_for:\n                        type: string\n                        example: Hunting rabbits\n                      breed_group:\n                        type: string\n                        example: Hound\n                      height:\n                        type: object\n                        properties:\n                          imperial:\n                            type: string\n                            example: 21 - 25\n                          metric:\n                            type: string\n                            example: 53 - 64\n                      id:\n                        type: number\n                        example: 124\n                      image:\n                        type: object\n                        properties:\n                          height:\n                            type: number\n                            example: 2938\n                          id:\n                            type: string\n                            example: Byz6mgqEQ\n                          url:\n                            type: string\n                            example: https://cdn2.thedogapi.com/images/Byz6mgqEQ.jpg\n                          width:\n                            type: number\n                            example: 3918\n                      life_span:\n                        type: string\n                        example: 12 - 14 years\n                      name:\n                        type: string\n                        example: Pharaoh Hound\n                      reference_image_id:\n                        type: string\n                        example: Byz6mgqEQ\n                      temperament:\n                        type: string\n                        example: >-\n                          Affectionate, Sociable, Playful, Intelligent, Active,\n                          Trainable\n                      weight:\n                        type: object\n                        properties:\n                          imperial:\n                            type: string\n                            example: 40 - 60\n                          metric:\n                            type: string\n                            example: 18 - 27\n                  message:\n                    type: string\n                    example: Dog fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get dog by id:\n                  value:\n                    data:\n                      bred_for: Hunting rabbits\n                      breed_group: Hound\n                      height:\n                        imperial: 21 - 25\n                        metric: 53 - 64\n                      id: 124\n                      image:\n                        height: 2938\n                        id: Byz6mgqEQ\n                        url: https://cdn2.thedogapi.com/images/Byz6mgqEQ.jpg\n                        width: 3918\n                      life_span: 12 - 14 years\n                      name: Pharaoh Hound\n                      reference_image_id: Byz6mgqEQ\n                      temperament: >-\n                        Affectionate, Sociable, Playful, Intelligent, Active,\n                        Trainable\n                      weight:\n                        imperial: 40 - 60\n                        metric: 18 - 27\n                    message: Dog fetched successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: dogId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: '124'\n  /public/dogs/dog/random:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get a random dog\n      description: >-\n        The API endpoint returns a randomly selected dog object from a list.\n\n\n        When accessing this endpoint, you will receive a response containing a\n        dog object randomly chosen from the available list.\n      operationId: getARandomDog\n      responses:\n        '200':\n          description: Get a random dog\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '521'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:49:42 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"209-8qupmcWaIZEM/xiV6yi/te6FMpM\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      bred_for:\n                        type: string\n                        example: Hunting & holding boars, Guardian\n                      breed_group:\n                        type: string\n                        example: Working\n                      height:\n                        type: object\n                        properties:\n                          imperial:\n                            type: string\n                            example: 28 - 32\n                          metric:\n                            type: string\n                            example: 71 - 81\n                      id:\n                        type: number\n                        example: 89\n                      image:\n                        type: object\n                        properties:\n                          height:\n                            type: number\n                            example: 732\n                          id:\n                            type: string\n                            example: B1Edfl9NX\n                          url:\n                            type: string\n                            example: https://cdn2.thedogapi.com/images/B1Edfl9NX.jpg\n                          width:\n                            type: number\n                            example: 800\n                      life_span:\n                        type: string\n                        example: 7 - 10 years\n                      name:\n                        type: string\n                        example: Great Dane\n                      reference_image_id:\n                        type: string\n                        example: B1Edfl9NX\n                      temperament:\n                        type: string\n                        example: Friendly, Devoted, Reserved, Gentle, Confident, Loving\n                      weight:\n                        type: object\n                        properties:\n                          imperial:\n                            type: string\n                            example: 110 - 190\n                          metric:\n                            type: string\n                            example: 50 - 86\n                  message:\n                    type: string\n                    example: Dog fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get a random dog:\n                  value:\n                    data:\n                      bred_for: Hunting & holding boars, Guardian\n                      breed_group: Working\n                      height:\n                        imperial: 28 - 32\n                        metric: 71 - 81\n                      id: 89\n                      image:\n                        height: 732\n                        id: B1Edfl9NX\n                        url: https://cdn2.thedogapi.com/images/B1Edfl9NX.jpg\n                        width: 800\n                      life_span: 7 - 10 years\n                      name: Great Dane\n                      reference_image_id: B1Edfl9NX\n                      temperament: Friendly, Devoted, Reserved, Gentle, Confident, Loving\n                      weight:\n                        imperial: 110 - 190\n                        metric: 50 - 86\n                    message: Dog fetched successfully\n                    statusCode: 200\n                    success: true\n  /public/cats:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get cats\n      description: >-\n        The API endpoint retrieves a list of cat objects.\n\n\n        When accessing this endpoint, you will receive a response containing a\n        collection of cat objects.\n\n\n        Each dog object represents a specific cat breed and includes relevant\n        details such as name, characteristics, temperament, and images.\n      operationId: getCats\n      parameters:\n        - name: query\n          in: query\n          schema:\n            type: string\n            example: sociable\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '10'\n      responses:\n        '200':\n          description: Get cats\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '2438'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:50:23 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"986-+r2HHlIZI/lWlVwvfK/XizPjq6E\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      currentPageItems:\n                        type: number\n                        example: 2\n                      data:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            adaptability:\n                              type: number\n                              example: 5\n                            affection_level:\n                              type: number\n                              example: 5\n                            alt_names:\n                              type: string\n                              example: Siam, Thai Cat\n                            cfa_url:\n                              type: string\n                              example: http://cfa.org/Breeds/BreedsSthruT/Siamese.aspx\n                            child_friendly:\n                              type: number\n                              example: 5\n                            country_code:\n                              type: string\n                              example: RU\n                            country_codes:\n                              type: string\n                              example: RU\n                            description:\n                              type: string\n                              example: >-\n                                The character of the Kurilian Bobtail is\n                                independent, highly intelligent, clever,\n                                inquisitive, sociable, playful, trainable,\n                                absent of aggression and very gentle. They are\n                                devoted to their humans and when allowed are\n                                either on the lap of or sleeping in bed with\n                                their owners.\n                            dog_friendly:\n                              type: number\n                              example: 5\n                            energy_level:\n                              type: number\n                              example: 5\n                            experimental:\n                              type: number\n                              example: 0\n                            grooming:\n                              type: number\n                              example: 1\n                            hairless:\n                              type: number\n                              example: 0\n                            health_issues:\n                              type: number\n                              example: 1\n                            hypoallergenic:\n                              type: number\n                              example: 0\n                            id:\n                              type: number\n                              example: 38\n                            image:\n                              type: string\n                              example: https://cdn2.thecatapi.com/images/NZpO4pU56M.jpg\n                            indoor:\n                              type: number\n                              example: 0\n                            intelligence:\n                              type: number\n                              example: 5\n                            lap:\n                              type: number\n                              example: 1\n                            life_span:\n                              type: string\n                              example: 15 - 20\n                            name:\n                              type: string\n                              example: Kurilian\n                            natural:\n                              type: number\n                              example: 1\n                            origin:\n                              type: string\n                              example: Russia\n                            rare:\n                              type: number\n                              example: 0\n                            rex:\n                              type: number\n                              example: 0\n                            shedding_level:\n                              type: number\n                              example: 2\n                            short_legs:\n                              type: number\n                              example: 0\n                            social_needs:\n                              type: number\n                              example: 5\n                            stranger_friendly:\n                              type: number\n                              example: 5\n                            suppressed_tail:\n                              type: number\n                              example: 1\n                            temperament:\n                              type: string\n                              example: >-\n                                Independent, highly intelligent, clever,\n                                inquisitive, sociable, playful, trainable\n                            vcahospitals_url:\n                              type: string\n                              example: >-\n                                https://vcahospitals.com/know-your-pet/cat-breeds/siamese\n                            vetstreet_url:\n                              type: string\n                              example: http://www.vetstreet.com/cats/kurilian-bobtail\n                            vocalisation:\n                              type: number\n                              example: 3\n                            weight:\n                              type: object\n                              properties:\n                                imperial:\n                                  type: string\n                                  example: 8 - 15\n                                metric:\n                                  type: string\n                                  example: 4 - 7\n                            wikipedia_url:\n                              type: string\n                              example: https://en.wikipedia.org/wiki/Kurilian_Bobtail\n                        example:\n                          - adaptability: 5\n                            affection_level: 5\n                            child_friendly: 5\n                            country_code: RU\n                            country_codes: RU\n                            description: >-\n                              The character of the Kurilian Bobtail is\n                              independent, highly intelligent, clever,\n                              inquisitive, sociable, playful, trainable, absent\n                              of aggression and very gentle. They are devoted to\n                              their humans and when allowed are either on the\n                              lap of or sleeping in bed with their owners.\n                            dog_friendly: 5\n                            energy_level: 5\n                            experimental: 0\n                            grooming: 1\n                            hairless: 0\n                            health_issues: 1\n                            hypoallergenic: 0\n                            id: 38\n                            image: https://cdn2.thecatapi.com/images/NZpO4pU56M.jpg\n                            indoor: 0\n                            intelligence: 5\n                            life_span: 15 - 20\n                            name: Kurilian\n                            natural: 1\n                            origin: Russia\n                            rare: 0\n                            rex: 0\n                            shedding_level: 2\n                            short_legs: 0\n                            social_needs: 5\n                            stranger_friendly: 5\n                            suppressed_tail: 1\n                            temperament: >-\n                              Independent, highly intelligent, clever,\n                              inquisitive, sociable, playful, trainable\n                            vetstreet_url: http://www.vetstreet.com/cats/kurilian-bobtail\n                            vocalisation: 3\n                            weight:\n                              imperial: 8 - 15\n                              metric: 4 - 7\n                            wikipedia_url: https://en.wikipedia.org/wiki/Kurilian_Bobtail\n                          - adaptability: 5\n                            affection_level: 5\n                            alt_names: Siam, Thai Cat\n                            cfa_url: http://cfa.org/Breeds/BreedsSthruT/Siamese.aspx\n                            child_friendly: 4\n                            country_code: TH\n                            country_codes: TH\n                            description: >-\n                              While Siamese cats are extremely fond of their\n                              people, they will follow you around and supervise\n                              your every move, being talkative and opinionated.\n                              They are a demanding and social cat, that do not\n                              like being left alone for long periods.\n                            dog_friendly: 5\n                            energy_level: 5\n                            experimental: 0\n                            grooming: 1\n                            hairless: 0\n                            health_issues: 1\n                            hypoallergenic: 1\n                            id: 55\n                            image: https://cdn2.thecatapi.com/images/ai6Jps4sx.jpg\n                            indoor: 0\n                            intelligence: 5\n                            lap: 1\n                            life_span: 12 - 15\n                            name: Siamese\n                            natural: 0\n                            origin: Thailand\n                            rare: 0\n                            rex: 0\n                            shedding_level: 2\n                            short_legs: 0\n                            social_needs: 5\n                            stranger_friendly: 5\n                            suppressed_tail: 0\n                            temperament: Active, Agile, Clever, Sociable, Loving, Energetic\n                            vcahospitals_url: >-\n                              https://vcahospitals.com/know-your-pet/cat-breeds/siamese\n                            vetstreet_url: http://www.vetstreet.com/cats/siamese\n                            vocalisation: 5\n                            weight:\n                              imperial: 8 - 15\n                              metric: 4 - 7\n                            wikipedia_url: https://en.wikipedia.org/wiki/Siamese_(cat)\n                      limit:\n                        type: number\n                        example: 10\n                      nextPage:\n                        type: boolean\n                        example: false\n                      page:\n                        type: number\n                        example: 1\n                      previousPage:\n                        type: boolean\n                        example: false\n                      totalItems:\n                        type: number\n                        example: 2\n                      totalPages:\n                        type: number\n                        example: 1\n                  message:\n                    type: string\n                    example: Cats fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get cats:\n                  value:\n                    data:\n                      currentPageItems: 2\n                      data:\n                        - adaptability: 5\n                          affection_level: 5\n                          child_friendly: 5\n                          country_code: RU\n                          country_codes: RU\n                          description: >-\n                            The character of the Kurilian Bobtail is\n                            independent, highly intelligent, clever,\n                            inquisitive, sociable, playful, trainable, absent of\n                            aggression and very gentle. They are devoted to\n                            their humans and when allowed are either on the lap\n                            of or sleeping in bed with their owners.\n                          dog_friendly: 5\n                          energy_level: 5\n                          experimental: 0\n                          grooming: 1\n                          hairless: 0\n                          health_issues: 1\n                          hypoallergenic: 0\n                          id: 38\n                          image: https://cdn2.thecatapi.com/images/NZpO4pU56M.jpg\n                          indoor: 0\n                          intelligence: 5\n                          life_span: 15 - 20\n                          name: Kurilian\n                          natural: 1\n                          origin: Russia\n                          rare: 0\n                          rex: 0\n                          shedding_level: 2\n                          short_legs: 0\n                          social_needs: 5\n                          stranger_friendly: 5\n                          suppressed_tail: 1\n                          temperament: >-\n                            Independent, highly intelligent, clever,\n                            inquisitive, sociable, playful, trainable\n                          vetstreet_url: http://www.vetstreet.com/cats/kurilian-bobtail\n                          vocalisation: 3\n                          weight:\n                            imperial: 8 - 15\n                            metric: 4 - 7\n                          wikipedia_url: https://en.wikipedia.org/wiki/Kurilian_Bobtail\n                        - adaptability: 5\n                          affection_level: 5\n                          alt_names: Siam, Thai Cat\n                          cfa_url: http://cfa.org/Breeds/BreedsSthruT/Siamese.aspx\n                          child_friendly: 4\n                          country_code: TH\n                          country_codes: TH\n                          description: >-\n                            While Siamese cats are extremely fond of their\n                            people, they will follow you around and supervise\n                            your every move, being talkative and opinionated.\n                            They are a demanding and social cat, that do not\n                            like being left alone for long periods.\n                          dog_friendly: 5\n                          energy_level: 5\n                          experimental: 0\n                          grooming: 1\n                          hairless: 0\n                          health_issues: 1\n                          hypoallergenic: 1\n                          id: 55\n                          image: https://cdn2.thecatapi.com/images/ai6Jps4sx.jpg\n                          indoor: 0\n                          intelligence: 5\n                          lap: 1\n                          life_span: 12 - 15\n                          name: Siamese\n                          natural: 0\n                          origin: Thailand\n                          rare: 0\n                          rex: 0\n                          shedding_level: 2\n                          short_legs: 0\n                          social_needs: 5\n                          stranger_friendly: 5\n                          suppressed_tail: 0\n                          temperament: Active, Agile, Clever, Sociable, Loving, Energetic\n                          vcahospitals_url: >-\n                            https://vcahospitals.com/know-your-pet/cat-breeds/siamese\n                          vetstreet_url: http://www.vetstreet.com/cats/siamese\n                          vocalisation: 5\n                          weight:\n                            imperial: 8 - 15\n                            metric: 4 - 7\n                          wikipedia_url: https://en.wikipedia.org/wiki/Siamese_(cat)\n                      limit: 10\n                      nextPage: false\n                      page: 1\n                      previousPage: false\n                      totalItems: 2\n                      totalPages: 1\n                    message: Cats fetched successfully\n                    statusCode: 200\n                    success: true\n  /public/cats/{catId}:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get cat by id\n      description: >-\n        The API endpoint retrieves a cat object based on the provided cat ID in\n        the path variable.\n\n\n        By accessing this endpoint with a valid cat ID, you will receive a\n        response containing the details and information specific to the cat with\n        the corresponding ID.\n      operationId: getCatById\n      responses:\n        '200':\n          description: Get cat by id\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '1350'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:50:29 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"546-NIzZDqb1NvoOKA9PiRnN6JuzmrE\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      adaptability:\n                        type: number\n                        example: 5\n                      affection_level:\n                        type: number\n                        example: 5\n                      alt_names:\n                        type: string\n                        example: Sacred Birman, Sacred Cat Of Burma\n                      cfa_url:\n                        type: string\n                        example: http://cfa.org/Breeds/BreedsAB/Birman.aspx\n                      child_friendly:\n                        type: number\n                        example: 4\n                      country_code:\n                        type: string\n                        example: FR\n                      country_codes:\n                        type: string\n                        example: FR\n                      description:\n                        type: string\n                        example: >-\n                          The Birman is a docile, quiet cat who loves people and\n                          will follow them from room to room. Expect the Birman\n                          to want to be involved in what you’re doing. He\n                          communicates in a soft voice, mainly to remind you\n                          that perhaps it’s time for dinner or maybe for a nice\n                          cuddle on the sofa. He enjoys being held and will\n                          relax in your arms like a furry baby.\n                      dog_friendly:\n                        type: number\n                        example: 5\n                      energy_level:\n                        type: number\n                        example: 3\n                      experimental:\n                        type: number\n                        example: 0\n                      grooming:\n                        type: number\n                        example: 2\n                      hairless:\n                        type: number\n                        example: 0\n                      health_issues:\n                        type: number\n                        example: 1\n                      hypoallergenic:\n                        type: number\n                        example: 0\n                      id:\n                        type: number\n                        example: 12\n                      image:\n                        type: string\n                        example: https://cdn2.thecatapi.com/images/HOrX5gwLS.jpg\n                      indoor:\n                        type: number\n                        example: 0\n                      intelligence:\n                        type: number\n                        example: 3\n                      lap:\n                        type: number\n                        example: 1\n                      life_span:\n                        type: string\n                        example: 14 - 15\n                      name:\n                        type: string\n                        example: Birman\n                      natural:\n                        type: number\n                        example: 0\n                      origin:\n                        type: string\n                        example: France\n                      rare:\n                        type: number\n                        example: 0\n                      rex:\n                        type: number\n                        example: 0\n                      shedding_level:\n                        type: number\n                        example: 3\n                      short_legs:\n                        type: number\n                        example: 0\n                      social_needs:\n                        type: number\n                        example: 4\n                      stranger_friendly:\n                        type: number\n                        example: 3\n                      suppressed_tail:\n                        type: number\n                        example: 0\n                      temperament:\n                        type: string\n                        example: Affectionate, Active, Gentle, Social\n                      vcahospitals_url:\n                        type: string\n                        example: >-\n                          https://vcahospitals.com/know-your-pet/cat-breeds/birman\n                      vetstreet_url:\n                        type: string\n                        example: http://www.vetstreet.com/cats/birman\n                      vocalisation:\n                        type: number\n                        example: 1\n                      weight:\n                        type: object\n                        properties:\n                          imperial:\n                            type: string\n                            example: 6 - 15\n                          metric:\n                            type: string\n                            example: 3 - 7\n                      wikipedia_url:\n                        type: string\n                        example: https://en.wikipedia.org/wiki/Birman\n                  message:\n                    type: string\n                    example: Cat fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get cat by id:\n                  value:\n                    data:\n                      adaptability: 5\n                      affection_level: 5\n                      alt_names: Sacred Birman, Sacred Cat Of Burma\n                      cfa_url: http://cfa.org/Breeds/BreedsAB/Birman.aspx\n                      child_friendly: 4\n                      country_code: FR\n                      country_codes: FR\n                      description: >-\n                        The Birman is a docile, quiet cat who loves people and\n                        will follow them from room to room. Expect the Birman to\n                        want to be involved in what you’re doing. He\n                        communicates in a soft voice, mainly to remind you that\n                        perhaps it’s time for dinner or maybe for a nice cuddle\n                        on the sofa. He enjoys being held and will relax in your\n                        arms like a furry baby.\n                      dog_friendly: 5\n                      energy_level: 3\n                      experimental: 0\n                      grooming: 2\n                      hairless: 0\n                      health_issues: 1\n                      hypoallergenic: 0\n                      id: 12\n                      image: https://cdn2.thecatapi.com/images/HOrX5gwLS.jpg\n                      indoor: 0\n                      intelligence: 3\n                      lap: 1\n                      life_span: 14 - 15\n                      name: Birman\n                      natural: 0\n                      origin: France\n                      rare: 0\n                      rex: 0\n                      shedding_level: 3\n                      short_legs: 0\n                      social_needs: 4\n                      stranger_friendly: 3\n                      suppressed_tail: 0\n                      temperament: Affectionate, Active, Gentle, Social\n                      vcahospitals_url: https://vcahospitals.com/know-your-pet/cat-breeds/birman\n                      vetstreet_url: http://www.vetstreet.com/cats/birman\n                      vocalisation: 1\n                      weight:\n                        imperial: 6 - 15\n                        metric: 3 - 7\n                      wikipedia_url: https://en.wikipedia.org/wiki/Birman\n                    message: Cat fetched successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: catId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: '12'\n  /public/cats/cat/random:\n    get:\n      tags:\n        - 📢 Public APIs\n        \n      summary: Get a random cat\n      description: >-\n        The API endpoint returns a randomly selected cat object from a list.\n\n\n        When accessing this endpoint, you will receive a response containing a\n        cat object randomly chosen from the available list.\n      operationId: getARandomCat\n      responses:\n        '200':\n          description: Get a random cat\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '1243'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:50:15 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"4db-7TmlAtjXETRMx1ADg83mYQ1D0fY\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      adaptability:\n                        type: number\n                        example: 5\n                      affection_level:\n                        type: number\n                        example: 5\n                      cfa_url:\n                        type: string\n                        example: http://cfa.org/Breeds/BreedsKthruR/Korat.aspx\n                      child_friendly:\n                        type: number\n                        example: 4\n                      country_code:\n                        type: string\n                        example: TH\n                      country_codes:\n                        type: string\n                        example: TH\n                      description:\n                        type: string\n                        example: >-\n                          The Korat is a natural breed, and one of the oldest\n                          stable cat breeds. They are highly intelligent and\n                          confident cats that can be fearless, although they are\n                          startled by loud sounds and sudden movements. Korats\n                          form strong bonds with their people and like to cuddle\n                          and stay nearby.\n                      dog_friendly:\n                        type: number\n                        example: 5\n                      energy_level:\n                        type: number\n                        example: 3\n                      experimental:\n                        type: number\n                        example: 0\n                      grooming:\n                        type: number\n                        example: 1\n                      hairless:\n                        type: number\n                        example: 0\n                      health_issues:\n                        type: number\n                        example: 1\n                      hypoallergenic:\n                        type: number\n                        example: 0\n                      id:\n                        type: number\n                        example: 37\n                      image:\n                        type: string\n                        example: https://cdn2.thecatapi.com/images/DbwiefiaY.jpg\n                      indoor:\n                        type: number\n                        example: 0\n                      intelligence:\n                        type: number\n                        example: 5\n                      life_span:\n                        type: string\n                        example: 10 - 15\n                      name:\n                        type: string\n                        example: Korat\n                      natural:\n                        type: number\n                        example: 0\n                      origin:\n                        type: string\n                        example: Thailand\n                      rare:\n                        type: number\n                        example: 1\n                      rex:\n                        type: number\n                        example: 0\n                      shedding_level:\n                        type: number\n                        example: 3\n                      short_legs:\n                        type: number\n                        example: 0\n                      social_needs:\n                        type: number\n                        example: 5\n                      stranger_friendly:\n                        type: number\n                        example: 2\n                      suppressed_tail:\n                        type: number\n                        example: 0\n                      temperament:\n                        type: string\n                        example: >-\n                          Active, Loyal, highly intelligent, Expressive,\n                          Trainable\n                      vcahospitals_url:\n                        type: string\n                        example: >-\n                          https://vcahospitals.com/know-your-pet/cat-breeds/korat\n                      vetstreet_url:\n                        type: string\n                        example: http://www.vetstreet.com/cats/korat\n                      vocalisation:\n                        type: number\n                        example: 3\n                      weight:\n                        type: object\n                        properties:\n                          imperial:\n                            type: string\n                            example: 7 - 11\n                          metric:\n                            type: string\n                            example: 3 - 5\n                      wikipedia_url:\n                        type: string\n                        example: https://en.wikipedia.org/wiki/Korat\n                  message:\n                    type: string\n                    example: Cat fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get a random cat:\n                  value:\n                    data:\n                      adaptability: 5\n                      affection_level: 5\n                      cfa_url: http://cfa.org/Breeds/BreedsKthruR/Korat.aspx\n                      child_friendly: 4\n                      country_code: TH\n                      country_codes: TH\n                      description: >-\n                        The Korat is a natural breed, and one of the oldest\n                        stable cat breeds. They are highly intelligent and\n                        confident cats that can be fearless, although they are\n                        startled by loud sounds and sudden movements. Korats\n                        form strong bonds with their people and like to cuddle\n                        and stay nearby.\n                      dog_friendly: 5\n                      energy_level: 3\n                      experimental: 0\n                      grooming: 1\n                      hairless: 0\n                      health_issues: 1\n                      hypoallergenic: 0\n                      id: 37\n                      image: https://cdn2.thecatapi.com/images/DbwiefiaY.jpg\n                      indoor: 0\n                      intelligence: 5\n                      life_span: 10 - 15\n                      name: Korat\n                      natural: 0\n                      origin: Thailand\n                      rare: 1\n                      rex: 0\n                      shedding_level: 3\n                      short_legs: 0\n                      social_needs: 5\n                      stranger_friendly: 2\n                      suppressed_tail: 0\n                      temperament: Active, Loyal, highly intelligent, Expressive, Trainable\n                      vcahospitals_url: https://vcahospitals.com/know-your-pet/cat-breeds/korat\n                      vetstreet_url: http://www.vetstreet.com/cats/korat\n                      vocalisation: 3\n                      weight:\n                        imperial: 7 - 11\n                        metric: 3 - 5\n                      wikipedia_url: https://en.wikipedia.org/wiki/Korat\n                    message: Cat fetched successfully\n                    statusCode: 200\n                    success: true\n  /public/youtube/channel:\n    get:\n      tags:\n        - 📢 Public APIs\n      summary: Get channel details\n      description: \"This Channel Details API is your gateway to access comprehensive information about a specific YouTube channel.\\n\\nBy leveraging a static JSON file, you can effortlessly retrieve and explore vital details, statistics, and metadata associated with the channel to build stunning YouTube like channel page UI.\\n\\n**Disclaimer:**\\n\\nData provided by the API is static and not real-time.\\n\\nThis simplifies the process of developing a\\_**YouTube clone**, allowing developers to solely focus on UI design and creativity, without worrying about complex API key configuration.\"\n      operationId: getChannelDetails\n      responses:\n        '200':\n          description: Get channel details\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '3586'\n            Date:\n              schema:\n                type: string\n                example: Sat, 22 Jul 2023 16:25:49 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"e02-64vJjhxnDW8fH80Id4XNrAvL1/w\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '498'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '871'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      info:\n                        type: object\n                        properties:\n                          brandingSettings:\n                            type: object\n                            properties:\n                              channel:\n                                type: object\n                                properties:\n                                  country:\n                                    type: string\n                                    example: IN\n                                  description:\n                                    type: string\n                                    example: >-\n                                      Website: https://hiteshchoudhary.com\n\n                                      Hey there everyone, Hitesh here back again\n                                      with another video!\n\n                                      This means I create a lot of videos, every\n                                      single week. I cover a wide range of\n                                      subjects like programming, what's latest\n                                      in tech, new frameworks, open-source\n                                      products etc. I keep my interest in a wide\n                                      area of tech like Javascript, Python, PHP,\n                                      Machine Learning, etc.\n\n\n                                      For the Business purpose, Sponsorships and\n                                      invitation, reach out at\n                                      team@hiteshchoudhary.com\n\n\n                                      NOTE: Personal questions and code-related\n                                      questions are not answered at this email.\n                                      Post them in the course discussion section\n                                      or react me out at social platforms.\n\n\n                                      #iWriteCode\n\n\n                                      Instagram:\n                                      https://instagram.com/hiteshchoudharyofficial\n\n                                      Facebook: www.fb.com/HiteshChoudharyPage\n                                  keywords:\n                                    type: string\n                                    example: >-\n                                      Programming computers code hitesh udemy\n                                      Udacity Edx \"machine learning\" python\n                                      javascript devops cloud\n                                  title:\n                                    type: string\n                                    example: Hitesh Choudhary\n                                  unsubscribedTrailer:\n                                    type: string\n                                    example: xJq0EQMFGyg\n                              image:\n                                type: object\n                                properties:\n                                  bannerExternalUrl:\n                                    type: string\n                                    example: >-\n                                      https://yt3.googleusercontent.com/xGlR3Vz-RYHgwRj50-VEdBksVyjyJhvzQUEVttMCd5iRVdw-OXdFkPBPswF2nG_13QR2UfXnCQ\n                          id:\n                            type: string\n                            example: UCXgGY0wkgOzynnHvSEVmE3A\n                          kind:\n                            type: string\n                            example: youtube#channel\n                          snippet:\n                            type: object\n                            properties:\n                              country:\n                                type: string\n                                example: IN\n                              customUrl:\n                                type: string\n                                example: '@hiteshchoudharydotcom'\n                              description:\n                                type: string\n                                example: >-\n                                  Website: https://hiteshchoudhary.com\n\n                                  Hey there everyone, Hitesh here back again\n                                  with another video!\n\n                                  This means I create a lot of videos, every\n                                  single week. I cover a wide range of subjects\n                                  like programming, what's latest in tech, new\n                                  frameworks, open-source products etc. I keep\n                                  my interest in a wide area of tech like\n                                  Javascript, Python, PHP, Machine Learning,\n                                  etc.\n\n\n                                  For the Business purpose, Sponsorships and\n                                  invitation, reach out at\n                                  team@hiteshchoudhary.com\n\n\n                                  NOTE: Personal questions and code-related\n                                  questions are not answered at this email. Post\n                                  them in the course discussion section or react\n                                  me out at social platforms.\n\n\n                                  #iWriteCode\n\n\n                                  Instagram:\n                                  https://instagram.com/hiteshchoudharyofficial\n\n                                  Facebook: www.fb.com/HiteshChoudharyPage\n                              localized:\n                                type: object\n                                properties:\n                                  description:\n                                    type: string\n                                    example: >-\n                                      Website: https://hiteshchoudhary.com\n\n                                      Hey there everyone, Hitesh here back again\n                                      with another video!\n\n                                      This means I create a lot of videos, every\n                                      single week. I cover a wide range of\n                                      subjects like programming, what's latest\n                                      in tech, new frameworks, open-source\n                                      products etc. I keep my interest in a wide\n                                      area of tech like Javascript, Python, PHP,\n                                      Machine Learning, etc.\n\n\n                                      For the Business purpose, Sponsorships and\n                                      invitation, reach out at\n                                      team@hiteshchoudhary.com\n\n\n                                      NOTE: Personal questions and code-related\n                                      questions are not answered at this email.\n                                      Post them in the course discussion section\n                                      or react me out at social platforms.\n\n\n                                      #iWriteCode\n\n\n                                      Instagram:\n                                      https://instagram.com/hiteshchoudharyofficial\n\n                                      Facebook: www.fb.com/HiteshChoudharyPage\n                                  title:\n                                    type: string\n                                    example: Hitesh Choudhary\n                              publishedAt:\n                                type: string\n                                example: '2011-10-24T10:25:16Z'\n                              thumbnails:\n                                type: object\n                                properties:\n                                  default:\n                                    type: object\n                                    properties:\n                                      height:\n                                        type: number\n                                        example: 88\n                                      url:\n                                        type: string\n                                        example: >-\n                                          https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s88-c-k-c0x00ffffff-no-rj\n                                      width:\n                                        type: number\n                                        example: 88\n                                  high:\n                                    type: object\n                                    properties:\n                                      height:\n                                        type: number\n                                        example: 800\n                                      url:\n                                        type: string\n                                        example: >-\n                                          https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s800-c-k-c0x00ffffff-no-rj\n                                      width:\n                                        type: number\n                                        example: 800\n                                  medium:\n                                    type: object\n                                    properties:\n                                      height:\n                                        type: number\n                                        example: 240\n                                      url:\n                                        type: string\n                                        example: >-\n                                          https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s240-c-k-c0x00ffffff-no-rj\n                                      width:\n                                        type: number\n                                        example: 240\n                              title:\n                                type: string\n                                example: Hitesh Choudhary\n                          statistics:\n                            type: object\n                            properties:\n                              hiddenSubscriberCount:\n                                type: boolean\n                                example: false\n                              subscriberCount:\n                                type: string\n                                example: '801000'\n                              videoCount:\n                                type: string\n                                example: '1442'\n                              viewCount:\n                                type: string\n                                example: '54384618'\n                      kind:\n                        type: string\n                        example: youtube#channelListResponse\n                  message:\n                    type: string\n                    example: Channel details fetched successfully!\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get channel details:\n                  value:\n                    data:\n                      info:\n                        brandingSettings:\n                          channel:\n                            country: IN\n                            description: >-\n                              Website: https://hiteshchoudhary.com\n\n                              Hey there everyone, Hitesh here back again with\n                              another video!\n\n                              This means I create a lot of videos, every single\n                              week. I cover a wide range of subjects like\n                              programming, what's latest in tech, new\n                              frameworks, open-source products etc. I keep my\n                              interest in a wide area of tech like Javascript,\n                              Python, PHP, Machine Learning, etc.\n\n\n                              For the Business purpose, Sponsorships and\n                              invitation, reach out at team@hiteshchoudhary.com\n\n\n                              NOTE: Personal questions and code-related\n                              questions are not answered at this email. Post\n                              them in the course discussion section or react me\n                              out at social platforms.\n\n\n                              #iWriteCode\n\n\n                              Instagram:\n                              https://instagram.com/hiteshchoudharyofficial\n\n                              Facebook: www.fb.com/HiteshChoudharyPage\n                            keywords: >-\n                              Programming computers code hitesh udemy Udacity\n                              Edx \"machine learning\" python javascript devops\n                              cloud\n                            title: Hitesh Choudhary\n                            unsubscribedTrailer: xJq0EQMFGyg\n                          image:\n                            bannerExternalUrl: >-\n                              https://yt3.googleusercontent.com/xGlR3Vz-RYHgwRj50-VEdBksVyjyJhvzQUEVttMCd5iRVdw-OXdFkPBPswF2nG_13QR2UfXnCQ\n                        id: UCXgGY0wkgOzynnHvSEVmE3A\n                        kind: youtube#channel\n                        snippet:\n                          country: IN\n                          customUrl: '@hiteshchoudharydotcom'\n                          description: >-\n                            Website: https://hiteshchoudhary.com\n\n                            Hey there everyone, Hitesh here back again with\n                            another video!\n\n                            This means I create a lot of videos, every single\n                            week. I cover a wide range of subjects like\n                            programming, what's latest in tech, new frameworks,\n                            open-source products etc. I keep my interest in a\n                            wide area of tech like Javascript, Python, PHP,\n                            Machine Learning, etc.\n\n\n                            For the Business purpose, Sponsorships and\n                            invitation, reach out at team@hiteshchoudhary.com\n\n\n                            NOTE: Personal questions and code-related questions\n                            are not answered at this email. Post them in the\n                            course discussion section or react me out at social\n                            platforms.\n\n\n                            #iWriteCode\n\n\n                            Instagram:\n                            https://instagram.com/hiteshchoudharyofficial\n\n                            Facebook: www.fb.com/HiteshChoudharyPage\n                          localized:\n                            description: >-\n                              Website: https://hiteshchoudhary.com\n\n                              Hey there everyone, Hitesh here back again with\n                              another video!\n\n                              This means I create a lot of videos, every single\n                              week. I cover a wide range of subjects like\n                              programming, what's latest in tech, new\n                              frameworks, open-source products etc. I keep my\n                              interest in a wide area of tech like Javascript,\n                              Python, PHP, Machine Learning, etc.\n\n\n                              For the Business purpose, Sponsorships and\n                              invitation, reach out at team@hiteshchoudhary.com\n\n\n                              NOTE: Personal questions and code-related\n                              questions are not answered at this email. Post\n                              them in the course discussion section or react me\n                              out at social platforms.\n\n\n                              #iWriteCode\n\n\n                              Instagram:\n                              https://instagram.com/hiteshchoudharyofficial\n\n                              Facebook: www.fb.com/HiteshChoudharyPage\n                            title: Hitesh Choudhary\n                          publishedAt: '2011-10-24T10:25:16Z'\n                          thumbnails:\n                            default:\n                              height: 88\n                              url: >-\n                                https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s88-c-k-c0x00ffffff-no-rj\n                              width: 88\n                            high:\n                              height: 800\n                              url: >-\n                                https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s800-c-k-c0x00ffffff-no-rj\n                              width: 800\n                            medium:\n                              height: 240\n                              url: >-\n                                https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s240-c-k-c0x00ffffff-no-rj\n                              width: 240\n                          title: Hitesh Choudhary\n                        statistics:\n                          hiddenSubscriberCount: false\n                          subscriberCount: '801000'\n                          videoCount: '1442'\n                          viewCount: '54384618'\n                      kind: youtube#channelListResponse\n                    message: Channel details fetched successfully!\n                    statusCode: 200\n                    success: true\n  /public/youtube/videos:\n    get:\n      tags:\n        - 📢 Public APIs\n      summary: Get youtube videos\n      description: >-\n        This API endpoint enables you to retrieve all YouTube videos from a JSON\n        file with a structure similar to YouTube's public API.\n\n\n        Upon accessing this endpoint, you will receive a response containing a\n        list of YouTube videos, just like you would from YouTube's official API.\n\n\n        **Disclaimer:**\n\n\n        Data provided by the API is static and not real-time.\n\n\n        This simplifies the process of developing a **YouTube clone**, allowing\n        developers to solely focus on UI design and creativity, without worrying\n        about complex API key configuration.\n      operationId: getYoutubeVideos\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '10'\n        - name: query\n          in: query\n          schema:\n            type: string\n            example: javascript\n        - name: sortBy\n          in: query\n          schema:\n            type: string\n            example: \"keep one: mostLiked | mostViewed | latest | oldest\"\n      responses:\n        '200':\n          description: Get youtube videos\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '26415'\n            Date:\n              schema:\n                type: string\n                example: Sun, 23 Jul 2023 11:45:37 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"672f-sR7JaYKpJ8S/c+WC/AZCEosyCwM\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '497'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '863'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      currentPageItems:\n                        type: number\n                        example: 10\n                      data:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            items:\n                              type: object\n                              properties:\n                                contentDetails:\n                                  type: object\n                                  properties:\n                                    caption:\n                                      type: string\n                                      example: 'false'\n                                    contentRating:\n                                      type: object\n                                      properties: {}\n                                    definition:\n                                      type: string\n                                      example: hd\n                                    dimension:\n                                      type: string\n                                      example: 2d\n                                    duration:\n                                      type: string\n                                      example: PT1H17M17S\n                                    licensedContent:\n                                      type: boolean\n                                      example: true\n                                    projection:\n                                      type: string\n                                      example: rectangular\n                                id:\n                                  type: string\n                                  example: zg06ec5arCs\n                                kind:\n                                  type: string\n                                  example: youtube#video\n                                snippet:\n                                  type: object\n                                  properties:\n                                    categoryId:\n                                      type: string\n                                      example: '28'\n                                    channelId:\n                                      type: string\n                                      example: UCXgGY0wkgOzynnHvSEVmE3A\n                                    channelTitle:\n                                      type: string\n                                      example: Hitesh Choudhary\n                                    defaultAudioLanguage:\n                                      type: string\n                                      example: en\n                                    description:\n                                      type: string\n                                      example: >-\n                                        Here is the link to get code files for\n                                        this video:\n\n                                        https://hitesh.pieces.cloud/?p=a2ac4ab4b3\n\n\n                                        Facebook:\n                                        https://www.facebook.com/HiteshChoudharyPage\n\n                                        Instagram:\n                                        https://instagram.com/hiteshchoudharyofficial\n\n                                        homepage: http://www.hiteshChoudhary.com\n\n\n                                        Disclaimer:\n\n                                        It doesn't feel good to have a\n                                        disclaimer in every video but this is\n                                        how the world is right now. \n\n                                        All videos are for educational purposes\n                                        and use them wisely. Any video may have\n                                        a slight mistake, please take decisions\n                                        based on your research. This video is\n                                        not forcing anything on you.\n\n\n                                        All Amazon links are affiliate links (If\n                                        any).\n                                    liveBroadcastContent:\n                                      type: string\n                                      example: none\n                                    localized:\n                                      type: object\n                                      properties:\n                                        description:\n                                          type: string\n                                          example: >-\n                                            Here is the link to get code files for\n                                            this video:\n\n                                            https://hitesh.pieces.cloud/?p=a2ac4ab4b3\n\n\n                                            Facebook:\n                                            https://www.facebook.com/HiteshChoudharyPage\n\n                                            Instagram:\n                                            https://instagram.com/hiteshchoudharyofficial\n\n                                            homepage: http://www.hiteshChoudhary.com\n\n\n                                            Disclaimer:\n\n                                            It doesn't feel good to have a\n                                            disclaimer in every video but this is\n                                            how the world is right now. \n\n                                            All videos are for educational purposes\n                                            and use them wisely. Any video may have\n                                            a slight mistake, please take decisions\n                                            based on your research. This video is\n                                            not forcing anything on you.\n\n\n                                            All Amazon links are affiliate links (If\n                                            any).\n                                        title:\n                                          type: string\n                                          example: >-\n                                            Learn to build file based routing from\n                                            scratch like Nextjs\n                                    publishedAt:\n                                      type: string\n                                      example: '2023-07-12T12:20:42Z'\n                                    tags:\n                                      type: array\n                                      items:\n                                        type: string\n                                        example: Programming\n                                      example:\n                                        - Programming\n                                        - javascript\n                                        - cloud\n                                        - pieces\n                                        - nextjs\n                                        - file based routing\n                                        - learn react\n                                    thumbnails:\n                                      type: object\n                                      properties:\n                                        default:\n                                          type: object\n                                          properties:\n                                            height:\n                                              type: number\n                                              example: 90\n                                            url:\n                                              type: string\n                                              example: >-\n                                                https://i.ytimg.com/vi/zg06ec5arCs/default.jpg\n                                            width:\n                                              type: number\n                                              example: 120\n                                        high:\n                                          type: object\n                                          properties:\n                                            height:\n                                              type: number\n                                              example: 360\n                                            url:\n                                              type: string\n                                              example: >-\n                                                https://i.ytimg.com/vi/zg06ec5arCs/hqdefault.jpg\n                                            width:\n                                              type: number\n                                              example: 480\n                                        maxres:\n                                          type: object\n                                          properties:\n                                            height:\n                                              type: number\n                                              example: 720\n                                            url:\n                                              type: string\n                                              example: >-\n                                                https://i.ytimg.com/vi/zg06ec5arCs/maxresdefault.jpg\n                                            width:\n                                              type: number\n                                              example: 1280\n                                        medium:\n                                          type: object\n                                          properties:\n                                            height:\n                                              type: number\n                                              example: 180\n                                            url:\n                                              type: string\n                                              example: >-\n                                                https://i.ytimg.com/vi/zg06ec5arCs/mqdefault.jpg\n                                            width:\n                                              type: number\n                                              example: 320\n                                        standard:\n                                          type: object\n                                          properties:\n                                            height:\n                                              type: number\n                                              example: 480\n                                            url:\n                                              type: string\n                                              example: >-\n                                                https://i.ytimg.com/vi/zg06ec5arCs/sddefault.jpg\n                                            width:\n                                              type: number\n                                              example: 640\n                                    title:\n                                      type: string\n                                      example: >-\n                                        Learn to build file based routing from\n                                        scratch like Nextjs\n                                statistics:\n                                  type: object\n                                  properties:\n                                    commentCount:\n                                      type: string\n                                      example: '43'\n                                    favoriteCount:\n                                      type: string\n                                      example: '0'\n                                    likeCount:\n                                      type: string\n                                      example: '292'\n                                    viewCount:\n                                      type: string\n                                      example: '4144'\n                            kind:\n                              type: string\n                              example: youtube#videoListResponse\n                        example:\n                          - items:\n                              contentDetails:\n                                caption: 'false'\n                                contentRating: {}\n                                definition: hd\n                                dimension: 2d\n                                duration: PT1H17M17S\n                                licensedContent: true\n                                projection: rectangular\n                              id: zg06ec5arCs\n                              kind: youtube#video\n                              snippet:\n                                categoryId: '28'\n                                channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                                channelTitle: Hitesh Choudhary\n                                defaultAudioLanguage: en\n                                description: >-\n                                  Here is the link to get code files for this\n                                  video:\n\n                                  https://hitesh.pieces.cloud/?p=a2ac4ab4b3\n\n\n                                  Facebook:\n                                  https://www.facebook.com/HiteshChoudharyPage\n\n                                  Instagram:\n                                  https://instagram.com/hiteshchoudharyofficial\n\n                                  homepage: http://www.hiteshChoudhary.com\n\n\n                                  Disclaimer:\n\n                                  It doesn't feel good to have a disclaimer in\n                                  every video but this is how the world is right\n                                  now. \n\n                                  All videos are for educational purposes and\n                                  use them wisely. Any video may have a slight\n                                  mistake, please take decisions based on your\n                                  research. This video is not forcing anything\n                                  on you.\n\n\n                                  All Amazon links are affiliate links (If any).\n                                liveBroadcastContent: none\n                                localized:\n                                  description: >-\n                                    Here is the link to get code files for this\n                                    video:\n\n                                    https://hitesh.pieces.cloud/?p=a2ac4ab4b3\n\n\n                                    Facebook:\n                                    https://www.facebook.com/HiteshChoudharyPage\n\n                                    Instagram:\n                                    https://instagram.com/hiteshchoudharyofficial\n\n                                    homepage: http://www.hiteshChoudhary.com\n\n\n                                    Disclaimer:\n\n                                    It doesn't feel good to have a disclaimer in\n                                    every video but this is how the world is\n                                    right now. \n\n                                    All videos are for educational purposes and\n                                    use them wisely. Any video may have a slight\n                                    mistake, please take decisions based on your\n                                    research. This video is not forcing anything\n                                    on you.\n\n\n                                    All Amazon links are affiliate links (If\n                                    any).\n                                  title: >-\n                                    Learn to build file based routing from\n                                    scratch like Nextjs\n                                publishedAt: '2023-07-12T12:20:42Z'\n                                tags:\n                                  - Programming\n                                  - javascript\n                                  - cloud\n                                  - pieces\n                                  - nextjs\n                                  - file based routing\n                                  - learn react\n                                thumbnails:\n                                  default:\n                                    height: 90\n                                    url: >-\n                                      https://i.ytimg.com/vi/zg06ec5arCs/default.jpg\n                                    width: 120\n                                  high:\n                                    height: 360\n                                    url: >-\n                                      https://i.ytimg.com/vi/zg06ec5arCs/hqdefault.jpg\n                                    width: 480\n                                  maxres:\n                                    height: 720\n                                    url: >-\n                                      https://i.ytimg.com/vi/zg06ec5arCs/maxresdefault.jpg\n                                    width: 1280\n                                  medium:\n                                    height: 180\n                                    url: >-\n                                      https://i.ytimg.com/vi/zg06ec5arCs/mqdefault.jpg\n                                    width: 320\n                                  standard:\n                                    height: 480\n                                    url: >-\n                                      https://i.ytimg.com/vi/zg06ec5arCs/sddefault.jpg\n                                    width: 640\n                                title: >-\n                                  Learn to build file based routing from scratch\n                                  like Nextjs\n                              statistics:\n                                commentCount: '43'\n                                favoriteCount: '0'\n                                likeCount: '292'\n                                viewCount: '4144'\n                            kind: youtube#videoListResponse\n                          - items:\n                              contentDetails:\n                                caption: 'false'\n                                contentRating: {}\n                                definition: hd\n                                dimension: 2d\n                                duration: PT16M36S\n                                licensedContent: true\n                                projection: rectangular\n                              id: y2Fz0dkI4v8\n                              kind: youtube#video\n                              snippet:\n                                categoryId: '28'\n                                channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                                channelTitle: Hitesh Choudhary\n                                defaultAudioLanguage: en\n                                description: >-\n                                  https://hc.lco.dev/jscamp2\n\n                                  Wallpaper: https://imgur.com/a/FYHfk\n\n\n                                  Facebook:\n                                  https://www.facebook.com/HiteshChoudharyPage\n\n                                  Instagram:\n                                  https://instagram.com/hiteshchoudharyofficial\n\n                                  homepage: http://www.hiteshChoudhary.com\n\n\n                                  Disclaimer:\n\n                                  It doesn't feel good to have a disclaimer in\n                                  every video but this is how the world is right\n                                  now. \n\n                                  All videos are for educational purposes and\n                                  use them wisely. Any video may have a slight\n                                  mistake, please take decisions based on your\n                                  research. This video is not forcing anything\n                                  on you.\n\n\n                                  All Amazon links are affiliate links (If any).\n                                liveBroadcastContent: none\n                                localized:\n                                  description: >-\n                                    https://hc.lco.dev/jscamp2\n\n                                    Wallpaper: https://imgur.com/a/FYHfk\n\n\n                                    Facebook:\n                                    https://www.facebook.com/HiteshChoudharyPage\n\n                                    Instagram:\n                                    https://instagram.com/hiteshchoudharyofficial\n\n                                    homepage: http://www.hiteshChoudhary.com\n\n\n                                    Disclaimer:\n\n                                    It doesn't feel good to have a disclaimer in\n                                    every video but this is how the world is\n                                    right now. \n\n                                    All videos are for educational purposes and\n                                    use them wisely. Any video may have a slight\n                                    mistake, please take decisions based on your\n                                    research. This video is not forcing anything\n                                    on you.\n\n\n                                    All Amazon links are affiliate links (If\n                                    any).\n                                  title: >-\n                                    This will change DSA and Leetcode\n                                    preparation forever | Pieces for developers\n                                publishedAt: '2023-06-12T16:50:08Z'\n                                tags:\n                                  - Programming\n                                  - python\n                                  - javascript\n                                  - Dsa\n                                  - leetcode\n                                  - code conversion\n                                  - pieces for developers\n                                  - best developer tool\n                                thumbnails:\n                                  default:\n                                    height: 90\n                                    url: >-\n                                      https://i.ytimg.com/vi/y2Fz0dkI4v8/default.jpg\n                                    width: 120\n                                  high:\n                                    height: 360\n                                    url: >-\n                                      https://i.ytimg.com/vi/y2Fz0dkI4v8/hqdefault.jpg\n                                    width: 480\n                                  maxres:\n                                    height: 720\n                                    url: >-\n                                      https://i.ytimg.com/vi/y2Fz0dkI4v8/maxresdefault.jpg\n                                    width: 1280\n                                  medium:\n                                    height: 180\n                                    url: >-\n                                      https://i.ytimg.com/vi/y2Fz0dkI4v8/mqdefault.jpg\n                                    width: 320\n                                  standard:\n                                    height: 480\n                                    url: >-\n                                      https://i.ytimg.com/vi/y2Fz0dkI4v8/sddefault.jpg\n                                    width: 640\n                                title: >-\n                                  This will change DSA and Leetcode preparation\n                                  forever | Pieces for developers\n                              statistics:\n                                commentCount: '133'\n                                favoriteCount: '0'\n                                likeCount: '2112'\n                                viewCount: '51896'\n                            kind: youtube#videoListResponse\n                          - items:\n                              contentDetails:\n                                caption: 'false'\n                                contentRating: {}\n                                definition: hd\n                                dimension: 2d\n                                duration: PT1H6M31S\n                                licensedContent: true\n                                projection: rectangular\n                              id: rWv0zzEYB2w\n                              kind: youtube#video\n                              snippet:\n                                categoryId: '28'\n                                channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                                channelTitle: Hitesh Choudhary\n                                defaultAudioLanguage: en\n                                description: >-\n                                  Learn to create custom context of Appwrite in\n                                  React native so that your whole app knows if\n                                  the user is logged in or not.\n\n\n\n\n                                  Facebook:\n                                  https://www.facebook.com/HiteshChoudharyPage\n\n                                  Instagram:\n                                  https://instagram.com/hiteshchoudharyofficial\n\n                                  homepage: http://www.hiteshChoudhary.com\n\n\n                                  Disclaimer:\n\n                                  It doesn't feel good to have a disclaimer in\n                                  every video but this is how the world is right\n                                  now. \n\n                                  All videos are for educational purposes and\n                                  use them wisely. Any video may have a slight\n                                  mistake, please take decisions based on your\n                                  research. This video is not forcing anything\n                                  on you.\n\n\n                                  All Amazon links are affiliate links (If any).\n                                liveBroadcastContent: none\n                                localized:\n                                  description: >-\n                                    Learn to create custom context of Appwrite\n                                    in React native so that your whole app knows\n                                    if the user is logged in or not.\n\n\n\n\n                                    Facebook:\n                                    https://www.facebook.com/HiteshChoudharyPage\n\n                                    Instagram:\n                                    https://instagram.com/hiteshchoudharyofficial\n\n                                    homepage: http://www.hiteshChoudhary.com\n\n\n                                    Disclaimer:\n\n                                    It doesn't feel good to have a disclaimer in\n                                    every video but this is how the world is\n                                    right now. \n\n                                    All videos are for educational purposes and\n                                    use them wisely. Any video may have a slight\n                                    mistake, please take decisions based on your\n                                    research. This video is not forcing anything\n                                    on you.\n\n\n                                    All Amazon links are affiliate links (If\n                                    any).\n                                  title: >-\n                                    Using Appwrite service with custom context\n                                    in React Native\n                                publishedAt: '2023-06-07T12:14:23Z'\n                                tags:\n                                  - Programming\n                                  - javascript\n                                  - react\n                                  - react native\n                                  - appwrite\n                                  - database as a service\n                                thumbnails:\n                                  default:\n                                    height: 90\n                                    url: >-\n                                      https://i.ytimg.com/vi/rWv0zzEYB2w/default.jpg\n                                    width: 120\n                                  high:\n                                    height: 360\n                                    url: >-\n                                      https://i.ytimg.com/vi/rWv0zzEYB2w/hqdefault.jpg\n                                    width: 480\n                                  maxres:\n                                    height: 720\n                                    url: >-\n                                      https://i.ytimg.com/vi/rWv0zzEYB2w/maxresdefault.jpg\n                                    width: 1280\n                                  medium:\n                                    height: 180\n                                    url: >-\n                                      https://i.ytimg.com/vi/rWv0zzEYB2w/mqdefault.jpg\n                                    width: 320\n                                  standard:\n                                    height: 480\n                                    url: >-\n                                      https://i.ytimg.com/vi/rWv0zzEYB2w/sddefault.jpg\n                                    width: 640\n                                title: >-\n                                  Using Appwrite service with custom context in\n                                  React Native\n                              statistics:\n                                commentCount: '30'\n                                favoriteCount: '0'\n                                likeCount: '119'\n                                viewCount: '19154'\n                            kind: youtube#videoListResponse\n                          - items:\n                              contentDetails:\n                                caption: 'false'\n                                contentRating: {}\n                                definition: hd\n                                dimension: 2d\n                                duration: PT19M6S\n                                licensedContent: true\n                                projection: rectangular\n                              id: cv-6bAeYsOY\n                              kind: youtube#video\n                              snippet:\n                                categoryId: '28'\n                                channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                                channelTitle: Hitesh Choudhary\n                                defaultAudioLanguage: en\n                                description: >-\n                                  Here is a sample snippet that I saved and\n                                  everyone can use:\n\n                                  https://hitesh.pieces.cloud/?p=3fcb449271\n\n\n                                  https://hc.lco.dev/jscamp2\n\n                                  Wallpaper: https://imgur.com/a/FYHfk\n\n\n                                  Facebook:\n                                  https://www.facebook.com/HiteshChoudharyPage\n\n                                  Instagram:\n                                  https://instagram.com/hiteshchoudharyofficial\n\n                                  homepage: http://www.hiteshChoudhary.com\n\n\n                                  Disclaimer:\n\n                                  It doesn't feel good to have a disclaimer in\n                                  every video but this is how the world is right\n                                  now. \n\n                                  All videos are for educational purposes and\n                                  use them wisely. Any video may have a slight\n                                  mistake, please take decisions based on your\n                                  research. This video is not forcing anything\n                                  on you.\n\n\n                                  All Amazon links are affiliate links (If any).\n                                liveBroadcastContent: none\n                                localized:\n                                  description: >-\n                                    Here is a sample snippet that I saved and\n                                    everyone can use:\n\n                                    https://hitesh.pieces.cloud/?p=3fcb449271\n\n\n                                    https://hc.lco.dev/jscamp2\n\n                                    Wallpaper: https://imgur.com/a/FYHfk\n\n\n                                    Facebook:\n                                    https://www.facebook.com/HiteshChoudharyPage\n\n                                    Instagram:\n                                    https://instagram.com/hiteshchoudharyofficial\n\n                                    homepage: http://www.hiteshChoudhary.com\n\n\n                                    Disclaimer:\n\n                                    It doesn't feel good to have a disclaimer in\n                                    every video but this is how the world is\n                                    right now. \n\n                                    All videos are for educational purposes and\n                                    use them wisely. Any video may have a slight\n                                    mistake, please take decisions based on your\n                                    research. This video is not forcing anything\n                                    on you.\n\n\n                                    All Amazon links are affiliate links (If\n                                    any).\n                                  title: >-\n                                    Pieces: An Essential Tool for the Modern\n                                    Developer's Toolkit\n                                publishedAt: '2023-06-05T13:39:26Z'\n                                tags:\n                                  - Programming\n                                  - javascript\n                                  - devops\n                                  - cloud\n                                  - pieces\n                                  - pieces for developers\n                                  - developers productivity\n                                  - pieces in vscode\n                                thumbnails:\n                                  default:\n                                    height: 90\n                                    url: >-\n                                      https://i.ytimg.com/vi/cv-6bAeYsOY/default.jpg\n                                    width: 120\n                                  high:\n                                    height: 360\n                                    url: >-\n                                      https://i.ytimg.com/vi/cv-6bAeYsOY/hqdefault.jpg\n                                    width: 480\n                                  maxres:\n                                    height: 720\n                                    url: >-\n                                      https://i.ytimg.com/vi/cv-6bAeYsOY/maxresdefault.jpg\n                                    width: 1280\n                                  medium:\n                                    height: 180\n                                    url: >-\n                                      https://i.ytimg.com/vi/cv-6bAeYsOY/mqdefault.jpg\n                                    width: 320\n                                  standard:\n                                    height: 480\n                                    url: >-\n                                      https://i.ytimg.com/vi/cv-6bAeYsOY/sddefault.jpg\n                                    width: 640\n                                title: >-\n                                  Pieces: An Essential Tool for the Modern\n                                  Developer's Toolkit\n                              statistics:\n                                commentCount: '85'\n                                favoriteCount: '0'\n                                likeCount: '798'\n                                viewCount: '20990'\n                            kind: youtube#videoListResponse\n                          - items:\n                              contentDetails:\n                                caption: 'false'\n                                contentRating: {}\n                                definition: hd\n                                dimension: 2d\n                                duration: PT43M33S\n                                licensedContent: true\n                                projection: rectangular\n                              id: zlojM-Jbux4\n                              kind: youtube#video\n                              snippet:\n                                categoryId: '28'\n                                channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                                channelTitle: Hitesh Choudhary\n                                defaultAudioLanguage: en\n                                description: >-\n                                  https://hitesh.ai/appwrite\n\n\n                                  https://hc.lco.dev/jscamp2\n\n                                  Wallpaper: https://imgur.com/a/FYHfk\n\n\n                                  Facebook:\n                                  https://www.facebook.com/HiteshChoudharyPage\n\n                                  Instagram:\n                                  https://instagram.com/hiteshchoudharyofficial\n\n                                  homepage: http://www.hiteshChoudhary.com\n\n\n                                  Disclaimer:\n\n                                  It doesn't feel good to have a disclaimer in\n                                  every video but this is how the world is right\n                                  now. \n\n                                  All videos are for educational purposes and\n                                  use them wisely. Any video may have a slight\n                                  mistake, please take decisions based on your\n                                  research. This video is not forcing anything\n                                  on you.\n\n\n                                  All Amazon links are affiliate links (If any).\n                                liveBroadcastContent: none\n                                localized:\n                                  description: >-\n                                    https://hitesh.ai/appwrite\n\n\n                                    https://hc.lco.dev/jscamp2\n\n                                    Wallpaper: https://imgur.com/a/FYHfk\n\n\n                                    Facebook:\n                                    https://www.facebook.com/HiteshChoudharyPage\n\n                                    Instagram:\n                                    https://instagram.com/hiteshchoudharyofficial\n\n                                    homepage: http://www.hiteshChoudhary.com\n\n\n                                    Disclaimer:\n\n                                    It doesn't feel good to have a disclaimer in\n                                    every video but this is how the world is\n                                    right now. \n\n                                    All videos are for educational purposes and\n                                    use them wisely. Any video may have a slight\n                                    mistake, please take decisions based on your\n                                    research. This video is not forcing anything\n                                    on you.\n\n\n                                    All Amazon links are affiliate links (If\n                                    any).\n                                  title: Complete Appwrite authentication walkthrough\n                                publishedAt: '2023-05-22T15:30:14Z'\n                                tags:\n                                  - Programming\n                                  - javascript\n                                  - cloud\n                                  - appwrite\n                                  - backend\n                                  - backend as a service\n                                  - authentication\n                                  - auth\n                                  - react\n                                  - react native\n                                thumbnails:\n                                  default:\n                                    height: 90\n                                    url: >-\n                                      https://i.ytimg.com/vi/zlojM-Jbux4/default.jpg\n                                    width: 120\n                                  high:\n                                    height: 360\n                                    url: >-\n                                      https://i.ytimg.com/vi/zlojM-Jbux4/hqdefault.jpg\n                                    width: 480\n                                  maxres:\n                                    height: 720\n                                    url: >-\n                                      https://i.ytimg.com/vi/zlojM-Jbux4/maxresdefault.jpg\n                                    width: 1280\n                                  medium:\n                                    height: 180\n                                    url: >-\n                                      https://i.ytimg.com/vi/zlojM-Jbux4/mqdefault.jpg\n                                    width: 320\n                                  standard:\n                                    height: 480\n                                    url: >-\n                                      https://i.ytimg.com/vi/zlojM-Jbux4/sddefault.jpg\n                                    width: 640\n                                title: Complete Appwrite authentication walkthrough\n                              statistics:\n                                commentCount: '39'\n                                favoriteCount: '0'\n                                likeCount: '224'\n                                viewCount: '23974'\n                            kind: youtube#videoListResponse\n                          - items:\n                              contentDetails:\n                                caption: 'false'\n                                contentRating: {}\n                                definition: hd\n                                dimension: 2d\n                                duration: PT3M51S\n                                licensedContent: true\n                                projection: rectangular\n                              id: VeSUgWHbphk\n                              kind: youtube#video\n                              snippet:\n                                categoryId: '28'\n                                channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                                channelTitle: Hitesh Choudhary\n                                defaultAudioLanguage: en\n                                description: >-\n                                  https://hitesh.ai/appwrite\n\n\n                                  https://hc.lco.dev/jscamp2\n\n                                  Wallpaper: https://imgur.com/a/FYHfk\n\n\n                                  Facebook:\n                                  https://www.facebook.com/HiteshChoudharyPage\n\n                                  Instagram:\n                                  https://instagram.com/hiteshchoudharyofficial\n\n                                  homepage: http://www.hiteshChoudhary.com\n\n\n                                  Disclaimer:\n\n                                  It doesn't feel good to have a disclaimer in\n                                  every video but this is how the world is right\n                                  now. \n\n                                  All videos are for educational purposes and\n                                  use them wisely. Any video may have a slight\n                                  mistake, please take decisions based on your\n                                  research. This video is not forcing anything\n                                  on you.\n\n\n                                  All Amazon links are affiliate links (If any).\n                                liveBroadcastContent: none\n                                localized:\n                                  description: >-\n                                    https://hitesh.ai/appwrite\n\n\n                                    https://hc.lco.dev/jscamp2\n\n                                    Wallpaper: https://imgur.com/a/FYHfk\n\n\n                                    Facebook:\n                                    https://www.facebook.com/HiteshChoudharyPage\n\n                                    Instagram:\n                                    https://instagram.com/hiteshchoudharyofficial\n\n                                    homepage: http://www.hiteshChoudhary.com\n\n\n                                    Disclaimer:\n\n                                    It doesn't feel good to have a disclaimer in\n                                    every video but this is how the world is\n                                    right now. \n\n                                    All videos are for educational purposes and\n                                    use them wisely. Any video may have a slight\n                                    mistake, please take decisions based on your\n                                    research. This video is not forcing anything\n                                    on you.\n\n\n                                    All Amazon links are affiliate links (If\n                                    any).\n                                  title: >-\n                                    Building a React native app with Appwrite\n                                    authentication | App demo\n                                publishedAt: '2023-05-22T09:14:24Z'\n                                tags:\n                                  - Programming\n                                  - javascript\n                                  - cloud\n                                  - appwrite\n                                  - authentication\n                                  - react native\n                                  - mobile app development\n                                thumbnails:\n                                  default:\n                                    height: 90\n                                    url: >-\n                                      https://i.ytimg.com/vi/VeSUgWHbphk/default.jpg\n                                    width: 120\n                                  high:\n                                    height: 360\n                                    url: >-\n                                      https://i.ytimg.com/vi/VeSUgWHbphk/hqdefault.jpg\n                                    width: 480\n                                  maxres:\n                                    height: 720\n                                    url: >-\n                                      https://i.ytimg.com/vi/VeSUgWHbphk/maxresdefault.jpg\n                                    width: 1280\n                                  medium:\n                                    height: 180\n                                    url: >-\n                                      https://i.ytimg.com/vi/VeSUgWHbphk/mqdefault.jpg\n                                    width: 320\n                                  standard:\n                                    height: 480\n                                    url: >-\n                                      https://i.ytimg.com/vi/VeSUgWHbphk/sddefault.jpg\n                                    width: 640\n                                title: >-\n                                  Building a React native app with Appwrite\n                                  authentication | App demo\n                              statistics:\n                                commentCount: '41'\n                                favoriteCount: '0'\n                                likeCount: '152'\n                                viewCount: '21531'\n                            kind: youtube#videoListResponse\n                          - items:\n                              contentDetails:\n                                caption: 'false'\n                                contentRating: {}\n                                definition: hd\n                                dimension: 2d\n                                duration: PT7M58S\n                                licensedContent: true\n                                projection: rectangular\n                              id: zLdcmJDIXt8\n                              kind: youtube#video\n                              snippet:\n                                categoryId: '28'\n                                channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                                channelTitle: Hitesh Choudhary\n                                defaultAudioLanguage: en\n                                description: >-\n                                  https://hc.lco.dev/jscamp2\n\n                                  Wallpaper: https://imgur.com/a/FYHfk\n\n\n                                  Facebook:\n                                  https://www.facebook.com/HiteshChoudharyPage\n\n                                  Instagram:\n                                  https://instagram.com/hiteshchoudharyofficial\n\n                                  homepage: http://www.hiteshChoudhary.com\n\n\n                                  Disclaimer:\n\n                                  It doesn't feel good to have a disclaimer in\n                                  every video but this is how the world is right\n                                  now. \n\n                                  All videos are for educational purposes and\n                                  use them wisely. Any video may have a slight\n                                  mistake, please take decisions based on your\n                                  research. This video is not forcing anything\n                                  on you.\n\n\n                                  All Amazon links are affiliate links (If any).\n                                liveBroadcastContent: none\n                                localized:\n                                  description: >-\n                                    https://hc.lco.dev/jscamp2\n\n                                    Wallpaper: https://imgur.com/a/FYHfk\n\n\n                                    Facebook:\n                                    https://www.facebook.com/HiteshChoudharyPage\n\n                                    Instagram:\n                                    https://instagram.com/hiteshchoudharyofficial\n\n                                    homepage: http://www.hiteshChoudhary.com\n\n\n                                    Disclaimer:\n\n                                    It doesn't feel good to have a disclaimer in\n                                    every video but this is how the world is\n                                    right now. \n\n                                    All videos are for educational purposes and\n                                    use them wisely. Any video may have a slight\n                                    mistake, please take decisions based on your\n                                    research. This video is not forcing anything\n                                    on you.\n\n\n                                    All Amazon links are affiliate links (If\n                                    any).\n                                  title: Get Postman in your VSCode | 1st look\n                                publishedAt: '2023-05-16T13:01:32Z'\n                                tags:\n                                  - Programming\n                                  - python\n                                  - javascript\n                                  - devops\n                                  - cloud\n                                thumbnails:\n                                  default:\n                                    height: 90\n                                    url: >-\n                                      https://i.ytimg.com/vi/zLdcmJDIXt8/default.jpg\n                                    width: 120\n                                  high:\n                                    height: 360\n                                    url: >-\n                                      https://i.ytimg.com/vi/zLdcmJDIXt8/hqdefault.jpg\n                                    width: 480\n                                  maxres:\n                                    height: 720\n                                    url: >-\n                                      https://i.ytimg.com/vi/zLdcmJDIXt8/maxresdefault.jpg\n                                    width: 1280\n                                  medium:\n                                    height: 180\n                                    url: >-\n                                      https://i.ytimg.com/vi/zLdcmJDIXt8/mqdefault.jpg\n                                    width: 320\n                                  standard:\n                                    height: 480\n                                    url: >-\n                                      https://i.ytimg.com/vi/zLdcmJDIXt8/sddefault.jpg\n                                    width: 640\n                                title: Get Postman in your VSCode | 1st look\n                              statistics:\n                                commentCount: '113'\n                                favoriteCount: '0'\n                                likeCount: '458'\n                                viewCount: '14158'\n                            kind: youtube#videoListResponse\n                          - items:\n                              contentDetails:\n                                caption: 'false'\n                                contentRating: {}\n                                definition: hd\n                                dimension: 2d\n                                duration: PT56M20S\n                                licensedContent: true\n                                projection: rectangular\n                              id: daURe-AI5qQ\n                              kind: youtube#video\n                              snippet:\n                                categoryId: '28'\n                                channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                                channelTitle: Hitesh Choudhary\n                                defaultAudioLanguage: en\n                                description: >-\n                                  A really long video showing my setup of a new\n                                  Apple Macbook Air M2 machine. I will be using\n                                  it for all of my mobile development videos,\n                                  python work for college and Javascript fun on\n                                  this channel.\n\n\n                                  https://hc.lco.dev/jscamp2\n\n                                  Wallpaper: https://imgur.com/a/FYHfk\n\n\n                                  Facebook:\n                                  https://www.facebook.com/HiteshChoudharyPage\n\n                                  Instagram:\n                                  https://instagram.com/hiteshchoudharyofficial\n\n                                  homepage: http://www.hiteshChoudhary.com\n\n\n                                  Disclaimer:\n\n                                  It doesn't feel good to have a disclaimer in\n                                  every video but this is how the world is right\n                                  now. \n\n                                  All videos are for educational purposes and\n                                  use them wisely. Any video may have a slight\n                                  mistake, please take decisions based on your\n                                  research. This video is not forcing anything\n                                  on you.\n\n\n                                  All Amazon links are affiliate links (If any).\n                                liveBroadcastContent: none\n                                localized:\n                                  description: >-\n                                    A really long video showing my setup of a\n                                    new Apple Macbook Air M2 machine. I will be\n                                    using it for all of my mobile development\n                                    videos, python work for college and\n                                    Javascript fun on this channel.\n\n\n                                    https://hc.lco.dev/jscamp2\n\n                                    Wallpaper: https://imgur.com/a/FYHfk\n\n\n                                    Facebook:\n                                    https://www.facebook.com/HiteshChoudharyPage\n\n                                    Instagram:\n                                    https://instagram.com/hiteshchoudharyofficial\n\n                                    homepage: http://www.hiteshChoudhary.com\n\n\n                                    Disclaimer:\n\n                                    It doesn't feel good to have a disclaimer in\n                                    every video but this is how the world is\n                                    right now. \n\n                                    All videos are for educational purposes and\n                                    use them wisely. Any video may have a slight\n                                    mistake, please take decisions based on your\n                                    research. This video is not forcing anything\n                                    on you.\n\n\n                                    All Amazon links are affiliate links (If\n                                    any).\n                                  title: >-\n                                    Code Like a Pro | Setting Up Your MacBook\n                                    Air M2 for Development in 2023\n                                publishedAt: '2023-05-10T13:30:15Z'\n                                tags:\n                                  - Programming\n                                  - python\n                                  - javascript\n                                  - devops\n                                  - cloud\n                                thumbnails:\n                                  default:\n                                    height: 90\n                                    url: >-\n                                      https://i.ytimg.com/vi/daURe-AI5qQ/default.jpg\n                                    width: 120\n                                  high:\n                                    height: 360\n                                    url: >-\n                                      https://i.ytimg.com/vi/daURe-AI5qQ/hqdefault.jpg\n                                    width: 480\n                                  maxres:\n                                    height: 720\n                                    url: >-\n                                      https://i.ytimg.com/vi/daURe-AI5qQ/maxresdefault.jpg\n                                    width: 1280\n                                  medium:\n                                    height: 180\n                                    url: >-\n                                      https://i.ytimg.com/vi/daURe-AI5qQ/mqdefault.jpg\n                                    width: 320\n                                  standard:\n                                    height: 480\n                                    url: >-\n                                      https://i.ytimg.com/vi/daURe-AI5qQ/sddefault.jpg\n                                    width: 640\n                                title: >-\n                                  Code Like a Pro | Setting Up Your MacBook Air\n                                  M2 for Development in 2023\n                              statistics:\n                                commentCount: '90'\n                                favoriteCount: '0'\n                                likeCount: '705'\n                                viewCount: '27999'\n                            kind: youtube#videoListResponse\n                          - items:\n                              contentDetails:\n                                caption: 'false'\n                                contentRating: {}\n                                definition: hd\n                                dimension: 2d\n                                duration: PT10M31S\n                                licensedContent: true\n                                projection: rectangular\n                              id: 9BfMfDJpbjI\n                              kind: youtube#video\n                              snippet:\n                                categoryId: '28'\n                                channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                                channelTitle: Hitesh Choudhary\n                                defaultAudioLanguage: en\n                                description: >-\n                                  Document your progress and share your React\n                                  Native journey on your own Hashnode blog for\n                                  free: \n\n                                  https://hashnode.com/?source=hitesh\n\n                                  Tag your posts with #reactnative so they can\n                                  be easily discovered by Hashnode's global\n                                  community\n\n                                  https://github.com/hiteshchoudhary/React-native-projects\n\n                                  Discord: https://hc.lco.dev/discord\n\n\n                                  https://hc.lco.dev/jscamp2\n\n                                  Wallpaper: https://imgur.com/a/FYHfk\n\n\n                                  Facebook:\n                                  https://www.facebook.com/HiteshChoudharyPage\n\n                                  Instagram:\n                                  https://instagram.com/hiteshchoudharyofficial\n\n                                  homepage: http://www.hiteshChoudhary.com\n\n\n                                  Disclaimer:\n\n                                  It doesn't feel good to have a disclaimer in\n                                  every video but this is how the world is right\n                                  now. \n\n                                  All videos are for educational purposes and\n                                  use them wisely. Any video may have a slight\n                                  mistake, please take decisions based on your\n                                  research. This video is not forcing anything\n                                  on you.\n\n\n                                  All Amazon links are affiliate links (If any).\n                                liveBroadcastContent: none\n                                localized:\n                                  description: >-\n                                    Document your progress and share your React\n                                    Native journey on your own Hashnode blog for\n                                    free: \n\n                                    https://hashnode.com/?source=hitesh\n\n                                    Tag your posts with #reactnative so they can\n                                    be easily discovered by Hashnode's global\n                                    community\n\n                                    https://github.com/hiteshchoudhary/React-native-projects\n\n                                    Discord: https://hc.lco.dev/discord\n\n\n                                    https://hc.lco.dev/jscamp2\n\n                                    Wallpaper: https://imgur.com/a/FYHfk\n\n\n                                    Facebook:\n                                    https://www.facebook.com/HiteshChoudharyPage\n\n                                    Instagram:\n                                    https://instagram.com/hiteshchoudharyofficial\n\n                                    homepage: http://www.hiteshChoudhary.com\n\n\n                                    Disclaimer:\n\n                                    It doesn't feel good to have a disclaimer in\n                                    every video but this is how the world is\n                                    right now. \n\n                                    All videos are for educational purposes and\n                                    use them wisely. Any video may have a slight\n                                    mistake, please take decisions based on your\n                                    research. This video is not forcing anything\n                                    on you.\n\n\n                                    All Amazon links are affiliate links (If\n                                    any).\n                                  title: >-\n                                    Creating components to display mobile in\n                                    react native\n                                publishedAt: '2023-05-03T18:30:11Z'\n                                tags:\n                                  - Programming\n                                  - python\n                                  - javascript\n                                  - devops\n                                  - cloud\n                                  - React-native\n                                  - react\n                                  - hashnode\n                                  - android\n                                  - mobile apps\n                                thumbnails:\n                                  default:\n                                    height: 90\n                                    url: >-\n                                      https://i.ytimg.com/vi/9BfMfDJpbjI/default.jpg\n                                    width: 120\n                                  high:\n                                    height: 360\n                                    url: >-\n                                      https://i.ytimg.com/vi/9BfMfDJpbjI/hqdefault.jpg\n                                    width: 480\n                                  maxres:\n                                    height: 720\n                                    url: >-\n                                      https://i.ytimg.com/vi/9BfMfDJpbjI/maxresdefault.jpg\n                                    width: 1280\n                                  medium:\n                                    height: 180\n                                    url: >-\n                                      https://i.ytimg.com/vi/9BfMfDJpbjI/mqdefault.jpg\n                                    width: 320\n                                  standard:\n                                    height: 480\n                                    url: >-\n                                      https://i.ytimg.com/vi/9BfMfDJpbjI/sddefault.jpg\n                                    width: 640\n                                title: >-\n                                  Creating components to display mobile in react\n                                  native\n                              statistics:\n                                commentCount: '12'\n                                favoriteCount: '0'\n                                likeCount: '69'\n                                viewCount: '6098'\n                            kind: youtube#videoListResponse\n                          - items:\n                              contentDetails:\n                                caption: 'false'\n                                contentRating: {}\n                                definition: hd\n                                dimension: 2d\n                                duration: PT8M32S\n                                licensedContent: true\n                                projection: rectangular\n                              id: iZloRI4LVYY\n                              kind: youtube#video\n                              snippet:\n                                categoryId: '28'\n                                channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                                channelTitle: Hitesh Choudhary\n                                defaultAudioLanguage: en\n                                description: >-\n                                  https://hc.lco.dev/jscamp2\n\n                                  Wallpaper: https://imgur.com/a/FYHfk\n\n\n                                  Facebook:\n                                  https://www.facebook.com/HiteshChoudharyPage\n\n                                  Instagram:\n                                  https://instagram.com/hiteshchoudharyofficial\n\n                                  homepage: http://www.hiteshChoudhary.com\n\n\n                                  Disclaimer:\n\n                                  It doesn't feel good to have a disclaimer in\n                                  every video but this is how the world is right\n                                  now. \n\n                                  All videos are for educational purposes and\n                                  use them wisely. Any video may have a slight\n                                  mistake, please take decisions based on your\n                                  research. This video is not forcing anything\n                                  on you.\n\n\n                                  All Amazon links are affiliate links (If any).\n                                liveBroadcastContent: none\n                                localized:\n                                  description: >-\n                                    https://hc.lco.dev/jscamp2\n\n                                    Wallpaper: https://imgur.com/a/FYHfk\n\n\n                                    Facebook:\n                                    https://www.facebook.com/HiteshChoudharyPage\n\n                                    Instagram:\n                                    https://instagram.com/hiteshchoudharyofficial\n\n                                    homepage: http://www.hiteshChoudhary.com\n\n\n                                    Disclaimer:\n\n                                    It doesn't feel good to have a disclaimer in\n                                    every video but this is how the world is\n                                    right now. \n\n                                    All videos are for educational purposes and\n                                    use them wisely. Any video may have a slight\n                                    mistake, please take decisions based on your\n                                    research. This video is not forcing anything\n                                    on you.\n\n\n                                    All Amazon links are affiliate links (If\n                                    any).\n                                  title: >-\n                                    These IITians are doing crazy thing to learn\n                                    web development\n                                publishedAt: '2023-05-03T15:30:08Z'\n                                tags:\n                                  - Programming\n                                  - python\n                                  - javascript\n                                  - devops\n                                  - cloud\n                                  - IIT\n                                  - IITian\n                                  - Learning story\n                                thumbnails:\n                                  default:\n                                    height: 90\n                                    url: >-\n                                      https://i.ytimg.com/vi/iZloRI4LVYY/default.jpg\n                                    width: 120\n                                  high:\n                                    height: 360\n                                    url: >-\n                                      https://i.ytimg.com/vi/iZloRI4LVYY/hqdefault.jpg\n                                    width: 480\n                                  maxres:\n                                    height: 720\n                                    url: >-\n                                      https://i.ytimg.com/vi/iZloRI4LVYY/maxresdefault.jpg\n                                    width: 1280\n                                  medium:\n                                    height: 180\n                                    url: >-\n                                      https://i.ytimg.com/vi/iZloRI4LVYY/mqdefault.jpg\n                                    width: 320\n                                  standard:\n                                    height: 480\n                                    url: >-\n                                      https://i.ytimg.com/vi/iZloRI4LVYY/sddefault.jpg\n                                    width: 640\n                                title: >-\n                                  These IITians are doing crazy thing to learn\n                                  web development\n                              statistics:\n                                commentCount: '295'\n                                favoriteCount: '0'\n                                likeCount: '4332'\n                                viewCount: '88056'\n                            kind: youtube#videoListResponse\n                      limit:\n                        type: number\n                        example: 10\n                      nextPage:\n                        type: boolean\n                        example: false\n                      page:\n                        type: number\n                        example: 1\n                      previousPage:\n                        type: boolean\n                        example: false\n                      totalItems:\n                        type: number\n                        example: 96\n                      totalPages:\n                        type: number\n                        example: 10\n                  message:\n                    type: string\n                    example: Videos fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get youtube videos:\n                  value:\n                    statusCode: 200\n                    data:\n                      page: 1\n                      limit: 10\n                      totalPages: 10\n                      previousPage: false\n                      nextPage: true\n                      totalItems: 96\n                      currentPageItems: 10\n                      data:\n                      - kind: youtube#videoListResponse\n                        items:\n                          kind: youtube#video\n                          id: 75hqPk6pq5g\n                          snippet:\n                            publishedAt: '2023-07-19T13:16:33Z'\n                            channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                            title: Flutter Windows Installation\n                            description: \"https://hitesh.ai/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram:\n                              https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt\n                              doesn't feel good to have a disclaimer in every video but this is how the\n                              world is right now. \\nAll videos are for educational purposes and use them\n                              wisely. Any video may have a slight mistake, please take decisions based\n                              on your research. This video is not forcing anything on you.\\n\\nAll Amazon\n                              links are affiliate links (If any).\"\n                            thumbnails:\n                              default:\n                                url: https://i.ytimg.com/vi/75hqPk6pq5g/default.jpg\n                                width: 120\n                                height: 90\n                              medium:\n                                url: https://i.ytimg.com/vi/75hqPk6pq5g/mqdefault.jpg\n                                width: 320\n                                height: 180\n                              high:\n                                url: https://i.ytimg.com/vi/75hqPk6pq5g/hqdefault.jpg\n                                width: 480\n                                height: 360\n                              standard:\n                                url: https://i.ytimg.com/vi/75hqPk6pq5g/sddefault.jpg\n                                width: 640\n                                height: 480\n                              maxres:\n                                url: https://i.ytimg.com/vi/75hqPk6pq5g/maxresdefault.jpg\n                                width: 1280\n                                height: 720\n                            channelTitle: Hitesh Choudhary\n                            tags:\n                            - Programming\n                            - javascript\n                            - flutter\n                            - flutter windows\n                            categoryId: '28'\n                            liveBroadcastContent: none\n                            localized:\n                              title: Flutter Windows Installation\n                              description: \"https://hitesh.ai/discord\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram:\n                                https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt\n                                doesn't feel good to have a disclaimer in every video but this is how\n                                the world is right now. \\nAll videos are for educational purposes and\n                                use them wisely. Any video may have a slight mistake, please take decisions\n                                based on your research. This video is not forcing anything on you.\\n\\nAll\n                                Amazon links are affiliate links (If any).\"\n                            defaultAudioLanguage: en\n                          contentDetails:\n                            duration: PT19M35S\n                            dimension: 2d\n                            definition: hd\n                            caption: 'false'\n                            licensedContent: true\n                            contentRating: {}\n                            projection: rectangular\n                          statistics:\n                            viewCount: '2955'\n                            likeCount: '163'\n                            favoriteCount: '0'\n                            commentCount: '51'\n                      - kind: youtube#videoListResponse\n                        items:\n                          kind: youtube#video\n                          id: dtzfTePFKgM\n                          snippet:\n                            publishedAt: '2023-07-18T16:30:07Z'\n                            channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                            title: FreeAPI local setup with npm\n                            description: \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook:\n                              https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage:\n                              http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have\n                              a disclaimer in every video but this is how the world is right now. \\nAll\n                              videos are for educational purposes and use them wisely. Any video may have\n                              a slight mistake, please take decisions based on your research. This video\n                              is not forcing anything on you.\\n\\nAll Amazon links are affiliate links\n                              (If any).\"\n                            thumbnails:\n                              default:\n                                url: https://i.ytimg.com/vi/dtzfTePFKgM/default.jpg\n                                width: 120\n                                height: 90\n                              medium:\n                                url: https://i.ytimg.com/vi/dtzfTePFKgM/mqdefault.jpg\n                                width: 320\n                                height: 180\n                              high:\n                                url: https://i.ytimg.com/vi/dtzfTePFKgM/hqdefault.jpg\n                                width: 480\n                                height: 360\n                              standard:\n                                url: https://i.ytimg.com/vi/dtzfTePFKgM/sddefault.jpg\n                                width: 640\n                                height: 480\n                              maxres:\n                                url: https://i.ytimg.com/vi/dtzfTePFKgM/maxresdefault.jpg\n                                width: 1280\n                                height: 720\n                            channelTitle: Hitesh Choudhary\n                            tags:\n                            - Programming\n                            - python\n                            - javascript\n                            - devops\n                            - cloud\n                            categoryId: '28'\n                            liveBroadcastContent: none\n                            localized:\n                              title: FreeAPI local setup with npm\n                              description: \"https://hc.lco.dev/jscamp2\\nWallpaper: https://imgur.com/a/FYHfk\\n\\nFacebook:\n                                https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage:\n                                http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to\n                                have a disclaimer in every video but this is how the world is right now.\n                                \\nAll videos are for educational purposes and use them wisely. Any video\n                                may have a slight mistake, please take decisions based on your research.\n                                This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate\n                                links (If any).\"\n                            defaultAudioLanguage: en\n                          contentDetails:\n                            duration: PT15M12S\n                            dimension: 2d\n                            definition: hd\n                            caption: 'false'\n                            licensedContent: true\n                            contentRating: {}\n                            projection: rectangular\n                          statistics:\n                            viewCount: '2528'\n                            likeCount: '128'\n                            favoriteCount: '0'\n                            commentCount: '20'\n                      - kind: youtube#videoListResponse\n                        items:\n                          kind: youtube#video\n                          id: xJq0EQMFGyg\n                          snippet:\n                            publishedAt: '2023-07-18T12:33:40Z'\n                            channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                            title: Open Source Project Launch | FreeAPI.app\n                            description: \"Learn about API and master them with our new open source project.\n                              Check it out here:\\nhttps://freeapi.app\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram:\n                              https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt\n                              doesn't feel good to have a disclaimer in every video but this is how the\n                              world is right now. \\nAll videos are for educational purposes and use them\n                              wisely. Any video may have a slight mistake, please take decisions based\n                              on your research. This video is not forcing anything on you.\\n\\nAll Amazon\n                              links are affiliate links (If any).\"\n                            thumbnails:\n                              default:\n                                url: https://i.ytimg.com/vi/xJq0EQMFGyg/default.jpg\n                                width: 120\n                                height: 90\n                              medium:\n                                url: https://i.ytimg.com/vi/xJq0EQMFGyg/mqdefault.jpg\n                                width: 320\n                                height: 180\n                              high:\n                                url: https://i.ytimg.com/vi/xJq0EQMFGyg/hqdefault.jpg\n                                width: 480\n                                height: 360\n                              standard:\n                                url: https://i.ytimg.com/vi/xJq0EQMFGyg/sddefault.jpg\n                                width: 640\n                                height: 480\n                              maxres:\n                                url: https://i.ytimg.com/vi/xJq0EQMFGyg/maxresdefault.jpg\n                                width: 1280\n                                height: 720\n                            channelTitle: Hitesh Choudhary\n                            tags:\n                            - Programming\n                            - python\n                            - javascript\n                            - devops\n                            - cloud\n                            categoryId: '28'\n                            liveBroadcastContent: none\n                            localized:\n                              title: Open Source Project Launch | FreeAPI.app\n                              description: \"Learn about API and master them with our new open source project.\n                                Check it out here:\\nhttps://freeapi.app\\n\\nFacebook: https://www.facebook.com/HiteshChoudharyPage\\nInstagram:\n                                https://instagram.com/hiteshchoudharyofficial\\nhomepage: http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt\n                                doesn't feel good to have a disclaimer in every video but this is how\n                                the world is right now. \\nAll videos are for educational purposes and\n                                use them wisely. Any video may have a slight mistake, please take decisions\n                                based on your research. This video is not forcing anything on you.\\n\\nAll\n                                Amazon links are affiliate links (If any).\"\n                            defaultAudioLanguage: en\n                          contentDetails:\n                            duration: PT8M45S\n                            dimension: 2d\n                            definition: hd\n                            caption: 'false'\n                            licensedContent: true\n                            contentRating: {}\n                            projection: rectangular\n                          statistics:\n                            viewCount: '17208'\n                            likeCount: '1068'\n                            favoriteCount: '0'\n                            commentCount: '91'\n                      - kind: youtube#videoListResponse\n                        items:\n                          kind: youtube#video\n                          id: zg06ec5arCs\n                          snippet:\n                            publishedAt: '2023-07-12T12:20:42Z'\n                            channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                            title: Learn to build file based routing from scratch like Nextjs\n                            description: \"Here is the link to get code files for this video:\\nhttps://hitesh.pieces.cloud/?p=a2ac4ab4b3\\n\\nFacebook:\n                              https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage:\n                              http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have\n                              a disclaimer in every video but this is how the world is right now. \\nAll\n                              videos are for educational purposes and use them wisely. Any video may have\n                              a slight mistake, please take decisions based on your research. This video\n                              is not forcing anything on you.\\n\\nAll Amazon links are affiliate links\n                              (If any).\"\n                            thumbnails:\n                              default:\n                                url: https://i.ytimg.com/vi/zg06ec5arCs/default.jpg\n                                width: 120\n                                height: 90\n                              medium:\n                                url: https://i.ytimg.com/vi/zg06ec5arCs/mqdefault.jpg\n                                width: 320\n                                height: 180\n                              high:\n                                url: https://i.ytimg.com/vi/zg06ec5arCs/hqdefault.jpg\n                                width: 480\n                                height: 360\n                              standard:\n                                url: https://i.ytimg.com/vi/zg06ec5arCs/sddefault.jpg\n                                width: 640\n                                height: 480\n                              maxres:\n                                url: https://i.ytimg.com/vi/zg06ec5arCs/maxresdefault.jpg\n                                width: 1280\n                                height: 720\n                            channelTitle: Hitesh Choudhary\n                            tags:\n                            - Programming\n                            - javascript\n                            - cloud\n                            - pieces\n                            - nextjs\n                            - file based routing\n                            - learn react\n                            categoryId: '28'\n                            liveBroadcastContent: none\n                            localized:\n                              title: Learn to build file based routing from scratch like Nextjs\n                              description: \"Here is the link to get code files for this video:\\nhttps://hitesh.pieces.cloud/?p=a2ac4ab4b3\\n\\nFacebook:\n                                https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage:\n                                http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to\n                                have a disclaimer in every video but this is how the world is right now.\n                                \\nAll videos are for educational purposes and use them wisely. Any video\n                                may have a slight mistake, please take decisions based on your research.\n                                This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate\n                                links (If any).\"\n                            defaultAudioLanguage: en\n                          contentDetails:\n                            duration: PT1H17M17S\n                            dimension: 2d\n                            definition: hd\n                            caption: 'false'\n                            licensedContent: true\n                            contentRating: {}\n                            projection: rectangular\n                          statistics:\n                            viewCount: '4144'\n                            likeCount: '292'\n                            favoriteCount: '0'\n                            commentCount: '43'\n                      - kind: youtube#videoListResponse\n                        items:\n                          kind: youtube#video\n                          id: eSYvfCoWIzA\n                          snippet:\n                            publishedAt: '2023-07-07T14:17:22Z'\n                            channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                            title: Appwrite Nextjs and context api\n                            description: \"https://github.com/hiteshchoudhary/nextjs-appwrite-auth\\n\\nFacebook:\n                              https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage:\n                              http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have\n                              a disclaimer in every video but this is how the world is right now. \\nAll\n                              videos are for educational purposes and use them wisely. Any video may have\n                              a slight mistake, please take decisions based on your research. This video\n                              is not forcing anything on you.\\n\\nAll Amazon links are affiliate links\n                              (If any).\"\n                            thumbnails:\n                              default:\n                                url: https://i.ytimg.com/vi/eSYvfCoWIzA/default.jpg\n                                width: 120\n                                height: 90\n                              medium:\n                                url: https://i.ytimg.com/vi/eSYvfCoWIzA/mqdefault.jpg\n                                width: 320\n                                height: 180\n                              high:\n                                url: https://i.ytimg.com/vi/eSYvfCoWIzA/hqdefault.jpg\n                                width: 480\n                                height: 360\n                              standard:\n                                url: https://i.ytimg.com/vi/eSYvfCoWIzA/sddefault.jpg\n                                width: 640\n                                height: 480\n                              maxres:\n                                url: https://i.ytimg.com/vi/eSYvfCoWIzA/maxresdefault.jpg\n                                width: 1280\n                                height: 720\n                            channelTitle: Hitesh Choudhary\n                            tags:\n                            - Programming\n                            - javascript\n                            - devops\n                            - reactjs\n                            - nextjs\n                            - appwrite\n                            - appwrite cloud\n                            categoryId: '28'\n                            liveBroadcastContent: none\n                            localized:\n                              title: Appwrite Nextjs and context api\n                              description: \"https://github.com/hiteshchoudhary/nextjs-appwrite-auth\\n\\nFacebook:\n                                https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage:\n                                http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to\n                                have a disclaimer in every video but this is how the world is right now.\n                                \\nAll videos are for educational purposes and use them wisely. Any video\n                                may have a slight mistake, please take decisions based on your research.\n                                This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate\n                                links (If any).\"\n                            defaultAudioLanguage: en\n                          contentDetails:\n                            duration: PT39M29S\n                            dimension: 2d\n                            definition: hd\n                            caption: 'false'\n                            licensedContent: true\n                            contentRating: {}\n                            projection: rectangular\n                          statistics:\n                            viewCount: '10028'\n                            likeCount: '86'\n                            favoriteCount: '0'\n                            commentCount: '14'\n                      - kind: youtube#videoListResponse\n                        items:\n                          kind: youtube#video\n                          id: fyEA1R4lFyQ\n                          snippet:\n                            publishedAt: '2023-07-06T11:41:53Z'\n                            channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                            title: Nextjs componets to talk to Appwrite\n                            description: \"https://github.com/hiteshchoudhary/nextjs-appwrite-auth\\n\\nFacebook:\n                              https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage:\n                              http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have\n                              a disclaimer in every video but this is how the world is right now. \\nAll\n                              videos are for educational purposes and use them wisely. Any video may have\n                              a slight mistake, please take decisions based on your research. This video\n                              is not forcing anything on you.\\n\\nAll Amazon links are affiliate links\n                              (If any).\"\n                            thumbnails:\n                              default:\n                                url: https://i.ytimg.com/vi/fyEA1R4lFyQ/default.jpg\n                                width: 120\n                                height: 90\n                              medium:\n                                url: https://i.ytimg.com/vi/fyEA1R4lFyQ/mqdefault.jpg\n                                width: 320\n                                height: 180\n                              high:\n                                url: https://i.ytimg.com/vi/fyEA1R4lFyQ/hqdefault.jpg\n                                width: 480\n                                height: 360\n                              standard:\n                                url: https://i.ytimg.com/vi/fyEA1R4lFyQ/sddefault.jpg\n                                width: 640\n                                height: 480\n                              maxres:\n                                url: https://i.ytimg.com/vi/fyEA1R4lFyQ/maxresdefault.jpg\n                                width: 1280\n                                height: 720\n                            channelTitle: Hitesh Choudhary\n                            tags:\n                            - Programming\n                            - javascript\n                            - cloud\n                            - appwrite\n                            - auth\n                            - nextjs\n                            - reactjs\n                            categoryId: '28'\n                            liveBroadcastContent: none\n                            localized:\n                              title: Nextjs componets to talk to Appwrite\n                              description: \"https://github.com/hiteshchoudhary/nextjs-appwrite-auth\\n\\nFacebook:\n                                https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage:\n                                http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to\n                                have a disclaimer in every video but this is how the world is right now.\n                                \\nAll videos are for educational purposes and use them wisely. Any video\n                                may have a slight mistake, please take decisions based on your research.\n                                This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate\n                                links (If any).\"\n                            defaultAudioLanguage: en\n                          contentDetails:\n                            duration: PT30M23S\n                            dimension: 2d\n                            definition: hd\n                            caption: 'false'\n                            licensedContent: true\n                            contentRating: {}\n                            projection: rectangular\n                          statistics:\n                            viewCount: '9138'\n                            likeCount: '68'\n                            favoriteCount: '0'\n                            commentCount: '9'\n                      - kind: youtube#videoListResponse\n                        items:\n                          kind: youtube#video\n                          id: 1SMO6kWb9Eo\n                          snippet:\n                            publishedAt: '2023-07-04T12:45:00Z'\n                            channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                            title: How to integrate appwrite to nextjs\n                            description: \"https://github.com/hiteshchoudhary/nextjs-appwrite-auth\\n\\nFacebook:\n                              https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage:\n                              http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have\n                              a disclaimer in every video but this is how the world is right now. \\nAll\n                              videos are for educational purposes and use them wisely. Any video may have\n                              a slight mistake, please take decisions based on your research. This video\n                              is not forcing anything on you.\\n\\nAll Amazon links are affiliate links\n                              (If any).\"\n                            thumbnails:\n                              default:\n                                url: https://i.ytimg.com/vi/1SMO6kWb9Eo/default.jpg\n                                width: 120\n                                height: 90\n                              medium:\n                                url: https://i.ytimg.com/vi/1SMO6kWb9Eo/mqdefault.jpg\n                                width: 320\n                                height: 180\n                              high:\n                                url: https://i.ytimg.com/vi/1SMO6kWb9Eo/hqdefault.jpg\n                                width: 480\n                                height: 360\n                              standard:\n                                url: https://i.ytimg.com/vi/1SMO6kWb9Eo/sddefault.jpg\n                                width: 640\n                                height: 480\n                              maxres:\n                                url: https://i.ytimg.com/vi/1SMO6kWb9Eo/maxresdefault.jpg\n                                width: 1280\n                                height: 720\n                            channelTitle: Hitesh Choudhary\n                            tags:\n                            - Programming\n                            - javascript\n                            - cloud\n                            - appwrite\n                            - nextjs\n                            - reactjs\n                            - learn react\n                            - learn nextjs\n                            categoryId: '28'\n                            liveBroadcastContent: none\n                            localized:\n                              title: How to integrate appwrite to nextjs\n                              description: \"https://github.com/hiteshchoudhary/nextjs-appwrite-auth\\n\\nFacebook:\n                                https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage:\n                                http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to\n                                have a disclaimer in every video but this is how the world is right now.\n                                \\nAll videos are for educational purposes and use them wisely. Any video\n                                may have a slight mistake, please take decisions based on your research.\n                                This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate\n                                links (If any).\"\n                            defaultAudioLanguage: en\n                          contentDetails:\n                            duration: PT36M32S\n                            dimension: 2d\n                            definition: hd\n                            caption: 'false'\n                            licensedContent: true\n                            contentRating: {}\n                            projection: rectangular\n                          statistics:\n                            viewCount: '9873'\n                            likeCount: '95'\n                            favoriteCount: '0'\n                            commentCount: '7'\n                      - kind: youtube#videoListResponse\n                        items:\n                          kind: youtube#video\n                          id: n1edxEq8syI\n                          snippet:\n                            publishedAt: '2023-07-02T16:10:43Z'\n                            channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                            title: Nextjs meets Appwrite\n                            description: \"https://github.com/hiteshchoudhary/nextjs-appwrite-auth\\n\\nFacebook:\n                              https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage:\n                              http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have\n                              a disclaimer in every video but this is how the world is right now. \\nAll\n                              videos are for educational purposes and use them wisely. Any video may have\n                              a slight mistake, please take decisions based on your research. This video\n                              is not forcing anything on you.\\n\\nAll Amazon links are affiliate links\n                              (If any).\"\n                            thumbnails:\n                              default:\n                                url: https://i.ytimg.com/vi/n1edxEq8syI/default.jpg\n                                width: 120\n                                height: 90\n                              medium:\n                                url: https://i.ytimg.com/vi/n1edxEq8syI/mqdefault.jpg\n                                width: 320\n                                height: 180\n                              high:\n                                url: https://i.ytimg.com/vi/n1edxEq8syI/hqdefault.jpg\n                                width: 480\n                                height: 360\n                              standard:\n                                url: https://i.ytimg.com/vi/n1edxEq8syI/sddefault.jpg\n                                width: 640\n                                height: 480\n                              maxres:\n                                url: https://i.ytimg.com/vi/n1edxEq8syI/maxresdefault.jpg\n                                width: 1280\n                                height: 720\n                            channelTitle: Hitesh Choudhary\n                            tags:\n                            - Programming\n                            - python\n                            - javascript\n                            - devops\n                            - cloud\n                            categoryId: '28'\n                            liveBroadcastContent: none\n                            localized:\n                              title: Nextjs meets Appwrite\n                              description: \"https://github.com/hiteshchoudhary/nextjs-appwrite-auth\\n\\nFacebook:\n                                https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage:\n                                http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to\n                                have a disclaimer in every video but this is how the world is right now.\n                                \\nAll videos are for educational purposes and use them wisely. Any video\n                                may have a slight mistake, please take decisions based on your research.\n                                This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate\n                                links (If any).\"\n                            defaultAudioLanguage: en\n                          contentDetails:\n                            duration: PT5M41S\n                            dimension: 2d\n                            definition: hd\n                            caption: 'false'\n                            licensedContent: true\n                            contentRating: {}\n                            projection: rectangular\n                          statistics:\n                            viewCount: '16158'\n                            likeCount: '263'\n                            favoriteCount: '0'\n                            commentCount: '49'\n                      - kind: youtube#videoListResponse\n                        items:\n                          kind: youtube#video\n                          id: eaQc7vbV4po\n                          snippet:\n                            publishedAt: '2023-07-02T11:59:15Z'\n                            channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                            title: Complete Nextjs fullstack Authentication course\n                            description: \"00:00:00 - Introduction and file structure for front end\\n01:04:17\n                              - Mongodb, signup and login\\n02:05:51 - JWT, cookies and protected routes,\n                              middleware\\n02:47:30 - User verification and emails\\n03:43:34 - Deployment\n                              and assignment\\n\\nhttps://github.com/hiteshchoudhary/nextjs-fullstack-auth\\n\\nFacebook:\n                              https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage:\n                              http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have\n                              a disclaimer in every video but this is how the world is right now. \\nAll\n                              videos are for educational purposes and use them wisely. Any video may have\n                              a slight mistake, please take decisions based on your research. This video\n                              is not forcing anything on you.\\n\\nAll Amazon links are affiliate links\n                              (If any).\"\n                            thumbnails:\n                              default:\n                                url: https://i.ytimg.com/vi/eaQc7vbV4po/default.jpg\n                                width: 120\n                                height: 90\n                              medium:\n                                url: https://i.ytimg.com/vi/eaQc7vbV4po/mqdefault.jpg\n                                width: 320\n                                height: 180\n                              high:\n                                url: https://i.ytimg.com/vi/eaQc7vbV4po/hqdefault.jpg\n                                width: 480\n                                height: 360\n                              standard:\n                                url: https://i.ytimg.com/vi/eaQc7vbV4po/sddefault.jpg\n                                width: 640\n                                height: 480\n                              maxres:\n                                url: https://i.ytimg.com/vi/eaQc7vbV4po/maxresdefault.jpg\n                                width: 1280\n                                height: 720\n                            channelTitle: Hitesh Choudhary\n                            tags:\n                            - Programming\n                            - javascript\n                            - devops\n                            - cloud\n                            - nextjs\n                            - mongodb\n                            - reactjs\n                            - authentication\n                            categoryId: '28'\n                            liveBroadcastContent: none\n                            localized:\n                              title: Complete Nextjs fullstack Authentication course\n                              description: \"00:00:00 - Introduction and file structure for front end\\n01:04:17\n                                - Mongodb, signup and login\\n02:05:51 - JWT, cookies and protected routes,\n                                middleware\\n02:47:30 - User verification and emails\\n03:43:34 - Deployment\n                                and assignment\\n\\nhttps://github.com/hiteshchoudhary/nextjs-fullstack-auth\\n\\nFacebook:\n                                https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage:\n                                http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to\n                                have a disclaimer in every video but this is how the world is right now.\n                                \\nAll videos are for educational purposes and use them wisely. Any video\n                                may have a slight mistake, please take decisions based on your research.\n                                This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate\n                                links (If any).\"\n                            defaultAudioLanguage: en\n                          contentDetails:\n                            duration: PT3H56M54S\n                            dimension: 2d\n                            definition: hd\n                            caption: 'false'\n                            licensedContent: true\n                            contentRating: {}\n                            projection: rectangular\n                          statistics:\n                            viewCount: '17806'\n                            likeCount: '804'\n                            favoriteCount: '0'\n                            commentCount: '78'\n                      - kind: youtube#videoListResponse\n                        items:\n                          kind: youtube#video\n                          id: qJkey7UPyiw\n                          snippet:\n                            publishedAt: '2023-07-01T13:45:02Z'\n                            channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                            title: Nextjs Deployment\n                            description: \"https://github.com/hiteshchoudhary/nextjs-fullstack-auth/\\n\\nFacebook:\n                              https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage:\n                              http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to have\n                              a disclaimer in every video but this is how the world is right now. \\nAll\n                              videos are for educational purposes and use them wisely. Any video may have\n                              a slight mistake, please take decisions based on your research. This video\n                              is not forcing anything on you.\\n\\nAll Amazon links are affiliate links\n                              (If any).\"\n                            thumbnails:\n                              default:\n                                url: https://i.ytimg.com/vi/qJkey7UPyiw/default.jpg\n                                width: 120\n                                height: 90\n                              medium:\n                                url: https://i.ytimg.com/vi/qJkey7UPyiw/mqdefault.jpg\n                                width: 320\n                                height: 180\n                              high:\n                                url: https://i.ytimg.com/vi/qJkey7UPyiw/hqdefault.jpg\n                                width: 480\n                                height: 360\n                              standard:\n                                url: https://i.ytimg.com/vi/qJkey7UPyiw/sddefault.jpg\n                                width: 640\n                                height: 480\n                              maxres:\n                                url: https://i.ytimg.com/vi/qJkey7UPyiw/maxresdefault.jpg\n                                width: 1280\n                                height: 720\n                            channelTitle: Hitesh Choudhary\n                            tags:\n                            - Programming\n                            - javascript\n                            - reactjs\n                            - nextjs\n                            - mongodb\n                            categoryId: '28'\n                            liveBroadcastContent: none\n                            localized:\n                              title: Nextjs Deployment\n                              description: \"https://github.com/hiteshchoudhary/nextjs-fullstack-auth/\\n\\nFacebook:\n                                https://www.facebook.com/HiteshChoudharyPage\\nInstagram: https://instagram.com/hiteshchoudharyofficial\\nhomepage:\n                                http://www.hiteshChoudhary.com\\n\\nDisclaimer:\\nIt doesn't feel good to\n                                have a disclaimer in every video but this is how the world is right now.\n                                \\nAll videos are for educational purposes and use them wisely. Any video\n                                may have a slight mistake, please take decisions based on your research.\n                                This video is not forcing anything on you.\\n\\nAll Amazon links are affiliate\n                                links (If any).\"\n                            defaultAudioLanguage: en\n                          contentDetails:\n                            duration: PT13M24S\n                            dimension: 2d\n                            definition: hd\n                            caption: 'false'\n                            licensedContent: true\n                            contentRating: {}\n                            projection: rectangular\n                          statistics:\n                            viewCount: '2782'\n                            likeCount: '102'\n                            favoriteCount: '0'\n                            commentCount: '22'\n                    message: Videos fetched successfully\n                    success: true\n  /public/youtube/videos/{videoId}:\n    get:\n      tags:\n        - 📢 Public APIs\n      summary: Get video by id\n      description: >-\n        This API endpoint allows you to retrieve a YouTube video's complete\n        details by passing the `videoId` as a path variable.\n\n\n        When accessing this endpoint with a valid video ID, you will receive a\n        response containing comprehensive information about the specified video.\n\n\n        This includes video statistics such as the number of likes, dislikes,\n        views, and the video's duration, as well as other relevant details like\n        the video title, description, channel name, and publication date.\n\n\n        This functionality enables you to access and display detailed\n        information about specific YouTube videos within your application.\n\n\n        **Disclaimer:**\n\n\n        Data provided by the API is static and not real-time.\n\n\n        This simplifies the process of developing a **YouTube clone**, allowing\n        developers to solely focus on UI design and creativity, without worrying\n        about complex API key configuration.\n      operationId: getVideoById\n      responses:\n        '200':\n          description: Get video by id\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '4787'\n            Date:\n              schema:\n                type: string\n                example: Sun, 23 Jul 2023 12:34:21 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"12b3-7DslZ5hMUDyHbUqQC9AdnE9AB2M\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '499'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '892'\n            Set-Cookie:\n              schema:\n                type: string\n                example: >-\n                  connect.sid=s%3A7xYlK-u4qJKcfUre7Bp_ZQp4qZoCdfzG.M2%2BuvcpNpwwaVLqMTyyHphKEsNquMsVVYhtPxW0klRY;\n                  Path=/; HttpOnly\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      channel:\n                        type: object\n                        properties:\n                          info:\n                            type: object\n                            properties:\n                              country:\n                                type: string\n                                example: IN\n                              customUrl:\n                                type: string\n                                example: '@hiteshchoudharydotcom'\n                              description:\n                                type: string\n                                example: >-\n                                  Website: https://hiteshchoudhary.com\n\n                                  Hey there everyone, Hitesh here back again\n                                  with another video!\n\n                                  This means I create a lot of videos, every\n                                  single week. I cover a wide range of subjects\n                                  like programming, what's latest in tech, new\n                                  frameworks, open-source products etc. I keep\n                                  my interest in a wide area of tech like\n                                  Javascript, Python, PHP, Machine Learning,\n                                  etc.\n\n\n                                  For the Business purpose, Sponsorships and\n                                  invitation, reach out at\n                                  team@hiteshchoudhary.com\n\n\n                                  NOTE: Personal questions and code-related\n                                  questions are not answered at this email. Post\n                                  them in the course discussion section or react\n                                  me out at social platforms.\n\n\n                                  #iWriteCode\n\n\n                                  Instagram:\n                                  https://instagram.com/hiteshchoudharyofficial\n\n                                  Facebook: www.fb.com/HiteshChoudharyPage\n                              localized:\n                                type: object\n                                properties:\n                                  description:\n                                    type: string\n                                    example: >-\n                                      Website: https://hiteshchoudhary.com\n\n                                      Hey there everyone, Hitesh here back again\n                                      with another video!\n\n                                      This means I create a lot of videos, every\n                                      single week. I cover a wide range of\n                                      subjects like programming, what's latest\n                                      in tech, new frameworks, open-source\n                                      products etc. I keep my interest in a wide\n                                      area of tech like Javascript, Python, PHP,\n                                      Machine Learning, etc.\n\n\n                                      For the Business purpose, Sponsorships and\n                                      invitation, reach out at\n                                      team@hiteshchoudhary.com\n\n\n                                      NOTE: Personal questions and code-related\n                                      questions are not answered at this email.\n                                      Post them in the course discussion section\n                                      or react me out at social platforms.\n\n\n                                      #iWriteCode\n\n\n                                      Instagram:\n                                      https://instagram.com/hiteshchoudharyofficial\n\n                                      Facebook: www.fb.com/HiteshChoudharyPage\n                                  title:\n                                    type: string\n                                    example: Hitesh Choudhary\n                              publishedAt:\n                                type: string\n                                example: '2011-10-24T10:25:16Z'\n                              thumbnails:\n                                type: object\n                                properties:\n                                  default:\n                                    type: object\n                                    properties:\n                                      height:\n                                        type: number\n                                        example: 88\n                                      url:\n                                        type: string\n                                        example: >-\n                                          https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s88-c-k-c0x00ffffff-no-rj\n                                      width:\n                                        type: number\n                                        example: 88\n                                  high:\n                                    type: object\n                                    properties:\n                                      height:\n                                        type: number\n                                        example: 800\n                                      url:\n                                        type: string\n                                        example: >-\n                                          https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s800-c-k-c0x00ffffff-no-rj\n                                      width:\n                                        type: number\n                                        example: 800\n                                  medium:\n                                    type: object\n                                    properties:\n                                      height:\n                                        type: number\n                                        example: 240\n                                      url:\n                                        type: string\n                                        example: >-\n                                          https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s240-c-k-c0x00ffffff-no-rj\n                                      width:\n                                        type: number\n                                        example: 240\n                              title:\n                                type: string\n                                example: Hitesh Choudhary\n                          statistics:\n                            type: object\n                            properties:\n                              hiddenSubscriberCount:\n                                type: boolean\n                                example: false\n                              subscriberCount:\n                                type: string\n                                example: '801000'\n                              videoCount:\n                                type: string\n                                example: '1442'\n                              viewCount:\n                                type: string\n                                example: '54384618'\n                      video:\n                        type: object\n                        properties:\n                          items:\n                            type: object\n                            properties:\n                              contentDetails:\n                                type: object\n                                properties:\n                                  caption:\n                                    type: string\n                                    example: 'false'\n                                  contentRating:\n                                    type: object\n                                    properties: {}\n                                  definition:\n                                    type: string\n                                    example: hd\n                                  dimension:\n                                    type: string\n                                    example: 2d\n                                  duration:\n                                    type: string\n                                    example: PT5M48S\n                                  licensedContent:\n                                    type: boolean\n                                    example: true\n                                  projection:\n                                    type: string\n                                    example: rectangular\n                              id:\n                                type: string\n                                example: EQwmQLU1S6I\n                              kind:\n                                type: string\n                                example: youtube#video\n                              snippet:\n                                type: object\n                                properties:\n                                  categoryId:\n                                    type: string\n                                    example: '28'\n                                  channelId:\n                                    type: string\n                                    example: UCXgGY0wkgOzynnHvSEVmE3A\n                                  channelTitle:\n                                    type: string\n                                    example: Hitesh Choudhary\n                                  defaultAudioLanguage:\n                                    type: string\n                                    example: en\n                                  description:\n                                    type: string\n                                    example: >-\n                                      https://hc.lco.dev/jscamp2\n\n                                      Wallpaper: https://imgur.com/a/FYHfk\n\n\n                                      Facebook:\n                                      https://www.facebook.com/HiteshChoudharyPage\n\n                                      Instagram:\n                                      https://instagram.com/hiteshchoudharyofficial\n\n                                      homepage: http://www.hiteshChoudhary.com\n\n\n                                      Disclaimer:\n\n                                      It doesn't feel good to have a disclaimer\n                                      in every video but this is how the world\n                                      is right now. \n\n                                      All videos are for educational purposes\n                                      and use them wisely. Any video may have a\n                                      slight mistake, please take decisions\n                                      based on your research. This video is not\n                                      forcing anything on you.\n\n\n                                      All Amazon links are affiliate links (If\n                                      any).\n                                  liveBroadcastContent:\n                                    type: string\n                                    example: none\n                                  localized:\n                                    type: object\n                                    properties:\n                                      description:\n                                        type: string\n                                        example: >-\n                                          https://hc.lco.dev/jscamp2\n\n                                          Wallpaper: https://imgur.com/a/FYHfk\n\n\n                                          Facebook:\n                                          https://www.facebook.com/HiteshChoudharyPage\n\n                                          Instagram:\n                                          https://instagram.com/hiteshchoudharyofficial\n\n                                          homepage: http://www.hiteshChoudhary.com\n\n\n                                          Disclaimer:\n\n                                          It doesn't feel good to have a\n                                          disclaimer in every video but this is\n                                          how the world is right now. \n\n                                          All videos are for educational purposes\n                                          and use them wisely. Any video may have\n                                          a slight mistake, please take decisions\n                                          based on your research. This video is\n                                          not forcing anything on you.\n\n\n                                          All Amazon links are affiliate links (If\n                                          any).\n                                      title:\n                                        type: string\n                                        example: >-\n                                          Let's kill all programming language |\n                                          playlist intro\n                                  publishedAt:\n                                    type: string\n                                    example: '2023-05-23T12:30:05Z'\n                                  tags:\n                                    type: array\n                                    items:\n                                      type: string\n                                      example: Programming\n                                    example:\n                                      - Programming\n                                      - javascript\n                                      - python\n                                      - rust\n                                      - java\n                                      - c++\n                                      - swift\n                                      - typescript\n                                  thumbnails:\n                                    type: object\n                                    properties:\n                                      default:\n                                        type: object\n                                        properties:\n                                          height:\n                                            type: number\n                                            example: 90\n                                          url:\n                                            type: string\n                                            example: >-\n                                              https://i.ytimg.com/vi/EQwmQLU1S6I/default.jpg\n                                          width:\n                                            type: number\n                                            example: 120\n                                      high:\n                                        type: object\n                                        properties:\n                                          height:\n                                            type: number\n                                            example: 360\n                                          url:\n                                            type: string\n                                            example: >-\n                                              https://i.ytimg.com/vi/EQwmQLU1S6I/hqdefault.jpg\n                                          width:\n                                            type: number\n                                            example: 480\n                                      maxres:\n                                        type: object\n                                        properties:\n                                          height:\n                                            type: number\n                                            example: 720\n                                          url:\n                                            type: string\n                                            example: >-\n                                              https://i.ytimg.com/vi/EQwmQLU1S6I/maxresdefault.jpg\n                                          width:\n                                            type: number\n                                            example: 1280\n                                      medium:\n                                        type: object\n                                        properties:\n                                          height:\n                                            type: number\n                                            example: 180\n                                          url:\n                                            type: string\n                                            example: >-\n                                              https://i.ytimg.com/vi/EQwmQLU1S6I/mqdefault.jpg\n                                          width:\n                                            type: number\n                                            example: 320\n                                      standard:\n                                        type: object\n                                        properties:\n                                          height:\n                                            type: number\n                                            example: 480\n                                          url:\n                                            type: string\n                                            example: >-\n                                              https://i.ytimg.com/vi/EQwmQLU1S6I/sddefault.jpg\n                                          width:\n                                            type: number\n                                            example: 640\n                                  title:\n                                    type: string\n                                    example: >-\n                                      Let's kill all programming language |\n                                      playlist intro\n                              statistics:\n                                type: object\n                                properties:\n                                  commentCount:\n                                    type: string\n                                    example: '53'\n                                  favoriteCount:\n                                    type: string\n                                    example: '0'\n                                  likeCount:\n                                    type: string\n                                    example: '433'\n                                  viewCount:\n                                    type: string\n                                    example: '7861'\n                          kind:\n                            type: string\n                            example: youtube#videoListResponse\n                  message:\n                    type: string\n                    example: Video fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get video by id:\n                  value:\n                    data:\n                      channel:\n                        info:\n                          country: IN\n                          customUrl: '@hiteshchoudharydotcom'\n                          description: >-\n                            Website: https://hiteshchoudhary.com\n\n                            Hey there everyone, Hitesh here back again with\n                            another video!\n\n                            This means I create a lot of videos, every single\n                            week. I cover a wide range of subjects like\n                            programming, what's latest in tech, new frameworks,\n                            open-source products etc. I keep my interest in a\n                            wide area of tech like Javascript, Python, PHP,\n                            Machine Learning, etc.\n\n\n                            For the Business purpose, Sponsorships and\n                            invitation, reach out at team@hiteshchoudhary.com\n\n\n                            NOTE: Personal questions and code-related questions\n                            are not answered at this email. Post them in the\n                            course discussion section or react me out at social\n                            platforms.\n\n\n                            #iWriteCode\n\n\n                            Instagram:\n                            https://instagram.com/hiteshchoudharyofficial\n\n                            Facebook: www.fb.com/HiteshChoudharyPage\n                          localized:\n                            description: >-\n                              Website: https://hiteshchoudhary.com\n\n                              Hey there everyone, Hitesh here back again with\n                              another video!\n\n                              This means I create a lot of videos, every single\n                              week. I cover a wide range of subjects like\n                              programming, what's latest in tech, new\n                              frameworks, open-source products etc. I keep my\n                              interest in a wide area of tech like Javascript,\n                              Python, PHP, Machine Learning, etc.\n\n\n                              For the Business purpose, Sponsorships and\n                              invitation, reach out at team@hiteshchoudhary.com\n\n\n                              NOTE: Personal questions and code-related\n                              questions are not answered at this email. Post\n                              them in the course discussion section or react me\n                              out at social platforms.\n\n\n                              #iWriteCode\n\n\n                              Instagram:\n                              https://instagram.com/hiteshchoudharyofficial\n\n                              Facebook: www.fb.com/HiteshChoudharyPage\n                            title: Hitesh Choudhary\n                          publishedAt: '2011-10-24T10:25:16Z'\n                          thumbnails:\n                            default:\n                              height: 88\n                              url: >-\n                                https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s88-c-k-c0x00ffffff-no-rj\n                              width: 88\n                            high:\n                              height: 800\n                              url: >-\n                                https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s800-c-k-c0x00ffffff-no-rj\n                              width: 800\n                            medium:\n                              height: 240\n                              url: >-\n                                https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s240-c-k-c0x00ffffff-no-rj\n                              width: 240\n                          title: Hitesh Choudhary\n                        statistics:\n                          hiddenSubscriberCount: false\n                          subscriberCount: '801000'\n                          videoCount: '1442'\n                          viewCount: '54384618'\n                      video:\n                        items:\n                          contentDetails:\n                            caption: 'false'\n                            contentRating: {}\n                            definition: hd\n                            dimension: 2d\n                            duration: PT5M48S\n                            licensedContent: true\n                            projection: rectangular\n                          id: EQwmQLU1S6I\n                          kind: youtube#video\n                          snippet:\n                            categoryId: '28'\n                            channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                            channelTitle: Hitesh Choudhary\n                            defaultAudioLanguage: en\n                            description: >-\n                              https://hc.lco.dev/jscamp2\n\n                              Wallpaper: https://imgur.com/a/FYHfk\n\n\n                              Facebook:\n                              https://www.facebook.com/HiteshChoudharyPage\n\n                              Instagram:\n                              https://instagram.com/hiteshchoudharyofficial\n\n                              homepage: http://www.hiteshChoudhary.com\n\n\n                              Disclaimer:\n\n                              It doesn't feel good to have a disclaimer in every\n                              video but this is how the world is right now. \n\n                              All videos are for educational purposes and use\n                              them wisely. Any video may have a slight mistake,\n                              please take decisions based on your research. This\n                              video is not forcing anything on you.\n\n\n                              All Amazon links are affiliate links (If any).\n                            liveBroadcastContent: none\n                            localized:\n                              description: >-\n                                https://hc.lco.dev/jscamp2\n\n                                Wallpaper: https://imgur.com/a/FYHfk\n\n\n                                Facebook:\n                                https://www.facebook.com/HiteshChoudharyPage\n\n                                Instagram:\n                                https://instagram.com/hiteshchoudharyofficial\n\n                                homepage: http://www.hiteshChoudhary.com\n\n\n                                Disclaimer:\n\n                                It doesn't feel good to have a disclaimer in\n                                every video but this is how the world is right\n                                now. \n\n                                All videos are for educational purposes and use\n                                them wisely. Any video may have a slight\n                                mistake, please take decisions based on your\n                                research. This video is not forcing anything on\n                                you.\n\n\n                                All Amazon links are affiliate links (If any).\n                              title: >-\n                                Let's kill all programming language | playlist\n                                intro\n                            publishedAt: '2023-05-23T12:30:05Z'\n                            tags:\n                              - Programming\n                              - javascript\n                              - python\n                              - rust\n                              - java\n                              - c++\n                              - swift\n                              - typescript\n                            thumbnails:\n                              default:\n                                height: 90\n                                url: https://i.ytimg.com/vi/EQwmQLU1S6I/default.jpg\n                                width: 120\n                              high:\n                                height: 360\n                                url: >-\n                                  https://i.ytimg.com/vi/EQwmQLU1S6I/hqdefault.jpg\n                                width: 480\n                              maxres:\n                                height: 720\n                                url: >-\n                                  https://i.ytimg.com/vi/EQwmQLU1S6I/maxresdefault.jpg\n                                width: 1280\n                              medium:\n                                height: 180\n                                url: >-\n                                  https://i.ytimg.com/vi/EQwmQLU1S6I/mqdefault.jpg\n                                width: 320\n                              standard:\n                                height: 480\n                                url: >-\n                                  https://i.ytimg.com/vi/EQwmQLU1S6I/sddefault.jpg\n                                width: 640\n                            title: >-\n                              Let's kill all programming language | playlist\n                              intro\n                          statistics:\n                            commentCount: '53'\n                            favoriteCount: '0'\n                            likeCount: '433'\n                            viewCount: '7861'\n                        kind: youtube#videoListResponse\n                    message: Video fetched successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: videoId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: EQwmQLU1S6I\n  /public/youtube/comments/{videoId}:\n    get:\n      tags:\n        - 📢 Public APIs\n      summary: Get video comments\n      description: >-\n        The API endpoint allows you to retrieve YouTube video comments based on\n        the video's unique ID provided as a path variable.\n\n\n        When accessing this endpoint, you will receive a response containing\n        complete details of the comments, including the author's information,\n        like count, and the comment content.\n\n\n        This functionality facilitates accessing and displaying comprehensive\n        comment data for a specific YouTube video.\n\n\n        **Disclaimer:**\n\n\n        Data provided by the API is static and not real-time.\n\n\n        This simplifies the process of developing a **YouTube clone**, allowing\n        developers to solely focus on UI design and creativity, without worrying\n        about complex API key configuration.\n      operationId: getVideoComments\n      responses:\n        '200':\n          description: Get video comments\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '5160'\n            Date:\n              schema:\n                type: string\n                example: Sat, 22 Jul 2023 16:42:10 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1428-Gv3WGBWD5p3QpNJjjhf+M3bkoNI\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '497'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '830'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: array\n                    items:\n                      type: object\n                      properties:\n                        id:\n                          type: string\n                          example: Ugy7jJj0-yhsx8HHMFd4AaABAg\n                        snippet:\n                          type: object\n                          properties:\n                            topLevelComment:\n                              type: object\n                              properties:\n                                id:\n                                  type: string\n                                  example: Ugy7jJj0-yhsx8HHMFd4AaABAg\n                                snippet:\n                                  type: object\n                                  properties:\n                                    authorDisplayName:\n                                      type: string\n                                      example: Hitesh Choudhary\n                                    authorProfileImageUrl:\n                                      type: string\n                                      example: >-\n                                        https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\n                                    likeCount:\n                                      type: number\n                                      example: 7\n                                    publishedAt:\n                                      type: string\n                                      example: '2023-06-05T13:40:02Z'\n                                    textDisplay:\n                                      type: string\n                                      example: >-\n                                        Here is a sample snippet that I saved\n                                        and everyone can use:<br><a\n                                        href=\"https://hitesh.pieces.cloud/?p=3fcb449271\">https://hitesh.pieces.cloud/?p=3fcb449271</a><br>Try\n                                        out, it&#39;s free and fun. 😁\n                                    textOriginal:\n                                      type: string\n                                      example: >-\n                                        Here is a sample snippet that I saved\n                                        and everyone can use:\n\n                                        https://hitesh.pieces.cloud/?p=3fcb449271\n\n                                        Try out, it's free and fun. 😁\n                                    updatedAt:\n                                      type: string\n                                      example: '2023-06-05T13:40:02Z'\n                            totalReplyCount:\n                              type: number\n                              example: 0\n                            videoId:\n                              type: string\n                              example: cv-6bAeYsOY\n                    example:\n                      - id: Ugy7jJj0-yhsx8HHMFd4AaABAg\n                        snippet:\n                          topLevelComment:\n                            id: Ugy7jJj0-yhsx8HHMFd4AaABAg\n                            snippet:\n                              authorDisplayName: Hitesh Choudhary\n                              authorProfileImageUrl: >-\n                                https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\n                              likeCount: 7\n                              publishedAt: '2023-06-05T13:40:02Z'\n                              textDisplay: >-\n                                Here is a sample snippet that I saved and\n                                everyone can use:<br><a\n                                href=\"https://hitesh.pieces.cloud/?p=3fcb449271\">https://hitesh.pieces.cloud/?p=3fcb449271</a><br>Try\n                                out, it&#39;s free and fun. 😁\n                              textOriginal: >-\n                                Here is a sample snippet that I saved and\n                                everyone can use:\n\n                                https://hitesh.pieces.cloud/?p=3fcb449271\n\n                                Try out, it's free and fun. 😁\n                              updatedAt: '2023-06-05T13:40:02Z'\n                          totalReplyCount: 0\n                          videoId: cv-6bAeYsOY\n                      - id: UgzPqnl9cLUYCapS2B94AaABAg\n                        snippet:\n                          topLevelComment:\n                            id: UgzPqnl9cLUYCapS2B94AaABAg\n                            snippet:\n                              authorDisplayName: Souvik\n                              authorProfileImageUrl: >-\n                                https://yt3.ggpht.com/ytc/AOPolaRFW6MuJ_9ZuK2M8onhOkhB_4rJal27w0oeqj5MulMQdaBeMeyxYEREyKWrU8zO=s48-c-k-c0x00ffffff-no-rj\n                              likeCount: 0\n                              publishedAt: '2023-07-18T08:12:45Z'\n                              textDisplay: >-\n                                The privacy is bothering me. It needs to manage\n                                other apps directly\n                              textOriginal: >-\n                                The privacy is bothering me. It needs to manage\n                                other apps directly\n                              updatedAt: '2023-07-18T08:12:45Z'\n                          totalReplyCount: 0\n                          videoId: cv-6bAeYsOY\n                      - id: UgxiJ5aavyaL8aliC4Z4AaABAg\n                        snippet:\n                          topLevelComment:\n                            id: UgxiJ5aavyaL8aliC4Z4AaABAg\n                            snippet:\n                              authorDisplayName: SinniS _\n                              authorProfileImageUrl: >-\n                                https://yt3.ggpht.com/uCg_8znbQm013IRtjuhh_j3dGuZLfCaA5UAGc3S0rAqFexMX6Cuu3lUMq7GuUE0tv5wQl-K29Q=s48-c-k-c0x00ffffff-no-rj\n                              likeCount: 0\n                              publishedAt: '2023-07-16T15:40:52Z'\n                              textDisplay: >-\n                                Bro try usiing codepen and you will see pieces\n                                break the codepen text editor section 😢😢\n                              textOriginal: >-\n                                Bro try usiing codepen and you will see pieces\n                                break the codepen text editor section 😢😢\n                              updatedAt: '2023-07-16T15:40:52Z'\n                          totalReplyCount: 0\n                          videoId: cv-6bAeYsOY\n                      - id: Ugxm1dkMJkpXZw303EZ4AaABAg\n                        snippet:\n                          topLevelComment:\n                            id: Ugxm1dkMJkpXZw303EZ4AaABAg\n                            snippet:\n                              authorDisplayName: Zeeshan Mukhtar\n                              authorProfileImageUrl: >-\n                                https://yt3.ggpht.com/ytc/AOPolaRYCUMTNcfnyi7yZ-CEuLduLHalFVgKHYQaLeCX9A=s48-c-k-c0x00ffffff-no-rj\n                              likeCount: 0\n                              publishedAt: '2023-07-08T15:52:50Z'\n                              textDisplay: Love from Pakistan\n                              textOriginal: Love from Pakistan\n                              updatedAt: '2023-07-08T15:52:50Z'\n                          totalReplyCount: 0\n                          videoId: cv-6bAeYsOY\n                      - id: UgwG5ZXUE5ha7F1LH9t4AaABAg\n                        snippet:\n                          topLevelComment:\n                            id: UgwG5ZXUE5ha7F1LH9t4AaABAg\n                            snippet:\n                              authorDisplayName: Md Monirul Islam\n                              authorProfileImageUrl: >-\n                                https://yt3.ggpht.com/ytc/AOPolaRL1YDHzjBWX-Yfaqgad99MK3WjsX04uxzPOHbK=s48-c-k-c0x00ffffff-no-rj\n                              likeCount: 0\n                              publishedAt: '2023-06-13T12:05:28Z'\n                              textDisplay: >-\n                                Thank you for the nice video, sir. How did you\n                                capture the screen shot? Can you tell me what\n                                tool you used?\n                              textOriginal: >-\n                                Thank you for the nice video, sir. How did you\n                                capture the screen shot? Can you tell me what\n                                tool you used?\n                              updatedAt: '2023-06-13T12:05:28Z'\n                          totalReplyCount: 0\n                          videoId: cv-6bAeYsOY\n                      - id: UgyQtSikGpg6IJNtzZ14AaABAg\n                        snippet:\n                          topLevelComment:\n                            id: UgyQtSikGpg6IJNtzZ14AaABAg\n                            snippet:\n                              authorDisplayName: Saboor Hamedi (Muhammad)\n                              authorProfileImageUrl: >-\n                                https://yt3.ggpht.com/gA5mKTNGikMdBOSki5PWo3bZfy8h6k6243kxXcgiFs7jKQBPKL5-LAmc2jTEl9LN_c4XuU_6=s48-c-k-c0x00ffffff-no-rj\n                              likeCount: 2\n                              publishedAt: '2023-06-12T05:49:01Z'\n                              textDisplay: >-\n                                I love this app, to be honest, it has changed my\n                                coding career in just one day, I can note the\n                                codes quickly, and other things. I have a\n                                suggestion. But I found a couple of problems\n                                there, first, its difficult to arrange the frame\n                                on the windows, I cannot arrange it, like\n                                maximizing. Second, wrapping text, I cannot wrap\n                                the text, it is put in a long line...\n                              textOriginal: >-\n                                I love this app, to be honest, it has changed my\n                                coding career in just one day, I can note the\n                                codes quickly, and other things. I have a\n                                suggestion. But I found a couple of problems\n                                there, first, its difficult to arrange the frame\n                                on the windows, I cannot arrange it, like\n                                maximizing. Second, wrapping text, I cannot wrap\n                                the text, it is put in a long line...\n                              updatedAt: '2023-06-12T22:23:19Z'\n                          totalReplyCount: 0\n                          videoId: cv-6bAeYsOY\n                      - id: Ugye5hCxMMzr_9X91F94AaABAg\n                        snippet:\n                          topLevelComment:\n                            id: Ugye5hCxMMzr_9X91F94AaABAg\n                            snippet:\n                              authorDisplayName: Imtiaz Hussain\n                              authorProfileImageUrl: >-\n                                https://yt3.ggpht.com/ytc/AOPolaQqqur1SJ8YJPiE6SDWIyaK6GU5Q1mAAe9MIeWc=s48-c-k-c0x00ffffff-no-rj\n                              likeCount: 0\n                              publishedAt: '2023-06-11T15:11:30Z'\n                              textDisplay: \"I&#39;m curious why does Pieces require these permissions? <br>• Manage other apps directly\\r<br>• Gathers diagnostic information about other apps\"\n                              textOriginal: \"I'm curious why does Pieces require these permissions? \\n• Manage other apps directly\\r\\n• Gathers diagnostic information about other apps\"\n                              updatedAt: '2023-06-11T15:11:30Z'\n                          totalReplyCount: 0\n                          videoId: cv-6bAeYsOY\n                  message:\n                    type: string\n                    example: Video comments fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get video comments:\n                  value:\n                    data:\n                      - id: Ugy7jJj0-yhsx8HHMFd4AaABAg\n                        snippet:\n                          topLevelComment:\n                            id: Ugy7jJj0-yhsx8HHMFd4AaABAg\n                            snippet:\n                              authorDisplayName: Hitesh Choudhary\n                              authorProfileImageUrl: >-\n                                https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s48-c-k-c0x00ffffff-no-rj\n                              likeCount: 7\n                              publishedAt: '2023-06-05T13:40:02Z'\n                              textDisplay: >-\n                                Here is a sample snippet that I saved and\n                                everyone can use:<br><a\n                                href=\"https://hitesh.pieces.cloud/?p=3fcb449271\">https://hitesh.pieces.cloud/?p=3fcb449271</a><br>Try\n                                out, it&#39;s free and fun. 😁\n                              textOriginal: >-\n                                Here is a sample snippet that I saved and\n                                everyone can use:\n\n                                https://hitesh.pieces.cloud/?p=3fcb449271\n\n                                Try out, it's free and fun. 😁\n                              updatedAt: '2023-06-05T13:40:02Z'\n                          totalReplyCount: 0\n                          videoId: cv-6bAeYsOY\n                      - id: UgzPqnl9cLUYCapS2B94AaABAg\n                        snippet:\n                          topLevelComment:\n                            id: UgzPqnl9cLUYCapS2B94AaABAg\n                            snippet:\n                              authorDisplayName: Souvik\n                              authorProfileImageUrl: >-\n                                https://yt3.ggpht.com/ytc/AOPolaRFW6MuJ_9ZuK2M8onhOkhB_4rJal27w0oeqj5MulMQdaBeMeyxYEREyKWrU8zO=s48-c-k-c0x00ffffff-no-rj\n                              likeCount: 0\n                              publishedAt: '2023-07-18T08:12:45Z'\n                              textDisplay: >-\n                                The privacy is bothering me. It needs to manage\n                                other apps directly\n                              textOriginal: >-\n                                The privacy is bothering me. It needs to manage\n                                other apps directly\n                              updatedAt: '2023-07-18T08:12:45Z'\n                          totalReplyCount: 0\n                          videoId: cv-6bAeYsOY\n                      - id: UgxiJ5aavyaL8aliC4Z4AaABAg\n                        snippet:\n                          topLevelComment:\n                            id: UgxiJ5aavyaL8aliC4Z4AaABAg\n                            snippet:\n                              authorDisplayName: SinniS _\n                              authorProfileImageUrl: >-\n                                https://yt3.ggpht.com/uCg_8znbQm013IRtjuhh_j3dGuZLfCaA5UAGc3S0rAqFexMX6Cuu3lUMq7GuUE0tv5wQl-K29Q=s48-c-k-c0x00ffffff-no-rj\n                              likeCount: 0\n                              publishedAt: '2023-07-16T15:40:52Z'\n                              textDisplay: >-\n                                Bro try usiing codepen and you will see pieces\n                                break the codepen text editor section 😢😢\n                              textOriginal: >-\n                                Bro try usiing codepen and you will see pieces\n                                break the codepen text editor section 😢😢\n                              updatedAt: '2023-07-16T15:40:52Z'\n                          totalReplyCount: 0\n                          videoId: cv-6bAeYsOY\n                      - id: Ugxm1dkMJkpXZw303EZ4AaABAg\n                        snippet:\n                          topLevelComment:\n                            id: Ugxm1dkMJkpXZw303EZ4AaABAg\n                            snippet:\n                              authorDisplayName: Zeeshan Mukhtar\n                              authorProfileImageUrl: >-\n                                https://yt3.ggpht.com/ytc/AOPolaRYCUMTNcfnyi7yZ-CEuLduLHalFVgKHYQaLeCX9A=s48-c-k-c0x00ffffff-no-rj\n                              likeCount: 0\n                              publishedAt: '2023-07-08T15:52:50Z'\n                              textDisplay: Love from Pakistan\n                              textOriginal: Love from Pakistan\n                              updatedAt: '2023-07-08T15:52:50Z'\n                          totalReplyCount: 0\n                          videoId: cv-6bAeYsOY\n                      - id: UgwG5ZXUE5ha7F1LH9t4AaABAg\n                        snippet:\n                          topLevelComment:\n                            id: UgwG5ZXUE5ha7F1LH9t4AaABAg\n                            snippet:\n                              authorDisplayName: Md Monirul Islam\n                              authorProfileImageUrl: >-\n                                https://yt3.ggpht.com/ytc/AOPolaRL1YDHzjBWX-Yfaqgad99MK3WjsX04uxzPOHbK=s48-c-k-c0x00ffffff-no-rj\n                              likeCount: 0\n                              publishedAt: '2023-06-13T12:05:28Z'\n                              textDisplay: >-\n                                Thank you for the nice video, sir. How did you\n                                capture the screen shot? Can you tell me what\n                                tool you used?\n                              textOriginal: >-\n                                Thank you for the nice video, sir. How did you\n                                capture the screen shot? Can you tell me what\n                                tool you used?\n                              updatedAt: '2023-06-13T12:05:28Z'\n                          totalReplyCount: 0\n                          videoId: cv-6bAeYsOY\n                      - id: UgyQtSikGpg6IJNtzZ14AaABAg\n                        snippet:\n                          topLevelComment:\n                            id: UgyQtSikGpg6IJNtzZ14AaABAg\n                            snippet:\n                              authorDisplayName: Saboor Hamedi (Muhammad)\n                              authorProfileImageUrl: >-\n                                https://yt3.ggpht.com/gA5mKTNGikMdBOSki5PWo3bZfy8h6k6243kxXcgiFs7jKQBPKL5-LAmc2jTEl9LN_c4XuU_6=s48-c-k-c0x00ffffff-no-rj\n                              likeCount: 2\n                              publishedAt: '2023-06-12T05:49:01Z'\n                              textDisplay: >-\n                                I love this app, to be honest, it has changed my\n                                coding career in just one day, I can note the\n                                codes quickly, and other things. I have a\n                                suggestion. But I found a couple of problems\n                                there, first, its difficult to arrange the frame\n                                on the windows, I cannot arrange it, like\n                                maximizing. Second, wrapping text, I cannot wrap\n                                the text, it is put in a long line...\n                              textOriginal: >-\n                                I love this app, to be honest, it has changed my\n                                coding career in just one day, I can note the\n                                codes quickly, and other things. I have a\n                                suggestion. But I found a couple of problems\n                                there, first, its difficult to arrange the frame\n                                on the windows, I cannot arrange it, like\n                                maximizing. Second, wrapping text, I cannot wrap\n                                the text, it is put in a long line...\n                              updatedAt: '2023-06-12T22:23:19Z'\n                          totalReplyCount: 0\n                          videoId: cv-6bAeYsOY\n                      - id: Ugye5hCxMMzr_9X91F94AaABAg\n                        snippet:\n                          topLevelComment:\n                            id: Ugye5hCxMMzr_9X91F94AaABAg\n                            snippet:\n                              authorDisplayName: Imtiaz Hussain\n                              authorProfileImageUrl: >-\n                                https://yt3.ggpht.com/ytc/AOPolaQqqur1SJ8YJPiE6SDWIyaK6GU5Q1mAAe9MIeWc=s48-c-k-c0x00ffffff-no-rj\n                              likeCount: 0\n                              publishedAt: '2023-06-11T15:11:30Z'\n                              textDisplay: \"I&#39;m curious why does Pieces require these permissions? <br>• Manage other apps directly\\r<br>• Gathers diagnostic information about other apps\"\n                              textOriginal: \"I'm curious why does Pieces require these permissions? \\n• Manage other apps directly\\r\\n• Gathers diagnostic information about other apps\"\n                              updatedAt: '2023-06-11T15:11:30Z'\n                          totalReplyCount: 0\n                          videoId: cv-6bAeYsOY\n                    message: Video comments fetched successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: videoId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: cv-6bAeYsOY\n  /public/youtube/related/{videoId}:\n    get:\n      tags:\n        - 📢 Public APIs\n      summary: Get related videos\n      description: >-\n        The API endpoint returns a list of recommended YouTube videos based on\n        the `videoId` provided in the path variable.\n\n\n        When accessing this endpoint and passing a valid video ID, you will\n        receive a response containing a list of videos that are related to the\n        current video.\n\n\n        These recommended videos can be displayed in a list view on the right\n        side of the user interface, providing users with relevant and engaging\n        content that complements the video they are currently viewing.\n\n\n        **Disclaimer:**\n\n\n        Data provided by the API is static and not real-time.\n\n\n        This simplifies the process of developing a **YouTube clone**, allowing\n        developers to solely focus on UI design and creativity, without worrying\n        about complex API key configuration.\n      operationId: getRelatedVideos\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '5'\n      responses:\n        '200':\n          description: Get related videos\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '10871'\n            Date:\n              schema:\n                type: string\n                example: Sat, 22 Jul 2023 16:42:36 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"2a77-0eUA3KKqH2jHeMbjXDhGkR0S5jY\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '495'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '803'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      currentPageItems:\n                        type: number\n                        example: 5\n                      data:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            items:\n                              type: object\n                              properties:\n                                contentDetails:\n                                  type: object\n                                  properties:\n                                    caption:\n                                      type: string\n                                      example: 'false'\n                                    contentRating:\n                                      type: object\n                                      properties: {}\n                                    definition:\n                                      type: string\n                                      example: hd\n                                    dimension:\n                                      type: string\n                                      example: 2d\n                                    duration:\n                                      type: string\n                                      example: PT1H17M17S\n                                    licensedContent:\n                                      type: boolean\n                                      example: true\n                                    projection:\n                                      type: string\n                                      example: rectangular\n                                id:\n                                  type: string\n                                  example: zg06ec5arCs\n                                kind:\n                                  type: string\n                                  example: youtube#video\n                                snippet:\n                                  type: object\n                                  properties:\n                                    categoryId:\n                                      type: string\n                                      example: '28'\n                                    channelId:\n                                      type: string\n                                      example: UCXgGY0wkgOzynnHvSEVmE3A\n                                    channelTitle:\n                                      type: string\n                                      example: Hitesh Choudhary\n                                    defaultAudioLanguage:\n                                      type: string\n                                      example: en\n                                    description:\n                                      type: string\n                                      example: >-\n                                        Here is the link to get code files for\n                                        this video:\n\n                                        https://hitesh.pieces.cloud/?p=a2ac4ab4b3\n\n\n                                        Facebook:\n                                        https://www.facebook.com/HiteshChoudharyPage\n\n                                        Instagram:\n                                        https://instagram.com/hiteshchoudharyofficial\n\n                                        homepage: http://www.hiteshChoudhary.com\n\n\n                                        Disclaimer:\n\n                                        It doesn't feel good to have a\n                                        disclaimer in every video but this is\n                                        how the world is right now. \n\n                                        All videos are for educational purposes\n                                        and use them wisely. Any video may have\n                                        a slight mistake, please take decisions\n                                        based on your research. This video is\n                                        not forcing anything on you.\n\n\n                                        All Amazon links are affiliate links (If\n                                        any).\n                                    liveBroadcastContent:\n                                      type: string\n                                      example: none\n                                    localized:\n                                      type: object\n                                      properties:\n                                        description:\n                                          type: string\n                                          example: >-\n                                            Here is the link to get code files for\n                                            this video:\n\n                                            https://hitesh.pieces.cloud/?p=a2ac4ab4b3\n\n\n                                            Facebook:\n                                            https://www.facebook.com/HiteshChoudharyPage\n\n                                            Instagram:\n                                            https://instagram.com/hiteshchoudharyofficial\n\n                                            homepage: http://www.hiteshChoudhary.com\n\n\n                                            Disclaimer:\n\n                                            It doesn't feel good to have a\n                                            disclaimer in every video but this is\n                                            how the world is right now. \n\n                                            All videos are for educational purposes\n                                            and use them wisely. Any video may have\n                                            a slight mistake, please take decisions\n                                            based on your research. This video is\n                                            not forcing anything on you.\n\n\n                                            All Amazon links are affiliate links (If\n                                            any).\n                                        title:\n                                          type: string\n                                          example: >-\n                                            Learn to build file based routing from\n                                            scratch like Nextjs\n                                    publishedAt:\n                                      type: string\n                                      example: '2023-07-12T12:20:42Z'\n                                    tags:\n                                      type: array\n                                      items:\n                                        type: string\n                                        example: Programming\n                                      example:\n                                        - Programming\n                                        - javascript\n                                        - cloud\n                                        - pieces\n                                        - nextjs\n                                        - file based routing\n                                        - learn react\n                                    thumbnails:\n                                      type: object\n                                      properties:\n                                        default:\n                                          type: object\n                                          properties:\n                                            height:\n                                              type: number\n                                              example: 90\n                                            url:\n                                              type: string\n                                              example: >-\n                                                https://i.ytimg.com/vi/zg06ec5arCs/default.jpg\n                                            width:\n                                              type: number\n                                              example: 120\n                                        high:\n                                          type: object\n                                          properties:\n                                            height:\n                                              type: number\n                                              example: 360\n                                            url:\n                                              type: string\n                                              example: >-\n                                                https://i.ytimg.com/vi/zg06ec5arCs/hqdefault.jpg\n                                            width:\n                                              type: number\n                                              example: 480\n                                        maxres:\n                                          type: object\n                                          properties:\n                                            height:\n                                              type: number\n                                              example: 720\n                                            url:\n                                              type: string\n                                              example: >-\n                                                https://i.ytimg.com/vi/zg06ec5arCs/maxresdefault.jpg\n                                            width:\n                                              type: number\n                                              example: 1280\n                                        medium:\n                                          type: object\n                                          properties:\n                                            height:\n                                              type: number\n                                              example: 180\n                                            url:\n                                              type: string\n                                              example: >-\n                                                https://i.ytimg.com/vi/zg06ec5arCs/mqdefault.jpg\n                                            width:\n                                              type: number\n                                              example: 320\n                                        standard:\n                                          type: object\n                                          properties:\n                                            height:\n                                              type: number\n                                              example: 480\n                                            url:\n                                              type: string\n                                              example: >-\n                                                https://i.ytimg.com/vi/zg06ec5arCs/sddefault.jpg\n                                            width:\n                                              type: number\n                                              example: 640\n                                    title:\n                                      type: string\n                                      example: >-\n                                        Learn to build file based routing from\n                                        scratch like Nextjs\n                                statistics:\n                                  type: object\n                                  properties:\n                                    commentCount:\n                                      type: string\n                                      example: '43'\n                                    favoriteCount:\n                                      type: string\n                                      example: '0'\n                                    likeCount:\n                                      type: string\n                                      example: '292'\n                                    viewCount:\n                                      type: string\n                                      example: '4144'\n                            kind:\n                              type: string\n                              example: youtube#videoListResponse\n                        example:\n                          - items:\n                              contentDetails:\n                                caption: 'false'\n                                contentRating: {}\n                                definition: hd\n                                dimension: 2d\n                                duration: PT1H17M17S\n                                licensedContent: true\n                                projection: rectangular\n                              id: zg06ec5arCs\n                              kind: youtube#video\n                              snippet:\n                                categoryId: '28'\n                                channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                                channelTitle: Hitesh Choudhary\n                                defaultAudioLanguage: en\n                                description: >-\n                                  Here is the link to get code files for this\n                                  video:\n\n                                  https://hitesh.pieces.cloud/?p=a2ac4ab4b3\n\n\n                                  Facebook:\n                                  https://www.facebook.com/HiteshChoudharyPage\n\n                                  Instagram:\n                                  https://instagram.com/hiteshchoudharyofficial\n\n                                  homepage: http://www.hiteshChoudhary.com\n\n\n                                  Disclaimer:\n\n                                  It doesn't feel good to have a disclaimer in\n                                  every video but this is how the world is right\n                                  now. \n\n                                  All videos are for educational purposes and\n                                  use them wisely. Any video may have a slight\n                                  mistake, please take decisions based on your\n                                  research. This video is not forcing anything\n                                  on you.\n\n\n                                  All Amazon links are affiliate links (If any).\n                                liveBroadcastContent: none\n                                localized:\n                                  description: >-\n                                    Here is the link to get code files for this\n                                    video:\n\n                                    https://hitesh.pieces.cloud/?p=a2ac4ab4b3\n\n\n                                    Facebook:\n                                    https://www.facebook.com/HiteshChoudharyPage\n\n                                    Instagram:\n                                    https://instagram.com/hiteshchoudharyofficial\n\n                                    homepage: http://www.hiteshChoudhary.com\n\n\n                                    Disclaimer:\n\n                                    It doesn't feel good to have a disclaimer in\n                                    every video but this is how the world is\n                                    right now. \n\n                                    All videos are for educational purposes and\n                                    use them wisely. Any video may have a slight\n                                    mistake, please take decisions based on your\n                                    research. This video is not forcing anything\n                                    on you.\n\n\n                                    All Amazon links are affiliate links (If\n                                    any).\n                                  title: >-\n                                    Learn to build file based routing from\n                                    scratch like Nextjs\n                                publishedAt: '2023-07-12T12:20:42Z'\n                                tags:\n                                  - Programming\n                                  - javascript\n                                  - cloud\n                                  - pieces\n                                  - nextjs\n                                  - file based routing\n                                  - learn react\n                                thumbnails:\n                                  default:\n                                    height: 90\n                                    url: >-\n                                      https://i.ytimg.com/vi/zg06ec5arCs/default.jpg\n                                    width: 120\n                                  high:\n                                    height: 360\n                                    url: >-\n                                      https://i.ytimg.com/vi/zg06ec5arCs/hqdefault.jpg\n                                    width: 480\n                                  maxres:\n                                    height: 720\n                                    url: >-\n                                      https://i.ytimg.com/vi/zg06ec5arCs/maxresdefault.jpg\n                                    width: 1280\n                                  medium:\n                                    height: 180\n                                    url: >-\n                                      https://i.ytimg.com/vi/zg06ec5arCs/mqdefault.jpg\n                                    width: 320\n                                  standard:\n                                    height: 480\n                                    url: >-\n                                      https://i.ytimg.com/vi/zg06ec5arCs/sddefault.jpg\n                                    width: 640\n                                title: >-\n                                  Learn to build file based routing from scratch\n                                  like Nextjs\n                              statistics:\n                                commentCount: '43'\n                                favoriteCount: '0'\n                                likeCount: '292'\n                                viewCount: '4144'\n                            kind: youtube#videoListResponse\n                          - items:\n                              contentDetails:\n                                caption: 'false'\n                                contentRating: {}\n                                definition: hd\n                                dimension: 2d\n                                duration: PT13M40S\n                                licensedContent: true\n                                projection: rectangular\n                              id: P1xDCeg10FY\n                              kind: youtube#video\n                              snippet:\n                                categoryId: '28'\n                                channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                                channelTitle: Hitesh Choudhary\n                                defaultAudioLanguage: en\n                                description: >-\n                                  https://www.benq.com/en-in/monitor/home/gw3290qt.html?utm_source=youtube.com&utm_medium=social&utm_campaign=lcd-productivity-review-gw3290qt-hitesh-choudhary-youtube-202306&utm_content=review&utm_term=learn-more\n\n\n                                  Facebook:\n                                  https://www.facebook.com/HiteshChoudharyPage\n\n                                  Instagram:\n                                  https://instagram.com/hiteshchoudharyofficial\n\n                                  homepage: http://www.hiteshChoudhary.com\n\n\n                                  Disclaimer:\n\n                                  It doesn't feel good to have a disclaimer in\n                                  every video but this is how the world is right\n                                  now. \n\n                                  All videos are for educational purposes and\n                                  use them wisely. Any video may have a slight\n                                  mistake, please take decisions based on your\n                                  research. This video is not forcing anything\n                                  on you.\n\n\n                                  All Amazon links are affiliate links (If any).\n                                liveBroadcastContent: none\n                                localized:\n                                  description: >-\n                                    https://www.benq.com/en-in/monitor/home/gw3290qt.html?utm_source=youtube.com&utm_medium=social&utm_campaign=lcd-productivity-review-gw3290qt-hitesh-choudhary-youtube-202306&utm_content=review&utm_term=learn-more\n\n\n                                    Facebook:\n                                    https://www.facebook.com/HiteshChoudharyPage\n\n                                    Instagram:\n                                    https://instagram.com/hiteshchoudharyofficial\n\n                                    homepage: http://www.hiteshChoudhary.com\n\n\n                                    Disclaimer:\n\n                                    It doesn't feel good to have a disclaimer in\n                                    every video but this is how the world is\n                                    right now. \n\n                                    All videos are for educational purposes and\n                                    use them wisely. Any video may have a slight\n                                    mistake, please take decisions based on your\n                                    research. This video is not forcing anything\n                                    on you.\n\n\n                                    All Amazon links are affiliate links (If\n                                    any).\n                                  title: >-\n                                    Is this the best monitor for coders? | BenQ\n                                    GW3290QT | Eye-Care Programming Monitor\n                                publishedAt: '2023-07-09T09:38:56Z'\n                                tags:\n                                  - Programming\n                                  - coding\n                                  - monitor for coders\n                                  - vertical monitor\n                                  - best coding monitor\n                                  - true color monitor\n                                thumbnails:\n                                  default:\n                                    height: 90\n                                    url: >-\n                                      https://i.ytimg.com/vi/P1xDCeg10FY/default.jpg\n                                    width: 120\n                                  high:\n                                    height: 360\n                                    url: >-\n                                      https://i.ytimg.com/vi/P1xDCeg10FY/hqdefault.jpg\n                                    width: 480\n                                  maxres:\n                                    height: 720\n                                    url: >-\n                                      https://i.ytimg.com/vi/P1xDCeg10FY/maxresdefault.jpg\n                                    width: 1280\n                                  medium:\n                                    height: 180\n                                    url: >-\n                                      https://i.ytimg.com/vi/P1xDCeg10FY/mqdefault.jpg\n                                    width: 320\n                                  standard:\n                                    height: 480\n                                    url: >-\n                                      https://i.ytimg.com/vi/P1xDCeg10FY/sddefault.jpg\n                                    width: 640\n                                title: >-\n                                  Is this the best monitor for coders? | BenQ\n                                  GW3290QT | Eye-Care Programming Monitor\n                              statistics:\n                                commentCount: '67'\n                                favoriteCount: '0'\n                                likeCount: '680'\n                                viewCount: '15300'\n                            kind: youtube#videoListResponse\n                          - items:\n                              contentDetails:\n                                caption: 'false'\n                                contentRating: {}\n                                definition: hd\n                                dimension: 2d\n                                duration: PT41S\n                                licensedContent: true\n                                projection: rectangular\n                              id: 8KgQEk22sYY\n                              kind: youtube#video\n                              snippet:\n                                categoryId: '28'\n                                channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                                channelTitle: Hitesh Choudhary\n                                defaultAudioLanguage: en\n                                description: ''\n                                liveBroadcastContent: none\n                                localized:\n                                  description: ''\n                                  title: Here is a hack for developers. @getpieces\n                                publishedAt: '2023-06-22T18:47:51Z'\n                                thumbnails:\n                                  default:\n                                    height: 90\n                                    url: >-\n                                      https://i.ytimg.com/vi/8KgQEk22sYY/default.jpg\n                                    width: 120\n                                  high:\n                                    height: 360\n                                    url: >-\n                                      https://i.ytimg.com/vi/8KgQEk22sYY/hqdefault.jpg\n                                    width: 480\n                                  maxres:\n                                    height: 720\n                                    url: >-\n                                      https://i.ytimg.com/vi/8KgQEk22sYY/maxresdefault.jpg\n                                    width: 1280\n                                  medium:\n                                    height: 180\n                                    url: >-\n                                      https://i.ytimg.com/vi/8KgQEk22sYY/mqdefault.jpg\n                                    width: 320\n                                  standard:\n                                    height: 480\n                                    url: >-\n                                      https://i.ytimg.com/vi/8KgQEk22sYY/sddefault.jpg\n                                    width: 640\n                                title: Here is a hack for developers. @getpieces\n                              statistics:\n                                commentCount: '22'\n                                favoriteCount: '0'\n                                likeCount: '1595'\n                                viewCount: '19224'\n                            kind: youtube#videoListResponse\n                          - items:\n                              contentDetails:\n                                caption: 'false'\n                                contentRating: {}\n                                definition: hd\n                                dimension: 2d\n                                duration: PT22M41S\n                                licensedContent: true\n                                projection: rectangular\n                              id: mPpHs5C-Qaw\n                              kind: youtube#video\n                              snippet:\n                                categoryId: '28'\n                                channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                                channelTitle: Hitesh Choudhary\n                                defaultAudioLanguage: en\n                                description: >-\n                                  Use this link to check out:\n\n                                  https://bit.ly/44d2Jux\n\n\n                                  Facebook:\n                                  https://www.facebook.com/HiteshChoudharyPage\n\n                                  Instagram:\n                                  https://instagram.com/hiteshchoudharyofficial\n\n                                  homepage: http://www.hiteshChoudhary.com\n\n\n                                  Disclaimer:\n\n                                  It doesn't feel good to have a disclaimer in\n                                  every video but this is how the world is right\n                                  now. \n\n                                  All videos are for educational purposes and\n                                  use them wisely. Any video may have a slight\n                                  mistake, please take decisions based on your\n                                  research. This video is not forcing anything\n                                  on you.\n\n\n                                  All Amazon links are affiliate links (If any).\n                                liveBroadcastContent: none\n                                localized:\n                                  description: >-\n                                    Use this link to check out:\n\n                                    https://bit.ly/44d2Jux\n\n\n                                    Facebook:\n                                    https://www.facebook.com/HiteshChoudharyPage\n\n                                    Instagram:\n                                    https://instagram.com/hiteshchoudharyofficial\n\n                                    homepage: http://www.hiteshChoudhary.com\n\n\n                                    Disclaimer:\n\n                                    It doesn't feel good to have a disclaimer in\n                                    every video but this is how the world is\n                                    right now. \n\n                                    All videos are for educational purposes and\n                                    use them wisely. Any video may have a slight\n                                    mistake, please take decisions based on your\n                                    research. This video is not forcing anything\n                                    on you.\n\n\n                                    All Amazon links are affiliate links (If\n                                    any).\n                                  title: Future is AI and Low code tools | illa cloud\n                                publishedAt: '2023-06-22T12:45:03Z'\n                                tags:\n                                  - Programming\n                                  - cloud\n                                  - illa cloud\n                                  - low code\n                                  - artificial intelligence\n                                  - appwrite\n                                  - api\n                                thumbnails:\n                                  default:\n                                    height: 90\n                                    url: >-\n                                      https://i.ytimg.com/vi/mPpHs5C-Qaw/default.jpg\n                                    width: 120\n                                  high:\n                                    height: 360\n                                    url: >-\n                                      https://i.ytimg.com/vi/mPpHs5C-Qaw/hqdefault.jpg\n                                    width: 480\n                                  maxres:\n                                    height: 720\n                                    url: >-\n                                      https://i.ytimg.com/vi/mPpHs5C-Qaw/maxresdefault.jpg\n                                    width: 1280\n                                  medium:\n                                    height: 180\n                                    url: >-\n                                      https://i.ytimg.com/vi/mPpHs5C-Qaw/mqdefault.jpg\n                                    width: 320\n                                  standard:\n                                    height: 480\n                                    url: >-\n                                      https://i.ytimg.com/vi/mPpHs5C-Qaw/sddefault.jpg\n                                    width: 640\n                                title: Future is AI and Low code tools | illa cloud\n                              statistics:\n                                commentCount: '33'\n                                favoriteCount: '0'\n                                likeCount: '447'\n                                viewCount: '17231'\n                            kind: youtube#videoListResponse\n                          - items:\n                              contentDetails:\n                                caption: 'false'\n                                contentRating: {}\n                                definition: hd\n                                dimension: 2d\n                                duration: PT1H1S\n                                licensedContent: true\n                                projection: rectangular\n                              id: RdEmvav6ZpE\n                              kind: youtube#video\n                              snippet:\n                                categoryId: '28'\n                                channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                                channelTitle: Hitesh Choudhary\n                                defaultAudioLanguage: en-US\n                                description: >-\n                                  Welcome to another saturday live for coders.\n                                  Today I am bringing in Wesley Cope. He is\n                                  currently at Appwrite, building Next Gen Open\n                                  Source backend as a service. With so much of\n                                  experience, post your interesting questions,\n                                  and I will ask him.\n                                liveBroadcastContent: none\n                                localized:\n                                  description: >-\n                                    Welcome to another saturday live for coders.\n                                    Today I am bringing in Wesley Cope. He is\n                                    currently at Appwrite, building Next Gen\n                                    Open Source backend as a service. With so\n                                    much of experience, post your interesting\n                                    questions, and I will ask him.\n                                  title: >-\n                                    Saturday live with Wess from Appwrite | 20+\n                                    years of code\n                                publishedAt: '2023-06-17T17:05:17Z'\n                                tags:\n                                  - live\n                                  - coding\n                                  - appwrite\n                                  - technology\n                                  - ai\n                                thumbnails:\n                                  default:\n                                    height: 90\n                                    url: >-\n                                      https://i.ytimg.com/vi/RdEmvav6ZpE/default.jpg\n                                    width: 120\n                                  high:\n                                    height: 360\n                                    url: >-\n                                      https://i.ytimg.com/vi/RdEmvav6ZpE/hqdefault.jpg\n                                    width: 480\n                                  maxres:\n                                    height: 720\n                                    url: >-\n                                      https://i.ytimg.com/vi/RdEmvav6ZpE/maxresdefault.jpg\n                                    width: 1280\n                                  medium:\n                                    height: 180\n                                    url: >-\n                                      https://i.ytimg.com/vi/RdEmvav6ZpE/mqdefault.jpg\n                                    width: 320\n                                  standard:\n                                    height: 480\n                                    url: >-\n                                      https://i.ytimg.com/vi/RdEmvav6ZpE/sddefault.jpg\n                                    width: 640\n                                title: >-\n                                  Saturday live with Wess from Appwrite | 20+\n                                  years of code\n                              statistics:\n                                commentCount: '5'\n                                favoriteCount: '0'\n                                likeCount: '377'\n                                viewCount: '5238'\n                            kind: youtube#videoListResponse\n                      limit:\n                        type: number\n                        example: 5\n                      nextPage:\n                        type: boolean\n                        example: false\n                      page:\n                        type: number\n                        example: 1\n                      previousPage:\n                        type: boolean\n                        example: false\n                      totalItems:\n                        type: number\n                        example: 58\n                      totalPages:\n                        type: number\n                        example: 12\n                  message:\n                    type: string\n                    example: Related videos fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get related videos:\n                  value:\n                    data:\n                      currentPageItems: 5\n                      data:\n                        - items:\n                            contentDetails:\n                              caption: 'false'\n                              contentRating: {}\n                              definition: hd\n                              dimension: 2d\n                              duration: PT1H17M17S\n                              licensedContent: true\n                              projection: rectangular\n                            id: zg06ec5arCs\n                            kind: youtube#video\n                            snippet:\n                              categoryId: '28'\n                              channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                              channelTitle: Hitesh Choudhary\n                              defaultAudioLanguage: en\n                              description: >-\n                                Here is the link to get code files for this\n                                video:\n\n                                https://hitesh.pieces.cloud/?p=a2ac4ab4b3\n\n\n                                Facebook:\n                                https://www.facebook.com/HiteshChoudharyPage\n\n                                Instagram:\n                                https://instagram.com/hiteshchoudharyofficial\n\n                                homepage: http://www.hiteshChoudhary.com\n\n\n                                Disclaimer:\n\n                                It doesn't feel good to have a disclaimer in\n                                every video but this is how the world is right\n                                now. \n\n                                All videos are for educational purposes and use\n                                them wisely. Any video may have a slight\n                                mistake, please take decisions based on your\n                                research. This video is not forcing anything on\n                                you.\n\n\n                                All Amazon links are affiliate links (If any).\n                              liveBroadcastContent: none\n                              localized:\n                                description: >-\n                                  Here is the link to get code files for this\n                                  video:\n\n                                  https://hitesh.pieces.cloud/?p=a2ac4ab4b3\n\n\n                                  Facebook:\n                                  https://www.facebook.com/HiteshChoudharyPage\n\n                                  Instagram:\n                                  https://instagram.com/hiteshchoudharyofficial\n\n                                  homepage: http://www.hiteshChoudhary.com\n\n\n                                  Disclaimer:\n\n                                  It doesn't feel good to have a disclaimer in\n                                  every video but this is how the world is right\n                                  now. \n\n                                  All videos are for educational purposes and\n                                  use them wisely. Any video may have a slight\n                                  mistake, please take decisions based on your\n                                  research. This video is not forcing anything\n                                  on you.\n\n\n                                  All Amazon links are affiliate links (If any).\n                                title: >-\n                                  Learn to build file based routing from scratch\n                                  like Nextjs\n                              publishedAt: '2023-07-12T12:20:42Z'\n                              tags:\n                                - Programming\n                                - javascript\n                                - cloud\n                                - pieces\n                                - nextjs\n                                - file based routing\n                                - learn react\n                              thumbnails:\n                                default:\n                                  height: 90\n                                  url: >-\n                                    https://i.ytimg.com/vi/zg06ec5arCs/default.jpg\n                                  width: 120\n                                high:\n                                  height: 360\n                                  url: >-\n                                    https://i.ytimg.com/vi/zg06ec5arCs/hqdefault.jpg\n                                  width: 480\n                                maxres:\n                                  height: 720\n                                  url: >-\n                                    https://i.ytimg.com/vi/zg06ec5arCs/maxresdefault.jpg\n                                  width: 1280\n                                medium:\n                                  height: 180\n                                  url: >-\n                                    https://i.ytimg.com/vi/zg06ec5arCs/mqdefault.jpg\n                                  width: 320\n                                standard:\n                                  height: 480\n                                  url: >-\n                                    https://i.ytimg.com/vi/zg06ec5arCs/sddefault.jpg\n                                  width: 640\n                              title: >-\n                                Learn to build file based routing from scratch\n                                like Nextjs\n                            statistics:\n                              commentCount: '43'\n                              favoriteCount: '0'\n                              likeCount: '292'\n                              viewCount: '4144'\n                          kind: youtube#videoListResponse\n                        - items:\n                            contentDetails:\n                              caption: 'false'\n                              contentRating: {}\n                              definition: hd\n                              dimension: 2d\n                              duration: PT13M40S\n                              licensedContent: true\n                              projection: rectangular\n                            id: P1xDCeg10FY\n                            kind: youtube#video\n                            snippet:\n                              categoryId: '28'\n                              channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                              channelTitle: Hitesh Choudhary\n                              defaultAudioLanguage: en\n                              description: >-\n                                https://www.benq.com/en-in/monitor/home/gw3290qt.html?utm_source=youtube.com&utm_medium=social&utm_campaign=lcd-productivity-review-gw3290qt-hitesh-choudhary-youtube-202306&utm_content=review&utm_term=learn-more\n\n\n                                Facebook:\n                                https://www.facebook.com/HiteshChoudharyPage\n\n                                Instagram:\n                                https://instagram.com/hiteshchoudharyofficial\n\n                                homepage: http://www.hiteshChoudhary.com\n\n\n                                Disclaimer:\n\n                                It doesn't feel good to have a disclaimer in\n                                every video but this is how the world is right\n                                now. \n\n                                All videos are for educational purposes and use\n                                them wisely. Any video may have a slight\n                                mistake, please take decisions based on your\n                                research. This video is not forcing anything on\n                                you.\n\n\n                                All Amazon links are affiliate links (If any).\n                              liveBroadcastContent: none\n                              localized:\n                                description: >-\n                                  https://www.benq.com/en-in/monitor/home/gw3290qt.html?utm_source=youtube.com&utm_medium=social&utm_campaign=lcd-productivity-review-gw3290qt-hitesh-choudhary-youtube-202306&utm_content=review&utm_term=learn-more\n\n\n                                  Facebook:\n                                  https://www.facebook.com/HiteshChoudharyPage\n\n                                  Instagram:\n                                  https://instagram.com/hiteshchoudharyofficial\n\n                                  homepage: http://www.hiteshChoudhary.com\n\n\n                                  Disclaimer:\n\n                                  It doesn't feel good to have a disclaimer in\n                                  every video but this is how the world is right\n                                  now. \n\n                                  All videos are for educational purposes and\n                                  use them wisely. Any video may have a slight\n                                  mistake, please take decisions based on your\n                                  research. This video is not forcing anything\n                                  on you.\n\n\n                                  All Amazon links are affiliate links (If any).\n                                title: >-\n                                  Is this the best monitor for coders? | BenQ\n                                  GW3290QT | Eye-Care Programming Monitor\n                              publishedAt: '2023-07-09T09:38:56Z'\n                              tags:\n                                - Programming\n                                - coding\n                                - monitor for coders\n                                - vertical monitor\n                                - best coding monitor\n                                - true color monitor\n                              thumbnails:\n                                default:\n                                  height: 90\n                                  url: >-\n                                    https://i.ytimg.com/vi/P1xDCeg10FY/default.jpg\n                                  width: 120\n                                high:\n                                  height: 360\n                                  url: >-\n                                    https://i.ytimg.com/vi/P1xDCeg10FY/hqdefault.jpg\n                                  width: 480\n                                maxres:\n                                  height: 720\n                                  url: >-\n                                    https://i.ytimg.com/vi/P1xDCeg10FY/maxresdefault.jpg\n                                  width: 1280\n                                medium:\n                                  height: 180\n                                  url: >-\n                                    https://i.ytimg.com/vi/P1xDCeg10FY/mqdefault.jpg\n                                  width: 320\n                                standard:\n                                  height: 480\n                                  url: >-\n                                    https://i.ytimg.com/vi/P1xDCeg10FY/sddefault.jpg\n                                  width: 640\n                              title: >-\n                                Is this the best monitor for coders? | BenQ\n                                GW3290QT | Eye-Care Programming Monitor\n                            statistics:\n                              commentCount: '67'\n                              favoriteCount: '0'\n                              likeCount: '680'\n                              viewCount: '15300'\n                          kind: youtube#videoListResponse\n                        - items:\n                            contentDetails:\n                              caption: 'false'\n                              contentRating: {}\n                              definition: hd\n                              dimension: 2d\n                              duration: PT41S\n                              licensedContent: true\n                              projection: rectangular\n                            id: 8KgQEk22sYY\n                            kind: youtube#video\n                            snippet:\n                              categoryId: '28'\n                              channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                              channelTitle: Hitesh Choudhary\n                              defaultAudioLanguage: en\n                              description: ''\n                              liveBroadcastContent: none\n                              localized:\n                                description: ''\n                                title: Here is a hack for developers. @getpieces\n                              publishedAt: '2023-06-22T18:47:51Z'\n                              thumbnails:\n                                default:\n                                  height: 90\n                                  url: >-\n                                    https://i.ytimg.com/vi/8KgQEk22sYY/default.jpg\n                                  width: 120\n                                high:\n                                  height: 360\n                                  url: >-\n                                    https://i.ytimg.com/vi/8KgQEk22sYY/hqdefault.jpg\n                                  width: 480\n                                maxres:\n                                  height: 720\n                                  url: >-\n                                    https://i.ytimg.com/vi/8KgQEk22sYY/maxresdefault.jpg\n                                  width: 1280\n                                medium:\n                                  height: 180\n                                  url: >-\n                                    https://i.ytimg.com/vi/8KgQEk22sYY/mqdefault.jpg\n                                  width: 320\n                                standard:\n                                  height: 480\n                                  url: >-\n                                    https://i.ytimg.com/vi/8KgQEk22sYY/sddefault.jpg\n                                  width: 640\n                              title: Here is a hack for developers. @getpieces\n                            statistics:\n                              commentCount: '22'\n                              favoriteCount: '0'\n                              likeCount: '1595'\n                              viewCount: '19224'\n                          kind: youtube#videoListResponse\n                        - items:\n                            contentDetails:\n                              caption: 'false'\n                              contentRating: {}\n                              definition: hd\n                              dimension: 2d\n                              duration: PT22M41S\n                              licensedContent: true\n                              projection: rectangular\n                            id: mPpHs5C-Qaw\n                            kind: youtube#video\n                            snippet:\n                              categoryId: '28'\n                              channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                              channelTitle: Hitesh Choudhary\n                              defaultAudioLanguage: en\n                              description: >-\n                                Use this link to check out:\n\n                                https://bit.ly/44d2Jux\n\n\n                                Facebook:\n                                https://www.facebook.com/HiteshChoudharyPage\n\n                                Instagram:\n                                https://instagram.com/hiteshchoudharyofficial\n\n                                homepage: http://www.hiteshChoudhary.com\n\n\n                                Disclaimer:\n\n                                It doesn't feel good to have a disclaimer in\n                                every video but this is how the world is right\n                                now. \n\n                                All videos are for educational purposes and use\n                                them wisely. Any video may have a slight\n                                mistake, please take decisions based on your\n                                research. This video is not forcing anything on\n                                you.\n\n\n                                All Amazon links are affiliate links (If any).\n                              liveBroadcastContent: none\n                              localized:\n                                description: >-\n                                  Use this link to check out:\n\n                                  https://bit.ly/44d2Jux\n\n\n                                  Facebook:\n                                  https://www.facebook.com/HiteshChoudharyPage\n\n                                  Instagram:\n                                  https://instagram.com/hiteshchoudharyofficial\n\n                                  homepage: http://www.hiteshChoudhary.com\n\n\n                                  Disclaimer:\n\n                                  It doesn't feel good to have a disclaimer in\n                                  every video but this is how the world is right\n                                  now. \n\n                                  All videos are for educational purposes and\n                                  use them wisely. Any video may have a slight\n                                  mistake, please take decisions based on your\n                                  research. This video is not forcing anything\n                                  on you.\n\n\n                                  All Amazon links are affiliate links (If any).\n                                title: Future is AI and Low code tools | illa cloud\n                              publishedAt: '2023-06-22T12:45:03Z'\n                              tags:\n                                - Programming\n                                - cloud\n                                - illa cloud\n                                - low code\n                                - artificial intelligence\n                                - appwrite\n                                - api\n                              thumbnails:\n                                default:\n                                  height: 90\n                                  url: >-\n                                    https://i.ytimg.com/vi/mPpHs5C-Qaw/default.jpg\n                                  width: 120\n                                high:\n                                  height: 360\n                                  url: >-\n                                    https://i.ytimg.com/vi/mPpHs5C-Qaw/hqdefault.jpg\n                                  width: 480\n                                maxres:\n                                  height: 720\n                                  url: >-\n                                    https://i.ytimg.com/vi/mPpHs5C-Qaw/maxresdefault.jpg\n                                  width: 1280\n                                medium:\n                                  height: 180\n                                  url: >-\n                                    https://i.ytimg.com/vi/mPpHs5C-Qaw/mqdefault.jpg\n                                  width: 320\n                                standard:\n                                  height: 480\n                                  url: >-\n                                    https://i.ytimg.com/vi/mPpHs5C-Qaw/sddefault.jpg\n                                  width: 640\n                              title: Future is AI and Low code tools | illa cloud\n                            statistics:\n                              commentCount: '33'\n                              favoriteCount: '0'\n                              likeCount: '447'\n                              viewCount: '17231'\n                          kind: youtube#videoListResponse\n                        - items:\n                            contentDetails:\n                              caption: 'false'\n                              contentRating: {}\n                              definition: hd\n                              dimension: 2d\n                              duration: PT1H1S\n                              licensedContent: true\n                              projection: rectangular\n                            id: RdEmvav6ZpE\n                            kind: youtube#video\n                            snippet:\n                              categoryId: '28'\n                              channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                              channelTitle: Hitesh Choudhary\n                              defaultAudioLanguage: en-US\n                              description: >-\n                                Welcome to another saturday live for coders.\n                                Today I am bringing in Wesley Cope. He is\n                                currently at Appwrite, building Next Gen Open\n                                Source backend as a service. With so much of\n                                experience, post your interesting questions, and\n                                I will ask him.\n                              liveBroadcastContent: none\n                              localized:\n                                description: >-\n                                  Welcome to another saturday live for coders.\n                                  Today I am bringing in Wesley Cope. He is\n                                  currently at Appwrite, building Next Gen Open\n                                  Source backend as a service. With so much of\n                                  experience, post your interesting questions,\n                                  and I will ask him.\n                                title: >-\n                                  Saturday live with Wess from Appwrite | 20+\n                                  years of code\n                              publishedAt: '2023-06-17T17:05:17Z'\n                              tags:\n                                - live\n                                - coding\n                                - appwrite\n                                - technology\n                                - ai\n                              thumbnails:\n                                default:\n                                  height: 90\n                                  url: >-\n                                    https://i.ytimg.com/vi/RdEmvav6ZpE/default.jpg\n                                  width: 120\n                                high:\n                                  height: 360\n                                  url: >-\n                                    https://i.ytimg.com/vi/RdEmvav6ZpE/hqdefault.jpg\n                                  width: 480\n                                maxres:\n                                  height: 720\n                                  url: >-\n                                    https://i.ytimg.com/vi/RdEmvav6ZpE/maxresdefault.jpg\n                                  width: 1280\n                                medium:\n                                  height: 180\n                                  url: >-\n                                    https://i.ytimg.com/vi/RdEmvav6ZpE/mqdefault.jpg\n                                  width: 320\n                                standard:\n                                  height: 480\n                                  url: >-\n                                    https://i.ytimg.com/vi/RdEmvav6ZpE/sddefault.jpg\n                                  width: 640\n                              title: >-\n                                Saturday live with Wess from Appwrite | 20+\n                                years of code\n                            statistics:\n                              commentCount: '5'\n                              favoriteCount: '0'\n                              likeCount: '377'\n                              viewCount: '5238'\n                          kind: youtube#videoListResponse\n                      limit: 5\n                      nextPage: false\n                      page: 1\n                      previousPage: false\n                      totalItems: 58\n                      totalPages: 12\n                    message: Related videos fetched successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: videoId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: eLyISYdoVac\n  /public/youtube/playlists:\n    get:\n      tags:\n        - 📢 Public APIs\n      summary: Get playlists\n      description: \"This API endpoint allows users to retrieve playlists associated with the channel.\\n\\nBy accessing this endpoint, users can obtain a collection of playlists that belong to the channel.\\n\\nThis functionality is particularly useful for implementing a \\\"Playlists\\\" tab in the channel page UI design, where users can view the playlists conveniently.\\n\\n**Disclaimer:**\\n\\nData provided by the API is static and not real-time.\\n\\nThis simplifies the process of developing a\\_**YouTube clone**, allowing developers to solely focus on UI design and creativity, without worrying about complex API key configuration.\"\n      operationId: getPlaylists\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '5'\n      responses:\n        '200':\n          description: Get playlists\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '6488'\n            Date:\n              schema:\n                type: string\n                example: Sun, 23 Jul 2023 13:26:24 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1958-isic3h/l3iO4YhXyOSqLJYioyk4\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '470'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '493'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      currentPageItems:\n                        type: number\n                        example: 5\n                      data:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            id:\n                              type: string\n                              example: PLRAV69dS1uWTNPzObtUpbxe1L1lB97z2R\n                            kind:\n                              type: string\n                              example: youtube#playlist\n                            snippet:\n                              type: object\n                              properties:\n                                channelId:\n                                  type: string\n                                  example: UCXgGY0wkgOzynnHvSEVmE3A\n                                channelTitle:\n                                  type: string\n                                  example: Hitesh Choudhary\n                                description:\n                                  type: string\n                                  example: Learn flutter by building mobile apps\n                                localized:\n                                  type: object\n                                  properties:\n                                    description:\n                                      type: string\n                                      example: Learn flutter by building mobile apps\n                                    title:\n                                      type: string\n                                      example: Flutter | a project based learning\n                                publishedAt:\n                                  type: string\n                                  example: '2023-07-19T13:14:09Z'\n                                thumbnails:\n                                  type: object\n                                  properties:\n                                    default:\n                                      type: object\n                                      properties:\n                                        height:\n                                          type: number\n                                          example: 90\n                                        url:\n                                          type: string\n                                          example: >-\n                                            https://i.ytimg.com/vi/75hqPk6pq5g/default.jpg\n                                        width:\n                                          type: number\n                                          example: 120\n                                    high:\n                                      type: object\n                                      properties:\n                                        height:\n                                          type: number\n                                          example: 360\n                                        url:\n                                          type: string\n                                          example: >-\n                                            https://i.ytimg.com/vi/75hqPk6pq5g/hqdefault.jpg\n                                        width:\n                                          type: number\n                                          example: 480\n                                    maxres:\n                                      type: object\n                                      properties:\n                                        height:\n                                          type: number\n                                          example: 720\n                                        url:\n                                          type: string\n                                          example: >-\n                                            https://i.ytimg.com/vi/75hqPk6pq5g/maxresdefault.jpg\n                                        width:\n                                          type: number\n                                          example: 1280\n                                    medium:\n                                      type: object\n                                      properties:\n                                        height:\n                                          type: number\n                                          example: 180\n                                        url:\n                                          type: string\n                                          example: >-\n                                            https://i.ytimg.com/vi/75hqPk6pq5g/mqdefault.jpg\n                                        width:\n                                          type: number\n                                          example: 320\n                                    standard:\n                                      type: object\n                                      properties:\n                                        height:\n                                          type: number\n                                          example: 480\n                                        url:\n                                          type: string\n                                          example: >-\n                                            https://i.ytimg.com/vi/75hqPk6pq5g/sddefault.jpg\n                                        width:\n                                          type: number\n                                          example: 640\n                                title:\n                                  type: string\n                                  example: Flutter | a project based learning\n                        example:\n                          - id: PLRAV69dS1uWTNPzObtUpbxe1L1lB97z2R\n                            kind: youtube#playlist\n                            snippet:\n                              channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                              channelTitle: Hitesh Choudhary\n                              description: Learn flutter by building mobile apps\n                              localized:\n                                description: Learn flutter by building mobile apps\n                                title: Flutter | a project based learning\n                              publishedAt: '2023-07-19T13:14:09Z'\n                              thumbnails:\n                                default:\n                                  height: 90\n                                  url: >-\n                                    https://i.ytimg.com/vi/75hqPk6pq5g/default.jpg\n                                  width: 120\n                                high:\n                                  height: 360\n                                  url: >-\n                                    https://i.ytimg.com/vi/75hqPk6pq5g/hqdefault.jpg\n                                  width: 480\n                                maxres:\n                                  height: 720\n                                  url: >-\n                                    https://i.ytimg.com/vi/75hqPk6pq5g/maxresdefault.jpg\n                                  width: 1280\n                                medium:\n                                  height: 180\n                                  url: >-\n                                    https://i.ytimg.com/vi/75hqPk6pq5g/mqdefault.jpg\n                                  width: 320\n                                standard:\n                                  height: 480\n                                  url: >-\n                                    https://i.ytimg.com/vi/75hqPk6pq5g/sddefault.jpg\n                                  width: 640\n                              title: Flutter | a project based learning\n                          - id: PLRAV69dS1uWSx4erHGq8hW_GE-Eaj60r-\n                            kind: youtube#playlist\n                            snippet:\n                              channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                              channelTitle: Hitesh Choudhary\n                              description: >-\n                                Learn and master API with our open source\n                                project, https://freeapi.app\n                              localized:\n                                description: >-\n                                  Learn and master API with our open source\n                                  project, https://freeapi.app\n                                title: FreeAPI.app\n                              publishedAt: '2023-07-18T12:28:02Z'\n                              thumbnails:\n                                default:\n                                  height: 90\n                                  url: >-\n                                    https://i.ytimg.com/vi/xJq0EQMFGyg/default.jpg\n                                  width: 120\n                                high:\n                                  height: 360\n                                  url: >-\n                                    https://i.ytimg.com/vi/xJq0EQMFGyg/hqdefault.jpg\n                                  width: 480\n                                maxres:\n                                  height: 720\n                                  url: >-\n                                    https://i.ytimg.com/vi/xJq0EQMFGyg/maxresdefault.jpg\n                                  width: 1280\n                                medium:\n                                  height: 180\n                                  url: >-\n                                    https://i.ytimg.com/vi/xJq0EQMFGyg/mqdefault.jpg\n                                  width: 320\n                                standard:\n                                  height: 480\n                                  url: >-\n                                    https://i.ytimg.com/vi/xJq0EQMFGyg/sddefault.jpg\n                                  width: 640\n                              title: FreeAPI.app\n                          - id: PLRAV69dS1uWR7KF-zV6YPYtKYEHENETyE\n                            kind: youtube#playlist\n                            snippet:\n                              channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                              channelTitle: Hitesh Choudhary\n                              description: >-\n                                Learn about the lastest nextjs, new ways to\n                                create pages and API routes and middleware. This\n                                playlist will help you to understand nextjs in\n                                depth and you will be able to manage all\n                                projects easily after this.\n                              localized:\n                                description: >-\n                                  Learn about the lastest nextjs, new ways to\n                                  create pages and API routes and middleware.\n                                  This playlist will help you to understand\n                                  nextjs in depth and you will be able to manage\n                                  all projects easily after this.\n                                title: Nextjs Fullstack course on Authentication\n                              publishedAt: '2023-06-30T11:35:07Z'\n                              thumbnails:\n                                default:\n                                  height: 90\n                                  url: >-\n                                    https://i.ytimg.com/vi/iPGXk-i-VYU/default.jpg\n                                  width: 120\n                                high:\n                                  height: 360\n                                  url: >-\n                                    https://i.ytimg.com/vi/iPGXk-i-VYU/hqdefault.jpg\n                                  width: 480\n                                maxres:\n                                  height: 720\n                                  url: >-\n                                    https://i.ytimg.com/vi/iPGXk-i-VYU/maxresdefault.jpg\n                                  width: 1280\n                                medium:\n                                  height: 180\n                                  url: >-\n                                    https://i.ytimg.com/vi/iPGXk-i-VYU/mqdefault.jpg\n                                  width: 320\n                                standard:\n                                  height: 480\n                                  url: >-\n                                    https://i.ytimg.com/vi/iPGXk-i-VYU/sddefault.jpg\n                                  width: 640\n                              title: Nextjs Fullstack course on Authentication\n                          - id: PLRAV69dS1uWTjW8wHMv_fQSgU-8is6KTR\n                            kind: youtube#playlist\n                            snippet:\n                              channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                              channelTitle: Hitesh Choudhary\n                              description: >-\n                                Dive into our comprehensive AWS Certified Cloud\n                                Practitioner playlist. This series is tailored\n                                to assist you in your journey towards becoming\n                                an AWS Certified Cloud Practitioner. From\n                                understanding AWS core services to security\n                                basics and architectural principles, we've got\n                                you covered. Each video in this series breaks\n                                down complex cloud concepts into easily\n                                digestible segments, ensuring an optimal\n                                learning experience. Whether you're a novice\n                                just starting with AWS, or an IT professional\n                                looking to enhance your skills, this playlist is\n                                your stepping stone towards mastering the AWS\n                                cloud. Don't wait to transform your career,\n                                start your cloud certification journey today\n                              localized:\n                                description: >-\n                                  Dive into our comprehensive AWS Certified\n                                  Cloud Practitioner playlist. This series is\n                                  tailored to assist you in your journey towards\n                                  becoming an AWS Certified Cloud Practitioner.\n                                  From understanding AWS core services to\n                                  security basics and architectural principles,\n                                  we've got you covered. Each video in this\n                                  series breaks down complex cloud concepts into\n                                  easily digestible segments, ensuring an\n                                  optimal learning experience. Whether you're a\n                                  novice just starting with AWS, or an IT\n                                  professional looking to enhance your skills,\n                                  this playlist is your stepping stone towards\n                                  mastering the AWS cloud. Don't wait to\n                                  transform your career, start your cloud\n                                  certification journey today\n                                title: AWS Certified Cloud Practitioner\n                              publishedAt: '2023-06-16T17:56:18Z'\n                              thumbnails:\n                                default:\n                                  height: 90\n                                  url: >-\n                                    https://i.ytimg.com/vi/VXqIJ2SJh9s/default.jpg\n                                  width: 120\n                                high:\n                                  height: 360\n                                  url: >-\n                                    https://i.ytimg.com/vi/VXqIJ2SJh9s/hqdefault.jpg\n                                  width: 480\n                                maxres:\n                                  height: 720\n                                  url: >-\n                                    https://i.ytimg.com/vi/VXqIJ2SJh9s/maxresdefault.jpg\n                                  width: 1280\n                                medium:\n                                  height: 180\n                                  url: >-\n                                    https://i.ytimg.com/vi/VXqIJ2SJh9s/mqdefault.jpg\n                                  width: 320\n                                standard:\n                                  height: 480\n                                  url: >-\n                                    https://i.ytimg.com/vi/VXqIJ2SJh9s/sddefault.jpg\n                                  width: 640\n                              title: AWS Certified Cloud Practitioner\n                          - id: PLRAV69dS1uWRfTGI-ZEWIWVj0Vs5IJwkh\n                            kind: youtube#playlist\n                            snippet:\n                              channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                              channelTitle: Hitesh Choudhary\n                              description: >-\n                                A playlist to tease beginners by poking their\n                                sentiment around tools. If you know it, enjoy\n                                the comment section otherwise go on full rage\n                                mode in comments. 🫣\n                              localized:\n                                description: >-\n                                  A playlist to tease beginners by poking their\n                                  sentiment around tools. If you know it, enjoy\n                                  the comment section otherwise go on full rage\n                                  mode in comments. 🫣\n                                title: Is XYZ Dead\n                              publishedAt: '2023-05-18T12:12:46Z'\n                              thumbnails:\n                                default:\n                                  height: 90\n                                  url: >-\n                                    https://i.ytimg.com/vi/EQwmQLU1S6I/default.jpg\n                                  width: 120\n                                high:\n                                  height: 360\n                                  url: >-\n                                    https://i.ytimg.com/vi/EQwmQLU1S6I/hqdefault.jpg\n                                  width: 480\n                                maxres:\n                                  height: 720\n                                  url: >-\n                                    https://i.ytimg.com/vi/EQwmQLU1S6I/maxresdefault.jpg\n                                  width: 1280\n                                medium:\n                                  height: 180\n                                  url: >-\n                                    https://i.ytimg.com/vi/EQwmQLU1S6I/mqdefault.jpg\n                                  width: 320\n                                standard:\n                                  height: 480\n                                  url: >-\n                                    https://i.ytimg.com/vi/EQwmQLU1S6I/sddefault.jpg\n                                  width: 640\n                              title: Is XYZ Dead\n                      limit:\n                        type: number\n                        example: 5\n                      nextPage:\n                        type: boolean\n                        example: false\n                      page:\n                        type: number\n                        example: 1\n                      previousPage:\n                        type: boolean\n                        example: false\n                      totalItems:\n                        type: number\n                        example: 20\n                      totalPages:\n                        type: number\n                        example: 4\n                  message:\n                    type: string\n                    example: Playlists fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get playlists:\n                  value:\n                    data:\n                      currentPageItems: 5\n                      data:\n                        - id: PLRAV69dS1uWTNPzObtUpbxe1L1lB97z2R\n                          kind: youtube#playlist\n                          snippet:\n                            channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                            channelTitle: Hitesh Choudhary\n                            description: Learn flutter by building mobile apps\n                            localized:\n                              description: Learn flutter by building mobile apps\n                              title: Flutter | a project based learning\n                            publishedAt: '2023-07-19T13:14:09Z'\n                            thumbnails:\n                              default:\n                                height: 90\n                                url: https://i.ytimg.com/vi/75hqPk6pq5g/default.jpg\n                                width: 120\n                              high:\n                                height: 360\n                                url: >-\n                                  https://i.ytimg.com/vi/75hqPk6pq5g/hqdefault.jpg\n                                width: 480\n                              maxres:\n                                height: 720\n                                url: >-\n                                  https://i.ytimg.com/vi/75hqPk6pq5g/maxresdefault.jpg\n                                width: 1280\n                              medium:\n                                height: 180\n                                url: >-\n                                  https://i.ytimg.com/vi/75hqPk6pq5g/mqdefault.jpg\n                                width: 320\n                              standard:\n                                height: 480\n                                url: >-\n                                  https://i.ytimg.com/vi/75hqPk6pq5g/sddefault.jpg\n                                width: 640\n                            title: Flutter | a project based learning\n                        - id: PLRAV69dS1uWSx4erHGq8hW_GE-Eaj60r-\n                          kind: youtube#playlist\n                          snippet:\n                            channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                            channelTitle: Hitesh Choudhary\n                            description: >-\n                              Learn and master API with our open source project,\n                              https://freeapi.app\n                            localized:\n                              description: >-\n                                Learn and master API with our open source\n                                project, https://freeapi.app\n                              title: FreeAPI.app\n                            publishedAt: '2023-07-18T12:28:02Z'\n                            thumbnails:\n                              default:\n                                height: 90\n                                url: https://i.ytimg.com/vi/xJq0EQMFGyg/default.jpg\n                                width: 120\n                              high:\n                                height: 360\n                                url: >-\n                                  https://i.ytimg.com/vi/xJq0EQMFGyg/hqdefault.jpg\n                                width: 480\n                              maxres:\n                                height: 720\n                                url: >-\n                                  https://i.ytimg.com/vi/xJq0EQMFGyg/maxresdefault.jpg\n                                width: 1280\n                              medium:\n                                height: 180\n                                url: >-\n                                  https://i.ytimg.com/vi/xJq0EQMFGyg/mqdefault.jpg\n                                width: 320\n                              standard:\n                                height: 480\n                                url: >-\n                                  https://i.ytimg.com/vi/xJq0EQMFGyg/sddefault.jpg\n                                width: 640\n                            title: FreeAPI.app\n                        - id: PLRAV69dS1uWR7KF-zV6YPYtKYEHENETyE\n                          kind: youtube#playlist\n                          snippet:\n                            channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                            channelTitle: Hitesh Choudhary\n                            description: >-\n                              Learn about the lastest nextjs, new ways to create\n                              pages and API routes and middleware. This playlist\n                              will help you to understand nextjs in depth and\n                              you will be able to manage all projects easily\n                              after this.\n                            localized:\n                              description: >-\n                                Learn about the lastest nextjs, new ways to\n                                create pages and API routes and middleware. This\n                                playlist will help you to understand nextjs in\n                                depth and you will be able to manage all\n                                projects easily after this.\n                              title: Nextjs Fullstack course on Authentication\n                            publishedAt: '2023-06-30T11:35:07Z'\n                            thumbnails:\n                              default:\n                                height: 90\n                                url: https://i.ytimg.com/vi/iPGXk-i-VYU/default.jpg\n                                width: 120\n                              high:\n                                height: 360\n                                url: >-\n                                  https://i.ytimg.com/vi/iPGXk-i-VYU/hqdefault.jpg\n                                width: 480\n                              maxres:\n                                height: 720\n                                url: >-\n                                  https://i.ytimg.com/vi/iPGXk-i-VYU/maxresdefault.jpg\n                                width: 1280\n                              medium:\n                                height: 180\n                                url: >-\n                                  https://i.ytimg.com/vi/iPGXk-i-VYU/mqdefault.jpg\n                                width: 320\n                              standard:\n                                height: 480\n                                url: >-\n                                  https://i.ytimg.com/vi/iPGXk-i-VYU/sddefault.jpg\n                                width: 640\n                            title: Nextjs Fullstack course on Authentication\n                        - id: PLRAV69dS1uWTjW8wHMv_fQSgU-8is6KTR\n                          kind: youtube#playlist\n                          snippet:\n                            channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                            channelTitle: Hitesh Choudhary\n                            description: >-\n                              Dive into our comprehensive AWS Certified Cloud\n                              Practitioner playlist. This series is tailored to\n                              assist you in your journey towards becoming an AWS\n                              Certified Cloud Practitioner. From understanding\n                              AWS core services to security basics and\n                              architectural principles, we've got you covered.\n                              Each video in this series breaks down complex\n                              cloud concepts into easily digestible segments,\n                              ensuring an optimal learning experience. Whether\n                              you're a novice just starting with AWS, or an IT\n                              professional looking to enhance your skills, this\n                              playlist is your stepping stone towards mastering\n                              the AWS cloud. Don't wait to transform your\n                              career, start your cloud certification journey\n                              today\n                            localized:\n                              description: >-\n                                Dive into our comprehensive AWS Certified Cloud\n                                Practitioner playlist. This series is tailored\n                                to assist you in your journey towards becoming\n                                an AWS Certified Cloud Practitioner. From\n                                understanding AWS core services to security\n                                basics and architectural principles, we've got\n                                you covered. Each video in this series breaks\n                                down complex cloud concepts into easily\n                                digestible segments, ensuring an optimal\n                                learning experience. Whether you're a novice\n                                just starting with AWS, or an IT professional\n                                looking to enhance your skills, this playlist is\n                                your stepping stone towards mastering the AWS\n                                cloud. Don't wait to transform your career,\n                                start your cloud certification journey today\n                              title: AWS Certified Cloud Practitioner\n                            publishedAt: '2023-06-16T17:56:18Z'\n                            thumbnails:\n                              default:\n                                height: 90\n                                url: https://i.ytimg.com/vi/VXqIJ2SJh9s/default.jpg\n                                width: 120\n                              high:\n                                height: 360\n                                url: >-\n                                  https://i.ytimg.com/vi/VXqIJ2SJh9s/hqdefault.jpg\n                                width: 480\n                              maxres:\n                                height: 720\n                                url: >-\n                                  https://i.ytimg.com/vi/VXqIJ2SJh9s/maxresdefault.jpg\n                                width: 1280\n                              medium:\n                                height: 180\n                                url: >-\n                                  https://i.ytimg.com/vi/VXqIJ2SJh9s/mqdefault.jpg\n                                width: 320\n                              standard:\n                                height: 480\n                                url: >-\n                                  https://i.ytimg.com/vi/VXqIJ2SJh9s/sddefault.jpg\n                                width: 640\n                            title: AWS Certified Cloud Practitioner\n                        - id: PLRAV69dS1uWRfTGI-ZEWIWVj0Vs5IJwkh\n                          kind: youtube#playlist\n                          snippet:\n                            channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                            channelTitle: Hitesh Choudhary\n                            description: >-\n                              A playlist to tease beginners by poking their\n                              sentiment around tools. If you know it, enjoy the\n                              comment section otherwise go on full rage mode in\n                              comments. 🫣\n                            localized:\n                              description: >-\n                                A playlist to tease beginners by poking their\n                                sentiment around tools. If you know it, enjoy\n                                the comment section otherwise go on full rage\n                                mode in comments. 🫣\n                              title: Is XYZ Dead\n                            publishedAt: '2023-05-18T12:12:46Z'\n                            thumbnails:\n                              default:\n                                height: 90\n                                url: https://i.ytimg.com/vi/EQwmQLU1S6I/default.jpg\n                                width: 120\n                              high:\n                                height: 360\n                                url: >-\n                                  https://i.ytimg.com/vi/EQwmQLU1S6I/hqdefault.jpg\n                                width: 480\n                              maxres:\n                                height: 720\n                                url: >-\n                                  https://i.ytimg.com/vi/EQwmQLU1S6I/maxresdefault.jpg\n                                width: 1280\n                              medium:\n                                height: 180\n                                url: >-\n                                  https://i.ytimg.com/vi/EQwmQLU1S6I/mqdefault.jpg\n                                width: 320\n                              standard:\n                                height: 480\n                                url: >-\n                                  https://i.ytimg.com/vi/EQwmQLU1S6I/sddefault.jpg\n                                width: 640\n                            title: Is XYZ Dead\n                      limit: 5\n                      nextPage: false\n                      page: 1\n                      previousPage: false\n                      totalItems: 20\n                      totalPages: 4\n                    message: Playlists fetched successfully\n                    statusCode: 200\n                    success: true\n  /public/youtube/playlists/{playlistId}:\n    get:\n      tags:\n        - 📢 Public APIs\n      summary: Get playlist details and items\n      description: >-\n        This API endpoint provides the details of a playlist, including playlist\n        metadata and the videos included in the playlist, based on the specified\n        playlist ID.\n\n\n        When accessing this endpoint and providing a valid playlist ID as a\n        parameter, you will receive a response containing comprehensive\n        information about the playlist, such as its title, description, and\n        other metadata.\n\n\n        Additionally, the response will include a list of videos that are part\n        of the playlist, enabling you to access the video details.\n\n\n        **Disclaimer:**\n\n\n        Data provided by the API is static and not real-time.\n\n\n        This simplifies the process of developing a **YouTube clone**, allowing\n        developers to solely focus on UI design and creativity, without worrying\n        about complex API key configuration.\n      operationId: getPlaylistDetailsAndItems\n      responses:\n        '200':\n          description: Get playlist details and items\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '6461'\n            Date:\n              schema:\n                type: string\n                example: Sun, 23 Jul 2023 12:34:40 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"193d-cM8Wa3iq2lCvzj4G5zJuDuaHpMs\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '498'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '873'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      channel:\n                        type: object\n                        properties:\n                          info:\n                            type: object\n                            properties:\n                              country:\n                                type: string\n                                example: IN\n                              customUrl:\n                                type: string\n                                example: '@hiteshchoudharydotcom'\n                              description:\n                                type: string\n                                example: >-\n                                  Website: https://hiteshchoudhary.com\n\n                                  Hey there everyone, Hitesh here back again\n                                  with another video!\n\n                                  This means I create a lot of videos, every\n                                  single week. I cover a wide range of subjects\n                                  like programming, what's latest in tech, new\n                                  frameworks, open-source products etc. I keep\n                                  my interest in a wide area of tech like\n                                  Javascript, Python, PHP, Machine Learning,\n                                  etc.\n\n\n                                  For the Business purpose, Sponsorships and\n                                  invitation, reach out at\n                                  team@hiteshchoudhary.com\n\n\n                                  NOTE: Personal questions and code-related\n                                  questions are not answered at this email. Post\n                                  them in the course discussion section or react\n                                  me out at social platforms.\n\n\n                                  #iWriteCode\n\n\n                                  Instagram:\n                                  https://instagram.com/hiteshchoudharyofficial\n\n                                  Facebook: www.fb.com/HiteshChoudharyPage\n                              localized:\n                                type: object\n                                properties:\n                                  description:\n                                    type: string\n                                    example: >-\n                                      Website: https://hiteshchoudhary.com\n\n                                      Hey there everyone, Hitesh here back again\n                                      with another video!\n\n                                      This means I create a lot of videos, every\n                                      single week. I cover a wide range of\n                                      subjects like programming, what's latest\n                                      in tech, new frameworks, open-source\n                                      products etc. I keep my interest in a wide\n                                      area of tech like Javascript, Python, PHP,\n                                      Machine Learning, etc.\n\n\n                                      For the Business purpose, Sponsorships and\n                                      invitation, reach out at\n                                      team@hiteshchoudhary.com\n\n\n                                      NOTE: Personal questions and code-related\n                                      questions are not answered at this email.\n                                      Post them in the course discussion section\n                                      or react me out at social platforms.\n\n\n                                      #iWriteCode\n\n\n                                      Instagram:\n                                      https://instagram.com/hiteshchoudharyofficial\n\n                                      Facebook: www.fb.com/HiteshChoudharyPage\n                                  title:\n                                    type: string\n                                    example: Hitesh Choudhary\n                              publishedAt:\n                                type: string\n                                example: '2011-10-24T10:25:16Z'\n                              thumbnails:\n                                type: object\n                                properties:\n                                  default:\n                                    type: object\n                                    properties:\n                                      height:\n                                        type: number\n                                        example: 88\n                                      url:\n                                        type: string\n                                        example: >-\n                                          https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s88-c-k-c0x00ffffff-no-rj\n                                      width:\n                                        type: number\n                                        example: 88\n                                  high:\n                                    type: object\n                                    properties:\n                                      height:\n                                        type: number\n                                        example: 800\n                                      url:\n                                        type: string\n                                        example: >-\n                                          https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s800-c-k-c0x00ffffff-no-rj\n                                      width:\n                                        type: number\n                                        example: 800\n                                  medium:\n                                    type: object\n                                    properties:\n                                      height:\n                                        type: number\n                                        example: 240\n                                      url:\n                                        type: string\n                                        example: >-\n                                          https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s240-c-k-c0x00ffffff-no-rj\n                                      width:\n                                        type: number\n                                        example: 240\n                              title:\n                                type: string\n                                example: Hitesh Choudhary\n                          statistics:\n                            type: object\n                            properties:\n                              hiddenSubscriberCount:\n                                type: boolean\n                                example: false\n                              subscriberCount:\n                                type: string\n                                example: '801000'\n                              videoCount:\n                                type: string\n                                example: '1442'\n                              viewCount:\n                                type: string\n                                example: '54384618'\n                      playlist:\n                        type: object\n                        properties:\n                          id:\n                            type: string\n                            example: PLRAV69dS1uWSx4erHGq8hW_GE-Eaj60r-\n                          kind:\n                            type: string\n                            example: youtube#playlist\n                          snippet:\n                            type: object\n                            properties:\n                              channelId:\n                                type: string\n                                example: UCXgGY0wkgOzynnHvSEVmE3A\n                              channelTitle:\n                                type: string\n                                example: Hitesh Choudhary\n                              description:\n                                type: string\n                                example: >-\n                                  Learn and master API with our open source\n                                  project, https://freeapi.app\n                              localized:\n                                type: object\n                                properties:\n                                  description:\n                                    type: string\n                                    example: >-\n                                      Learn and master API with our open source\n                                      project, https://freeapi.app\n                                  title:\n                                    type: string\n                                    example: FreeAPI.app\n                              publishedAt:\n                                type: string\n                                example: '2023-07-18T12:28:02Z'\n                              thumbnails:\n                                type: object\n                                properties:\n                                  default:\n                                    type: object\n                                    properties:\n                                      height:\n                                        type: number\n                                        example: 90\n                                      url:\n                                        type: string\n                                        example: >-\n                                          https://i.ytimg.com/vi/xJq0EQMFGyg/default.jpg\n                                      width:\n                                        type: number\n                                        example: 120\n                                  high:\n                                    type: object\n                                    properties:\n                                      height:\n                                        type: number\n                                        example: 360\n                                      url:\n                                        type: string\n                                        example: >-\n                                          https://i.ytimg.com/vi/xJq0EQMFGyg/hqdefault.jpg\n                                      width:\n                                        type: number\n                                        example: 480\n                                  maxres:\n                                    type: object\n                                    properties:\n                                      height:\n                                        type: number\n                                        example: 720\n                                      url:\n                                        type: string\n                                        example: >-\n                                          https://i.ytimg.com/vi/xJq0EQMFGyg/maxresdefault.jpg\n                                      width:\n                                        type: number\n                                        example: 1280\n                                  medium:\n                                    type: object\n                                    properties:\n                                      height:\n                                        type: number\n                                        example: 180\n                                      url:\n                                        type: string\n                                        example: >-\n                                          https://i.ytimg.com/vi/xJq0EQMFGyg/mqdefault.jpg\n                                      width:\n                                        type: number\n                                        example: 320\n                                  standard:\n                                    type: object\n                                    properties:\n                                      height:\n                                        type: number\n                                        example: 480\n                                      url:\n                                        type: string\n                                        example: >-\n                                          https://i.ytimg.com/vi/xJq0EQMFGyg/sddefault.jpg\n                                      width:\n                                        type: number\n                                        example: 640\n                              title:\n                                type: string\n                                example: FreeAPI.app\n                      playlistItems:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            id:\n                              type: string\n                              example: >-\n                                UExSQVY2OWRTMXVXU3g0ZXJIR3E4aFdfR0UtRWFqNjByLS41NkI0NEY2RDEwNTU3Q0M2\n                            kind:\n                              type: string\n                              example: youtube#playlistItem\n                            snippet:\n                              type: object\n                              properties:\n                                channelId:\n                                  type: string\n                                  example: UCXgGY0wkgOzynnHvSEVmE3A\n                                channelTitle:\n                                  type: string\n                                  example: Hitesh Choudhary\n                                description:\n                                  type: string\n                                  example: >-\n                                    Learn about API and master them with our new\n                                    open source project. Check it out here:\n\n                                    https://freeapi.app\n\n\n                                    Facebook:\n                                    https://www.facebook.com/HiteshChoudharyPage\n\n                                    Instagram:\n                                    https://instagram.com/hiteshchoudharyofficial\n\n                                    homepage: http://www.hiteshChoudhary.com\n\n\n                                    Disclaimer:\n\n                                    It doesn't feel good to have a disclaimer in\n                                    every video but this is how the world is\n                                    right now. \n\n                                    All videos are for educational purposes and\n                                    use them wisely. Any video may have a slight\n                                    mistake, please take decisions based on your\n                                    research. This video is not forcing anything\n                                    on you.\n\n\n                                    All Amazon links are affiliate links (If\n                                    any).\n                                playlistId:\n                                  type: string\n                                  example: PLRAV69dS1uWSx4erHGq8hW_GE-Eaj60r-\n                                position:\n                                  type: number\n                                  example: 0\n                                publishedAt:\n                                  type: string\n                                  example: '2023-07-18T12:28:08Z'\n                                resourceId:\n                                  type: object\n                                  properties:\n                                    kind:\n                                      type: string\n                                      example: youtube#video\n                                    videoId:\n                                      type: string\n                                      example: xJq0EQMFGyg\n                                thumbnails:\n                                  type: object\n                                  properties:\n                                    default:\n                                      type: object\n                                      properties:\n                                        height:\n                                          type: number\n                                          example: 90\n                                        url:\n                                          type: string\n                                          example: >-\n                                            https://i.ytimg.com/vi/xJq0EQMFGyg/default.jpg\n                                        width:\n                                          type: number\n                                          example: 120\n                                    high:\n                                      type: object\n                                      properties:\n                                        height:\n                                          type: number\n                                          example: 360\n                                        url:\n                                          type: string\n                                          example: >-\n                                            https://i.ytimg.com/vi/xJq0EQMFGyg/hqdefault.jpg\n                                        width:\n                                          type: number\n                                          example: 480\n                                    maxres:\n                                      type: object\n                                      properties:\n                                        height:\n                                          type: number\n                                          example: 720\n                                        url:\n                                          type: string\n                                          example: >-\n                                            https://i.ytimg.com/vi/xJq0EQMFGyg/maxresdefault.jpg\n                                        width:\n                                          type: number\n                                          example: 1280\n                                    medium:\n                                      type: object\n                                      properties:\n                                        height:\n                                          type: number\n                                          example: 180\n                                        url:\n                                          type: string\n                                          example: >-\n                                            https://i.ytimg.com/vi/xJq0EQMFGyg/mqdefault.jpg\n                                        width:\n                                          type: number\n                                          example: 320\n                                    standard:\n                                      type: object\n                                      properties:\n                                        height:\n                                          type: number\n                                          example: 480\n                                        url:\n                                          type: string\n                                          example: >-\n                                            https://i.ytimg.com/vi/xJq0EQMFGyg/sddefault.jpg\n                                        width:\n                                          type: number\n                                          example: 640\n                                title:\n                                  type: string\n                                  example: Open Source Project Launch | FreeAPI.app\n                                videoOwnerChannelId:\n                                  type: string\n                                  example: UCXgGY0wkgOzynnHvSEVmE3A\n                                videoOwnerChannelTitle:\n                                  type: string\n                                  example: Hitesh Choudhary\n                        example:\n                          - id: >-\n                              UExSQVY2OWRTMXVXU3g0ZXJIR3E4aFdfR0UtRWFqNjByLS41NkI0NEY2RDEwNTU3Q0M2\n                            kind: youtube#playlistItem\n                            snippet:\n                              channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                              channelTitle: Hitesh Choudhary\n                              description: >-\n                                Learn about API and master them with our new\n                                open source project. Check it out here:\n\n                                https://freeapi.app\n\n\n                                Facebook:\n                                https://www.facebook.com/HiteshChoudharyPage\n\n                                Instagram:\n                                https://instagram.com/hiteshchoudharyofficial\n\n                                homepage: http://www.hiteshChoudhary.com\n\n\n                                Disclaimer:\n\n                                It doesn't feel good to have a disclaimer in\n                                every video but this is how the world is right\n                                now. \n\n                                All videos are for educational purposes and use\n                                them wisely. Any video may have a slight\n                                mistake, please take decisions based on your\n                                research. This video is not forcing anything on\n                                you.\n\n\n                                All Amazon links are affiliate links (If any).\n                              playlistId: PLRAV69dS1uWSx4erHGq8hW_GE-Eaj60r-\n                              position: 0\n                              publishedAt: '2023-07-18T12:28:08Z'\n                              resourceId:\n                                kind: youtube#video\n                                videoId: xJq0EQMFGyg\n                              thumbnails:\n                                default:\n                                  height: 90\n                                  url: >-\n                                    https://i.ytimg.com/vi/xJq0EQMFGyg/default.jpg\n                                  width: 120\n                                high:\n                                  height: 360\n                                  url: >-\n                                    https://i.ytimg.com/vi/xJq0EQMFGyg/hqdefault.jpg\n                                  width: 480\n                                maxres:\n                                  height: 720\n                                  url: >-\n                                    https://i.ytimg.com/vi/xJq0EQMFGyg/maxresdefault.jpg\n                                  width: 1280\n                                medium:\n                                  height: 180\n                                  url: >-\n                                    https://i.ytimg.com/vi/xJq0EQMFGyg/mqdefault.jpg\n                                  width: 320\n                                standard:\n                                  height: 480\n                                  url: >-\n                                    https://i.ytimg.com/vi/xJq0EQMFGyg/sddefault.jpg\n                                  width: 640\n                              title: Open Source Project Launch | FreeAPI.app\n                              videoOwnerChannelId: UCXgGY0wkgOzynnHvSEVmE3A\n                              videoOwnerChannelTitle: Hitesh Choudhary\n                          - id: >-\n                              UExSQVY2OWRTMXVXU3g0ZXJIR3E4aFdfR0UtRWFqNjByLS4yODlGNEE0NkRGMEEzMEQy\n                            kind: youtube#playlistItem\n                            snippet:\n                              channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                              channelTitle: Hitesh Choudhary\n                              description: >-\n                                https://hc.lco.dev/jscamp2\n\n                                Wallpaper: https://imgur.com/a/FYHfk\n\n\n                                Facebook:\n                                https://www.facebook.com/HiteshChoudharyPage\n\n                                Instagram:\n                                https://instagram.com/hiteshchoudharyofficial\n\n                                homepage: http://www.hiteshChoudhary.com\n\n\n                                Disclaimer:\n\n                                It doesn't feel good to have a disclaimer in\n                                every video but this is how the world is right\n                                now. \n\n                                All videos are for educational purposes and use\n                                them wisely. Any video may have a slight\n                                mistake, please take decisions based on your\n                                research. This video is not forcing anything on\n                                you.\n\n\n                                All Amazon links are affiliate links (If any).\n                              playlistId: PLRAV69dS1uWSx4erHGq8hW_GE-Eaj60r-\n                              position: 1\n                              publishedAt: '2023-07-18T12:49:04Z'\n                              resourceId:\n                                kind: youtube#video\n                                videoId: dtzfTePFKgM\n                              thumbnails:\n                                default:\n                                  height: 90\n                                  url: >-\n                                    https://i.ytimg.com/vi/dtzfTePFKgM/default.jpg\n                                  width: 120\n                                high:\n                                  height: 360\n                                  url: >-\n                                    https://i.ytimg.com/vi/dtzfTePFKgM/hqdefault.jpg\n                                  width: 480\n                                maxres:\n                                  height: 720\n                                  url: >-\n                                    https://i.ytimg.com/vi/dtzfTePFKgM/maxresdefault.jpg\n                                  width: 1280\n                                medium:\n                                  height: 180\n                                  url: >-\n                                    https://i.ytimg.com/vi/dtzfTePFKgM/mqdefault.jpg\n                                  width: 320\n                                standard:\n                                  height: 480\n                                  url: >-\n                                    https://i.ytimg.com/vi/dtzfTePFKgM/sddefault.jpg\n                                  width: 640\n                              title: FreeAPI local setup with npm\n                              videoOwnerChannelId: UCXgGY0wkgOzynnHvSEVmE3A\n                              videoOwnerChannelTitle: Hitesh Choudhary\n                  message:\n                    type: string\n                    example: Playlist fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get playlist details and items:\n                  value:\n                    data:\n                      channel:\n                        info:\n                          country: IN\n                          customUrl: '@hiteshchoudharydotcom'\n                          description: >-\n                            Website: https://hiteshchoudhary.com\n\n                            Hey there everyone, Hitesh here back again with\n                            another video!\n\n                            This means I create a lot of videos, every single\n                            week. I cover a wide range of subjects like\n                            programming, what's latest in tech, new frameworks,\n                            open-source products etc. I keep my interest in a\n                            wide area of tech like Javascript, Python, PHP,\n                            Machine Learning, etc.\n\n\n                            For the Business purpose, Sponsorships and\n                            invitation, reach out at team@hiteshchoudhary.com\n\n\n                            NOTE: Personal questions and code-related questions\n                            are not answered at this email. Post them in the\n                            course discussion section or react me out at social\n                            platforms.\n\n\n                            #iWriteCode\n\n\n                            Instagram:\n                            https://instagram.com/hiteshchoudharyofficial\n\n                            Facebook: www.fb.com/HiteshChoudharyPage\n                          localized:\n                            description: >-\n                              Website: https://hiteshchoudhary.com\n\n                              Hey there everyone, Hitesh here back again with\n                              another video!\n\n                              This means I create a lot of videos, every single\n                              week. I cover a wide range of subjects like\n                              programming, what's latest in tech, new\n                              frameworks, open-source products etc. I keep my\n                              interest in a wide area of tech like Javascript,\n                              Python, PHP, Machine Learning, etc.\n\n\n                              For the Business purpose, Sponsorships and\n                              invitation, reach out at team@hiteshchoudhary.com\n\n\n                              NOTE: Personal questions and code-related\n                              questions are not answered at this email. Post\n                              them in the course discussion section or react me\n                              out at social platforms.\n\n\n                              #iWriteCode\n\n\n                              Instagram:\n                              https://instagram.com/hiteshchoudharyofficial\n\n                              Facebook: www.fb.com/HiteshChoudharyPage\n                            title: Hitesh Choudhary\n                          publishedAt: '2011-10-24T10:25:16Z'\n                          thumbnails:\n                            default:\n                              height: 88\n                              url: >-\n                                https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s88-c-k-c0x00ffffff-no-rj\n                              width: 88\n                            high:\n                              height: 800\n                              url: >-\n                                https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s800-c-k-c0x00ffffff-no-rj\n                              width: 800\n                            medium:\n                              height: 240\n                              url: >-\n                                https://yt3.ggpht.com/ytc/AOPolaTLK52bUQ_YHxgb7RK8GMt_bksIMavy-aEZ9fUOvg=s240-c-k-c0x00ffffff-no-rj\n                              width: 240\n                          title: Hitesh Choudhary\n                        statistics:\n                          hiddenSubscriberCount: false\n                          subscriberCount: '801000'\n                          videoCount: '1442'\n                          viewCount: '54384618'\n                      playlist:\n                        id: PLRAV69dS1uWSx4erHGq8hW_GE-Eaj60r-\n                        kind: youtube#playlist\n                        snippet:\n                          channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                          channelTitle: Hitesh Choudhary\n                          description: >-\n                            Learn and master API with our open source project,\n                            https://freeapi.app\n                          localized:\n                            description: >-\n                              Learn and master API with our open source project,\n                              https://freeapi.app\n                            title: FreeAPI.app\n                          publishedAt: '2023-07-18T12:28:02Z'\n                          thumbnails:\n                            default:\n                              height: 90\n                              url: https://i.ytimg.com/vi/xJq0EQMFGyg/default.jpg\n                              width: 120\n                            high:\n                              height: 360\n                              url: https://i.ytimg.com/vi/xJq0EQMFGyg/hqdefault.jpg\n                              width: 480\n                            maxres:\n                              height: 720\n                              url: >-\n                                https://i.ytimg.com/vi/xJq0EQMFGyg/maxresdefault.jpg\n                              width: 1280\n                            medium:\n                              height: 180\n                              url: https://i.ytimg.com/vi/xJq0EQMFGyg/mqdefault.jpg\n                              width: 320\n                            standard:\n                              height: 480\n                              url: https://i.ytimg.com/vi/xJq0EQMFGyg/sddefault.jpg\n                              width: 640\n                          title: FreeAPI.app\n                      playlistItems:\n                        - id: >-\n                            UExSQVY2OWRTMXVXU3g0ZXJIR3E4aFdfR0UtRWFqNjByLS41NkI0NEY2RDEwNTU3Q0M2\n                          kind: youtube#playlistItem\n                          snippet:\n                            channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                            channelTitle: Hitesh Choudhary\n                            description: >-\n                              Learn about API and master them with our new open\n                              source project. Check it out here:\n\n                              https://freeapi.app\n\n\n                              Facebook:\n                              https://www.facebook.com/HiteshChoudharyPage\n\n                              Instagram:\n                              https://instagram.com/hiteshchoudharyofficial\n\n                              homepage: http://www.hiteshChoudhary.com\n\n\n                              Disclaimer:\n\n                              It doesn't feel good to have a disclaimer in every\n                              video but this is how the world is right now. \n\n                              All videos are for educational purposes and use\n                              them wisely. Any video may have a slight mistake,\n                              please take decisions based on your research. This\n                              video is not forcing anything on you.\n\n\n                              All Amazon links are affiliate links (If any).\n                            playlistId: PLRAV69dS1uWSx4erHGq8hW_GE-Eaj60r-\n                            position: 0\n                            publishedAt: '2023-07-18T12:28:08Z'\n                            resourceId:\n                              kind: youtube#video\n                              videoId: xJq0EQMFGyg\n                            thumbnails:\n                              default:\n                                height: 90\n                                url: https://i.ytimg.com/vi/xJq0EQMFGyg/default.jpg\n                                width: 120\n                              high:\n                                height: 360\n                                url: >-\n                                  https://i.ytimg.com/vi/xJq0EQMFGyg/hqdefault.jpg\n                                width: 480\n                              maxres:\n                                height: 720\n                                url: >-\n                                  https://i.ytimg.com/vi/xJq0EQMFGyg/maxresdefault.jpg\n                                width: 1280\n                              medium:\n                                height: 180\n                                url: >-\n                                  https://i.ytimg.com/vi/xJq0EQMFGyg/mqdefault.jpg\n                                width: 320\n                              standard:\n                                height: 480\n                                url: >-\n                                  https://i.ytimg.com/vi/xJq0EQMFGyg/sddefault.jpg\n                                width: 640\n                            title: Open Source Project Launch | FreeAPI.app\n                            videoOwnerChannelId: UCXgGY0wkgOzynnHvSEVmE3A\n                            videoOwnerChannelTitle: Hitesh Choudhary\n                        - id: >-\n                            UExSQVY2OWRTMXVXU3g0ZXJIR3E4aFdfR0UtRWFqNjByLS4yODlGNEE0NkRGMEEzMEQy\n                          kind: youtube#playlistItem\n                          snippet:\n                            channelId: UCXgGY0wkgOzynnHvSEVmE3A\n                            channelTitle: Hitesh Choudhary\n                            description: >-\n                              https://hc.lco.dev/jscamp2\n\n                              Wallpaper: https://imgur.com/a/FYHfk\n\n\n                              Facebook:\n                              https://www.facebook.com/HiteshChoudharyPage\n\n                              Instagram:\n                              https://instagram.com/hiteshchoudharyofficial\n\n                              homepage: http://www.hiteshChoudhary.com\n\n\n                              Disclaimer:\n\n                              It doesn't feel good to have a disclaimer in every\n                              video but this is how the world is right now. \n\n                              All videos are for educational purposes and use\n                              them wisely. Any video may have a slight mistake,\n                              please take decisions based on your research. This\n                              video is not forcing anything on you.\n\n\n                              All Amazon links are affiliate links (If any).\n                            playlistId: PLRAV69dS1uWSx4erHGq8hW_GE-Eaj60r-\n                            position: 1\n                            publishedAt: '2023-07-18T12:49:04Z'\n                            resourceId:\n                              kind: youtube#video\n                              videoId: dtzfTePFKgM\n                            thumbnails:\n                              default:\n                                height: 90\n                                url: https://i.ytimg.com/vi/dtzfTePFKgM/default.jpg\n                                width: 120\n                              high:\n                                height: 360\n                                url: >-\n                                  https://i.ytimg.com/vi/dtzfTePFKgM/hqdefault.jpg\n                                width: 480\n                              maxres:\n                                height: 720\n                                url: >-\n                                  https://i.ytimg.com/vi/dtzfTePFKgM/maxresdefault.jpg\n                                width: 1280\n                              medium:\n                                height: 180\n                                url: >-\n                                  https://i.ytimg.com/vi/dtzfTePFKgM/mqdefault.jpg\n                                width: 320\n                              standard:\n                                height: 480\n                                url: >-\n                                  https://i.ytimg.com/vi/dtzfTePFKgM/sddefault.jpg\n                                width: 640\n                            title: FreeAPI local setup with npm\n                            videoOwnerChannelId: UCXgGY0wkgOzynnHvSEVmE3A\n                            videoOwnerChannelTitle: Hitesh Choudhary\n                    message: Playlist fetched successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: playlistId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: PLRAV69dS1uWSx4erHGq8hW_GE-Eaj60r-\n  /kitchen-sink/http-methods/get:\n    get:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Get request\n      description: >-\n        The `GET` method is used to retrieve or fetch a representation of a\n        resource from a server.\n\n\n        It is a **safe** and **idempotent** operation, meaning it should not\n        have any side effects on the server's data.\n\n\n        `GET` requests are read-only and should not modify the state of the\n        server or its resources.\n\n\n        **Typical Usage:** `GET` requests are commonly used to retrieve data\n        from a server.\n\n\n        _**For example,**_\n\n\n        fetching a user's profile information, retrieving a list of products, or\n        fetching specific data based on query parameters.\n      operationId: getRequest\n      responses:\n        '200':\n          description: Get request\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '898'\n            Date:\n              schema:\n                type: string\n                example: Wed, 14 Jun 2023 13:35:31 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"382-AoDIapJ3IUv211lkb6KNp4tySyw\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      headers:\n                        type: object\n                        properties:\n                          accept:\n                            type: string\n                            example: '*/*'\n                          accept-encoding:\n                            type: string\n                            example: gzip, deflate, br\n                          cache-control:\n                            type: string\n                            example: no-cache\n                          connection:\n                            type: string\n                            example: keep-alive\n                          cookie:\n                            type: string\n                            example: >-\n                              accessToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJlbWFpbCI6IndhamUuc2h1YmhhbTExMTJAZ21haWwuY29tIiwidXNlcm5hbWUiOiJ3YWplc2h1YmhhbTIiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NjgxNDEyMH0.X7DSYAaqIFVtNxqDSYWW40NNoxu-npBh0Yo7dsPIfBg;\n                              refreshToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NzU5MTcyMH0.sesIJ2P7EqaauA8JbNFe-7vbWMhH7uhiPn25x4zUG0I\n                          host:\n                            type: string\n                            example: localhost:8080\n                          postman-token:\n                            type: string\n                            example: cc843cab-717e-45f2-a45b-8bc69dbeed51\n                          user-agent:\n                            type: string\n                            example: PostmanRuntime/7.32.2\n                      method:\n                        type: string\n                        example: GET\n                      origin:\n                        type: string\n                        example: '::ffff:172.27.0.3'\n                      url:\n                        type: string\n                        example: >-\n                          http://localhost:8080/api/v1/kitchen-sink/http-methods/get\n                  message:\n                    type: string\n                    example: GET request\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get request:\n                  value:\n                    data:\n                      headers:\n                        accept: '*/*'\n                        accept-encoding: gzip, deflate, br\n                        cache-control: no-cache\n                        connection: keep-alive\n                        cookie: >-\n                          accessToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJlbWFpbCI6IndhamUuc2h1YmhhbTExMTJAZ21haWwuY29tIiwidXNlcm5hbWUiOiJ3YWplc2h1YmhhbTIiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NjgxNDEyMH0.X7DSYAaqIFVtNxqDSYWW40NNoxu-npBh0Yo7dsPIfBg;\n                          refreshToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NzU5MTcyMH0.sesIJ2P7EqaauA8JbNFe-7vbWMhH7uhiPn25x4zUG0I\n                        host: localhost:8080\n                        postman-token: cc843cab-717e-45f2-a45b-8bc69dbeed51\n                        user-agent: PostmanRuntime/7.32.2\n                      method: GET\n                      origin: '::ffff:172.27.0.3'\n                      url: >-\n                        http://localhost:8080/api/v1/kitchen-sink/http-methods/get\n                    message: GET request\n                    statusCode: 200\n                    success: true\n  /kitchen-sink/http-methods/post:\n    post:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Post request\n      description: >-\n        The `POST` method is used to submit data to be processed by the server.\n\n\n        It typically results in the creation of a new resource on the server.\n\n\n        `POST` requests are **not idempotent** as each request creates a new\n        resource, and subsequent identical requests may result in multiple\n        resources being created.\n\n\n        **Typical Usage:**\n\n\n        `POST` requests are commonly used for operations that create new\n        resources or trigger specific actions on the server.\n\n\n        _**For example,**_\n\n\n        creating a new user account, submitting a form, or making a purchase.\n      operationId: postRequest\n      responses:\n        '200':\n          description: Post request\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '922'\n            Date:\n              schema:\n                type: string\n                example: Wed, 14 Jun 2023 13:35:50 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"39a-8DNF2mZ6OPTP7t1i18YQDC5N16w\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      headers:\n                        type: object\n                        properties:\n                          accept:\n                            type: string\n                            example: '*/*'\n                          accept-encoding:\n                            type: string\n                            example: gzip, deflate, br\n                          cache-control:\n                            type: string\n                            example: no-cache\n                          connection:\n                            type: string\n                            example: keep-alive\n                          content-length:\n                            type: string\n                            example: '0'\n                          cookie:\n                            type: string\n                            example: >-\n                              accessToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJlbWFpbCI6IndhamUuc2h1YmhhbTExMTJAZ21haWwuY29tIiwidXNlcm5hbWUiOiJ3YWplc2h1YmhhbTIiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NjgxNDEyMH0.X7DSYAaqIFVtNxqDSYWW40NNoxu-npBh0Yo7dsPIfBg;\n                              refreshToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NzU5MTcyMH0.sesIJ2P7EqaauA8JbNFe-7vbWMhH7uhiPn25x4zUG0I\n                          host:\n                            type: string\n                            example: localhost:8080\n                          postman-token:\n                            type: string\n                            example: b38af068-46cf-4301-84e3-43c8976ffc6f\n                          user-agent:\n                            type: string\n                            example: PostmanRuntime/7.32.2\n                      method:\n                        type: string\n                        example: POST\n                      origin:\n                        type: string\n                        example: '::ffff:172.27.0.3'\n                      url:\n                        type: string\n                        example: >-\n                          http://localhost:8080/api/v1/kitchen-sink/http-methods/post\n                  message:\n                    type: string\n                    example: POST request\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Post request:\n                  value:\n                    data:\n                      headers:\n                        accept: '*/*'\n                        accept-encoding: gzip, deflate, br\n                        cache-control: no-cache\n                        connection: keep-alive\n                        content-length: '0'\n                        cookie: >-\n                          accessToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJlbWFpbCI6IndhamUuc2h1YmhhbTExMTJAZ21haWwuY29tIiwidXNlcm5hbWUiOiJ3YWplc2h1YmhhbTIiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NjgxNDEyMH0.X7DSYAaqIFVtNxqDSYWW40NNoxu-npBh0Yo7dsPIfBg;\n                          refreshToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NzU5MTcyMH0.sesIJ2P7EqaauA8JbNFe-7vbWMhH7uhiPn25x4zUG0I\n                        host: localhost:8080\n                        postman-token: b38af068-46cf-4301-84e3-43c8976ffc6f\n                        user-agent: PostmanRuntime/7.32.2\n                      method: POST\n                      origin: '::ffff:172.27.0.3'\n                      url: >-\n                        http://localhost:8080/api/v1/kitchen-sink/http-methods/post\n                    message: POST request\n                    statusCode: 200\n                    success: true\n  /kitchen-sink/http-methods/put:\n    put:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Put request\n      description: >-\n        The `PUT` method is used to update or replace an existing resource on\n        the server.\n\n\n        It sends the entire representation of the resource in the request\n        payload, replacing the existing resource entirely.\n\n\n        If the resource does not exist, `PUT` can also be used to create a new\n        resource with a specific identifier.\n\n\n        **Typical Usage:** `PUT` requests are commonly used to update or replace\n        an entire resource on the server.\n\n\n        _**For example,**_\n\n\n        updating a user's profile information, replacing a document, or\n        modifying an existing record.\n      operationId: putRequest\n      responses:\n        '200':\n          description: Put request\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '919'\n            Date:\n              schema:\n                type: string\n                example: Wed, 14 Jun 2023 13:36:06 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"397-OFSud61J9N3E1v3/X8GXikKPGYE\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      headers:\n                        type: object\n                        properties:\n                          accept:\n                            type: string\n                            example: '*/*'\n                          accept-encoding:\n                            type: string\n                            example: gzip, deflate, br\n                          cache-control:\n                            type: string\n                            example: no-cache\n                          connection:\n                            type: string\n                            example: keep-alive\n                          content-length:\n                            type: string\n                            example: '0'\n                          cookie:\n                            type: string\n                            example: >-\n                              accessToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJlbWFpbCI6IndhamUuc2h1YmhhbTExMTJAZ21haWwuY29tIiwidXNlcm5hbWUiOiJ3YWplc2h1YmhhbTIiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NjgxNDEyMH0.X7DSYAaqIFVtNxqDSYWW40NNoxu-npBh0Yo7dsPIfBg;\n                              refreshToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NzU5MTcyMH0.sesIJ2P7EqaauA8JbNFe-7vbWMhH7uhiPn25x4zUG0I\n                          host:\n                            type: string\n                            example: localhost:8080\n                          postman-token:\n                            type: string\n                            example: 637929c8-faf9-4f8c-a053-7c0724959b15\n                          user-agent:\n                            type: string\n                            example: PostmanRuntime/7.32.2\n                      method:\n                        type: string\n                        example: PUT\n                      origin:\n                        type: string\n                        example: '::ffff:172.27.0.3'\n                      url:\n                        type: string\n                        example: >-\n                          http://localhost:8080/api/v1/kitchen-sink/http-methods/put\n                  message:\n                    type: string\n                    example: PUT request\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Put request:\n                  value:\n                    data:\n                      headers:\n                        accept: '*/*'\n                        accept-encoding: gzip, deflate, br\n                        cache-control: no-cache\n                        connection: keep-alive\n                        content-length: '0'\n                        cookie: >-\n                          accessToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJlbWFpbCI6IndhamUuc2h1YmhhbTExMTJAZ21haWwuY29tIiwidXNlcm5hbWUiOiJ3YWplc2h1YmhhbTIiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NjgxNDEyMH0.X7DSYAaqIFVtNxqDSYWW40NNoxu-npBh0Yo7dsPIfBg;\n                          refreshToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NzU5MTcyMH0.sesIJ2P7EqaauA8JbNFe-7vbWMhH7uhiPn25x4zUG0I\n                        host: localhost:8080\n                        postman-token: 637929c8-faf9-4f8c-a053-7c0724959b15\n                        user-agent: PostmanRuntime/7.32.2\n                      method: PUT\n                      origin: '::ffff:172.27.0.3'\n                      url: >-\n                        http://localhost:8080/api/v1/kitchen-sink/http-methods/put\n                    message: PUT request\n                    statusCode: 200\n                    success: true\n  /kitchen-sink/http-methods/patch:\n    patch:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Patch request\n      description: >-\n        The `PATCH` method is used to partially update an existing resource on\n        the server.\n\n\n        Unlike `PUT`, `PATCH` only includes the changes that need to be made,\n        rather than sending the entire resource representation.\n\n\n        It allows for modifying specific fields or properties of a resource.\n\n\n        **Typical Usage:**\n\n\n        PATCH requests are commonly used to make partial updates to a resource.\n\n\n        _**For example,**_\n\n\n        updating only the email address of a user, modifying specific attributes\n        of an object, or applying incremental changes to a document.\n      operationId: patchRequest\n      responses:\n        '200':\n          description: Patch request\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '925'\n            Date:\n              schema:\n                type: string\n                example: Wed, 14 Jun 2023 13:36:16 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"39d-+DdQ61qhOKqWTKrarTDI/oxn8bE\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      headers:\n                        type: object\n                        properties:\n                          accept:\n                            type: string\n                            example: '*/*'\n                          accept-encoding:\n                            type: string\n                            example: gzip, deflate, br\n                          cache-control:\n                            type: string\n                            example: no-cache\n                          connection:\n                            type: string\n                            example: keep-alive\n                          content-length:\n                            type: string\n                            example: '0'\n                          cookie:\n                            type: string\n                            example: >-\n                              accessToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJlbWFpbCI6IndhamUuc2h1YmhhbTExMTJAZ21haWwuY29tIiwidXNlcm5hbWUiOiJ3YWplc2h1YmhhbTIiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NjgxNDEyMH0.X7DSYAaqIFVtNxqDSYWW40NNoxu-npBh0Yo7dsPIfBg;\n                              refreshToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NzU5MTcyMH0.sesIJ2P7EqaauA8JbNFe-7vbWMhH7uhiPn25x4zUG0I\n                          host:\n                            type: string\n                            example: localhost:8080\n                          postman-token:\n                            type: string\n                            example: 132a6fb0-68c7-43ec-b082-a697a3014c6d\n                          user-agent:\n                            type: string\n                            example: PostmanRuntime/7.32.2\n                      method:\n                        type: string\n                        example: PATCH\n                      origin:\n                        type: string\n                        example: '::ffff:172.27.0.3'\n                      url:\n                        type: string\n                        example: >-\n                          http://localhost:8080/api/v1/kitchen-sink/http-methods/patch\n                  message:\n                    type: string\n                    example: PATCH request\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Patch request:\n                  value:\n                    data:\n                      headers:\n                        accept: '*/*'\n                        accept-encoding: gzip, deflate, br\n                        cache-control: no-cache\n                        connection: keep-alive\n                        content-length: '0'\n                        cookie: >-\n                          accessToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJlbWFpbCI6IndhamUuc2h1YmhhbTExMTJAZ21haWwuY29tIiwidXNlcm5hbWUiOiJ3YWplc2h1YmhhbTIiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NjgxNDEyMH0.X7DSYAaqIFVtNxqDSYWW40NNoxu-npBh0Yo7dsPIfBg;\n                          refreshToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NzU5MTcyMH0.sesIJ2P7EqaauA8JbNFe-7vbWMhH7uhiPn25x4zUG0I\n                        host: localhost:8080\n                        postman-token: 132a6fb0-68c7-43ec-b082-a697a3014c6d\n                        user-agent: PostmanRuntime/7.32.2\n                      method: PATCH\n                      origin: '::ffff:172.27.0.3'\n                      url: >-\n                        http://localhost:8080/api/v1/kitchen-sink/http-methods/patch\n                    message: PATCH request\n                    statusCode: 200\n                    success: true\n  /kitchen-sink/http-methods/delete:\n    delete:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Delete request\n      description: >-\n        The `DELETE` method is used to remove or delete a specific resource on\n        the server.\n\n\n        It instructs the server to remove the identified resource, resulting in\n        its permanent deletion.\n\n\n        **Typical Usage:**\n\n\n        `DELETE` requests are commonly used to delete a resource from the\n        server.\n\n\n        _**For example,**_\n\n\n        deleting a user account, removing an item from a cart, or deleting a\n        specific record from a database.\n      operationId: deleteRequest\n      responses:\n        '200':\n          description: Delete request\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '907'\n            Date:\n              schema:\n                type: string\n                example: Wed, 14 Jun 2023 13:36:28 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"38b-uyGHoweJMp0PrafncagpeZiTwP4\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      headers:\n                        type: object\n                        properties:\n                          accept:\n                            type: string\n                            example: '*/*'\n                          accept-encoding:\n                            type: string\n                            example: gzip, deflate, br\n                          cache-control:\n                            type: string\n                            example: no-cache\n                          connection:\n                            type: string\n                            example: keep-alive\n                          cookie:\n                            type: string\n                            example: >-\n                              accessToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJlbWFpbCI6IndhamUuc2h1YmhhbTExMTJAZ21haWwuY29tIiwidXNlcm5hbWUiOiJ3YWplc2h1YmhhbTIiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NjgxNDEyMH0.X7DSYAaqIFVtNxqDSYWW40NNoxu-npBh0Yo7dsPIfBg;\n                              refreshToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NzU5MTcyMH0.sesIJ2P7EqaauA8JbNFe-7vbWMhH7uhiPn25x4zUG0I\n                          host:\n                            type: string\n                            example: localhost:8080\n                          postman-token:\n                            type: string\n                            example: 0474647d-e133-4a80-ad6a-d0aba3c2ae6e\n                          user-agent:\n                            type: string\n                            example: PostmanRuntime/7.32.2\n                      method:\n                        type: string\n                        example: DELETE\n                      origin:\n                        type: string\n                        example: '::ffff:172.27.0.3'\n                      url:\n                        type: string\n                        example: >-\n                          http://localhost:8080/api/v1/kitchen-sink/http-methods/delete\n                  message:\n                    type: string\n                    example: DELETE request\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Delete request:\n                  value:\n                    data:\n                      headers:\n                        accept: '*/*'\n                        accept-encoding: gzip, deflate, br\n                        cache-control: no-cache\n                        connection: keep-alive\n                        cookie: >-\n                          accessToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJlbWFpbCI6IndhamUuc2h1YmhhbTExMTJAZ21haWwuY29tIiwidXNlcm5hbWUiOiJ3YWplc2h1YmhhbTIiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NjgxNDEyMH0.X7DSYAaqIFVtNxqDSYWW40NNoxu-npBh0Yo7dsPIfBg;\n                          refreshToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NzU5MTcyMH0.sesIJ2P7EqaauA8JbNFe-7vbWMhH7uhiPn25x4zUG0I\n                        host: localhost:8080\n                        postman-token: 0474647d-e133-4a80-ad6a-d0aba3c2ae6e\n                        user-agent: PostmanRuntime/7.32.2\n                      method: DELETE\n                      origin: '::ffff:172.27.0.3'\n                      url: >-\n                        http://localhost:8080/api/v1/kitchen-sink/http-methods/delete\n                    message: DELETE request\n                    statusCode: 200\n                    success: true\n  /kitchen-sink/status-codes:\n    get:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Get all status codes\n      description: >-\n        This API endpoint is designed to provide a comprehensive list of all\n        possible **HTTP** status codes defined by the `HTTP/1.1` specification.\n\n\n        It serves as a reference or informational resource to retrieve detailed\n        information about each **HTTP** status code and its corresponding\n        meaning.\n      operationId: getAllStatusCodes\n      responses:\n        '200':\n          description: Get all status codes\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '11436'\n            Date:\n              schema:\n                type: string\n                example: Thu, 15 Jun 2023 17:53:29 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"2cac-/5eTGXDl9jfX9r8weJeuHm8L7kk\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      '100':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Informational\n                          description:\n                            type: string\n                            example: >-\n                              The initial part of the request has been received,\n                              and the client should proceed with the rest of the\n                              request.\n                          statusCode:\n                            type: number\n                            example: 100\n                          statusMessage:\n                            type: string\n                            example: Continue\n                      '101':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Informational\n                          description:\n                            type: string\n                            example: >-\n                              The server agrees to switch protocols specified in\n                              the Upgrade header field of the request.\n                          statusCode:\n                            type: number\n                            example: 101\n                          statusMessage:\n                            type: string\n                            example: Switching Protocols\n                      '102':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Informational\n                          description:\n                            type: string\n                            example: >-\n                              The server has received and is processing the\n                              request but has not yet completed the process.\n                          statusCode:\n                            type: number\n                            example: 102\n                          statusMessage:\n                            type: string\n                            example: Processing\n                      '103':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Informational\n                          description:\n                            type: string\n                            example: >-\n                              The server is sending some hints to the client\n                              even before the final response is available.\n                          statusCode:\n                            type: number\n                            example: 103\n                          statusMessage:\n                            type: string\n                            example: Early Hints\n                      '200':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Success\n                          description:\n                            type: string\n                            example: >-\n                              The request has succeeded, and the requested\n                              resource is returned as the response.\n                          statusCode:\n                            type: number\n                            example: 200\n                          statusMessage:\n                            type: string\n                            example: OK\n                      '201':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Success\n                          description:\n                            type: string\n                            example: >-\n                              The request has been fulfilled, and a new resource\n                              has been created as a result.\n                          statusCode:\n                            type: number\n                            example: 201\n                          statusMessage:\n                            type: string\n                            example: Created\n                      '202':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Success\n                          description:\n                            type: string\n                            example: >-\n                              The request has been accepted for processing, but\n                              the processing is not complete.\n                          statusCode:\n                            type: number\n                            example: 202\n                          statusMessage:\n                            type: string\n                            example: Accepted\n                      '203':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Success\n                          description:\n                            type: string\n                            example: >-\n                              The server is a transforming proxy that has\n                              received the request but has modified the\n                              response.\n                          statusCode:\n                            type: number\n                            example: 203\n                          statusMessage:\n                            type: string\n                            example: Non-Authoritative Information\n                      '204':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Success\n                          description:\n                            type: string\n                            example: >-\n                              The server has successfully processed the request,\n                              but there is no content to return.\n                          statusCode:\n                            type: number\n                            example: 204\n                          statusMessage:\n                            type: string\n                            example: No Content\n                      '205':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Success\n                          description:\n                            type: string\n                            example: >-\n                              The server instructs the client to reset the\n                              current resource.\n                          statusCode:\n                            type: number\n                            example: 205\n                          statusMessage:\n                            type: string\n                            example: Reset Content\n                      '206':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Success\n                          description:\n                            type: string\n                            example: >-\n                              The server has fulfilled the partial GET request\n                              for the resource.\n                          statusCode:\n                            type: number\n                            example: 206\n                          statusMessage:\n                            type: string\n                            example: Partial Content\n                      '207':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Success\n                          description:\n                            type: string\n                            example: >-\n                              The response status is a collection of independent\n                              responses, potentially differing in status.\n                          statusCode:\n                            type: number\n                            example: 207\n                          statusMessage:\n                            type: string\n                            example: Multi-Status\n                      '208':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Success\n                          description:\n                            type: string\n                            example: >-\n                              The members of a DAV binding have already been\n                              enumerated in a preceding part of the\n                              (multistatus) response, and are not being included\n                              again.\n                          statusCode:\n                            type: number\n                            example: 208\n                          statusMessage:\n                            type: string\n                            example: Already Reported\n                      '218':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Unofficial\n                          description:\n                            type: string\n                            example: >-\n                              Used as an Easter egg or joke, indicating that the\n                              server is returning a response despite\n                              encountering an error or problematic situation.\n                          statusCode:\n                            type: number\n                            example: 218\n                          statusMessage:\n                            type: string\n                            example: This Is Fine\n                      '226':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Success\n                          description:\n                            type: string\n                            example: >-\n                              The server has fulfilled a request for the\n                              resource, and the response is a representation of\n                              the result of one or more instance-manipulations\n                              applied to the current instance.\n                          statusCode:\n                            type: number\n                            example: 226\n                          statusMessage:\n                            type: string\n                            example: IM Used\n                      '300':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Redirection\n                          description:\n                            type: string\n                            example: >-\n                              The requested resource has multiple choices, each\n                              with its own URI and representation.\n                          statusCode:\n                            type: number\n                            example: 300\n                          statusMessage:\n                            type: string\n                            example: Multiple Choices\n                      '301':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Redirection\n                          description:\n                            type: string\n                            example: >-\n                              The requested resource has been permanently moved\n                              to a new location.\n                          statusCode:\n                            type: number\n                            example: 301\n                          statusMessage:\n                            type: string\n                            example: Moved Permanently\n                      '302':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Redirection\n                          description:\n                            type: string\n                            example: >-\n                              The requested resource has been temporarily moved\n                              to a different location.\n                          statusCode:\n                            type: number\n                            example: 302\n                          statusMessage:\n                            type: string\n                            example: Found\n                      '303':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Redirection\n                          description:\n                            type: string\n                            example: >-\n                              The response to the request can be found at a\n                              different URI.\n                          statusCode:\n                            type: number\n                            example: 303\n                          statusMessage:\n                            type: string\n                            example: See Other\n                      '304':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Redirection\n                          description:\n                            type: string\n                            example: >-\n                              The client can use a cached version of the\n                              response.\n                          statusCode:\n                            type: number\n                            example: 304\n                          statusMessage:\n                            type: string\n                            example: Not Modified\n                      '307':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Redirection\n                          description:\n                            type: string\n                            example: >-\n                              The requested resource is temporarily located at a\n                              different URI.\n                          statusCode:\n                            type: number\n                            example: 307\n                          statusMessage:\n                            type: string\n                            example: Temporary Redirect\n                      '308':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Redirection\n                          description:\n                            type: string\n                            example: >-\n                              The requested resource has been permanently moved\n                              to a different URI.\n                          statusCode:\n                            type: number\n                            example: 308\n                          statusMessage:\n                            type: string\n                            example: Permanent Redirect\n                      '400':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Client Error\n                          description:\n                            type: string\n                            example: >-\n                              The server cannot process the request due to\n                              client error.\n                          statusCode:\n                            type: number\n                            example: 400\n                          statusMessage:\n                            type: string\n                            example: Bad Request\n                      '401':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Client Error\n                          description:\n                            type: string\n                            example: The request requires user authentication.\n                          statusCode:\n                            type: number\n                            example: 401\n                          statusMessage:\n                            type: string\n                            example: Unauthorized\n                      '402':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Client Error\n                          description:\n                            type: string\n                            example: Reserved for future use.\n                          statusCode:\n                            type: number\n                            example: 402\n                          statusMessage:\n                            type: string\n                            example: Payment Required\n                      '403':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Client Error\n                          description:\n                            type: string\n                            example: >-\n                              The server understands the request but refuses to\n                              fulfill it.\n                          statusCode:\n                            type: number\n                            example: 403\n                          statusMessage:\n                            type: string\n                            example: Forbidden\n                      '404':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Client Error\n                          description:\n                            type: string\n                            example: >-\n                              The requested resource could not be found on the\n                              server.\n                          statusCode:\n                            type: number\n                            example: 404\n                          statusMessage:\n                            type: string\n                            example: Not Found\n                      '405':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Client Error\n                          description:\n                            type: string\n                            example: >-\n                              The requested method is not allowed for the\n                              resource.\n                          statusCode:\n                            type: number\n                            example: 405\n                          statusMessage:\n                            type: string\n                            example: Method Not Allowed\n                      '406':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Client Error\n                          description:\n                            type: string\n                            example: >-\n                              The server cannot produce a response matching the\n                              client's requested characteristics.\n                          statusCode:\n                            type: number\n                            example: 406\n                          statusMessage:\n                            type: string\n                            example: Not Acceptable\n                      '407':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Client Error\n                          description:\n                            type: string\n                            example: >-\n                              The client must authenticate itself to a proxy\n                              server.\n                          statusCode:\n                            type: number\n                            example: 407\n                          statusMessage:\n                            type: string\n                            example: Proxy Authentication Required\n                      '408':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Client Error\n                          description:\n                            type: string\n                            example: >-\n                              The server timed out waiting for the request from\n                              the client.\n                          statusCode:\n                            type: number\n                            example: 408\n                          statusMessage:\n                            type: string\n                            example: Request Timeout\n                      '409':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Client Error\n                          description:\n                            type: string\n                            example: >-\n                              The request could not be completed due to a\n                              conflict with the current state of the target\n                              resource.\n                          statusCode:\n                            type: number\n                            example: 409\n                          statusMessage:\n                            type: string\n                            example: Conflict\n                      '410':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Client Error\n                          description:\n                            type: string\n                            example: >-\n                              The requested resource is no longer available and\n                              has been permanently removed.\n                          statusCode:\n                            type: number\n                            example: 410\n                          statusMessage:\n                            type: string\n                            example: Gone\n                      '411':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Client Error\n                          description:\n                            type: string\n                            example: >-\n                              The server requires a Content-Length header in the\n                              request.\n                          statusCode:\n                            type: number\n                            example: 411\n                          statusMessage:\n                            type: string\n                            example: Length Required\n                      '412':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Client Error\n                          description:\n                            type: string\n                            example: >-\n                              One or more conditions in the request header\n                              fields evaluated to false.\n                          statusCode:\n                            type: number\n                            example: 412\n                          statusMessage:\n                            type: string\n                            example: Precondition Failed\n                      '413':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Client Error\n                          description:\n                            type: string\n                            example: >-\n                              The server refused to process the request because\n                              the payload is too large.\n                          statusCode:\n                            type: number\n                            example: 413\n                          statusMessage:\n                            type: string\n                            example: Payload Too Large\n                      '414':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Client Error\n                          description:\n                            type: string\n                            example: >-\n                              The server refused the request because the URI is\n                              too long.\n                          statusCode:\n                            type: number\n                            example: 414\n                          statusMessage:\n                            type: string\n                            example: URI Too Long\n                      '415':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Client Error\n                          description:\n                            type: string\n                            example: >-\n                              The server does not support the request's media\n                              type.\n                          statusCode:\n                            type: number\n                            example: 415\n                          statusMessage:\n                            type: string\n                            example: Unsupported Media Type\n                      '416':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Client Error\n                          description:\n                            type: string\n                            example: The requested range is not satisfiable.\n                          statusCode:\n                            type: number\n                            example: 416\n                          statusMessage:\n                            type: string\n                            example: Range Not Satisfiable\n                      '417':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Client Error\n                          description:\n                            type: string\n                            example: >-\n                              The server cannot meet the requirements specified\n                              by the Expect request header.\n                          statusCode:\n                            type: number\n                            example: 417\n                          statusMessage:\n                            type: string\n                            example: Expectation Failed\n                      '418':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Client Error\n                          description:\n                            type: string\n                            example: >-\n                              This code was defined in 1998 as one of the\n                              traditional IETF April Fools' jokes, in RFC 2324,\n                              Hyper Text Coffee Pot Control Protocol, and is not\n                              expected to be implemented by actual HTTP servers.\n                              However, known implementations do exist.\n                          statusCode:\n                            type: number\n                            example: 418\n                          statusMessage:\n                            type: string\n                            example: I'm a teapot\n                      '419':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Unofficial\n                          description:\n                            type: string\n                            example: >-\n                              Similar to 401 Unauthorized, but indicates that\n                              the client's session has expired and needs to\n                              reauthenticate.\n                          statusCode:\n                            type: number\n                            example: 419\n                          statusMessage:\n                            type: string\n                            example: Authentication Timeout\n                      '420':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Unofficial\n                          description:\n                            type: string\n                            example: >-\n                              A non-standard status code typically used to\n                              indicate that a method failed on the server.\n                          statusCode:\n                            type: number\n                            example: 420\n                          statusMessage:\n                            type: string\n                            example: Method Failure\n                      '422':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Unofficial\n                          description:\n                            type: string\n                            example: >-\n                              The server understands the content of the request\n                              but cannot process it due to semantic errors or\n                              business logic failures.\n                          statusCode:\n                            type: number\n                            example: 422\n                          statusMessage:\n                            type: string\n                            example: Unprocessable Entity\n                      '423':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Unofficial\n                          description:\n                            type: string\n                            example: >-\n                              The requested resource is locked and cannot be\n                              accessed until a specified condition is met.\n                          statusCode:\n                            type: number\n                            example: 423\n                          statusMessage:\n                            type: string\n                            example: Locked\n                      '424':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Unofficial\n                          description:\n                            type: string\n                            example: >-\n                              The request failed due to the failure of a\n                              previous request.\n                          statusCode:\n                            type: number\n                            example: 424\n                          statusMessage:\n                            type: string\n                            example: Failed Dependency\n                      '428':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Unofficial\n                          description:\n                            type: string\n                            example: >-\n                              The server requires the request to be conditional,\n                              typically requiring the inclusion of a specific\n                              header field.\n                          statusCode:\n                            type: number\n                            example: 428\n                          statusMessage:\n                            type: string\n                            example: Precondition Required\n                      '429':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Unofficial\n                          description:\n                            type: string\n                            example: >-\n                              The user has sent too many requests in a given\n                              amount of time, exceeding the server's rate limit.\n                          statusCode:\n                            type: number\n                            example: 429\n                          statusMessage:\n                            type: string\n                            example: Too Many Requests\n                      '431':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Unofficial\n                          description:\n                            type: string\n                            example: >-\n                              The server refuses to process the request because\n                              the request headers are too large.\n                          statusCode:\n                            type: number\n                            example: 431\n                          statusMessage:\n                            type: string\n                            example: Request Header Fields Too Large\n                      '451':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Unofficial\n                          description:\n                            type: string\n                            example: >-\n                              The server is denying access to the resource due\n                              to legal reasons, such as censorship or\n                              government-mandated restrictions.\n                          statusCode:\n                            type: number\n                            example: 451\n                          statusMessage:\n                            type: string\n                            example: Unavailable For Legal Reasons\n                      '500':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Server Error\n                          description:\n                            type: string\n                            example: A generic server error has occurred.\n                          statusCode:\n                            type: number\n                            example: 500\n                          statusMessage:\n                            type: string\n                            example: Internal Server Error\n                      '501':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Server Error\n                          description:\n                            type: string\n                            example: >-\n                              The server does not support the functionality\n                              required to fulfill the request.\n                          statusCode:\n                            type: number\n                            example: 501\n                          statusMessage:\n                            type: string\n                            example: Not Implemented\n                      '502':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Server Error\n                          description:\n                            type: string\n                            example: >-\n                              The server, while acting as a gateway or proxy,\n                              received an invalid response from an upstream\n                              server.\n                          statusCode:\n                            type: number\n                            example: 502\n                          statusMessage:\n                            type: string\n                            example: Bad Gateway\n                      '503':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Server Error\n                          description:\n                            type: string\n                            example: >-\n                              The server is currently unable to handle the\n                              request due to temporary overloading or\n                              maintenance.\n                          statusCode:\n                            type: number\n                            example: 503\n                          statusMessage:\n                            type: string\n                            example: Service Unavailable\n                      '504':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Server Error\n                          description:\n                            type: string\n                            example: >-\n                              The server, while acting as a gateway or proxy,\n                              did not receive a timely response from the\n                              upstream server.\n                          statusCode:\n                            type: number\n                            example: 504\n                          statusMessage:\n                            type: string\n                            example: Gateway Timeout\n                      '505':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Server Error\n                          description:\n                            type: string\n                            example: >-\n                              The server does not support the HTTP protocol\n                              version used in the request.\n                          statusCode:\n                            type: number\n                            example: 505\n                          statusMessage:\n                            type: string\n                            example: HTTP Version Not Supported\n                      '506':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Server Error\n                          description:\n                            type: string\n                            example: >-\n                              The server has an internal configuration error:\n                              the chosen variant resource is configured to\n                              engage in transparent content negotiation itself\n                              and is therefore not a proper end point in the\n                              negotiation process.\n                          statusCode:\n                            type: number\n                            example: 506\n                          statusMessage:\n                            type: string\n                            example: Variant Also Negotiates\n                      '507':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Server Error\n                          description:\n                            type: string\n                            example: >-\n                              The server is unable to store the representation\n                              needed to complete the request.\n                          statusCode:\n                            type: number\n                            example: 507\n                          statusMessage:\n                            type: string\n                            example: Insufficient Storage\n                      '508':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Server Error\n                          description:\n                            type: string\n                            example: >-\n                              The server detected an infinite loop while\n                              processing the request.\n                          statusCode:\n                            type: number\n                            example: 508\n                          statusMessage:\n                            type: string\n                            example: Loop Detected\n                      '510':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Server Error\n                          description:\n                            type: string\n                            example: >-\n                              The policy for accessing the requested resource\n                              requires further extensions to be made by the\n                              client.\n                          statusCode:\n                            type: number\n                            example: 510\n                          statusMessage:\n                            type: string\n                            example: Not Extended\n                      '511':\n                        type: object\n                        properties:\n                          category:\n                            type: string\n                            example: Server Error\n                          description:\n                            type: string\n                            example: >-\n                              The client needs to authenticate to gain network\n                              access.\n                          statusCode:\n                            type: number\n                            example: 511\n                          statusMessage:\n                            type: string\n                            example: Network Authentication Required\n                  message:\n                    type: string\n                    example: Status codes fetched\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get all status codes:\n                  value:\n                    data:\n                      '100':\n                        category: Informational\n                        description: >-\n                          The initial part of the request has been received, and\n                          the client should proceed with the rest of the\n                          request.\n                        statusCode: 100\n                        statusMessage: Continue\n                      '101':\n                        category: Informational\n                        description: >-\n                          The server agrees to switch protocols specified in the\n                          Upgrade header field of the request.\n                        statusCode: 101\n                        statusMessage: Switching Protocols\n                      '102':\n                        category: Informational\n                        description: >-\n                          The server has received and is processing the request\n                          but has not yet completed the process.\n                        statusCode: 102\n                        statusMessage: Processing\n                      '103':\n                        category: Informational\n                        description: >-\n                          The server is sending some hints to the client even\n                          before the final response is available.\n                        statusCode: 103\n                        statusMessage: Early Hints\n                      '200':\n                        category: Success\n                        description: >-\n                          The request has succeeded, and the requested resource\n                          is returned as the response.\n                        statusCode: 200\n                        statusMessage: OK\n                      '201':\n                        category: Success\n                        description: >-\n                          The request has been fulfilled, and a new resource has\n                          been created as a result.\n                        statusCode: 201\n                        statusMessage: Created\n                      '202':\n                        category: Success\n                        description: >-\n                          The request has been accepted for processing, but the\n                          processing is not complete.\n                        statusCode: 202\n                        statusMessage: Accepted\n                      '203':\n                        category: Success\n                        description: >-\n                          The server is a transforming proxy that has received\n                          the request but has modified the response.\n                        statusCode: 203\n                        statusMessage: Non-Authoritative Information\n                      '204':\n                        category: Success\n                        description: >-\n                          The server has successfully processed the request, but\n                          there is no content to return.\n                        statusCode: 204\n                        statusMessage: No Content\n                      '205':\n                        category: Success\n                        description: >-\n                          The server instructs the client to reset the current\n                          resource.\n                        statusCode: 205\n                        statusMessage: Reset Content\n                      '206':\n                        category: Success\n                        description: >-\n                          The server has fulfilled the partial GET request for\n                          the resource.\n                        statusCode: 206\n                        statusMessage: Partial Content\n                      '207':\n                        category: Success\n                        description: >-\n                          The response status is a collection of independent\n                          responses, potentially differing in status.\n                        statusCode: 207\n                        statusMessage: Multi-Status\n                      '208':\n                        category: Success\n                        description: >-\n                          The members of a DAV binding have already been\n                          enumerated in a preceding part of the (multistatus)\n                          response, and are not being included again.\n                        statusCode: 208\n                        statusMessage: Already Reported\n                      '218':\n                        category: Unofficial\n                        description: >-\n                          Used as an Easter egg or joke, indicating that the\n                          server is returning a response despite encountering an\n                          error or problematic situation.\n                        statusCode: 218\n                        statusMessage: This Is Fine\n                      '226':\n                        category: Success\n                        description: >-\n                          The server has fulfilled a request for the resource,\n                          and the response is a representation of the result of\n                          one or more instance-manipulations applied to the\n                          current instance.\n                        statusCode: 226\n                        statusMessage: IM Used\n                      '300':\n                        category: Redirection\n                        description: >-\n                          The requested resource has multiple choices, each with\n                          its own URI and representation.\n                        statusCode: 300\n                        statusMessage: Multiple Choices\n                      '301':\n                        category: Redirection\n                        description: >-\n                          The requested resource has been permanently moved to a\n                          new location.\n                        statusCode: 301\n                        statusMessage: Moved Permanently\n                      '302':\n                        category: Redirection\n                        description: >-\n                          The requested resource has been temporarily moved to a\n                          different location.\n                        statusCode: 302\n                        statusMessage: Found\n                      '303':\n                        category: Redirection\n                        description: >-\n                          The response to the request can be found at a\n                          different URI.\n                        statusCode: 303\n                        statusMessage: See Other\n                      '304':\n                        category: Redirection\n                        description: The client can use a cached version of the response.\n                        statusCode: 304\n                        statusMessage: Not Modified\n                      '307':\n                        category: Redirection\n                        description: >-\n                          The requested resource is temporarily located at a\n                          different URI.\n                        statusCode: 307\n                        statusMessage: Temporary Redirect\n                      '308':\n                        category: Redirection\n                        description: >-\n                          The requested resource has been permanently moved to a\n                          different URI.\n                        statusCode: 308\n                        statusMessage: Permanent Redirect\n                      '400':\n                        category: Client Error\n                        description: >-\n                          The server cannot process the request due to client\n                          error.\n                        statusCode: 400\n                        statusMessage: Bad Request\n                      '401':\n                        category: Client Error\n                        description: The request requires user authentication.\n                        statusCode: 401\n                        statusMessage: Unauthorized\n                      '402':\n                        category: Client Error\n                        description: Reserved for future use.\n                        statusCode: 402\n                        statusMessage: Payment Required\n                      '403':\n                        category: Client Error\n                        description: >-\n                          The server understands the request but refuses to\n                          fulfill it.\n                        statusCode: 403\n                        statusMessage: Forbidden\n                      '404':\n                        category: Client Error\n                        description: >-\n                          The requested resource could not be found on the\n                          server.\n                        statusCode: 404\n                        statusMessage: Not Found\n                      '405':\n                        category: Client Error\n                        description: The requested method is not allowed for the resource.\n                        statusCode: 405\n                        statusMessage: Method Not Allowed\n                      '406':\n                        category: Client Error\n                        description: >-\n                          The server cannot produce a response matching the\n                          client's requested characteristics.\n                        statusCode: 406\n                        statusMessage: Not Acceptable\n                      '407':\n                        category: Client Error\n                        description: The client must authenticate itself to a proxy server.\n                        statusCode: 407\n                        statusMessage: Proxy Authentication Required\n                      '408':\n                        category: Client Error\n                        description: >-\n                          The server timed out waiting for the request from the\n                          client.\n                        statusCode: 408\n                        statusMessage: Request Timeout\n                      '409':\n                        category: Client Error\n                        description: >-\n                          The request could not be completed due to a conflict\n                          with the current state of the target resource.\n                        statusCode: 409\n                        statusMessage: Conflict\n                      '410':\n                        category: Client Error\n                        description: >-\n                          The requested resource is no longer available and has\n                          been permanently removed.\n                        statusCode: 410\n                        statusMessage: Gone\n                      '411':\n                        category: Client Error\n                        description: >-\n                          The server requires a Content-Length header in the\n                          request.\n                        statusCode: 411\n                        statusMessage: Length Required\n                      '412':\n                        category: Client Error\n                        description: >-\n                          One or more conditions in the request header fields\n                          evaluated to false.\n                        statusCode: 412\n                        statusMessage: Precondition Failed\n                      '413':\n                        category: Client Error\n                        description: >-\n                          The server refused to process the request because the\n                          payload is too large.\n                        statusCode: 413\n                        statusMessage: Payload Too Large\n                      '414':\n                        category: Client Error\n                        description: >-\n                          The server refused the request because the URI is too\n                          long.\n                        statusCode: 414\n                        statusMessage: URI Too Long\n                      '415':\n                        category: Client Error\n                        description: The server does not support the request's media type.\n                        statusCode: 415\n                        statusMessage: Unsupported Media Type\n                      '416':\n                        category: Client Error\n                        description: The requested range is not satisfiable.\n                        statusCode: 416\n                        statusMessage: Range Not Satisfiable\n                      '417':\n                        category: Client Error\n                        description: >-\n                          The server cannot meet the requirements specified by\n                          the Expect request header.\n                        statusCode: 417\n                        statusMessage: Expectation Failed\n                      '418':\n                        category: Client Error\n                        description: >-\n                          This code was defined in 1998 as one of the\n                          traditional IETF April Fools' jokes, in RFC 2324,\n                          Hyper Text Coffee Pot Control Protocol, and is not\n                          expected to be implemented by actual HTTP servers.\n                          However, known implementations do exist.\n                        statusCode: 418\n                        statusMessage: I'm a teapot\n                      '419':\n                        category: Unofficial\n                        description: >-\n                          Similar to 401 Unauthorized, but indicates that the\n                          client's session has expired and needs to\n                          reauthenticate.\n                        statusCode: 419\n                        statusMessage: Authentication Timeout\n                      '420':\n                        category: Unofficial\n                        description: >-\n                          A non-standard status code typically used to indicate\n                          that a method failed on the server.\n                        statusCode: 420\n                        statusMessage: Method Failure\n                      '422':\n                        category: Unofficial\n                        description: >-\n                          The server understands the content of the request but\n                          cannot process it due to semantic errors or business\n                          logic failures.\n                        statusCode: 422\n                        statusMessage: Unprocessable Entity\n                      '423':\n                        category: Unofficial\n                        description: >-\n                          The requested resource is locked and cannot be\n                          accessed until a specified condition is met.\n                        statusCode: 423\n                        statusMessage: Locked\n                      '424':\n                        category: Unofficial\n                        description: >-\n                          The request failed due to the failure of a previous\n                          request.\n                        statusCode: 424\n                        statusMessage: Failed Dependency\n                      '428':\n                        category: Unofficial\n                        description: >-\n                          The server requires the request to be conditional,\n                          typically requiring the inclusion of a specific header\n                          field.\n                        statusCode: 428\n                        statusMessage: Precondition Required\n                      '429':\n                        category: Unofficial\n                        description: >-\n                          The user has sent too many requests in a given amount\n                          of time, exceeding the server's rate limit.\n                        statusCode: 429\n                        statusMessage: Too Many Requests\n                      '431':\n                        category: Unofficial\n                        description: >-\n                          The server refuses to process the request because the\n                          request headers are too large.\n                        statusCode: 431\n                        statusMessage: Request Header Fields Too Large\n                      '451':\n                        category: Unofficial\n                        description: >-\n                          The server is denying access to the resource due to\n                          legal reasons, such as censorship or\n                          government-mandated restrictions.\n                        statusCode: 451\n                        statusMessage: Unavailable For Legal Reasons\n                      '500':\n                        category: Server Error\n                        description: A generic server error has occurred.\n                        statusCode: 500\n                        statusMessage: Internal Server Error\n                      '501':\n                        category: Server Error\n                        description: >-\n                          The server does not support the functionality required\n                          to fulfill the request.\n                        statusCode: 501\n                        statusMessage: Not Implemented\n                      '502':\n                        category: Server Error\n                        description: >-\n                          The server, while acting as a gateway or proxy,\n                          received an invalid response from an upstream server.\n                        statusCode: 502\n                        statusMessage: Bad Gateway\n                      '503':\n                        category: Server Error\n                        description: >-\n                          The server is currently unable to handle the request\n                          due to temporary overloading or maintenance.\n                        statusCode: 503\n                        statusMessage: Service Unavailable\n                      '504':\n                        category: Server Error\n                        description: >-\n                          The server, while acting as a gateway or proxy, did\n                          not receive a timely response from the upstream\n                          server.\n                        statusCode: 504\n                        statusMessage: Gateway Timeout\n                      '505':\n                        category: Server Error\n                        description: >-\n                          The server does not support the HTTP protocol version\n                          used in the request.\n                        statusCode: 505\n                        statusMessage: HTTP Version Not Supported\n                      '506':\n                        category: Server Error\n                        description: >-\n                          The server has an internal configuration error: the\n                          chosen variant resource is configured to engage in\n                          transparent content negotiation itself and is\n                          therefore not a proper end point in the negotiation\n                          process.\n                        statusCode: 506\n                        statusMessage: Variant Also Negotiates\n                      '507':\n                        category: Server Error\n                        description: >-\n                          The server is unable to store the representation\n                          needed to complete the request.\n                        statusCode: 507\n                        statusMessage: Insufficient Storage\n                      '508':\n                        category: Server Error\n                        description: >-\n                          The server detected an infinite loop while processing\n                          the request.\n                        statusCode: 508\n                        statusMessage: Loop Detected\n                      '510':\n                        category: Server Error\n                        description: >-\n                          The policy for accessing the requested resource\n                          requires further extensions to be made by the client.\n                        statusCode: 510\n                        statusMessage: Not Extended\n                      '511':\n                        category: Server Error\n                        description: >-\n                          The client needs to authenticate to gain network\n                          access.\n                        statusCode: 511\n                        statusMessage: Network Authentication Required\n                    message: Status codes fetched\n                    statusCode: 200\n                    success: true\n  /kitchen-sink/status-codes/{statusCode}:\n    get:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Get status code\n      description: >-\n        This API endpoint allows users to retrieve detailed information about a\n        specific `HTTP` status code.\n\n\n        By providing the desired status code as a parameter in the URL, users\n        can obtain relevant information, including the meaning, description, and\n        type associated with that particular status code.\n      operationId: getStatusCode\n      responses:\n        '200':\n          description: ''\n        '418':\n          description: Get status code\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '400'\n            Date:\n              schema:\n                type: string\n                example: Thu, 15 Jun 2023 06:41:13 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"190-+jcpTk/NDsWe8MvNAdoWp2m7AYM\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      category:\n                        type: string\n                        example: Client Error\n                      description:\n                        type: string\n                        example: >-\n                          This code was defined in 1998 as one of the\n                          traditional IETF April Fools' jokes, in RFC 2324,\n                          Hyper Text Coffee Pot Control Protocol, and is not\n                          expected to be implemented by actual HTTP servers.\n                          However, known implementations do exist.\n                      statusCode:\n                        type: number\n                        example: 418\n                      statusMessage:\n                        type: string\n                        example: I'm a teapot\n                  message:\n                    type: string\n                    example: '418: I''m a teapot'\n                  statusCode:\n                    type: number\n                    example: 418\n                  success:\n                    type: boolean\n                    example: false\n              examples:\n                Get status code:\n                  value:\n                    data:\n                      category: Client Error\n                      description: >-\n                        This code was defined in 1998 as one of the traditional\n                        IETF April Fools' jokes, in RFC 2324, Hyper Text Coffee\n                        Pot Control Protocol, and is not expected to be\n                        implemented by actual HTTP servers. However, known\n                        implementations do exist.\n                      statusCode: 418\n                      statusMessage: I'm a teapot\n                    message: '418: I''m a teapot'\n                    statusCode: 418\n                    success: false\n    parameters:\n      - name: statusCode\n        in: path\n        required: true\n        schema:\n          type: string\n          example: '429'\n  /kitchen-sink/request/headers:\n    get:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Get request headers\n      description: >-\n        This API endpoint is designed to provide information about the headers\n        included in an HTTP request made to the API.\n\n\n        It allows users to retrieve the details of the headers sent in the\n        request, including their names, values, and any additional relevant\n        information.\n      operationId: getRequestHeaders\n      responses:\n        '200':\n          description: Get request headers\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '800'\n            Date:\n              schema:\n                type: string\n                example: Thu, 15 Jun 2023 06:52:18 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"320-R4XREqLUg1AJRjamk63S5sv2X58\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      headers:\n                        type: object\n                        properties:\n                          accept:\n                            type: string\n                            example: '*/*'\n                          accept-encoding:\n                            type: string\n                            example: gzip, deflate, br\n                          cache-control:\n                            type: string\n                            example: no-cache\n                          connection:\n                            type: string\n                            example: keep-alive\n                          cookie:\n                            type: string\n                            example: >-\n                              accessToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJlbWFpbCI6IndhamUuc2h1YmhhbTExMTJAZ21haWwuY29tIiwidXNlcm5hbWUiOiJ3YWplc2h1YmhhbTIiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NjgxNDEyMH0.X7DSYAaqIFVtNxqDSYWW40NNoxu-npBh0Yo7dsPIfBg;\n                              refreshToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NzU5MTcyMH0.sesIJ2P7EqaauA8JbNFe-7vbWMhH7uhiPn25x4zUG0I\n                          host:\n                            type: string\n                            example: localhost:8080\n                          postman-token:\n                            type: string\n                            example: 7c2f7cd1-a242-47d1-9121-dafdadd3f611\n                          user-agent:\n                            type: string\n                            example: PostmanRuntime/7.32.2\n                  message:\n                    type: string\n                    example: Request headers returned\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get request headers:\n                  value:\n                    data:\n                      headers:\n                        accept: '*/*'\n                        accept-encoding: gzip, deflate, br\n                        cache-control: no-cache\n                        connection: keep-alive\n                        cookie: >-\n                          accessToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJlbWFpbCI6IndhamUuc2h1YmhhbTExMTJAZ21haWwuY29tIiwidXNlcm5hbWUiOiJ3YWplc2h1YmhhbTIiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NjgxNDEyMH0.X7DSYAaqIFVtNxqDSYWW40NNoxu-npBh0Yo7dsPIfBg;\n                          refreshToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDg5NjI2ZGMyNjVmMGFhMmRiYjczYTQiLCJpYXQiOjE2ODY3Mjc3MjAsImV4cCI6MTY4NzU5MTcyMH0.sesIJ2P7EqaauA8JbNFe-7vbWMhH7uhiPn25x4zUG0I\n                        host: localhost:8080\n                        postman-token: 7c2f7cd1-a242-47d1-9121-dafdadd3f611\n                        user-agent: PostmanRuntime/7.32.2\n                    message: Request headers returned\n                    statusCode: 200\n                    success: true\n  /kitchen-sink/request/ip:\n    get:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Get client IP\n      description: >-\n        This API endpoint is designed to provide the current client's IP\n        (Internet Protocol) address.\n\n\n        It allows users to retrieve the IP address from which the client is\n        making the request to the API.\n      operationId: getClientIp\n      responses:\n        '200':\n          description: Get client IP\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '116'\n            Date:\n              schema:\n                type: string\n                example: Thu, 15 Jun 2023 06:52:40 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"74-Wmvo0w2CUPNpRmrFBil0Zj5rnDA\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      ip:\n                        type: string\n                        example: '::ffff:172.27.0.3'\n                      ipv:\n                        type: string\n                        example: IPv6\n                  message:\n                    type: string\n                    example: IP information returned\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get client IP:\n                  value:\n                    data:\n                      ip: '::ffff:172.27.0.3'\n                      ipv: IPv6\n                    message: IP information returned\n                    statusCode: 200\n                    success: true\n  /kitchen-sink/request/user-agent:\n    get:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Get user agent\n      description: >-\n        This API endpoint is designed to provide information about the user\n        agent string associated with the client making the request.\n\n\n        It allows users to retrieve details about the user agent, which\n        typically includes the name and version of the client's software or web\n        browser.\n      operationId: getUserAgent\n      responses:\n        '200':\n          description: Get user agent\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '110'\n            Date:\n              schema:\n                type: string\n                example: Thu, 15 Jun 2023 06:53:37 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"6e-wSzxBWAx6PGhxbGGU33V6tStqqM\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      userAgent:\n                        type: string\n                        example: PostmanRuntime/7.32.2\n                  message:\n                    type: string\n                    example: User agent returned\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get user agent:\n                  value:\n                    data:\n                      userAgent: PostmanRuntime/7.32.2\n                    message: User agent returned\n                    statusCode: 200\n                    success: true\n  /kitchen-sink/request/path-variable/{pathVariable}:\n    get:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Get path variable\n      description: >-\n        The API endpoint allows you to retrieve the path variable being supplied\n        in the URL.\n\n\n        By accessing this endpoint, you can obtain the specific value provided\n        as a path parameter in the URL.\n\n\n        This functionality is useful when you need to access and utilize **the\n        dynamic portion of the URL** within your application or for further\n        processing.\n      operationId: getPathVariable\n      responses:\n        '200':\n          description: Get path variable\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '110'\n            Date:\n              schema:\n                type: string\n                example: Sun, 09 Jul 2023 09:11:07 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"6e-D9ZZB5CcvLIbhacyetBtrTnRvUc\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '498'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '892'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      pathVariable:\n                        type: string\n                        example: '123'\n                  message:\n                    type: string\n                    example: Path variables caught successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get path variable:\n                  value:\n                    data:\n                      pathVariable: '123'\n                    message: Path variables caught successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: pathVariable\n        in: path\n        required: true\n        schema:\n          type: string\n          example: '123'\n  /kitchen-sink/request/query-parameter:\n    get:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Get query parameters\n      description: >-\n        The API endpoint provides the capability to retrieve the query\n        parameters being supplied in the URL.\n\n\n        When accessing this endpoint, you can retrieve and access the values of\n        the query parameters included in the URL.\n\n\n        This functionality allows you to extract and utilize the information\n        provided as query parameters for further processing or customization\n        within your application.\n      operationId: getQueryParameters\n      parameters:\n        - name: query1\n          in: query\n          schema:\n            type: string\n            example: value1\n        - name: query2\n          in: query\n          schema:\n            type: string\n            example: value2\n        - name: query3\n          in: query\n          schema:\n            type: string\n            example: value3\n      responses:\n        '200':\n          description: Get query parameters\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '145'\n            Date:\n              schema:\n                type: string\n                example: Sun, 09 Jul 2023 09:15:10 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"91-ngd90suFrMjjIaszL1bnguIHqGQ\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '498'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '893'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      query1:\n                        type: string\n                        example: value1\n                      query2:\n                        type: string\n                        example: value2\n                      query3:\n                        type: string\n                        example: value3\n                  message:\n                    type: string\n                    example: Query parameters caught successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get query parameters:\n                  value:\n                    data:\n                      query1: value1\n                      query2: value2\n                      query3: value3\n                    message: Query parameters caught successfully\n                    statusCode: 200\n                    success: true\n  /kitchen-sink/response/headers:\n    get:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Get response headers\n      description: >-\n        The API endpoint enables you to retrieve the response headers.\n\n\n        By accessing this endpoint, you can obtain the headers included in the\n        response of an HTTP request.\n\n\n        This functionality is useful for inspecting and retrieving important\n        metadata and information associated with the response, such as content\n        type, cache control, and authentication-related headers.\n\n\n        It allows you to access and utilize the response headers for further\n        processing or to gather relevant information from the API response.\n      operationId: getResponseHeaders\n      responses:\n        '200':\n          description: Get request headers\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '280'\n            Date:\n              schema:\n                type: string\n                example: Fri, 16 Jun 2023 17:31:24 GMT\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n            etag:\n              schema:\n                type: string\n                example: '12345'\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      headers:\n                        type: object\n                        properties:\n                          access-control-allow-credentials:\n                            type: string\n                            example: 'true'\n                          access-control-allow-origin:\n                            type: string\n                            example: '*'\n                          content-length:\n                            type: string\n                            example: '280'\n                          content-type:\n                            type: string\n                            example: application/json; charset=utf-8\n                          etag:\n                            type: string\n                            example: '12345'\n                          x-powered-by:\n                            type: string\n                            example: Express\n                  message:\n                    type: string\n                    example: Response headers returned\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get request headers:\n                  value:\n                    data:\n                      headers:\n                        access-control-allow-credentials: 'true'\n                        access-control-allow-origin: '*'\n                        content-length: '280'\n                        content-type: application/json; charset=utf-8\n                        etag: '12345'\n                        x-powered-by: Express\n                    message: Response headers returned\n                    statusCode: 200\n                    success: true\n  /kitchen-sink/response/cache/{timeToLive}/{cacheResponseDirective}:\n    get:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Set cache control header\n      description: \"- `Cache-control`\\_is an HTTP header used to specify browser caching policies in both client requests and server responses.\\n    \\n\\n- Policies include how a resource is cached, where it’s cached and its maximum age before expiring (i.e., time to live)\\n    \\n\\n_For example,_\\n\\n`cache-control: max-age=120` means that the returned resource is valid for **120** seconds, after which the browser has to request a newer version.\\n\\n- The `public` (cacheResponseDirective) response directive indicates that a resource can be cached by any cache.  \\n    \\n- The `private` (cacheResponseDirective) response directive indicates that a resource is user specific - it can still be cached, but only on a client device. For example, a web page response marked as private can be cached by a desktop browser, but not a content delivery network (CDN).\"\n      operationId: setCacheControlHeader\n      responses:\n        '200':\n          description: Set cache control header\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Cache-Control:\n              schema:\n                type: string\n                example: private, max-age=120\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '240'\n            Date:\n              schema:\n                type: string\n                example: Fri, 16 Jun 2023 17:53:31 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"f0-SocD0vzdwindDhrx8ayumLy+KvE\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      headers:\n                        type: object\n                        properties:\n                          access-control-allow-credentials:\n                            type: string\n                            example: 'true'\n                          access-control-allow-origin:\n                            type: string\n                            example: '*'\n                          cache-control:\n                            type: string\n                            example: private, max-age=120\n                          x-powered-by:\n                            type: string\n                            example: Express\n                  message:\n                    type: string\n                    example: Cache control header has been set\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Set cache control header:\n                  value:\n                    data:\n                      headers:\n                        access-control-allow-credentials: 'true'\n                        access-control-allow-origin: '*'\n                        cache-control: private, max-age=120\n                        x-powered-by: Express\n                    message: Cache control header has been set\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: timeToLive\n        in: path\n        required: true\n        schema:\n          type: string\n          example: '120'\n      - name: cacheResponseDirective\n        in: path\n        required: true\n        schema:\n          type: string\n          example: public\n        description: '\"public\" | \"private\"'\n  /kitchen-sink/response/html:\n    get:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Send HTML template response\n      description: >-\n        The API endpoint provides the ability to retrieve an HTML template as a\n        response.\n\n\n        When accessing this endpoint, you will receive an HTML template that can\n        be rendered and displayed in a web browser or used for further\n        manipulation.\n\n\n        This functionality is useful when you need to dynamically generate or\n        retrieve HTML templates from your application's backend and deliver them\n        to clients for rendering user interfaces or displaying structured\n        content.\n      operationId: sendHtmlTemplateResponse\n      responses:\n        '200':\n          description: New Request\n          headers:\n            Accept-Ranges:\n              schema:\n                type: string\n                example: bytes\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Cache-Control:\n              schema:\n                type: string\n                example: public, max-age=0\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '626'\n            Date:\n              schema:\n                type: string\n                example: Fri, 16 Jun 2023 20:25:59 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"272-188c5e14740\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            Last-Modified:\n              schema:\n                type: string\n                example: Fri, 16 Jun 2023 20:24:15 GMT\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            text/plain:\n              examples:\n                New Request:\n                  value: |-\n                    <!DOCTYPE html>\n                    <html lang=\"en\">\n                        <head>\n                            <meta charset=\"UTF-8\" />\n                            <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n                            <title>Response HTML Template</title>\n                        </head>\n                        <body>\n                            <h1>\n                          Anything that can be Written in JavaScript, will Eventually be Written in\n                          JavaScript\n                        </h1>\n                            <p>\n                          Lorem ipsum dolor sit amet consectetur adipisicing elit. Officia ipsum\n                          minima voluptatibus harum itaque, expedita corrupti enim similique\n                          repudiandae aspernatur, praesentium id, consequatur vitae ex quasi soluta\n                          totam voluptatum reiciendis!\n                        </p>\n                        </body>\n                    </html>\n  /kitchen-sink/response/xml:\n    get:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Send XML response\n      description: >-\n        The API endpoint allows you to retrieve an XML template as a response.\n\n\n        When accessing this endpoint, you will receive an XML template that can\n        be used for various purposes, such as data interchange, configuration,\n        or structured content representation.\n\n\n        This functionality is particularly useful when you need to dynamically\n        generate or retrieve XML templates from your application's backend and\n        deliver them to clients for processing, parsing, or integration with\n        other systems that support XML data formats.\n      operationId: sendXmlResponse\n      responses:\n        '200':\n          description: Send HTML template response Copy\n          headers:\n            Accept-Ranges:\n              schema:\n                type: string\n                example: bytes\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Cache-Control:\n              schema:\n                type: string\n                example: public, max-age=0\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '475'\n            Date:\n              schema:\n                type: string\n                example: Fri, 16 Jun 2023 20:37:38 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1db-188c5ecaf3d\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            Last-Modified:\n              schema:\n                type: string\n                example: Fri, 16 Jun 2023 20:36:42 GMT\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            text/plain:\n              examples:\n                Send HTML template response Copy:\n                  value: |-\n                    <?xml version='1.0' encoding='us-ascii'?>\n                    <carousal \n                        title=\"Cool carousal\"\n                        date=\"Date of creation\"\n                        author=\"Yours Truly\"\n                        >\n                        <!-- TITLE SLIDE -->\n                        <panel type=\"all\">\n                            <title>Javascript is the best</title>\n                        </panel>\n                        <!-- OVERVIEW -->\n                        <panel type=\"all\">\n                            <title>Overview</title>\n                            <item>Why \n                                <em>Javascript</em> is the best\n                            </item>\n                            <item/>\n                            <item>Who \n                                <em>created</em> Javascript\n                            </item>\n                        </panel>\n                    </carousal>\n  /kitchen-sink/response/gzip:\n    get:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Send gzip response\n      description: >-\n        _GZIP encoding is a compression technique used to reduce the size of\n        data transmitted over the network. It works by replacing repetitive or\n        redundant sequences of data with references, resulting in a compressed\n        representation._\n\n\n        The API endpoint returns a GZIP encoded response, providing a compressed\n        version of the requested resource.\n\n\n        When accessing this endpoint, the response received will be encoded\n        using the GZIP compression algorithm, resulting in a smaller response\n        size for efficient transmission over the network.\n\n\n        GZIP encoding reduces bandwidth usage and improves overall performance\n        by compressing the response data on the server-side and decompressing it\n        on the client-side.\n      operationId: sendGzipResponse\n      responses:\n        '200':\n          description: Send gzip response\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Encoding:\n              schema:\n                type: string\n                example: gzip\n            Date:\n              schema:\n                type: string\n                example: Sun, 09 Jul 2023 10:57:28 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1fb9-tQUpkqYPiY4mqwGYx4Oxei0RNCM\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '499'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '898'\n            Set-Cookie:\n              schema:\n                type: string\n                example: >-\n                  connect.sid=s%3AVvWhD7wPO5EiqgLiYROOJbb6guCqVzJn.NwLTk8XdZ2IMF2TKwTe5RAejfPy7%2BI6yRAMTRuACihk;\n                  Path=/; HttpOnly\n            Transfer-Encoding:\n              schema:\n                type: string\n                example: chunked\n            Vary:\n              schema:\n                type: string\n                example: Accept-Encoding\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      contentEncoding:\n                        type: string\n                        example: gzip\n                      string:\n                        type: string\n                        example: >-\n                          elephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephant\n                  message:\n                    type: string\n                    example: Response compressed with gzip\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Send gzip response:\n                  value:\n                    data:\n                      contentEncoding: gzip\n                      string: >-\n                        elephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephant\n                    message: Response compressed with gzip\n                    statusCode: 200\n                    success: true\n  /kitchen-sink/response/brotli:\n    get:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Send brotli response\n      description: >-\n        _Brotli encoding is a modern compression algorithm specifically designed\n        for web content compression. It provides advanced and efficient\n        compression by utilizing a combination of various techniques, including\n        LZ77, Huffman coding, and context modeling._\n\n\n        The API endpoint returns a Brotli encoded response, which means the\n        response data is compressed using the Brotli compression algorithm.\n\n\n        Brotli compression offers superior compression ratios compared to\n        traditional compression methods like GZIP, resulting in smaller file\n        sizes and improved network efficiency.\n\n\n        The client will receive the compressed response and can decompress it\n        using Brotli decompression to obtain the original data.\n      operationId: sendBrotliResponse\n      responses:\n        '200':\n          description: Send brotli response\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Encoding:\n              schema:\n                type: string\n                example: br\n            Date:\n              schema:\n                type: string\n                example: Sun, 09 Jul 2023 10:58:20 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1fb9-XHP41THHrV7amNj5gBmImpn0Fqs\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '498'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '847'\n            Transfer-Encoding:\n              schema:\n                type: string\n                example: chunked\n            Vary:\n              schema:\n                type: string\n                example: Accept-Encoding\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      contentEncoding:\n                        type: string\n                        example: br\n                      string:\n                        type: string\n                        example: >-\n                          elephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephant\n                  message:\n                    type: string\n                    example: Response compressed with brotli\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Send brotli response:\n                  value:\n                    data:\n                      contentEncoding: br\n                      string: >-\n                        elephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephantelephant\n                    message: Response compressed with brotli\n                    statusCode: 200\n                    success: true\n  /kitchen-sink/cookies/get:\n    get:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Get cookies\n      description: >-\n        The API endpoint allows you to retrieve the cookies sent by the client\n        as part of the request.\n\n\n        When accessing this endpoint, you will receive the cookies that were\n        included in the request headers from the client.\n\n\n        This functionality enables you to access and utilize the cookie data\n        sent by the client for various purposes, such as session management,\n        authentication, or personalization within your application.\n      operationId: getCookies\n      responses:\n        '200':\n          description: Get cookies\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '95'\n            Date:\n              schema:\n                type: string\n                example: Thu, 15 Jun 2023 09:19:38 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"5f-jnVXgZ7PAKqWs6p6MgptpeBy68o\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      cookies:\n                        type: object\n                        properties:\n                          foo:\n                            type: string\n                            example: bar\n                  message:\n                    type: string\n                    example: Cookies returned\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get cookies:\n                  value:\n                    data:\n                      cookies:\n                        foo: bar\n                    message: Cookies returned\n                    statusCode: 200\n                    success: true\n  /kitchen-sink/cookies/set:\n    post:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Set cookie\n      description: >-\n        The API endpoint allows you to set cookies on the client's browser as\n        part of the response.\n\n\n        When accessing this endpoint, you can include specific cookie\n        information in the response headers, which will be stored by the\n        client's browser for future requests.\n\n\n        This functionality enables you to set and manage cookies on the client\n        side, which can be used for various purposes such as session management,\n        user authentication, personalization, or tracking user preferences\n        within your application.\n      operationId: setCookie\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                foo:\n                  type: string\n                  example: bar\n            example:\n              foo: bar\n      responses:\n        '200':\n          description: Set cookie\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '98'\n            Date:\n              schema:\n                type: string\n                example: Thu, 15 Jun 2023 09:19:30 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"62-PcqqWxHkmUwufm1GkDPZx0pyMGM\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            Set-Cookie:\n              schema:\n                type: string\n                example: foo=bar; Path=/\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      cookies:\n                        type: object\n                        properties:\n                          foo:\n                            type: string\n                            example: bar\n                  message:\n                    type: string\n                    example: Cookie has been set\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Set cookie:\n                  value:\n                    data:\n                      cookies:\n                        foo: bar\n                    message: Cookie has been set\n                    statusCode: 200\n                    success: true\n  /kitchen-sink/cookies/remove:\n    delete:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Remove cookie\n      description: >-\n        The API endpoint facilitates the deletion of cookies from the client's\n        browser.\n\n\n        By accessing this endpoint, you can send a response that instructs the\n        client's browser to remove specific cookies associated with your\n        application.\n\n\n        This functionality allows you to manage and revoke cookies on the client\n        side, enabling tasks such as clearing session data, implementing\n        logouts, or removing user preferences stored in cookies.\n      operationId: removeCookie\n      parameters:\n        - name: cookieKey\n          in: query\n          schema:\n            type: string\n            example: foo\n      responses:\n        '200':\n          description: Remove cookie\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '91'\n            Date:\n              schema:\n                type: string\n                example: Thu, 15 Jun 2023 09:19:52 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"5b-esyMtfcHgrbkhS1vHjyynSFp9g0\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            Set-Cookie:\n              schema:\n                type: string\n                example: foo=; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      cookies:\n                        type: object\n                        properties: {}\n                  message:\n                    type: string\n                    example: Cookie has been cleared\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Remove cookie:\n                  value:\n                    data:\n                      cookies: {}\n                    message: Cookie has been cleared\n                    statusCode: 200\n                    success: true\n  /kitchen-sink/redirect/to:\n    get:\n      tags:\n        - 🚰 Kitchen Sink\n      summary: Redirect to url\n      description: >-\n        The API endpoint redirects the client to a URL specified in the query\n        parameter.\n\n\n        When accessing this endpoint, the client's browser will be automatically\n        redirected to the URL extracted from the query parameter.\n\n\n        This functionality is useful when you need to redirect clients to a\n        different location or resource based on dynamic information included in\n        the query parameter. It allows for flexible navigation and routing\n        within your application or for redirecting to external resources.\n      operationId: redirectToUrl\n      parameters:\n        - name: url\n          in: query\n          schema:\n            type: string\n            example: https://github.com\n      responses:\n        '200':\n          description: Redirect to url\n          headers:\n            Accept-Ranges:\n              schema:\n                type: string\n                example: bytes\n            Cache-Control:\n              schema:\n                type: string\n                example: max-age=0, private, must-revalidate\n            Content-Encoding:\n              schema:\n                type: string\n                example: gzip\n            Content-Security-Policy:\n              schema:\n                type: string\n                example: >-\n                  default-src 'none'; base-uri 'self'; block-all-mixed-content;\n                  child-src github.com/assets-cdn/worker/\n                  gist.github.com/assets-cdn/worker/; connect-src 'self'\n                  uploads.github.com objects-origin.githubusercontent.com\n                  www.githubstatus.com collector.github.com\n                  raw.githubusercontent.com api.github.com\n                  github-cloud.s3.amazonaws.com\n                  github-production-repository-file-5c1aeb.s3.amazonaws.com\n                  github-production-upload-manifest-file-7fdce7.s3.amazonaws.com\n                  github-production-user-asset-6210df.s3.amazonaws.com\n                  cdn.optimizely.com logx.optimizely.com/v1/events\n                  *.actions.githubusercontent.com\n                  productionresultssa0.blob.core.windows.net/\n                  productionresultssa1.blob.core.windows.net/\n                  productionresultssa2.blob.core.windows.net/\n                  productionresultssa3.blob.core.windows.net/\n                  productionresultssa4.blob.core.windows.net/\n                  wss://*.actions.githubusercontent.com\n                  github-production-repository-image-32fea6.s3.amazonaws.com\n                  github-production-release-asset-2e65be.s3.amazonaws.com\n                  insights.github.com wss://alive.github.com\n                  github.githubassets.com; font-src github.githubassets.com;\n                  form-action 'self' github.com gist.github.com\n                  objects-origin.githubusercontent.com; frame-ancestors 'none';\n                  frame-src viewscreen.githubusercontent.com\n                  notebooks.githubusercontent.com; img-src 'self' data:\n                  github.githubassets.com media.githubusercontent.com\n                  camo.githubusercontent.com identicons.github.com\n                  avatars.githubusercontent.com github-cloud.s3.amazonaws.com\n                  objects.githubusercontent.com\n                  objects-origin.githubusercontent.com\n                  secured-user-images.githubusercontent.com/\n                  user-images.githubusercontent.com/\n                  private-user-images.githubusercontent.com\n                  opengraph.githubassets.com\n                  github-production-user-asset-6210df.s3.amazonaws.com\n                  customer-stories-feed.github.com spotlights-feed.github.com\n                  *.githubusercontent.com; manifest-src 'self'; media-src\n                  github.com user-images.githubusercontent.com/\n                  secured-user-images.githubusercontent.com/\n                  private-user-images.githubusercontent.com\n                  github.githubassets.com; script-src github.githubassets.com;\n                  style-src 'unsafe-inline' github.githubassets.com; worker-src\n                  github.com/assets-cdn/worker/\n                  gist.github.com/assets-cdn/worker/\n            Date:\n              schema:\n                type: string\n                example: Thu, 15 Jun 2023 17:11:33 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"6eee969f38e17d25c1fdc8d5543569e7\"\n            Referrer-Policy:\n              schema:\n                type: string\n                example: origin-when-cross-origin, strict-origin-when-cross-origin\n            Server:\n              schema:\n                type: string\n                example: GitHub.com\n            Strict-Transport-Security:\n              schema:\n                type: string\n                example: max-age=31536000; includeSubdomains; preload\n            Transfer-Encoding:\n              schema:\n                type: string\n                example: chunked\n            Vary:\n              schema:\n                type: string\n                example: >-\n                  X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame,\n                  Accept-Language, Accept-Encoding, Accept, X-Requested-With\n            X-Content-Type-Options:\n              schema:\n                type: string\n                example: nosniff\n            X-Frame-Options:\n              schema:\n                type: string\n                example: deny\n            X-GitHub-Request-Id:\n              schema:\n                type: string\n                example: F0BE:4E93:809DA:8E543:648B4649\n            X-XSS-Protection:\n              schema:\n                type: string\n                example: '0'\n            content-language:\n              schema:\n                type: string\n                example: en-US\n          content:\n            text/plain:\n              examples:\n                Redirect to url:\n                  value: \"\\n\\n\\n\\n\\n\\n<!DOCTYPE html>\\n<html lang=\\\"en\\\"   data-a11y-animated-images=\\\"system\\\">\\n    <head>\\n        <meta charset=\\\"utf-8\\\">\\n        <link rel=\\\"dns-prefetch\\\" href=\\\"https://github.githubassets.com\\\">\\n        <link rel=\\\"dns-prefetch\\\" href=\\\"https://avatars.githubusercontent.com\\\">\\n        <link rel=\\\"dns-prefetch\\\" href=\\\"https://github-cloud.s3.amazonaws.com\\\">\\n        <link rel=\\\"dns-prefetch\\\" href=\\\"https://user-images.githubusercontent.com/\\\">\\n        <link rel=\\\"preconnect\\\" href=\\\"https://github.githubassets.com\\\" crossorigin>\\n        <link rel=\\\"preconnect\\\" href=\\\"https://avatars.githubusercontent.com\\\">\\n        <link crossorigin=\\\"anonymous\\\" media=\\\"all\\\" rel=\\\"stylesheet\\\" href=\\\"https://github.githubassets.com/assets/light-946902aac6a1.css\\\" />\\n        <link crossorigin=\\\"anonymous\\\" media=\\\"all\\\" rel=\\\"stylesheet\\\" href=\\\"https://github.githubassets.com/assets/dark-030e28cb8394.css\\\" />\\n        <link data-color-theme=\\\"light\\\" crossorigin=\\\"anonymous\\\" media=\\\"all\\\" rel=\\\"stylesheet\\\" data-href=\\\"https://github.githubassets.com/assets/light-946902aac6a1.css\\\" />\\n        <link data-color-theme=\\\"dark\\\" crossorigin=\\\"anonymous\\\" media=\\\"all\\\" rel=\\\"stylesheet\\\" data-href=\\\"https://github.githubassets.com/assets/dark-030e28cb8394.css\\\" />\\n        <link data-color-theme=\\\"dark_dimmed\\\" crossorigin=\\\"anonymous\\\" media=\\\"all\\\" rel=\\\"stylesheet\\\" data-href=\\\"https://github.githubassets.com/assets/dark_dimmed-53fac7eeaef0.css\\\" />\\n        <link data-color-theme=\\\"dark_high_contrast\\\" crossorigin=\\\"anonymous\\\" media=\\\"all\\\" rel=\\\"stylesheet\\\" data-href=\\\"https://github.githubassets.com/assets/dark_high_contrast-e7297f24f20e.css\\\" />\\n        <link data-color-theme=\\\"dark_colorblind\\\" crossorigin=\\\"anonymous\\\" media=\\\"all\\\" rel=\\\"stylesheet\\\" data-href=\\\"https://github.githubassets.com/assets/dark_colorblind-2c82e49ee788.css\\\" />\\n        <link data-color-theme=\\\"light_colorblind\\\" crossorigin=\\\"anonymous\\\" media=\\\"all\\\" rel=\\\"stylesheet\\\" data-href=\\\"https://github.githubassets.com/assets/light_colorblind-b3c5f4428be3.css\\\" />\\n        <link data-color-theme=\\\"light_high_contrast\\\" crossorigin=\\\"anonymous\\\" media=\\\"all\\\" rel=\\\"stylesheet\\\" data-href=\\\"https://github.githubassets.com/assets/light_high_contrast-b249b3c5ff73.css\\\" />\\n        <link data-color-theme=\\\"light_tritanopia\\\" crossorigin=\\\"anonymous\\\" media=\\\"all\\\" rel=\\\"stylesheet\\\" data-href=\\\"https://github.githubassets.com/assets/light_tritanopia-413c5e259397.css\\\" />\\n        <link data-color-theme=\\\"dark_tritanopia\\\" crossorigin=\\\"anonymous\\\" media=\\\"all\\\" rel=\\\"stylesheet\\\" data-href=\\\"https://github.githubassets.com/assets/dark_tritanopia-7690b6bac103.css\\\" />\\n        <link crossorigin=\\\"anonymous\\\" media=\\\"all\\\" rel=\\\"stylesheet\\\" href=\\\"https://github.githubassets.com/assets/primer-primitives-fb1d51d1ef66.css\\\" />\\n        <link crossorigin=\\\"anonymous\\\" media=\\\"all\\\" rel=\\\"stylesheet\\\" href=\\\"https://github.githubassets.com/assets/primer-0e3420bbec16.css\\\" />\\n        <link crossorigin=\\\"anonymous\\\" media=\\\"all\\\" rel=\\\"stylesheet\\\" href=\\\"https://github.githubassets.com/assets/global-a55bf4a27d6d.css\\\" />\\n        <link crossorigin=\\\"anonymous\\\" media=\\\"all\\\" rel=\\\"stylesheet\\\" href=\\\"https://github.githubassets.com/assets/github-a03f5b7d8828.css\\\" />\\n        <link crossorigin=\\\"anonymous\\\" media=\\\"all\\\" rel=\\\"stylesheet\\\" href=\\\"https://github.githubassets.com/assets/dashboard-f8cf0c27a9d5.css\\\" />\\n        <link crossorigin=\\\"anonymous\\\" media=\\\"all\\\" rel=\\\"stylesheet\\\" href=\\\"https://github.githubassets.com/assets/discussions-6ad34c16e040.css\\\" />\\n        <link crossorigin=\\\"anonymous\\\" media=\\\"all\\\" rel=\\\"stylesheet\\\" href=\\\"https://github.githubassets.com/assets/site-2e14bc28cc0a.css\\\" />\\n        <link crossorigin=\\\"anonymous\\\" media=\\\"all\\\" rel=\\\"stylesheet\\\" href=\\\"https://github.githubassets.com/assets/home-3bba68f788b5.css\\\" />\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/wp-runtime-168679f51b14.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/vendors-node_modules_stacktrace-parser_dist_stack-trace-parser_esm_js-node_modules_github_bro-a4c183-ae93d3fba59c.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/ui_packages_soft-nav_soft-nav_ts-899d6d5b0d82.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/environment-07edc14d05eb.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-2646a2c533e3.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-99e288659d4f.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/vendors-node_modules_github_markdown-toolbar-element_dist_index_js-496d76cca51c.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_auto-complete-element-5b3870-ff38694180c6.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_github_text-ex-3415a8-7ecc10fb88d0.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-d1569f-eb0e0c1e5438.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/vendors-node_modules_primer_view-components_app_components_primer_primer_js-node_modules_gith-3af896-d8cf3e5f5813.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/github-elements-895dc242ef37.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/element-registry-28586a0578cf.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-9d9fe1859ce5.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/vendors-node_modules_morphdom_dist_morphdom-esm_js-b1fdd7158cf0.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_alive-client_dist-bf5aa2-424aa982deef.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-ba0e4d5b3207.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-node_modules_github_jtml_lib_index_js-40bf234a19dc.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_scroll-anchoring_dist_scro-52dc4b-e1e33bfc0b7e.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/vendors-node_modules_github_paste-markdown_dist_index_esm_js-node_modules_github_quote-select-0ea842-0c42838a12e3.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/app_assets_modules_github_updatable-content_ts-88070db28a55.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/app_assets_modules_github_behaviors_keyboard-shortcuts-helper_ts-app_assets_modules_github_be-f5afdb-3a77a772cd4d.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-050ad6637d58.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-2e2258-7effad8d88d4.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-f22ac6b94445.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/app_assets_modules_github_blob-anchor_ts-app_assets_modules_github_filter-sort_ts-app_assets_-e5f169-c54621d9e188.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/behaviors-2f602c8aafdd.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-623425af41e1.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/notifications-global-0104a8043aa4.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-b4a243-6b0c4317c3ae.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/marketing-dd859f5ecd4e.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/home-0369a2a6b0c5.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/vendors-node_modules_github_webgl-globe_dist_js_main_js-13e563907b63.js\\\"></script>\\n        <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/webgl-globe-0fd6a24e0678.js\\\"></script>\\n        <title>GitHub: Let’s build from here · GitHub</title>\\n        <meta name=\\\"route-pattern\\\" content=\\\"/\\\">\\n        <meta name=\\\"current-catalog-service-hash\\\" content=\\\"40dc28bd654b20f337468a532ff456ed5863889cfbb4e982b793597321d48d3f\\\">\\n        <meta name=\\\"request-id\\\" content=\\\"F0BE:4E93:809DA:8E543:648B4649\\\" data-pjax-transient=\\\"true\\\"/>\\n        <meta name=\\\"html-safe-nonce\\\" content=\\\"916252bb4a4b820e375394ef2b359e460a072f2db3a907c4f3899f24af1460c4\\\" data-pjax-transient=\\\"true\\\"/>\\n        <meta name=\\\"visitor-payload\\\" content=\\\"eyJyZWZlcnJlciI6Imh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9hcGkvdjEva2l0Y2hlbi1zaW5rL3JlZGlyZWN0L3RvP3VybD1odHRwczovL2dpdGh1Yi5jb20iLCJyZXF1ZXN0X2lkIjoiRjBCRTo0RTkzOjgwOURBOjhFNTQzOjY0OEI0NjQ5IiwidmlzaXRvcl9pZCI6IjI2NzY3MDQ1NjM1MDc3MDkwMDEiLCJyZWdpb25fZWRnZSI6ImNlbnRyYWxpbmRpYSIsInJlZ2lvbl9yZW5kZXIiOiJjZW50cmFsaW5kaWEifQ==\\\" data-pjax-transient=\\\"true\\\"/>\\n        <meta name=\\\"visitor-hmac\\\" content=\\\"9d8cac366d5c5aae0b933b46f2148975ecbf7a6beb8fcc189a0beb021bacc73e\\\" data-pjax-transient=\\\"true\\\"/>\\n        <meta name=\\\"page-subject\\\" content=\\\"GitHub\\\">\\n        <meta name=\\\"github-keyboard-shortcuts\\\" content=\\\"dashboards\\\" data-turbo-transient=\\\"true\\\" />\\n        <meta name=\\\"selected-link\\\" value=\\\"/\\\" data-turbo-transient>\\n        <link rel=\\\"assets\\\" href=\\\"https://github.githubassets.com/\\\">\\n        <meta name=\\\"google-site-verification\\\" content=\\\"c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY\\\">\\n        <meta name=\\\"google-site-verification\\\" content=\\\"KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU\\\">\\n        <meta name=\\\"google-site-verification\\\" content=\\\"ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA\\\">\\n        <meta name=\\\"google-site-verification\\\" content=\\\"GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc\\\">\\n        <meta name=\\\"google-site-verification\\\" content=\\\"Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I\\\">\\n        <meta name=\\\"octolytics-url\\\" content=\\\"https://collector.github.com/github/collect\\\" />\\n        <meta name=\\\"user-login\\\" content=\\\"\\\">\\n        <meta name=\\\"viewport\\\" content=\\\"width=device-width\\\">\\n        <meta name=\\\"description\\\" content=\\\"GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and features, power your CI/CD and DevOps workflows, and secure code before you commit it.\\\">\\n        <link rel=\\\"search\\\" type=\\\"application/opensearchdescription+xml\\\" href=\\\"/opensearch.xml\\\" title=\\\"GitHub\\\">\\n        <link rel=\\\"fluid-icon\\\" href=\\\"https://github.com/fluidicon.png\\\" title=\\\"GitHub\\\">\\n        <meta property=\\\"fb:app_id\\\" content=\\\"1401488693436528\\\">\\n        <meta name=\\\"apple-itunes-app\\\" content=\\\"app-id=1477376905\\\" />\\n        <meta name=\\\"twitter:image:src\\\" content=\\\"https://github.githubassets.com/images/modules/site/social-cards/campaign-social.png\\\" />\\n        <meta name=\\\"twitter:site\\\" content=\\\"@github\\\" />\\n        <meta name=\\\"twitter:card\\\" content=\\\"summary_large_image\\\" />\\n        <meta name=\\\"twitter:title\\\" content=\\\"GitHub: Let’s build from here\\\" />\\n        <meta name=\\\"twitter:description\\\" content=\\\"GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...\\\" />\\n        <meta property=\\\"og:image\\\" content=\\\"https://github.githubassets.com/images/modules/site/social-cards/campaign-social.png\\\" />\\n        <meta property=\\\"og:image:alt\\\" content=\\\"GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...\\\" />\\n        <meta property=\\\"og:site_name\\\" content=\\\"GitHub\\\" />\\n        <meta property=\\\"og:type\\\" content=\\\"object\\\" />\\n        <meta property=\\\"og:title\\\" content=\\\"GitHub: Let’s build from here\\\" />\\n        <meta property=\\\"og:url\\\" content=\\\"https://github.com/\\\" />\\n        <meta property=\\\"og:description\\\" content=\\\"GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...\\\" />\\n        <meta name=\\\"hostname\\\" content=\\\"github.com\\\">\\n        <meta name=\\\"expected-hostname\\\" content=\\\"github.com\\\">\\n        <meta name=\\\"enabled-features\\\" content=\\\"TURBO_EXPERIMENT_RISKY,IMAGE_METRIC_TRACKING,GEOJSON_AZURE_MAPS\\\">\\n        <meta http-equiv=\\\"x-pjax-version\\\" content=\\\"d4623f250e10af6ca68385181c5462176363d14fc958f46a187e0ff1423f8987\\\" data-turbo-track=\\\"reload\\\">\\n        <meta http-equiv=\\\"x-pjax-csp-version\\\" content=\\\"3fd958552b06d480bf2d4f86f47f010847112a1fc1eebe3f85c0c280a4789f16\\\" data-turbo-track=\\\"reload\\\">\\n        <meta http-equiv=\\\"x-pjax-css-version\\\" content=\\\"254f878b0ba906eac8f72c1e69d97c1f00e48f5b8a6c5c46d212989c67d85a25\\\" data-turbo-track=\\\"reload\\\">\\n        <meta http-equiv=\\\"x-pjax-js-version\\\" content=\\\"044b8d266d47b4af14ff85419fc2084e33c7a4aea8e445dcd708b3191092d189\\\" data-turbo-track=\\\"reload\\\">\\n        <meta name=\\\"turbo-cache-control\\\" content=\\\"no-preview\\\" data-turbo-transient=\\\"\\\">\\n        <meta property=\\\"og:image:type\\\" content=\\\"image/png\\\">\\n        <meta property=\\\"og:image:width\\\" content=\\\"1200\\\">\\n        <meta property=\\\"og:image:height\\\" content=\\\"630\\\">\\n        <link rel=\\\"preload\\\" href=\\\"/webgl-globe/data/data.json\\\" as=\\\"fetch\\\" type=\\\"application/json\\\">\\n        <link crossorigin=\\\"anonymous\\\" media=\\\"all\\\" rel=\\\"stylesheet\\\" href=\\\"https://github.githubassets.com/assets/home-campaign-d4421b93e1ca.css\\\" />\\n        <link rel=\\\"preload\\\" href=\\\"https://github.githubassets.com/static/fonts/github/mona-sans.woff2\\\" as=\\\"font\\\" type=\\\"font/woff2\\\" crossorigin>\\n        <meta name=\\\"is_logged_out_page\\\" content=\\\"true\\\">\\n        <link rel=\\\"canonical\\\" href=\\\"https://github.com/\\\" data-turbo-transient>\\n        <meta name=\\\"turbo-body-classes\\\" content=\\\"logged-out env-production page-responsive header-overlay home-campaign\\\">\\n        <meta name=\\\"browser-stats-url\\\" content=\\\"https://api.github.com/_private/browser/stats\\\">\\n        <meta name=\\\"browser-errors-url\\\" content=\\\"https://api.github.com/_private/browser/errors\\\">\\n        <meta name=\\\"browser-optimizely-client-errors-url\\\" content=\\\"https://api.github.com/_private/browser/optimizely_client/errors\\\">\\n        <link rel=\\\"mask-icon\\\" href=\\\"https://github.githubassets.com/pinned-octocat.svg\\\" color=\\\"#000000\\\">\\n        <link rel=\\\"alternate icon\\\" class=\\\"js-site-favicon\\\" type=\\\"image/png\\\" href=\\\"https://github.githubassets.com/favicons/favicon.png\\\">\\n        <link rel=\\\"icon\\\" class=\\\"js-site-favicon\\\" type=\\\"image/svg+xml\\\" href=\\\"https://github.githubassets.com/favicons/favicon.svg\\\">\\n        <meta name=\\\"theme-color\\\" content=\\\"#1e2327\\\">\\n        <link rel=\\\"manifest\\\" href=\\\"/manifest.json\\\" crossOrigin=\\\"use-credentials\\\">\\n\\n  \\n    </head>\\n    <body class=\\\"logged-out env-production page-responsive header-overlay home-campaign\\\" style=\\\"word-wrap: break-word;\\\">\\n        <div data-turbo-body class=\\\"logged-out env-production page-responsive header-overlay home-campaign\\\" style=\\\"word-wrap: break-word;\\\">\\n            <div class=\\\"position-relative js-header-wrapper \\\">\\n                <a href=\\\"#start-of-content\\\" class=\\\"px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content\\\">Skip to content</a>\\n                <span data-view-component=\\\"true\\\" class=\\\"progress-pjax-loader Progress position-fixed width-full\\\">\\n                    <span style=\\\"width: 0%;\\\" data-view-component=\\\"true\\\" class=\\\"Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis\\\"></span>\\n                </span>\\n                <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_github_memoize_dist_esm_in-687f35-d131f0b6de8e.js\\\"></script>\\n                <script crossorigin=\\\"anonymous\\\" defer=\\\"defer\\\" type=\\\"application/javascript\\\" src=\\\"https://github.githubassets.com/assets/sessions-2638decb9ee5.js\\\"></script>\\n                <header class=\\\"Header-old header-logged-out js-details-container Details position-relative f4 py-3\\\" role=\\\"banner\\\">\\n                    <button type=\\\"button\\\" class=\\\"Header-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target\\\" aria-label=\\\"Toggle navigation\\\">\\n                        <span class=\\\"d-none\\\">Toggle navigation</span>\\n                    </button>\\n                    <div class=\\\"container-xl d-flex flex-column flex-lg-row flex-items-center p-responsive height-full position-relative z-1\\\">\\n                        <div class=\\\"d-flex flex-justify-between flex-items-center width-full width-lg-auto\\\">\\n                            <a class=\\\"mr-lg-3 color-fg-inherit flex-order-2\\\" href=\\\"https://github.com/\\\" aria-label=\\\"Homepage\\\" data-ga-click=\\\"(Logged out) Header, go to homepage, icon:logo-wordmark\\\">\\n                                <svg height=\\\"32\\\" aria-hidden=\\\"true\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"32\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-mark-github\\\">\\n                                    <path d=\\\"M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z\\\"></path>\\n                                </svg>\\n                            </a>\\n                            <div class=\\\"flex-1\\\">\\n                                <a href=\\\"/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F&amp;source=header-home\\\"\\n            class=\\\"d-inline-block d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit\\\"\\n            data-hydro-click=\\\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/&quot;,&quot;user_id&quot;:null}}\\\" data-hydro-click-hmac=\\\"520d87e8f83281e6946b192f0f840552721c7fcba9b9c36d802e898a816314e2\\\"\\n          >\\n            Sign&nbsp;up\\n          </a>\\n                            </div>\\n                            <div class=\\\"flex-1 flex-order-2 text-right\\\">\\n                                <button aria-label=\\\"Toggle navigation\\\" aria-expanded=\\\"false\\\" type=\\\"button\\\" data-view-component=\\\"true\\\" class=\\\"js-details-target Button--link Button--medium Button d-lg-none color-fg-inherit p-1\\\">\\n                                    <span class=\\\"Button-content\\\">\\n                                        <span class=\\\"Button-label\\\">\\n                                            <div class=\\\"HeaderMenu-toggle-bar rounded my-1\\\"></div>\\n                                            <div class=\\\"HeaderMenu-toggle-bar rounded my-1\\\"></div>\\n                                            <div class=\\\"HeaderMenu-toggle-bar rounded my-1\\\"></div>\\n                                        </span>\\n                                    </span>\\n                                </button>\\n                            </div>\\n                        </div>\\n                        <div class=\\\"HeaderMenu--logged-out p-responsive height-fit position-lg-relative d-lg-flex flex-column flex-auto pt-7 pb-4 top-0\\\">\\n                            <div class=\\\"header-menu-wrapper d-flex flex-column flex-self-end flex-lg-row flex-justify-between flex-auto p-3 p-lg-0 rounded rounded-lg-0 mt-3 mt-lg-0\\\">\\n                                <nav class=\\\"mt-0 px-3 px-lg-0 mb-3 mb-lg-0\\\" aria-label=\\\"Global\\\">\\n                                    <ul class=\\\"d-lg-flex list-style-none\\\">\\n                                        <li class=\\\"HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item\\\">\\n                                            <button type=\\\"button\\\" class=\\\"HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-3 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target\\\" aria-expanded=\\\"false\\\">\\n        Product\\n        \\n                                                <svg opacity=\\\"0.5\\\" aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-chevron-down HeaderMenu-icon ml-1\\\">\\n                                                    <path d=\\\"M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z\\\"></path>\\n                                                </svg>\\n                                            </button>\\n                                            <div class=\\\"HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 py-2 py-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex dropdown-menu-wide\\\">\\n                                                <div class=\\\"px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7\\\">\\n                                                    <ul class=\\\"list-style-none f5\\\" >\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Actions&quot;,&quot;label&quot;:&quot;ref_cta:Actions;&quot;}\\\" href=\\\"/features/actions\\\">\\n                                                                <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-workflow color-fg-subtle mr-3\\\">\\n                                                                    <path d=\\\"M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z\\\"></path>\\n                                                                </svg>\\n                                                                <div>\\n                                                                    <div class=\\\"color-fg-default h4\\\">Actions</div>\\n        Automate any workflow\\n                                                                </div>\\n                                                            </a>\\n                                                        </li>\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Packages&quot;,&quot;label&quot;:&quot;ref_cta:Packages;&quot;}\\\" href=\\\"/features/packages\\\">\\n                                                                <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-package color-fg-subtle mr-3\\\">\\n                                                                    <path d=\\\"M12.876.64V.639l8.25 4.763c.541.313.875.89.875 1.515v9.525a1.75 1.75 0 0 1-.875 1.516l-8.25 4.762a1.748 1.748 0 0 1-1.75 0l-8.25-4.763a1.75 1.75 0 0 1-.875-1.515V6.917c0-.625.334-1.202.875-1.515L11.126.64a1.748 1.748 0 0 1 1.75 0Zm-1 1.298L4.251 6.34l7.75 4.474 7.75-4.474-7.625-4.402a.248.248 0 0 0-.25 0Zm.875 19.123 7.625-4.402a.25.25 0 0 0 .125-.216V7.639l-7.75 4.474ZM3.501 7.64v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947Z\\\"></path>\\n                                                                </svg>\\n                                                                <div>\\n                                                                    <div class=\\\"color-fg-default h4\\\">Packages</div>\\n        Host and manage packages\\n                                                                </div>\\n                                                            </a>\\n                                                        </li>\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Security&quot;,&quot;label&quot;:&quot;ref_cta:Security;&quot;}\\\" href=\\\"/features/security\\\">\\n                                                                <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-shield-check color-fg-subtle mr-3\\\">\\n                                                                    <path d=\\\"M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z\\\"></path>\\n                                                                    <path d=\\\"m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z\\\"></path>\\n                                                                </svg>\\n                                                                <div>\\n                                                                    <div class=\\\"color-fg-default h4\\\">Security</div>\\n        Find and fix vulnerabilities\\n                                                                </div>\\n                                                            </a>\\n                                                        </li>\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Codespaces&quot;,&quot;label&quot;:&quot;ref_cta:Codespaces;&quot;}\\\" href=\\\"/features/codespaces\\\">\\n                                                                <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-codespaces color-fg-subtle mr-3\\\">\\n                                                                    <path d=\\\"M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z\\\"></path>\\n                                                                    <path d=\\\"M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z\\\"></path>\\n                                                                </svg>\\n                                                                <div>\\n                                                                    <div class=\\\"color-fg-default h4\\\">Codespaces</div>\\n        Instant dev environments\\n                                                                </div>\\n                                                            </a>\\n                                                        </li>\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Copilot&quot;,&quot;label&quot;:&quot;ref_cta:Copilot;&quot;}\\\" href=\\\"/features/copilot\\\">\\n                                                                <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-copilot color-fg-subtle mr-3\\\">\\n                                                                    <path d=\\\"M9.75 14a.75.75 0 0 1 .75.75v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 .75-.75Zm4.5 0a.75.75 0 0 1 .75.75v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 .75-.75Z\\\"></path>\\n                                                                    <path d=\\\"M12 2c2.214 0 4.248.657 5.747 1.756.136.099.268.204.397.312.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086l.633 1.478.043.022A4.75 4.75 0 0 1 24 15.222v1.028c0 .529-.309.987-.565 1.293-.28.336-.636.653-.966.918a13.84 13.84 0 0 1-1.299.911l-.024.015-.006.004-.039.025c-.223.135-.45.264-.68.386-.46.245-1.122.571-1.941.895C16.845 21.344 14.561 22 12 22c-2.561 0-4.845-.656-6.479-1.303a19.046 19.046 0 0 1-1.942-.894 14.081 14.081 0 0 1-.535-.3l-.144-.087-.04-.025-.006-.004-.024-.015a13.16 13.16 0 0 1-1.299-.911 6.913 6.913 0 0 1-.967-.918C.31 17.237 0 16.779 0 16.25v-1.028a4.75 4.75 0 0 1 2.626-4.248l.043-.022.633-1.478a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.498 1.132-3.368.397-.406.89-.717 1.474-.952.129-.108.261-.213.397-.312C7.752 2.657 9.786 2 12 2Zm-8 9.654v6.669a17.59 17.59 0 0 0 2.073.98C7.595 19.906 9.686 20.5 12 20.5c2.314 0 4.405-.594 5.927-1.197a17.59 17.59 0 0 0 2.073-.98v-6.669l-.038-.09c-.046.061-.095.12-.145.177-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.544-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.344a4.323 4.323 0 0 1-.355.508C10.704 12.456 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a3.026 3.026 0 0 1-.145-.177Zm6.309-1.092c.445-.547.708-1.334.851-2.301.057-.357.087-.718.09-1.079v-.031c-.001-.762-.166-1.26-.43-1.568l-.008-.01c-.341-.391-1.046-.689-2.533-.529-1.505.163-2.347.537-2.824 1.024-.462.473-.705 1.18-.705 2.32 0 .605.044 1.087.135 1.472.092.384.231.672.423.89.365.413 1.084.75 2.657.75.91 0 1.527-.223 1.964-.564.14-.11.268-.235.38-.374Zm2.504-2.497c.136 1.057.403 1.913.878 2.497.442.545 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.151.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.318-.862-2.824-1.025-1.487-.161-2.192.139-2.533.529-.268.308-.437.808-.438 1.578v.02c.002.299.023.598.063.894Z\\\"></path>\\n                                                                </svg>\\n                                                                <div>\\n                                                                    <div class=\\\"color-fg-default h4\\\">Copilot</div>\\n        Write better code with AI\\n                                                                </div>\\n                                                            </a>\\n                                                        </li>\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Code review&quot;,&quot;label&quot;:&quot;ref_cta:Code review;&quot;}\\\" href=\\\"/features/code-review\\\">\\n                                                                <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-code-review color-fg-subtle mr-3\\\">\\n                                                                    <path d=\\\"M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z\\\"></path>\\n                                                                    <path d=\\\"M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z\\\"></path>\\n                                                                </svg>\\n                                                                <div>\\n                                                                    <div class=\\\"color-fg-default h4\\\">Code review</div>\\n        Manage code changes\\n                                                                </div>\\n                                                            </a>\\n                                                        </li>\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Issues&quot;,&quot;label&quot;:&quot;ref_cta:Issues;&quot;}\\\" href=\\\"/features/issues\\\">\\n                                                                <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-issue-opened color-fg-subtle mr-3\\\">\\n                                                                    <path d=\\\"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z\\\"></path>\\n                                                                </svg>\\n                                                                <div>\\n                                                                    <div class=\\\"color-fg-default h4\\\">Issues</div>\\n        Plan and track work\\n                                                                </div>\\n                                                            </a>\\n                                                        </li>\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Discussions&quot;,&quot;label&quot;:&quot;ref_cta:Discussions;&quot;}\\\" href=\\\"/features/discussions\\\">\\n                                                                <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-comment-discussion color-fg-subtle mr-3\\\">\\n                                                                    <path d=\\\"M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z\\\"></path>\\n                                                                    <path d=\\\"M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z\\\"></path>\\n                                                                </svg>\\n                                                                <div>\\n                                                                    <div class=\\\"color-fg-default h4\\\">Discussions</div>\\n        Collaborate outside of code\\n                                                                </div>\\n                                                            </a>\\n                                                        </li>\\n                                                    </ul>\\n                                                </div>\\n                                                <div class=\\\"px-lg-4\\\">\\n                                                    <span class=\\\"d-block h4 color-fg-default my-1\\\" id=\\\"product-explore-heading\\\">Explore</span>\\n                                                    <ul class=\\\"list-style-none f5\\\" aria-labelledby=\\\"product-explore-heading\\\">\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to All features&quot;,&quot;label&quot;:&quot;ref_cta:All features;&quot;}\\\" href=\\\"/features\\\">\\n      All features\\n\\n    \\n</a>\\n                                                        </li>\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary\\\" target=\\\"_blank\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Documentation&quot;,&quot;label&quot;:&quot;ref_cta:Documentation;&quot;}\\\" href=\\\"https://docs.github.com\\\">\\n      Documentation\\n\\n    \\n                                                                <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle\\\">\\n                                                                    <path d=\\\"M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z\\\"></path>\\n                                                                </svg>\\n                                                            </a>\\n                                                        </li>\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary\\\" target=\\\"_blank\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to GitHub Skills&quot;,&quot;label&quot;:&quot;ref_cta:GitHub Skills;&quot;}\\\" href=\\\"https://skills.github.com/\\\">\\n      GitHub Skills\\n\\n    \\n                                                                <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle\\\">\\n                                                                    <path d=\\\"M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z\\\"></path>\\n                                                                </svg>\\n                                                            </a>\\n                                                        </li>\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary\\\" target=\\\"_blank\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Blog&quot;,&quot;label&quot;:&quot;ref_cta:Blog;&quot;}\\\" href=\\\"https://github.blog\\\">\\n      Blog\\n\\n    \\n                                                                <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle\\\">\\n                                                                    <path d=\\\"M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z\\\"></path>\\n                                                                </svg>\\n                                                            </a>\\n                                                        </li>\\n                                                    </ul>\\n                                                </div>\\n                                            </div>\\n                                        </li>\\n                                        <li class=\\\"HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item\\\">\\n                                            <button type=\\\"button\\\" class=\\\"HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-3 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target\\\" aria-expanded=\\\"false\\\">\\n        Solutions\\n        \\n                                                <svg opacity=\\\"0.5\\\" aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-chevron-down HeaderMenu-icon ml-1\\\">\\n                                                    <path d=\\\"M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z\\\"></path>\\n                                                </svg>\\n                                            </button>\\n                                            <div class=\\\"HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 py-2 py-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 px-lg-4\\\">\\n                                                <div class=\\\"border-bottom pb-3 mb-3\\\">\\n                                                    <span class=\\\"d-block h4 color-fg-default my-1\\\" id=\\\"solutions-for-heading\\\">For</span>\\n                                                    <ul class=\\\"list-style-none f5\\\" aria-labelledby=\\\"solutions-for-heading\\\">\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Enterprise&quot;,&quot;label&quot;:&quot;ref_cta:Enterprise;&quot;}\\\" href=\\\"/enterprise\\\">\\n      Enterprise\\n\\n    \\n</a>\\n                                                        </li>\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Teams&quot;,&quot;label&quot;:&quot;ref_cta:Teams;&quot;}\\\" href=\\\"/team\\\">\\n      Teams\\n\\n    \\n</a>\\n                                                        </li>\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Startups&quot;,&quot;label&quot;:&quot;ref_cta:Startups;&quot;}\\\" href=\\\"/enterprise/startups\\\">\\n      Startups\\n\\n    \\n</a>\\n                                                        </li>\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary\\\" target=\\\"_blank\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Education&quot;,&quot;label&quot;:&quot;ref_cta:Education;&quot;}\\\" href=\\\"https://education.github.com\\\">\\n      Education\\n\\n    \\n                                                                <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle\\\">\\n                                                                    <path d=\\\"M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z\\\"></path>\\n                                                                </svg>\\n                                                            </a>\\n                                                        </li>\\n                                                    </ul>\\n                                                </div>\\n                                                <div class=\\\"border-bottom pb-3 mb-3\\\">\\n                                                    <span class=\\\"d-block h4 color-fg-default my-1\\\" id=\\\"solutions-by-solution-heading\\\">By Solution</span>\\n                                                    <ul class=\\\"list-style-none f5\\\" aria-labelledby=\\\"solutions-by-solution-heading\\\">\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to CI/CD &amp;amp; Automation&quot;,&quot;label&quot;:&quot;ref_cta:CI/CD &amp;amp; Automation;&quot;}\\\" href=\\\"/solutions/ci-cd/\\\">\\n      CI/CD &amp; Automation\\n\\n    \\n</a>\\n                                                        </li>\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary\\\" target=\\\"_blank\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to DevOps&quot;,&quot;label&quot;:&quot;ref_cta:DevOps;&quot;}\\\" href=\\\"https://resources.github.com/devops/\\\">\\n      DevOps\\n\\n    \\n                                                                <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle\\\">\\n                                                                    <path d=\\\"M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z\\\"></path>\\n                                                                </svg>\\n                                                            </a>\\n                                                        </li>\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary\\\" target=\\\"_blank\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to DevSecOps&quot;,&quot;label&quot;:&quot;ref_cta:DevSecOps;&quot;}\\\" href=\\\"https://resources.github.com/devops/fundamentals/devsecops/\\\">\\n      DevSecOps\\n\\n    \\n                                                                <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle\\\">\\n                                                                    <path d=\\\"M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z\\\"></path>\\n                                                                </svg>\\n                                                            </a>\\n                                                        </li>\\n                                                    </ul>\\n                                                </div>\\n                                                <div class=\\\"\\\">\\n                                                    <span class=\\\"d-block h4 color-fg-default my-1\\\" id=\\\"solutions-case-studies-heading\\\">Case Studies</span>\\n                                                    <ul class=\\\"list-style-none f5\\\" aria-labelledby=\\\"solutions-case-studies-heading\\\">\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Customer Stories&quot;,&quot;label&quot;:&quot;ref_cta:Customer Stories;&quot;}\\\" href=\\\"/customer-stories\\\">\\n      Customer Stories\\n\\n    \\n</a>\\n                                                        </li>\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary\\\" target=\\\"_blank\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Resources&quot;,&quot;label&quot;:&quot;ref_cta:Resources;&quot;}\\\" href=\\\"https://resources.github.com/\\\">\\n      Resources\\n\\n    \\n                                                                <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle\\\">\\n                                                                    <path d=\\\"M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z\\\"></path>\\n                                                                </svg>\\n                                                            </a>\\n                                                        </li>\\n                                                    </ul>\\n                                                </div>\\n                                            </div>\\n                                        </li>\\n                                        <li class=\\\"HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item\\\">\\n                                            <button type=\\\"button\\\" class=\\\"HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-3 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target\\\" aria-expanded=\\\"false\\\">\\n        Open Source\\n        \\n                                                <svg opacity=\\\"0.5\\\" aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-chevron-down HeaderMenu-icon ml-1\\\">\\n                                                    <path d=\\\"M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z\\\"></path>\\n                                                </svg>\\n                                            </button>\\n                                            <div class=\\\"HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 py-2 py-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 px-lg-4\\\">\\n                                                <div class=\\\"border-bottom pb-3 mb-3\\\">\\n                                                    <ul class=\\\"list-style-none f5\\\" >\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Open Source&quot;,&quot;action&quot;:&quot;click to go to GitHub Sponsors&quot;,&quot;label&quot;:&quot;ref_cta:GitHub Sponsors;&quot;}\\\" href=\\\"/sponsors\\\">\\n                                                                <div>\\n                                                                    <div class=\\\"color-fg-default h4\\\">GitHub Sponsors</div>\\n        Fund open source developers\\n                                                                </div>\\n                                                            </a>\\n                                                        </li>\\n                                                    </ul>\\n                                                </div>\\n                                                <div class=\\\"border-bottom pb-3 mb-3\\\">\\n                                                    <ul class=\\\"list-style-none f5\\\" >\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Open Source&quot;,&quot;action&quot;:&quot;click to go to The ReadME Project&quot;,&quot;label&quot;:&quot;ref_cta:The ReadME Project;&quot;}\\\" href=\\\"/readme\\\">\\n                                                                <div>\\n                                                                    <div class=\\\"color-fg-default h4\\\">The ReadME Project</div>\\n        GitHub community articles\\n                                                                </div>\\n                                                            </a>\\n                                                        </li>\\n                                                    </ul>\\n                                                </div>\\n                                                <div class=\\\"\\\">\\n                                                    <span class=\\\"d-block h4 color-fg-default my-1\\\" id=\\\"open-source-repositories-heading\\\">Repositories</span>\\n                                                    <ul class=\\\"list-style-none f5\\\" aria-labelledby=\\\"open-source-repositories-heading\\\">\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Open Source&quot;,&quot;action&quot;:&quot;click to go to Topics&quot;,&quot;label&quot;:&quot;ref_cta:Topics;&quot;}\\\" href=\\\"/topics\\\">\\n      Topics\\n\\n    \\n</a>\\n                                                        </li>\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Open Source&quot;,&quot;action&quot;:&quot;click to go to Trending&quot;,&quot;label&quot;:&quot;ref_cta:Trending;&quot;}\\\" href=\\\"/trending\\\">\\n      Trending\\n\\n    \\n</a>\\n                                                        </li>\\n                                                        <li>\\n                                                            <a class=\\\"HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header dropdown (logged out), Open Source&quot;,&quot;action&quot;:&quot;click to go to Collections&quot;,&quot;label&quot;:&quot;ref_cta:Collections;&quot;}\\\" href=\\\"/collections\\\">\\n      Collections\\n\\n    \\n</a>\\n                                                        </li>\\n                                                    </ul>\\n                                                </div>\\n                                            </div>\\n                                        </li>\\n                                        <li class=\\\"HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item\\\">\\n                                            <a class=\\\"HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Header menu top item (logged out)&quot;,&quot;action&quot;:&quot;click to go to Pricing&quot;,&quot;label&quot;:&quot;ref_cta:Pricing;&quot;}\\\" href=\\\"/pricing\\\">Pricing</a>\\n                                        </li>\\n                                    </ul>\\n                                </nav>\\n                                <div class=\\\"d-lg-flex flex-items-center px-3 px-lg-0 mb-3 mb-lg-0 text-center text-lg-left\\\">\\n                                    <div class=\\\"d-lg-flex min-width-0 mb-2 mb-lg-0\\\">\\n                                        <div class=\\\"header-search flex-auto position-relative js-site-search flex-self-stretch flex-md-self-auto mb-3 mb-md-0 mr-0 mr-md-3 js-jump-to\\\"\\n>\\n                                            <div class=\\\"position-relative\\\">\\n                                                <!-- '\\\"` -->\\n                                                <!-- </textarea></xmp> -->\\n                                        </option>\\n                                    </form>\\n                                    <form class=\\\"js-site-search-form\\\" role=\\\"search\\\" aria-label=\\\"Site\\\" data-unscoped-search-url=\\\"/search\\\" data-turbo=\\\"false\\\" action=\\\"/search\\\" accept-charset=\\\"UTF-8\\\" method=\\\"get\\\">\\n                                        <label class=\\\"form-control header-search-wrapper input-sm p-0 js-chromeless-input-container header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center\\\">\\n                                            <input type=\\\"text\\\"\\n          class=\\\"form-control js-site-search-focus header-search-input jump-to-field js-jump-to-field\\\"\\n          data-hotkey=s,/\\n          name=\\\"q\\\"\\n          \\n          placeholder=\\\"Search GitHub\\\"\\n          data-unscoped-placeholder=\\\"Search GitHub\\\"\\n          data-scoped-placeholder=\\\"Search\\\"\\n          autocapitalize=\\\"off\\\"\\n          role=\\\"combobox\\\"\\n          aria-haspopup=\\\"listbox\\\"\\n          aria-expanded=\\\"false\\\"\\n          aria-autocomplete=\\\"list\\\"\\n          aria-controls=\\\"jump-to-results\\\"\\n          aria-label=\\\"Search GitHub\\\"\\n          data-jump-to-suggestions-path=\\\"/_graphql/GetSuggestedNavigationDestinations\\\"\\n          spellcheck=\\\"false\\\"\\n          autocomplete=\\\"off\\\"\\n        >\\n                                            <input type=\\\"hidden\\\" data-csrf=\\\"true\\\" class=\\\"js-data-jump-to-suggestions-path-csrf\\\" value=\\\"H6wzKLshGu8H3LMvxZ1x0OoRG5F6swPmoVV4k7s3fVAXJTeUTZuv96rleMBSx3Q/n+3DnKuhowxjKAieaWgmyQ==\\\" />\\n                                            <input type=\\\"hidden\\\" class=\\\"js-site-search-type-field\\\" name=\\\"type\\\" >\\n                                            <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"22\\\" height=\\\"20\\\" aria-hidden=\\\"true\\\" class=\\\"mr-1 header-search-key-slash\\\">\\n                                                <path fill=\\\"none\\\" stroke=\\\"#979A9C\\\" opacity=\\\".4\\\" d=\\\"M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z\\\"></path>\\n                                                <path fill=\\\"#979A9C\\\" d=\\\"M11.8 6L8 15.1h-.9L10.8 6h1z\\\"></path>\\n                                            </svg>\\n                                            <div class=\\\"Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container\\\">\\n                                                <ul class=\\\"d-none js-jump-to-suggestions-template-container\\\">\\n                                                    <li class=\\\"d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion\\\" role=\\\"option\\\">\\n                                                        <a tabindex=\\\"-1\\\" class=\\\"no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2\\\" href=\\\"\\\" data-item-type=\\\"suggestion\\\">\\n                                                            <div class=\\\"jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none\\\">\\n                                                                <svg title=\\\"Repository\\\" aria-label=\\\"Repository\\\" role=\\\"img\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0\\\">\\n                                                                    <path d=\\\"M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z\\\"></path>\\n                                                                </svg>\\n                                                                <svg title=\\\"Project\\\" aria-label=\\\"Project\\\" role=\\\"img\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0\\\">\\n                                                                    <path d=\\\"M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z\\\"></path>\\n                                                                </svg>\\n                                                                <svg title=\\\"Search\\\" aria-label=\\\"Search\\\" role=\\\"img\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0\\\">\\n                                                                    <path d=\\\"M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z\\\"></path>\\n                                                                </svg>\\n                                                            </div>\\n                                                            <img class=\\\"avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none\\\" alt=\\\"\\\" aria-label=\\\"Team\\\" src=\\\"\\\" width=\\\"28\\\" height=\\\"28\\\">\\n                                                            <div class=\\\"jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target\\\">\\n    </div>\\n                                                            <div class=\\\"border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search\\\">\\n                                                                <span class=\\\"js-jump-to-badge-search-text-default d-none\\\" aria-label=\\\"in all of GitHub\\\">\\n        Search\\n      </span>\\n                                                                <span class=\\\"js-jump-to-badge-search-text-global d-none\\\" aria-label=\\\"in all of GitHub\\\">\\n        All GitHub\\n      </span>\\n                                                                <span aria-hidden=\\\"true\\\" class=\\\"d-inline-block ml-1 v-align-middle\\\">↵</span>\\n                                                            </div>\\n                                                            <div aria-hidden=\\\"true\\\" class=\\\"border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump\\\">\\n      Jump to\\n      \\n                                                                <span class=\\\"d-inline-block ml-1 v-align-middle\\\">↵</span>\\n                                                            </div>\\n                                                        </a>\\n                                                    </li>\\n                                                </ul>\\n                                                <ul class=\\\"d-none js-jump-to-no-results-template-container\\\">\\n                                                    <li class=\\\"d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2\\\">\\n                                                        <span class=\\\"color-fg-muted\\\">No suggested jump to results</span>\\n                                                    </li>\\n                                                </ul>\\n                                                <ul id=\\\"jump-to-results\\\" role=\\\"listbox\\\" class=\\\"p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container\\\">\\n                                                    <li class=\\\"d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none\\\" role=\\\"option\\\">\\n                                                        <a tabindex=\\\"-1\\\" class=\\\"no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2\\\" href=\\\"\\\" data-item-type=\\\"scoped_search\\\">\\n                                                            <div class=\\\"jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none\\\">\\n                                                                <svg title=\\\"Repository\\\" aria-label=\\\"Repository\\\" role=\\\"img\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0\\\">\\n                                                                    <path d=\\\"M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z\\\"></path>\\n                                                                </svg>\\n                                                                <svg title=\\\"Project\\\" aria-label=\\\"Project\\\" role=\\\"img\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0\\\">\\n                                                                    <path d=\\\"M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z\\\"></path>\\n                                                                </svg>\\n                                                                <svg title=\\\"Search\\\" aria-label=\\\"Search\\\" role=\\\"img\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0\\\">\\n                                                                    <path d=\\\"M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z\\\"></path>\\n                                                                </svg>\\n                                                            </div>\\n                                                            <img class=\\\"avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none\\\" alt=\\\"\\\" aria-label=\\\"Team\\\" src=\\\"\\\" width=\\\"28\\\" height=\\\"28\\\">\\n                                                            <div class=\\\"jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target\\\">\\n    </div>\\n                                                            <div class=\\\"border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search\\\">\\n                                                                <span class=\\\"js-jump-to-badge-search-text-default d-none\\\" aria-label=\\\"in all of GitHub\\\">\\n        Search\\n      </span>\\n                                                                <span class=\\\"js-jump-to-badge-search-text-global d-none\\\" aria-label=\\\"in all of GitHub\\\">\\n        All GitHub\\n      </span>\\n                                                                <span aria-hidden=\\\"true\\\" class=\\\"d-inline-block ml-1 v-align-middle\\\">↵</span>\\n                                                            </div>\\n                                                            <div aria-hidden=\\\"true\\\" class=\\\"border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump\\\">\\n      Jump to\\n      \\n                                                                <span class=\\\"d-inline-block ml-1 v-align-middle\\\">↵</span>\\n                                                            </div>\\n                                                        </a>\\n                                                    </li>\\n                                                    <li class=\\\"d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-owner-scoped-search d-none\\\" role=\\\"option\\\">\\n                                                        <a tabindex=\\\"-1\\\" class=\\\"no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2\\\" href=\\\"\\\" data-item-type=\\\"owner_scoped_search\\\">\\n                                                            <div class=\\\"jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none\\\">\\n                                                                <svg title=\\\"Repository\\\" aria-label=\\\"Repository\\\" role=\\\"img\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0\\\">\\n                                                                    <path d=\\\"M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z\\\"></path>\\n                                                                </svg>\\n                                                                <svg title=\\\"Project\\\" aria-label=\\\"Project\\\" role=\\\"img\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0\\\">\\n                                                                    <path d=\\\"M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z\\\"></path>\\n                                                                </svg>\\n                                                                <svg title=\\\"Search\\\" aria-label=\\\"Search\\\" role=\\\"img\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0\\\">\\n                                                                    <path d=\\\"M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z\\\"></path>\\n                                                                </svg>\\n                                                            </div>\\n                                                            <img class=\\\"avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none\\\" alt=\\\"\\\" aria-label=\\\"Team\\\" src=\\\"\\\" width=\\\"28\\\" height=\\\"28\\\">\\n                                                            <div class=\\\"jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target\\\">\\n    </div>\\n                                                            <div class=\\\"border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search\\\">\\n                                                                <span class=\\\"js-jump-to-badge-search-text-default d-none\\\" aria-label=\\\"in all of GitHub\\\">\\n        Search\\n      </span>\\n                                                                <span class=\\\"js-jump-to-badge-search-text-global d-none\\\" aria-label=\\\"in all of GitHub\\\">\\n        All GitHub\\n      </span>\\n                                                                <span aria-hidden=\\\"true\\\" class=\\\"d-inline-block ml-1 v-align-middle\\\">↵</span>\\n                                                            </div>\\n                                                            <div aria-hidden=\\\"true\\\" class=\\\"border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump\\\">\\n      Jump to\\n      \\n                                                                <span class=\\\"d-inline-block ml-1 v-align-middle\\\">↵</span>\\n                                                            </div>\\n                                                        </a>\\n                                                    </li>\\n                                                    <li class=\\\"d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none\\\" role=\\\"option\\\">\\n                                                        <a tabindex=\\\"-1\\\" class=\\\"no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2\\\" href=\\\"\\\" data-item-type=\\\"global_search\\\">\\n                                                            <div class=\\\"jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none\\\">\\n                                                                <svg title=\\\"Repository\\\" aria-label=\\\"Repository\\\" role=\\\"img\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0\\\">\\n                                                                    <path d=\\\"M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z\\\"></path>\\n                                                                </svg>\\n                                                                <svg title=\\\"Project\\\" aria-label=\\\"Project\\\" role=\\\"img\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0\\\">\\n                                                                    <path d=\\\"M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z\\\"></path>\\n                                                                </svg>\\n                                                                <svg title=\\\"Search\\\" aria-label=\\\"Search\\\" role=\\\"img\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0\\\">\\n                                                                    <path d=\\\"M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z\\\"></path>\\n                                                                </svg>\\n                                                            </div>\\n                                                            <img class=\\\"avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none\\\" alt=\\\"\\\" aria-label=\\\"Team\\\" src=\\\"\\\" width=\\\"28\\\" height=\\\"28\\\">\\n                                                            <div class=\\\"jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target\\\">\\n    </div>\\n                                                            <div class=\\\"border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search\\\">\\n                                                                <span class=\\\"js-jump-to-badge-search-text-default d-none\\\" aria-label=\\\"in all of GitHub\\\">\\n        Search\\n      </span>\\n                                                                <span class=\\\"js-jump-to-badge-search-text-global d-none\\\" aria-label=\\\"in all of GitHub\\\">\\n        All GitHub\\n      </span>\\n                                                                <span aria-hidden=\\\"true\\\" class=\\\"d-inline-block ml-1 v-align-middle\\\">↵</span>\\n                                                            </div>\\n                                                            <div aria-hidden=\\\"true\\\" class=\\\"border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump\\\">\\n      Jump to\\n      \\n                                                                <span class=\\\"d-inline-block ml-1 v-align-middle\\\">↵</span>\\n                                                            </div>\\n                                                        </a>\\n                                                    </li>\\n                                                </ul>\\n                                            </div>\\n                                        </label>\\n                                    </form>\\n                                </div>\\n                            </div>\\n                        </div>\\n                        <div class=\\\"position-relative mr-lg-3 d-lg-inline-block\\\">\\n                            <a href=\\\"/login\\\"\\n              class=\\\"HeaderMenu-link HeaderMenu-link--sign-in flex-shrink-0 no-underline d-block d-lg-inline-block border border-lg-0 rounded rounded-lg-0 p-2 p-lg-0\\\"\\n              data-hydro-click=\\\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/&quot;,&quot;user_id&quot;:null}}\\\" data-hydro-click-hmac=\\\"cd4f672ed9a2fa51ea92c28de162e81edb2d11a2aad6884ec89a6d60b21b1cfb\\\"\\n              data-ga-click=\\\"(Logged out) Header, clicked Sign in, text:sign-in\\\">\\n              Sign in\\n            </a>\\n                        </div>\\n                        <a href=\\\"/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F&amp;source=header-home\\\"\\n              class=\\\"HeaderMenu-link HeaderMenu-link--sign-up flex-shrink-0 d-none d-lg-inline-block no-underline border color-border-default rounded px-2 py-1\\\"\\n              data-hydro-click=\\\"{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/&quot;,&quot;user_id&quot;:null}}\\\" data-hydro-click-hmac=\\\"cd4f672ed9a2fa51ea92c28de162e81edb2d11a2aad6884ec89a6d60b21b1cfb\\\"\\n              data-analytics-event=\\\"{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/;ref_cta:Sign up;ref_loc:header logged out&quot;}\\\"\\n            >\\n              Sign up\\n            </a>\\n                    </div>\\n                </div>\\n            </div>\\n        </div>\\n    </header>\\n    <div hidden=\\\"hidden\\\" data-view-component=\\\"true\\\" class=\\\"js-stale-session-flash flash flash-warn mb-3\\\">\\n        <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-alert\\\">\\n            <path d=\\\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\\\"></path>\\n        </svg>\\n        <span class=\\\"js-stale-session-flash-signed-in\\\" hidden>You signed in with another tab or window. \\n            <a href=\\\"\\\">Reload</a> to refresh your session.\\n        </span>\\n        <span class=\\\"js-stale-session-flash-signed-out\\\" hidden>You signed out in another tab or window. \\n            <a href=\\\"\\\">Reload</a> to refresh your session.\\n        </span>\\n        <span class=\\\"js-stale-session-flash-switched\\\" hidden>You switched accounts on another tab or window. \\n            <a href=\\\"\\\">Reload</a> to refresh your session.\\n        </span>\\n        <button class=\\\"flash-close js-flash-close\\\" type=\\\"button\\\" aria-label=\\\"Close\\\">\\n            <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-x\\\">\\n                <path d=\\\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\\\"></path>\\n            </svg>\\n        </button>\\n    </div>\\n</div>\\n<div id=\\\"start-of-content\\\" class=\\\"show-on-focus\\\"></div>\\n<div id=\\\"js-flash-container\\\" data-turbo-replace>\\n    <template class=\\\"js-flash-template\\\">\\n        <div class=\\\"flash flash-full   {{ className }}\\\">\\n            <div class=\\\"px-2\\\" >\\n                <button autofocus class=\\\"flash-close js-flash-close\\\" type=\\\"button\\\" aria-label=\\\"Dismiss this message\\\">\\n                    <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-x\\\">\\n                        <path d=\\\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\\\"></path>\\n                    </svg>\\n                </button>\\n                <div aria-atomic=\\\"true\\\" role=\\\"alert\\\" class=\\\"js-flash-alert\\\">\\n                    <div>{{ message }}</div>\\n                </div>\\n            </div>\\n        </div>\\n    </template>\\n</div>\\n<include-fragment class=\\\"js-notification-shelf-include-fragment\\\" data-base-src=\\\"https://github.com/notifications/beta/shelf\\\"></include-fragment>\\n<div\\n    class=\\\"application-main \\\"\\n    data-commit-hovercards-enabled\\n    data-discussion-hovercards-enabled\\n    data-issue-and-pr-hovercards-enabled\\n  >\\n    <main class=\\\"font-mktg\\\">\\n        <div class=\\\"overflow-hidden\\\" data-color-mode=dark data-light-theme=light data-dark-theme=dark>\\n            <div class=\\\"container-xl position-relative\\\">\\n                <picture>\\n                    <source media=\\\"(max-width: 768px)\\\" type=\\\"image/webp\\\" srcset=\\\"https://github.githubassets.com/images/modules/site/home-campaign/hero-bg-md.webp 1x, https://github.githubassets.com/images/modules/site/home-campaign/hero-bg.webp 2x\\\">\\n                        <source media=\\\"(min-width: 1280px)\\\" type=\\\"image/webp\\\" srcset=\\\"https://github.githubassets.com/images/modules/site/home-campaign/hero-bg.webp 1x, https://github.githubassets.com/images/modules/site/home-campaign/hero-bg-2x.webp 2x\\\">\\n                            <img alt=\\\"\\\" aria-hidden=\\\"true\\\" width=\\\"4377\\\" class=\\\"position-absolute top-0 events-none\\\" style=\\\"right: -1050px; max-width: calc(230vw + 1670px)\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/hero-bg.webp\\\" />\\n                        </picture>\\n                    </div>\\n                    <div class=\\\"px-3 home-campaign-hero\\\">\\n                        <div class=\\\"position-relative pt-3 pt-md-8 pt-lg-12 container-xl js-build-in-trigger\\\" data-hpc>\\n                            <img\\n      src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/hero-drone.webp\\\"\\n      alt=\\\"\\\"\\n      class=\\\"home-drone position-absolute top-12 right-0 events-none col-3 height-auto js-build-in-item\\\"\\n      width=\\\"500\\\"\\n      height=\\\"326\\\">\\n                            <div class=\\\"d-flex\\\">\\n                                <div class=\\\"col-1 d-flex flex-column events-none position-relative\\\">\\n                                    <img alt=\\\"\\\" aria-hidden=\\\"true\\\" class=\\\"home-campaign-lines-hero position-relative\\\" width=\\\"437\\\" height=\\\"637\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/lines-hero.svg\\\" />\\n                                    <div class=\\\"mx-auto my-3 home-campaign-glowing-icon\\\">\\n                                        <div class=\\\"position-relative d-inline-block z-1\\\">\\n                                            <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-code\\\">\\n                                                <path d=\\\"M15.22 4.97a.75.75 0 0 1 1.06 0l6.5 6.5a.75.75 0 0 1 0 1.06l-6.5 6.5a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L21.19 12l-5.97-5.97a.75.75 0 0 1 0-1.06Zm-6.44 0a.75.75 0 0 1 0 1.06L2.81 12l5.97 5.97a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-6.5-6.5a.75.75 0 0 1 0-1.06l6.5-6.5a.75.75 0 0 1 1.06 0Z\\\"></path>\\n                                            </svg>\\n                                            <span class=\\\"position-absolute left-0 top-0 height-full width-full home-campaign-glowing-icon-glow z-n1\\\" style=\\\"background-color: var(--mktg-accent-primary); filter: blur(17px);\\\"></span>\\n                                        </div>\\n                                    </div>\\n                                    <div\\n          style=\\\"background: linear-gradient(#d2a8ff, #a371f7 10%, #196c2e 70%, #2ea043 80%, #56d364);\\\"\\n          class=\\\"home-campaign-git-line height-full rounded mx-auto\\\"\\n        ></div>\\n                                </div>\\n                                <div class=\\\"col-11 text-left pt-12 mt-12 pl-2 pl-sm-0\\\">\\n                                    <div class=\\\"position-relative top-md-8 z-1\\\">\\n                                        <a class=\\\"eyebrow-banner d-inline-block no-underline color-fg-on-emphasis f5-mktg mb-4 border position-relative z-1 arrow-target-mktg text-left\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Eyebrow Banner&quot;,&quot;action&quot;:&quot;click&quot;,&quot;label&quot;:&quot;ref_cta:Introducing GitHub Copilot X;ref_loc:hero;&quot;}\\\" href=\\\"/features/preview/copilot-x\\\">\\n                                            <div class=\\\"d-flex flex-items-center\\\">\\n                                                <picture>\\n                                                    <source srcset=\\\"https://github.githubassets.com/images/modules/site/eyebrow-banner-icon-copilot-x.svg 44w,https://github.githubassets.com/images/modules/site/eyebrow-banner-icon-copilot-x.svg?width=35 35w,https://github.githubassets.com/images/modules/site/eyebrow-banner-icon-copilot-x.svg?width=26 26w,https://github.githubassets.com/images/modules/site/eyebrow-banner-icon-copilot-x.svg?width=22 22w,https://github.githubassets.com/images/modules/site/eyebrow-banner-icon-copilot-x.svg?width=17 17w,https://github.githubassets.com/images/modules/site/eyebrow-banner-icon-copilot-x.svg?width=8 8w\\\" sizes=\\\"44px\\\" type=\\\"image/svg\\\"></source>\\n                                                    <img class=\\\"eyebrow-banner-icon d-block width-auto flex-grow-0 flex-shrink-0 mr-3\\\" width=\\\"44\\\" height=\\\"44\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" alt=\\\"\\\" aria-hidden=\\\"true\\\" src=\\\"https://github.githubassets.com/images/modules/site/eyebrow-banner-icon-copilot-x.svg\\\" />\\n                                                </picture>\\n                                                <div class=\\\"pr-3 mr-md-1 pl-md-1\\\">\\n                                                    <div class=\\\"text-semibold lh-condensed\\\">Introducing GitHub Copilot X</div>\\n                                                    <div class=\\\"color-fg-subtle lh-condensed\\\" data-test-selector=\\\"subtitle\\\">Your AI pair programmer is leveling up</div>\\n                                                </div>\\n                                                <div class=\\\"ml-auto\\\">\\n                                                    <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"octicon arrow-symbol-mktg\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\">\\n                                                        <path fill=\\\"currentColor\\\" d=\\\"M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z\\\"></path>\\n                                                        <path class=\\\"octicon-chevrow-stem\\\" stroke=\\\"currentColor\\\" d=\\\"M1.75 8H11\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"></path>\\n                                                    </svg>\\n                                                </div>\\n                                            </div>\\n                                        </a>\\n                                    </div>\\n                                    <h1 class=\\\"h0-mktg mt-sm-6 mt-md-11 mt-lg-9 mb-2 mb-sm-4 position-relative z-2\\\">\\n          Let’s build from&nbsp;here\\n        </h1>\\n                                    <p class=\\\"f1-mktg col-11 col-lg-10 text-normal color-fg-muted mr-lg-n4 mb-3 mb-md-4 mb-md-7 position-relative z-1\\\">\\n          Harnessed for productivity. Designed for collaboration. Celebrated for built-in security. Welcome to the platform developers&nbsp;love.\\n        </p>\\n                                    <div class=\\\"d-flex flex-column flex-md-row\\\">\\n                                        <!-- '\\\"` -->\\n                                        <!-- </textarea></xmp> -->\\n                                </option>\\n                            </form>\\n                            <form data-turbo=\\\"false\\\" class=\\\"mx-0 col-12 col-md-5 js-signup-form position-relative z-2\\\" autocomplete=\\\"off\\\" action=\\\"/signup\\\" accept-charset=\\\"UTF-8\\\" method=\\\"get\\\">\\n                                <div class=\\\"d-flex flex-column flex-md-row flex-items-center\\\">\\n                                    <dl class=\\\"col-12 my-0 mb-3 mb-md-0 flex-auto\\\">\\n                                        <dt>\\n                                            <label for=\\\"user_email\\\" class=\\\"sr-only\\\">Email address</label>\\n                                        </dt>\\n                                        <dd>\\n                                            <input data-color-mode=light data-light-theme=light data-dark-theme=dark class=\\\"form-control f4-mktg width-full rounded-md-right-0\\\" style=\\\"height: 3rem\\\" placeholder=\\\"Email address\\\" type=\\\"email\\\" name=\\\"user_email\\\" id=\\\"user_email\\\" autocomplete=\\\"off\\\" spellcheck=\\\"false\\\">\\n                  \\n                                        </dd>\\n                                    </dl>\\n                                    <input type=\\\"hidden\\\" name=\\\"source\\\" value=\\\"form-home-signup\\\">\\n                                    <button class=\\\"btn-mktg width-full width-md-auto mb-3 mb-md-0 rounded-md-left-0 home-campaign-signup-button btn-signup-mktg\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Home campaign&quot;,&quot;action&quot;:&quot;click to Sign up for GitHub&quot;,&quot;label&quot;:&quot;ref_page:/;ref_cta:Sign up for GitHub;ref_loc:hero&quot;}\\\" type=\\\"submit\\\">\\n  Sign up for GitHub\\n  \\n  \\n</button>\\n                                </div>\\n                            </form>\\n                            <div class=\\\"border-top border-md-left mx-md-3 mb-3 mb-md-0\\\"></div>\\n                            <a class=\\\"btn-mktg home-campaign-enterprise btn-muted-mktg\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Start a free enterprise trial&quot;,&quot;action&quot;:&quot;click to Start a free enterprise trial&quot;,&quot;label&quot;:&quot;ref_cta:Start a free enterprise trial;&quot;}\\\" href=\\\"/organizations/enterprise_plan?ref_cta=Start+a+free+enterprise+trial&amp;ref_loc=Home+campaign+hero&amp;ref_page=%2F\\\" data-test-selector=\\\"start-trial-button\\\">\\n  Start a free enterprise trial\\n  \\n  \\n                                <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"octicon arrow-symbol-mktg\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\">\\n                                    <path fill=\\\"currentColor\\\" d=\\\"M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z\\\"></path>\\n                                    <path class=\\\"octicon-chevrow-stem\\\" stroke=\\\"currentColor\\\" d=\\\"M1.75 8H11\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"></path>\\n                                </svg>\\n                            </a>\\n                        </div>\\n                        <div class=\\\"my-10 my-md-12 build-in-animate col-12\\\">\\n                            <p class=\\\"d-block color-fg-subtle f4-mktg\\\">Trusted by the world’s leading&nbsp;organizations&nbsp;↘︎</p>\\n                            <div class=\\\"d-flex flex-wrap flex-justify-around flex-md-justify-between flex-items-center col-12 col-lg-11\\\">\\n                                <img src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/logos/stripe.svg\\\" alt=\\\"Stripe logo\\\" height=\\\"44\\\" class=\\\"my-3\\\">\\n                                <img src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/logos/pinterest.svg\\\" alt=\\\"Pinterest logo\\\" height=\\\"44\\\" class=\\\"my-3\\\">\\n                                <div class=\\\"col-12 d-sm-none\\\"></div>\\n                                <img src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/logos/kpmg.svg\\\" alt=\\\"KPMG logo\\\" height=\\\"44\\\" class=\\\"my-3\\\">\\n                                <div class=\\\"col-12 d-none d-sm-block d-md-none\\\"></div>\\n                                <img src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/logos/mercedes.svg\\\" alt=\\\"Mercedes-Benz logo\\\" height=\\\"44\\\" class=\\\"my-3\\\">\\n                                <div class=\\\"col-12 d-sm-none\\\"></div>\\n                                <img src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/logos/pg.svg\\\" alt=\\\"P&G logo\\\" height=\\\"32\\\" class=\\\"my-3\\\">\\n                                <img src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/logos/telus.svg\\\" alt=\\\"Telus logo\\\" height=\\\"32\\\" class=\\\"my-3\\\">\\n          \\n                            </div>\\n                        </div>\\n                    </div>\\n                </div>\\n            </div>\\n        </div>\\n        <div class=\\\"position-absolute\\\">\\n            <div class=\\\"sub-nav-mktg js-toggler-container z-3 js-sticky js-position-sticky top-0 width-full init-hidden scrollnav\\\">\\n                <div class=\\\"sub-nav-mktg-wrapper d-flex flex-items-center py-3 p-responsive container-xl\\\">\\n                    <button type=\\\"button\\\" class=\\\"btn-octicon sub-nav-mktg-toggle d-lg-none p-1 flex-order-1 float-right js-toggler-target mr-n1\\\" aria-label=\\\"Toggle page navigation\\\">\\n                        <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-chevron-down on-hidden\\\">\\n                            <path d=\\\"M5.22 8.22a.749.749 0 0 0 0 1.06l6.25 6.25a.749.749 0 0 0 1.06 0l6.25-6.25a.749.749 0 1 0-1.06-1.06L12 13.939 6.28 8.22a.749.749 0 0 0-1.06 0Z\\\"></path>\\n                        </svg>\\n                        <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-x on-visible\\\">\\n                            <path d=\\\"M5.72 5.72a.75.75 0 0 1 1.06 0L12 10.94l5.22-5.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L13.06 12l5.22 5.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L12 13.06l-5.22 5.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.94 12 5.72 6.78a.75.75 0 0 1 0-1.06Z\\\"></path>\\n                        </svg>\\n                    </button>\\n                    <div class=\\\"sub-nav-mktg-links flex-auto f4-mktg d-flex flex-column flex-lg-row gap-4\\\">\\n                        <a class=\\\"sub-nav-mktg-link Link--primary no-underline py-1 py-lg-2 js-scrollnav-item js-smoothscroll-anchor\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Homepage&quot;,&quot;action&quot;:&quot;click item to scroll to Productivity&quot;,&quot;label&quot;:&quot;ref_cta:Productivity;&quot;}\\\" href=\\\"#productivity\\\">Productivity</a>\\n                        <a class=\\\"sub-nav-mktg-link Link--primary no-underline py-1 py-lg-2 js-scrollnav-item js-smoothscroll-anchor\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Homepage&quot;,&quot;action&quot;:&quot;click item to scroll to Collaboration&quot;,&quot;label&quot;:&quot;ref_cta:Collaboration;&quot;}\\\" href=\\\"#collaboration\\\">Collaboration</a>\\n                        <a class=\\\"sub-nav-mktg-link Link--primary no-underline py-1 py-lg-2 js-scrollnav-item js-smoothscroll-anchor\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Homepage&quot;,&quot;action&quot;:&quot;click item to scroll to Security&quot;,&quot;label&quot;:&quot;ref_cta:Security;&quot;}\\\" href=\\\"#security\\\">Security</a>\\n                    </div>\\n                    <div class=\\\"sub-nav-mktg-ctas ml-lg-3\\\">\\n                        <a class=\\\"btn-mktg ml-lg-2 mt-2 mt-lg-0 d-block d-lg-inline-block btn-muted-mktg\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Homepage&quot;,&quot;action&quot;:&quot;click to Start a free enterprise trial&quot;,&quot;label&quot;:&quot;ref_cta:Start a free enterprise trial;ref_loc:Homepage;&quot;}\\\" href=\\\"/organizations/enterprise_plan?ref_cta=Start+a+free+enterprise+trial&amp;ref_loc=homepage+sticky+nav&amp;ref_page=%2F\\\">\\n  Start a free enterprise trial\\n  \\n  \\n                            <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"octicon arrow-symbol-mktg\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\">\\n                                <path fill=\\\"currentColor\\\" d=\\\"M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z\\\"></path>\\n                                <path class=\\\"octicon-chevrow-stem\\\" stroke=\\\"currentColor\\\" d=\\\"M1.75 8H11\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"></path>\\n                            </svg>\\n                        </a>\\n                        <a class=\\\"btn-mktg ml-lg-2 mt-2 mt-lg-0 d-block d-lg-inline-block\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Homepage&quot;,&quot;action&quot;:&quot;click to Sign up for GitHub&quot;,&quot;label&quot;:&quot;ref_cta:Sign up for GitHub;ref_loc:Homepage;&quot;}\\\" href=\\\"/join?ref_cta=Sign+up+for+GitHub&amp;ref_loc=homepage+sticky+nav&amp;ref_page=%2F&amp;source=homepage-sticky-nav\\\">\\n  Sign up for GitHub\\n  \\n  \\n                            <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"octicon arrow-symbol-mktg\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\">\\n                                <path fill=\\\"currentColor\\\" d=\\\"M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z\\\"></path>\\n                                <path class=\\\"octicon-chevrow-stem\\\" stroke=\\\"currentColor\\\" d=\\\"M1.75 8H11\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"></path>\\n                            </svg>\\n                        </a>\\n                    </div>\\n                </div>\\n            </div>\\n        </div>\\n        <div class=\\\"home-campaign-productivity js-section overflow-hidden px-3 pb-8 pt-5\\\" data-color-mode=\\\"dark\\\" data-light-theme=\\\"light\\\" data-dark-theme=\\\"dark\\\" id=\\\"productivity\\\">\\n            <div class=\\\"container-xl\\\">\\n                <div class=\\\"d-flex js-build-in-trigger\\\" data-build-in-stagger=\\\"100\\\">\\n                    <div class=\\\"col-1 d-flex flex-column flex-items-center\\\">\\n                        <div class=\\\"mb-4 position-relative home-campaign-glowing-icon js-build-in-item build-in-scale-fade\\\">\\n                            <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-briefcase\\\">\\n                                <path d=\\\"M7.5 1.75C7.5.784 8.284 0 9.25 0h5.5c.966 0 1.75.784 1.75 1.75V4h4.75c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0 1 21.25 22H2.75A1.75 1.75 0 0 1 1 20.25V5.75C1 4.784 1.784 4 2.75 4H7.5Zm-5 10.24v8.26c0 .138.112.25.25.25h18.5a.25.25 0 0 0 .25-.25v-8.26A4.235 4.235 0 0 1 18.75 13H5.25a4.235 4.235 0 0 1-2.75-1.01Zm19-3.24v-3a.25.25 0 0 0-.25-.25H2.75a.25.25 0 0 0-.25.25v3a2.75 2.75 0 0 0 2.75 2.75h13.5a2.75 2.75 0 0 0 2.75-2.75Zm-6.5-7a.25.25 0 0 0-.25-.25h-5.5a.25.25 0 0 0-.25.25V4h6Z\\\"></path>\\n                            </svg>\\n                            <span class=\\\"position-absolute left-0 top-0 height-full width-full home-campaign-glowing-icon-glow z-n1\\\" style=\\\"background-color: var(--mktg-accent-primary); filter: blur(18px);\\\"></span>\\n                        </div>\\n                        <div class=\\\"home-campaign-git-line height-full rounded js-build-in-item build-in-scale-top\\\" style=\\\"background: linear-gradient(#56d364, #2ea043, var(--color-canvas-default));\\\" data-build-delay=\\\"500\\\"></div>\\n                    </div>\\n                    <div class=\\\"col-11 col-lg-9 ml-2 ml-md-0 mb-6 mb-md-10\\\">\\n                        <h2 class=\\\"h5-mktg mb-4 text-medium js-build-in-item build-in-slideX-left\\\">Productivity</h2>\\n                        <h3 class=\\\"h3-mktg mb-4 text-medium js-build-in-item build-in-slideX-left\\\">\\n                            <span class=\\\"text-accent-primary\\\">Accelerate high-quality software development.</span>\\n        Our AI-powered platform drives innovation with tools that boost developer velocity.\\n                        </h3>\\n                    </div>\\n                </div>\\n                <div class=\\\"rounded-3 border box-shadow-active-border-inverse-mktg color-bg-subtle overflow-hidden position-relative\\\">\\n                    <div class=\\\"d-flex flex-items-center flex-justify-between border-bottom p-3\\\">\\n                        <div class=\\\"d-none d-md-block\\\">\\n                            <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-chevron-left color-fg-muted\\\">\\n                                <path d=\\\"M15.28 5.22a.75.75 0 0 1 0 1.06L9.56 12l5.72 5.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-6.25-6.25a.75.75 0 0 1 0-1.06l6.25-6.25a.75.75 0 0 1 1.06 0Z\\\"></path>\\n                            </svg>\\n                            <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-chevron-right color-fg-muted\\\">\\n                                <path d=\\\"M8.72 18.78a.75.75 0 0 1 0-1.06L14.44 12 8.72 6.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l6.25 6.25a.75.75 0 0 1 0 1.06l-6.25 6.25a.75.75 0 0 1-1.06 0Z\\\"></path>\\n                            </svg>\\n                        </div>\\n                        <div class=\\\"d-flex flex-items-center flex-justify-between border px-2 py-1 rounded color-bg-default width-full width-md-auto\\\">\\n                            <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-lock color-fg-subtle\\\">\\n                                <path d=\\\"M4 4a4 4 0 0 1 8 0v2h.25c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 12.25 15h-8.5A1.75 1.75 0 0 1 2 13.25v-5.5C2 6.784 2.784 6 3.75 6H4Zm8.25 3.5h-8.5a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25ZM10.5 6V4a2.5 2.5 0 1 0-5 0v2Z\\\"></path>\\n                            </svg>\\n                            <div class=\\\"px-2 px-md-8 text-truncate\\\">mona-github-github-g59jpq2w5w7.github.dev</div>\\n                            <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-sync color-fg-subtle\\\">\\n                                <path d=\\\"M1.705 8.005a.75.75 0 0 1 .834.656 5.5 5.5 0 0 0 9.592 2.97l-1.204-1.204a.25.25 0 0 1 .177-.427h3.646a.25.25 0 0 1 .25.25v3.646a.25.25 0 0 1-.427.177l-1.38-1.38A7.002 7.002 0 0 1 1.05 8.84a.75.75 0 0 1 .656-.834ZM8 2.5a5.487 5.487 0 0 0-4.131 1.869l1.204 1.204A.25.25 0 0 1 4.896 6H1.25A.25.25 0 0 1 1 5.75V2.104a.25.25 0 0 1 .427-.177l1.38 1.38A7.002 7.002 0 0 1 14.95 7.16a.75.75 0 0 1-1.49.178A5.5 5.5 0 0 0 8 2.5Z\\\"></path>\\n                            </svg>\\n                        </div>\\n                        <div class=\\\"d-none d-md-block\\\">\\n                            <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-plus color-fg-muted\\\">\\n                                <path d=\\\"M11.75 4.5a.75.75 0 0 1 .75.75V11h5.75a.75.75 0 0 1 0 1.5H12.5v5.75a.75.75 0 0 1-1.5 0V12.5H5.25a.75.75 0 0 1 0-1.5H11V5.25a.75.75 0 0 1 .75-.75Z\\\"></path>\\n                            </svg>\\n                        </div>\\n                    </div>\\n                    <div class=\\\"d-flex flex-items-stretch\\\">\\n                        <div class=\\\"d-none d-lg-block p-4 border-right\\\">\\n                            <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-three-bars color-fg-muted\\\">\\n                                <path d=\\\"M1 2.75A.75.75 0 0 1 1.75 2h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 2.75Zm0 5A.75.75 0 0 1 1.75 7h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 7.75ZM1.75 12h12.5a.75.75 0 0 1 0 1.5H1.75a.75.75 0 0 1 0-1.5Z\\\"></path>\\n                            </svg>\\n                        </div>\\n                        <div class=\\\"col-md-6 min-width-0\\\">\\n                            <div class=\\\"border-bottom\\\">\\n                                <ul class=\\\"list-style-none d-flex px-3 pt-3\\\">\\n                                    <li class=\\\"px-3 py-2 color-bg-default rounded-top-2\\\">index.html</li>\\n                                    <li class=\\\"px-3 py-2 color-fg-muted\\\">script.js</li>\\n                                    <li class=\\\"px-3 py-2 color-fg-muted\\\">package.json</li>\\n                                </ul>\\n                                <div class=\\\"color-bg-default p-4 f4 text-mono\\\">\\n                                    <div class=\\\"d-flex \\\">\\n                                        <div class=\\\"color-fg-subtle text-right user-select-none\\\" style=\\\"\\\">\\n                                            <div class=\\\"pr-2\\\">1</div>\\n                                            <div class=\\\"pr-2\\\">2</div>\\n                                            <div class=\\\"pr-2\\\">3</div>\\n                                            <div class=\\\"pr-2\\\">4</div>\\n                                            <div class=\\\"pr-2\\\">5</div>\\n                                            <div class=\\\"pr-2\\\">6</div>\\n                                            <div class=\\\"pr-2\\\">7</div>\\n                                            <div class=\\\"pr-2\\\">8</div>\\n                                            <div class=\\\"pr-2\\\">9</div>\\n                                            <div class=\\\"pr-2\\\">10</div>\\n                                            <div class=\\\"pr-2\\\">11</div>\\n                                            <div class=\\\"pr-2\\\">12</div>\\n                                        </div>\\n                                        <div class=\\\"flex-1 overflow-x-auto\\\" tabindex=\\\"0\\\">\\n                                            <pre class=\\\"f4\\\">\\n                                                <span class=\\\"code-editor-line-mktg d-inline-block js-type-letters\\\">&lt;\\n                                                    <span class=\\\"pl-ent\\\">div</span>\\n                                                    <span class=\\\"pl-e\\\">class</span>=\\n                                                    <span class=\\\"pl-s\\\">\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>position-absolute width-full color-bg-default\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>\\n                                                    </span>\\n                                                    <span class=\\\"pl-e\\\">style</span>=\\n                                                    <span class=\\\"pl-s\\\">\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>\\n                                                        <span class=\\\"pl-s1\\\">\\n                                                            <span class=\\\"pl-c1\\\">\\n                                                                <span class=\\\"pl-c1\\\">bottom</span>\\n                                                            </span>:\\n                                                            <span class=\\\"pl-c1\\\">-4\\n                                                                <span class=\\\"pl-k\\\">rem</span>\\n                                                            </span>;\\n                                                        </span>\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>\\n                                                    </span>&gt;\\n                                                </span>\\n                                            </pre>\\n                                            <pre class=\\\"f4\\\">\\n                                                <span class=\\\"code-editor-line-mktg d-inline-block js-type-letters\\\">  &lt;\\n                                                    <span class=\\\"pl-ent\\\">div</span>\\n                                                    <span class=\\\"pl-e\\\">class</span>=\\n                                                    <span class=\\\"pl-s\\\">\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>container-xl p-responsive\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>\\n                                                    </span>&gt;\\n                                                </span>\\n                                            </pre>\\n                                            <pre class=\\\"f4\\\">\\n                                                <span class=\\\"code-editor-line-mktg d-inline-block js-type-letters\\\">    &lt;\\n                                                    <span class=\\\"pl-ent\\\">div</span>\\n                                                    <span class=\\\"pl-e\\\">class</span>=\\n                                                    <span class=\\\"pl-s\\\">\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>d-flex flex-justify-center flex-lg-justify-end color-bg-default\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>\\n                                                    </span>&gt;\\n                                                </span>\\n                                            </pre>\\n                                            <pre class=\\\"f4\\\">\\n                                                <span class=\\\"code-editor-line-mktg d-inline-block js-type-letters\\\">      &lt;\\n                                                    <span class=\\\"pl-ent\\\">div</span>\\n                                                    <span class=\\\"pl-e\\\">class</span>=\\n                                                    <span class=\\\"pl-s\\\">\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>col-8 col-sm-7 col-md-6 col-lg-5 position-relative z-2 right-lg-n12 events-none\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>\\n                                                    </span>&gt;\\n                                                </span>\\n                                            </pre>\\n                                            <pre class=\\\"f4\\\">\\n                                                <span class=\\\"code-editor-line-mktg d-inline-block js-type-letters\\\">        &lt;\\n                                                    <span class=\\\"pl-ent\\\">picture</span>&gt;\\n                                                </span>\\n                                            </pre>\\n                                            <pre class=\\\"f4\\\">\\n                                                <span class=\\\"code-editor-line-mktg d-inline-block js-type-letters\\\">          &lt;\\n                                                    <span class=\\\"pl-ent\\\">source</span>\\n                                                    <span class=\\\"pl-e\\\">srcset</span>=\\n                                                    <span class=\\\"pl-s\\\">\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>astro-mona.webp\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>\\n                                                    </span>\\n                                                    <span class=\\\"pl-e\\\">type</span>=\\n                                                    <span class=\\\"pl-s\\\">\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>image/webp\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>\\n                                                    </span>&gt;\\n                                                </span>\\n                                            </pre>\\n                                            <pre class=\\\"f4\\\">\\n                                                <span class=\\\"code-editor-line-mktg d-inline-block js-type-letters\\\">          &lt;\\n                                                    <span class=\\\"pl-ent\\\">img</span>\\n                                                    <span class=\\\"pl-e\\\">src</span>=\\n                                                    <span class=\\\"pl-s\\\">\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>astro-mona.svg\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>\\n                                                    </span>\\n                                                    <span class=\\\"pl-e\\\">width</span>=\\n                                                    <span class=\\\"pl-s\\\">\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>960\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>\\n                                                    </span>\\n                                                    <span class=\\\"pl-e\\\">height</span>=\\n                                                    <span class=\\\"pl-s\\\">\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>967\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>\\n                                                    </span>\\n                                                    <span class=\\\"pl-e\\\">class</span>=\\n                                                    <span class=\\\"pl-s\\\">\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>home-astro-mona width-full position-absolute bottom-0 height-auto\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>\\n                                                    </span>\\n                                                    <span class=\\\"pl-e\\\">alt</span>=\\n                                                    <span class=\\\"pl-s\\\">\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>Mona looking at GitHub activity across the globe\\n                                                        <span class=\\\"pl-pds\\\">&quot;</span>\\n                                                    </span>&gt;\\n                                                </span>\\n                                            </pre>\\n                                            <pre class=\\\"f4\\\">\\n                                                <span class=\\\"code-editor-line-mktg d-inline-block js-type-letters\\\">        &lt;/\\n                                                    <span class=\\\"pl-ent\\\">picture</span>&gt;\\n                                                </span>\\n                                            </pre>\\n                                            <pre class=\\\"f4\\\">\\n                                                <span class=\\\"code-editor-line-mktg d-inline-block js-type-letters\\\">      &lt;/\\n                                                    <span class=\\\"pl-ent\\\">div</span>&gt;\\n                                                </span>\\n                                            </pre>\\n                                            <pre class=\\\"f4\\\">\\n                                                <span class=\\\"code-editor-line-mktg d-inline-block js-type-letters\\\">    &lt;/\\n                                                    <span class=\\\"pl-ent\\\">div</span>&gt;\\n                                                </span>\\n                                            </pre>\\n                                            <pre class=\\\"f4\\\">\\n                                                <span class=\\\"code-editor-line-mktg d-inline-block js-type-letters\\\">  &lt;/\\n                                                    <span class=\\\"pl-ent\\\">div</span>&gt;\\n                                                </span>\\n                                            </pre>\\n                                            <pre class=\\\"f4\\\">\\n                                                <span class=\\\"code-editor-line-mktg d-inline-block js-type-letters\\\">&lt;/\\n                                                    <span class=\\\"pl-ent\\\">div</span>&gt;\\n                                                </span>\\n                                            </pre>\\n                                        </div>\\n                                    </div>\\n                                </div>\\n                            </div>\\n                            <div class=\\\"p-4\\\">\\n                                <ul class=\\\"list-style-none d-flex mb-3\\\">\\n                                    <li class=\\\"pr-3\\\">Terminal</li>\\n                                    <li class=\\\"pr-3 color-fg-muted\\\">Output</li>\\n                                    <li class=\\\"pr-3 color-fg-muted\\\">Problems</li>\\n                                    <li class=\\\"pr-3 color-fg-muted\\\">Debug Console</li>\\n                                </ul>\\n                                <div class=\\\"overflow-hidden f5 text-mono color-fg-muted js-type-in-trigger\\\" data-type-row-delay=\\\"50\\\">\\n                                    <div class=\\\"no-wrap js-type-row\\\">\\n                [\\n                                        <span class=\\\"color-fg-subtle\\\">09:43:36</span>]\\n                                        <span>Starting</span>\\n                '\\n                                        <span class=\\\"color-fg-accent\\\">watch-extension:vscode-api-tests</span>'\\n                  ...\\n                                    </div>\\n                                    <div class=\\\"no-wrap js-type-row\\\">\\n                [\\n                                        <span class=\\\"color-fg-subtle\\\">09:43:36</span>]\\n                                        <span>Finished</span>\\n                '\\n                                        <span class=\\\"color-fg-accent\\\">clean-extension:typescript-language-features</span>'\\n                  after\\n                                        <span class=\\\"color-fg-done\\\">248 ms</span>\\n                                    </div>\\n                                    <div class=\\\"no-wrap js-type-row\\\">\\n                [\\n                                        <span class=\\\"color-fg-subtle\\\">09:43:36</span>]\\n                                        <span>Starting</span>\\n                '\\n                                        <span class=\\\"color-fg-accent\\\">watch-extension:typescript-language-features</span>'\\n                  ...\\n                                    </div>\\n                                    <div class=\\\"no-wrap js-type-row\\\">\\n                [\\n                                        <span class=\\\"color-fg-subtle\\\">09:43:36</span>]\\n                                        <span>Finished</span>\\n                '\\n                                        <span class=\\\"color-fg-accent\\\">clean-extension:php-language-features</span>'\\n                  after\\n                                        <span class=\\\"color-fg-done\\\">384 ms</span>\\n                                    </div>\\n                                    <div class=\\\"no-wrap js-type-row\\\">\\n                [\\n                                        <span class=\\\"color-fg-subtle\\\">09:43:36</span>]\\n                                        <span>Starting</span>\\n                '\\n                                        <span class=\\\"color-fg-accent\\\">watch-extension:php-language-features</span>'\\n                  ...\\n                                    </div>\\n                                    <div class=\\\"no-wrap js-type-row\\\">\\n                [\\n                                        <span class=\\\"color-fg-subtle\\\">09:43:40</span>]\\n                                        <span>Finished</span>\\n                '\\n                                        <span class=\\\"color-fg-accent\\\">clean-extension:html-language-features-server</span>'\\n                  after\\n                                        <span class=\\\"color-fg-done\\\">4.66 s</span>\\n                                    </div>\\n                                    <div class=\\\"no-wrap js-type-row\\\">\\n                [\\n                                        <span class=\\\"color-fg-subtle\\\">09:43:40</span>]\\n                                        <span>Starting</span>\\n                '\\n                                        <span class=\\\"color-fg-accent\\\">watch-extension:html-language-features-server</span>'\\n                  ...\\n                                    </div>\\n                                    <div class=\\\"no-wrap js-type-row\\\">\\n                [\\n                                        <span class=\\\"color-fg-subtle\\\">09:43:43</span>]\\n                                        <span>Finished</span>\\n                '\\n                                        <span class=\\\"color-fg-accent\\\">clean-client</span>'\\n                  after\\n                                        <span class=\\\"color-fg-done\\\">7.33 s</span>\\n                                    </div>\\n                                    <div class=\\\"no-wrap js-type-row\\\">\\n                [\\n                                        <span class=\\\"color-fg-subtle\\\">09:43:43</span>]\\n                                        <span>Starting</span>\\n                '\\n                                        <span class=\\\"color-fg-accent\\\">watch-client</span>'\\n                  ...\\n                                    </div>\\n                                </div>\\n                            </div>\\n                        </div>\\n                        <div class=\\\"col-md-6 d-none d-md-block border-left\\\">\\n                            <div class=\\\"d-flex flex-items-center flex-justify-between px-3 pt-3 pb-2\\\">\\n                                <div>\\n                                    <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-three-bars\\\">\\n                                        <path d=\\\"M1 2.75A.75.75 0 0 1 1.75 2h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 2.75Zm0 5A.75.75 0 0 1 1.75 7h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 7.75ZM1.75 12h12.5a.75.75 0 0 1 0 1.5H1.75a.75.75 0 0 1 0-1.5Z\\\"></path>\\n                                    </svg>\\n                                </div>\\n                                <div>\\n                                    <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-mark-github\\\">\\n                                        <path d=\\\"M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z\\\"></path>\\n                                    </svg>\\n                                </div>\\n                                <div>\\n                                    <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-bell\\\">\\n                                        <path d=\\\"M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z\\\"></path>\\n                                    </svg>\\n                                </div>\\n                            </div>\\n                            <div class=\\\"height-full d-flex flex-items-center flex-justify-between px-6 js-build-in-trigger\\\" style=\\\"background: #040D21;\\\">\\n                                <picture>\\n                                    <source srcset=\\\"https://github.githubassets.com/images/modules/site/home/globe.jpg 1238w,https://github.githubassets.com/images/modules/site/home/globe.jpg?width=990 990w,https://github.githubassets.com/images/modules/site/home/globe.jpg?width=742 742w,https://github.githubassets.com/images/modules/site/home/globe.jpg?width=619 619w,https://github.githubassets.com/images/modules/site/home/globe.jpg?width=495 495w,https://github.githubassets.com/images/modules/site/home/globe.jpg?width=247 247w\\\" sizes=\\\"(max-width: 600px) 90vw, 595px\\\" type=\\\"image/jpeg\\\"></source>\\n                                    <img class=\\\"width-full height-auto d-block js-build-in-item build-in-scale-up\\\" width=\\\"1238\\\" height=\\\"1404\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" alt=\\\"Planet earth with visualization of GitHub activity crossing the globe\\\" src=\\\"https://github.githubassets.com/images/modules/site/home/globe.jpg\\\" />\\n                                </picture>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </div>\\n                <div class=\\\"d-flex js-build-in-trigger position-relative\\\" data-build-in-stagger=\\\"100\\\">\\n                    <img alt=\\\"\\\" aria-hidden=\\\"true\\\" width=\\\"2712\\\" height=\\\"2712\\\" class=\\\"position-absolute top-0 right-0 height-auto col-11 events-none\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/bg-stars-1.webp\\\" />\\n                    <div class=\\\"col-1 d-flex flex-column flex-items-center position-relative\\\">\\n                        <div class=\\\"home-campaign-git-line height-full position-relative z-1 js-build-in-item build-in-scale-top\\\" style=\\\"transition-duration: 900ms; background: linear-gradient(var(--color-canvas-default), #2ea043, #2ea043, var(--color-canvas-default));\\\"></div>\\n                        <img alt=\\\"\\\" aria-hidden=\\\"true\\\" width=\\\"81\\\" height=\\\"485\\\" style=\\\"left: calc(50% - 2px); height: auto; max-width: 9vw;\\\" class=\\\"d-none d-md-block position-absolute bottom-4 js-build-in-item build-in-scale-fade\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/git-branch-productivity.svg\\\" />\\n                    </div>\\n                    <div class=\\\"col-11 ml-2 ml-md-6\\\">\\n                        <div class=\\\"river-mktg js-build-in-trigger d-flex gutter gutter-spacious my-5 my-sm-7 my-md-8 position-relative flex-column-reverse flex-md-items-center flex-md-row flex-column pb-4 pb-md-7\\\" data-build-in-stagger=\\\"100\\\">\\n                            <div class=\\\"col-12 py-3 mb-2 js-build-in-item col-sm-10 col-md-6 text-left col-lg-6 build-in-slideX-right\\\">\\n                                <div class=\\\"pr-md-4\\\">\\n                                    <h2 class=\\\"color-fg-default mb-3 f2-mktg color-fg-muted\\\">\\n                                        <em>GitHub Codespaces</em> offers a complete dev environment in seconds, so you can code, build, test, and open pull requests from any repo anywhere.\\n                                    </h2>\\n                                    <a class=\\\"link-mktg text-semibold color-fg-default py-1 f3-mktg\\\" href=\\\"/features/codespaces\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Check out GitHub Codespaces&quot;,&quot;action&quot;:&quot;click to Check out GitHub Codespaces&quot;,&quot;label&quot;:&quot;ref_cta:Check out GitHub Codespaces;&quot;}\\\">\\n    Check out GitHub Codespaces \\n                                        <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"octicon arrow-symbol-mktg\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\">\\n                                            <path fill=\\\"currentColor\\\" d=\\\"M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z\\\"></path>\\n                                            <path class=\\\"octicon-chevrow-stem\\\" stroke=\\\"currentColor\\\" d=\\\"M1.75 8H11\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"></path>\\n                                        </svg>\\n                                    </a>\\n                                </div>\\n                            </div>\\n                            <div class=\\\"col-12 py-3 col-md-6 col-lg-6\\\">\\n                                <div class=\\\"position-relative\\\">\\n                                    <div class=\\\"d-flex flex-column position-relative\\\">\\n                                        <div class=\\\"js-build-in-item build-in-slideX-left box-shadow-card-dark-mktg overflow-hidden rounded-2 position-relative z-2 flex-self-end\\\" style=\\\"max-width: 300px; margin-top: -30%; margin-right: 10%\\\">\\n                                            <img src=\\\"https://github.githubassets.com/images/modules/site/codespaces/illo-context-menu.png\\\" alt=\\\"\\\" width=\\\"600\\\" height=\\\"524\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" class=\\\"width-full d-block height-auto\\\">\\n                                            <img src=\\\"https://github.githubassets.com/images/modules/site/codespaces/illo-cursor.png\\\" alt=\\\"\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" class=\\\"position-absolute js-build-in-item build-in-slideX-left height-auto\\\" width=\\\"60\\\" height=\\\"96\\\" style=\\\"right: 20%; bottom: 23%; width: 30px;\\\">\\n          \\n                                        </div>\\n                                        <div class=\\\"js-build-in-item build-in-slideX-right box-shadow-card-dark-mktg overflow-hidden rounded-2 position-relative z-1 d-none d-sm-block\\\" style=\\\"max-width: 373px; margin-top: -20%\\\">\\n                                            <img src=\\\"https://github.githubassets.com/images/modules/site/codespaces/illo-ports.png\\\" loading=\\\"lazy\\\" width=\\\"746\\\" height=\\\"368\\\" alt=\\\"\\\" decoding=\\\"async\\\" class=\\\"width-full d-block height-auto\\\">\\n          \\n                                        </div>\\n                                    </div>\\n                                </div>\\n                            </div>\\n                        </div>\\n                        <div class=\\\"mb-6 mb-md-12 pb-3 js-build-in-trigger\\\">\\n                            <div class=\\\"py-3 js-build-in-item col-sm-10 col-md-6 text-left col-lg-6 build-in-slideX-left\\\">\\n                                <div class=\\\"gradient-border-mktg d-inline-block z-1 position-relative px-2 lh-condensed f6-mktg\\\" style=\\\"top: -1px\\\">\\n                                    <span class=\\\"text-gradient-mktg text-semibold\\\">Did you know?</span>\\n                                </div>\\n                                <h3 class=\\\"text-accent-primary mb-2 mt-3 h2-mktg text-medium\\\">22% increase</h3>\\n                                <p class=\\\"mb-3 f3-mktg text-medium col-6-max\\\">in developer productivity\\n                                    <br>after three years with GitHub\\n                                    <sup>1</sup>\\n                                </p>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </div>\\n                <div class=\\\"position-relative z-1\\\">\\n                    <card-skew class=\\\"overflow-hidden rounded-3 mb-3 mb-md-5\\\">\\n                        <div class=\\\"feature-card-mktg d-md-flex rounded-3 color-bg-subtle border position-relative flex-justify-between z-1 height-full flex-row\\\" data-target=\\\"card-skew.bounding\\\">\\n                            <div class=\\\"d-md-flex flex-column flex-1 p-5 p-sm-6 py-lg-8 pl-lg-8 pr-lg-12 col-md-6 flex-justify-between\\\">\\n                                <p class=\\\"f2-mktg text-medium color-fg-muted mb-4\\\">\\n                                    <em>GitHub Copilot</em> is your AI pair programmer that empowers you to complete tasks 55% faster by turning natural language prompts into coding suggestions.\\n                                </p>\\n                                <div>\\n                                    <a class=\\\"link-mktg text-semibold color-fg-default py-1 f3-mktg\\\" href=\\\"/features/copilot\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Meet GitHub Copilot&quot;,&quot;action&quot;:&quot;click to Meet GitHub Copilot&quot;,&quot;label&quot;:&quot;ref_cta:Meet GitHub Copilot;&quot;}\\\">\\n    Meet GitHub Copilot \\n                                        <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"octicon arrow-symbol-mktg\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\">\\n                                            <path fill=\\\"currentColor\\\" d=\\\"M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z\\\"></path>\\n                                            <path class=\\\"octicon-chevrow-stem\\\" stroke=\\\"currentColor\\\" d=\\\"M1.75 8H11\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"></path>\\n                                        </svg>\\n                                    </a>\\n                                </div>\\n                            </div>\\n                            <div class=\\\"overflow-hidden col-md-6 rounded-right-3\\\">\\n                                <div class=\\\"color-bg-subtle rounded-3 border text-left mb-8 ml-3 ml-sm-6 ml-md-0 mt-md-6 mr-3 mr-sm-6 box-shadow-card-mktg\\\">\\n                                    <tab-container>\\n                                        <div class=\\\"tabnav pt-2 px-2 mb-0\\\">\\n                                            <nav class=\\\"tabnav-tabs\\\" aria-label=\\\"Code editor files\\\" role=\\\"tablist\\\">\\n                                                <button name=\\\"button\\\" type=\\\"button\\\" role=\\\"tab\\\" id=\\\"draw_scatterplot-py\\\" aria-selected=\\\"true\\\" class=\\\"tabnav-tab\\\" tabindex=\\\"0\\\">\\n                                                    <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" viewBox=\\\"0 0 24 24\\\" aria-hidden=\\\"true\\\" class=\\\"octicon\\\" height=\\\"16\\\" width=\\\"16\\\">\\n                                                        <title>Python</title>\\n                                                        <path d=\\\"M14.25.18l.9.2.73.26.59.3.45.32.34.34.25.34.16.33.1.3.04.26.02.2-.01.13V8.5l-.05.63-.13.55-.21.46-.26.38-.3.31-.33.25-.35.19-.35.14-.33.1-.3.07-.26.04-.21.02H8.77l-.69.05-.59.14-.5.22-.41.27-.33.32-.27.35-.2.36-.15.37-.1.35-.07.32-.04.27-.02.21v3.06H3.17l-.21-.03-.28-.07-.32-.12-.35-.18-.36-.26-.36-.36-.35-.46-.32-.59-.28-.73-.21-.88-.14-1.05-.05-1.23.06-1.22.16-1.04.24-.87.32-.71.36-.57.4-.44.42-.33.42-.24.4-.16.36-.1.32-.05.24-.01h.16l.06.01h8.16v-.83H6.18l-.01-2.75-.02-.37.05-.34.11-.31.17-.28.25-.26.31-.23.38-.2.44-.18.51-.15.58-.12.64-.1.71-.06.77-.04.84-.02 1.27.05zm-6.3 1.98l-.23.33-.08.41.08.41.23.34.33.22.41.09.41-.09.33-.22.23-.34.08-.41-.08-.41-.23-.33-.33-.22-.41-.09-.41.09zm13.09 3.95l.28.06.32.12.35.18.36.27.36.35.35.47.32.59.28.73.21.88.14 1.04.05 1.23-.06 1.23-.16 1.04-.24.86-.32.71-.36.57-.4.45-.42.33-.42.24-.4.16-.36.09-.32.05-.24.02-.16-.01h-8.22v.82h5.84l.01 2.76.02.36-.05.34-.11.31-.17.29-.25.25-.31.24-.38.2-.44.17-.51.15-.58.13-.64.09-.71.07-.77.04-.84.01-1.27-.04-1.07-.14-.9-.2-.73-.25-.59-.3-.45-.33-.34-.34-.25-.34-.16-.33-.1-.3-.04-.25-.02-.2.01-.13v-5.34l.05-.64.13-.54.21-.46.26-.38.3-.32.33-.24.35-.2.35-.14.33-.1.3-.06.26-.04.21-.02.13-.01h5.84l.69-.05.59-.14.5-.21.41-.28.33-.32.27-.35.2-.36.15-.36.1-.35.07-.32.04-.28.02-.21V6.07h2.09l.14.01zm-6.47 14.25l-.23.33-.08.41.08.41.23.33.33.23.41.08.41-.08.33-.23.23-.33.08-.41-.08-.41-.23-.33-.33-.23-.41-.08-.41.08z\\\"></path>\\n                                                    </svg>\\n                                                    <span>draw_scatterplot.py</span>\\n                                                </button>\\n                                                <button name=\\\"button\\\" type=\\\"button\\\" role=\\\"tab\\\" id=\\\"time-js\\\" aria-selected=\\\"false\\\" class=\\\"tabnav-tab\\\" tabindex=\\\"0\\\">\\n                                                    <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" viewBox=\\\"0 0 24 24\\\" aria-hidden=\\\"true\\\" class=\\\"octicon\\\" height=\\\"16\\\" width=\\\"16\\\">\\n                                                        <title>JavaScript</title>\\n                                                        <path d=\\\"M0 0h24v24H0V0zm22.034 18.276c-.175-1.095-.888-2.015-3.003-2.873-.736-.345-1.554-.585-1.797-1.14-.091-.33-.105-.51-.046-.705.15-.646.915-.84 1.515-.66.39.12.75.42.976.9 1.034-.676 1.034-.676 1.755-1.125-.27-.42-.404-.601-.586-.78-.63-.705-1.469-1.065-2.834-1.034l-.705.089c-.676.165-1.32.525-1.71 1.005-1.14 1.291-.811 3.541.569 4.471 1.365 1.02 3.361 1.244 3.616 2.205.24 1.17-.87 1.545-1.966 1.41-.811-.18-1.26-.586-1.755-1.336l-1.83 1.051c.21.48.45.689.81 1.109 1.74 1.756 6.09 1.666 6.871-1.004.029-.09.24-.705.074-1.65l.046.067zm-8.983-7.245h-2.248c0 1.938-.009 3.864-.009 5.805 0 1.232.063 2.363-.138 2.711-.33.689-1.18.601-1.566.48-.396-.196-.597-.466-.83-.855-.063-.105-.11-.196-.127-.196l-1.825 1.125c.305.63.75 1.172 1.324 1.517.855.51 2.004.675 3.207.405.783-.226 1.458-.691 1.811-1.411.51-.93.402-2.07.397-3.346.012-2.054 0-4.109 0-6.179l.004-.056z\\\"></path>\\n                                                    </svg>\\n                                                    <span>time.js</span>\\n                                                </button>\\n                                                <button name=\\\"button\\\" type=\\\"button\\\" role=\\\"tab\\\" id=\\\"memoize-go\\\" aria-selected=\\\"false\\\" class=\\\"tabnav-tab\\\" tabindex=\\\"0\\\">\\n                                                    <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" role=\\\"img\\\" viewBox=\\\"0 0 24 24\\\" aria-hidden=\\\"true\\\" class=\\\"octicon\\\" height=\\\"16\\\" width=\\\"16\\\">\\n                                                        <title>Go</title>\\n                                                        <path d=\\\"M1.811 10.231c-.047 0-.058-.023-.035-.059l.246-.315c.023-.035.081-.058.128-.058h4.172c.046 0 .058.035.035.07l-.199.303c-.023.036-.082.07-.117.07zM.047 11.306c-.047 0-.059-.023-.035-.058l.245-.316c.023-.035.082-.058.129-.058h5.328c.047 0 .07.035.058.07l-.093.28c-.012.047-.058.07-.105.07zm2.828 1.075c-.047 0-.059-.035-.035-.07l.163-.292c.023-.035.07-.07.117-.07h2.337c.047 0 .07.035.07.082l-.023.28c0 .047-.047.082-.082.082zm12.129-2.36c-.736.187-1.239.327-1.963.514-.176.046-.187.058-.34-.117-.174-.199-.303-.327-.548-.444-.737-.362-1.45-.257-2.115.175-.795.514-1.204 1.274-1.192 2.22.011.935.654 1.706 1.577 1.835.795.105 1.46-.175 1.987-.77.105-.13.198-.27.315-.434H10.47c-.245 0-.304-.152-.222-.35.152-.362.432-.97.596-1.274a.315.315 0 01.292-.187h4.253c-.023.316-.023.631-.07.947a4.983 4.983 0 01-.958 2.29c-.841 1.11-1.94 1.8-3.33 1.986-1.145.152-2.209-.07-3.143-.77-.865-.655-1.356-1.52-1.484-2.595-.152-1.274.222-2.419.993-3.424.83-1.086 1.928-1.776 3.272-2.02 1.098-.2 2.15-.07 3.096.571.62.41 1.063.97 1.356 1.648.07.105.023.164-.117.2m3.868 6.461c-1.064-.024-2.034-.328-2.852-1.029a3.665 3.665 0 01-1.262-2.255c-.21-1.32.152-2.489.947-3.529.853-1.122 1.881-1.706 3.272-1.95 1.192-.21 2.314-.095 3.33.595.923.63 1.496 1.484 1.648 2.605.198 1.578-.257 2.863-1.344 3.962-.771.783-1.718 1.273-2.805 1.495-.315.06-.63.07-.934.106zm2.78-4.72c-.011-.153-.011-.27-.034-.387-.21-1.157-1.274-1.81-2.384-1.554-1.087.245-1.788.935-2.045 2.033-.21.912.234 1.835 1.075 2.21.643.28 1.285.244 1.905-.07.923-.48 1.425-1.228 1.484-2.233z\\\"></path>\\n                                                    </svg>\\n                                                    <span>memoize.go</span>\\n                                                </button>\\n                                            </nav>\\n                                        </div>\\n                                        <div role=\\\"tabpanel\\\" aria-labelledby=\\\"draw_scatterplot-py\\\" class=\\\"code-editor-component position-relative text-mono color-bg-default rounded-bottom-3 f4 p-3 js-type-in\\\">\\n                                            <div class=\\\"d-flex \\\">\\n                                                <div class=\\\"color-fg-subtle text-right user-select-none\\\" style=\\\"\\\">\\n                                                    <div class=\\\"pr-2\\\">1</div>\\n                                                    <div class=\\\"pr-2\\\">2</div>\\n                                                    <div class=\\\"pr-2\\\">3</div>\\n                                                    <div class=\\\"pr-2\\\">4</div>\\n                                                    <div class=\\\"pr-2\\\">5</div>\\n                                                    <div class=\\\"pr-2\\\">6</div>\\n                                                    <div class=\\\"pr-2\\\">7</div>\\n                                                    <div class=\\\"pr-2\\\">8</div>\\n                                                </div>\\n                                                <div class=\\\"flex-1 overflow-x-auto\\\" tabindex=\\\"0\\\">\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block\\\">\\n                                                            <span class=pl-k>import</span>\\n                                                            <span class=pl-s1>matplotlib</span>.\\n                                                            <span class=pl-s1>pyplot</span>\\n                                                            <span class=pl-k>as</span>\\n                                                            <span class=pl-s1>plt</span>\\n                                                        </span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block\\\"></span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-letters\\\">\\n                                                            <span class=pl-k>def</span>\\n                                                            <span class=pl-en>draw_scatterplot</span>(\\n                                                            <span class=pl-s1>x_values</span>,\\n                                                            <span class=pl-s1>y_values</span>):\\n                                                        </span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-row code-editor-line-suggested-mktg color-bg-accent\\\" data-type-row-delay=\\\"0\\\">\\n                                                            <span class=pl-s1>plt</span>.\\n                                                            <span class=pl-en>scatter</span>(\\n                                                            <span class=pl-s1>x_values</span>,\\n                                                            <span class=pl-s1>y_values</span>,\\n                                                            <span class=pl-s1>s</span>\\n                                                            <span class=pl-c1>=</span>\\n                                                            <span class=pl-c1>20</span>)\\n                                                        </span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-row code-editor-line-suggested-mktg color-bg-accent\\\" data-type-row-delay=\\\"0\\\">\\n                                                            <span class=pl-s1>plt</span>.\\n                                                            <span class=pl-en>title</span>(\\n                                                            <span class=pl-s>&quot;Scatter Plot&quot;</span>)\\n                                                        </span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-row code-editor-line-suggested-mktg color-bg-accent\\\" data-type-row-delay=\\\"0\\\">\\n                                                            <span class=pl-s1>plt</span>.\\n                                                            <span class=pl-en>xlabel</span>(\\n                                                            <span class=pl-s>&quot;x values&quot;</span>)\\n                                                        </span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-row code-editor-line-suggested-mktg color-bg-accent\\\" data-type-row-delay=\\\"0\\\">\\n                                                            <span class=pl-s1>plt</span>.\\n                                                            <span class=pl-en>ylabel</span>(\\n                                                            <span class=pl-s>&quot;y values&quot;</span>)\\n                                                        </span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-row code-editor-line-suggested-mktg color-bg-accent\\\" data-type-row-delay=\\\"0\\\">\\n                                                            <span class=pl-s1>plt</span>.\\n                                                            <span class=pl-en>show</span>()\\n                                                        </span>\\n                                                    </pre>\\n                                                    <div class=\\\"copilot-marker position-absolute color-fg-on-emphasis rounded color-bg-accent-emphasis text-bold d-flex flex-items-center js-type-row p-2 f5\\\" style=\\\"\\\">\\n                                                        <svg width=\\\"16\\\" height=\\\"15\\\" viewBox=\\\"0 0 16 15\\\" fill=\\\"currentColor\\\" aria-hidden=\\\"true\\\" class=\\\"mr-1\\\">\\n                                                            <path d=\\\"M5.5 8.75282C5.5 8.33863 5.83569 8.00282 6.25 8.00282C6.66415 8.00282 7 8.33861 7 8.75282V10.2489C7 10.6631 6.66431 10.9989 6.25 10.9989C5.83569 10.9989 5.5 10.6631 5.5 10.2489V8.75282Z\\\"></path>\\n                                                            <path d=\\\"M10.5 8.75282C10.5 8.33863 10.1643 8.00282 9.75 8.00282C9.33551 8.00282 9 8.33881 9 8.75282V10.2489C9 10.6631 9.33569 10.9989 9.75 10.9989C10.1643 10.9989 10.5 10.6631 10.5 10.2489V8.75282Z\\\"></path>\\n                                                            <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M5.04443 0.0297942C6.05371 -0.0606599 7.3667 0.00708908 8 0.919809C8.6333 0.00708908 9.94629 -0.0606599 10.9556 0.0297942C12.1118 0.145761 13.0854 0.543222 13.6328 1.12708C14.5825 2.1648 14.6267 4.34144 14.1685 5.5398C14.2146 5.74464 14.2585 5.95216 14.29 6.17176C15.1366 6.39482 16 7.59408 16 8.45167V10.0717C16 10.5215 15.79 10.9314 15.4199 11.2114C13.3044 12.7835 10.6672 14.0012 8 14.0012C5.33276 14.0012 2.69556 12.7835 0.580078 11.2114C0.209961 10.9314 0 10.5215 0 10.0717V8.45167C0 7.59408 0.863428 6.39482 1.70996 6.17176C1.7416 5.95216 1.7855 5.74461 1.83154 5.5398C1.37329 4.34144 1.41748 2.1648 2.36719 1.12708C2.91455 0.543222 3.88818 0.145761 5.04443 0.0297942ZM8 12.5014C9.93994 12.5014 11.8501 11.6426 13 11.0028V6.65907C11.1445 7.37782 9.00928 7.00721 8.00146 5.34229H7.99854C6.99072 7.00721 4.85547 7.37782 3 6.65907V11.0028C4.1499 11.6426 6.06006 12.5014 8 12.5014ZM5 5.49879C6.64062 5.49879 7 4.20582 7 3.01832C7 1.91517 6.8125 1.50392 5.53125 1.50392C3.31396 1.50392 3.04688 2.25282 3.04688 4.00282C3.04688 5.10597 3.35938 5.49879 5 5.49879ZM11 5.49879C9.35938 5.49879 9 4.20582 9 3.01832C9 1.91517 9.1875 1.50392 10.4688 1.50392C12.686 1.50392 12.9531 2.25282 12.9531 4.00282C12.9531 5.10597 12.6406 5.49879 11 5.49879Z\\\"></path>\\n                                                        </svg>\\n\\n        Copilot\\n                                                    </div>\\n                                                </div>\\n                                            </div>\\n                                            <div class=\\\"position-absolute width-full z-1 text-center bottom-0 left-0 mb-n6 f5-mktg js-type-row\\\">\\n                                                <button type=\\\"button\\\" data-view-component=\\\"true\\\" class=\\\"js-type-restart btn-link color-fg-default no-underline\\\">\\n                                                    <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-sync mr-2\\\">\\n                                                        <path d=\\\"M1.705 8.005a.75.75 0 0 1 .834.656 5.5 5.5 0 0 0 9.592 2.97l-1.204-1.204a.25.25 0 0 1 .177-.427h3.646a.25.25 0 0 1 .25.25v3.646a.25.25 0 0 1-.427.177l-1.38-1.38A7.002 7.002 0 0 1 1.05 8.84a.75.75 0 0 1 .656-.834ZM8 2.5a5.487 5.487 0 0 0-4.131 1.869l1.204 1.204A.25.25 0 0 1 4.896 6H1.25A.25.25 0 0 1 1 5.75V2.104a.25.25 0 0 1 .427-.177l1.38 1.38A7.002 7.002 0 0 1 14.95 7.16a.75.75 0 0 1-1.49.178A5.5 5.5 0 0 0 8 2.5Z\\\"></path>\\n                                                    </svg>Replay\\n                                                </button>\\n                                            </div>\\n                                        </div>\\n                                        <div role=\\\"tabpanel\\\" aria-labelledby=\\\"time-js\\\" hidden=\\\"hidden\\\" class=\\\"code-editor-component position-relative text-mono color-bg-default rounded-bottom-3 f4 p-3 js-type-in\\\">\\n                                            <div class=\\\"d-flex \\\">\\n                                                <div class=\\\"color-fg-subtle text-right user-select-none\\\" style=\\\"\\\">\\n                                                    <div class=\\\"pr-2\\\">1</div>\\n                                                    <div class=\\\"pr-2\\\">2</div>\\n                                                    <div class=\\\"pr-2\\\">3</div>\\n                                                    <div class=\\\"pr-2\\\">4</div>\\n                                                    <div class=\\\"pr-2\\\">5</div>\\n                                                    <div class=\\\"pr-2\\\">6</div>\\n                                                    <div class=\\\"pr-2\\\">7</div>\\n                                                </div>\\n                                                <div class=\\\"flex-1 overflow-x-auto\\\" tabindex=\\\"0\\\">\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block\\\">\\n                                                            <span class=pl-k>const</span>\\n                                                            <span class=pl-s1>seconds</span>\\n                                                            <span class=pl-c1>=</span>\\n                                                            <span class=pl-c1>3600</span>\\n                                                        </span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-letters\\\">\\n                                                            <span class=pl-k>const</span>\\n                                                            <span class=pl-s1>minutes</span>\\n                                                            <span class=pl-c1>=</span>\\n                                                            <span class=pl-s1>seconds</span>\\n                                                            <span class=pl-c1>/</span>\\n                                                            <span class=pl-c1>60</span>\\n                                                        </span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-row code-editor-line-suggested-mktg color-bg-accent\\\" data-type-row-delay=\\\"0\\\">\\n                                                            <span class=pl-k>const</span>\\n                                                            <span class=pl-s1>hours</span>\\n                                                            <span class=pl-c1>=</span>\\n                                                            <span class=pl-s1>minutes</span>\\n                                                            <span class=pl-c1>/</span>\\n                                                            <span class=pl-c1>60</span>\\n                                                        </span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-row code-editor-line-suggested-mktg color-bg-accent\\\" data-type-row-delay=\\\"0\\\">\\n                                                            <span class=pl-k>const</span>\\n                                                            <span class=pl-s1>days</span>\\n                                                            <span class=pl-c1>=</span>\\n                                                            <span class=pl-s1>hours</span>\\n                                                            <span class=pl-c1>/</span>\\n                                                            <span class=pl-c1>24</span>\\n                                                        </span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-row code-editor-line-suggested-mktg color-bg-accent\\\" data-type-row-delay=\\\"0\\\">\\n                                                            <span class=pl-k>const</span>\\n                                                            <span class=pl-s1>weeks</span>\\n                                                            <span class=pl-c1>=</span>\\n                                                            <span class=pl-s1>days</span>\\n                                                            <span class=pl-c1>/</span>\\n                                                            <span class=pl-c1>7</span>\\n                                                        </span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-row code-editor-line-suggested-mktg color-bg-accent\\\" data-type-row-delay=\\\"0\\\">\\n                                                            <span class=pl-k>const</span>\\n                                                            <span class=pl-s1>months</span>\\n                                                            <span class=pl-c1>=</span>\\n                                                            <span class=pl-s1>days</span>\\n                                                            <span class=pl-c1>/</span>\\n                                                            <span class=pl-c1>30</span>\\n                                                        </span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-row code-editor-line-suggested-mktg color-bg-accent\\\" data-type-row-delay=\\\"0\\\">\\n                                                            <span class=pl-k>const</span>\\n                                                            <span class=pl-s1>years</span>\\n                                                            <span class=pl-c1>=</span>\\n                                                            <span class=pl-s1>months</span>\\n                                                            <span class=pl-c1>/</span>\\n                                                            <span class=pl-c1>12</span>\\n                                                        </span>\\n                                                    </pre>\\n                                                    <div class=\\\"copilot-marker position-absolute color-fg-on-emphasis rounded color-bg-accent-emphasis text-bold d-flex flex-items-center js-type-row p-2 f5\\\" style=\\\"\\\">\\n                                                        <svg width=\\\"16\\\" height=\\\"15\\\" viewBox=\\\"0 0 16 15\\\" fill=\\\"currentColor\\\" aria-hidden=\\\"true\\\" class=\\\"mr-1\\\">\\n                                                            <path d=\\\"M5.5 8.75282C5.5 8.33863 5.83569 8.00282 6.25 8.00282C6.66415 8.00282 7 8.33861 7 8.75282V10.2489C7 10.6631 6.66431 10.9989 6.25 10.9989C5.83569 10.9989 5.5 10.6631 5.5 10.2489V8.75282Z\\\"></path>\\n                                                            <path d=\\\"M10.5 8.75282C10.5 8.33863 10.1643 8.00282 9.75 8.00282C9.33551 8.00282 9 8.33881 9 8.75282V10.2489C9 10.6631 9.33569 10.9989 9.75 10.9989C10.1643 10.9989 10.5 10.6631 10.5 10.2489V8.75282Z\\\"></path>\\n                                                            <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M5.04443 0.0297942C6.05371 -0.0606599 7.3667 0.00708908 8 0.919809C8.6333 0.00708908 9.94629 -0.0606599 10.9556 0.0297942C12.1118 0.145761 13.0854 0.543222 13.6328 1.12708C14.5825 2.1648 14.6267 4.34144 14.1685 5.5398C14.2146 5.74464 14.2585 5.95216 14.29 6.17176C15.1366 6.39482 16 7.59408 16 8.45167V10.0717C16 10.5215 15.79 10.9314 15.4199 11.2114C13.3044 12.7835 10.6672 14.0012 8 14.0012C5.33276 14.0012 2.69556 12.7835 0.580078 11.2114C0.209961 10.9314 0 10.5215 0 10.0717V8.45167C0 7.59408 0.863428 6.39482 1.70996 6.17176C1.7416 5.95216 1.7855 5.74461 1.83154 5.5398C1.37329 4.34144 1.41748 2.1648 2.36719 1.12708C2.91455 0.543222 3.88818 0.145761 5.04443 0.0297942ZM8 12.5014C9.93994 12.5014 11.8501 11.6426 13 11.0028V6.65907C11.1445 7.37782 9.00928 7.00721 8.00146 5.34229H7.99854C6.99072 7.00721 4.85547 7.37782 3 6.65907V11.0028C4.1499 11.6426 6.06006 12.5014 8 12.5014ZM5 5.49879C6.64062 5.49879 7 4.20582 7 3.01832C7 1.91517 6.8125 1.50392 5.53125 1.50392C3.31396 1.50392 3.04688 2.25282 3.04688 4.00282C3.04688 5.10597 3.35938 5.49879 5 5.49879ZM11 5.49879C9.35938 5.49879 9 4.20582 9 3.01832C9 1.91517 9.1875 1.50392 10.4688 1.50392C12.686 1.50392 12.9531 2.25282 12.9531 4.00282C12.9531 5.10597 12.6406 5.49879 11 5.49879Z\\\"></path>\\n                                                        </svg>\\n\\n        Copilot\\n                                                    </div>\\n                                                </div>\\n                                            </div>\\n                                            <div class=\\\"position-absolute width-full z-1 text-center bottom-0 left-0 mb-n6 f5-mktg js-type-row\\\">\\n                                                <button type=\\\"button\\\" data-view-component=\\\"true\\\" class=\\\"js-type-restart btn-link color-fg-default no-underline\\\">\\n                                                    <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-sync mr-2\\\">\\n                                                        <path d=\\\"M1.705 8.005a.75.75 0 0 1 .834.656 5.5 5.5 0 0 0 9.592 2.97l-1.204-1.204a.25.25 0 0 1 .177-.427h3.646a.25.25 0 0 1 .25.25v3.646a.25.25 0 0 1-.427.177l-1.38-1.38A7.002 7.002 0 0 1 1.05 8.84a.75.75 0 0 1 .656-.834ZM8 2.5a5.487 5.487 0 0 0-4.131 1.869l1.204 1.204A.25.25 0 0 1 4.896 6H1.25A.25.25 0 0 1 1 5.75V2.104a.25.25 0 0 1 .427-.177l1.38 1.38A7.002 7.002 0 0 1 14.95 7.16a.75.75 0 0 1-1.49.178A5.5 5.5 0 0 0 8 2.5Z\\\"></path>\\n                                                    </svg>Replay\\n                                                </button>\\n                                            </div>\\n                                        </div>\\n                                        <div role=\\\"tabpanel\\\" aria-labelledby=\\\"memoize-go\\\" hidden=\\\"hidden\\\" class=\\\"code-editor-component position-relative text-mono color-bg-default rounded-bottom-3 f4 p-3 js-type-in\\\">\\n                                            <div class=\\\"d-flex \\\">\\n                                                <div class=\\\"color-fg-subtle text-right user-select-none\\\" style=\\\"\\\">\\n                                                    <div class=\\\"pr-2\\\">1</div>\\n                                                    <div class=\\\"pr-2\\\">2</div>\\n                                                    <div class=\\\"pr-2\\\">3</div>\\n                                                    <div class=\\\"pr-2\\\">4</div>\\n                                                    <div class=\\\"pr-2\\\">5</div>\\n                                                    <div class=\\\"pr-2\\\">6</div>\\n                                                    <div class=\\\"pr-2\\\">7</div>\\n                                                    <div class=\\\"pr-2\\\">8</div>\\n                                                    <div class=\\\"pr-2\\\">9</div>\\n                                                    <div class=\\\"pr-2\\\">10</div>\\n                                                    <div class=\\\"pr-2\\\">11</div>\\n                                                </div>\\n                                                <div class=\\\"flex-1 overflow-x-auto\\\" tabindex=\\\"0\\\">\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block\\\">\\n                                                            <span class=pl-k>package</span> main\\n                                                        </span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-letters\\\">\\n                                                            <span class=pl-k>func</span>\\n                                                            <span class=pl-en>Memoize</span>(\\n                                                            <span class=pl-s1>fn</span>\\n                                                            <span class=pl-k>func</span>(\\n                                                            <span class=pl-smi>int</span>)\\n                                                            <span class=pl-smi>int</span>)\\n                                                            <span class=pl-k>func</span>(\\n                                                            <span class=pl-smi>int</span>)\\n                                                            <span class=pl-smi>int</span> {\\n                                                        </span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-row code-editor-line-suggested-mktg color-bg-accent\\\" data-type-row-delay=\\\"0\\\">\\n                                                            <span class=pl-s1>cache</span>\\n                                                            <span class=pl-c1>:=</span>\\n                                                            <span class=pl-en>make</span>(\\n                                                            <span class=pl-k>map</span>[\\n                                                            <span class=pl-smi>int</span>]\\n                                                            <span class=pl-smi>int</span>)\\n                                                        </span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-row code-editor-line-suggested-mktg color-bg-accent\\\" data-type-row-delay=\\\"0\\\">\\n                                                            <span class=pl-k>return</span>\\n                                                            <span class=pl-k>func</span>(\\n                                                            <span class=pl-s1>n</span>\\n                                                            <span class=pl-smi>int</span>)\\n                                                            <span class=pl-smi>int</span> {\\n                                                        </span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-row code-editor-line-suggested-mktg color-bg-accent\\\" data-type-row-delay=\\\"0\\\">\\n                                                            <span class=pl-k>if</span>\\n                                                            <span class=pl-s1>v</span>,\\n                                                            <span class=pl-s1>ok</span>\\n                                                            <span class=pl-c1>:=</span>\\n                                                            <span class=pl-s1>cache</span>[\\n                                                            <span class=pl-s1>n</span>];\\n                                                            <span class=pl-s1>ok</span> {\\n                                                        </span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-row code-editor-line-suggested-mktg color-bg-accent\\\" data-type-row-delay=\\\"0\\\">\\n                                                            <span class=pl-k>return</span>\\n                                                            <span class=pl-s1>v</span>\\n                                                        </span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-row code-editor-line-suggested-mktg color-bg-accent\\\" data-type-row-delay=\\\"0\\\">          }</span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-row code-editor-line-suggested-mktg color-bg-accent\\\" data-type-row-delay=\\\"0\\\">\\n                                                            <span class=pl-s1>cache</span>[\\n                                                            <span class=pl-s1>n</span>]\\n                                                            <span class=pl-c1>=</span>\\n                                                            <span class=pl-en>fn</span>(\\n                                                            <span class=pl-s1>n</span>)\\n                                                        </span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-row code-editor-line-suggested-mktg color-bg-accent\\\" data-type-row-delay=\\\"0\\\">\\n                                                            <span class=pl-k>return</span>\\n                                                            <span class=pl-s1>cache</span>[\\n                                                            <span class=pl-s1>n</span>]\\n                                                        </span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-row code-editor-line-suggested-mktg color-bg-accent\\\" data-type-row-delay=\\\"0\\\">      }</span>\\n                                                    </pre>\\n                                                    <pre class=\\\"f4\\\">\\n                                                        <span class=\\\"code-editor-line-mktg d-inline-block js-type-row code-editor-line-suggested-mktg color-bg-accent\\\" data-type-row-delay=\\\"0\\\">  }</span>\\n                                                    </pre>\\n                                                    <div class=\\\"copilot-marker position-absolute color-fg-on-emphasis rounded color-bg-accent-emphasis text-bold d-flex flex-items-center js-type-row p-2 f5\\\" style=\\\"\\\">\\n                                                        <svg width=\\\"16\\\" height=\\\"15\\\" viewBox=\\\"0 0 16 15\\\" fill=\\\"currentColor\\\" aria-hidden=\\\"true\\\" class=\\\"mr-1\\\">\\n                                                            <path d=\\\"M5.5 8.75282C5.5 8.33863 5.83569 8.00282 6.25 8.00282C6.66415 8.00282 7 8.33861 7 8.75282V10.2489C7 10.6631 6.66431 10.9989 6.25 10.9989C5.83569 10.9989 5.5 10.6631 5.5 10.2489V8.75282Z\\\"></path>\\n                                                            <path d=\\\"M10.5 8.75282C10.5 8.33863 10.1643 8.00282 9.75 8.00282C9.33551 8.00282 9 8.33881 9 8.75282V10.2489C9 10.6631 9.33569 10.9989 9.75 10.9989C10.1643 10.9989 10.5 10.6631 10.5 10.2489V8.75282Z\\\"></path>\\n                                                            <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M5.04443 0.0297942C6.05371 -0.0606599 7.3667 0.00708908 8 0.919809C8.6333 0.00708908 9.94629 -0.0606599 10.9556 0.0297942C12.1118 0.145761 13.0854 0.543222 13.6328 1.12708C14.5825 2.1648 14.6267 4.34144 14.1685 5.5398C14.2146 5.74464 14.2585 5.95216 14.29 6.17176C15.1366 6.39482 16 7.59408 16 8.45167V10.0717C16 10.5215 15.79 10.9314 15.4199 11.2114C13.3044 12.7835 10.6672 14.0012 8 14.0012C5.33276 14.0012 2.69556 12.7835 0.580078 11.2114C0.209961 10.9314 0 10.5215 0 10.0717V8.45167C0 7.59408 0.863428 6.39482 1.70996 6.17176C1.7416 5.95216 1.7855 5.74461 1.83154 5.5398C1.37329 4.34144 1.41748 2.1648 2.36719 1.12708C2.91455 0.543222 3.88818 0.145761 5.04443 0.0297942ZM8 12.5014C9.93994 12.5014 11.8501 11.6426 13 11.0028V6.65907C11.1445 7.37782 9.00928 7.00721 8.00146 5.34229H7.99854C6.99072 7.00721 4.85547 7.37782 3 6.65907V11.0028C4.1499 11.6426 6.06006 12.5014 8 12.5014ZM5 5.49879C6.64062 5.49879 7 4.20582 7 3.01832C7 1.91517 6.8125 1.50392 5.53125 1.50392C3.31396 1.50392 3.04688 2.25282 3.04688 4.00282C3.04688 5.10597 3.35938 5.49879 5 5.49879ZM11 5.49879C9.35938 5.49879 9 4.20582 9 3.01832C9 1.91517 9.1875 1.50392 10.4688 1.50392C12.686 1.50392 12.9531 2.25282 12.9531 4.00282C12.9531 5.10597 12.6406 5.49879 11 5.49879Z\\\"></path>\\n                                                        </svg>\\n\\n        Copilot\\n                                                    </div>\\n                                                </div>\\n                                            </div>\\n                                            <div class=\\\"position-absolute width-full z-1 text-center bottom-0 left-0 mb-n6 f5-mktg js-type-row\\\">\\n                                                <button type=\\\"button\\\" data-view-component=\\\"true\\\" class=\\\"js-type-restart btn-link color-fg-default no-underline\\\">\\n                                                    <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-sync mr-2\\\">\\n                                                        <path d=\\\"M1.705 8.005a.75.75 0 0 1 .834.656 5.5 5.5 0 0 0 9.592 2.97l-1.204-1.204a.25.25 0 0 1 .177-.427h3.646a.25.25 0 0 1 .25.25v3.646a.25.25 0 0 1-.427.177l-1.38-1.38A7.002 7.002 0 0 1 1.05 8.84a.75.75 0 0 1 .656-.834ZM8 2.5a5.487 5.487 0 0 0-4.131 1.869l1.204 1.204A.25.25 0 0 1 4.896 6H1.25A.25.25 0 0 1 1 5.75V2.104a.25.25 0 0 1 .427-.177l1.38 1.38A7.002 7.002 0 0 1 14.95 7.16a.75.75 0 0 1-1.49.178A5.5 5.5 0 0 0 8 2.5Z\\\"></path>\\n                                                    </svg>Replay\\n                                                </button>\\n                                            </div>\\n                                        </div>\\n                                    </tab-container>\\n                                </div>\\n                            </div>\\n                            <div data-target=\\\"card-skew.shine\\\" class=\\\"position-absolute bottom-0 right-0 events-none z-n1\\\"></div>\\n                        </div>\\n                    </card-skew>\\n                </div>\\n                <div class=\\\"d-flex flex-column flex-md-row gutter js-build-in-trigger \\\" >\\n                    <div class=\\\"col-md-6 d-flex\\\">\\n                        <card-skew class=\\\"overflow-hidden rounded-3 mb-3 mb-md-5\\\">\\n                            <div class=\\\"feature-card-mktg d-md-flex rounded-3 color-bg-subtle border position-relative flex-justify-between z-1 height-full flex-column\\\" data-target=\\\"card-skew.bounding\\\">\\n                                <div class=\\\"d-md-flex flex-column flex-1 p-5 p-sm-6 py-lg-8 pl-lg-8 pr-lg-12 flex-justify-start\\\">\\n                                    <p class=\\\"f2-mktg text-medium color-fg-muted mb-4\\\">\\n                                        <em>GitHub Actions</em> automates your build, test, and deployment workflow with simple and secure CI/CD.\\n                                    </p>\\n                                    <div>\\n                                        <a class=\\\"link-mktg text-semibold color-fg-default py-1 f3-mktg\\\" href=\\\"/features/actions\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Discover GitHub Actions&quot;,&quot;action&quot;:&quot;click to Discover GitHub Actions&quot;,&quot;label&quot;:&quot;ref_cta:Discover GitHub Actions;&quot;}\\\">\\n    Discover GitHub Actions \\n                                            <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"octicon arrow-symbol-mktg\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\">\\n                                                <path fill=\\\"currentColor\\\" d=\\\"M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z\\\"></path>\\n                                                <path class=\\\"octicon-chevrow-stem\\\" stroke=\\\"currentColor\\\" d=\\\"M1.75 8H11\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"></path>\\n                                            </svg>\\n                                        </a>\\n                                    </div>\\n                                </div>\\n                                <div class=\\\"overflow-hidden rounded-bottom-3\\\">\\n                                    <picture>\\n                                        <source srcset=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-actions.png?width=1209&amp;format=webpll 1209w,https://github.githubassets.com/images/modules/site/home-campaign/illu-actions.png?width=967&amp;format=webpll 967w,https://github.githubassets.com/images/modules/site/home-campaign/illu-actions.png?width=725&amp;format=webpll 725w,https://github.githubassets.com/images/modules/site/home-campaign/illu-actions.png?width=604&amp;format=webpll 604w,https://github.githubassets.com/images/modules/site/home-campaign/illu-actions.png?width=483&amp;format=webpll 483w,https://github.githubassets.com/images/modules/site/home-campaign/illu-actions.png?width=241&amp;format=webpll 241w\\\" sizes=\\\"(max-width: 768px) 90vw, (max-width: 1280px) 50vw, 604px\\\" type=\\\"image/webp\\\"></source>\\n                                        <source srcset=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-actions.png 1209w,https://github.githubassets.com/images/modules/site/home-campaign/illu-actions.png?width=604 604w,https://github.githubassets.com/images/modules/site/home-campaign/illu-actions.png?width=483 483w,https://github.githubassets.com/images/modules/site/home-campaign/illu-actions.png?width=302 302w\\\" sizes=\\\"(max-width: 768px) 90vw, (max-width: 1280px) 50vw, 604px\\\" type=\\\"image/png\\\"></source>\\n                                        <img class=\\\"width-full d-block height-auto js-build-in-item build-in-scale-fade\\\" width=\\\"1209\\\" height=\\\"890\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" alt=\\\"\\\" aria-hidden=\\\"true\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-actions.png\\\" />\\n                                    </picture>\\n                                </div>\\n                                <div data-target=\\\"card-skew.shine\\\" class=\\\"position-absolute bottom-0 right-0 events-none z-n1\\\"></div>\\n                            </div>\\n                        </card-skew>\\n                    </div>\\n                    <div class=\\\"col-md-6 d-flex\\\">\\n                        <card-skew class=\\\"overflow-hidden rounded-3 mb-3 mb-md-5\\\">\\n                            <div class=\\\"feature-card-mktg d-md-flex rounded-3 color-bg-subtle border position-relative flex-justify-between z-1 height-full flex-column\\\" data-target=\\\"card-skew.bounding\\\">\\n                                <div class=\\\"d-md-flex flex-column flex-1 p-5 p-sm-6 py-lg-8 pl-lg-8 pr-lg-12 flex-justify-start\\\">\\n                                    <p class=\\\"f2-mktg text-medium color-fg-muted mb-4\\\">\\n                                        <em>GitHub Mobile</em> fits your projects in your pocket, so you never miss a beat while on the go.\\n                                    </p>\\n                                    <div>\\n                                        <a class=\\\"link-mktg text-semibold color-fg-default py-1 f3-mktg\\\" href=\\\"/mobile\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Get GitHub Mobile&quot;,&quot;action&quot;:&quot;click to Get GitHub Mobile&quot;,&quot;label&quot;:&quot;ref_cta:Get GitHub Mobile;&quot;}\\\">\\n    Get GitHub Mobile \\n                                            <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"octicon arrow-symbol-mktg\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\">\\n                                                <path fill=\\\"currentColor\\\" d=\\\"M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z\\\"></path>\\n                                                <path class=\\\"octicon-chevrow-stem\\\" stroke=\\\"currentColor\\\" d=\\\"M1.75 8H11\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"></path>\\n                                            </svg>\\n                                        </a>\\n                                    </div>\\n                                </div>\\n                                <div class=\\\"overflow-hidden rounded-bottom-3\\\">\\n                                    <picture>\\n                                        <source srcset=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-mobile.png?width=1208&amp;format=webpll 1208w,https://github.githubassets.com/images/modules/site/home-campaign/illu-mobile.png?width=966&amp;format=webpll 966w,https://github.githubassets.com/images/modules/site/home-campaign/illu-mobile.png?width=724&amp;format=webpll 724w,https://github.githubassets.com/images/modules/site/home-campaign/illu-mobile.png?width=604&amp;format=webpll 604w,https://github.githubassets.com/images/modules/site/home-campaign/illu-mobile.png?width=483&amp;format=webpll 483w,https://github.githubassets.com/images/modules/site/home-campaign/illu-mobile.png?width=241&amp;format=webpll 241w\\\" sizes=\\\"(max-width: 768px) 90vw, (max-width: 1280px) 50vw, 604px\\\" type=\\\"image/webp\\\"></source>\\n                                        <source srcset=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-mobile.png 1208w,https://github.githubassets.com/images/modules/site/home-campaign/illu-mobile.png?width=604 604w,https://github.githubassets.com/images/modules/site/home-campaign/illu-mobile.png?width=483 483w,https://github.githubassets.com/images/modules/site/home-campaign/illu-mobile.png?width=302 302w\\\" sizes=\\\"(max-width: 768px) 90vw, (max-width: 1280px) 50vw, 604px\\\" type=\\\"image/png\\\"></source>\\n                                        <img class=\\\"width-full d-block height-auto js-build-in-item build-in-scale-fade\\\" width=\\\"1208\\\" height=\\\"764\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" alt=\\\"\\\" aria-hidden=\\\"true\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-mobile.png\\\" />\\n                                    </picture>\\n                                </div>\\n                                <div data-target=\\\"card-skew.shine\\\" class=\\\"position-absolute bottom-0 right-0 events-none z-n1\\\"></div>\\n                            </div>\\n                        </card-skew>\\n                    </div>\\n                </div>\\n                <div class=\\\"col-1 d-flex flex-column flex-items-center js-build-in-trigger\\\">\\n                    <div class=\\\"home-campaign-git-line mt-n3 mt-md-n4 mb-n8 rounded js-build-in-item build-in-scale-top\\\" style=\\\"height: 160px; background: linear-gradient(var(--color-canvas-default), #ea6045, #ffa28b);\\\"></div>\\n                </div>\\n            </div>\\n        </div>\\n    </div>\\n    <div class=\\\"home-campaign-collaboration js-section overflow-hidden px-3 pb-8 pt-5\\\" data-color-mode=\\\"dark\\\" data-light-theme=\\\"light\\\" data-dark-theme=\\\"dark\\\" id=\\\"collaboration\\\">\\n        <div class=\\\"container-xl\\\">\\n            <div class=\\\"d-flex js-build-in-trigger\\\" data-build-in-stagger=\\\"100\\\">\\n                <div class=\\\"col-1 d-flex flex-column flex-items-center\\\">\\n                    <div class=\\\"mb-4 position-relative home-campaign-glowing-icon js-build-in-item build-in-scale-fade\\\">\\n                        <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-code-of-conduct\\\">\\n                            <path d=\\\"M2.828 4.328C5.26 1.896 9.5 1.881 11.935 4.317c.024.024.046.05.067.076 1.391-1.078 2.993-1.886 4.777-1.89a6.22 6.22 0 0 1 4.424 1.825c.559.56 1.023 1.165 1.34 1.922.318.756.47 1.617.468 2.663 0 2.972-2.047 5.808-4.269 8.074-2.098 2.14-4.507 3.924-5.974 5.009l-.311.23a.752.752 0 0 1-.897 0l-.312-.23c-1.466-1.085-3.875-2.869-5.973-5.009-2.22-2.263-4.264-5.095-4.27-8.063a6.216 6.216 0 0 1 1.823-4.596Zm8.033 1.042c-1.846-1.834-5.124-1.823-6.969.022a4.712 4.712 0 0 0-1.382 3.52c0 2.332 1.65 4.79 3.839 7.022 1.947 1.986 4.184 3.66 5.66 4.752a78.214 78.214 0 0 0 2.159-1.645l-2.14-1.974a.752.752 0 0 1 1.02-1.106l2.295 2.118c.616-.52 1.242-1.08 1.85-1.672l-2.16-1.992a.753.753 0 0 1 1.021-1.106l2.188 2.02a18.963 18.963 0 0 0 1.528-1.877l-.585-.586-1.651-1.652c-1.078-1.074-2.837-1.055-3.935.043-.379.38-.76.758-1.132 1.126-1.14 1.124-2.96 1.077-4.07-.043-.489-.495-.98-.988-1.475-1.482a.752.752 0 0 1-.04-1.019c.234-.276.483-.576.745-.893.928-1.12 2.023-2.442 3.234-3.576Zm9.725 6.77c.579-1.08.92-2.167.92-3.228.002-.899-.128-1.552-.35-2.08-.22-.526-.551-.974-1.017-1.44a4.71 4.71 0 0 0-3.356-1.384c-1.66.004-3.25.951-4.77 2.346-1.18 1.084-2.233 2.353-3.188 3.506l-.351.423c.331.332.663.664.993.998a1.375 1.375 0 0 0 1.943.03c.37-.365.748-.74 1.125-1.118 1.662-1.663 4.373-1.726 6.06-.045.56.558 1.12 1.12 1.658 1.658Z\\\"></path>\\n                        </svg>\\n                        <span class=\\\"position-absolute left-0 top-0 height-full width-full home-campaign-glowing-icon-glow z-n1\\\" style=\\\"background-color: var(--mktg-accent-primary); filter: blur(18px);\\\"></span>\\n                    </div>\\n                    <div class=\\\"home-campaign-git-line height-full rounded js-build-in-item build-in-scale-top\\\" style=\\\"background: linear-gradient(#ffd6cc, #ec6547, #ec6547, var(--color-canvas-default));\\\" data-build-delay=\\\"500\\\"></div>\\n                </div>\\n                <div class=\\\"col-11 col-lg-9 ml-2 ml-md-0 mb-6 mb-md-10\\\">\\n                    <h3 class=\\\"h5-mktg mb-4 text-medium js-build-in-item build-in-slideX-left\\\">Collaboration</h3>\\n                    <h2 class=\\\"h3-mktg mb-4 text-medium js-build-in-item build-in-slideX-left\\\">\\n                        <span class=\\\"text-accent-primary\\\">Supercharge collaboration.</span>\\n        We provide unlimited repositories, best-in-class version control, and the world’s most powerful open source community&mdash;so your team can work more efficiently together.\\n                    </h2>\\n                </div>\\n            </div>\\n            <picture>\\n                <source srcset=\\\"https://github.githubassets.com/images/modules/site/issues/illo/issues-plan.png?width=2500&amp;format=webpll 2500w,https://github.githubassets.com/images/modules/site/issues/illo/issues-plan.png?width=2000&amp;format=webpll 2000w,https://github.githubassets.com/images/modules/site/issues/illo/issues-plan.png?width=1500&amp;format=webpll 1500w,https://github.githubassets.com/images/modules/site/issues/illo/issues-plan.png?width=1250&amp;format=webpll 1250w,https://github.githubassets.com/images/modules/site/issues/illo/issues-plan.png?width=1000&amp;format=webpll 1000w,https://github.githubassets.com/images/modules/site/issues/illo/issues-plan.png?width=500&amp;format=webpll 500w\\\" sizes=\\\"(max-width: 1200px) 90vw, 1250px\\\" type=\\\"image/webp\\\"></source>\\n                <source srcset=\\\"https://github.githubassets.com/images/modules/site/issues/illo/issues-plan.png 2500w,https://github.githubassets.com/images/modules/site/issues/illo/issues-plan.png?width=1250 1250w,https://github.githubassets.com/images/modules/site/issues/illo/issues-plan.png?width=1000 1000w,https://github.githubassets.com/images/modules/site/issues/illo/issues-plan.png?width=625 625w\\\" sizes=\\\"(max-width: 1200px) 90vw, 1250px\\\" type=\\\"image/png\\\"></source>\\n                <img class=\\\"width-full height-auto d-block rounded-3 border box-shadow-card-dark-mktg\\\" width=\\\"2500\\\" height=\\\"1500\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" alt=\\\"Illustration of project table view with cards grouped by &#39;Feature planning&#39; phase.\\\" src=\\\"https://github.githubassets.com/images/modules/site/issues/illo/issues-plan.png\\\" />\\n            </picture>\\n            <div class=\\\"d-flex position-relative\\\">\\n                <img alt=\\\"\\\" aria-hidden=\\\"true\\\" width=\\\"2712\\\" height=\\\"2712\\\" style=\\\"transform: translateX(300px) rotateZ(180deg);\\\" class=\\\"position-absolute top-0 right-0 height-auto col-11 events-none\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/bg-stars-1.webp\\\" />\\n                <div class=\\\"col-1 d-flex flex-column flex-items-center position-relative js-build-in-trigger\\\">\\n                    <div class=\\\"home-campaign-git-line height-full position-relative z-1 js-build-in-item build-in-scale-top\\\" style=\\\"transition-duration: 1100ms; background: linear-gradient(var(--color-canvas-default), #ea6045, #ea6045, var(--color-canvas-default));\\\"></div>\\n                    <img alt=\\\"\\\" aria-hidden=\\\"true\\\" width=\\\"81\\\" height=\\\"612\\\" style=\\\"left: calc(50% - 2px); height: auto; max-width: 9vw;\\\" class=\\\"d-none d-md-block position-absolute bottom-4 js-build-in-item build-in-scale-fade\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/git-branch-collaboration.svg\\\" />\\n                </div>\\n                <div class=\\\"col-11 ml-2 ml-md-6\\\">\\n                    <div class=\\\"river-mktg js-build-in-trigger d-flex gutter gutter-spacious my-5 my-sm-7 my-md-8 position-relative flex-column-reverse flex-md-items-center flex-md-row flex-column pb-4 pb-md-7\\\" data-build-in-stagger=\\\"100\\\">\\n                        <div class=\\\"col-12 py-3 mb-2 js-build-in-item col-sm-10 col-md-6 text-left col-lg-6 build-in-slideX-right\\\">\\n                            <div class=\\\"pr-md-4\\\">\\n                                <h2 class=\\\"color-fg-default mb-3 f2-mktg color-fg-muted\\\">\\n                                    <em>GitHub Issues and GitHub Projects</em> supply flexible project management tools that adapt to your team alongside your code.\\n                                </h2>\\n                                <a class=\\\"link-mktg text-semibold color-fg-default py-1 f3-mktg\\\" href=\\\"/features/issues\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Explore GitHub Issues&quot;,&quot;action&quot;:&quot;click to Explore GitHub Issues&quot;,&quot;label&quot;:&quot;ref_cta:Explore GitHub Issues;&quot;}\\\">\\n    Explore GitHub Issues \\n                                    <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"octicon arrow-symbol-mktg\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\">\\n                                        <path fill=\\\"currentColor\\\" d=\\\"M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z\\\"></path>\\n                                        <path class=\\\"octicon-chevrow-stem\\\" stroke=\\\"currentColor\\\" d=\\\"M1.75 8H11\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"></path>\\n                                    </svg>\\n                                </a>\\n                            </div>\\n                        </div>\\n                        <div class=\\\"col-12 py-3 col-md-6 col-lg-6\\\">\\n                            <div class=\\\"position-relative\\\">\\n                                <div class=\\\"d-flex flex-column position-relative\\\">\\n                                    <div class=\\\"js-build-in-item build-in-slideY box-shadow-active-border-inverse-mktg overflow-hidden rounded-2 position-relative left-4 z-1\\\" style=\\\"max-width: 595px; margin-top: -30%;\\\">\\n                                        <img src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-projects.png\\\" alt=\\\"\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" width=\\\"1190\\\" height=\\\"1004\\\" class=\\\"width-full height-auto d-block\\\">\\n          \\n                                    </div>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </div>\\n                    <div class=\\\"mb-6 mb-md-12 pb-3 js-build-in-trigger\\\">\\n                        <div class=\\\"py-3 js-build-in-item col-sm-10 col-md-6 text-left col-lg-6 build-in-slideX-left\\\">\\n                            <div class=\\\"gradient-border-mktg d-inline-block z-1 position-relative px-2 lh-condensed f6-mktg\\\" style=\\\"top: -1px\\\">\\n                                <span class=\\\"text-gradient-mktg text-semibold\\\">Did you know?</span>\\n                            </div>\\n                            <h3 class=\\\"text-accent-primary mb-2 mt-3 h2-mktg text-medium\\\">80% reduction</h3>\\n                            <p class=\\\"mb-3 f3-mktg text-medium col-6-max\\\">in onboarding time with GitHub\\n                                <sup>1</sup>\\n                            </p>\\n                        </div>\\n                    </div>\\n                </div>\\n            </div>\\n            <div class=\\\"d-flex flex-column flex-md-row gutter js-build-in-trigger \\\" >\\n                <div class=\\\"position-relative z-1 col-md-6 d-flex\\\">\\n                    <card-skew class=\\\"overflow-hidden rounded-3 mb-3 mb-md-5\\\">\\n                        <div class=\\\"feature-card-mktg d-md-flex rounded-3 color-bg-subtle border position-relative flex-justify-between z-1 height-full flex-column\\\" data-target=\\\"card-skew.bounding\\\">\\n                            <div class=\\\"d-md-flex flex-column flex-1 p-5 p-sm-6 py-lg-8 pl-lg-8 pr-lg-12 flex-justify-start\\\">\\n                                <p class=\\\"f2-mktg text-medium color-fg-muted mb-4\\\">\\n                                    <em>GitHub Discussions</em> create space to ask questions and have open-ended conversations.\\n                                </p>\\n                                <div>\\n                                    <a class=\\\"link-mktg text-semibold color-fg-default py-1 f3-mktg\\\" href=\\\"/features/discussions\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Enable GitHub Discussions&quot;,&quot;action&quot;:&quot;click to Enable GitHub Discussions&quot;,&quot;label&quot;:&quot;ref_cta:Enable GitHub Discussions;&quot;}\\\">\\n    Enable GitHub Discussions \\n                                        <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"octicon arrow-symbol-mktg\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\">\\n                                            <path fill=\\\"currentColor\\\" d=\\\"M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z\\\"></path>\\n                                            <path class=\\\"octicon-chevrow-stem\\\" stroke=\\\"currentColor\\\" d=\\\"M1.75 8H11\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"></path>\\n                                        </svg>\\n                                    </a>\\n                                </div>\\n                            </div>\\n                            <div class=\\\"overflow-hidden rounded-bottom-3\\\">\\n                                <picture>\\n                                    <source srcset=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-discussions.png?width=1208&amp;format=webpll 1208w,https://github.githubassets.com/images/modules/site/home-campaign/illu-discussions.png?width=966&amp;format=webpll 966w,https://github.githubassets.com/images/modules/site/home-campaign/illu-discussions.png?width=724&amp;format=webpll 724w,https://github.githubassets.com/images/modules/site/home-campaign/illu-discussions.png?width=604&amp;format=webpll 604w,https://github.githubassets.com/images/modules/site/home-campaign/illu-discussions.png?width=483&amp;format=webpll 483w,https://github.githubassets.com/images/modules/site/home-campaign/illu-discussions.png?width=241&amp;format=webpll 241w\\\" sizes=\\\"(max-width: 768px) 90vw, (max-width: 1280px) 50vw, 604px\\\" type=\\\"image/webp\\\"></source>\\n                                    <source srcset=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-discussions.png 1208w,https://github.githubassets.com/images/modules/site/home-campaign/illu-discussions.png?width=604 604w,https://github.githubassets.com/images/modules/site/home-campaign/illu-discussions.png?width=483 483w,https://github.githubassets.com/images/modules/site/home-campaign/illu-discussions.png?width=302 302w\\\" sizes=\\\"(max-width: 768px) 90vw, (max-width: 1280px) 50vw, 604px\\\" type=\\\"image/png\\\"></source>\\n                                    <img class=\\\"width-full d-block height-auto js-build-in-item build-in-scale-up\\\" width=\\\"1208\\\" height=\\\"764\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" alt=\\\"\\\" aria-hidden=\\\"true\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-discussions.png\\\" />\\n                                </picture>\\n                            </div>\\n                            <div data-target=\\\"card-skew.shine\\\" class=\\\"position-absolute bottom-0 right-0 events-none z-n1\\\"></div>\\n                        </div>\\n                    </card-skew>\\n                </div>\\n                <div class=\\\"col-md-6 d-flex\\\">\\n                    <card-skew class=\\\"overflow-hidden rounded-3 mb-3 mb-md-5\\\">\\n                        <div class=\\\"feature-card-mktg d-md-flex rounded-3 color-bg-subtle border position-relative flex-justify-between z-1 height-full flex-column\\\" data-target=\\\"card-skew.bounding\\\">\\n                            <div class=\\\"d-md-flex flex-column flex-1 p-5 p-sm-6 py-lg-8 pl-lg-8 pr-lg-12 flex-justify-start\\\">\\n                                <p class=\\\"f2-mktg text-medium color-fg-muted mb-4\\\">\\n                                    <em>Pull requests</em> allow real-time communication and collaboration about code changes.\\n                                </p>\\n                                <div>\\n                                    <a class=\\\"link-mktg text-semibold color-fg-default py-1 f3-mktg\\\" href=\\\"/features/code-review\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Check out pull requests&quot;,&quot;action&quot;:&quot;click to Check out pull requests&quot;,&quot;label&quot;:&quot;ref_cta:Check out pull requests;&quot;}\\\">\\n    Check out pull requests \\n                                        <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"octicon arrow-symbol-mktg\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\">\\n                                            <path fill=\\\"currentColor\\\" d=\\\"M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z\\\"></path>\\n                                            <path class=\\\"octicon-chevrow-stem\\\" stroke=\\\"currentColor\\\" d=\\\"M1.75 8H11\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"></path>\\n                                        </svg>\\n                                    </a>\\n                                </div>\\n                            </div>\\n                            <div class=\\\"overflow-hidden rounded-bottom-3\\\">\\n                                <picture>\\n                                    <source srcset=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-pull-requests.png?width=1208&amp;format=webpll 1208w,https://github.githubassets.com/images/modules/site/home-campaign/illu-pull-requests.png?width=966&amp;format=webpll 966w,https://github.githubassets.com/images/modules/site/home-campaign/illu-pull-requests.png?width=724&amp;format=webpll 724w,https://github.githubassets.com/images/modules/site/home-campaign/illu-pull-requests.png?width=604&amp;format=webpll 604w,https://github.githubassets.com/images/modules/site/home-campaign/illu-pull-requests.png?width=483&amp;format=webpll 483w,https://github.githubassets.com/images/modules/site/home-campaign/illu-pull-requests.png?width=241&amp;format=webpll 241w\\\" sizes=\\\"(max-width: 768px) 90vw, (max-width: 1280px) 50vw, 604px\\\" type=\\\"image/webp\\\"></source>\\n                                    <source srcset=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-pull-requests.png 1208w,https://github.githubassets.com/images/modules/site/home-campaign/illu-pull-requests.png?width=604 604w,https://github.githubassets.com/images/modules/site/home-campaign/illu-pull-requests.png?width=483 483w,https://github.githubassets.com/images/modules/site/home-campaign/illu-pull-requests.png?width=302 302w\\\" sizes=\\\"(max-width: 768px) 90vw, (max-width: 1280px) 50vw, 604px\\\" type=\\\"image/png\\\"></source>\\n                                    <img class=\\\"width-full d-block height-auto js-build-in-item build-in-scale-up\\\" width=\\\"1208\\\" height=\\\"764\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" alt=\\\"\\\" aria-hidden=\\\"true\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-pull-requests.png\\\" />\\n                                </picture>\\n                            </div>\\n                            <div data-target=\\\"card-skew.shine\\\" class=\\\"position-absolute bottom-0 right-0 events-none z-n1\\\"></div>\\n                        </div>\\n                    </card-skew>\\n                </div>\\n            </div>\\n            <card-skew class=\\\"overflow-hidden rounded-3 mb-3 mb-md-5\\\">\\n                <div class=\\\"feature-card-mktg d-md-flex rounded-3 color-bg-subtle border position-relative flex-justify-between z-1 height-full flex-row\\\" data-target=\\\"card-skew.bounding\\\">\\n                    <div class=\\\"d-md-flex flex-column flex-1 p-5 p-sm-6 py-lg-8 pl-lg-8 pr-lg-12 col-md-6 flex-justify-between\\\">\\n                        <p class=\\\"f2-mktg text-medium color-fg-muted mb-4\\\">\\n                            <em>GitHub Sponsors</em> lets you support your favorite open source maintainers and projects.\\n                        </p>\\n                        <div>\\n                            <a class=\\\"link-mktg text-semibold color-fg-default py-1 f3-mktg\\\" href=\\\"/sponsors\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Invest with GitHub Sponsors&quot;,&quot;action&quot;:&quot;click to Invest with GitHub Sponsors&quot;,&quot;label&quot;:&quot;ref_cta:Invest with GitHub Sponsors;&quot;}\\\">\\n    Invest with GitHub Sponsors \\n                                <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"octicon arrow-symbol-mktg\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\">\\n                                    <path fill=\\\"currentColor\\\" d=\\\"M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z\\\"></path>\\n                                    <path class=\\\"octicon-chevrow-stem\\\" stroke=\\\"currentColor\\\" d=\\\"M1.75 8H11\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"></path>\\n                                </svg>\\n                            </a>\\n                        </div>\\n                    </div>\\n                    <div class=\\\"overflow-hidden col-md-6 rounded-right-3\\\">\\n                        <div class=\\\"d-flex flex-wrap position-relative top-n12 mt-n4 right-n4 p-4 js-build-in-trigger\\\" style=\\\"transform: rotate(-15deg) translateZ(10px); max-height: 480px;\\\" data-build-in-stagger=\\\"75\\\">\\n                            <div class=\\\"col-4\\\">\\n                                <a target=\\\"_blank\\\" class=\\\"rounded p-4 border color-bg-subtle no-underline d-flex flex-column flex-items-center m-2 box-shadow-default-mktg js-build-in-item build-in-scale-up\\\" tabindex=\\\"-1\\\" href=\\\"/kazupon\\\">\\n                                    <img alt=\\\"kazuya kawaguchi avatar\\\" width=\\\"96\\\" height=\\\"96\\\" class=\\\"d-block circle\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/sponsors/kazupon.jpeg\\\" />\\n                                    <div class=\\\"color-fg-muted text-truncate my-2\\\">kazuya kawaguchi</div>\\n                                    <button tabindex=\\\"-1\\\" type=\\\"button\\\" data-view-component=\\\"true\\\" class=\\\"Button--secondary Button--medium Button\\\">\\n                                        <span class=\\\"Button-content\\\">\\n                                            <span class=\\\"Button-visual Button-leadingVisual\\\">\\n                                                <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-heart\\\">\\n                                                    <path d=\\\"m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z\\\"></path>\\n                                                </svg>\\n                                            </span>\\n                                            <span class=\\\"Button-label\\\">Sponsor</span>\\n                                        </span>\\n                                    </button>\\n                                </a>\\n                            </div>\\n                            <div class=\\\"col-4\\\">\\n                                <a target=\\\"_blank\\\" class=\\\"rounded p-4 border color-bg-subtle no-underline d-flex flex-column flex-items-center m-2 box-shadow-default-mktg js-build-in-item build-in-scale-up\\\" tabindex=\\\"-1\\\" href=\\\"/imolorhe\\\">\\n                                    <img alt=\\\"Samuel avatar\\\" width=\\\"96\\\" height=\\\"96\\\" class=\\\"d-block circle\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/sponsors/imolorhe.jpeg\\\" />\\n                                    <div class=\\\"color-fg-muted text-truncate my-2\\\">Samuel</div>\\n                                    <button tabindex=\\\"-1\\\" type=\\\"button\\\" data-view-component=\\\"true\\\" class=\\\"Button--secondary Button--medium Button\\\">\\n                                        <span class=\\\"Button-content\\\">\\n                                            <span class=\\\"Button-visual Button-leadingVisual\\\">\\n                                                <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-heart\\\">\\n                                                    <path d=\\\"m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z\\\"></path>\\n                                                </svg>\\n                                            </span>\\n                                            <span class=\\\"Button-label\\\">Sponsor</span>\\n                                        </span>\\n                                    </button>\\n                                </a>\\n                            </div>\\n                            <div class=\\\"col-4\\\">\\n                                <a target=\\\"_blank\\\" class=\\\"rounded p-4 border color-bg-subtle no-underline d-flex flex-column flex-items-center m-2 box-shadow-default-mktg js-build-in-item build-in-scale-up\\\" tabindex=\\\"-1\\\" href=\\\"/dayhaysoos\\\">\\n                                    <img alt=\\\"Nick DeJesus avatar\\\" width=\\\"96\\\" height=\\\"96\\\" class=\\\"d-block circle\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/sponsors/dayhaysoos.jpeg\\\" />\\n                                    <div class=\\\"color-fg-muted text-truncate my-2\\\">Nick DeJesus</div>\\n                                    <button tabindex=\\\"-1\\\" type=\\\"button\\\" data-view-component=\\\"true\\\" class=\\\"Button--secondary Button--medium Button\\\">\\n                                        <span class=\\\"Button-content\\\">\\n                                            <span class=\\\"Button-visual Button-leadingVisual\\\">\\n                                                <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-heart\\\">\\n                                                    <path d=\\\"m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z\\\"></path>\\n                                                </svg>\\n                                            </span>\\n                                            <span class=\\\"Button-label\\\">Sponsor</span>\\n                                        </span>\\n                                    </button>\\n                                </a>\\n                            </div>\\n                            <div class=\\\"col-4\\\">\\n                                <a target=\\\"_blank\\\" class=\\\"rounded p-4 border color-bg-subtle no-underline d-flex flex-column flex-items-center m-2 box-shadow-default-mktg js-build-in-item build-in-scale-up\\\" tabindex=\\\"-1\\\" href=\\\"/eslint\\\">\\n                                    <img alt=\\\"ESLint avatar\\\" width=\\\"96\\\" height=\\\"96\\\" class=\\\"d-block rounded\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/sponsors/eslint.png\\\" />\\n                                    <div class=\\\"color-fg-muted text-truncate my-2\\\">ESLint</div>\\n                                    <button tabindex=\\\"-1\\\" type=\\\"button\\\" data-view-component=\\\"true\\\" class=\\\"Button--secondary Button--medium Button\\\">\\n                                        <span class=\\\"Button-content\\\">\\n                                            <span class=\\\"Button-visual Button-leadingVisual\\\">\\n                                                <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-heart\\\">\\n                                                    <path d=\\\"m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z\\\"></path>\\n                                                </svg>\\n                                            </span>\\n                                            <span class=\\\"Button-label\\\">Sponsor</span>\\n                                        </span>\\n                                    </button>\\n                                </a>\\n                            </div>\\n                            <div class=\\\"col-4\\\">\\n                                <a target=\\\"_blank\\\" class=\\\"rounded p-4 border color-bg-subtle no-underline d-flex flex-column flex-items-center m-2 box-shadow-default-mktg js-build-in-item build-in-scale-up\\\" tabindex=\\\"-1\\\" href=\\\"/homebrew\\\">\\n                                    <img alt=\\\"Homebrew avatar\\\" width=\\\"96\\\" height=\\\"96\\\" class=\\\"d-block rounded\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/sponsors/homebrew.png\\\" />\\n                                    <div class=\\\"color-fg-muted text-truncate my-2\\\">Homebrew</div>\\n                                    <button tabindex=\\\"-1\\\" type=\\\"button\\\" data-view-component=\\\"true\\\" class=\\\"Button--secondary Button--medium Button\\\">\\n                                        <span class=\\\"Button-content\\\">\\n                                            <span class=\\\"Button-visual Button-leadingVisual\\\">\\n                                                <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-heart\\\">\\n                                                    <path d=\\\"m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z\\\"></path>\\n                                                </svg>\\n                                            </span>\\n                                            <span class=\\\"Button-label\\\">Sponsor</span>\\n                                        </span>\\n                                    </button>\\n                                </a>\\n                            </div>\\n                            <div class=\\\"col-4\\\">\\n                                <a target=\\\"_blank\\\" class=\\\"rounded p-4 border color-bg-subtle no-underline d-flex flex-column flex-items-center m-2 box-shadow-default-mktg js-build-in-item build-in-scale-up\\\" tabindex=\\\"-1\\\" href=\\\"/prophen\\\">\\n                                    <img alt=\\\"Nikema avatar\\\" width=\\\"96\\\" height=\\\"96\\\" class=\\\"d-block circle\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/sponsors/prophen.jpeg\\\" />\\n                                    <div class=\\\"color-fg-muted text-truncate my-2\\\">Nikema</div>\\n                                    <button tabindex=\\\"-1\\\" type=\\\"button\\\" data-view-component=\\\"true\\\" class=\\\"Button--secondary Button--medium Button\\\">\\n                                        <span class=\\\"Button-content\\\">\\n                                            <span class=\\\"Button-visual Button-leadingVisual\\\">\\n                                                <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-heart\\\">\\n                                                    <path d=\\\"m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z\\\"></path>\\n                                                </svg>\\n                                            </span>\\n                                            <span class=\\\"Button-label\\\">Sponsor</span>\\n                                        </span>\\n                                    </button>\\n                                </a>\\n                            </div>\\n                            <div class=\\\"col-4\\\">\\n                                <a target=\\\"_blank\\\" class=\\\"rounded p-4 border color-bg-subtle no-underline d-flex flex-column flex-items-center m-2 box-shadow-default-mktg js-build-in-item build-in-scale-up\\\" tabindex=\\\"-1\\\" href=\\\"/curl\\\">\\n                                    <img alt=\\\"curl avatar\\\" width=\\\"96\\\" height=\\\"96\\\" class=\\\"d-block rounded\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/sponsors/curl.jpeg\\\" />\\n                                    <div class=\\\"color-fg-muted text-truncate my-2\\\">curl</div>\\n                                    <button tabindex=\\\"-1\\\" type=\\\"button\\\" data-view-component=\\\"true\\\" class=\\\"Button--secondary Button--medium Button\\\">\\n                                        <span class=\\\"Button-content\\\">\\n                                            <span class=\\\"Button-visual Button-leadingVisual\\\">\\n                                                <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-heart\\\">\\n                                                    <path d=\\\"m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z\\\"></path>\\n                                                </svg>\\n                                            </span>\\n                                            <span class=\\\"Button-label\\\">Sponsor</span>\\n                                        </span>\\n                                    </button>\\n                                </a>\\n                            </div>\\n                            <div class=\\\"col-4\\\">\\n                                <a target=\\\"_blank\\\" class=\\\"rounded p-4 border color-bg-subtle no-underline d-flex flex-column flex-items-center m-2 box-shadow-default-mktg js-build-in-item build-in-scale-up\\\" tabindex=\\\"-1\\\" href=\\\"/sindresorhus\\\">\\n                                    <img alt=\\\"sindresorhus avatar\\\" width=\\\"96\\\" height=\\\"96\\\" class=\\\"d-block circle\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/sponsors/sindresorhus.jpeg\\\" />\\n                                    <div class=\\\"color-fg-muted text-truncate my-2\\\">sindresorhus</div>\\n                                    <button tabindex=\\\"-1\\\" type=\\\"button\\\" data-view-component=\\\"true\\\" class=\\\"Button--secondary Button--medium Button\\\">\\n                                        <span class=\\\"Button-content\\\">\\n                                            <span class=\\\"Button-visual Button-leadingVisual\\\">\\n                                                <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-heart\\\">\\n                                                    <path d=\\\"m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z\\\"></path>\\n                                                </svg>\\n                                            </span>\\n                                            <span class=\\\"Button-label\\\">Sponsor</span>\\n                                        </span>\\n                                    </button>\\n                                </a>\\n                            </div>\\n                            <div class=\\\"col-4\\\">\\n                                <a target=\\\"_blank\\\" class=\\\"rounded p-4 border color-bg-subtle no-underline d-flex flex-column flex-items-center m-2 box-shadow-default-mktg js-build-in-item build-in-scale-up\\\" tabindex=\\\"-1\\\" href=\\\"/commandpost\\\">\\n                                    <img alt=\\\"CommandPost avatar\\\" width=\\\"96\\\" height=\\\"96\\\" class=\\\"d-block rounded\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/sponsors/commandpost.png\\\" />\\n                                    <div class=\\\"color-fg-muted text-truncate my-2\\\">CommandPost</div>\\n                                    <button tabindex=\\\"-1\\\" type=\\\"button\\\" data-view-component=\\\"true\\\" class=\\\"Button--secondary Button--medium Button\\\">\\n                                        <span class=\\\"Button-content\\\">\\n                                            <span class=\\\"Button-visual Button-leadingVisual\\\">\\n                                                <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-heart\\\">\\n                                                    <path d=\\\"m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z\\\"></path>\\n                                                </svg>\\n                                            </span>\\n                                            <span class=\\\"Button-label\\\">Sponsor</span>\\n                                        </span>\\n                                    </button>\\n                                </a>\\n                            </div>\\n                        </div>\\n                    </div>\\n                    <div data-target=\\\"card-skew.shine\\\" class=\\\"position-absolute bottom-0 right-0 events-none z-n1\\\"></div>\\n                </div>\\n            </card-skew>\\n            <div class=\\\"col-1 d-flex flex-column flex-items-center js-build-in-trigger\\\">\\n                <div class=\\\"home-campaign-git-line mt-n3 mt-md-n4 mb-n8 rounded js-build-in-item build-in-scale-top\\\" style=\\\"height: 160px; background: linear-gradient(var(--color-canvas-default), #797ef9, #abb4ff);\\\"></div>\\n            </div>\\n        </div>\\n    </div>\\n    <div class=\\\"home-campaign-security js-section overflow-hidden px-3 pb-8 pt-5\\\" data-color-mode=\\\"dark\\\" data-light-theme=\\\"light\\\" data-dark-theme=\\\"dark\\\" id=\\\"security\\\">\\n        <div class=\\\"container-xl\\\">\\n            <div class=\\\"d-flex js-build-in-trigger\\\" data-build-in-stagger=\\\"100\\\">\\n                <div class=\\\"col-1 d-flex flex-column flex-items-center\\\">\\n                    <div class=\\\"mb-4 position-relative home-campaign-glowing-icon js-build-in-item build-in-scale-fade\\\">\\n                        <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-lock\\\">\\n                            <path d=\\\"M6 9V7.25C6 3.845 8.503 1 12 1s6 2.845 6 6.25V9h.5a2.5 2.5 0 0 1 2.5 2.5v8a2.5 2.5 0 0 1-2.5 2.5h-13A2.5 2.5 0 0 1 3 19.5v-8A2.5 2.5 0 0 1 5.5 9Zm-1.5 2.5v8a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1h-13a1 1 0 0 0-1 1Zm3-4.25V9h9V7.25c0-2.67-1.922-4.75-4.5-4.75-2.578 0-4.5 2.08-4.5 4.75Z\\\"></path>\\n                        </svg>\\n                        <span class=\\\"position-absolute left-0 top-0 height-full width-full home-campaign-glowing-icon-glow z-n1\\\" style=\\\"background-color: var(--mktg-accent-primary); filter: blur(18px);\\\"></span>\\n                    </div>\\n                    <div class=\\\"home-campaign-git-line height-full rounded js-build-in-item build-in-scale-top\\\" style=\\\"background: linear-gradient(#abb4ff, #797ef9, var(--color-canvas-default));\\\" data-build-delay=\\\"500\\\"></div>\\n                </div>\\n                <div class=\\\"col-11 col-lg-9 ml-2 ml-md-0 mb-6 mb-md-10\\\">\\n                    <h3 class=\\\"h5-mktg mb-4 text-medium js-build-in-item build-in-slideX-left\\\">Security</h3>\\n                    <h2 class=\\\"h3-mktg mb-4 text-medium js-build-in-item build-in-slideX-left\\\">\\n                        <span class=\\\"text-accent-primary\\\">Embed security into the developer workflow.</span>\\n        With GitHub, developers can secure their code in minutes and organizations can automatically comply with regulations.\\n                    </h2>\\n                </div>\\n            </div>\\n            <card-skew class=\\\"overflow-hidden rounded-3 mb-3 mb-md-5 position-relative z-1\\\">\\n                <div class=\\\"color-bg-subtle border rounded-3 p-2 p-lg-6 js-build-in-trigger feature-card-mktg z-1 position-relative\\\" data-target=\\\"card-skew.bounding\\\" data-build-in-stagger=\\\"200\\\">\\n                    <div class=\\\"color-fg-subtle p-4\\\">\\n                        <div class=\\\"f5 text-medium\\\">cmake.yml</div>\\n                        <span class=\\\"f6\\\">on: push</span>\\n                    </div>\\n                    <div class=\\\"position-relative d-flex flex-column flex-md-row gutter-spacious col-lg-10 mx-auto my-lg-6\\\">\\n                        <div class=\\\"col-md-6 js-build-in-item build-in-scale-right\\\">\\n                            <div class=\\\"p-4 rounded mt-5 box-shadow-mktg-xl mb-6\\\" style=\\\"background: rgba(235, 245, 255, 0.2);\\\">\\n                                <ul class=\\\"list-style-none mb-n4\\\">\\n                                    <li class=\\\"mb-4 f4-mktg d-flex flex-items-center flex-justify-between js-build-in-item build-in-scale-fade\\\">\\n                                        <div class=\\\"d-flex flex-items-center\\\">\\n                                            <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-check-circle-fill color-fg-success mr-2\\\">\\n                                                <path d=\\\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm16.28-2.72a.751.751 0 0 0-.018-1.042.751.751 0 0 0-1.042-.018l-5.97 5.97-2.47-2.47a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042l3 3a.75.75 0 0 0 1.06 0Z\\\"></path>\\n                                            </svg>\\n                                            <span class=\\\"text-medium\\\">Build</span>\\n                                        </div>\\n                                        <span class=\\\"f5 color-fg-muted d-none d-sm-block\\\">1m 21s</span>\\n                                    </li>\\n                                </ul>\\n                            </div>\\n                        </div>\\n                        <div class=\\\"home-campaign-ghas-connect position-relative position-md-absolute z-1 d-flex flex-items-center js-build-in-item build-in-scale-fade\\\">\\n                            <div class=\\\"d-inline-block circle p-1 color-bg-emphasis\\\" style=\\\"box-shadow: 0 0 0 2px #444D56;\\\"></div>\\n                            <div style=\\\"width: 40px; height: 2px; background: #D1D5DA;\\\"></div>\\n                            <div class=\\\"d-inline-block circle p-1 color-bg-emphasis\\\" style=\\\"box-shadow: 0 0 0 2px #444D56;\\\"></div>\\n                        </div>\\n                        <div class=\\\"col-md-6 js-build-in-item build-in-scale-right\\\">\\n                            <div class=\\\"pt-2 pb-1 px-4 rounded-top-2 d-inline-block text-medium\\\" style=\\\"background: rgba(235, 245, 255, 0.2);\\\">\\n            Steps\\n          </div>\\n                            <div class=\\\"p-4 rounded-bottom-2 rounded-right-2 box-shadow-mktg-xl mb-6\\\" style=\\\"background: rgba(235, 245, 255, 0.2);\\\">\\n                                <ul class=\\\"list-style-none mb-n4\\\">\\n                                    <li class=\\\"mb-4 f4-mktg d-flex flex-items-center flex-justify-between js-build-in-item build-in-scale-fade\\\">\\n                                        <div class=\\\"d-flex flex-items-center\\\">\\n                                            <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-check-circle-fill color-fg-success mr-2\\\">\\n                                                <path d=\\\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm16.28-2.72a.751.751 0 0 0-.018-1.042.751.751 0 0 0-1.042-.018l-5.97 5.97-2.47-2.47a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042l3 3a.75.75 0 0 0 1.06 0Z\\\"></path>\\n                                            </svg>\\n                                            <span class=\\\"text-medium\\\">Initialize CodeQL</span>\\n                                        </div>\\n                                        <span class=\\\"f5 color-fg-muted d-none d-sm-block\\\">1m 42s</span>\\n                                    </li>\\n                                    <li class=\\\"mb-4 f4-mktg d-flex flex-items-center flex-justify-between js-build-in-item build-in-scale-fade\\\">\\n                                        <div class=\\\"d-flex flex-items-center\\\">\\n                                            <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-check-circle-fill color-fg-success mr-2\\\">\\n                                                <path d=\\\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm16.28-2.72a.751.751 0 0 0-.018-1.042.751.751 0 0 0-1.042-.018l-5.97 5.97-2.47-2.47a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042l3 3a.75.75 0 0 0 1.06 0Z\\\"></path>\\n                                            </svg>\\n                                            <span class=\\\"text-medium\\\">Autobuild</span>\\n                                        </div>\\n                                        <span class=\\\"f5 color-fg-muted d-none d-sm-block\\\">1m 24s</span>\\n                                    </li>\\n                                    <li class=\\\"mb-4 f4-mktg d-flex flex-items-center flex-justify-between js-build-in-item build-in-scale-fade\\\">\\n                                        <div class=\\\"d-flex flex-items-center\\\">\\n                                            <svg aria-hidden=\\\"true\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" version=\\\"1.1\\\" width=\\\"24\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-check-circle-fill color-fg-success mr-2\\\">\\n                                                <path d=\\\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm16.28-2.72a.751.751 0 0 0-.018-1.042.751.751 0 0 0-1.042-.018l-5.97 5.97-2.47-2.47a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042l3 3a.75.75 0 0 0 1.06 0Z\\\"></path>\\n                                            </svg>\\n                                            <span class=\\\"text-medium\\\">Perform CodeQL Analyses</span>\\n                                        </div>\\n                                        <span class=\\\"f5 color-fg-muted d-none d-sm-block\\\">1m 36s</span>\\n                                    </li>\\n                                </ul>\\n                            </div>\\n                        </div>\\n                    </div>\\n                    <div data-target=\\\"card-skew.shine\\\" class=\\\"position-absolute bottom-0 right-0 events-none z-n1\\\"></div>\\n                </div>\\n            </card-skew>\\n            <div class=\\\"d-flex js-build-in-trigger position-relative\\\" data-build-in-stagger=\\\"100\\\">\\n                <img alt=\\\"\\\" aria-hidden=\\\"true\\\" width=\\\"2712\\\" height=\\\"2712\\\" style=\\\"transform: translateX(300px) rotateZ(90deg);\\\" class=\\\"position-absolute top-0 right-0 height-auto col-11 events-none\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/bg-stars-1.webp\\\" />\\n                <div class=\\\"col-1 d-flex flex-column flex-items-center position-relative\\\">\\n                    <div class=\\\"home-campaign-git-line height-full position-relative z-1 js-build-in-item build-in-scale-top\\\" style=\\\"background: linear-gradient(var(--color-canvas-default), #797ef9, #797ef9, var(--color-canvas-default));\\\"></div>\\n                    <img alt=\\\"\\\" aria-hidden=\\\"true\\\" width=\\\"81\\\" height=\\\"612\\\" style=\\\"left: calc(50% - 2px); height: auto; max-width: 9vw;\\\" class=\\\"d-none d-md-block position-absolute bottom-4 js-build-in-item build-in-scale-fade\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/git-branch-security.svg\\\" />\\n                </div>\\n                <div class=\\\"col-11 ml-2 ml-md-6\\\">\\n                    <div class=\\\"river-mktg js-build-in-trigger d-flex gutter gutter-spacious my-5 my-sm-7 my-md-8 position-relative flex-column-reverse flex-md-items-center flex-md-row flex-column pb-4 pb-md-7\\\" data-build-in-stagger=\\\"100\\\">\\n                        <div class=\\\"col-12 py-3 mb-2 js-build-in-item col-sm-10 col-md-6 text-left col-lg-6 build-in-slideX-right\\\">\\n                            <div class=\\\"pr-md-4\\\">\\n                                <h2 class=\\\"color-fg-default mb-3 f2-mktg color-fg-muted\\\">\\n                                    <em>GitHub Advanced Security</em> lets you gain visibility into your security posture, respond to threats proactively, and ship secure applications quickly.\\n                                </h2>\\n                                <a class=\\\"link-mktg text-semibold color-fg-default py-1 f3-mktg\\\" href=\\\"/features/security\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Get GitHub Advanced Security&quot;,&quot;action&quot;:&quot;click to Get GitHub Advanced Security&quot;,&quot;label&quot;:&quot;ref_cta:Get GitHub Advanced Security;&quot;}\\\">\\n    Get GitHub Advanced Security \\n                                    <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"octicon arrow-symbol-mktg\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\">\\n                                        <path fill=\\\"currentColor\\\" d=\\\"M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z\\\"></path>\\n                                        <path class=\\\"octicon-chevrow-stem\\\" stroke=\\\"currentColor\\\" d=\\\"M1.75 8H11\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"></path>\\n                                    </svg>\\n                                </a>\\n                            </div>\\n                        </div>\\n                        <div class=\\\"col-12 py-3 col-md-6 col-lg-6\\\">\\n                            <div class=\\\"position-relative\\\">\\n                                <div class=\\\"d-flex flex-column position-relative\\\">\\n                                    <div class=\\\"js-build-in-item build-in-slideX-right box-shadow-card-dark-mktg overflow-hidden rounded-2 position-relative left-6 z-1\\\" style=\\\"max-width: 541px; margin-top: -30%\\\">\\n                                        <img src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-ghas-list.png\\\" alt=\\\"\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" width=\\\"1084\\\" height=\\\"600\\\" class=\\\"width-full height-auto d-block\\\">\\n          \\n                                    </div>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </div>\\n                    <div class=\\\"mb-6 mb-md-12 pb-3 js-build-in-trigger\\\">\\n                        <div class=\\\"py-3 js-build-in-item col-sm-10 col-md-6 text-left col-lg-7 build-in-slideX-left\\\">\\n                            <div class=\\\"gradient-border-mktg d-inline-block z-1 position-relative px-2 lh-condensed f6-mktg\\\" style=\\\"top: -1px\\\">\\n                                <span class=\\\"text-gradient-mktg text-semibold\\\">Did you know?</span>\\n                            </div>\\n                            <h3 class=\\\"text-accent-primary mb-2 mt-3 h2-mktg text-medium\\\">56 million projects</h3>\\n                            <p class=\\\"mb-3 f3-mktg text-medium col-6-max\\\">fixed vulnerabilities with GitHub\\n                                <sup>2</sup>\\n                            </p>\\n                        </div>\\n                    </div>\\n                </div>\\n            </div>\\n            <div class=\\\"position-relative z-1 js-build-in-trigger\\\">\\n                <card-skew class=\\\"overflow-hidden rounded-3 mb-3 mb-md-5\\\">\\n                    <div class=\\\"feature-card-mktg d-md-flex rounded-3 color-bg-subtle border position-relative flex-justify-between z-1 height-full flex-row\\\" data-target=\\\"card-skew.bounding\\\">\\n                        <div class=\\\"d-md-flex flex-column flex-1 p-5 p-sm-6 py-lg-8 pl-lg-8 pr-lg-12 col-md-6 flex-justify-between\\\">\\n                            <p class=\\\"f2-mktg text-medium color-fg-muted mb-4\\\">\\n                                <em>Secret scanning</em> automatically looks for partner patterns and prevents fraudulent use of accidentally committed secrets.\\n                            </p>\\n                            <div>\\n                                <a class=\\\"link-mktg text-semibold color-fg-default py-1 f3-mktg\\\" href=\\\"https://github.com/features/security/code\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Read about secret scanning&quot;,&quot;action&quot;:&quot;click to Read about secret scanning&quot;,&quot;label&quot;:&quot;ref_cta:Read about secret scanning;&quot;}\\\">\\n    Read about secret scanning \\n                                    <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"octicon arrow-symbol-mktg\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\">\\n                                        <path fill=\\\"currentColor\\\" d=\\\"M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z\\\"></path>\\n                                        <path class=\\\"octicon-chevrow-stem\\\" stroke=\\\"currentColor\\\" d=\\\"M1.75 8H11\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"></path>\\n                                    </svg>\\n                                </a>\\n                            </div>\\n                        </div>\\n                        <div class=\\\"overflow-hidden col-md-6 rounded-right-3\\\">\\n                            <picture>\\n                                <source srcset=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-secret-scanning.png?width=1288&amp;format=webpll 1288w,https://github.githubassets.com/images/modules/site/home-campaign/illu-secret-scanning.png?width=1030&amp;format=webpll 1030w,https://github.githubassets.com/images/modules/site/home-campaign/illu-secret-scanning.png?width=772&amp;format=webpll 772w,https://github.githubassets.com/images/modules/site/home-campaign/illu-secret-scanning.png?width=644&amp;format=webpll 644w,https://github.githubassets.com/images/modules/site/home-campaign/illu-secret-scanning.png?width=515&amp;format=webpll 515w,https://github.githubassets.com/images/modules/site/home-campaign/illu-secret-scanning.png?width=257&amp;format=webpll 257w\\\" sizes=\\\"(max-width: 768px) 90vw, (max-width: 1280px) 50vw, 644px\\\" type=\\\"image/webp\\\"></source>\\n                                <source srcset=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-secret-scanning.png 1288w,https://github.githubassets.com/images/modules/site/home-campaign/illu-secret-scanning.png?width=644 644w,https://github.githubassets.com/images/modules/site/home-campaign/illu-secret-scanning.png?width=515 515w,https://github.githubassets.com/images/modules/site/home-campaign/illu-secret-scanning.png?width=322 322w\\\" sizes=\\\"(max-width: 768px) 90vw, (max-width: 1280px) 50vw, 644px\\\" type=\\\"image/png\\\"></source>\\n                                <img class=\\\"width-full d-block height-auto js-build-in-item build-in-scale-fade\\\" width=\\\"1288\\\" height=\\\"992\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" alt=\\\"\\\" aria-hidden=\\\"true\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-secret-scanning.png\\\" />\\n                            </picture>\\n                        </div>\\n                        <div data-target=\\\"card-skew.shine\\\" class=\\\"position-absolute bottom-0 right-0 events-none z-n1\\\"></div>\\n                    </div>\\n                </card-skew>\\n            </div>\\n            <div class=\\\"d-flex flex-column flex-md-row gutter js-build-in-trigger \\\" >\\n                <div class=\\\"col-md-6 d-flex\\\">\\n                    <card-skew class=\\\"overflow-hidden rounded-3 mb-3 mb-md-5\\\">\\n                        <div class=\\\"feature-card-mktg d-md-flex rounded-3 color-bg-subtle border position-relative flex-justify-between z-1 height-full flex-column\\\" data-target=\\\"card-skew.bounding\\\">\\n                            <div class=\\\"d-md-flex flex-column flex-1 p-5 p-sm-6 py-lg-8 pl-lg-8 pr-lg-12 flex-justify-start\\\">\\n                                <p class=\\\"f2-mktg text-medium color-fg-muted mb-4\\\">\\n                                    <em>Dependabot</em> makes it easy to find and fix vulnerable dependencies in your supply chain.\\n                                </p>\\n                                <div>\\n                                    <a class=\\\"link-mktg text-semibold color-fg-default py-1 f3-mktg\\\" href=\\\"/features/security/software-supply-chain\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Explore Dependabot&quot;,&quot;action&quot;:&quot;click to Explore Dependabot&quot;,&quot;label&quot;:&quot;ref_cta:Explore Dependabot;&quot;}\\\">\\n    Explore Dependabot \\n                                        <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"octicon arrow-symbol-mktg\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\">\\n                                            <path fill=\\\"currentColor\\\" d=\\\"M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z\\\"></path>\\n                                            <path class=\\\"octicon-chevrow-stem\\\" stroke=\\\"currentColor\\\" d=\\\"M1.75 8H11\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"></path>\\n                                        </svg>\\n                                    </a>\\n                                </div>\\n                            </div>\\n                            <div class=\\\"overflow-hidden rounded-bottom-3\\\">\\n                                <picture>\\n                                    <source srcset=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-dependabot.png?width=1208&amp;format=webpll 1208w,https://github.githubassets.com/images/modules/site/home-campaign/illu-dependabot.png?width=966&amp;format=webpll 966w,https://github.githubassets.com/images/modules/site/home-campaign/illu-dependabot.png?width=724&amp;format=webpll 724w,https://github.githubassets.com/images/modules/site/home-campaign/illu-dependabot.png?width=604&amp;format=webpll 604w,https://github.githubassets.com/images/modules/site/home-campaign/illu-dependabot.png?width=483&amp;format=webpll 483w,https://github.githubassets.com/images/modules/site/home-campaign/illu-dependabot.png?width=241&amp;format=webpll 241w\\\" sizes=\\\"(max-width: 768px) 90vw, (max-width: 1280px) 50vw, 604px\\\" type=\\\"image/webp\\\"></source>\\n                                    <source srcset=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-dependabot.png 1208w,https://github.githubassets.com/images/modules/site/home-campaign/illu-dependabot.png?width=604 604w,https://github.githubassets.com/images/modules/site/home-campaign/illu-dependabot.png?width=483 483w,https://github.githubassets.com/images/modules/site/home-campaign/illu-dependabot.png?width=302 302w\\\" sizes=\\\"(max-width: 768px) 90vw, (max-width: 1280px) 50vw, 604px\\\" type=\\\"image/png\\\"></source>\\n                                    <img class=\\\"width-full d-block height-auto js-build-in-item build-in-scale-fade\\\" width=\\\"1208\\\" height=\\\"764\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" alt=\\\"\\\" aria-hidden=\\\"true\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-dependabot.png\\\" />\\n                                </picture>\\n                            </div>\\n                            <div data-target=\\\"card-skew.shine\\\" class=\\\"position-absolute bottom-0 right-0 events-none z-n1\\\"></div>\\n                        </div>\\n                    </card-skew>\\n                </div>\\n                <div class=\\\"col-md-6 d-flex\\\">\\n                    <card-skew class=\\\"overflow-hidden rounded-3 mb-3 mb-md-5\\\">\\n                        <div class=\\\"feature-card-mktg d-md-flex rounded-3 color-bg-subtle border position-relative flex-justify-between z-1 height-full flex-column\\\" data-target=\\\"card-skew.bounding\\\">\\n                            <div class=\\\"d-md-flex flex-column flex-1 p-5 p-sm-6 py-lg-8 pl-lg-8 pr-lg-12 flex-justify-start\\\">\\n                                <p class=\\\"f2-mktg text-medium color-fg-muted mb-4\\\">\\n                                    <em>Code scanning</em> is GitHub’s static code analysis tool that helps you remediate issues in your code.\\n                                </p>\\n                                <div>\\n                                    <a class=\\\"link-mktg text-semibold color-fg-default py-1 f3-mktg\\\" href=\\\"https://resources.github.com/security/sast/\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Download the latest SAST ebook&quot;,&quot;action&quot;:&quot;click to Download the latest SAST ebook&quot;,&quot;label&quot;:&quot;ref_cta:Download the latest SAST ebook;&quot;}\\\">\\n    Download the latest SAST ebook \\n                                        <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"octicon arrow-symbol-mktg\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\">\\n                                            <path fill=\\\"currentColor\\\" d=\\\"M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z\\\"></path>\\n                                            <path class=\\\"octicon-chevrow-stem\\\" stroke=\\\"currentColor\\\" d=\\\"M1.75 8H11\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"></path>\\n                                        </svg>\\n                                    </a>\\n                                </div>\\n                            </div>\\n                            <div class=\\\"overflow-hidden rounded-bottom-3\\\">\\n                                <picture>\\n                                    <source srcset=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-code-scanning.png?width=1208&amp;format=webpll 1208w,https://github.githubassets.com/images/modules/site/home-campaign/illu-code-scanning.png?width=966&amp;format=webpll 966w,https://github.githubassets.com/images/modules/site/home-campaign/illu-code-scanning.png?width=724&amp;format=webpll 724w,https://github.githubassets.com/images/modules/site/home-campaign/illu-code-scanning.png?width=604&amp;format=webpll 604w,https://github.githubassets.com/images/modules/site/home-campaign/illu-code-scanning.png?width=483&amp;format=webpll 483w,https://github.githubassets.com/images/modules/site/home-campaign/illu-code-scanning.png?width=241&amp;format=webpll 241w\\\" sizes=\\\"(max-width: 768px) 90vw, (max-width: 1280px) 50vw, 604px\\\" type=\\\"image/webp\\\"></source>\\n                                    <source srcset=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-code-scanning.png 1208w,https://github.githubassets.com/images/modules/site/home-campaign/illu-code-scanning.png?width=604 604w,https://github.githubassets.com/images/modules/site/home-campaign/illu-code-scanning.png?width=483 483w,https://github.githubassets.com/images/modules/site/home-campaign/illu-code-scanning.png?width=302 302w\\\" sizes=\\\"(max-width: 768px) 90vw, (max-width: 1280px) 50vw, 604px\\\" type=\\\"image/png\\\"></source>\\n                                    <img class=\\\"width-full d-block height-auto js-build-in-item build-in-scale-fade\\\" width=\\\"1208\\\" height=\\\"764\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" alt=\\\"\\\" aria-hidden=\\\"true\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/illu-code-scanning.png\\\" />\\n                                </picture>\\n                            </div>\\n                            <div data-target=\\\"card-skew.shine\\\" class=\\\"position-absolute bottom-0 right-0 events-none z-n1\\\"></div>\\n                        </div>\\n                    </card-skew>\\n                </div>\\n            </div>\\n        </div>\\n    </div>\\n    <div class=\\\"position-relative overflow-hidden\\\" data-color-mode=\\\"dark\\\" data-light-theme=\\\"light\\\" data-dark-theme=\\\"dark\\\">\\n        <div class=\\\"container-xl position-relative z-2\\\">\\n            <div class=\\\"river-mktg js-build-in-trigger d-flex gutter gutter-spacious my-5 my-sm-7 my-md-8 position-relative flex-md-items-center text-center flex-column\\\" data-build-in-stagger=\\\"100\\\" margin=\\\"false\\\">\\n                <div class=\\\"col-12 py-3 mb-2\\\">\\n                    <div class=\\\"\\\">\\n                        <h2 class=\\\"color-fg-default mb-3 h3-mktg col-lg-8 mx-md-auto px-3\\\">The place for anyone from anywhere to\\_build\\_anything</h2>\\n                        <p class=\\\"mb-3 f3-mktg color-fg-muted px-3 mx-auto col-7-max\\\">Whether you’re scaling your startup or just learning how to code, GitHub is your home. Join the world’s largest developer platform to build the innovations that empower humanity. Let’s\\_build from\\_here.</p>\\n                        <div class=\\\"d-flex flex-justify-center mt-6\\\">\\n                            <div class=\\\"by-2 by-lg-0 bx-lg-2 d-flex flex-column flex-lg-row\\\">\\n                                <a class=\\\"btn-mktg btn-large-mktg\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Sign up for GitHub&quot;,&quot;action&quot;:&quot;click to Sign up for GitHub&quot;,&quot;label&quot;:&quot;ref_cta:Sign up for GitHub;&quot;}\\\" href=\\\"/signup?ref_cta=Sign+up+for+GitHub&amp;ref_loc=Home+campaign+footer&amp;ref_page=%2F\\\">\\n  Sign up for GitHub\\n  \\n  \\n                                    <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"octicon arrow-symbol-mktg\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\">\\n                                        <path fill=\\\"currentColor\\\" d=\\\"M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z\\\"></path>\\n                                        <path class=\\\"octicon-chevrow-stem\\\" stroke=\\\"currentColor\\\" d=\\\"M1.75 8H11\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"></path>\\n                                    </svg>\\n                                </a>\\n                                <a class=\\\"btn-mktg btn-large-mktg btn-muted-mktg\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Start a free enterprise trial&quot;,&quot;action&quot;:&quot;click to Start a free enterprise trial&quot;,&quot;label&quot;:&quot;ref_cta:Start a free enterprise trial;&quot;}\\\" href=\\\"/organizations/enterprise_plan?ref_cta=Start+a+free+enterprise+trial&amp;ref_loc=Home+campaign+footer&amp;ref_page=%2F\\\">\\n  Start a free enterprise trial\\n  \\n  \\n                                    <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"octicon arrow-symbol-mktg\\\" width=\\\"16\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\">\\n                                        <path fill=\\\"currentColor\\\" d=\\\"M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z\\\"></path>\\n                                        <path class=\\\"octicon-chevrow-stem\\\" stroke=\\\"currentColor\\\" d=\\\"M1.75 8H11\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\"></path>\\n                                    </svg>\\n                                </a>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </div>\\n            </div>\\n        </div>\\n        <div class=\\\"position-relative z-2 user-select-none home-globe-scene js-webgl-globe-data\\\">\\n            <div class=\\\"home-globe-container home-globe-container-webgl mx-auto\\\">\\n                <div class=\\\"mx-auto width-full home-globe position-relative height-full js-webgl-globe\\\">\\n                    <video width=\\\"916\\\" height=\\\"918\\\" loop muted playsinline preload=\\\"none\\\" class=\\\"home-globe-container-video js-globe-fallback-video \\\" hidden>\\n                        <source type=\\\"video/mp4; codecs=hevc,mp4a.40.2\\\" src=\\\"https://github.githubassets.com/images/modules/site/home/globe-900.hevc.mp4\\\">\\n                            <source type=\\\"video/mp4; codecs=avc1.4D401E,mp4a.40.2\\\" src=\\\"https://github.githubassets.com/images/modules/site/home/globe-900.h264.mp4\\\">\\n      \\n                            </video>\\n                            <video loop muted playsinline preload=\\\"none\\\" class=\\\"home-globe-container-video js-globe-fallback-video-small\\\" hidden>\\n                                <source type=\\\"video/mp4; codecs=hevc,mp4a.40.2\\\" src=\\\"https://github.githubassets.com/images/modules/site/home/globe-500.hevc.mp4\\\">\\n                                    <source type=\\\"video/mp4; codecs=avc1.4D401E,mp4a.40.2\\\" src=\\\"https://github.githubassets.com/images/modules/site/home/globe-500.h264.mp4\\\">\\n      \\n                                    </video>\\n                                    <img\\n        srcset=\\\"https://github.githubassets.com/images/modules/site/home/globe-700.jpg 700w,\\n                https://github.githubassets.com/images/modules/site/home/globe.jpg 1400w\\\"\\n        sizes=\\\"(max-width: 700px) 70vw, 700px\\\"\\n        src=\\\"https://github.githubassets.com/images/modules/site/home/globe.jpg\\\"\\n        alt=\\\"Planet earth with visualization of GitHub activity crossing the globe\\\"\\n        class=\\\"width-full height-auto js-globe-fallback-image\\\"\\n        loading=\\\"lazy\\\"\\n        decoding=\\\"async\\\"\\n        width=\\\"1238\\\"\\n        height=\\\"1404\\\"\\n        hidden\\n      >\\n                                    <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" fill=\\\"none\\\" height=\\\"704\\\" viewBox=\\\"0 0 704 704\\\" width=\\\"704\\\" class=\\\"js-webgl-globe-loading position-absolute left-0 right-0 top-0 bottom-0\\\" style=\\\"margin: auto; transform: scale(0.8)\\\">\\n                                        <filter id=\\\"a\\\" color-interpolation-filters=\\\"sRGB\\\" filterUnits=\\\"userSpaceOnUse\\\" height=\\\"560\\\" width=\\\"560\\\" x=\\\"70\\\" y=\\\"70\\\">\\n                                            <feFlood flood-opacity=\\\"0\\\" result=\\\"BackgroundImageFix\\\"></feFlood>\\n                                            <feBlend in=\\\"SourceGraphic\\\" in2=\\\"BackgroundImageFix\\\" mode=\\\"normal\\\" result=\\\"shape\\\"></feBlend>\\n                                            <feColorMatrix in=\\\"SourceAlpha\\\" result=\\\"hardAlpha\\\" type=\\\"matrix\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\"></feColorMatrix>\\n                                            <feOffset dx=\\\"2\\\" dy=\\\"2\\\"></feOffset>\\n                                            <feGaussianBlur stdDeviation=\\\"7.5\\\"></feGaussianBlur>\\n                                            <feComposite in2=\\\"hardAlpha\\\" k2=\\\"-1\\\" k3=\\\"1\\\" operator=\\\"arithmetic\\\"></feComposite>\\n                                            <feColorMatrix type=\\\"matrix\\\" values=\\\"0 0 0 0 0.447059 0 0 0 0 0.643137 0 0 0 0 0.988235 0 0 0 0.49 0\\\"></feColorMatrix>\\n                                            <feBlend in2=\\\"shape\\\" mode=\\\"normal\\\" result=\\\"effect1_innerShadow\\\"></feBlend>\\n                                            <feColorMatrix in=\\\"SourceAlpha\\\" result=\\\"hardAlpha\\\" type=\\\"matrix\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\"></feColorMatrix>\\n                                            <feOffset dx=\\\"1\\\" dy=\\\"1\\\"></feOffset>\\n                                            <feGaussianBlur stdDeviation=\\\"3\\\"></feGaussianBlur>\\n                                            <feComposite in2=\\\"hardAlpha\\\" k2=\\\"-1\\\" k3=\\\"1\\\" operator=\\\"arithmetic\\\"></feComposite>\\n                                            <feColorMatrix type=\\\"matrix\\\" values=\\\"0 0 0 0 0.625 0 0 0 0 0.9325 0 0 0 0 1 0 0 0 0.32 0\\\"></feColorMatrix>\\n                                            <feBlend in2=\\\"effect1_innerShadow\\\" mode=\\\"normal\\\" result=\\\"effect2_innerShadow\\\"></feBlend>\\n                                            <feColorMatrix in=\\\"SourceAlpha\\\" result=\\\"hardAlpha\\\" type=\\\"matrix\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\\\"></feColorMatrix>\\n                                            <feOffset dx=\\\"-10\\\" dy=\\\"-10\\\"></feOffset>\\n                                            <feGaussianBlur stdDeviation=\\\"3\\\"></feGaussianBlur>\\n                                            <feComposite in2=\\\"hardAlpha\\\" k2=\\\"-1\\\" k3=\\\"1\\\" operator=\\\"arithmetic\\\"></feComposite>\\n                                            <feColorMatrix type=\\\"matrix\\\" values=\\\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\\\"></feColorMatrix>\\n                                            <feBlend in2=\\\"effect2_innerShadow\\\" mode=\\\"normal\\\" result=\\\"effect3_innerShadow\\\"></feBlend>\\n                                        </filter>\\n                                        <radialGradient id=\\\"b\\\" cx=\\\"0\\\" cy=\\\"0\\\" gradientTransform=\\\"matrix(-199.20400108 -199.20400108 199.20400108 -199.20400108 332.08 338.37)\\\" gradientUnits=\\\"userSpaceOnUse\\\" r=\\\"1\\\">\\n                                            <stop offset=\\\".875\\\" stop-color=\\\"#fff\\\"></stop>\\n                                            <stop offset=\\\".937507\\\" stop-color=\\\"#3e68ff\\\"></stop>\\n                                            <stop offset=\\\"1\\\" stop-color=\\\"#03009f\\\" stop-opacity=\\\"0\\\"></stop>\\n                                        </radialGradient>\\n                                        <linearGradient id=\\\"c\\\" gradientUnits=\\\"userSpaceOnUse\\\" x1=\\\"352\\\" x2=\\\"352\\\" y1=\\\"331\\\" y2=\\\"628\\\">\\n                                            <stop offset=\\\"0\\\" stop-color=\\\"#06060e\\\"></stop>\\n                                            <stop offset=\\\"1\\\" stop-color=\\\"#0f0e20\\\"></stop>\\n                                        </linearGradient>\\n                                        <radialGradient id=\\\"d\\\" cx=\\\"0\\\" cy=\\\"0\\\" gradientTransform=\\\"matrix(-5.99972278 523.99965313 -523.99965313 -5.99972278 170 147)\\\" gradientUnits=\\\"userSpaceOnUse\\\" r=\\\"1\\\">\\n                                            <stop offset=\\\"0\\\" stop-color=\\\"#4b60fb\\\"></stop>\\n                                            <stop offset=\\\".565687\\\" stop-color=\\\"#33205d\\\"></stop>\\n                                            <stop offset=\\\"1\\\" stop-color=\\\"#33205d\\\" stop-opacity=\\\"0\\\"></stop>\\n                                        </radialGradient>\\n                                        <radialGradient id=\\\"e\\\" cx=\\\"0\\\" cy=\\\"0\\\" gradientTransform=\\\"matrix(41.99992987 206.0000547 -206.0000547 41.99992987 292 327)\\\" gradientUnits=\\\"userSpaceOnUse\\\" r=\\\"1\\\">\\n                                            <stop offset=\\\"0\\\" stop-color=\\\"#354097\\\"></stop>\\n                                            <stop offset=\\\"1\\\" stop-color=\\\"#243273\\\" stop-opacity=\\\"0\\\"></stop>\\n                                        </radialGradient>\\n                                        <radialGradient id=\\\"f\\\" cx=\\\"0\\\" cy=\\\"0\\\" gradientTransform=\\\"matrix(-84.00137423 185.99914213 -185.99914213 -84.00137423 462 399)\\\" gradientUnits=\\\"userSpaceOnUse\\\" r=\\\"1\\\">\\n                                            <stop offset=\\\"0\\\" stop-color=\\\"#040d20\\\"></stop>\\n                                            <stop offset=\\\"1\\\" stop-color=\\\"#040d20\\\" stop-opacity=\\\"0\\\"></stop>\\n                                        </radialGradient>\\n                                        <circle cx=\\\"352\\\" cy=\\\"352\\\" fill=\\\"url(#b)\\\" r=\\\"303\\\" transform=\\\"matrix(.98453041 .1752138 -.1752138 .98453041 67.120553 -56.22996)\\\"></circle>\\n                                        <g filter=\\\"url(#a)\\\">\\n                                            <circle cx=\\\"352\\\" cy=\\\"352\\\" fill=\\\"url(#c)\\\" r=\\\"276\\\"></circle>\\n                                            <circle cx=\\\"352\\\" cy=\\\"352\\\" fill=\\\"url(#d)\\\" r=\\\"276\\\"></circle>\\n                                            <circle cx=\\\"352\\\" cy=\\\"352\\\" fill=\\\"url(#e)\\\" r=\\\"276\\\"></circle>\\n                                            <circle cx=\\\"352\\\" cy=\\\"352\\\" fill=\\\"url(#f)\\\" r=\\\"276\\\"></circle>\\n                                        </g>\\n                                    </svg>\\n                                </div>\\n                            </div>\\n                            <video loop muted playsinline preload=\\\"none\\\" class=\\\"js-globe-aurora position-absolute top-0 left-0 right-0 bottom-0\\\" style=\\\"margin: auto; z-index: -1; min-width: 100%; min-height: 100%; -webkit-mask-image: -webkit-linear-gradient(transparent, #000 20%, transparent 90%);\\\" hidden>\\n                                <source type=\\\"video/mp4; codecs=avc1.4D401E,mp4a.40.2\\\" src=\\\"https://github.githubassets.com/images/modules/site/home/aurora.h264.mp4\\\">\\n  \\n                                </video>\\n                            </div>\\n                            <picture>\\n                                <source srcset=\\\"https://github.githubassets.com/images/modules/site/home-campaign/footer-galaxy.jpg 801w,https://github.githubassets.com/images/modules/site/home-campaign/footer-galaxy.jpg?width=640 640w,https://github.githubassets.com/images/modules/site/home-campaign/footer-galaxy.jpg?width=480 480w,https://github.githubassets.com/images/modules/site/home-campaign/footer-galaxy.jpg?width=400 400w,https://github.githubassets.com/images/modules/site/home-campaign/footer-galaxy.jpg?width=320 320w,https://github.githubassets.com/images/modules/site/home-campaign/footer-galaxy.jpg?width=160 160w\\\" sizes=\\\"100vw\\\" type=\\\"image/jpeg\\\"></source>\\n                                <img class=\\\"position-absolute z-1 bottom-0 left-0 width-full height-full object-fit-cover d-block events-none\\\" width=\\\"801\\\" height=\\\"807\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" alt=\\\"\\\" aria-hidden=\\\"true\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/footer-galaxy.jpg\\\" />\\n                            </picture>\\n                            <div class=\\\"col-lg-3 mx-auto d-flex flex-justify-center position-relative z-2\\\">\\n                                <img alt=\\\"Mona looking at the galaxy\\\" width=\\\"801\\\" height=\\\"807\\\" class=\\\"home-astrocat d-block events-none user-select-none\\\" src=\\\"https://github.githubassets.com/images/modules/site/home-campaign/astrocat.png\\\" />\\n                            </div>\\n                            <svg xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"none\\\" preserveAspectRatio=\\\"none\\\" viewBox=\\\"0 0 1680 40\\\" class=\\\"position-absolute width-full z-1\\\" style=\\\"bottom: -1px;\\\">\\n                                <path d=\\\"M0 40h1680V30S1340 0 840 0 0 30 0 30z\\\" fill=\\\"#0D1117\\\"></path>\\n                            </svg>\\n                        </div>\\n                        <div class=\\\"container-xl p-responsive\\\" data-dark-theme=\\\"dark\\\" data-color-mode=\\\"dark\\\">\\n                            <ul class=\\\"list-style-none col-lg-9 color-fg-muted f5 pt-8\\\">\\n                                <li>\\n                                    <sup id=\\\"footnote-1\\\">1</sup> The Total Economic Impact&#8482; Of GitHub Enterprise Cloud and Advanced Security, a commissioned study conducted by Forrester Consulting, 2022. Results are for a composite organization based on interviewed customers.\\n                                </li>\\n                                <li>\\n                                    <sup id=\\\"footnote-2\\\">2</sup> GitHub, Octoverse 2022 The state of open source software.\\n                                </li>\\n                            </ul>\\n                        </div>\\n                    </main>\\n                </div>\\n                <footer role=\\\"contentinfo\\\" class=\\\"footer pt-6 position-relative\\\" data-color-mode=\\\"dark\\\" data-dark-theme=\\\"dark\\\">\\n                    <div class=\\\"container-xl p-responsive\\\">\\n                        <div class=\\\"d-flex flex-wrap py-5 mb-5\\\">\\n                            <div class=\\\"col-12 col-lg-4 mb-5\\\">\\n                                <a href=\\\"/\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to home&quot;,&quot;label&quot;:&quot;text:home&quot;}\\\" class=\\\"color-fg-default d-inline-block\\\" aria-label=\\\"Go to GitHub homepage\\\">\\n                                    <svg height=\\\"30\\\" aria-hidden=\\\"true\\\" viewBox=\\\"0 0 45 16\\\" version=\\\"1.1\\\" width=\\\"84\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-logo-github footer-logo-mktg width-auto d-block\\\">\\n                                        <path d=\\\"M8.81 7.35v5.74c0 .04-.01.11-.06.13 0 0-1.25.89-3.31.89-2.49 0-5.44-.78-5.44-5.92S2.58 1.99 5.1 2c2.18 0 3.06.49 3.2.58.04.05.06.09.06.14L7.94 4.5c0 .09-.09.2-.2.17-.36-.11-.9-.33-2.17-.33-1.47 0-3.05.42-3.05 3.73s1.5 3.7 2.58 3.7c.92 0 1.25-.11 1.25-.11v-2.3H4.88c-.11 0-.19-.08-.19-.17V7.35c0-.09.08-.17.19-.17h3.74c.11 0 .19.08.19.17Zm35.85 2.33c0 3.43-1.11 4.41-3.05 4.41-1.64 0-2.52-.83-2.52-.83s-.04.46-.09.52c-.03.06-.08.08-.14.08h-1.48c-.1 0-.19-.08-.19-.17l.02-11.11c0-.09.08-.17.17-.17h2.13c.09 0 .17.08.17.17v3.77s.82-.53 2.02-.53l-.01-.02c1.2 0 2.97.45 2.97 3.88ZM27.68 2.43c.09 0 .17.08.17.17v11.11c0 .09-.08.17-.17.17h-2.13c-.09 0-.17-.08-.17-.17l.02-4.75h-3.31v4.75c0 .09-.08.17-.17.17h-2.13c-.08 0-.17-.08-.17-.17V2.6c0-.09.08-.17.17-.17h2.13c.09 0 .17.08.17.17v4.09h3.31V2.6c0-.09.08-.17.17-.17Zm8.26 3.64c.11 0 .19.08.19.17l-.02 7.47c0 .09-.06.17-.17.17H34.6c-.07 0-.14-.04-.16-.09-.03-.06-.08-.45-.08-.45s-1.13.77-2.52.77c-1.69 0-2.92-.55-2.92-2.75V6.25c0-.09.08-.17.17-.17h2.14c.09 0 .17.08.17.17V11c0 .75.22 1.09.97 1.09s1.3-.39 1.3-.39V6.26c0-.11.06-.19.17-.19Zm-17.406 5.971h.005a.177.177 0 0 1 .141.179v1.5c0 .07-.03.14-.09.16-.1.05-.74.22-1.27.22-1.16 0-2.86-.25-2.86-2.69V8.13h-1.11c-.09 0-.17-.08-.17-.19V6.58c0-.08.05-.15.13-.17.07-.01 1.16-.28 1.16-.28V3.96c0-.08.05-.13.14-.13h2.16c.09 0 .14.05.14.13v2.11h1.59c.08 0 .16.08.16.17v1.7c0 .11-.07.19-.16.19h-1.59v3.131c0 .47.27.83 1.05.83.247 0 .481-.049.574-.05ZM12.24 6.06c.09 0 .17.08.17.17v7.37c0 .18-.05.27-.25.27h-1.92c-.17 0-.3-.07-.3-.27V6.26c0-.11.08-.2.17-.2Zm29.99 3.78c0-1.81-.73-2.05-1.5-1.97-.6.04-1.08.34-1.08.34v3.52s.49.34 1.22.36c1.03.03 1.36-.34 1.36-2.25ZM11.19 2.68c.75 0 1.36.61 1.36 1.38 0 .77-.61 1.38-1.36 1.38-.77 0-1.38-.61-1.38-1.38 0-.77.61-1.38 1.38-1.38Zm7.34 9.35v.001l.01.01h-.001l-.005-.001v.001c-.009-.001-.015-.011-.024-.011Z\\\"></path>\\n                                    </svg>\\n                                </a>\\n                                <div>\\n                                    <h2 class=\\\"h5 mt-4\\\" id=\\\"subscribe-to-newsletter\\\">Subscribe to our newsletter</h2>\\n                                    <p class=\\\"f5 color-fg-muted mb-3\\\">Get product updates, company news, and more.</p>\\n                                    <a class=\\\"btn-mktg mb-4 btn-muted-mktg\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Subscribe&quot;,&quot;action&quot;:&quot;click to Subscribe&quot;,&quot;label&quot;:&quot;ref_cta:Subscribe;&quot;}\\\" href=\\\"https://resources.github.com/newsletter/\\\">\\n  Subscribe\\n  \\n  \\n</a>\\n                                </div>\\n                            </div>\\n                            <div class=\\\"col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-lg-0 pl-lg-4\\\">\\n                                <h2 class=\\\"h5 mb-3 text-mono color-fg-muted text-normal\\\">\\n          Product\\n        </h2>\\n                                <ul class=\\\"list-style-none color-fg-muted f5\\\">\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to features&quot;,&quot;label&quot;:&quot;text:features&quot;}\\\" href=\\\"/features\\\">Features</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}\\\" href=\\\"/security\\\">Security</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to team&quot;,&quot;label&quot;:&quot;text:team&quot;}\\\" href=\\\"/team\\\">Team</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to enterprise&quot;,&quot;label&quot;:&quot;text:enterprise&quot;}\\\" href=\\\"/enterprise\\\">Enterprise</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to customer stories&quot;,&quot;label&quot;:&quot;text:customer stories&quot;}\\\" href=\\\"/customer-stories?type=enterprise\\\">Customer stories</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to the readme project&quot;,&quot;label&quot;:&quot;text:the readme project&quot;}\\\" href=\\\"/readme\\\">The ReadME Project</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to pricing&quot;,&quot;label&quot;:&quot;text:pricing&quot;}\\\" href=\\\"/pricing\\\">Pricing</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to resources&quot;,&quot;label&quot;:&quot;text:resources&quot;}\\\" href=\\\"https://resources.github.com\\\">Resources</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to roadmap&quot;,&quot;label&quot;:&quot;text:roadmap&quot;}\\\" href=\\\"https://github.com/github/roadmap\\\">Roadmap</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to compare github&quot;,&quot;label&quot;:&quot;text:compare github&quot;}\\\" href=\\\"https://resources.github.com/devops/tools/compare/\\\">Compare GitHub</a>\\n                                    </li>\\n                                </ul>\\n                            </div>\\n                            <div class=\\\"col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-md-0 pl-md-4\\\">\\n                                <h2 class=\\\"h5 mb-3 text-mono color-fg-muted text-normal\\\">\\n          Platform\\n        </h2>\\n                                <ul class=\\\"list-style-none f5\\\">\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to api&quot;,&quot;label&quot;:&quot;text:api&quot;}\\\" href=\\\"https://docs.github.com/rest/overview/about-githubs-apis\\\">Developer API</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to partner&quot;,&quot;label&quot;:&quot;text:partner&quot;}\\\" href=\\\"https://partner.github.com\\\">Partners</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to electron&quot;,&quot;label&quot;:&quot;text:electron&quot;}\\\" href=\\\"https://www.electronjs.org\\\">Electron</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to desktop&quot;,&quot;label&quot;:&quot;text:desktop&quot;}\\\" href=\\\"https://desktop.github.com/\\\">GitHub Desktop</a>\\n                                    </li>\\n                                </ul>\\n                            </div>\\n                            <div class=\\\"col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-md-0 pl-md-4\\\">\\n                                <h2 class=\\\"h5 mb-3 text-mono color-fg-muted text-normal\\\">\\n          Support\\n        </h2>\\n                                <ul class=\\\"list-style-none f5\\\">\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to help&quot;,&quot;label&quot;:&quot;text:Docs&quot;}\\\" href=\\\"https://docs.github.com\\\">Docs</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to community&quot;,&quot;label&quot;:&quot;text:community&quot;}\\\" href=\\\"https://github.community\\\">Community Forum</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to professional services&quot;,&quot;label&quot;:&quot;text:professional services&quot;}\\\" href=\\\"https://services.github.com/\\\">Professional Services</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to premium support&quot;,&quot;label&quot;:&quot;text:premium support&quot;}\\\" href=\\\"/premium-support\\\">Premium Support</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to skills&quot;,&quot;label&quot;:&quot;text:skills&quot;}\\\" href=\\\"https://skills.github.com/\\\">Skills</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}\\\" href=\\\"https://www.githubstatus.com/\\\">Status</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;}\\\" href=\\\"https://support.github.com?tags=dotcom-footer\\\">Contact GitHub</a>\\n                                    </li>\\n                                </ul>\\n                            </div>\\n                            <div class=\\\"col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-md-0 pl-md-4\\\">\\n                                <h2 class=\\\"h5 mb-3 text-mono color-fg-muted text-normal\\\">\\n          Company\\n        </h2>\\n                                <ul class=\\\"list-style-none f5\\\">\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to about&quot;,&quot;label&quot;:&quot;text:about&quot;}\\\" href=\\\"https://github.com/about\\\">About</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to blog&quot;,&quot;label&quot;:&quot;text:blog&quot;}\\\" href=\\\"https://github.blog\\\">Blog</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to careers&quot;,&quot;label&quot;:&quot;text:careers&quot;}\\\" href=\\\"/about/careers\\\">Careers</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to press&quot;,&quot;label&quot;:&quot;text:press&quot;}\\\" href=\\\"/about/press\\\">Press</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to diversity&quot;,&quot;label&quot;:&quot;text:Inclusion&quot;}\\\" href=\\\"/about/diversity\\\">Inclusion</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to social impact&quot;,&quot;label&quot;:&quot;text:social impact&quot;}\\\" href=\\\"https://socialimpact.github.com/\\\">Social Impact</a>\\n                                    </li>\\n                                    <li class=\\\"lh-condensed mb-3\\\">\\n                                        <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to shop&quot;,&quot;label&quot;:&quot;text:shop&quot;}\\\" href=\\\"https://shop.github.com\\\">Shop</a>\\n                                    </li>\\n                                </ul>\\n                            </div>\\n                        </div>\\n                    </div>\\n                    <div class=\\\"color-bg-subtle\\\">\\n                        <div class=\\\"container-xl p-responsive f6 py-4 d-sm-flex flex-justify-between flex-row-reverse flex-items-center\\\">\\n                            <ul class=\\\"list-style-none d-flex flex-items-center mb-3 mb-sm-0 lh-condensed-ultra\\\">\\n                                <li class=\\\"mr-3\\\">\\n                                    <a href=\\\"https://twitter.com/github\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Twitter&quot;,&quot;label&quot;:&quot;text:twitter&quot;}\\\" class=\\\"color-fg-subtle\\\">\\n                                        <img src=\\\"https://github.githubassets.com/images/modules/site/icons/footer/twitter.svg\\\" height=\\\"18\\\" width=\\\"22\\\"  class=\\\"d-block\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" alt=\\\"Twitter icon\\\">\\n                                        <span class=\\\"sr-only\\\">GitHub on Twitter</span>\\n                                    </a>\\n                                </li>\\n                                <li class=\\\"mr-3\\\">\\n                                    <a href=\\\"https://www.facebook.com/GitHub\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Facebook&quot;,&quot;label&quot;:&quot;text:facebook&quot;}\\\" class=\\\"color-fg-subtle\\\">\\n                                        <img src=\\\"https://github.githubassets.com/images/modules/site/icons/footer/facebook.svg\\\" width=\\\"18\\\" height=\\\"18\\\"  class=\\\"d-block\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" alt=\\\"Facebook icon\\\">\\n                                        <span class=\\\"sr-only\\\">GitHub on Facebook</span>\\n                                    </a>\\n                                </li>\\n                                <li class=\\\"mr-3 flex-self-start\\\">\\n                                    <a href=\\\"https://www.linkedin.com/company/github\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Linkedin&quot;,&quot;label&quot;:&quot;text:linkedin&quot;}\\\" class=\\\"color-fg-subtle\\\">\\n                                        <img src=\\\"https://github.githubassets.com/images/modules/site/icons/footer/linkedin.svg\\\" width=\\\"19\\\" height=\\\"18\\\" class=\\\"d-block\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" alt=\\\"Linkedin icon\\\">\\n                                        <span class=\\\"sr-only\\\">GitHub on LinkedIn</span>\\n                                    </a>\\n                                </li>\\n                                <li class=\\\"mr-3\\\">\\n                                    <a href=\\\"https://www.youtube.com/github\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to YouTube&quot;,&quot;label&quot;:&quot;text:youtube&quot;}\\\" class=\\\"color-fg-subtle\\\">\\n                                        <img src=\\\"https://github.githubassets.com/images/modules/site/icons/footer/youtube.svg\\\" width=\\\"23\\\" height=\\\"16\\\"  class=\\\"d-block\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" alt=\\\"YouTube icon\\\">\\n                                        <span class=\\\"sr-only\\\">GitHub on YouTube</span>\\n                                    </a>\\n                                </li>\\n                                <li class=\\\"mr-3\\\">\\n                                    <a href=\\\"https://www.twitch.tv/github\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Twitch&quot;,&quot;label&quot;:&quot;text:twitch&quot;}\\\" class=\\\"color-fg-subtle\\\">\\n                                        <img src=\\\"https://github.githubassets.com/images/modules/site/icons/footer/twitch.svg\\\" width=\\\"18\\\" height=\\\"18\\\"  class=\\\"d-block\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" alt=\\\"Twitch icon\\\">\\n                                        <span class=\\\"sr-only\\\">GitHub on Twitch</span>\\n                                    </a>\\n                                </li>\\n                                <li class=\\\"mr-3\\\">\\n                                    <a href=\\\"https://www.tiktok.com/@github\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to tiktok&quot;,&quot;label&quot;:&quot;text:tiktok&quot;}\\\" class=\\\"color-fg-subtle\\\">\\n                                        <img src=\\\"https://github.githubassets.com/images/modules/site/icons/footer/tiktok.svg\\\" width=\\\"18\\\" height=\\\"18\\\"  class=\\\"d-block\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" alt=\\\"TikTok icon\\\">\\n                                        <span class=\\\"sr-only\\\">GitHub on TikTok</span>\\n                                    </a>\\n                                </li>\\n                                <li>\\n                                    <a href=\\\"https://github.com/github\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to github&#39;s org&quot;,&quot;label&quot;:&quot;text:github&quot;}\\\" class=\\\"color-fg-subtle\\\">\\n                                        <img src=\\\"https://github.githubassets.com/images/modules/site/icons/footer/github-mark.svg\\\" width=\\\"20\\\" height=\\\"20\\\" class=\\\"d-block\\\" loading=\\\"lazy\\\" decoding=\\\"async\\\" alt=\\\"GitHub mark\\\">\\n                                        <span class=\\\"sr-only\\\">GitHub’s organization on GitHub</span>\\n                                    </a>\\n                                </li>\\n                            </ul>\\n                            <ul class=\\\"list-style-none d-flex flex-wrap color-fg-muted\\\">\\n                                <li class=\\\"mr-3\\\">\\n          &copy; 2023 GitHub, Inc.\\n        </li>\\n                                <li class=\\\"mr-3\\\">\\n                                    <a href=\\\"https://docs.github.com/site-policy/github-terms/github-terms-of-service\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}\\\" class=\\\"Link--secondary\\\">Terms</a>\\n                                </li>\\n                                <li class=\\\"mr-3\\\">\\n                                    <a href=\\\"https://docs.github.com/site-policy/privacy-policies/github-privacy-statement\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}\\\" class=\\\"Link--secondary\\\">Privacy</a>\\n          (\\n                                    <a href=\\\"https://github.com/github/site-policy/pull/582\\\" class=\\\"Link--secondary\\\">Updated 08/2022</a>)\\n                                </li>\\n                                <li class=\\\"mr-3\\\">\\n                                    <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to sitemap&quot;,&quot;label&quot;:&quot;text:sitemap&quot;}\\\" href=\\\"/sitemap\\\">Sitemap</a>\\n                                </li>\\n                                <li>\\n                                    <a class=\\\"Link--secondary\\\" data-analytics-event=\\\"{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Git Guides&quot;,&quot;label&quot;:&quot;text:What is Git?&quot;}\\\" href=\\\"/git-guides\\\">What is Git?</a>\\n                                </li>\\n                            </ul>\\n                        </div>\\n                    </div>\\n                </footer>\\n                <div id=\\\"ajax-error-message\\\" class=\\\"ajax-error-message flash flash-error\\\" hidden>\\n                    <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-alert\\\">\\n                        <path d=\\\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\\\"></path>\\n                    </svg>\\n                    <button type=\\\"button\\\" class=\\\"flash-close js-ajax-error-dismiss\\\" aria-label=\\\"Dismiss error\\\">\\n                        <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-x\\\">\\n                            <path d=\\\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\\\"></path>\\n                        </svg>\\n                    </button>\\n    You can’t perform that action at this time.\\n                </div>\\n                <template id=\\\"site-details-dialog\\\">\\n                    <details class=\\\"details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm\\\" open>\\n                        <summary role=\\\"button\\\" aria-label=\\\"Close dialog\\\"></summary>\\n                        <details-dialog class=\\\"Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal\\\">\\n                            <button class=\\\"Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0\\\" type=\\\"button\\\" aria-label=\\\"Close dialog\\\" data-close-dialog>\\n                                <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-x\\\">\\n                                    <path d=\\\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\\\"></path>\\n                                </svg>\\n                            </button>\\n                            <div class=\\\"octocat-spinner my-6 js-details-dialog-spinner\\\"></div>\\n                        </details-dialog>\\n                    </details>\\n                </template>\\n                <div class=\\\"Popover js-hovercard-content position-absolute\\\" style=\\\"display: none; outline: none;\\\" tabindex=\\\"0\\\">\\n                    <div class=\\\"Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large\\\" style=\\\"width:360px;\\\">\\n  </div>\\n                </div>\\n                <template id=\\\"snippet-clipboard-copy-button\\\">\\n                    <div class=\\\"zeroclipboard-container position-absolute right-0 top-0\\\">\\n                        <clipboard-copy aria-label=\\\"Copy\\\" class=\\\"ClipboardButton btn js-clipboard-copy m-2 p-0 tooltipped-no-delay\\\" data-copy-feedback=\\\"Copied!\\\" data-tooltip-direction=\\\"w\\\">\\n                            <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-copy js-clipboard-copy-icon m-2\\\">\\n                                <path d=\\\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\\\"></path>\\n                                <path d=\\\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\\\"></path>\\n                            </svg>\\n                            <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2\\\">\\n                                <path d=\\\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\\\"></path>\\n                            </svg>\\n                        </clipboard-copy>\\n                    </div>\\n                </template>\\n                <template id=\\\"snippet-clipboard-copy-button-unpositioned\\\">\\n                    <div class=\\\"zeroclipboard-container\\\">\\n                        <clipboard-copy aria-label=\\\"Copy\\\" class=\\\"ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 tooltipped-no-delay d-flex flex-justify-center flex-items-center\\\" data-copy-feedback=\\\"Copied!\\\" data-tooltip-direction=\\\"w\\\">\\n                            <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-copy js-clipboard-copy-icon\\\">\\n                                <path d=\\\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\\\"></path>\\n                                <path d=\\\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\\\"></path>\\n                            </svg>\\n                            <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-check js-clipboard-check-icon color-fg-success d-none\\\">\\n                                <path d=\\\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\\\"></path>\\n                            </svg>\\n                        </clipboard-copy>\\n                    </div>\\n                </template>\\n            </div>\\n            <div id=\\\"js-global-screen-reader-notice\\\" class=\\\"sr-only\\\" aria-live=\\\"polite\\\" ></div>\\n        </body>\\n    </html>\"\n  /kitchen-sink/image/jpeg:\n    get:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Send JPEG image\n      description: >-\n        The API endpoint sends an image response in JPEG format.\n\n\n        When accessing this endpoint, the client will receive an image file in\n        JPEG format as the response.\n      operationId: sendJpegImage\n      responses:\n        '200':\n          description: ''\n  /kitchen-sink/image/jpg:\n    get:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Send JPG image\n      description: >-\n        The API endpoint sends an image response in JPG format.\n\n\n        When accessing this endpoint, the client will receive an image file in\n        JPG format as the response.\n      operationId: sendJpgImage\n      responses:\n        '200':\n          description: ''\n  /kitchen-sink/image/png:\n    get:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Send PNG image\n      description: >-\n        The API endpoint sends an image response in PNG format.\n\n\n        When accessing this endpoint, the client will receive an image file in\n        PNG format as the response.\n      operationId: sendPngImage\n      responses:\n        '200':\n          description: ''\n  /kitchen-sink/image/webp:\n    get:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Send WEBP image\n      description: >-\n        The API endpoint sends an image response in WEBP format.\n\n\n        When accessing this endpoint, the client will receive an image file in\n        WEBP format as the response.\n      operationId: sendWebpImage\n      responses:\n        '200':\n          description: ''\n  /kitchen-sink/image/svg:\n    get:\n      tags:\n        - 🚰 Kitchen Sink\n        \n      summary: Send SVG image\n      description: >-\n        The API endpoint sends an image response in SVG format.\n\n\n        When accessing this endpoint, the client will receive an image file in\n        SVG format as the response.\n      operationId: sendSvgImage\n      responses:\n        '200':\n          description: ''\n  /users/google:\n    get:\n      tags:\n        \n        - 🔐 Authentication\n        \n      summary: Redirect to google login\n      description: >-\n        Redirect user to this url when user clicks on the **`Login with\n        Google`** button.\n\n\n        This url will render the google concent screen where user can select the\n        google account with which he/she wants to login with.\n      operationId: redirectToGoogleLogin\n      responses:\n        '200':\n          description: ''\n  /users/google/callback:\n    get:\n      tags:\n        \n        - 🔐 Authentication\n        \n      summary: Google login callback url\n      description: >-\n        Google will send user details in JSON format once user successfully logs\n        in.\n\n\n        Backend will create an access and refresh token and will redirect user\n        to the appropreate frontend url with access token and refresh token in\n        the query parameter.\n      operationId: googleLoginCallbackUrl\n      responses:\n        '200':\n          description: ''\n  /users/github:\n    get:\n      tags:\n        \n        - 🔐 Authentication\n        \n      summary: Redirect to github login\n      description: >-\n        Redirect user to this url when user clicks on the **`Login with\n        Github`** button.\n\n\n        This url will render the github concent screen where user can select the\n        github account with which he/she wants to login with.\n      operationId: redirectToGithubLogin\n      responses:\n        '200':\n          description: ''\n  /users/github/callback:\n    get:\n      tags:\n        \n        - 🔐 Authentication\n        \n      summary: Github login callback url\n      description: >-\n        Github will send user details in JSON format once user successfully logs\n        in.\n\n\n        Backend will create an access and refresh token and will redirect user\n        to the appropreate frontend url with access token and refresh token in\n        the query parameter.\n      operationId: githubLoginCallbackUrl\n      responses:\n        '200':\n          description: ''\n  /users/current-user:\n    get:\n      tags:\n        \n        - 🔐 Authentication\n      summary: Get logged in user\n      description: >-\n        The API endpoint allows you to retrieve the details of the currently\n        logged-in user based on their authentication token.\n\n\n        When accessing this endpoint with a valid authentication token, you will\n        receive a response containing the information of the user who is\n        currently authenticated and logged in.\n      operationId: getLoggedInUser\n      responses:\n        '200':\n          description: Get logged in user\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '443'\n            Date:\n              schema:\n                type: string\n                example: Fri, 30 Jun 2023 06:44:47 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1bb-YVaffq7t8o3of0yDl9g26tprr/8\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '493'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '631'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 649e795264e7dba29b726936\n                      avatar:\n                        type: object\n                        properties:\n                          _id:\n                            type: string\n                            example: 649e795264e7dba29b726935\n                          localPath:\n                            type: string\n                            example: ''\n                          url:\n                            type: string\n                            example: https://via.placeholder.com/200x200.png\n                      createdAt:\n                        type: string\n                        example: '2023-06-30T06:42:26.163Z'\n                      email:\n                        type: string\n                        example: user.email@domain.com\n                      isEmailVerified:\n                        type: boolean\n                        example: false\n                      loginType:\n                        type: string\n                        example: EMAIL_PASSWORD\n                      role:\n                        type: string\n                        example: ADMIN\n                      updatedAt:\n                        type: string\n                        example: '2023-06-30T06:44:29.831Z'\n                      username:\n                        type: string\n                        example: doejohn\n                  message:\n                    type: string\n                    example: Current user fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get logged in user:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 649e795264e7dba29b726936\n                      avatar:\n                        _id: 649e795264e7dba29b726935\n                        localPath: ''\n                        url: https://via.placeholder.com/200x200.png\n                      createdAt: '2023-06-30T06:42:26.163Z'\n                      email: user.email@domain.com\n                      isEmailVerified: false\n                      loginType: EMAIL_PASSWORD\n                      role: ADMIN\n                      updatedAt: '2023-06-30T06:44:29.831Z'\n                      username: doejohn\n                    message: Current user fetched successfully\n                    statusCode: 200\n                    success: true\n  /users/verify-email/{verificationToken}:\n    get:\n      tags:\n        \n        - 🔐 Authentication\n      summary: Verify user email\n      description: >-\n        The API endpoint is used to verify a user's email by accessing the\n        verification token (**verificationToken**) included in the path\n        variable.\n\n\n        When the user clicks on the email verification link provided to them,\n        this API is invoked to validate their email address.\n\n\n        By including the verification token in the URL path, the endpoint\n        confirms the authenticity of the token and marks the user's email as\n        verified.\n      operationId: verifyUserEmail\n      responses:\n        '200':\n          description: Verify user email\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '95'\n            Date:\n              schema:\n                type: string\n                example: Fri, 02 Jun 2023 06:06:05 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"5f-LuP/p60fMKWCCasH+xNnLel8HrI\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      isEmailVerified:\n                        type: boolean\n                        example: true\n                  message:\n                    type: string\n                    example: Email is verified\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Verify user email:\n                  value:\n                    data:\n                      isEmailVerified: true\n                    message: Email is verified\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: verificationToken\n        in: path\n        required: true\n        schema:\n          type: string\n          example: ffff8c2d25725516cf34c8cfa9c5f4d8f1f1f407\n  /users/register:\n    post:\n      tags:\n        \n        - 🔐 Authentication\n      summary: Register user\n      description: >-\n        The API endpoint allows users to register or signup to create their\n        accounts.\n      operationId: registerUser\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                email:\n                  type: string\n                  example: user.email@domain.com\n                password:\n                  type: string\n                  example: test@123\n                role:\n                  type: string\n                  example: ADMIN\n                username:\n                  type: string\n                  example: doejohn\n            example:\n              email: user.email@domain.com\n              password: test@123\n              role: ADMIN\n              username: doejohn\n      responses:\n        '201':\n          description: Register user\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '500'\n            Date:\n              schema:\n                type: string\n                example: Fri, 30 Jun 2023 06:44:09 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1f4-1q38Sbu25p0UVmeYQmrEv2VrgPg\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '495'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '772'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      user:\n                        type: object\n                        properties:\n                          __v:\n                            type: number\n                            example: 0\n                          _id:\n                            type: string\n                            example: 649e795264e7dba29b726936\n                          avatar:\n                            type: object\n                            properties:\n                              _id:\n                                type: string\n                                example: 649e795264e7dba29b726935\n                              localPath:\n                                type: string\n                                example: ''\n                              url:\n                                type: string\n                                example: https://via.placeholder.com/200x200.png\n                          createdAt:\n                            type: string\n                            example: '2023-06-30T06:42:26.163Z'\n                          email:\n                            type: string\n                            example: user.email@domain.com\n                          isEmailVerified:\n                            type: boolean\n                            example: false\n                          loginType:\n                            type: string\n                            example: EMAIL_PASSWORD\n                          role:\n                            type: string\n                            example: ADMIN\n                          updatedAt:\n                            type: string\n                            example: '2023-06-30T06:42:26.247Z'\n                          username:\n                            type: string\n                            example: doejohn\n                  message:\n                    type: string\n                    example: >-\n                      Users registered successfully and verification email has\n                      been sent on your email.\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Register user:\n                  value:\n                    data:\n                      user:\n                        __v: 0\n                        _id: 649e795264e7dba29b726936\n                        avatar:\n                          _id: 649e795264e7dba29b726935\n                          localPath: ''\n                          url: https://via.placeholder.com/200x200.png\n                        createdAt: '2023-06-30T06:42:26.163Z'\n                        email: user.email@domain.com\n                        isEmailVerified: false\n                        loginType: EMAIL_PASSWORD\n                        role: ADMIN\n                        updatedAt: '2023-06-30T06:42:26.247Z'\n                        username: doejohn\n                    message: >-\n                      Users registered successfully and verification email has\n                      been sent on your email.\n                    statusCode: 200\n                    success: true\n  /users/login:\n    post:\n      tags:\n        \n        - 🔐 Authentication\n      summary: Login user\n      description: >-\n        The API endpoint allows users to log into the application securely and\n        also returns an access token.\n\n\n        When accessing this endpoint with valid login credentials, users will\n        receive an access token in the response.\n\n\n        Additionally, the API endpoint securely sets the access token within the\n        browser/client httpOnly cookies for future authentication and\n        authorization purposes.\n\n\n        This functionality ensures a secure and efficient login process for\n        users, providing them with an access token that can be used to\n        authenticate subsequent API requests.\n\n\n        By securely storing the access token in browser cookies, the endpoint\n        enables automatic inclusion of the access token in future API requests,\n        eliminating the need for users to manually manage and provide the token\n        with each request.\n      operationId: loginUser\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                password:\n                  type: string\n                  example: test@123\n                username:\n                  type: string\n                  example: doejohn\n            example:\n              password: test@123\n              username: doejohn\n      responses:\n        '200':\n          description: Login user\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '926'\n            Date:\n              schema:\n                type: string\n                example: Fri, 30 Jun 2023 06:44:29 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"39e-a7Fdn0Th2/i/29/rw1he3r/pebo\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '494'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '648'\n            Set-Cookie:\n              schema:\n                type: string\n                example: >-\n                  refreshToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDllNzk1MjY0ZTdkYmEyOWI3MjY5MzYiLCJpYXQiOjE2ODgxMDc0NjksImV4cCI6MTY4ODk3MTQ2OX0.7or55Coj0K_UY4YpzYzkNR9hcOIhusxk9FRz7eMV8Ho;\n                  Path=/; HttpOnly\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      accessToken:\n                        type: string\n                        example: >-\n                          eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDllNzk1MjY0ZTdkYmEyOWI3MjY5MzYiLCJlbWFpbCI6IndhamUuc2h1YmhhbTExMUBnbWFpbC5jb20iLCJ1c2VybmFtZSI6IndhamVzaHViaGFtIiwicm9sZSI6IkFETUlOIiwiaWF0IjoxNjg4MTA3NDY5LCJleHAiOjE2ODgxOTM4Njl9.40qfVrWi8x8fGBRB9JBVCVsdMYvlwzjIRpffz5z7DK4\n                      refreshToken:\n                        type: string\n                        example: >-\n                          eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDllNzk1MjY0ZTdkYmEyOWI3MjY5MzYiLCJpYXQiOjE2ODgxMDc0NjksImV4cCI6MTY4ODk3MTQ2OX0.7or55Coj0K_UY4YpzYzkNR9hcOIhusxk9FRz7eMV8Ho\n                      user:\n                        type: object\n                        properties:\n                          __v:\n                            type: number\n                            example: 0\n                          _id:\n                            type: string\n                            example: 649e795264e7dba29b726936\n                          avatar:\n                            type: object\n                            properties:\n                              _id:\n                                type: string\n                                example: 649e795264e7dba29b726935\n                              localPath:\n                                type: string\n                                example: ''\n                              url:\n                                type: string\n                                example: https://via.placeholder.com/200x200.png\n                          createdAt:\n                            type: string\n                            example: '2023-06-30T06:42:26.163Z'\n                          email:\n                            type: string\n                            example: user.email@domain.com\n                          isEmailVerified:\n                            type: boolean\n                            example: false\n                          loginType:\n                            type: string\n                            example: EMAIL_PASSWORD\n                          role:\n                            type: string\n                            example: ADMIN\n                          updatedAt:\n                            type: string\n                            example: '2023-06-30T06:44:29.831Z'\n                          username:\n                            type: string\n                            example: doejohn\n                  message:\n                    type: string\n                    example: User logged in successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Login user:\n                  value:\n                    data:\n                      accessToken: >-\n                        eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDllNzk1MjY0ZTdkYmEyOWI3MjY5MzYiLCJlbWFpbCI6IndhamUuc2h1YmhhbTExMUBnbWFpbC5jb20iLCJ1c2VybmFtZSI6IndhamVzaHViaGFtIiwicm9sZSI6IkFETUlOIiwiaWF0IjoxNjg4MTA3NDY5LCJleHAiOjE2ODgxOTM4Njl9.40qfVrWi8x8fGBRB9JBVCVsdMYvlwzjIRpffz5z7DK4\n                      refreshToken: >-\n                        eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDllNzk1MjY0ZTdkYmEyOWI3MjY5MzYiLCJpYXQiOjE2ODgxMDc0NjksImV4cCI6MTY4ODk3MTQ2OX0.7or55Coj0K_UY4YpzYzkNR9hcOIhusxk9FRz7eMV8Ho\n                      user:\n                        __v: 0\n                        _id: 649e795264e7dba29b726936\n                        avatar:\n                          _id: 649e795264e7dba29b726935\n                          localPath: ''\n                          url: https://via.placeholder.com/200x200.png\n                        createdAt: '2023-06-30T06:42:26.163Z'\n                        email: user.email@domain.com\n                        isEmailVerified: false\n                        loginType: EMAIL_PASSWORD\n                        role: ADMIN\n                        updatedAt: '2023-06-30T06:44:29.831Z'\n                        username: doejohn\n                    message: User logged in successfully\n                    statusCode: 200\n                    success: true\n  /users/logout:\n    post:\n      tags:\n        \n        - 🔐 Authentication\n      summary: Logout user\n      description: >-\n        The API endpoint is responsible for logging out users from the\n        application and destroying the access token cookies stored on the\n        client-side.\n\n\n        When accessing this endpoint, it triggers the logout process, revoking\n        the user's authentication and terminating their active session.\n\n\n        Additionally, it ensures that any access token cookies associated with\n        the user's session are removed from the client's browser, effectively\n        logging them out from the application.\n      operationId: logoutUser\n      responses:\n        '200':\n          description: Logout user\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '71'\n            Date:\n              schema:\n                type: string\n                example: Sun, 04 Jun 2023 14:53:17 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"47-As20QlSbGGTq515zdhzWHPjwWhg\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            Set-Cookie:\n              schema:\n                type: string\n                example: >-\n                  refreshToken=; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT;\n                  HttpOnly\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties: {}\n                  message:\n                    type: string\n                    example: User logged out\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Logout user:\n                  value:\n                    data: {}\n                    message: User logged out\n                    statusCode: 200\n                    success: true\n  /users/refresh-token:\n    post:\n      tags:\n        \n        - 🔐 Authentication\n      summary: Refresh token\n      description: >-\n        The Refresh Access Token API is responsible for refreshing the access\n        token when it expires.\n\n\n        It allows you to make a request to this endpoint with the refresh token,\n        which has a lengthy expiry time, to obtain a new access token.\n\n\n        Simultaneously, the API sets the new access token in a cookie for future\n        authentication purposes while replacing the expired one.\n\n\n        This functionality ensures continuous access to protected resources by\n        automatically renewing the access token **without requiring the user to\n        reauthenticate manually**.\n\n\n        By utilizing the refresh token, the API securely refreshes the access\n        token and updates it in the cookie, ensuring seamless and uninterrupted\n        access to authorized endpoints.\n      operationId: refreshToken\n      responses:\n        '200':\n          description: Refresh token\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '556'\n            Date:\n              schema:\n                type: string\n                example: Wed, 31 May 2023 20:00:21 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"22c-gnaKNqPZuv/nGCkHvGfPrASxDPw\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            Set-Cookie:\n              schema:\n                type: string\n                example: >-\n                  refreshToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDc2ZTM0ZWJlMWNmYjljYzA4YmQ0NDYiLCJpYXQiOjE2ODU1NjMyMjEsImV4cCI6MTY4NjQyNzIyMX0.TJpj8-2qU__GI_dKDdrHwQvUWCFSFXCfgOuV6MV05UI;\n                  Path=/; HttpOnly\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      accessToken:\n                        type: string\n                        example: >-\n                          eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDc2ZTM0ZWJlMWNmYjljYzA4YmQ0NDYiLCJlbWFpbCI6IndhamUuc2h1YmhhbTExMUBnbWFpbC5jb20iLCJ1c2VybmFtZSI6IndhamVzaHViaGFtIiwicm9sZSI6IlVTRVIiLCJpYXQiOjE2ODU1NjMyMjEsImV4cCI6MTY4NTY0OTYyMX0.o6vbC9qrMHV_FfQNFZX3h053eOHvBgbl0iQJSB5NeNc\n                      refreshToken:\n                        type: string\n                        example: >-\n                          eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDc2ZTM0ZWJlMWNmYjljYzA4YmQ0NDYiLCJpYXQiOjE2ODU1NjMyMjEsImV4cCI6MTY4NjQyNzIyMX0.TJpj8-2qU__GI_dKDdrHwQvUWCFSFXCfgOuV6MV05UI\n                  message:\n                    type: string\n                    example: Access token refreshed\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Refresh token:\n                  value:\n                    data:\n                      accessToken: >-\n                        eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDc2ZTM0ZWJlMWNmYjljYzA4YmQ0NDYiLCJlbWFpbCI6IndhamUuc2h1YmhhbTExMUBnbWFpbC5jb20iLCJ1c2VybmFtZSI6IndhamVzaHViaGFtIiwicm9sZSI6IlVTRVIiLCJpYXQiOjE2ODU1NjMyMjEsImV4cCI6MTY4NTY0OTYyMX0.o6vbC9qrMHV_FfQNFZX3h053eOHvBgbl0iQJSB5NeNc\n                      refreshToken: >-\n                        eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDc2ZTM0ZWJlMWNmYjljYzA4YmQ0NDYiLCJpYXQiOjE2ODU1NjMyMjEsImV4cCI6MTY4NjQyNzIyMX0.TJpj8-2qU__GI_dKDdrHwQvUWCFSFXCfgOuV6MV05UI\n                    message: Access token refreshed\n                    statusCode: 200\n                    success: true\n  /users/assign-role/{userId}:\n    post:\n      tags:\n        \n        - 🔐 Authentication\n      summary: Assign role\n      description: >-\n        The API endpoint allows administrators to change the roles of users\n        within the system.\n\n\n        This functionality is restricted to users with the `ADMIN` role,\n        ensuring that only authorized personnel can modify user roles.\n\n\n        It provides an essential tool for managing user permissions and ensuring\n        proper authorization levels within the system.\n      operationId: assignRole\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                role:\n                  type: string\n                  example: ADMIN\n            example:\n              role: ADMIN\n      responses:\n        '200':\n          description: Assign role\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '81'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 18:21:25 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"51-BNIeEDSuAnaNdBbrTmV3XGTq/UI\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties: {}\n                  message:\n                    type: string\n                    example: Role changed for the user\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Assign role:\n                  value:\n                    data: {}\n                    message: Role changed for the user\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: userId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 6489626dc265f0aa2dbb73a4\n  /users/resend-email-verification:\n    post:\n      tags:\n        \n        - 🔐 Authentication\n      summary: Resend email verification\n      description: >-\n        The API endpoint allows the logged-in user to request a resend of the\n        email verification mail.\n\n\n        By accessing this endpoint, the user can trigger the system to send\n        another email verification link to their registered email address.\n\n\n        This functionality is useful in cases where the initial verification\n        email may have been missed, expired, or encountered delivery issues.\n      operationId: resendEmailVerification\n      responses:\n        '200':\n          description: Resend email verification\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '90'\n            Date:\n              schema:\n                type: string\n                example: Tue, 11 Jul 2023 11:21:09 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"5a-X7vQiakRpbaQ9FVZl382RqNiEXM\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '496'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '256'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties: {}\n                  message:\n                    type: string\n                    example: Mail has been sent to your mail ID\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Resend email verification:\n                  value:\n                    data: {}\n                    message: Mail has been sent to your mail ID\n                    statusCode: 200\n                    success: true\n        '409':\n          description: Email already verified\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '308'\n            Date:\n              schema:\n                type: string\n                example: Tue, 11 Jul 2023 11:20:26 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"134-2nk8UuSQMCvNMSSCvXDmtH9sxC0\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '499'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '295'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    nullable: true\n                    example: null\n                  errors:\n                    type: array\n                    items: {}\n                    example: []\n                  message:\n                    type: string\n                    example: Email is already verified!\n                  stack:\n                    type: string\n                    example: |-\n                      Error: Email is already verified!\n                          at file:///usr/src/freeapi/src/controllers/apps/auth/user.controllers.js:240:11\n                          at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n                  statusCode:\n                    type: number\n                    example: 409\n                  success:\n                    type: boolean\n                    example: false\n              examples:\n                Email already verified:\n                  value:\n                    data: null\n                    errors: []\n                    message: Email is already verified!\n                    stack: |-\n                      Error: Email is already verified!\n                          at file:///usr/src/freeapi/src/controllers/apps/auth/user.controllers.js:240:11\n                          at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n                    statusCode: 409\n                    success: false\n  /users/change-password:\n    post:\n      tags:\n        \n        - 🔐 Authentication\n      summary: Change current password\n      description: >-\n        The Change Password API allows logged-in users to update their current\n        password by providing the old password as a verification step.\n\n\n        This API provides a secure mechanism for users to change their passwords\n        within the application.\n\n\n        By accessing this endpoint and providing the old password, users can\n        initiate the password change process and set a new password of their\n        choice.\n      operationId: changeCurrentPassword\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                newPassword:\n                  type: string\n                  example: test@123\n                oldPassword:\n                  type: string\n                  example: new@123\n            example:\n              newPassword: test@123\n              oldPassword: new@123\n      responses:\n        '200':\n          description: Change current password\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '85'\n            Date:\n              schema:\n                type: string\n                example: Wed, 31 May 2023 19:59:47 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"55-CyGJCaxqcCXrzMloar9z7m95mvk\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties: {}\n                  message:\n                    type: string\n                    example: Password changed successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Change current password:\n                  value:\n                    data: {}\n                    message: Password changed successfully\n                    statusCode: 200\n                    success: true\n  /users/forgot-password:\n    post:\n      tags:\n        \n        - 🔐 Authentication\n      summary: Forgot password request\n      description: >-\n        The API endpoint allows you to send a forgot password email by providing\n        the user's email ID.\n\n\n        When accessing this endpoint and providing the email ID as a parameter,\n        the API initiates the process of sending a password reset email to the\n        specified email address.\n\n\n        This functionality is useful for implementing password recovery\n        mechanisms within your application, allowing users to reset their\n        passwords securely.\n      operationId: forgotPasswordRequest\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                email:\n                  type: string\n                  example: user.email@domain.com\n            example:\n              email: user.email@domain.com\n      responses:\n        '200':\n          description: Forgot password request\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '105'\n            Date:\n              schema:\n                type: string\n                example: Wed, 31 May 2023 19:56:15 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"69-7OD21C6OqsuAipwphfFVCzbFDQc\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties: {}\n                  message:\n                    type: string\n                    example: Password reset mail has been sent on your mail id\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Forgot password request:\n                  value:\n                    data: {}\n                    message: Password reset mail has been sent on your mail id\n                    statusCode: 200\n                    success: true\n  /users/reset-password/{resetToken}:\n    post:\n      tags:\n        \n        - 🔐 Authentication\n      summary: Reset forgotten password\n      description: >-\n        The API endpoint enables users to reset their password through the\n        password reset email.\n\n\n        By providing the new password and the password reset token obtained from\n        the URL, users can securely reset their password and regain access to\n        their account.\n\n\n        This functionality ensures a secure and streamlined password reset\n        process, allowing users to update their password conveniently and\n        protect their account from unauthorized access.\n      operationId: resetForgottenPassword\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                newPassword:\n                  type: string\n                  example: test@123\n            example:\n              newPassword: test@123\n      responses:\n        '200':\n          description: Reset forgotten password\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '83'\n            Date:\n              schema:\n                type: string\n                example: Wed, 31 May 2023 19:56:40 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"53-RWrdVFUHS8Zx4JB6qmRarYVrwKw\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties: {}\n                  message:\n                    type: string\n                    example: Password reset successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Reset forgotten password:\n                  value:\n                    data: {}\n                    message: Password reset successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: resetToken\n        in: path\n        required: true\n        schema:\n          type: string\n          example: ''\n  /users/avatar:\n    patch:\n      tags:\n        \n        - 🔐 Authentication\n      summary: Update avatar\n      description: >-\n        The API endpoint enables users to update their avatar or profile\n        picture.\n\n\n        By accessing this endpoint and providing the necessary parameters, users\n        can upload a new image file for their desired avatar.\n      operationId: updateAvatar\n      requestBody:\n        content:\n          multipart/form-data:\n            schema:\n              type: object\n              properties:\n                avatar:\n                  description: File\n                  type: string\n                  format: binary\n      responses:\n        '200':\n          description: Update avatar\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '910'\n            Date:\n              schema:\n                type: string\n                example: Fri, 30 Jun 2023 06:45:46 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"38e-+vTTKQiTCppZaCs9tEWJWWsmzZI\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '490'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '572'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 649e795264e7dba29b726936\n                      avatar:\n                        type: object\n                        properties:\n                          _id:\n                            type: string\n                            example: 649e7a1a64e7dba29b726965\n                          localPath:\n                            type: string\n                            example: public/images/plastic168810754602425641.jpeg\n                          url:\n                            type: string\n                            example: >-\n                              http://localhost:8080/images/plastic168810754602425641.jpeg\n                      createdAt:\n                        type: string\n                        example: '2023-06-30T06:42:26.163Z'\n                      email:\n                        type: string\n                        example: user.email@domain.com\n                      emailVerificationExpiry:\n                        type: string\n                        example: '2023-06-30T07:02:26.246Z'\n                      emailVerificationToken:\n                        type: string\n                        example: >-\n                          d2749e5298e1acf73cf09d06477669415503bb81e3c6505eff4560c6522ad263\n                      isEmailVerified:\n                        type: boolean\n                        example: false\n                      loginType:\n                        type: string\n                        example: EMAIL_PASSWORD\n                      password:\n                        type: string\n                        example: >-\n                          $2b$10$hyujCc82BcVxlKL42YH2N.bES5gr3SbSt1njbzYh1Deim/KI2sx0i\n                      refreshToken:\n                        type: string\n                        example: >-\n                          eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDllNzk1MjY0ZTdkYmEyOWI3MjY5MzYiLCJpYXQiOjE2ODgxMDc1MjAsImV4cCI6MTY4ODk3MTUyMH0.Y9w5ZbXs8S8n2kuTLBHA5co8ez4KvebyJS2_o-9mxKU\n                      role:\n                        type: string\n                        example: ADMIN\n                      updatedAt:\n                        type: string\n                        example: '2023-06-30T06:45:46.055Z'\n                      username:\n                        type: string\n                        example: doejohn\n                  message:\n                    type: string\n                    example: Avatar updated successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Update avatar:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 649e795264e7dba29b726936\n                      avatar:\n                        _id: 649e7a1a64e7dba29b726965\n                        localPath: public/images/plastic168810754602425641.jpeg\n                        url: >-\n                          http://localhost:8080/images/plastic168810754602425641.jpeg\n                      createdAt: '2023-06-30T06:42:26.163Z'\n                      email: user.email@domain.com\n                      emailVerificationExpiry: '2023-06-30T07:02:26.246Z'\n                      emailVerificationToken: >-\n                        d2749e5298e1acf73cf09d06477669415503bb81e3c6505eff4560c6522ad263\n                      isEmailVerified: false\n                      loginType: EMAIL_PASSWORD\n                      password: >-\n                        $2b$10$hyujCc82BcVxlKL42YH2N.bES5gr3SbSt1njbzYh1Deim/KI2sx0i\n                      refreshToken: >-\n                        eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NDllNzk1MjY0ZTdkYmEyOWI3MjY5MzYiLCJpYXQiOjE2ODgxMDc1MjAsImV4cCI6MTY4ODk3MTUyMH0.Y9w5ZbXs8S8n2kuTLBHA5co8ez4KvebyJS2_o-9mxKU\n                      role: ADMIN\n                      updatedAt: '2023-06-30T06:45:46.055Z'\n                      username: doejohn\n                    message: Avatar updated successfully\n                    statusCode: 200\n                    success: true\n  /ecommerce/profile:\n    get:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Get my profile\n      description: >-\n        The API endpoint allows you to retrieve the e-commerce profile of the\n        logged-in user.\n\n\n        When accessing this endpoint, you will receive a response containing the\n        basic details of the user's e-commerce profile.\n\n\n        This includes information such as the user's name, email address, phone\n        number, and other relevant details.\n      operationId: getMyProfile\n      responses:\n        '200':\n          description: Get my profile\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '329'\n            Date:\n              schema:\n                type: string\n                example: Fri, 30 Jun 2023 06:47:39 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"149-KxRWp+W5iZrqR3NcKWOMDkzhiLw\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '484'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '459'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 649e795264e7dba29b72693b\n                      countryCode:\n                        type: string\n                        example: '+91'\n                      createdAt:\n                        type: string\n                        example: '2023-06-30T06:42:26.237Z'\n                      firstName:\n                        type: string\n                        example: John\n                      lastName:\n                        type: string\n                        example: Doe\n                      owner:\n                        type: string\n                        example: 649e795264e7dba29b726936\n                      phoneNumber:\n                        type: string\n                        example: '9893894838'\n                      updatedAt:\n                        type: string\n                        example: '2023-06-30T06:47:27.835Z'\n                  message:\n                    type: string\n                    example: User profile fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get my profile:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 649e795264e7dba29b72693b\n                      countryCode: '+91'\n                      createdAt: '2023-06-30T06:42:26.237Z'\n                      firstName: John\n                      lastName: Doe\n                      owner: 649e795264e7dba29b726936\n                      phoneNumber: '9893894838'\n                      updatedAt: '2023-06-30T06:47:27.835Z'\n                    message: User profile fetched successfully\n                    statusCode: 200\n                    success: true\n    patch:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Update my profile\n      description: >-\n        The API endpoint allows a logged-in user to update their e-commerce\n        profile.\n\n\n        With this endpoint, users can make changes and updates to their profile\n        information, such as personal details, contact information, or any other\n        relevant profile attributes.\n      operationId: updateMyProfile\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                countryCode:\n                  type: string\n                  example: '+91'\n                firstName:\n                  type: string\n                  example: John\n                lastName:\n                  type: string\n                  example: Doe\n                phoneNumber:\n                  type: string\n                  example: '9893894838'\n            example:\n              countryCode: '+91'\n              firstName: John\n              lastName: Doe\n              phoneNumber: '9893894838'\n      responses:\n        '200':\n          description: Update my profile\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '329'\n            Date:\n              schema:\n                type: string\n                example: Sat, 03 Jun 2023 16:17:45 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"149-pJXGVd/Co/DVA1nSrN5e2QVElGU\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 647b633598f964861cfc48e5\n                      countryCode:\n                        type: string\n                        example: '+91'\n                      createdAt:\n                        type: string\n                        example: '2023-06-03T15:58:45.283Z'\n                      firstName:\n                        type: string\n                        example: John\n                      lastName:\n                        type: string\n                        example: Doe\n                      owner:\n                        type: string\n                        example: 6476e34ebe1cfb9cc08bd446\n                      phoneNumber:\n                        type: string\n                        example: '9893894838'\n                      updatedAt:\n                        type: string\n                        example: '2023-06-03T16:17:45.744Z'\n                  message:\n                    type: string\n                    example: User profile updated successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Update my profile:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 647b633598f964861cfc48e5\n                      countryCode: '+91'\n                      createdAt: '2023-06-03T15:58:45.283Z'\n                      firstName: John\n                      lastName: Doe\n                      owner: 6476e34ebe1cfb9cc08bd446\n                      phoneNumber: '9893894838'\n                      updatedAt: '2023-06-03T16:17:45.744Z'\n                    message: User profile updated successfully\n                    statusCode: 200\n                    success: true\n  /ecommerce/profile/my-orders:\n    get:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Get my orders\n      description: >-\n        The API endpoint allows you to retrieve the placed orders of the\n        logged-in user in an ecommerce application.\n\n\n        When accessing this endpoint, you will receive a response containing the\n        list of orders that have been placed by the currently authenticated\n        user.\n      operationId: getMyOrders\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '10'\n      responses:\n        '200':\n          description: Get my orders\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '982'\n            Date:\n              schema:\n                type: string\n                example: Fri, 30 Jun 2023 06:55:43 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"3d6-RqwG7kYNo6cnNFd7Vj/yhuWUtLs\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '493'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '778'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      hasNextPage:\n                        type: boolean\n                        example: false\n                      hasPrevPage:\n                        type: boolean\n                        example: false\n                      limit:\n                        type: number\n                        example: 10\n                      nextPage:\n                        nullable: true\n                        example: null\n                      orders:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            __v:\n                              type: number\n                              example: 0\n                            _id:\n                              type: string\n                              example: 649e7bfcdbf96264731f5a14\n                            address:\n                              type: object\n                              properties:\n                                __v:\n                                  type: number\n                                  example: 0\n                                _id:\n                                  type: string\n                                  example: 649e7bfcdbf96264731f5727\n                                addressLine1:\n                                  type: string\n                                  example: 1296 Crooks Forest\n                                addressLine2:\n                                  type: string\n                                  example: Quitzon Expressway\n                                city:\n                                  type: string\n                                  example: Malden\n                                country:\n                                  type: string\n                                  example: Argentina\n                                createdAt:\n                                  type: string\n                                  example: '2023-06-30T06:53:48.725Z'\n                                owner:\n                                  type: string\n                                  example: 649e7bfbdbf96264731f5416\n                                pincode:\n                                  type: string\n                                  example: '745740'\n                                state:\n                                  type: string\n                                  example: South Dakota\n                                updatedAt:\n                                  type: string\n                                  example: '2023-06-30T06:53:48.725Z'\n                            coupon:\n                              nullable: true\n                              example: null\n                            createdAt:\n                              type: string\n                              example: '2023-06-30T06:53:48.827Z'\n                            customer:\n                              type: object\n                              properties:\n                                _id:\n                                  type: string\n                                  example: 649e7bfbdbf96264731f5416\n                                email:\n                                  type: string\n                                  example: vernon_roberts19@hotmail.com\n                                username:\n                                  type: string\n                                  example: nicholas.lakin\n                            discountedOrderPrice:\n                              type: number\n                              example: 1014\n                            isPaymentDone:\n                              type: boolean\n                              example: true\n                            orderPrice:\n                              type: number\n                              example: 1014\n                            paymentId:\n                              type: string\n                              example: e0vN1lABsMCJlXaZZFk7rQg2\n                            paymentProvider:\n                              type: string\n                              example: PAYPAL\n                            status:\n                              type: string\n                              example: CANCELLED\n                            totalOrderItems:\n                              type: number\n                              example: 2\n                            updatedAt:\n                              type: string\n                              example: '2023-06-30T06:53:48.827Z'\n                        example:\n                          - __v: 0\n                            _id: 649e7bfcdbf96264731f5a14\n                            address:\n                              __v: 0\n                              _id: 649e7bfcdbf96264731f5727\n                              addressLine1: 1296 Crooks Forest\n                              addressLine2: Quitzon Expressway\n                              city: Malden\n                              country: Argentina\n                              createdAt: '2023-06-30T06:53:48.725Z'\n                              owner: 649e7bfbdbf96264731f5416\n                              pincode: '745740'\n                              state: South Dakota\n                              updatedAt: '2023-06-30T06:53:48.725Z'\n                            coupon: null\n                            createdAt: '2023-06-30T06:53:48.827Z'\n                            customer:\n                              _id: 649e7bfbdbf96264731f5416\n                              email: vernon_roberts19@hotmail.com\n                              username: nicholas.lakin\n                            discountedOrderPrice: 1014\n                            isPaymentDone: true\n                            orderPrice: 1014\n                            paymentId: e0vN1lABsMCJlXaZZFk7rQg2\n                            paymentProvider: PAYPAL\n                            status: CANCELLED\n                            totalOrderItems: 2\n                            updatedAt: '2023-06-30T06:53:48.827Z'\n                      page:\n                        type: number\n                        example: 1\n                      prevPage:\n                        nullable: true\n                        example: null\n                      serialNumberStartFrom:\n                        type: number\n                        example: 1\n                      totalOrders:\n                        type: number\n                        example: 1\n                      totalPages:\n                        type: number\n                        example: 1\n                  message:\n                    type: string\n                    example: Orders fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get my orders:\n                  value:\n                    data:\n                      hasNextPage: false\n                      hasPrevPage: false\n                      limit: 10\n                      nextPage: null\n                      orders:\n                        - __v: 0\n                          _id: 649e7bfcdbf96264731f5a14\n                          address:\n                            __v: 0\n                            _id: 649e7bfcdbf96264731f5727\n                            addressLine1: 1296 Crooks Forest\n                            addressLine2: Quitzon Expressway\n                            city: Malden\n                            country: Argentina\n                            createdAt: '2023-06-30T06:53:48.725Z'\n                            owner: 649e7bfbdbf96264731f5416\n                            pincode: '745740'\n                            state: South Dakota\n                            updatedAt: '2023-06-30T06:53:48.725Z'\n                          coupon: null\n                          createdAt: '2023-06-30T06:53:48.827Z'\n                          customer:\n                            _id: 649e7bfbdbf96264731f5416\n                            email: vernon_roberts19@hotmail.com\n                            username: nicholas.lakin\n                          discountedOrderPrice: 1014\n                          isPaymentDone: true\n                          orderPrice: 1014\n                          paymentId: e0vN1lABsMCJlXaZZFk7rQg2\n                          paymentProvider: PAYPAL\n                          status: CANCELLED\n                          totalOrderItems: 2\n                          updatedAt: '2023-06-30T06:53:48.827Z'\n                      page: 1\n                      prevPage: null\n                      serialNumberStartFrom: 1\n                      totalOrders: 1\n                      totalPages: 1\n                    message: Orders fetched successfully\n                    statusCode: 200\n                    success: true\n  /ecommerce/products:\n    get:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Get all products\n      description: >-\n        The API returns all the products available in an e-commerce application.\n\n\n        When invoked, this API fetches and retrieves the complete list of\n        products offered by the e-commerce platform.\n\n\n        The response typically includes details such as the product name,\n        description, price, stock, and other relevant information.\n\n\n        This API allows users or other systems to access and display the entire\n        catalog of products, facilitating browsing and purchasing decisions\n        within the e-commerce application.\n      operationId: getAllProducts\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '10'\n      responses:\n        '200':\n          description: Get all products\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '10316'\n            Date:\n              schema:\n                type: string\n                example: Fri, 30 Jun 2023 06:46:08 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"284c-FFGJ0jMipcvHcgLT/g/aCFKI02Q\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '489'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '550'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      hasNextPage:\n                        type: boolean\n                        example: true\n                      hasPrevPage:\n                        type: boolean\n                        example: false\n                      limit:\n                        type: number\n                        example: 10\n                      nextPage:\n                        type: number\n                        example: 2\n                      page:\n                        type: number\n                        example: 1\n                      prevPage:\n                        nullable: true\n                        example: null\n                      products:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            __v:\n                              type: number\n                              example: 0\n                            _id:\n                              type: string\n                              example: 649e792a64e7dba29b7266f0\n                            category:\n                              type: string\n                              example: 649e792a64e7dba29b7265fe\n                            createdAt:\n                              type: string\n                              example: '2023-06-30T06:41:46.445Z'\n                            description:\n                              type: string\n                              example: >-\n                                Carbonite web goalkeeper gloves are\n                                ergonomically designed to give easy fit\n                            mainImage:\n                              type: object\n                              properties:\n                                _id:\n                                  type: string\n                                  example: 649e792a64e7dba29b7266f1\n                                localPath:\n                                  type: string\n                                  example: ''\n                                url:\n                                  type: string\n                                  example: >-\n                                    https://loremflickr.com/640/480/product?lock=4496371623133184\n                            name:\n                              type: string\n                              example: Recycled Granite Gloves\n                            owner:\n                              type: string\n                              example: 649e792964e7dba29b7263a4\n                            price:\n                              type: number\n                              example: 413\n                            stock:\n                              type: number\n                              example: 47\n                            subImages:\n                              type: array\n                              items:\n                                type: object\n                                properties:\n                                  _id:\n                                    type: string\n                                    example: 649e792a64e7dba29b7266f2\n                                  localPath:\n                                    type: string\n                                    example: ''\n                                  url:\n                                    type: string\n                                    example: >-\n                                      https://loremflickr.com/640/480/product?lock=5094563479814144\n                              example:\n                                - _id: 649e792a64e7dba29b7266f2\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=5094563479814144\n                                - _id: 649e792a64e7dba29b7266f3\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=1134715742453760\n                                - _id: 649e792a64e7dba29b7266f4\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=1975560538423296\n                                - _id: 649e792a64e7dba29b7266f5\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=4972727878287360\n                            updatedAt:\n                              type: string\n                              example: '2023-06-30T06:41:46.445Z'\n                        example:\n                          - __v: 0\n                            _id: 649e792a64e7dba29b7266f0\n                            category: 649e792a64e7dba29b7265fe\n                            createdAt: '2023-06-30T06:41:46.445Z'\n                            description: >-\n                              Carbonite web goalkeeper gloves are ergonomically\n                              designed to give easy fit\n                            mainImage:\n                              _id: 649e792a64e7dba29b7266f1\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=4496371623133184\n                            name: Recycled Granite Gloves\n                            owner: 649e792964e7dba29b7263a4\n                            price: 413\n                            stock: 47\n                            subImages:\n                              - _id: 649e792a64e7dba29b7266f2\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=5094563479814144\n                              - _id: 649e792a64e7dba29b7266f3\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=1134715742453760\n                              - _id: 649e792a64e7dba29b7266f4\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=1975560538423296\n                              - _id: 649e792a64e7dba29b7266f5\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=4972727878287360\n                            updatedAt: '2023-06-30T06:41:46.445Z'\n                          - __v: 0\n                            _id: 649e792a64e7dba29b7266f6\n                            category: 649e792a64e7dba29b72660f\n                            createdAt: '2023-06-30T06:41:46.446Z'\n                            description: >-\n                              Ergonomic executive chair upholstered in bonded\n                              black leather and PVC padded seat and back for\n                              all-day comfort and support\n                            mainImage:\n                              _id: 649e792a64e7dba29b7266f7\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=6393156033576960\n                            name: Fantastic Rubber Bike\n                            owner: 649e792964e7dba29b726362\n                            price: 279\n                            stock: 94\n                            subImages:\n                              - _id: 649e792a64e7dba29b7266f8\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=4576081554178048\n                              - _id: 649e792a64e7dba29b7266f9\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=5055349610512384\n                              - _id: 649e792a64e7dba29b7266fa\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=10303488131072\n                              - _id: 649e792a64e7dba29b7266fb\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=6038712513200128\n                            updatedAt: '2023-06-30T06:41:46.446Z'\n                          - __v: 0\n                            _id: 649e792a64e7dba29b7266fc\n                            category: 649e792a64e7dba29b7265ff\n                            createdAt: '2023-06-30T06:41:46.446Z'\n                            description: >-\n                              The Nagasaki Lander is the trademarked name of\n                              several series of Nagasaki sport bikes, that\n                              started with the 1984 ABC800J\n                            mainImage:\n                              _id: 649e792a64e7dba29b7266fd\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=5744853168160768\n                            name: Practical Granite Fish\n                            owner: 649e792964e7dba29b7263a7\n                            price: 466\n                            stock: 179\n                            subImages:\n                              - _id: 649e792a64e7dba29b7266fe\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=3441473867481088\n                              - _id: 649e792a64e7dba29b7266ff\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=8111664301867008\n                              - _id: 649e792a64e7dba29b726700\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=3862151565410304\n                              - _id: 649e792a64e7dba29b726701\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=6567648261308416\n                            updatedAt: '2023-06-30T06:41:46.446Z'\n                          - __v: 0\n                            _id: 649e792a64e7dba29b726702\n                            category: 649e792a64e7dba29b7265fd\n                            createdAt: '2023-06-30T06:41:46.446Z'\n                            description: >-\n                              The Apollotech B340 is an affordable wireless\n                              mouse with reliable connectivity, 12 months\n                              battery life and modern design\n                            mainImage:\n                              _id: 649e792a64e7dba29b726703\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=606640741023744\n                            name: Ergonomic Bronze Bike\n                            owner: 649e792964e7dba29b72635c\n                            price: 307\n                            stock: 191\n                            subImages:\n                              - _id: 649e792a64e7dba29b726704\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=6442862795292672\n                              - _id: 649e792a64e7dba29b726705\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=2371933953851392\n                              - _id: 649e792a64e7dba29b726706\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=4393796584341504\n                              - _id: 649e792a64e7dba29b726707\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=5321613016825856\n                            updatedAt: '2023-06-30T06:41:46.446Z'\n                          - __v: 0\n                            _id: 649e792a64e7dba29b726708\n                            category: 649e792a64e7dba29b726604\n                            createdAt: '2023-06-30T06:41:46.446Z'\n                            description: >-\n                              Ergonomic executive chair upholstered in bonded\n                              black leather and PVC padded seat and back for\n                              all-day comfort and support\n                            mainImage:\n                              _id: 649e792a64e7dba29b726709\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=5380877301317632\n                            name: Bespoke Steel Bacon\n                            owner: 649e792964e7dba29b726350\n                            price: 388\n                            stock: 173\n                            subImages:\n                              - _id: 649e792a64e7dba29b72670a\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=2848776649703424\n                              - _id: 649e792a64e7dba29b72670b\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=6466610193760256\n                              - _id: 649e792a64e7dba29b72670c\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=1743350378004480\n                              - _id: 649e792a64e7dba29b72670d\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=2921780706541568\n                            updatedAt: '2023-06-30T06:41:46.446Z'\n                          - __v: 0\n                            _id: 649e792a64e7dba29b72670e\n                            category: 649e792a64e7dba29b726608\n                            createdAt: '2023-06-30T06:41:46.446Z'\n                            description: >-\n                              New range of formal shirts are designed keeping\n                              you in mind. With fits and styling that will make\n                              you stand apart\n                            mainImage:\n                              _id: 649e792a64e7dba29b72670f\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=7766081066237952\n                            name: Unbranded Bronze Tuna\n                            owner: 649e792964e7dba29b72635c\n                            price: 297\n                            stock: 153\n                            subImages:\n                              - _id: 649e792a64e7dba29b726710\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=5685355403542528\n                              - _id: 649e792a64e7dba29b726711\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=1859170695380992\n                              - _id: 649e792a64e7dba29b726712\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=8693214848483328\n                              - _id: 649e792a64e7dba29b726713\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=2093119717769216\n                            updatedAt: '2023-06-30T06:41:46.446Z'\n                          - __v: 0\n                            _id: 649e792a64e7dba29b726714\n                            category: 649e792a64e7dba29b726606\n                            createdAt: '2023-06-30T06:41:46.446Z'\n                            description: >-\n                              The beautiful range of Apple Naturalé that has an\n                              exciting mix of natural ingredients. With the\n                              Goodness of 100% Natural Ingredients\n                            mainImage:\n                              _id: 649e792a64e7dba29b726715\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=8709180300984320\n                            name: Elegant Wooden Shoes\n                            owner: 649e792964e7dba29b7263bf\n                            price: 221\n                            stock: 160\n                            subImages:\n                              - _id: 649e792a64e7dba29b726716\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=5432495300411392\n                              - _id: 649e792a64e7dba29b726717\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=5885583557656576\n                              - _id: 649e792a64e7dba29b726718\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=5222836027260928\n                              - _id: 649e792a64e7dba29b726719\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=6634133918842880\n                            updatedAt: '2023-06-30T06:41:46.446Z'\n                          - __v: 0\n                            _id: 649e792a64e7dba29b72671a\n                            category: 649e792a64e7dba29b72660d\n                            createdAt: '2023-06-30T06:41:46.446Z'\n                            description: >-\n                              The Nagasaki Lander is the trademarked name of\n                              several series of Nagasaki sport bikes, that\n                              started with the 1984 ABC800J\n                            mainImage:\n                              _id: 649e792a64e7dba29b72671b\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=3673276010201088\n                            name: Practical Bronze Computer\n                            owner: 649e792964e7dba29b7263a4\n                            price: 361\n                            stock: 137\n                            subImages:\n                              - _id: 649e792a64e7dba29b72671c\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=516012931809280\n                              - _id: 649e792a64e7dba29b72671d\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=7868442717716480\n                              - _id: 649e792a64e7dba29b72671e\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=8064180544339968\n                              - _id: 649e792a64e7dba29b72671f\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=8879073333870592\n                            updatedAt: '2023-06-30T06:41:46.446Z'\n                          - __v: 0\n                            _id: 649e792a64e7dba29b726720\n                            category: 649e792a64e7dba29b726607\n                            createdAt: '2023-06-30T06:41:46.447Z'\n                            description: >-\n                              New range of formal shirts are designed keeping\n                              you in mind. With fits and styling that will make\n                              you stand apart\n                            mainImage:\n                              _id: 649e792a64e7dba29b726721\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=1989480753922048\n                            name: Luxurious Soft Towels\n                            owner: 649e792964e7dba29b7263c5\n                            price: 302\n                            stock: 133\n                            subImages:\n                              - _id: 649e792a64e7dba29b726722\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=3067061530001408\n                              - _id: 649e792a64e7dba29b726723\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=7932942139523072\n                              - _id: 649e792a64e7dba29b726724\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=7902888368013312\n                              - _id: 649e792a64e7dba29b726725\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=6054974914035712\n                            updatedAt: '2023-06-30T06:41:46.447Z'\n                          - __v: 0\n                            _id: 649e792a64e7dba29b726726\n                            category: 649e792a64e7dba29b726608\n                            createdAt: '2023-06-30T06:41:46.447Z'\n                            description: >-\n                              Andy shoes are designed to keeping in mind\n                              durability as well as trends, the most stylish\n                              range of shoes & sandals\n                            mainImage:\n                              _id: 649e792a64e7dba29b726727\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=6117651933822976\n                            name: Awesome Wooden Gloves\n                            owner: 649e792964e7dba29b726368\n                            price: 452\n                            stock: 55\n                            subImages:\n                              - _id: 649e792a64e7dba29b726728\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=4436856554913792\n                              - _id: 649e792a64e7dba29b726729\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=6838954552721408\n                              - _id: 649e792a64e7dba29b72672a\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=2487662105591808\n                              - _id: 649e792a64e7dba29b72672b\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=1152004617404416\n                            updatedAt: '2023-06-30T06:41:46.447Z'\n                      serialNumberStartFrom:\n                        type: number\n                        example: 1\n                      totalPages:\n                        type: number\n                        example: 5\n                      totalProducts:\n                        type: number\n                        example: 50\n                  message:\n                    type: string\n                    example: Products fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get all products:\n                  value:\n                    data:\n                      hasNextPage: true\n                      hasPrevPage: false\n                      limit: 10\n                      nextPage: 2\n                      page: 1\n                      prevPage: null\n                      products:\n                        - __v: 0\n                          _id: 649e792a64e7dba29b7266f0\n                          category: 649e792a64e7dba29b7265fe\n                          createdAt: '2023-06-30T06:41:46.445Z'\n                          description: >-\n                            Carbonite web goalkeeper gloves are ergonomically\n                            designed to give easy fit\n                          mainImage:\n                            _id: 649e792a64e7dba29b7266f1\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/product?lock=4496371623133184\n                          name: Recycled Granite Gloves\n                          owner: 649e792964e7dba29b7263a4\n                          price: 413\n                          stock: 47\n                          subImages:\n                            - _id: 649e792a64e7dba29b7266f2\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=5094563479814144\n                            - _id: 649e792a64e7dba29b7266f3\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=1134715742453760\n                            - _id: 649e792a64e7dba29b7266f4\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=1975560538423296\n                            - _id: 649e792a64e7dba29b7266f5\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=4972727878287360\n                          updatedAt: '2023-06-30T06:41:46.445Z'\n                        - __v: 0\n                          _id: 649e792a64e7dba29b7266f6\n                          category: 649e792a64e7dba29b72660f\n                          createdAt: '2023-06-30T06:41:46.446Z'\n                          description: >-\n                            Ergonomic executive chair upholstered in bonded\n                            black leather and PVC padded seat and back for\n                            all-day comfort and support\n                          mainImage:\n                            _id: 649e792a64e7dba29b7266f7\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/product?lock=6393156033576960\n                          name: Fantastic Rubber Bike\n                          owner: 649e792964e7dba29b726362\n                          price: 279\n                          stock: 94\n                          subImages:\n                            - _id: 649e792a64e7dba29b7266f8\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=4576081554178048\n                            - _id: 649e792a64e7dba29b7266f9\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=5055349610512384\n                            - _id: 649e792a64e7dba29b7266fa\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=10303488131072\n                            - _id: 649e792a64e7dba29b7266fb\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=6038712513200128\n                          updatedAt: '2023-06-30T06:41:46.446Z'\n                        - __v: 0\n                          _id: 649e792a64e7dba29b7266fc\n                          category: 649e792a64e7dba29b7265ff\n                          createdAt: '2023-06-30T06:41:46.446Z'\n                          description: >-\n                            The Nagasaki Lander is the trademarked name of\n                            several series of Nagasaki sport bikes, that started\n                            with the 1984 ABC800J\n                          mainImage:\n                            _id: 649e792a64e7dba29b7266fd\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/product?lock=5744853168160768\n                          name: Practical Granite Fish\n                          owner: 649e792964e7dba29b7263a7\n                          price: 466\n                          stock: 179\n                          subImages:\n                            - _id: 649e792a64e7dba29b7266fe\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=3441473867481088\n                            - _id: 649e792a64e7dba29b7266ff\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=8111664301867008\n                            - _id: 649e792a64e7dba29b726700\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=3862151565410304\n                            - _id: 649e792a64e7dba29b726701\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=6567648261308416\n                          updatedAt: '2023-06-30T06:41:46.446Z'\n                        - __v: 0\n                          _id: 649e792a64e7dba29b726702\n                          category: 649e792a64e7dba29b7265fd\n                          createdAt: '2023-06-30T06:41:46.446Z'\n                          description: >-\n                            The Apollotech B340 is an affordable wireless mouse\n                            with reliable connectivity, 12 months battery life\n                            and modern design\n                          mainImage:\n                            _id: 649e792a64e7dba29b726703\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/product?lock=606640741023744\n                          name: Ergonomic Bronze Bike\n                          owner: 649e792964e7dba29b72635c\n                          price: 307\n                          stock: 191\n                          subImages:\n                            - _id: 649e792a64e7dba29b726704\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=6442862795292672\n                            - _id: 649e792a64e7dba29b726705\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=2371933953851392\n                            - _id: 649e792a64e7dba29b726706\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=4393796584341504\n                            - _id: 649e792a64e7dba29b726707\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=5321613016825856\n                          updatedAt: '2023-06-30T06:41:46.446Z'\n                        - __v: 0\n                          _id: 649e792a64e7dba29b726708\n                          category: 649e792a64e7dba29b726604\n                          createdAt: '2023-06-30T06:41:46.446Z'\n                          description: >-\n                            Ergonomic executive chair upholstered in bonded\n                            black leather and PVC padded seat and back for\n                            all-day comfort and support\n                          mainImage:\n                            _id: 649e792a64e7dba29b726709\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/product?lock=5380877301317632\n                          name: Bespoke Steel Bacon\n                          owner: 649e792964e7dba29b726350\n                          price: 388\n                          stock: 173\n                          subImages:\n                            - _id: 649e792a64e7dba29b72670a\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=2848776649703424\n                            - _id: 649e792a64e7dba29b72670b\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=6466610193760256\n                            - _id: 649e792a64e7dba29b72670c\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=1743350378004480\n                            - _id: 649e792a64e7dba29b72670d\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=2921780706541568\n                          updatedAt: '2023-06-30T06:41:46.446Z'\n                        - __v: 0\n                          _id: 649e792a64e7dba29b72670e\n                          category: 649e792a64e7dba29b726608\n                          createdAt: '2023-06-30T06:41:46.446Z'\n                          description: >-\n                            New range of formal shirts are designed keeping you\n                            in mind. With fits and styling that will make you\n                            stand apart\n                          mainImage:\n                            _id: 649e792a64e7dba29b72670f\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/product?lock=7766081066237952\n                          name: Unbranded Bronze Tuna\n                          owner: 649e792964e7dba29b72635c\n                          price: 297\n                          stock: 153\n                          subImages:\n                            - _id: 649e792a64e7dba29b726710\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=5685355403542528\n                            - _id: 649e792a64e7dba29b726711\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=1859170695380992\n                            - _id: 649e792a64e7dba29b726712\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=8693214848483328\n                            - _id: 649e792a64e7dba29b726713\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=2093119717769216\n                          updatedAt: '2023-06-30T06:41:46.446Z'\n                        - __v: 0\n                          _id: 649e792a64e7dba29b726714\n                          category: 649e792a64e7dba29b726606\n                          createdAt: '2023-06-30T06:41:46.446Z'\n                          description: >-\n                            The beautiful range of Apple Naturalé that has an\n                            exciting mix of natural ingredients. With the\n                            Goodness of 100% Natural Ingredients\n                          mainImage:\n                            _id: 649e792a64e7dba29b726715\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/product?lock=8709180300984320\n                          name: Elegant Wooden Shoes\n                          owner: 649e792964e7dba29b7263bf\n                          price: 221\n                          stock: 160\n                          subImages:\n                            - _id: 649e792a64e7dba29b726716\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=5432495300411392\n                            - _id: 649e792a64e7dba29b726717\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=5885583557656576\n                            - _id: 649e792a64e7dba29b726718\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=5222836027260928\n                            - _id: 649e792a64e7dba29b726719\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=6634133918842880\n                          updatedAt: '2023-06-30T06:41:46.446Z'\n                        - __v: 0\n                          _id: 649e792a64e7dba29b72671a\n                          category: 649e792a64e7dba29b72660d\n                          createdAt: '2023-06-30T06:41:46.446Z'\n                          description: >-\n                            The Nagasaki Lander is the trademarked name of\n                            several series of Nagasaki sport bikes, that started\n                            with the 1984 ABC800J\n                          mainImage:\n                            _id: 649e792a64e7dba29b72671b\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/product?lock=3673276010201088\n                          name: Practical Bronze Computer\n                          owner: 649e792964e7dba29b7263a4\n                          price: 361\n                          stock: 137\n                          subImages:\n                            - _id: 649e792a64e7dba29b72671c\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=516012931809280\n                            - _id: 649e792a64e7dba29b72671d\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=7868442717716480\n                            - _id: 649e792a64e7dba29b72671e\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=8064180544339968\n                            - _id: 649e792a64e7dba29b72671f\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=8879073333870592\n                          updatedAt: '2023-06-30T06:41:46.446Z'\n                        - __v: 0\n                          _id: 649e792a64e7dba29b726720\n                          category: 649e792a64e7dba29b726607\n                          createdAt: '2023-06-30T06:41:46.447Z'\n                          description: >-\n                            New range of formal shirts are designed keeping you\n                            in mind. With fits and styling that will make you\n                            stand apart\n                          mainImage:\n                            _id: 649e792a64e7dba29b726721\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/product?lock=1989480753922048\n                          name: Luxurious Soft Towels\n                          owner: 649e792964e7dba29b7263c5\n                          price: 302\n                          stock: 133\n                          subImages:\n                            - _id: 649e792a64e7dba29b726722\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=3067061530001408\n                            - _id: 649e792a64e7dba29b726723\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=7932942139523072\n                            - _id: 649e792a64e7dba29b726724\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=7902888368013312\n                            - _id: 649e792a64e7dba29b726725\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=6054974914035712\n                          updatedAt: '2023-06-30T06:41:46.447Z'\n                        - __v: 0\n                          _id: 649e792a64e7dba29b726726\n                          category: 649e792a64e7dba29b726608\n                          createdAt: '2023-06-30T06:41:46.447Z'\n                          description: >-\n                            Andy shoes are designed to keeping in mind\n                            durability as well as trends, the most stylish range\n                            of shoes & sandals\n                          mainImage:\n                            _id: 649e792a64e7dba29b726727\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/product?lock=6117651933822976\n                          name: Awesome Wooden Gloves\n                          owner: 649e792964e7dba29b726368\n                          price: 452\n                          stock: 55\n                          subImages:\n                            - _id: 649e792a64e7dba29b726728\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=4436856554913792\n                            - _id: 649e792a64e7dba29b726729\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=6838954552721408\n                            - _id: 649e792a64e7dba29b72672a\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=2487662105591808\n                            - _id: 649e792a64e7dba29b72672b\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=1152004617404416\n                          updatedAt: '2023-06-30T06:41:46.447Z'\n                      serialNumberStartFrom: 1\n                      totalPages: 5\n                      totalProducts: 50\n                    message: Products fetched successfully\n                    statusCode: 200\n                    success: true\n    post:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Create product\n      description: >-\n        The API enables an authenticated user with the role of `ADMIN` to create\n        a product by providing various details in the request body using form\n        data.\n\n\n        The required fields for creating a product includes:\n\n\n        - name\n\n        - description\n\n        - price\n\n        - stock quantity\n\n        - category (referenced by the category ID),\n\n        - mainImage (representing the main product image),\n\n        - subImages (up to **4** additional images that can be viewed in a\n        carousel on the frontend).\n            \n\n        By submitting this information via form data, the API allows\n        administrators to efficiently add new products to the system, ensuring\n        accurate and comprehensive product listings for users.\n      operationId: createProduct\n      requestBody:\n        content:\n          multipart/form-data:\n            schema:\n              type: object\n              properties:\n                category:\n                  type: string\n                  example: 649865ab297b287175aec1d7\n                description:\n                  type: string\n                  example: New description number 2\n                mainImage:\n                  description: FIle\n                  type: string\n                  format: binary\n                name:\n                  type: string\n                  example: Kids product\n                price:\n                  type: string\n                  example: '230'\n                stock:\n                  type: string\n                  example: '30'\n                subImages:\n                  description: >\n                    subImages is a multiple images field having 4 as a maximum\n                    number of images limit\n                  type: string\n                  format: binary\n      responses:\n        '201':\n          description: Create product\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '593'\n            Date:\n              schema:\n                type: string\n                example: Sat, 03 Jun 2023 19:54:12 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"251-0c2+egU9tiFke+Fe4j2Cs8PoBjg\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 647b9a640c656eb8be498f45\n                      category:\n                        type: string\n                        example: 6478e1c2b3b51f6d24e0aa5b\n                      createdAt:\n                        type: string\n                        example: '2023-06-03T19:54:12.026Z'\n                      description:\n                        type: string\n                        example: Product 2 description a long descriptio2\n                      mainImage:\n                        type: string\n                        example: >-\n                          http://localhost:8080/images/933e65fe78b096f07ac7fa60caf07d13\n                      name:\n                        type: string\n                        example: Product 2\n                      owner:\n                        type: string\n                        example: 647b8582f3c8e42f3200d26a\n                      price:\n                        type: number\n                        example: 4000\n                      stock:\n                        type: number\n                        example: 10\n                      subImages:\n                        type: array\n                        items:\n                          type: string\n                          example: >-\n                            http://localhost:8080/images/1983c8803bb472811a674635b40e2cdf\n                        example:\n                          - >-\n                            http://localhost:8080/images/1983c8803bb472811a674635b40e2cdf\n                          - >-\n                            http://localhost:8080/images/3422ec41808129eb1329ddb11f289690\n                      updatedAt:\n                        type: string\n                        example: '2023-06-03T19:54:12.026Z'\n                  message:\n                    type: string\n                    example: Product created successfully\n                  statusCode:\n                    type: number\n                    example: 201\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Create product:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 647b9a640c656eb8be498f45\n                      category: 6478e1c2b3b51f6d24e0aa5b\n                      createdAt: '2023-06-03T19:54:12.026Z'\n                      description: Product 2 description a long descriptio2\n                      mainImage: >-\n                        http://localhost:8080/images/933e65fe78b096f07ac7fa60caf07d13\n                      name: Product 2\n                      owner: 647b8582f3c8e42f3200d26a\n                      price: 4000\n                      stock: 10\n                      subImages:\n                        - >-\n                          http://localhost:8080/images/1983c8803bb472811a674635b40e2cdf\n                        - >-\n                          http://localhost:8080/images/3422ec41808129eb1329ddb11f289690\n                      updatedAt: '2023-06-03T19:54:12.026Z'\n                    message: Product created successfully\n                    statusCode: 201\n                    success: true\n  /ecommerce/products/{productId}:\n    get:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Get product by id\n      description: >-\n        The API retrieves a product based on the provided `productId` passed as\n        a path variable.\n\n\n        This API serves as a means to fetch specific product information from\n        the backend based on a unique identifier.\n\n\n        By passing the `productId` in the URL, the API searches and retrieves\n        the corresponding product details, including attributes such as name,\n        price, description, stock, images and any other relevant information\n        associated with the product.\n      operationId: getProductById1\n      responses:\n        '200':\n          description: Get product by id\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '1049'\n            Date:\n              schema:\n                type: string\n                example: Fri, 30 Jun 2023 06:46:28 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"419-felhExk9w5jleF/YrATZ0mFdx84\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '488'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '530'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 649e792a64e7dba29b7266f0\n                      category:\n                        type: string\n                        example: 649e792a64e7dba29b7265fe\n                      createdAt:\n                        type: string\n                        example: '2023-06-30T06:41:46.445Z'\n                      description:\n                        type: string\n                        example: >-\n                          Carbonite web goalkeeper gloves are ergonomically\n                          designed to give easy fit\n                      mainImage:\n                        type: object\n                        properties:\n                          _id:\n                            type: string\n                            example: 649e792a64e7dba29b7266f1\n                          localPath:\n                            type: string\n                            example: ''\n                          url:\n                            type: string\n                            example: >-\n                              https://loremflickr.com/640/480/product?lock=4496371623133184\n                      name:\n                        type: string\n                        example: Recycled Granite Gloves\n                      owner:\n                        type: string\n                        example: 649e792964e7dba29b7263a4\n                      price:\n                        type: number\n                        example: 413\n                      stock:\n                        type: number\n                        example: 47\n                      subImages:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            _id:\n                              type: string\n                              example: 649e792a64e7dba29b7266f2\n                            localPath:\n                              type: string\n                              example: ''\n                            url:\n                              type: string\n                              example: >-\n                                https://loremflickr.com/640/480/product?lock=5094563479814144\n                        example:\n                          - _id: 649e792a64e7dba29b7266f2\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/product?lock=5094563479814144\n                          - _id: 649e792a64e7dba29b7266f3\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/product?lock=1134715742453760\n                          - _id: 649e792a64e7dba29b7266f4\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/product?lock=1975560538423296\n                          - _id: 649e792a64e7dba29b7266f5\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/product?lock=4972727878287360\n                      updatedAt:\n                        type: string\n                        example: '2023-06-30T06:41:46.445Z'\n                  message:\n                    type: string\n                    example: Product fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get product by id:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 649e792a64e7dba29b7266f0\n                      category: 649e792a64e7dba29b7265fe\n                      createdAt: '2023-06-30T06:41:46.445Z'\n                      description: >-\n                        Carbonite web goalkeeper gloves are ergonomically\n                        designed to give easy fit\n                      mainImage:\n                        _id: 649e792a64e7dba29b7266f1\n                        localPath: ''\n                        url: >-\n                          https://loremflickr.com/640/480/product?lock=4496371623133184\n                      name: Recycled Granite Gloves\n                      owner: 649e792964e7dba29b7263a4\n                      price: 413\n                      stock: 47\n                      subImages:\n                        - _id: 649e792a64e7dba29b7266f2\n                          localPath: ''\n                          url: >-\n                            https://loremflickr.com/640/480/product?lock=5094563479814144\n                        - _id: 649e792a64e7dba29b7266f3\n                          localPath: ''\n                          url: >-\n                            https://loremflickr.com/640/480/product?lock=1134715742453760\n                        - _id: 649e792a64e7dba29b7266f4\n                          localPath: ''\n                          url: >-\n                            https://loremflickr.com/640/480/product?lock=1975560538423296\n                        - _id: 649e792a64e7dba29b7266f5\n                          localPath: ''\n                          url: >-\n                            https://loremflickr.com/640/480/product?lock=4972727878287360\n                      updatedAt: '2023-06-30T06:41:46.445Z'\n                    message: Product fetched successfully\n                    statusCode: 200\n                    success: true\n    delete:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Delete product\n      description: >-\n        The API allows an authenticated user with the role of `ADMIN` to delete\n        a product from the system.\n\n\n        It expects the `productId` to be passed as a path variable.\n\n\n        By utilizing this API, administrators can easily remove products from\n        the inventory or catalog.\n      operationId: deleteProduct\n      responses:\n        '200':\n          description: Delete product\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '548'\n            Date:\n              schema:\n                type: string\n                example: Sat, 03 Jun 2023 20:14:25 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"224-d6vikoPcxf+r/v/AC0Z0daQExbw\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      deletedProduct:\n                        type: object\n                        properties:\n                          __v:\n                            type: number\n                            example: 0\n                          _id:\n                            type: string\n                            example: 647b9f19f7ff0d570926fc90\n                          category:\n                            type: string\n                            example: 6478e1c2b3b51f6d24e0aa5b\n                          createdAt:\n                            type: string\n                            example: '2023-06-03T20:14:17.757Z'\n                          description:\n                            type: string\n                            example: Product 2 description a long descriptio2\n                          mainImage:\n                            type: string\n                            example: >-\n                              http://localhost:8080/images/3158bbdac41c02430fb7a7361349762e\n                          name:\n                            type: string\n                            example: Product 2\n                          owner:\n                            type: string\n                            example: 647b8582f3c8e42f3200d26a\n                          price:\n                            type: number\n                            example: 4000\n                          stock:\n                            type: number\n                            example: 20\n                          subImages:\n                            type: array\n                            items:\n                              type: string\n                              example: >-\n                                http://localhost:8080/images/9ee446c55af4e936efa9c4dc3e70cd80\n                            example:\n                              - >-\n                                http://localhost:8080/images/9ee446c55af4e936efa9c4dc3e70cd80\n                          updatedAt:\n                            type: string\n                            example: '2023-06-03T20:14:17.757Z'\n                  message:\n                    type: string\n                    example: Product deleted successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Delete product:\n                  value:\n                    data:\n                      deletedProduct:\n                        __v: 0\n                        _id: 647b9f19f7ff0d570926fc90\n                        category: 6478e1c2b3b51f6d24e0aa5b\n                        createdAt: '2023-06-03T20:14:17.757Z'\n                        description: Product 2 description a long descriptio2\n                        mainImage: >-\n                          http://localhost:8080/images/3158bbdac41c02430fb7a7361349762e\n                        name: Product 2\n                        owner: 647b8582f3c8e42f3200d26a\n                        price: 4000\n                        stock: 20\n                        subImages:\n                          - >-\n                            http://localhost:8080/images/9ee446c55af4e936efa9c4dc3e70cd80\n                        updatedAt: '2023-06-03T20:14:17.757Z'\n                    message: Product deleted successfully\n                    statusCode: 200\n                    success: true\n    patch:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Update product\n      description: >-\n        The API enables an authenticated user with the role of `ADMIN` to update\n        a product's information.\n\n\n        By passing the `productId` as a path variable, the API allows the user\n        to modify the product's attributes such as name, description, price,\n        stock, category (referenced by categoryId), mainImage (the primary\n        image), and subImages (up to four additional images displayed in a\n        carousel on the frontend).\n\n\n        All of these fields can be included in the request body as form data,\n        and they are optional, meaning that only the provided fields will be\n        updated.\n      operationId: updateProduct\n      requestBody:\n        content:\n          multipart/form-data:\n            schema:\n              type: object\n              properties:\n                category:\n                  type: string\n                  example: 647c406165391b736260db2b\n                description:\n                  type: string\n                  example: Updated desc\n                mainImage:\n                  description: File\n                  type: string\n                  format: binary\n                name:\n                  type: string\n                  example: Updated name\n                price:\n                  type: string\n                  example: '1234'\n                stock:\n                  type: string\n                  example: '20'\n                subImages:\n                  description: >\n                    subImages is a multiple images field having 4 as a maximum\n                    number of images limit\n                  type: string\n                  format: binary\n      responses:\n        '200':\n          description: Update product\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '1263'\n            Date:\n              schema:\n                type: string\n                example: Sun, 04 Jun 2023 10:22:44 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"4ef-XYeVAFcpfNf8veLjsTckan9U/nA\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 647c6059fe873dfa3c256fc3\n                      category:\n                        type: string\n                        example: 647c406165391b736260db2b\n                      createdAt:\n                        type: string\n                        example: '2023-06-04T09:58:49.324Z'\n                      description:\n                        type: string\n                        example: Updated desc\n                      mainImage:\n                        type: object\n                        properties:\n                          _id:\n                            type: string\n                            example: 647c65f480ce658300aead44\n                          localPath:\n                            type: string\n                            example: >-\n                              public/images/cover_image.png-168587416443763118173.png\n                          url:\n                            type: string\n                            example: >-\n                              http://localhost:8080/images/cover_image.png-168587416443763118173.png\n                      name:\n                        type: string\n                        example: Updated\n                      owner:\n                        type: string\n                        example: 647c5d68a1ce9c25a8033233\n                      price:\n                        type: number\n                        example: 1234\n                      stock:\n                        type: number\n                        example: 20\n                      subImages:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            _id:\n                              type: string\n                              example: 647c624209e864c63841e348\n                            localPath:\n                              type: string\n                              example: >-\n                                public/images/splash-1splash.png-1685873218943.png\n                            url:\n                              type: string\n                              example: >-\n                                http://localhost:8080/images/splash-1splash.png-1685873218943.png\n                        example:\n                          - _id: 647c624209e864c63841e348\n                            localPath: public/images/splash-1splash.png-1685873218943.png\n                            url: >-\n                              http://localhost:8080/images/splash-1splash.png-1685873218943.png\n                          - _id: 647c624209e864c63841e349\n                            localPath: >-\n                              public/images/Rectangle-1splash.png-1685873218945.png\n                            url: >-\n                              http://localhost:8080/images/Rectangle-1splash.png-1685873218945.png\n                          - _id: 647c624709e864c63841e354\n                            localPath: public/images/splash-1splash.png-1685873223567.png\n                            url: >-\n                              http://localhost:8080/images/splash-1splash.png-1685873223567.png\n                          - _id: 647c624709e864c63841e355\n                            localPath: >-\n                              public/images/Rectangle-1splash.png-1685873223568.png\n                            url: >-\n                              http://localhost:8080/images/Rectangle-1splash.png-1685873223568.png\n                      updatedAt:\n                        type: string\n                        example: '2023-06-04T10:22:44.459Z'\n                  message:\n                    type: string\n                    example: Product updated successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Update product:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 647c6059fe873dfa3c256fc3\n                      category: 647c406165391b736260db2b\n                      createdAt: '2023-06-04T09:58:49.324Z'\n                      description: Updated desc\n                      mainImage:\n                        _id: 647c65f480ce658300aead44\n                        localPath: >-\n                          public/images/cover_image.png-168587416443763118173.png\n                        url: >-\n                          http://localhost:8080/images/cover_image.png-168587416443763118173.png\n                      name: Updated\n                      owner: 647c5d68a1ce9c25a8033233\n                      price: 1234\n                      stock: 20\n                      subImages:\n                        - _id: 647c624209e864c63841e348\n                          localPath: public/images/splash-1splash.png-1685873218943.png\n                          url: >-\n                            http://localhost:8080/images/splash-1splash.png-1685873218943.png\n                        - _id: 647c624209e864c63841e349\n                          localPath: >-\n                            public/images/Rectangle-1splash.png-1685873218945.png\n                          url: >-\n                            http://localhost:8080/images/Rectangle-1splash.png-1685873218945.png\n                        - _id: 647c624709e864c63841e354\n                          localPath: public/images/splash-1splash.png-1685873223567.png\n                          url: >-\n                            http://localhost:8080/images/splash-1splash.png-1685873223567.png\n                        - _id: 647c624709e864c63841e355\n                          localPath: >-\n                            public/images/Rectangle-1splash.png-1685873223568.png\n                          url: >-\n                            http://localhost:8080/images/Rectangle-1splash.png-1685873223568.png\n                      updatedAt: '2023-06-04T10:22:44.459Z'\n                    message: Product updated successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: productId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 649d23e0aceaf82a41d5d34c\n  /ecommerce/products/category/{categoryId}:\n    get:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Get products by category\n      description: >-\n        The API retrieves a product based on the category it belongs to.\n\n\n        The category is determined by the `categoryId` provided as a path\n        variable.\n\n\n        By passing the appropriate `categoryId`, this API returns the product\n        that falls within that specific category.\n\n\n        This enables users to easily access and retrieve relevant products based\n        on their desired category.\n      operationId: getProductsByCategory\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '5'\n      responses:\n        '200':\n          description: Get products by category\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '4204'\n            Date:\n              schema:\n                type: string\n                example: Fri, 30 Jun 2023 06:46:51 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"106c-HhlBvkamPHc9r9IKdrRxyLIfaOg\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '487'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '507'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      category:\n                        type: object\n                        properties:\n                          _id:\n                            type: string\n                            example: 649e792a64e7dba29b7265fe\n                          name:\n                            type: string\n                            example: handcrafted\n                      hasNextPage:\n                        type: boolean\n                        example: false\n                      hasPrevPage:\n                        type: boolean\n                        example: false\n                      limit:\n                        type: number\n                        example: 5\n                      nextPage:\n                        nullable: true\n                        example: null\n                      page:\n                        type: number\n                        example: 1\n                      prevPage:\n                        nullable: true\n                        example: null\n                      products:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            __v:\n                              type: number\n                              example: 0\n                            _id:\n                              type: string\n                              example: 649e792a64e7dba29b7266f0\n                            category:\n                              type: string\n                              example: 649e792a64e7dba29b7265fe\n                            createdAt:\n                              type: string\n                              example: '2023-06-30T06:41:46.445Z'\n                            description:\n                              type: string\n                              example: >-\n                                Carbonite web goalkeeper gloves are\n                                ergonomically designed to give easy fit\n                            mainImage:\n                              type: object\n                              properties:\n                                _id:\n                                  type: string\n                                  example: 649e792a64e7dba29b7266f1\n                                localPath:\n                                  type: string\n                                  example: ''\n                                url:\n                                  type: string\n                                  example: >-\n                                    https://loremflickr.com/640/480/product?lock=4496371623133184\n                            name:\n                              type: string\n                              example: Recycled Granite Gloves\n                            owner:\n                              type: string\n                              example: 649e792964e7dba29b7263a4\n                            price:\n                              type: number\n                              example: 413\n                            stock:\n                              type: number\n                              example: 47\n                            subImages:\n                              type: array\n                              items:\n                                type: object\n                                properties:\n                                  _id:\n                                    type: string\n                                    example: 649e792a64e7dba29b7266f2\n                                  localPath:\n                                    type: string\n                                    example: ''\n                                  url:\n                                    type: string\n                                    example: >-\n                                      https://loremflickr.com/640/480/product?lock=5094563479814144\n                              example:\n                                - _id: 649e792a64e7dba29b7266f2\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=5094563479814144\n                                - _id: 649e792a64e7dba29b7266f3\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=1134715742453760\n                                - _id: 649e792a64e7dba29b7266f4\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=1975560538423296\n                                - _id: 649e792a64e7dba29b7266f5\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=4972727878287360\n                            updatedAt:\n                              type: string\n                              example: '2023-06-30T06:41:46.445Z'\n                        example:\n                          - __v: 0\n                            _id: 649e792a64e7dba29b7266f0\n                            category: 649e792a64e7dba29b7265fe\n                            createdAt: '2023-06-30T06:41:46.445Z'\n                            description: >-\n                              Carbonite web goalkeeper gloves are ergonomically\n                              designed to give easy fit\n                            mainImage:\n                              _id: 649e792a64e7dba29b7266f1\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=4496371623133184\n                            name: Recycled Granite Gloves\n                            owner: 649e792964e7dba29b7263a4\n                            price: 413\n                            stock: 47\n                            subImages:\n                              - _id: 649e792a64e7dba29b7266f2\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=5094563479814144\n                              - _id: 649e792a64e7dba29b7266f3\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=1134715742453760\n                              - _id: 649e792a64e7dba29b7266f4\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=1975560538423296\n                              - _id: 649e792a64e7dba29b7266f5\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=4972727878287360\n                            updatedAt: '2023-06-30T06:41:46.445Z'\n                          - __v: 0\n                            _id: 649e792a64e7dba29b72673e\n                            category: 649e792a64e7dba29b7265fe\n                            createdAt: '2023-06-30T06:41:46.447Z'\n                            description: >-\n                              The Football Is Good For Training And Recreational\n                              Purposes\n                            mainImage:\n                              _id: 649e792a64e7dba29b72673f\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=3477874684198912\n                            name: Intelligent Metal Chips\n                            owner: 649e792964e7dba29b72636e\n                            price: 319\n                            stock: 81\n                            subImages:\n                              - _id: 649e792a64e7dba29b726740\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=7241813800779776\n                              - _id: 649e792a64e7dba29b726741\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=1639631319728128\n                              - _id: 649e792a64e7dba29b726742\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=8095887169421312\n                              - _id: 649e792a64e7dba29b726743\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=6089812612218880\n                            updatedAt: '2023-06-30T06:41:46.447Z'\n                          - __v: 0\n                            _id: 649e792a64e7dba29b726786\n                            category: 649e792a64e7dba29b7265fe\n                            createdAt: '2023-06-30T06:41:46.450Z'\n                            description: >-\n                              The Football Is Good For Training And Recreational\n                              Purposes\n                            mainImage:\n                              _id: 649e792a64e7dba29b726787\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=1356405965586432\n                            name: Incredible Concrete Chips\n                            owner: 649e792964e7dba29b726386\n                            price: 420\n                            stock: 143\n                            subImages:\n                              - _id: 649e792a64e7dba29b726788\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=6159127573168128\n                              - _id: 649e792a64e7dba29b726789\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=8512416748929024\n                              - _id: 649e792a64e7dba29b72678a\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=7083507486556160\n                              - _id: 649e792a64e7dba29b72678b\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=6884377931808768\n                            updatedAt: '2023-06-30T06:41:46.450Z'\n                          - __v: 0\n                            _id: 649e792a64e7dba29b72679e\n                            category: 649e792a64e7dba29b7265fe\n                            createdAt: '2023-06-30T06:41:46.451Z'\n                            description: >-\n                              Andy shoes are designed to keeping in mind\n                              durability as well as trends, the most stylish\n                              range of shoes & sandals\n                            mainImage:\n                              _id: 649e792a64e7dba29b72679f\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=2176011603017728\n                            name: Practical Bronze Cheese\n                            owner: 649e792964e7dba29b7263c5\n                            price: 421\n                            stock: 30\n                            subImages:\n                              - _id: 649e792a64e7dba29b7267a0\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=5720405614526464\n                              - _id: 649e792a64e7dba29b7267a1\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=964500654129152\n                              - _id: 649e792a64e7dba29b7267a2\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=4740516342136832\n                              - _id: 649e792a64e7dba29b7267a3\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=3368160847724544\n                            updatedAt: '2023-06-30T06:41:46.451Z'\n                      serialNumberStartFrom:\n                        type: number\n                        example: 1\n                      totalPages:\n                        type: number\n                        example: 1\n                      totalProducts:\n                        type: number\n                        example: 4\n                  message:\n                    type: string\n                    example: Category products fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get products by category:\n                  value:\n                    data:\n                      category:\n                        _id: 649e792a64e7dba29b7265fe\n                        name: handcrafted\n                      hasNextPage: false\n                      hasPrevPage: false\n                      limit: 5\n                      nextPage: null\n                      page: 1\n                      prevPage: null\n                      products:\n                        - __v: 0\n                          _id: 649e792a64e7dba29b7266f0\n                          category: 649e792a64e7dba29b7265fe\n                          createdAt: '2023-06-30T06:41:46.445Z'\n                          description: >-\n                            Carbonite web goalkeeper gloves are ergonomically\n                            designed to give easy fit\n                          mainImage:\n                            _id: 649e792a64e7dba29b7266f1\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/product?lock=4496371623133184\n                          name: Recycled Granite Gloves\n                          owner: 649e792964e7dba29b7263a4\n                          price: 413\n                          stock: 47\n                          subImages:\n                            - _id: 649e792a64e7dba29b7266f2\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=5094563479814144\n                            - _id: 649e792a64e7dba29b7266f3\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=1134715742453760\n                            - _id: 649e792a64e7dba29b7266f4\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=1975560538423296\n                            - _id: 649e792a64e7dba29b7266f5\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=4972727878287360\n                          updatedAt: '2023-06-30T06:41:46.445Z'\n                        - __v: 0\n                          _id: 649e792a64e7dba29b72673e\n                          category: 649e792a64e7dba29b7265fe\n                          createdAt: '2023-06-30T06:41:46.447Z'\n                          description: >-\n                            The Football Is Good For Training And Recreational\n                            Purposes\n                          mainImage:\n                            _id: 649e792a64e7dba29b72673f\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/product?lock=3477874684198912\n                          name: Intelligent Metal Chips\n                          owner: 649e792964e7dba29b72636e\n                          price: 319\n                          stock: 81\n                          subImages:\n                            - _id: 649e792a64e7dba29b726740\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=7241813800779776\n                            - _id: 649e792a64e7dba29b726741\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=1639631319728128\n                            - _id: 649e792a64e7dba29b726742\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=8095887169421312\n                            - _id: 649e792a64e7dba29b726743\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=6089812612218880\n                          updatedAt: '2023-06-30T06:41:46.447Z'\n                        - __v: 0\n                          _id: 649e792a64e7dba29b726786\n                          category: 649e792a64e7dba29b7265fe\n                          createdAt: '2023-06-30T06:41:46.450Z'\n                          description: >-\n                            The Football Is Good For Training And Recreational\n                            Purposes\n                          mainImage:\n                            _id: 649e792a64e7dba29b726787\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/product?lock=1356405965586432\n                          name: Incredible Concrete Chips\n                          owner: 649e792964e7dba29b726386\n                          price: 420\n                          stock: 143\n                          subImages:\n                            - _id: 649e792a64e7dba29b726788\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=6159127573168128\n                            - _id: 649e792a64e7dba29b726789\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=8512416748929024\n                            - _id: 649e792a64e7dba29b72678a\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=7083507486556160\n                            - _id: 649e792a64e7dba29b72678b\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=6884377931808768\n                          updatedAt: '2023-06-30T06:41:46.450Z'\n                        - __v: 0\n                          _id: 649e792a64e7dba29b72679e\n                          category: 649e792a64e7dba29b7265fe\n                          createdAt: '2023-06-30T06:41:46.451Z'\n                          description: >-\n                            Andy shoes are designed to keeping in mind\n                            durability as well as trends, the most stylish range\n                            of shoes & sandals\n                          mainImage:\n                            _id: 649e792a64e7dba29b72679f\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/product?lock=2176011603017728\n                          name: Practical Bronze Cheese\n                          owner: 649e792964e7dba29b7263c5\n                          price: 421\n                          stock: 30\n                          subImages:\n                            - _id: 649e792a64e7dba29b7267a0\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=5720405614526464\n                            - _id: 649e792a64e7dba29b7267a1\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=964500654129152\n                            - _id: 649e792a64e7dba29b7267a2\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=4740516342136832\n                            - _id: 649e792a64e7dba29b7267a3\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=3368160847724544\n                          updatedAt: '2023-06-30T06:41:46.451Z'\n                      serialNumberStartFrom: 1\n                      totalPages: 1\n                      totalProducts: 4\n                    message: Category products fetched successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: categoryId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 649e792a64e7dba29b7265fe\n  /ecommerce/products/remove/subimage/{productId}/{subImageId}:\n    patch:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Remove sub image\n      description: >-\n        The API enables an `ADMIN` user to remove sub-images associated with a\n        product by providing `productId` and `subImageId`.\n\n\n        It provides functionality for the frontend to offer the `ADMIN` user an\n        option to manage the sub-images of a product.\n\n\n        Using this API, the `ADMIN` user can remove specific sub-images from the\n        product, thereby allowing them to effectively control and update the\n        visual representation of the product.\n      operationId: removeSubImage\n      responses:\n        '200':\n          description: Remove sub image\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '558'\n            Date:\n              schema:\n                type: string\n                example: Sun, 04 Jun 2023 10:25:46 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"22e-MkssPrFEEkFI/WuJH3/ChXM8Oo4\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 647c6059fe873dfa3c256fc3\n                      category:\n                        type: string\n                        example: 647c406165391b736260db2b\n                      createdAt:\n                        type: string\n                        example: '2023-06-04T09:58:49.324Z'\n                      description:\n                        type: string\n                        example: Updated desc\n                      mainImage:\n                        type: object\n                        properties:\n                          _id:\n                            type: string\n                            example: 647c65f480ce658300aead44\n                          localPath:\n                            type: string\n                            example: >-\n                              public/images/cover_image.png-168587416443763118173.png\n                          url:\n                            type: string\n                            example: >-\n                              http://localhost:8080/images/cover_image.png-168587416443763118173.png\n                      name:\n                        type: string\n                        example: Updated\n                      owner:\n                        type: string\n                        example: 647c5d68a1ce9c25a8033233\n                      price:\n                        type: number\n                        example: 1234\n                      stock:\n                        type: number\n                        example: 20\n                      subImages:\n                        type: array\n                        items: {}\n                        example: []\n                      updatedAt:\n                        type: string\n                        example: '2023-06-04T10:25:46.846Z'\n                  message:\n                    type: string\n                    example: Sub image removed successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Remove sub image:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 647c6059fe873dfa3c256fc3\n                      category: 647c406165391b736260db2b\n                      createdAt: '2023-06-04T09:58:49.324Z'\n                      description: Updated desc\n                      mainImage:\n                        _id: 647c65f480ce658300aead44\n                        localPath: >-\n                          public/images/cover_image.png-168587416443763118173.png\n                        url: >-\n                          http://localhost:8080/images/cover_image.png-168587416443763118173.png\n                      name: Updated\n                      owner: 647c5d68a1ce9c25a8033233\n                      price: 1234\n                      stock: 20\n                      subImages: []\n                      updatedAt: '2023-06-04T10:25:46.846Z'\n                    message: Sub image removed successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: productId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 647c6059fe873dfa3c256fc3\n      - name: subImageId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 647c69c1912544cbe9cf05a2\n  /ecommerce/cart:\n    get:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Get user cart\n      description: >-\n        The API endpoint returns the cart of the logged-in user.\n\n\n        This API allows authenticated users to retrieve the contents of their\n        shopping cart.\n\n\n        The response typically includes information about the products or items\n        added to the cart, such as their names, quantities, prices, and any\n        relevant details.\n\n\n        This endpoint ensures that only authorized users can access and view\n        their own cart data.\n      operationId: getUserCart\n      responses:\n        '200':\n          description: Get user cart\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '2691'\n            Date:\n              schema:\n                type: string\n                example: Fri, 30 Jun 2023 06:59:40 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"a83-bRUtfdDpKqrMaRCzOMex/QuIEAs\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '480'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '541'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      _id:\n                        type: string\n                        example: 649e7bfbdbf96264731f54c1\n                      cartTotal:\n                        type: number\n                        example: 3400\n                      coupon:\n                        type: object\n                        properties:\n                          __v:\n                            type: number\n                            example: 0\n                          _id:\n                            type: string\n                            example: 649e7bfcdbf96264731f5786\n                          couponCode:\n                            type: string\n                            example: CORRUPTI845\n                          createdAt:\n                            type: string\n                            example: '2023-06-30T06:53:48.738Z'\n                          discountValue:\n                            type: number\n                            example: 845\n                          expiryDate:\n                            type: string\n                            example: '2025-09-22T17:20:16.758Z'\n                          isActive:\n                            type: boolean\n                            example: true\n                          minimumCartValue:\n                            type: number\n                            example: 1145\n                          name:\n                            type: string\n                            example: temporibus\n                          owner:\n                            type: string\n                            example: 649e7bfbdbf96264731f5419\n                          startDate:\n                            type: string\n                            example: '2023-06-07T11:55:17.122Z'\n                          type:\n                            type: string\n                            example: FLAT\n                          updatedAt:\n                            type: string\n                            example: '2023-06-30T06:53:48.738Z'\n                      discountedTotal:\n                        type: number\n                        example: 2555\n                      items:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            _id:\n                              type: string\n                              example: 649e7bfbdbf96264731f54c1\n                            coupon:\n                              type: string\n                              example: 649e7bfcdbf96264731f5786\n                            product:\n                              type: object\n                              properties:\n                                __v:\n                                  type: number\n                                  example: 0\n                                _id:\n                                  type: string\n                                  example: 649e7bfcdbf96264731f57c8\n                                category:\n                                  type: string\n                                  example: 649e7bfcdbf96264731f56e1\n                                createdAt:\n                                  type: string\n                                  example: '2023-06-30T06:53:48.766Z'\n                                description:\n                                  type: string\n                                  example: >-\n                                    Carbonite web goalkeeper gloves are\n                                    ergonomically designed to give easy fit\n                                mainImage:\n                                  type: object\n                                  properties:\n                                    _id:\n                                      type: string\n                                      example: 649e7bfcdbf96264731f57c9\n                                    localPath:\n                                      type: string\n                                      example: ''\n                                    url:\n                                      type: string\n                                      example: >-\n                                        https://loremflickr.com/640/480/product?lock=7464317817454592\n                                name:\n                                  type: string\n                                  example: Recycled Granite Bacon\n                                owner:\n                                  type: string\n                                  example: 649e7bfbdbf96264731f543d\n                                price:\n                                  type: number\n                                  example: 426\n                                stock:\n                                  type: number\n                                  example: 47\n                                subImages:\n                                  type: array\n                                  items:\n                                    type: object\n                                    properties:\n                                      _id:\n                                        type: string\n                                        example: 649e7bfcdbf96264731f57ca\n                                      localPath:\n                                        type: string\n                                        example: ''\n                                      url:\n                                        type: string\n                                        example: >-\n                                          https://loremflickr.com/640/480/product?lock=3434367487574016\n                                  example:\n                                    - _id: 649e7bfcdbf96264731f57ca\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=3434367487574016\n                                    - _id: 649e7bfcdbf96264731f57cb\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=5167427790831616\n                                    - _id: 649e7bfcdbf96264731f57cc\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=3368131338698752\n                                    - _id: 649e7bfcdbf96264731f57cd\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=8845803512659968\n                                updatedAt:\n                                  type: string\n                                  example: '2023-06-30T06:53:48.766Z'\n                            quantity:\n                              type: number\n                              example: 6\n                        example:\n                          - _id: 649e7bfbdbf96264731f54c1\n                            coupon: 649e7bfcdbf96264731f5786\n                            product:\n                              __v: 0\n                              _id: 649e7bfcdbf96264731f57c8\n                              category: 649e7bfcdbf96264731f56e1\n                              createdAt: '2023-06-30T06:53:48.766Z'\n                              description: >-\n                                Carbonite web goalkeeper gloves are\n                                ergonomically designed to give easy fit\n                              mainImage:\n                                _id: 649e7bfcdbf96264731f57c9\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=7464317817454592\n                              name: Recycled Granite Bacon\n                              owner: 649e7bfbdbf96264731f543d\n                              price: 426\n                              stock: 47\n                              subImages:\n                                - _id: 649e7bfcdbf96264731f57ca\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=3434367487574016\n                                - _id: 649e7bfcdbf96264731f57cb\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=5167427790831616\n                                - _id: 649e7bfcdbf96264731f57cc\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=3368131338698752\n                                - _id: 649e7bfcdbf96264731f57cd\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=8845803512659968\n                              updatedAt: '2023-06-30T06:53:48.766Z'\n                            quantity: 6\n                          - _id: 649e7bfbdbf96264731f54c1\n                            coupon: 649e7bfcdbf96264731f5786\n                            product:\n                              __v: 0\n                              _id: 649e7bfcdbf96264731f57e0\n                              category: 649e7bfcdbf96264731f56df\n                              createdAt: '2023-06-30T06:53:48.767Z'\n                              description: >-\n                                New ABC 13 9370, 13.3, 5th Gen CoreA5-8250U, 8GB\n                                RAM, 256GB SSD, power UHD Graphics, OS 10 Home,\n                                OS Office A & J 2016\n                              mainImage:\n                                _id: 649e7bfcdbf96264731f57e1\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=8288021558329344\n                              name: Oriental Plastic Tuna\n                              owner: 649e7bfbdbf96264731f5467\n                              price: 211\n                              stock: 57\n                              subImages:\n                                - _id: 649e7bfcdbf96264731f57e2\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=2878816741490688\n                                - _id: 649e7bfcdbf96264731f57e3\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=1697180433776640\n                                - _id: 649e7bfcdbf96264731f57e4\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=4602145108131840\n                                - _id: 649e7bfcdbf96264731f57e5\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=1624351178752000\n                              updatedAt: '2023-06-30T06:53:48.767Z'\n                            quantity: 4\n                  message:\n                    type: string\n                    example: Cart fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get user cart:\n                  value:\n                    data:\n                      _id: 649e7bfbdbf96264731f54c1\n                      cartTotal: 3400\n                      coupon:\n                        __v: 0\n                        _id: 649e7bfcdbf96264731f5786\n                        couponCode: CORRUPTI845\n                        createdAt: '2023-06-30T06:53:48.738Z'\n                        discountValue: 845\n                        expiryDate: '2025-09-22T17:20:16.758Z'\n                        isActive: true\n                        minimumCartValue: 1145\n                        name: temporibus\n                        owner: 649e7bfbdbf96264731f5419\n                        startDate: '2023-06-07T11:55:17.122Z'\n                        type: FLAT\n                        updatedAt: '2023-06-30T06:53:48.738Z'\n                      discountedTotal: 2555\n                      items:\n                        - _id: 649e7bfbdbf96264731f54c1\n                          coupon: 649e7bfcdbf96264731f5786\n                          product:\n                            __v: 0\n                            _id: 649e7bfcdbf96264731f57c8\n                            category: 649e7bfcdbf96264731f56e1\n                            createdAt: '2023-06-30T06:53:48.766Z'\n                            description: >-\n                              Carbonite web goalkeeper gloves are ergonomically\n                              designed to give easy fit\n                            mainImage:\n                              _id: 649e7bfcdbf96264731f57c9\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=7464317817454592\n                            name: Recycled Granite Bacon\n                            owner: 649e7bfbdbf96264731f543d\n                            price: 426\n                            stock: 47\n                            subImages:\n                              - _id: 649e7bfcdbf96264731f57ca\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=3434367487574016\n                              - _id: 649e7bfcdbf96264731f57cb\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=5167427790831616\n                              - _id: 649e7bfcdbf96264731f57cc\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=3368131338698752\n                              - _id: 649e7bfcdbf96264731f57cd\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=8845803512659968\n                            updatedAt: '2023-06-30T06:53:48.766Z'\n                          quantity: 6\n                        - _id: 649e7bfbdbf96264731f54c1\n                          coupon: 649e7bfcdbf96264731f5786\n                          product:\n                            __v: 0\n                            _id: 649e7bfcdbf96264731f57e0\n                            category: 649e7bfcdbf96264731f56df\n                            createdAt: '2023-06-30T06:53:48.767Z'\n                            description: >-\n                              New ABC 13 9370, 13.3, 5th Gen CoreA5-8250U, 8GB\n                              RAM, 256GB SSD, power UHD Graphics, OS 10 Home, OS\n                              Office A & J 2016\n                            mainImage:\n                              _id: 649e7bfcdbf96264731f57e1\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=8288021558329344\n                            name: Oriental Plastic Tuna\n                            owner: 649e7bfbdbf96264731f5467\n                            price: 211\n                            stock: 57\n                            subImages:\n                              - _id: 649e7bfcdbf96264731f57e2\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=2878816741490688\n                              - _id: 649e7bfcdbf96264731f57e3\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=1697180433776640\n                              - _id: 649e7bfcdbf96264731f57e4\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=4602145108131840\n                              - _id: 649e7bfcdbf96264731f57e5\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=1624351178752000\n                            updatedAt: '2023-06-30T06:53:48.767Z'\n                          quantity: 4\n                    message: Cart fetched successfully\n                    statusCode: 200\n                    success: true\n  /ecommerce/cart/item/{productId}:\n    post:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Add item or update item quantity\n      description: >-\n        The API allows users to add a product to their cart or update the\n        quantity of an already added product.\n\n\n        The frontend can send a request to this API, passing the `productId` as\n        a path variable and the desired `quantity` as a number in the request\n        body.\n\n\n        This API handles both adding new products to the cart and updating the\n        quantity of existing products, providing a convenient way for users to\n        manage their shopping cart.\n\n        E.g. If user has `4` products already in cart and if user click on `add\n        more` button frontend should send quantity as `5` in the same api.\n        \n\n        _**NOTES:**_ \n       \n       \n        _Quanity that is passed in the request body will be assigned\n        directly and will be treated as a new quantity for the respective\n        product._\n\n       \n        _Minimum quantity should be 1. Once user decrements it from 1, instead of sending 0 call remove item from cart api._\n      operationId: addItemOrUpdateItemQuantity\n      requestBody:\n        content:\n          application/json:\n              schema:\n                type: object\n                properties:\n                  quantity:\n                    type: string\n                    example: 4\n              example:\n                quantity: 4\n      responses:\n        '200':\n          description: Add item or update item quantity\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '2280'\n            Date:\n              schema:\n                type: string\n                example: Fri, 30 Jun 2023 06:57:28 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"8e8-EAvcRDJ/e9Ako80d1RwPhdb0Hko\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '490'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '673'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      _id:\n                        type: string\n                        example: 649e7bfbdbf96264731f54c1\n                      cartTotal:\n                        type: number\n                        example: 3400\n                      discountedTotal:\n                        type: number\n                        example: 3400\n                      items:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            _id:\n                              type: string\n                              example: 649e7bfbdbf96264731f54c1\n                            coupon:\n                              nullable: true\n                              example: null\n                            product:\n                              type: object\n                              properties:\n                                __v:\n                                  type: number\n                                  example: 0\n                                _id:\n                                  type: string\n                                  example: 649e7bfcdbf96264731f57c8\n                                category:\n                                  type: string\n                                  example: 649e7bfcdbf96264731f56e1\n                                createdAt:\n                                  type: string\n                                  example: '2023-06-30T06:53:48.766Z'\n                                description:\n                                  type: string\n                                  example: >-\n                                    Carbonite web goalkeeper gloves are\n                                    ergonomically designed to give easy fit\n                                mainImage:\n                                  type: object\n                                  properties:\n                                    _id:\n                                      type: string\n                                      example: 649e7bfcdbf96264731f57c9\n                                    localPath:\n                                      type: string\n                                      example: ''\n                                    url:\n                                      type: string\n                                      example: >-\n                                        https://loremflickr.com/640/480/product?lock=7464317817454592\n                                name:\n                                  type: string\n                                  example: Recycled Granite Bacon\n                                owner:\n                                  type: string\n                                  example: 649e7bfbdbf96264731f543d\n                                price:\n                                  type: number\n                                  example: 426\n                                stock:\n                                  type: number\n                                  example: 47\n                                subImages:\n                                  type: array\n                                  items:\n                                    type: object\n                                    properties:\n                                      _id:\n                                        type: string\n                                        example: 649e7bfcdbf96264731f57ca\n                                      localPath:\n                                        type: string\n                                        example: ''\n                                      url:\n                                        type: string\n                                        example: >-\n                                          https://loremflickr.com/640/480/product?lock=3434367487574016\n                                  example:\n                                    - _id: 649e7bfcdbf96264731f57ca\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=3434367487574016\n                                    - _id: 649e7bfcdbf96264731f57cb\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=5167427790831616\n                                    - _id: 649e7bfcdbf96264731f57cc\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=3368131338698752\n                                    - _id: 649e7bfcdbf96264731f57cd\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=8845803512659968\n                                updatedAt:\n                                  type: string\n                                  example: '2023-06-30T06:53:48.766Z'\n                            quantity:\n                              type: number\n                              example: 6\n                        example:\n                          - _id: 649e7bfbdbf96264731f54c1\n                            coupon: null\n                            product:\n                              __v: 0\n                              _id: 649e7bfcdbf96264731f57c8\n                              category: 649e7bfcdbf96264731f56e1\n                              createdAt: '2023-06-30T06:53:48.766Z'\n                              description: >-\n                                Carbonite web goalkeeper gloves are\n                                ergonomically designed to give easy fit\n                              mainImage:\n                                _id: 649e7bfcdbf96264731f57c9\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=7464317817454592\n                              name: Recycled Granite Bacon\n                              owner: 649e7bfbdbf96264731f543d\n                              price: 426\n                              stock: 47\n                              subImages:\n                                - _id: 649e7bfcdbf96264731f57ca\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=3434367487574016\n                                - _id: 649e7bfcdbf96264731f57cb\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=5167427790831616\n                                - _id: 649e7bfcdbf96264731f57cc\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=3368131338698752\n                                - _id: 649e7bfcdbf96264731f57cd\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=8845803512659968\n                              updatedAt: '2023-06-30T06:53:48.766Z'\n                            quantity: 6\n                          - _id: 649e7bfbdbf96264731f54c1\n                            coupon: null\n                            product:\n                              __v: 0\n                              _id: 649e7bfcdbf96264731f57e0\n                              category: 649e7bfcdbf96264731f56df\n                              createdAt: '2023-06-30T06:53:48.767Z'\n                              description: >-\n                                New ABC 13 9370, 13.3, 5th Gen CoreA5-8250U, 8GB\n                                RAM, 256GB SSD, power UHD Graphics, OS 10 Home,\n                                OS Office A & J 2016\n                              mainImage:\n                                _id: 649e7bfcdbf96264731f57e1\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=8288021558329344\n                              name: Oriental Plastic Tuna\n                              owner: 649e7bfbdbf96264731f5467\n                              price: 211\n                              stock: 57\n                              subImages:\n                                - _id: 649e7bfcdbf96264731f57e2\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=2878816741490688\n                                - _id: 649e7bfcdbf96264731f57e3\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=1697180433776640\n                                - _id: 649e7bfcdbf96264731f57e4\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=4602145108131840\n                                - _id: 649e7bfcdbf96264731f57e5\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=1624351178752000\n                              updatedAt: '2023-06-30T06:53:48.767Z'\n                            quantity: 4\n                  message:\n                    type: string\n                    example: Item added successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Add item or update item quantity:\n                  value:\n                    data:\n                      _id: 649e7bfbdbf96264731f54c1\n                      cartTotal: 3400\n                      discountedTotal: 3400\n                      items:\n                        - _id: 649e7bfbdbf96264731f54c1\n                          coupon: null\n                          product:\n                            __v: 0\n                            _id: 649e7bfcdbf96264731f57c8\n                            category: 649e7bfcdbf96264731f56e1\n                            createdAt: '2023-06-30T06:53:48.766Z'\n                            description: >-\n                              Carbonite web goalkeeper gloves are ergonomically\n                              designed to give easy fit\n                            mainImage:\n                              _id: 649e7bfcdbf96264731f57c9\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=7464317817454592\n                            name: Recycled Granite Bacon\n                            owner: 649e7bfbdbf96264731f543d\n                            price: 426\n                            stock: 47\n                            subImages:\n                              - _id: 649e7bfcdbf96264731f57ca\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=3434367487574016\n                              - _id: 649e7bfcdbf96264731f57cb\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=5167427790831616\n                              - _id: 649e7bfcdbf96264731f57cc\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=3368131338698752\n                              - _id: 649e7bfcdbf96264731f57cd\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=8845803512659968\n                            updatedAt: '2023-06-30T06:53:48.766Z'\n                          quantity: 6\n                        - _id: 649e7bfbdbf96264731f54c1\n                          coupon: null\n                          product:\n                            __v: 0\n                            _id: 649e7bfcdbf96264731f57e0\n                            category: 649e7bfcdbf96264731f56df\n                            createdAt: '2023-06-30T06:53:48.767Z'\n                            description: >-\n                              New ABC 13 9370, 13.3, 5th Gen CoreA5-8250U, 8GB\n                              RAM, 256GB SSD, power UHD Graphics, OS 10 Home, OS\n                              Office A & J 2016\n                            mainImage:\n                              _id: 649e7bfcdbf96264731f57e1\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=8288021558329344\n                            name: Oriental Plastic Tuna\n                            owner: 649e7bfbdbf96264731f5467\n                            price: 211\n                            stock: 57\n                            subImages:\n                              - _id: 649e7bfcdbf96264731f57e2\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=2878816741490688\n                              - _id: 649e7bfcdbf96264731f57e3\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=1697180433776640\n                              - _id: 649e7bfcdbf96264731f57e4\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=4602145108131840\n                              - _id: 649e7bfcdbf96264731f57e5\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=1624351178752000\n                            updatedAt: '2023-06-30T06:53:48.767Z'\n                          quantity: 4\n                    message: Item added successfully\n                    statusCode: 200\n                    success: true\n    delete:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Remove item from cart\n      description: >-\n        The API allows users to remove/discard a complete product from their\n        shopping cart, regardless of its quantity.\n\n\n        The `productId` is passed as a path variable in the URL.\n\n\n        **This API endpoint is designed to remove the specified product\n        entirely** from the user's shopping cart, disregarding any quantity that\n        may have been added previously.\n      operationId: removeItemFromCart\n      responses:\n        '200':\n          description: Remove item from cart\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '493'\n            Date:\n              schema:\n                type: string\n                example: Sun, 04 Jun 2023 14:23:59 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1ed-cCwN+sM3/7dcQMCmOr4pGIM+TlE\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: array\n                    items:\n                      type: object\n                      properties:\n                        _id:\n                          type: string\n                          example: 647c94f4005517d68e8ebfff\n                        product:\n                          type: object\n                          properties:\n                            _id:\n                              type: string\n                              example: 647c6cf7bcc50b214b2562b9\n                            description:\n                              type: string\n                              example: Women Product 1 description a long descriptio\n                            mainImage:\n                              type: object\n                              properties:\n                                _id:\n                                  type: string\n                                  example: 647c6cf7bcc50b214b2562ba\n                                localPath:\n                                  type: string\n                                  example: >-\n                                    public/images/rectangle-1splash.png-168587595995075960680.png\n                                url:\n                                  type: string\n                                  example: >-\n                                    http://localhost:8080/images/rectangle-1splash.png-168587595995075960680.png\n                            name:\n                              type: string\n                              example: Women Product 1\n                            price:\n                              type: number\n                              example: 5000\n                            stock:\n                              type: number\n                              example: 100\n                        quantity:\n                          type: number\n                          example: 3\n                    example:\n                      - _id: 647c94f4005517d68e8ebfff\n                        product:\n                          _id: 647c6cf7bcc50b214b2562b9\n                          description: Women Product 1 description a long descriptio\n                          mainImage:\n                            _id: 647c6cf7bcc50b214b2562ba\n                            localPath: >-\n                              public/images/rectangle-1splash.png-168587595995075960680.png\n                            url: >-\n                              http://localhost:8080/images/rectangle-1splash.png-168587595995075960680.png\n                          name: Women Product 1\n                          price: 5000\n                          stock: 100\n                        quantity: 3\n                  message:\n                    type: string\n                    example: Item removed successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Remove item from cart:\n                  value:\n                    data:\n                      - _id: 647c94f4005517d68e8ebfff\n                        product:\n                          _id: 647c6cf7bcc50b214b2562b9\n                          description: Women Product 1 description a long descriptio\n                          mainImage:\n                            _id: 647c6cf7bcc50b214b2562ba\n                            localPath: >-\n                              public/images/rectangle-1splash.png-168587595995075960680.png\n                            url: >-\n                              http://localhost:8080/images/rectangle-1splash.png-168587595995075960680.png\n                          name: Women Product 1\n                          price: 5000\n                          stock: 100\n                        quantity: 3\n                    message: Item removed successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: productId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 649e7bfcdbf96264731f57e0\n  /ecommerce/cart/clear:\n    delete:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Clear cart\n      description: >-\n        The API endpoint allows a logged-in user to clear their entire shopping\n        cart.\n\n\n        By invoking this API, the user can remove all items from their cart,\n        effectively clearing it and starting afresh.\n\n\n        This feature provides a convenient way for users to manage their\n        shopping carts and begin a new shopping session.\n      operationId: clearCart\n      responses:\n        '200':\n          description: Clear cart\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '77'\n            Date:\n              schema:\n                type: string\n                example: Sun, 04 Jun 2023 14:29:44 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"4d-Ne1v7If8epu6SaFp/zCJsp/ycA8\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: array\n                    items: {}\n                    example: []\n                  message:\n                    type: string\n                    example: Cart has been cleared\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Clear cart:\n                  value:\n                    data: []\n                    message: Cart has been cleared\n                    statusCode: 200\n                    success: true\n  /ecommerce/categories:\n    get:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Get all categories\n      description: >-\n        The API endpoint allows users to fetch all the available categories in\n        an e-commerce application.\n\n\n        When accessing this endpoint, users will receive a response containing a\n        list of categories that exist within the e-commerce app.\n      operationId: getAllCategories\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '5'\n      responses:\n        '200':\n          description: Get all categories\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '1119'\n            Date:\n              schema:\n                type: string\n                example: Fri, 30 Jun 2023 06:49:55 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"45f-s2ygXEycd7BTsu3+ztyFEswA6ug\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '474'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '322'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      categories:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            __v:\n                              type: number\n                              example: 0\n                            _id:\n                              type: string\n                              example: 649e792a64e7dba29b7265fc\n                            createdAt:\n                              type: string\n                              example: '2023-06-30T06:41:46.367Z'\n                            name:\n                              type: string\n                              example: sleek\n                            owner:\n                              type: string\n                              example: 649e792964e7dba29b72634a\n                            updatedAt:\n                              type: string\n                              example: '2023-06-30T06:41:46.367Z'\n                        example:\n                          - __v: 0\n                            _id: 649e792a64e7dba29b7265fc\n                            createdAt: '2023-06-30T06:41:46.367Z'\n                            name: sleek\n                            owner: 649e792964e7dba29b72634a\n                            updatedAt: '2023-06-30T06:41:46.367Z'\n                          - __v: 0\n                            _id: 649e792a64e7dba29b7265fd\n                            createdAt: '2023-06-30T06:41:46.367Z'\n                            name: licensed\n                            owner: 649e792964e7dba29b72634a\n                            updatedAt: '2023-06-30T06:41:46.367Z'\n                          - __v: 0\n                            _id: 649e792a64e7dba29b7265fe\n                            createdAt: '2023-06-30T06:41:46.367Z'\n                            name: handcrafted\n                            owner: 649e792964e7dba29b72634a\n                            updatedAt: '2023-06-30T06:41:46.367Z'\n                          - __v: 0\n                            _id: 649e792a64e7dba29b7265ff\n                            createdAt: '2023-06-30T06:41:46.367Z'\n                            name: licensed\n                            owner: 649e792964e7dba29b72634a\n                            updatedAt: '2023-06-30T06:41:46.367Z'\n                          - __v: 0\n                            _id: 649e792a64e7dba29b726600\n                            createdAt: '2023-06-30T06:41:46.367Z'\n                            name: refined\n                            owner: 649e792964e7dba29b72634a\n                            updatedAt: '2023-06-30T06:41:46.367Z'\n                      hasNextPage:\n                        type: boolean\n                        example: true\n                      hasPrevPage:\n                        type: boolean\n                        example: false\n                      limit:\n                        type: number\n                        example: 5\n                      nextPage:\n                        type: number\n                        example: 2\n                      page:\n                        type: number\n                        example: 1\n                      prevPage:\n                        nullable: true\n                        example: null\n                      serialNumberStartFrom:\n                        type: number\n                        example: 1\n                      totalCategories:\n                        type: number\n                        example: 20\n                      totalPages:\n                        type: number\n                        example: 4\n                  message:\n                    type: string\n                    example: Categories fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get all categories:\n                  value:\n                    data:\n                      categories:\n                        - __v: 0\n                          _id: 649e792a64e7dba29b7265fc\n                          createdAt: '2023-06-30T06:41:46.367Z'\n                          name: sleek\n                          owner: 649e792964e7dba29b72634a\n                          updatedAt: '2023-06-30T06:41:46.367Z'\n                        - __v: 0\n                          _id: 649e792a64e7dba29b7265fd\n                          createdAt: '2023-06-30T06:41:46.367Z'\n                          name: licensed\n                          owner: 649e792964e7dba29b72634a\n                          updatedAt: '2023-06-30T06:41:46.367Z'\n                        - __v: 0\n                          _id: 649e792a64e7dba29b7265fe\n                          createdAt: '2023-06-30T06:41:46.367Z'\n                          name: handcrafted\n                          owner: 649e792964e7dba29b72634a\n                          updatedAt: '2023-06-30T06:41:46.367Z'\n                        - __v: 0\n                          _id: 649e792a64e7dba29b7265ff\n                          createdAt: '2023-06-30T06:41:46.367Z'\n                          name: licensed\n                          owner: 649e792964e7dba29b72634a\n                          updatedAt: '2023-06-30T06:41:46.367Z'\n                        - __v: 0\n                          _id: 649e792a64e7dba29b726600\n                          createdAt: '2023-06-30T06:41:46.367Z'\n                          name: refined\n                          owner: 649e792964e7dba29b72634a\n                          updatedAt: '2023-06-30T06:41:46.367Z'\n                      hasNextPage: true\n                      hasPrevPage: false\n                      limit: 5\n                      nextPage: 2\n                      page: 1\n                      prevPage: null\n                      serialNumberStartFrom: 1\n                      totalCategories: 20\n                      totalPages: 4\n                    message: Categories fetched successfully\n                    statusCode: 200\n                    success: true\n    post:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Create category\n      description: >-\n        The API endpoint allows an administrator user with the appropriate role\n        to create a new category.\n\n\n        By sending a request to this endpoint with the desired category `name`\n        provided in the request body, the API will create a new category in the\n        system.\n\n\n        This functionality is restricted to users with an `ADMIN` role to ensure\n        proper access control and authorization.\n      operationId: createCategory\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                name:\n                  type: string\n                  example: shirts\n            example:\n              name: shirts\n      responses:\n        '201':\n          description: Create category\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '259'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 18:21:54 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"103-ibkh7OfW2oFI2Hu6/HePHwk1zP4\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 6478e1c2b3b51f6d24e0aa5b\n                      createdAt:\n                        type: string\n                        example: '2023-06-01T18:21:54.762Z'\n                      name:\n                        type: string\n                        example: womens-wear\n                      owner:\n                        type: string\n                        example: 6476e34ebe1cfb9cc08bd446\n                      updatedAt:\n                        type: string\n                        example: '2023-06-01T18:21:54.762Z'\n                  message:\n                    type: string\n                    example: Category created successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Create category:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 6478e1c2b3b51f6d24e0aa5b\n                      createdAt: '2023-06-01T18:21:54.762Z'\n                      name: womens-wear\n                      owner: 6476e34ebe1cfb9cc08bd446\n                      updatedAt: '2023-06-01T18:21:54.762Z'\n                    message: Category created successfully\n                    statusCode: 200\n                    success: true\n  /ecommerce/categories/{categoryId}:\n    get:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Get category by id\n      description: >-\n        The API endpoint allows users to fetch a category based on the\n        `categoryId` provided as a path variable in the URL.\n\n\n        When accessing this endpoint and providing a valid `categoryId`, the\n        response will contain the details and information associated with the\n        specified category.\n      operationId: getCategoryById\n      responses:\n        '200':\n          description: Get category by id\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '253'\n            Date:\n              schema:\n                type: string\n                example: Fri, 30 Jun 2023 06:50:09 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"fd-QlbOO2EXntlgPEdN4R7cMC/8jSc\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '473'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '309'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 649e792a64e7dba29b7265fc\n                      createdAt:\n                        type: string\n                        example: '2023-06-30T06:41:46.367Z'\n                      name:\n                        type: string\n                        example: sleek\n                      owner:\n                        type: string\n                        example: 649e792964e7dba29b72634a\n                      updatedAt:\n                        type: string\n                        example: '2023-06-30T06:41:46.367Z'\n                  message:\n                    type: string\n                    example: Category fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get category by id:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 649e792a64e7dba29b7265fc\n                      createdAt: '2023-06-30T06:41:46.367Z'\n                      name: sleek\n                      owner: 649e792964e7dba29b72634a\n                      updatedAt: '2023-06-30T06:41:46.367Z'\n                    message: Category fetched successfully\n                    statusCode: 200\n                    success: true\n    delete:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Delete category\n      description: >-\n        The API endpoint allows an administrator to delete a category by\n        providing the `categoryId` as a path variable in the URL.\n\n\n        This functionality is specific to users with an `ADMIN` role and is\n        designed to facilitate category management tasks.\n\n\n        By accessing this endpoint and specifying the `categoryId`, the category\n        associated with that ID will be permanently deleted from the system.\n      operationId: deleteCategory\n      responses:\n        '200':\n          description: Delete category\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '277'\n            Date:\n              schema:\n                type: string\n                example: Fri, 02 Jun 2023 05:52:48 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"115-flwKKssCfoHo2vyXjNnD+mOP9/g\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      deletedCategory:\n                        type: object\n                        properties:\n                          __v:\n                            type: number\n                            example: 0\n                          _id:\n                            type: string\n                            example: 6478dcdc025e3dd56c7acb79\n                          createdAt:\n                            type: string\n                            example: '2023-06-01T18:01:00.470Z'\n                          name:\n                            type: string\n                            example: mens-wear\n                          owner:\n                            type: string\n                            example: 6476e34ebe1cfb9cc08bd446\n                          updatedAt:\n                            type: string\n                            example: '2023-06-01T18:01:00.470Z'\n                  message:\n                    type: string\n                    example: Category deleted successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Delete category:\n                  value:\n                    data:\n                      deletedCategory:\n                        __v: 0\n                        _id: 6478dcdc025e3dd56c7acb79\n                        createdAt: '2023-06-01T18:01:00.470Z'\n                        name: mens-wear\n                        owner: 6476e34ebe1cfb9cc08bd446\n                        updatedAt: '2023-06-01T18:01:00.470Z'\n                    message: Category deleted successfully\n                    statusCode: 200\n                    success: true\n    patch:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Update category\n      description: >-\n        The API endpoint allows users with an `ADMIN` role to update a category\n        by providing the category `name` key in the request body and the\n        `categoryId` in the URL path variable.\n\n\n        This functionality enables administrators to modify and manage category\n        information within the system.\n\n\n        By accessing this endpoint, authorized administrators can update the\n        specified category's name key to reflect any necessary changes or\n        updates.\n      operationId: updateCategory\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                name:\n                  type: string\n                  example: womens-wear\n            example:\n              name: womens-wear\n      responses:\n        '200':\n          description: Update category\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '256'\n            Date:\n              schema:\n                type: string\n                example: Fri, 02 Jun 2023 05:59:36 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"100-3P6Q2ij6zpqFbLgeqwu8Eb6nZFM\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 6478e1c2b3b51f6d24e0aa5b\n                      createdAt:\n                        type: string\n                        example: '2023-06-01T18:21:54.762Z'\n                      name:\n                        type: string\n                        example: new name\n                      owner:\n                        type: string\n                        example: 6476e34ebe1cfb9cc08bd446\n                      updatedAt:\n                        type: string\n                        example: '2023-06-02T05:59:36.237Z'\n                  message:\n                    type: string\n                    example: Category updated successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Update category:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 6478e1c2b3b51f6d24e0aa5b\n                      createdAt: '2023-06-01T18:21:54.762Z'\n                      name: new name\n                      owner: 6476e34ebe1cfb9cc08bd446\n                      updatedAt: '2023-06-02T05:59:36.237Z'\n                    message: Category updated successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: categoryId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 6478dcdc025e3dd56c7acb79\n  /ecommerce/coupons:\n    get:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Get all coupons\n      description: >-\n        The API endpoint allows a logged-in user to retrieve all the available\n        coupons in an ecommerce app before proceeding with the checkout process.\n\n\n        This API provides a list of coupons that users can apply to their\n        purchase, potentially offering discounts or special offers.\n      operationId: getAllCoupons\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '5'\n      responses:\n        '200':\n          description: Get all coupons\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '2011'\n            Date:\n              schema:\n                type: string\n                example: Wed, 05 Jul 2023 12:49:58 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"7db-YIcwAraspt85xq9q3gBw2tO4bXs\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '496'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '873'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      coupons:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            __v:\n                              type: number\n                              example: 0\n                            _id:\n                              type: string\n                              example: 64a5511887ac52a3c0252194\n                            couponCode:\n                              type: string\n                              example: VITAE229\n                            createdAt:\n                              type: string\n                              example: '2023-07-05T11:16:40.860Z'\n                            discountValue:\n                              type: number\n                              example: 229\n                            expiryDate:\n                              type: string\n                              example: '2024-05-22T18:34:22.207Z'\n                            isActive:\n                              type: boolean\n                              example: true\n                            minimumCartValue:\n                              type: number\n                              example: 529\n                            name:\n                              type: string\n                              example: adipisci\n                            owner:\n                              type: string\n                              example: 64a3daee2aaac053bc597261\n                            startDate:\n                              type: string\n                              example: '2022-12-03T18:15:01.369Z'\n                            type:\n                              type: string\n                              example: FLAT\n                            updatedAt:\n                              type: string\n                              example: '2023-07-05T11:16:40.860Z'\n                        example:\n                          - __v: 0\n                            _id: 64a5511887ac52a3c0252194\n                            couponCode: VITAE229\n                            createdAt: '2023-07-05T11:16:40.860Z'\n                            discountValue: 229\n                            expiryDate: '2024-05-22T18:34:22.207Z'\n                            isActive: true\n                            minimumCartValue: 529\n                            name: adipisci\n                            owner: 64a3daee2aaac053bc597261\n                            startDate: '2022-12-03T18:15:01.369Z'\n                            type: FLAT\n                            updatedAt: '2023-07-05T11:16:40.860Z'\n                          - __v: 0\n                            _id: 64a5511887ac52a3c0252195\n                            couponCode: APERIAM143\n                            createdAt: '2023-07-05T11:16:40.860Z'\n                            discountValue: 143\n                            expiryDate: '2026-01-28T01:54:45.191Z'\n                            isActive: true\n                            minimumCartValue: 443\n                            name: provident\n                            owner: 64a3daee2aaac053bc597261\n                            startDate: '2023-04-07T19:55:34.925Z'\n                            type: FLAT\n                            updatedAt: '2023-07-05T11:16:40.860Z'\n                          - __v: 0\n                            _id: 64a5511887ac52a3c0252196\n                            couponCode: COMMODI474\n                            createdAt: '2023-07-05T11:16:40.861Z'\n                            discountValue: 474\n                            expiryDate: '2026-03-03T20:13:47.325Z'\n                            isActive: false\n                            minimumCartValue: 774\n                            name: accusamus\n                            owner: 64a3daee2aaac053bc597261\n                            startDate: '2024-01-27T12:42:30.753Z'\n                            type: FLAT\n                            updatedAt: '2023-07-05T11:16:40.861Z'\n                          - __v: 0\n                            _id: 64a5511887ac52a3c0252197\n                            couponCode: OFFICIIS255\n                            createdAt: '2023-07-05T11:16:40.861Z'\n                            discountValue: 255\n                            expiryDate: '2024-03-21T02:34:46.369Z'\n                            isActive: true\n                            minimumCartValue: 555\n                            name: quisquam\n                            owner: 64a3daee2aaac053bc597261\n                            startDate: '2023-11-16T19:28:43.982Z'\n                            type: FLAT\n                            updatedAt: '2023-07-05T11:16:40.861Z'\n                          - __v: 0\n                            _id: 64a5511887ac52a3c0252198\n                            couponCode: EVENIET806\n                            createdAt: '2023-07-05T11:16:40.861Z'\n                            discountValue: 806\n                            expiryDate: '2025-03-12T22:24:22.821Z'\n                            isActive: false\n                            minimumCartValue: 1106\n                            name: necessitatibus\n                            owner: 64a3daee2aaac053bc597261\n                            startDate: '2022-07-20T13:23:13.885Z'\n                            type: FLAT\n                            updatedAt: '2023-07-05T11:16:40.861Z'\n                      hasNextPage:\n                        type: boolean\n                        example: true\n                      hasPrevPage:\n                        type: boolean\n                        example: false\n                      limit:\n                        type: number\n                        example: 5\n                      nextPage:\n                        type: number\n                        example: 2\n                      page:\n                        type: number\n                        example: 1\n                      prevPage:\n                        nullable: true\n                        example: null\n                      serialNumberStartFrom:\n                        type: number\n                        example: 1\n                      totalCoupons:\n                        type: number\n                        example: 15\n                      totalPages:\n                        type: number\n                        example: 3\n                  message:\n                    type: string\n                    example: Coupons fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get all coupons:\n                  value:\n                    data:\n                      coupons:\n                        - __v: 0\n                          _id: 64a5511887ac52a3c0252194\n                          couponCode: VITAE229\n                          createdAt: '2023-07-05T11:16:40.860Z'\n                          discountValue: 229\n                          expiryDate: '2024-05-22T18:34:22.207Z'\n                          isActive: true\n                          minimumCartValue: 529\n                          name: adipisci\n                          owner: 64a3daee2aaac053bc597261\n                          startDate: '2022-12-03T18:15:01.369Z'\n                          type: FLAT\n                          updatedAt: '2023-07-05T11:16:40.860Z'\n                        - __v: 0\n                          _id: 64a5511887ac52a3c0252195\n                          couponCode: APERIAM143\n                          createdAt: '2023-07-05T11:16:40.860Z'\n                          discountValue: 143\n                          expiryDate: '2026-01-28T01:54:45.191Z'\n                          isActive: true\n                          minimumCartValue: 443\n                          name: provident\n                          owner: 64a3daee2aaac053bc597261\n                          startDate: '2023-04-07T19:55:34.925Z'\n                          type: FLAT\n                          updatedAt: '2023-07-05T11:16:40.860Z'\n                        - __v: 0\n                          _id: 64a5511887ac52a3c0252196\n                          couponCode: COMMODI474\n                          createdAt: '2023-07-05T11:16:40.861Z'\n                          discountValue: 474\n                          expiryDate: '2026-03-03T20:13:47.325Z'\n                          isActive: false\n                          minimumCartValue: 774\n                          name: accusamus\n                          owner: 64a3daee2aaac053bc597261\n                          startDate: '2024-01-27T12:42:30.753Z'\n                          type: FLAT\n                          updatedAt: '2023-07-05T11:16:40.861Z'\n                        - __v: 0\n                          _id: 64a5511887ac52a3c0252197\n                          couponCode: OFFICIIS255\n                          createdAt: '2023-07-05T11:16:40.861Z'\n                          discountValue: 255\n                          expiryDate: '2024-03-21T02:34:46.369Z'\n                          isActive: true\n                          minimumCartValue: 555\n                          name: quisquam\n                          owner: 64a3daee2aaac053bc597261\n                          startDate: '2023-11-16T19:28:43.982Z'\n                          type: FLAT\n                          updatedAt: '2023-07-05T11:16:40.861Z'\n                        - __v: 0\n                          _id: 64a5511887ac52a3c0252198\n                          couponCode: EVENIET806\n                          createdAt: '2023-07-05T11:16:40.861Z'\n                          discountValue: 806\n                          expiryDate: '2025-03-12T22:24:22.821Z'\n                          isActive: false\n                          minimumCartValue: 1106\n                          name: necessitatibus\n                          owner: 64a3daee2aaac053bc597261\n                          startDate: '2022-07-20T13:23:13.885Z'\n                          type: FLAT\n                          updatedAt: '2023-07-05T11:16:40.861Z'\n                      hasNextPage: true\n                      hasPrevPage: false\n                      limit: 5\n                      nextPage: 2\n                      page: 1\n                      prevPage: null\n                      serialNumberStartFrom: 1\n                      totalCoupons: 15\n                      totalPages: 3\n                    message: Coupons fetched successfully\n                    statusCode: 200\n                    success: true\n    post:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Create coupon\n      description: >-\n        The API allows users with an `ADMIN` role to create a coupon.\n\n\n        This API endpoint accepts the necessary information for creating a\n        coupon, such as the coupon code, discount amount, expiration date, and\n        any additional conditions.\n\n\n        The endpoint performs authentication and authorization checks to ensure\n        that only users with the `ADMIN` role can access it.\n      operationId: createCoupon\n      requestBody:\n        content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                    name:\n                        type: string\n                        example: Season sale\n                    couponCode:\n                        type: string\n                        example: must be unique like 'GET600'\n                    type:\n                        type: string\n                        enum: [\"FLAT\"]\n                        example: \"FLAT\"\n                    discountValue:\n                        type: number\n                        example: 600\n                    minimumCartValue:\n                        type: number\n                        example: 700\n                    expiryDate:\n                        type: string\n                        format: date-time\n                        example: \"2024-06-13T11:07:10.693Z\"\n                    startDate:\n                        type: string\n                        format: date-time\n                        example: \"2023-02-13T11:07:10.693Z\"\n              example:\n                name: \"Season sale\"\n                couponCode: \"GET600\"\n                type: \"FLAT\"\n                discountValue: 600\n                minimumCartValue: 700\n                expiryDate: \"2024-06-13T11:07:10.693Z\"\n                startDate: \"2023-02-13T11:07:10.693Z\"\n      responses:\n        '201':\n          description: Create coupon\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '431'\n            Date:\n              schema:\n                type: string\n                example: Tue, 04 Jul 2023 09:27:19 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1af-hFb9zrFj4XCFI8lqls396gAZJsw\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '484'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '687'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 64a3e5f7a22936b868265f3a\n                      couponCode:\n                        type: string\n                        example: GET600\n                      createdAt:\n                        type: string\n                        example: '2023-07-04T09:27:19.381Z'\n                      discountValue:\n                        type: number\n                        example: 600\n                      expiryDate:\n                        type: string\n                        example: '2024-06-13T11:07:10.693Z'\n                      isActive:\n                        type: boolean\n                        example: true\n                      minimumCartValue:\n                        type: number\n                        example: 700\n                      name:\n                        type: string\n                        example: Season sale\n                      owner:\n                        type: string\n                        example: 64a3daee2aaac053bc597276\n                      startDate:\n                        type: string\n                        example: '2023-02-13T11:07:10.693Z'\n                      type:\n                        type: string\n                        example: FLAT\n                      updatedAt:\n                        type: string\n                        example: '2023-07-04T09:27:19.381Z'\n                  message:\n                    type: string\n                    example: Coupon created successfully\n                  statusCode:\n                    type: number\n                    example: 201\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Create coupon:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 64a3e5f7a22936b868265f3a\n                      couponCode: GET600\n                      createdAt: '2023-07-04T09:27:19.381Z'\n                      discountValue: 600\n                      expiryDate: '2024-06-13T11:07:10.693Z'\n                      isActive: true\n                      minimumCartValue: 700\n                      name: Season sale\n                      owner: 64a3daee2aaac053bc597276\n                      startDate: '2023-02-13T11:07:10.693Z'\n                      type: FLAT\n                      updatedAt: '2023-07-04T09:27:19.381Z'\n                    message: Coupon created successfully\n                    statusCode: 201\n                    success: true\n  /ecommerce/coupons/customer/available:\n    get:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Get available coupon codes for customer\n      description: >-\n        The API allows a logged-in user to retrieve a list of coupons based on\n        their total shopping cart amount.\n\n\n        The API takes into account the user's current cart total and returns a\n        list of valid coupon codes that the user is eligible to apply.\n\n\n        This functionality helps users find applicable discounts for their\n        purchases, enhancing their shopping experience.\n      operationId: getAvailableCouponCodesForCustomer\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '5'\n      responses:\n        '200':\n          description: Get available coupon codes for customer\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '1998'\n            Date:\n              schema:\n                type: string\n                example: Mon, 26 Jun 2023 05:57:43 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"7ce-hycdRTyrjO1Zr+ZXVtyLIt1rjbM\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '498'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '19'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      coupons:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            __v:\n                              type: number\n                              example: 0\n                            _id:\n                              type: string\n                              example: 64987eb51a31fd5ee84f01f7\n                            couponCode:\n                              type: string\n                              example: GET600\n                            createdAt:\n                              type: string\n                              example: '2023-06-25T17:51:49.316Z'\n                            discountValue:\n                              type: number\n                              example: 600\n                            expiryDate:\n                              type: string\n                              example: '2024-06-13T11:07:10.693Z'\n                            isActive:\n                              type: boolean\n                              example: true\n                            minimumCartValue:\n                              type: number\n                              example: 700\n                            name:\n                              type: string\n                              example: Season sale\n                            owner:\n                              type: string\n                              example: 64986542297b287175aec1b4\n                            startDate:\n                              type: string\n                              example: '2023-02-13T11:07:10.693Z'\n                            type:\n                              type: string\n                              example: FLAT\n                            updatedAt:\n                              type: string\n                              example: '2023-06-25T17:51:49.316Z'\n                        example:\n                          - __v: 0\n                            _id: 64987eb51a31fd5ee84f01f7\n                            couponCode: GET600\n                            createdAt: '2023-06-25T17:51:49.316Z'\n                            discountValue: 600\n                            expiryDate: '2024-06-13T11:07:10.693Z'\n                            isActive: true\n                            minimumCartValue: 700\n                            name: Season sale\n                            owner: 64986542297b287175aec1b4\n                            startDate: '2023-02-13T11:07:10.693Z'\n                            type: FLAT\n                            updatedAt: '2023-06-25T17:51:49.316Z'\n                          - __v: 0\n                            _id: 64987eb91a31fd5ee84f01fc\n                            couponCode: GET700\n                            createdAt: '2023-06-25T17:51:53.617Z'\n                            discountValue: 600\n                            expiryDate: '2024-06-13T11:07:10.693Z'\n                            isActive: true\n                            minimumCartValue: 700\n                            name: Season sale\n                            owner: 64986542297b287175aec1b4\n                            startDate: '2023-02-13T11:07:10.693Z'\n                            type: FLAT\n                            updatedAt: '2023-06-25T17:51:53.617Z'\n                          - __v: 0\n                            _id: 64987ebe1a31fd5ee84f0204\n                            couponCode: GET800\n                            createdAt: '2023-06-25T17:51:58.468Z'\n                            discountValue: 600\n                            expiryDate: '2024-06-13T11:07:10.693Z'\n                            isActive: true\n                            minimumCartValue: 700\n                            name: Season sale\n                            owner: 64986542297b287175aec1b4\n                            startDate: '2023-02-13T11:07:10.693Z'\n                            type: FLAT\n                            updatedAt: '2023-06-25T17:51:58.468Z'\n                          - __v: 0\n                            _id: 64987ec11a31fd5ee84f0209\n                            couponCode: GET900\n                            createdAt: '2023-06-25T17:52:01.795Z'\n                            discountValue: 600\n                            expiryDate: '2024-06-13T11:07:10.693Z'\n                            isActive: true\n                            minimumCartValue: 700\n                            name: Season sale\n                            owner: 64986542297b287175aec1b4\n                            startDate: '2023-02-13T11:07:10.693Z'\n                            type: FLAT\n                            updatedAt: '2023-06-25T17:52:01.795Z'\n                          - __v: 0\n                            _id: 64987ec41a31fd5ee84f020e\n                            couponCode: GET9900\n                            createdAt: '2023-06-25T17:52:04.328Z'\n                            discountValue: 600\n                            expiryDate: '2024-06-13T11:07:10.693Z'\n                            isActive: true\n                            minimumCartValue: 700\n                            name: Season sale\n                            owner: 64986542297b287175aec1b4\n                            startDate: '2023-02-13T11:07:10.693Z'\n                            type: FLAT\n                            updatedAt: '2023-06-25T17:52:04.328Z'\n                      hasNextPage:\n                        type: boolean\n                        example: true\n                      hasPrevPage:\n                        type: boolean\n                        example: false\n                      limit:\n                        type: number\n                        example: 5\n                      nextPage:\n                        type: number\n                        example: 2\n                      page:\n                        type: number\n                        example: 1\n                      prevPage:\n                        nullable: true\n                        example: null\n                      serialNumberStartFrom:\n                        type: number\n                        example: 1\n                      totalCoupons:\n                        type: number\n                        example: 10\n                      totalPages:\n                        type: number\n                        example: 2\n                  message:\n                    type: string\n                    example: Customer coupons fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get available coupon codes for customer:\n                  value:\n                    data:\n                      coupons:\n                        - __v: 0\n                          _id: 64987eb51a31fd5ee84f01f7\n                          couponCode: GET600\n                          createdAt: '2023-06-25T17:51:49.316Z'\n                          discountValue: 600\n                          expiryDate: '2024-06-13T11:07:10.693Z'\n                          isActive: true\n                          minimumCartValue: 700\n                          name: Season sale\n                          owner: 64986542297b287175aec1b4\n                          startDate: '2023-02-13T11:07:10.693Z'\n                          type: FLAT\n                          updatedAt: '2023-06-25T17:51:49.316Z'\n                        - __v: 0\n                          _id: 64987eb91a31fd5ee84f01fc\n                          couponCode: GET700\n                          createdAt: '2023-06-25T17:51:53.617Z'\n                          discountValue: 600\n                          expiryDate: '2024-06-13T11:07:10.693Z'\n                          isActive: true\n                          minimumCartValue: 700\n                          name: Season sale\n                          owner: 64986542297b287175aec1b4\n                          startDate: '2023-02-13T11:07:10.693Z'\n                          type: FLAT\n                          updatedAt: '2023-06-25T17:51:53.617Z'\n                        - __v: 0\n                          _id: 64987ebe1a31fd5ee84f0204\n                          couponCode: GET800\n                          createdAt: '2023-06-25T17:51:58.468Z'\n                          discountValue: 600\n                          expiryDate: '2024-06-13T11:07:10.693Z'\n                          isActive: true\n                          minimumCartValue: 700\n                          name: Season sale\n                          owner: 64986542297b287175aec1b4\n                          startDate: '2023-02-13T11:07:10.693Z'\n                          type: FLAT\n                          updatedAt: '2023-06-25T17:51:58.468Z'\n                        - __v: 0\n                          _id: 64987ec11a31fd5ee84f0209\n                          couponCode: GET900\n                          createdAt: '2023-06-25T17:52:01.795Z'\n                          discountValue: 600\n                          expiryDate: '2024-06-13T11:07:10.693Z'\n                          isActive: true\n                          minimumCartValue: 700\n                          name: Season sale\n                          owner: 64986542297b287175aec1b4\n                          startDate: '2023-02-13T11:07:10.693Z'\n                          type: FLAT\n                          updatedAt: '2023-06-25T17:52:01.795Z'\n                        - __v: 0\n                          _id: 64987ec41a31fd5ee84f020e\n                          couponCode: GET9900\n                          createdAt: '2023-06-25T17:52:04.328Z'\n                          discountValue: 600\n                          expiryDate: '2024-06-13T11:07:10.693Z'\n                          isActive: true\n                          minimumCartValue: 700\n                          name: Season sale\n                          owner: 64986542297b287175aec1b4\n                          startDate: '2023-02-13T11:07:10.693Z'\n                          type: FLAT\n                          updatedAt: '2023-06-25T17:52:04.328Z'\n                      hasNextPage: true\n                      hasPrevPage: false\n                      limit: 5\n                      nextPage: 2\n                      page: 1\n                      prevPage: null\n                      serialNumberStartFrom: 1\n                      totalCoupons: 10\n                      totalPages: 2\n                    message: Customer coupons fetched successfully\n                    statusCode: 200\n                    success: true\n  /ecommerce/coupons/{couponId}:\n    get:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Get coupon by id\n      description: >-\n        The API endpoint allows a logged-in user to retrieve a coupon by\n        providing the `couponId` as a path variable.\n\n\n        By making a request to the API with the appropriate `couponId`, the\n        server will return the corresponding coupon details, such as its code,\n        discount amount, expiration date, or any other relevant information\n        associated with that specific coupon.\n      operationId: getCouponById\n      responses:\n        '200':\n          description: Get coupon by id\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '432'\n            Date:\n              schema:\n                type: string\n                example: Fri, 30 Jun 2023 06:49:46 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1b0-PNty3Z2jpzYMLwJmgYv6cI4PPkc\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '475'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '332'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 649e792a64e7dba29b7266ae\n                      couponCode:\n                        type: string\n                        example: IPSAM813\n                      createdAt:\n                        type: string\n                        example: '2023-06-30T06:41:46.410Z'\n                      discountValue:\n                        type: number\n                        example: 813\n                      expiryDate:\n                        type: string\n                        example: '2025-07-06T05:37:19.370Z'\n                      isActive:\n                        type: boolean\n                        example: true\n                      minimumCartValue:\n                        type: number\n                        example: 1113\n                      name:\n                        type: string\n                        example: excepturi\n                      owner:\n                        type: string\n                        example: 649e792964e7dba29b72634a\n                      startDate:\n                        type: string\n                        example: '2022-10-29T15:51:08.574Z'\n                      type:\n                        type: string\n                        example: FLAT\n                      updatedAt:\n                        type: string\n                        example: '2023-06-30T06:41:46.410Z'\n                  message:\n                    type: string\n                    example: Coupon deleted successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get coupon by id:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 649e792a64e7dba29b7266ae\n                      couponCode: IPSAM813\n                      createdAt: '2023-06-30T06:41:46.410Z'\n                      discountValue: 813\n                      expiryDate: '2025-07-06T05:37:19.370Z'\n                      isActive: true\n                      minimumCartValue: 1113\n                      name: excepturi\n                      owner: 649e792964e7dba29b72634a\n                      startDate: '2022-10-29T15:51:08.574Z'\n                      type: FLAT\n                      updatedAt: '2023-06-30T06:41:46.410Z'\n                    message: Coupon deleted successfully\n                    statusCode: 200\n                    success: true\n    delete:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Delete coupon\n      description: >-\n        The API allows users with an `ADMIN` role to delete a coupon by\n        providing the `couponId` as a path variable.\n\n\n        The API verifies the user's role before processing the request and\n        deletes the coupon associated with the provided `couponId`.\n      operationId: deleteCoupon\n      responses:\n        '200':\n          description: Delete coupon\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '437'\n            Date:\n              schema:\n                type: string\n                example: Tue, 13 Jun 2023 11:43:20 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1b5-L45fAb+I1NyrVfZfW6GfmcnvFqQ\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      deletedCoupon:\n                        type: object\n                        properties:\n                          __v:\n                            type: number\n                            example: 0\n                          _id:\n                            type: string\n                            example: 648850c3718cdeb85439aefc\n                          couponCode:\n                            type: string\n                            example: FIRST300\n                          createdAt:\n                            type: string\n                            example: '2023-06-13T11:19:31.227Z'\n                          discountValue:\n                            type: number\n                            example: 400\n                          expiryDate:\n                            type: string\n                            example: '2024-06-13T11:07:10.693Z'\n                          minimumCartValue:\n                            type: number\n                            example: 400\n                          name:\n                            type: string\n                            example: First 300 new\n                          owner:\n                            type: string\n                            example: 648849ef0d88524a26bad487\n                          startDate:\n                            type: string\n                            example: '2023-12-13T11:07:10.693Z'\n                          type:\n                            type: string\n                            example: FLAT\n                          updatedAt:\n                            type: string\n                            example: '2023-06-13T11:42:56.421Z'\n                  message:\n                    type: string\n                    example: Coupon deleted successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Delete coupon:\n                  value:\n                    data:\n                      deletedCoupon:\n                        __v: 0\n                        _id: 648850c3718cdeb85439aefc\n                        couponCode: FIRST300\n                        createdAt: '2023-06-13T11:19:31.227Z'\n                        discountValue: 400\n                        expiryDate: '2024-06-13T11:07:10.693Z'\n                        minimumCartValue: 400\n                        name: First 300 new\n                        owner: 648849ef0d88524a26bad487\n                        startDate: '2023-12-13T11:07:10.693Z'\n                        type: FLAT\n                        updatedAt: '2023-06-13T11:42:56.421Z'\n                    message: Coupon deleted successfully\n                    statusCode: 200\n                    success: true\n    patch:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Update coupon\n      description: >-\n        The API allows an `ADMIN` role user to update a coupon by sending the\n        required data in the request body and specifying the `couponId` in the\n        path variable.\n\n\n        This endpoint grants authorized users the ability to modify existing\n        coupon details, such as its code, discount amount, expiration date, or\n        any other relevant attributes.\n      operationId: updateCoupon\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                couponCode:\n                  type: string\n                  example: First350\n                discountValue:\n                  type: number\n                  example: 350\n                name:\n                  type: string\n                  example: First 350 code\n            example:\n              couponCode: First350\n              discountValue: 350\n              name: First 350 code\n      responses:\n        '201':\n          description: Update coupon\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '419'\n            Date:\n              schema:\n                type: string\n                example: Tue, 13 Jun 2023 11:42:56 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1a3-DJB/0L1sfdixlqQde+/bM+9dQBw\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 648850c3718cdeb85439aefc\n                      couponCode:\n                        type: string\n                        example: FIRST350\n                      createdAt:\n                        type: string\n                        example: '2023-06-13T11:19:31.227Z'\n                      discountValue:\n                        type: number\n                        example: 350\n                      expiryDate:\n                        type: string\n                        example: '2024-06-13T11:07:10.693Z'\n                      minimumCartValue:\n                        type: number\n                        example: 400\n                      name:\n                        type: string\n                        example: First 350 code\n                      owner:\n                        type: string\n                        example: 648849ef0d88524a26bad487\n                      startDate:\n                        type: string\n                        example: '2023-12-13T11:07:10.693Z'\n                      type:\n                        type: string\n                        example: FLAT\n                      updatedAt:\n                        type: string\n                        example: '2023-06-13T11:42:56.421Z'\n                  message:\n                    type: string\n                    example: Coupon updated successfully\n                  statusCode:\n                    type: number\n                    example: 201\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Update coupon:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 648850c3718cdeb85439aefc\n                      couponCode: FIRST350\n                      createdAt: '2023-06-13T11:19:31.227Z'\n                      discountValue: 350\n                      expiryDate: '2024-06-13T11:07:10.693Z'\n                      minimumCartValue: 400\n                      name: First 350 code\n                      owner: 648849ef0d88524a26bad487\n                      startDate: '2023-12-13T11:07:10.693Z'\n                      type: FLAT\n                      updatedAt: '2023-06-13T11:42:56.421Z'\n                    message: Coupon updated successfully\n                    statusCode: 201\n                    success: true\n    parameters:\n      - name: couponId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 648850c3718cdeb85439aefc\n  /ecommerce/coupons/c/apply:\n    post:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Apply coupon code\n      description: >-\n        The API allows a logged-in user to apply a coupon before proceeding to\n        checkout. It performs the following tasks:\n\n\n        1. **Verification of eligibility:** The API checks if the user is\n        eligible to apply the coupon based on certain criteria, such as the\n        total amount in the user's shopping cart.\n\n        2. **Calculation of discounted cart value:** If the user is eligible,\n        the API calculates the updated cart value by applying the discount\n        offered by the coupon. This involves reducing the total cart amount by\n        an amount based on the coupon details.\n\n        3. **Return of updated cart:** Finally, the API returns the updated cart\n        to the user, reflecting the applied discount. The user can then proceed\n        to checkout with the discounted cart value.\n            \n\n        In summary, this API provides a mechanism for users to apply coupons,\n        verifies their eligibility, calculates the discounted cart value, and\n        returns the updated cart for a seamless checkout experience.\n      operationId: applyCouponCode\n      requestBody:\n        content:\n          application/json:\n              schema:\n                type: object\n                properties:\n                  couponCode:\n                    type: string\n                    example: must be unique like 'CORRUPTI845'\n              example:\n                couponCode: \"CORRUPTI845\"\n      responses:\n        '200':\n          description: Apply coupon code\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '2693'\n            Date:\n              schema:\n                type: string\n                example: Fri, 30 Jun 2023 06:59:18 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"a85-8x00oIG/GqfMF14Rwj023JskZ0g\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '481'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '563'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      _id:\n                        type: string\n                        example: 649e7bfbdbf96264731f54c1\n                      cartTotal:\n                        type: number\n                        example: 3400\n                      coupon:\n                        type: object\n                        properties:\n                          __v:\n                            type: number\n                            example: 0\n                          _id:\n                            type: string\n                            example: 649e7bfcdbf96264731f5786\n                          couponCode:\n                            type: string\n                            example: CORRUPTI845\n                          createdAt:\n                            type: string\n                            example: '2023-06-30T06:53:48.738Z'\n                          discountValue:\n                            type: number\n                            example: 845\n                          expiryDate:\n                            type: string\n                            example: '2025-09-22T17:20:16.758Z'\n                          isActive:\n                            type: boolean\n                            example: true\n                          minimumCartValue:\n                            type: number\n                            example: 1145\n                          name:\n                            type: string\n                            example: temporibus\n                          owner:\n                            type: string\n                            example: 649e7bfbdbf96264731f5419\n                          startDate:\n                            type: string\n                            example: '2023-06-07T11:55:17.122Z'\n                          type:\n                            type: string\n                            example: FLAT\n                          updatedAt:\n                            type: string\n                            example: '2023-06-30T06:53:48.738Z'\n                      discountedTotal:\n                        type: number\n                        example: 2555\n                      items:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            _id:\n                              type: string\n                              example: 649e7bfbdbf96264731f54c1\n                            coupon:\n                              type: string\n                              example: 649e7bfcdbf96264731f5786\n                            product:\n                              type: object\n                              properties:\n                                __v:\n                                  type: number\n                                  example: 0\n                                _id:\n                                  type: string\n                                  example: 649e7bfcdbf96264731f57c8\n                                category:\n                                  type: string\n                                  example: 649e7bfcdbf96264731f56e1\n                                createdAt:\n                                  type: string\n                                  example: '2023-06-30T06:53:48.766Z'\n                                description:\n                                  type: string\n                                  example: >-\n                                    Carbonite web goalkeeper gloves are\n                                    ergonomically designed to give easy fit\n                                mainImage:\n                                  type: object\n                                  properties:\n                                    _id:\n                                      type: string\n                                      example: 649e7bfcdbf96264731f57c9\n                                    localPath:\n                                      type: string\n                                      example: ''\n                                    url:\n                                      type: string\n                                      example: >-\n                                        https://loremflickr.com/640/480/product?lock=7464317817454592\n                                name:\n                                  type: string\n                                  example: Recycled Granite Bacon\n                                owner:\n                                  type: string\n                                  example: 649e7bfbdbf96264731f543d\n                                price:\n                                  type: number\n                                  example: 426\n                                stock:\n                                  type: number\n                                  example: 47\n                                subImages:\n                                  type: array\n                                  items:\n                                    type: object\n                                    properties:\n                                      _id:\n                                        type: string\n                                        example: 649e7bfcdbf96264731f57ca\n                                      localPath:\n                                        type: string\n                                        example: ''\n                                      url:\n                                        type: string\n                                        example: >-\n                                          https://loremflickr.com/640/480/product?lock=3434367487574016\n                                  example:\n                                    - _id: 649e7bfcdbf96264731f57ca\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=3434367487574016\n                                    - _id: 649e7bfcdbf96264731f57cb\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=5167427790831616\n                                    - _id: 649e7bfcdbf96264731f57cc\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=3368131338698752\n                                    - _id: 649e7bfcdbf96264731f57cd\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=8845803512659968\n                                updatedAt:\n                                  type: string\n                                  example: '2023-06-30T06:53:48.766Z'\n                            quantity:\n                              type: number\n                              example: 6\n                        example:\n                          - _id: 649e7bfbdbf96264731f54c1\n                            coupon: 649e7bfcdbf96264731f5786\n                            product:\n                              __v: 0\n                              _id: 649e7bfcdbf96264731f57c8\n                              category: 649e7bfcdbf96264731f56e1\n                              createdAt: '2023-06-30T06:53:48.766Z'\n                              description: >-\n                                Carbonite web goalkeeper gloves are\n                                ergonomically designed to give easy fit\n                              mainImage:\n                                _id: 649e7bfcdbf96264731f57c9\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=7464317817454592\n                              name: Recycled Granite Bacon\n                              owner: 649e7bfbdbf96264731f543d\n                              price: 426\n                              stock: 47\n                              subImages:\n                                - _id: 649e7bfcdbf96264731f57ca\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=3434367487574016\n                                - _id: 649e7bfcdbf96264731f57cb\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=5167427790831616\n                                - _id: 649e7bfcdbf96264731f57cc\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=3368131338698752\n                                - _id: 649e7bfcdbf96264731f57cd\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=8845803512659968\n                              updatedAt: '2023-06-30T06:53:48.766Z'\n                            quantity: 6\n                          - _id: 649e7bfbdbf96264731f54c1\n                            coupon: 649e7bfcdbf96264731f5786\n                            product:\n                              __v: 0\n                              _id: 649e7bfcdbf96264731f57e0\n                              category: 649e7bfcdbf96264731f56df\n                              createdAt: '2023-06-30T06:53:48.767Z'\n                              description: >-\n                                New ABC 13 9370, 13.3, 5th Gen CoreA5-8250U, 8GB\n                                RAM, 256GB SSD, power UHD Graphics, OS 10 Home,\n                                OS Office A & J 2016\n                              mainImage:\n                                _id: 649e7bfcdbf96264731f57e1\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=8288021558329344\n                              name: Oriental Plastic Tuna\n                              owner: 649e7bfbdbf96264731f5467\n                              price: 211\n                              stock: 57\n                              subImages:\n                                - _id: 649e7bfcdbf96264731f57e2\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=2878816741490688\n                                - _id: 649e7bfcdbf96264731f57e3\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=1697180433776640\n                                - _id: 649e7bfcdbf96264731f57e4\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=4602145108131840\n                                - _id: 649e7bfcdbf96264731f57e5\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=1624351178752000\n                              updatedAt: '2023-06-30T06:53:48.767Z'\n                            quantity: 4\n                  message:\n                    type: string\n                    example: Coupon applied successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Apply coupon code:\n                  value:\n                    data:\n                      _id: 649e7bfbdbf96264731f54c1\n                      cartTotal: 3400\n                      coupon:\n                        __v: 0\n                        _id: 649e7bfcdbf96264731f5786\n                        couponCode: CORRUPTI845\n                        createdAt: '2023-06-30T06:53:48.738Z'\n                        discountValue: 845\n                        expiryDate: '2025-09-22T17:20:16.758Z'\n                        isActive: true\n                        minimumCartValue: 1145\n                        name: temporibus\n                        owner: 649e7bfbdbf96264731f5419\n                        startDate: '2023-06-07T11:55:17.122Z'\n                        type: FLAT\n                        updatedAt: '2023-06-30T06:53:48.738Z'\n                      discountedTotal: 2555\n                      items:\n                        - _id: 649e7bfbdbf96264731f54c1\n                          coupon: 649e7bfcdbf96264731f5786\n                          product:\n                            __v: 0\n                            _id: 649e7bfcdbf96264731f57c8\n                            category: 649e7bfcdbf96264731f56e1\n                            createdAt: '2023-06-30T06:53:48.766Z'\n                            description: >-\n                              Carbonite web goalkeeper gloves are ergonomically\n                              designed to give easy fit\n                            mainImage:\n                              _id: 649e7bfcdbf96264731f57c9\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=7464317817454592\n                            name: Recycled Granite Bacon\n                            owner: 649e7bfbdbf96264731f543d\n                            price: 426\n                            stock: 47\n                            subImages:\n                              - _id: 649e7bfcdbf96264731f57ca\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=3434367487574016\n                              - _id: 649e7bfcdbf96264731f57cb\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=5167427790831616\n                              - _id: 649e7bfcdbf96264731f57cc\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=3368131338698752\n                              - _id: 649e7bfcdbf96264731f57cd\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=8845803512659968\n                            updatedAt: '2023-06-30T06:53:48.766Z'\n                          quantity: 6\n                        - _id: 649e7bfbdbf96264731f54c1\n                          coupon: 649e7bfcdbf96264731f5786\n                          product:\n                            __v: 0\n                            _id: 649e7bfcdbf96264731f57e0\n                            category: 649e7bfcdbf96264731f56df\n                            createdAt: '2023-06-30T06:53:48.767Z'\n                            description: >-\n                              New ABC 13 9370, 13.3, 5th Gen CoreA5-8250U, 8GB\n                              RAM, 256GB SSD, power UHD Graphics, OS 10 Home, OS\n                              Office A & J 2016\n                            mainImage:\n                              _id: 649e7bfcdbf96264731f57e1\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/product?lock=8288021558329344\n                            name: Oriental Plastic Tuna\n                            owner: 649e7bfbdbf96264731f5467\n                            price: 211\n                            stock: 57\n                            subImages:\n                              - _id: 649e7bfcdbf96264731f57e2\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=2878816741490688\n                              - _id: 649e7bfcdbf96264731f57e3\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=1697180433776640\n                              - _id: 649e7bfcdbf96264731f57e4\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=4602145108131840\n                              - _id: 649e7bfcdbf96264731f57e5\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=1624351178752000\n                            updatedAt: '2023-06-30T06:53:48.767Z'\n                          quantity: 4\n                    message: Coupon applied successfully\n                    statusCode: 200\n                    success: true\n        '400':\n          description: Cart total is less than minimum cart value\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '370'\n            Date:\n              schema:\n                type: string\n                example: Wed, 14 Jun 2023 07:14:00 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"172-MzvtjW1ipkAigXDBTSVih/Rex0A\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    nullable: true\n                    example: null\n                  errors:\n                    type: array\n                    items: {}\n                    example: []\n                  message:\n                    type: string\n                    example: Add items worth INR 170/- or more to apply this coupon\n                  stack:\n                    type: string\n                    example: >-\n                      Error: Add items worth INR 170/- or more to apply this\n                      coupon\n                          at file:///usr/src/freeapi/src/controllers/apps/ecommerce/coupon.controllers.js:92:11\n                          at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n                  statusCode:\n                    type: number\n                    example: 400\n                  success:\n                    type: boolean\n                    example: false\n              examples:\n                Cart total is less than minimum cart value:\n                  value:\n                    data: null\n                    errors: []\n                    message: Add items worth INR 170/- or more to apply this coupon\n                    stack: >-\n                      Error: Add items worth INR 170/- or more to apply this\n                      coupon\n                          at file:///usr/src/freeapi/src/controllers/apps/ecommerce/coupon.controllers.js:92:11\n                          at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n                    statusCode: 400\n                    success: false\n  /ecommerce/coupons/c/remove:\n    post:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Remove coupon code\n      description: >-\n        The API for removing an applied coupon allows a logged-in user to remove\n        a coupon code that was previously applied to their cart.\n\n\n        Once the coupon is removed, the API recalculates the total value of the\n        cart without considering the discount amount, resulting in a\n        non-discounted cart value.\n\n\n        This API essentially resets the cart to its original value before the\n        coupon was applied, removing any discounts that were previously applied.\n      operationId: removeCouponCode\n      requestBody:\n        content:\n          application/json:\n              schema:\n                type: object\n                properties:\n                  couponCode:\n                    type: string\n                    example: must be unique like 'CORRUPTI845'\n              example:\n                couponCode: \"CORRUPTI845\"\n      responses:\n        '200':\n          description: Remove coupon code\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '966'\n            Date:\n              schema:\n                type: string\n                example: Tue, 13 Jun 2023 19:26:04 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"3c6-TwDo/Jge6UxQlHWk6Zly2bndqio\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      _id:\n                        type: string\n                        example: 6488b7c50023c81cf454a139\n                      cartTotal:\n                        type: number\n                        example: 5060\n                      discountedTotal:\n                        type: number\n                        example: 5060\n                      items:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            _id:\n                              type: string\n                              example: 6488b7c50023c81cf454a139\n                            coupon:\n                              nullable: true\n                              example: null\n                            product:\n                              type: object\n                              properties:\n                                __v:\n                                  type: number\n                                  example: 0\n                                _id:\n                                  type: string\n                                  example: 6488b7ba0023c81cf454a12f\n                                category:\n                                  type: string\n                                  example: 6488b7980023c81cf454a11f\n                                createdAt:\n                                  type: string\n                                  example: '2023-06-13T18:38:50.413Z'\n                                description:\n                                  type: string\n                                  example: New description number 2\n                                mainImage:\n                                  type: object\n                                  properties:\n                                    _id:\n                                      type: string\n                                      example: 6488b7ba0023c81cf454a130\n                                    localPath:\n                                      type: string\n                                      example: >-\n                                        public/images/christmas_card.png-168668153030924254640.png\n                                    url:\n                                      type: string\n                                      example: >-\n                                        http://localhost:8080/images/christmas_card.png-168668153030924254640.png\n                                name:\n                                  type: string\n                                  example: Kids product\n                                owner:\n                                  type: string\n                                  example: 6488b7790023c81cf454a115\n                                price:\n                                  type: number\n                                  example: 230\n                                stock:\n                                  type: number\n                                  example: 23\n                                subImages:\n                                  type: array\n                                  items:\n                                    type: object\n                                    properties:\n                                      _id:\n                                        type: string\n                                        example: 6488b7ba0023c81cf454a131\n                                      localPath:\n                                        type: string\n                                        example: >-\n                                          public/images/diagram-export-05_06_2023,-17_10_50.png-168668153031198888310.png\n                                      url:\n                                        type: string\n                                        example: >-\n                                          http://localhost:8080/images/diagram-export-05_06_2023,-17_10_50.png-168668153031198888310.png\n                                  example:\n                                    - _id: 6488b7ba0023c81cf454a131\n                                      localPath: >-\n                                        public/images/diagram-export-05_06_2023,-17_10_50.png-168668153031198888310.png\n                                      url: >-\n                                        http://localhost:8080/images/diagram-export-05_06_2023,-17_10_50.png-168668153031198888310.png\n                                updatedAt:\n                                  type: string\n                                  example: '2023-06-13T19:19:17.437Z'\n                            quantity:\n                              type: number\n                              example: 22\n                        example:\n                          - _id: 6488b7c50023c81cf454a139\n                            coupon: null\n                            product:\n                              __v: 0\n                              _id: 6488b7ba0023c81cf454a12f\n                              category: 6488b7980023c81cf454a11f\n                              createdAt: '2023-06-13T18:38:50.413Z'\n                              description: New description number 2\n                              mainImage:\n                                _id: 6488b7ba0023c81cf454a130\n                                localPath: >-\n                                  public/images/christmas_card.png-168668153030924254640.png\n                                url: >-\n                                  http://localhost:8080/images/christmas_card.png-168668153030924254640.png\n                              name: Kids product\n                              owner: 6488b7790023c81cf454a115\n                              price: 230\n                              stock: 23\n                              subImages:\n                                - _id: 6488b7ba0023c81cf454a131\n                                  localPath: >-\n                                    public/images/diagram-export-05_06_2023,-17_10_50.png-168668153031198888310.png\n                                  url: >-\n                                    http://localhost:8080/images/diagram-export-05_06_2023,-17_10_50.png-168668153031198888310.png\n                              updatedAt: '2023-06-13T19:19:17.437Z'\n                            quantity: 22\n                  message:\n                    type: string\n                    example: Coupon removed successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Remove coupon code:\n                  value:\n                    data:\n                      _id: 6488b7c50023c81cf454a139\n                      cartTotal: 5060\n                      discountedTotal: 5060\n                      items:\n                        - _id: 6488b7c50023c81cf454a139\n                          coupon: null\n                          product:\n                            __v: 0\n                            _id: 6488b7ba0023c81cf454a12f\n                            category: 6488b7980023c81cf454a11f\n                            createdAt: '2023-06-13T18:38:50.413Z'\n                            description: New description number 2\n                            mainImage:\n                              _id: 6488b7ba0023c81cf454a130\n                              localPath: >-\n                                public/images/christmas_card.png-168668153030924254640.png\n                              url: >-\n                                http://localhost:8080/images/christmas_card.png-168668153030924254640.png\n                            name: Kids product\n                            owner: 6488b7790023c81cf454a115\n                            price: 230\n                            stock: 23\n                            subImages:\n                              - _id: 6488b7ba0023c81cf454a131\n                                localPath: >-\n                                  public/images/diagram-export-05_06_2023,-17_10_50.png-168668153031198888310.png\n                                url: >-\n                                  http://localhost:8080/images/diagram-export-05_06_2023,-17_10_50.png-168668153031198888310.png\n                            updatedAt: '2023-06-13T19:19:17.437Z'\n                          quantity: 22\n                    message: Coupon removed successfully\n                    statusCode: 200\n                    success: true\n  /ecommerce/coupons/status/{couponId}:\n    patch:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Update coupon active status\n      description: >-\n        The API endpoint allows an administrator role user to update the\n        activity status of a coupon.\n\n\n        It expects a request with a path variable `couponId` indicating the\n        specific coupon to update. In the request body, there should be a\n        `isActive` key, which is a boolean value indicating the desired status\n        of the coupon.\n\n\n        When this API is called, it toggles the active status of the coupon.\n        This functionality allows the administrator to enable or disable the use\n        of certain coupon codes in the application.\n      operationId: updateCouponActiveStatus\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                isActive:\n                  type: boolean\n                  example: true\n            example:\n              isActive: true\n      responses:\n        '200':\n          description: Update coupon active status\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '426'\n            Date:\n              schema:\n                type: string\n                example: Wed, 14 Jun 2023 06:20:28 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1aa-qQd2+YmwCkRmn4TOFaUFcvem6ws\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 6488b8390023c81cf454a16c\n                      couponCode:\n                        type: string\n                        example: FIRST150\n                      createdAt:\n                        type: string\n                        example: '2023-06-13T18:40:57.774Z'\n                      discountValue:\n                        type: number\n                        example: 150\n                      expiryDate:\n                        type: string\n                        example: '2024-06-13T11:07:10.693Z'\n                      isActive:\n                        type: boolean\n                        example: false\n                      minimumCartValue:\n                        type: number\n                        example: 400\n                      name:\n                        type: string\n                        example: First order\n                      owner:\n                        type: string\n                        example: 6488b7790023c81cf454a115\n                      startDate:\n                        type: string\n                        example: '2023-02-13T11:07:10.693Z'\n                      type:\n                        type: string\n                        example: FLAT\n                      updatedAt:\n                        type: string\n                        example: '2023-06-14T06:20:28.746Z'\n                  message:\n                    type: string\n                    example: Coupon is inactive.\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Update coupon active status:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 6488b8390023c81cf454a16c\n                      couponCode: FIRST150\n                      createdAt: '2023-06-13T18:40:57.774Z'\n                      discountValue: 150\n                      expiryDate: '2024-06-13T11:07:10.693Z'\n                      isActive: false\n                      minimumCartValue: 400\n                      name: First order\n                      owner: 6488b7790023c81cf454a115\n                      startDate: '2023-02-13T11:07:10.693Z'\n                      type: FLAT\n                      updatedAt: '2023-06-14T06:20:28.746Z'\n                    message: Coupon is inactive.\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: couponId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 6489654c8b460248066d8430\n  /ecommerce/addresses:\n    get:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Get all addresses\n      description: >-\n        The API endpoint allows a logged-in user to retrieve all the addresses\n        saved in their profile within an e-commerce application.\n\n\n        By accessing this endpoint, the user can retrieve a list of their saved\n        addresses, that have been previously stored in their account.\n\n\n        This functionality enables users to conveniently access and manage their\n        saved addresses for a seamless checkout experience, eliminating the need\n        to repeatedly enter address information for each transaction.\n      operationId: getAllAddresses\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '10'\n      responses:\n        '200':\n          description: Get all addresses\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '879'\n            Date:\n              schema:\n                type: string\n                example: Fri, 30 Jun 2023 06:48:41 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"36f-Jx5GEITUFHxB5YXcKO4zk0MfJac\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '479'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '396'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      addresses:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            __v:\n                              type: number\n                              example: 0\n                            _id:\n                              type: string\n                              example: 649e792a64e7dba29b72666d\n                            addressLine1:\n                              type: string\n                              example: 67725 Bernadine Causeway\n                            addressLine2:\n                              type: string\n                              example: Franey Highway\n                            city:\n                              type: string\n                              example: Devanfurt\n                            country:\n                              type: string\n                              example: Uzbekistan\n                            createdAt:\n                              type: string\n                              example: '2023-06-30T06:41:46.395Z'\n                            owner:\n                              type: string\n                              example: 649e792964e7dba29b72633e\n                            pincode:\n                              type: string\n                              example: '159233'\n                            state:\n                              type: string\n                              example: Louisiana\n                            updatedAt:\n                              type: string\n                              example: '2023-06-30T06:41:46.395Z'\n                        example:\n                          - __v: 0\n                            _id: 649e792a64e7dba29b72666d\n                            addressLine1: 67725 Bernadine Causeway\n                            addressLine2: Franey Highway\n                            city: Devanfurt\n                            country: Uzbekistan\n                            createdAt: '2023-06-30T06:41:46.395Z'\n                            owner: 649e792964e7dba29b72633e\n                            pincode: '159233'\n                            state: Louisiana\n                            updatedAt: '2023-06-30T06:41:46.395Z'\n                          - __v: 0\n                            _id: 649e792a64e7dba29b7266a7\n                            addressLine1: 63583 Heller Mill\n                            addressLine2: Carole Path\n                            city: North Jarvismouth\n                            country: Cayman Islands\n                            createdAt: '2023-06-30T06:41:46.397Z'\n                            owner: 649e792964e7dba29b72633e\n                            pincode: '448547'\n                            state: West Virginia\n                            updatedAt: '2023-06-30T06:41:46.397Z'\n                      hasNextPage:\n                        type: boolean\n                        example: false\n                      hasPrevPage:\n                        type: boolean\n                        example: false\n                      limit:\n                        type: number\n                        example: 10\n                      nextPage:\n                        nullable: true\n                        example: null\n                      page:\n                        type: number\n                        example: 1\n                      prevPage:\n                        nullable: true\n                        example: null\n                      serialNumberStartFrom:\n                        type: number\n                        example: 1\n                      totalAddresses:\n                        type: number\n                        example: 2\n                      totalPages:\n                        type: number\n                        example: 1\n                  message:\n                    type: string\n                    example: Addresses fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get all addresses:\n                  value:\n                    data:\n                      addresses:\n                        - __v: 0\n                          _id: 649e792a64e7dba29b72666d\n                          addressLine1: 67725 Bernadine Causeway\n                          addressLine2: Franey Highway\n                          city: Devanfurt\n                          country: Uzbekistan\n                          createdAt: '2023-06-30T06:41:46.395Z'\n                          owner: 649e792964e7dba29b72633e\n                          pincode: '159233'\n                          state: Louisiana\n                          updatedAt: '2023-06-30T06:41:46.395Z'\n                        - __v: 0\n                          _id: 649e792a64e7dba29b7266a7\n                          addressLine1: 63583 Heller Mill\n                          addressLine2: Carole Path\n                          city: North Jarvismouth\n                          country: Cayman Islands\n                          createdAt: '2023-06-30T06:41:46.397Z'\n                          owner: 649e792964e7dba29b72633e\n                          pincode: '448547'\n                          state: West Virginia\n                          updatedAt: '2023-06-30T06:41:46.397Z'\n                      hasNextPage: false\n                      hasPrevPage: false\n                      limit: 10\n                      nextPage: null\n                      page: 1\n                      prevPage: null\n                      serialNumberStartFrom: 1\n                      totalAddresses: 2\n                      totalPages: 1\n                    message: Addresses fetched successfully\n                    statusCode: 200\n                    success: true\n    post:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Create address\n      description: >-\n        The API endpoint allows a logged-in user to create a new address in an\n        e-commerce application.\n\n\n        By accessing this endpoint and providing the necessary information, the\n        user can add a new address to their profile for shipping or billing\n        purposes.\n\n\n        This functionality enables users to conveniently manage their address\n        book within the e-commerce app, ensuring accurate and efficient order\n        processing and delivery.\n      operationId: createAddress\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                addressLine1:\n                  type: string\n                  example: New lane central, D-203\n                addressLine2:\n                  type: string\n                  example: Opposite to central park (Optional)\n                city:\n                  type: string\n                  example: Mumbai\n                state:\n                  type: string\n                  example: Maharashtra\n                pincode:\n                  type: string\n                  example: 409209\n                country:\n                  type: string\n                  example: India\n            example:\n                addressLine1: New lane central, D-203\n                addressLine2: Opposite to central park\n                city: Mumbai\n                state: Maharashtra\n                pincode: 409209\n                country: India\n      responses:\n        '201':\n          description: Create address\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '381'\n            Date:\n              schema:\n                type: string\n                example: Sat, 03 Jun 2023 07:52:05 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"17d-KJRjzRv8EtZC9DHbBUU/629AfQE\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 647af1257396af90865b0ec8\n                      addressLine1:\n                        type: string\n                        example: New lane central, D-203\n                      addressLine2:\n                        type: string\n                        example: Churchgate\n                      city:\n                        type: string\n                        example: Mumbai\n                      country:\n                        type: string\n                        example: India\n                      createdAt:\n                        type: string\n                        example: '2023-06-03T07:52:05.453Z'\n                      owner:\n                        type: string\n                        example: 6476e34ebe1cfb9cc08bd446\n                      pincode:\n                        type: string\n                        example: '409209'\n                      state:\n                        type: string\n                        example: Maharashtra\n                      updatedAt:\n                        type: string\n                        example: '2023-06-03T07:52:05.453Z'\n                  message:\n                    type: string\n                    example: Address created successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Create address:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 647af1257396af90865b0ec8\n                      addressLine1: New lane central, D-203\n                      addressLine2: Churchgate\n                      city: Mumbai\n                      country: India\n                      createdAt: '2023-06-03T07:52:05.453Z'\n                      owner: 6476e34ebe1cfb9cc08bd446\n                      pincode: '409209'\n                      state: Maharashtra\n                      updatedAt: '2023-06-03T07:52:05.453Z'\n                    message: Address created successfully\n                    statusCode: 200\n                    success: true\n  /ecommerce/addresses/{addressId}:\n    get:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Get address by id\n      description: >-\n        The API endpoint allows users to fetch an address based on the\n        `addressId` provided in the URL path variable.\n\n\n        By accessing this endpoint and specifying a valid `addressId` in the\n        URL, users will receive a response containing the details of the\n        corresponding address.\n\n\n        User can only be able to fetch addresses if they are logged in and the\n        address that they are fetching is added by them.\n      operationId: getAddressById\n      responses:\n        '200':\n          description: Get address by id\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '398'\n            Date:\n              schema:\n                type: string\n                example: Fri, 30 Jun 2023 06:49:07 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"18e-Fel4UkaSkLeKb5G9+40YlC2lFnA\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '478'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '370'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 649e792a64e7dba29b7266a7\n                      addressLine1:\n                        type: string\n                        example: 63583 Heller Mill\n                      addressLine2:\n                        type: string\n                        example: Carole Path\n                      city:\n                        type: string\n                        example: North Jarvismouth\n                      country:\n                        type: string\n                        example: Cayman Islands\n                      createdAt:\n                        type: string\n                        example: '2023-06-30T06:41:46.397Z'\n                      owner:\n                        type: string\n                        example: 649e792964e7dba29b72633e\n                      pincode:\n                        type: string\n                        example: '448547'\n                      state:\n                        type: string\n                        example: West Virginia\n                      updatedAt:\n                        type: string\n                        example: '2023-06-30T06:41:46.397Z'\n                  message:\n                    type: string\n                    example: Address fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get address by id:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 649e792a64e7dba29b7266a7\n                      addressLine1: 63583 Heller Mill\n                      addressLine2: Carole Path\n                      city: North Jarvismouth\n                      country: Cayman Islands\n                      createdAt: '2023-06-30T06:41:46.397Z'\n                      owner: 649e792964e7dba29b72633e\n                      pincode: '448547'\n                      state: West Virginia\n                      updatedAt: '2023-06-30T06:41:46.397Z'\n                    message: Address fetched successfully\n                    statusCode: 200\n                    success: true\n    delete:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Delete address\n      description: >-\n        The API endpoint allows a logged-in user to delete their own address\n        based on the provided `addressId` in the URL.\n\n\n        When accessing this endpoint, the user can specify the `addressId` of\n        the address they wish to delete.\n\n\n        This functionality ensures that users can manage their address book by\n        removing unwanted or outdated addresses from their profile within the\n        ecommerce application.\n      operationId: deleteAddress\n      responses:\n        '200':\n          description: Delete address\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '395'\n            Date:\n              schema:\n                type: string\n                example: Sat, 03 Jun 2023 07:53:08 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"18b-sEooGxbyi5ympO20iaogyMc5rdU\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      deletedAddress:\n                        type: object\n                        properties:\n                          __v:\n                            type: number\n                            example: 0\n                          _id:\n                            type: string\n                            example: 647af0eb7396af90865b0eb9\n                          addressLine1:\n                            type: string\n                            example: MG Road, D-123\n                          addressLine2:\n                            type: string\n                            example: Mumbai central\n                          city:\n                            type: string\n                            example: Mumbai\n                          country:\n                            type: string\n                            example: India\n                          createdAt:\n                            type: string\n                            example: '2023-06-03T07:51:07.951Z'\n                          owner:\n                            type: string\n                            example: 6476e34ebe1cfb9cc08bd446\n                          pincode:\n                            type: string\n                            example: '400509'\n                          state:\n                            type: string\n                            example: Maharashtra\n                          updatedAt:\n                            type: string\n                            example: '2023-06-03T07:51:07.951Z'\n                  message:\n                    type: string\n                    example: Address deleted successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Delete address:\n                  value:\n                    data:\n                      deletedAddress:\n                        __v: 0\n                        _id: 647af0eb7396af90865b0eb9\n                        addressLine1: MG Road, D-123\n                        addressLine2: Mumbai central\n                        city: Mumbai\n                        country: India\n                        createdAt: '2023-06-03T07:51:07.951Z'\n                        owner: 6476e34ebe1cfb9cc08bd446\n                        pincode: '400509'\n                        state: Maharashtra\n                        updatedAt: '2023-06-03T07:51:07.951Z'\n                    message: Address deleted successfully\n                    statusCode: 200\n                    success: true\n    patch:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Update address\n      description: >-\n        The API endpoint allows a logged-in user to update their address based\n        on the `addressId` provided.\n\n\n        This functionality ensures that users can only update their own\n        addresses within the context of an ecommerce application.\n\n\n        By accessing this endpoint and providing the `addressId` of the address\n        to be updated and necessary fields, the logged-in user can modify the\n        address details such as street, city, state, or postal code etc.\n      operationId: updateAddress\n      requestBody:\n        content:\n          application/json:\n              schema:\n                type: object\n                properties:\n                  addressLine1:\n                    type: string\n                    example: New lane central, D-203\n                  addressLine2:\n                    type: string\n                    example: Opposite to central park (Optional)\n                  city:\n                    type: string\n                    example: Mumbai\n                  state:\n                    type: string\n                    example: Maharashtra\n                  pincode:\n                    type: string\n                    example: 409209\n                  country:\n                    type: string\n                    example: India\n              example:\n                  addressLine1: New lane central, D-203\n                  addressLine2: Opposite to central park\n                  city: Mumbai\n                  state: Maharashtra\n                  pincode: 409209\n                  country: India\n      responses:\n        '200':\n          description: Update address\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '378'\n            Date:\n              schema:\n                type: string\n                example: Sat, 03 Jun 2023 08:01:32 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"17a-oA/HoLYbdpSz0ueIFbGJrkcpfOM\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 647af1707396af90865b0edd\n                      addressLine1:\n                        type: string\n                        example: Updated MG Road, D-203\n                      addressLine2:\n                        type: string\n                        example: Andheri\n                      city:\n                        type: string\n                        example: Mumbai\n                      country:\n                        type: string\n                        example: India2\n                      createdAt:\n                        type: string\n                        example: '2023-06-03T07:53:20.717Z'\n                      owner:\n                        type: string\n                        example: 6476e34ebe1cfb9cc08bd446\n                      pincode:\n                        type: string\n                        example: '409300'\n                      state:\n                        type: string\n                        example: Maharashtra\n                      updatedAt:\n                        type: string\n                        example: '2023-06-03T08:01:32.767Z'\n                  message:\n                    type: string\n                    example: Address updated successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Update address:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 647af1707396af90865b0edd\n                      addressLine1: Updated MG Road, D-203\n                      addressLine2: Andheri\n                      city: Mumbai\n                      country: India2\n                      createdAt: '2023-06-03T07:53:20.717Z'\n                      owner: 6476e34ebe1cfb9cc08bd446\n                      pincode: '409300'\n                      state: Maharashtra\n                      updatedAt: '2023-06-03T08:01:32.767Z'\n                    message: Address updated successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: addressId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 647af1707396af90865b0edd\n  /ecommerce/orders/list/admin:\n    get:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Get order list admin\n      description: >-\n        The API allows users with the `ADMIN` role to fetch orders placed by\n        users on an ecommerce site.\n\n\n        The API endpoint provides the ability to filter orders based on their\n        status as well.\n\n\n        To filter by status, the client can pass an `order` query parameter in\n        the URL, which can have one of the following values: `PENDING`,\n        `DELIVERED`, or `CANCELLED`. This allows the admin user to retrieve\n        specific sets of orders based on their status.\n\n\n        **NOTE:** This api returns data which is useful to show list view of the\n        item.\n\n\n        This api does not contain complete details of the products ordered\n        instead the count of the ordered products as generally UI will show the\n        product details in the list format.\n\n\n        To get complete details of the order call `Get order by id` api.\n      operationId: getOrderListAdmin\n      parameters:\n        - name: status\n          in: query\n          schema:\n            type: string\n            example: PENDING\n          description: PENDING | DELIVERED | CENCELLED\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '2'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '10'\n      responses:\n        '200':\n          description: Get order list admin\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '7970'\n            Date:\n              schema:\n                type: string\n                example: Tue, 04 Jul 2023 09:29:05 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1f22-5FsN6y3sd2sz+XM+39rWWeQDqf4\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '477'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '581'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      hasNextPage:\n                        type: boolean\n                        example: false\n                      hasPrevPage:\n                        type: boolean\n                        example: true\n                      limit:\n                        type: number\n                        example: 10\n                      nextPage:\n                        nullable: true\n                        example: null\n                      orders:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            __v:\n                              type: number\n                              example: 0\n                            _id:\n                              type: string\n                              example: 64a3e5a8a22936b868265ef8\n                            address:\n                              type: object\n                              properties:\n                                __v:\n                                  type: number\n                                  example: 0\n                                _id:\n                                  type: string\n                                  example: 64a3e5a7a22936b868265c20\n                                addressLine1:\n                                  type: string\n                                  example: 45477 Kerluke Summit\n                                addressLine2:\n                                  type: string\n                                  example: Effertz Brook\n                                city:\n                                  type: string\n                                  example: North Little Rock\n                                country:\n                                  type: string\n                                  example: Turks and Caicos Islands\n                                createdAt:\n                                  type: string\n                                  example: '2023-07-04T09:26:00.030Z'\n                                owner:\n                                  type: string\n                                  example: 64a3daee2aaac053bc5972b5\n                                pincode:\n                                  type: string\n                                  example: '920910'\n                                state:\n                                  type: string\n                                  example: Nevada\n                                updatedAt:\n                                  type: string\n                                  example: '2023-07-04T09:26:00.030Z'\n                            coupon:\n                              type: object\n                              nullable: true\n                              example: null\n                            createdAt:\n                              type: string\n                              example: '2023-07-04T09:26:00.178Z'\n                            customer:\n                              type: object\n                              properties:\n                                _id:\n                                  type: string\n                                  example: 64a3daee2aaac053bc5972b5\n                                email:\n                                  type: string\n                                  example: mercedes.christiansen21@gmail.com\n                                username:\n                                  type: string\n                                  example: asa_schmeler\n                            discountedOrderPrice:\n                              type: number\n                              example: 1471\n                            isPaymentDone:\n                              type: boolean\n                              example: true\n                            orderPrice:\n                              type: number\n                              example: 1471\n                            paymentId:\n                              type: string\n                              example: e5vUu6SArWYAcNyIP0v6rifr\n                            paymentProvider:\n                              type: string\n                              example: PAYPAL\n                            status:\n                              type: string\n                              example: PENDING\n                            totalOrderItems:\n                              type: number\n                              example: 2\n                            updatedAt:\n                              type: string\n                              example: '2023-07-04T09:26:00.178Z'\n                        example:\n                          - __v: 0\n                            _id: 64a3e5a8a22936b868265ef8\n                            address:\n                              __v: 0\n                              _id: 64a3e5a7a22936b868265c20\n                              addressLine1: 45477 Kerluke Summit\n                              addressLine2: Effertz Brook\n                              city: North Little Rock\n                              country: Turks and Caicos Islands\n                              createdAt: '2023-07-04T09:26:00.030Z'\n                              owner: 64a3daee2aaac053bc5972b5\n                              pincode: '920910'\n                              state: Nevada\n                              updatedAt: '2023-07-04T09:26:00.030Z'\n                            coupon: null\n                            createdAt: '2023-07-04T09:26:00.178Z'\n                            customer:\n                              _id: 64a3daee2aaac053bc5972b5\n                              email: mercedes.christiansen21@gmail.com\n                              username: asa_schmeler\n                            discountedOrderPrice: 1471\n                            isPaymentDone: true\n                            orderPrice: 1471\n                            paymentId: e5vUu6SArWYAcNyIP0v6rifr\n                            paymentProvider: PAYPAL\n                            status: PENDING\n                            totalOrderItems: 2\n                            updatedAt: '2023-07-04T09:26:00.178Z'\n                          - __v: 0\n                            _id: 64a3e5a8a22936b868265efb\n                            address:\n                              __v: 0\n                              _id: 64a3e5a7a22936b868265c1d\n                              addressLine1: 9845 Jerry Divide\n                              addressLine2: Bartell Highway\n                              city: Floymouth\n                              country: Finland\n                              createdAt: '2023-07-04T09:26:00.030Z'\n                              owner: 64a3daee2aaac053bc5972af\n                              pincode: '755338'\n                              state: New Hampshire\n                              updatedAt: '2023-07-04T09:26:00.030Z'\n                            coupon: null\n                            createdAt: '2023-07-04T09:26:00.178Z'\n                            customer:\n                              _id: 64a3daee2aaac053bc5972af\n                              email: ova.fisher@gmail.com\n                              username: emmet67\n                            discountedOrderPrice: 2179\n                            isPaymentDone: true\n                            orderPrice: 2179\n                            paymentId: zwvq3RqYoZZGOLXQnK0Td3Ya\n                            paymentProvider: PAYPAL\n                            status: PENDING\n                            totalOrderItems: 2\n                            updatedAt: '2023-07-04T09:26:00.178Z'\n                          - __v: 0\n                            _id: 64a3e5a8a22936b868265efe\n                            address:\n                              __v: 0\n                              _id: 64a3e5a7a22936b868265c21\n                              addressLine1: 3111 Haag Field\n                              addressLine2: Dare Green\n                              city: Asheville\n                              country: Cape Verde\n                              createdAt: '2023-07-04T09:26:00.030Z'\n                              owner: 64a3daee2aaac053bc5972b8\n                              pincode: '014313'\n                              state: Tennessee\n                              updatedAt: '2023-07-04T09:26:00.030Z'\n                            coupon:\n                              _id: 64a3e5a8a22936b868265c67\n                              couponCode: DELECTUS555\n                              name: temporibus\n                            createdAt: '2023-07-04T09:26:00.179Z'\n                            customer:\n                              _id: 64a3daee2aaac053bc5972b8\n                              email: mireille.kihn57@hotmail.com\n                              username: shawna_schmeler\n                            discountedOrderPrice: 1723\n                            isPaymentDone: true\n                            orderPrice: 2278\n                            paymentId: FS6oqGm8wYZ162zvpSX4foWI\n                            paymentProvider: PAYPAL\n                            status: DELIVERED\n                            totalOrderItems: 3\n                            updatedAt: '2023-07-04T09:26:00.179Z'\n                          - __v: 0\n                            _id: 64a3e5a8a22936b868265f02\n                            address:\n                              __v: 0\n                              _id: 64a3e5a7a22936b868265c0d\n                              addressLine1: 572 Kiley Spurs\n                              addressLine2: Rogers Key\n                              city: Colefort\n                              country: Azerbaijan\n                              createdAt: '2023-07-04T09:26:00.028Z'\n                              owner: 64a3daee2aaac053bc597258\n                              pincode: '590965'\n                              state: Louisiana\n                              updatedAt: '2023-07-04T09:26:00.028Z'\n                            coupon:\n                              _id: 64a3e5a8a22936b868265c68\n                              couponCode: QUIDEM520\n                              name: necessitatibus\n                            createdAt: '2023-07-04T09:26:00.179Z'\n                            customer:\n                              _id: 64a3daee2aaac053bc597258\n                              email: zackery_lesch49@gmail.com\n                              username: branson.marks\n                            discountedOrderPrice: 2775\n                            isPaymentDone: true\n                            orderPrice: 3295\n                            paymentId: Wl3UAWAsJiXcKA8zXbURzm3u\n                            paymentProvider: PAYPAL\n                            status: DELIVERED\n                            totalOrderItems: 4\n                            updatedAt: '2023-07-04T09:26:00.179Z'\n                          - __v: 0\n                            _id: 64a3e5a8a22936b868265f07\n                            address:\n                              __v: 0\n                              _id: 64a3e5a7a22936b868265c0e\n                              addressLine1: 79729 Brekke Station\n                              addressLine2: Georgianna Fords\n                              city: New Brenda\n                              country: Singapore\n                              createdAt: '2023-07-04T09:26:00.028Z'\n                              owner: 64a3daee2aaac053bc59725b\n                              pincode: '892122'\n                              state: Montana\n                              updatedAt: '2023-07-04T09:26:00.028Z'\n                            coupon:\n                              _id: 64a3e5a8a22936b868265c6f\n                              couponCode: EARUM361\n                              name: doloribus\n                            createdAt: '2023-07-04T09:26:00.179Z'\n                            customer:\n                              _id: 64a3daee2aaac053bc59725b\n                              email: rebeka.bashirian@yahoo.com\n                              username: delia_zboncak15\n                            discountedOrderPrice: 2805\n                            isPaymentDone: true\n                            orderPrice: 3166\n                            paymentId: 5peUjU8Tn7ALplHlEbrBpeBf\n                            paymentProvider: RAZORPAY\n                            status: PENDING\n                            totalOrderItems: 4\n                            updatedAt: '2023-07-04T09:26:00.179Z'\n                          - __v: 0\n                            _id: 64a3e5a8a22936b868265f0c\n                            address:\n                              __v: 0\n                              _id: 64a3e5a7a22936b868265c0a\n                              addressLine1: 17177 Issac Freeway\n                              addressLine2: Marks Expressway\n                              city: New Alfordville\n                              country: Cameroon\n                              createdAt: '2023-07-04T09:26:00.027Z'\n                              owner: 64a3daee2aaac053bc59727f\n                              pincode: '902787'\n                              state: New Jersey\n                              updatedAt: '2023-07-04T09:26:00.027Z'\n                            coupon:\n                              _id: 64a3e5a8a22936b868265c68\n                              couponCode: QUIDEM520\n                              name: necessitatibus\n                            createdAt: '2023-07-04T09:26:00.179Z'\n                            customer:\n                              _id: 64a3daee2aaac053bc59727f\n                              email: ignacio_sauer@yahoo.com\n                              username: florida74\n                            discountedOrderPrice: 2775\n                            isPaymentDone: true\n                            orderPrice: 3295\n                            paymentId: 1WTXfEDX78wTz19a6v5vBROj\n                            paymentProvider: RAZORPAY\n                            status: PENDING\n                            totalOrderItems: 4\n                            updatedAt: '2023-07-04T09:26:00.179Z'\n                          - __v: 0\n                            _id: 64a3e5a8a22936b868265f11\n                            address:\n                              __v: 0\n                              _id: 64a3e5a7a22936b868265c22\n                              addressLine1: 17737 Carroll Drive\n                              addressLine2: Funk Lane\n                              city: Lake Elton\n                              country: Saint Vincent and the Grenadines\n                              createdAt: '2023-07-04T09:26:00.030Z'\n                              owner: 64a3daee2aaac053bc5972bb\n                              pincode: '134887'\n                              state: Florida\n                              updatedAt: '2023-07-04T09:26:00.030Z'\n                            coupon:\n                              _id: 64a3e5a8a22936b868265c72\n                              couponCode: SEQUI636\n                              name: repellat\n                            createdAt: '2023-07-04T09:26:00.179Z'\n                            customer:\n                              _id: 64a3daee2aaac053bc5972bb\n                              email: dustin_kiehn@gmail.com\n                              username: estrella.damore43\n                            discountedOrderPrice: 932\n                            isPaymentDone: true\n                            orderPrice: 1568\n                            paymentId: eFnN41x7AF4Jfwq9MSL32Jlo\n                            paymentProvider: PAYPAL\n                            status: DELIVERED\n                            totalOrderItems: 2\n                            updatedAt: '2023-07-04T09:26:00.179Z'\n                          - __v: 0\n                            _id: 64a3e5a8a22936b868265f14\n                            address:\n                              __v: 0\n                              _id: 64a3e5a7a22936b868265c17\n                              addressLine1: 83590 Kovacek Junctions\n                              addressLine2: Kieran Parks\n                              city: Alfonzoport\n                              country: Bahrain\n                              createdAt: '2023-07-04T09:26:00.029Z'\n                              owner: 64a3daee2aaac053bc597294\n                              pincode: '689388'\n                              state: Wisconsin\n                              updatedAt: '2023-07-04T09:26:00.029Z'\n                            coupon: null\n                            createdAt: '2023-07-04T09:26:00.179Z'\n                            customer:\n                              _id: 64a3daee2aaac053bc597294\n                              email: ken94@gmail.com\n                              username: stanton.berge53\n                            discountedOrderPrice: 3462\n                            isPaymentDone: true\n                            orderPrice: 3462\n                            paymentId: cvuE5IUZ8oOLbS0cAbPbbs2O\n                            paymentProvider: RAZORPAY\n                            status: PENDING\n                            totalOrderItems: 4\n                            updatedAt: '2023-07-04T09:26:00.179Z'\n                          - __v: 0\n                            _id: 64a3e5a8a22936b868265f19\n                            address:\n                              __v: 0\n                              _id: 64a3e5a7a22936b868265c21\n                              addressLine1: 3111 Haag Field\n                              addressLine2: Dare Green\n                              city: Asheville\n                              country: Cape Verde\n                              createdAt: '2023-07-04T09:26:00.030Z'\n                              owner: 64a3daee2aaac053bc5972b8\n                              pincode: '014313'\n                              state: Tennessee\n                              updatedAt: '2023-07-04T09:26:00.030Z'\n                            coupon: null\n                            createdAt: '2023-07-04T09:26:00.179Z'\n                            customer:\n                              _id: 64a3daee2aaac053bc5972b8\n                              email: mireille.kihn57@hotmail.com\n                              username: shawna_schmeler\n                            discountedOrderPrice: 1041\n                            isPaymentDone: true\n                            orderPrice: 1041\n                            paymentId: ewdOErqsgJurF0JSrGHR5rBM\n                            paymentProvider: PAYPAL\n                            status: DELIVERED\n                            totalOrderItems: 2\n                            updatedAt: '2023-07-04T09:26:00.179Z'\n                          - __v: 0\n                            _id: 64a3e5a8a22936b868265f1c\n                            address:\n                              __v: 0\n                              _id: 64a3e5a7a22936b868265c0e\n                              addressLine1: 79729 Brekke Station\n                              addressLine2: Georgianna Fords\n                              city: New Brenda\n                              country: Singapore\n                              createdAt: '2023-07-04T09:26:00.028Z'\n                              owner: 64a3daee2aaac053bc59725b\n                              pincode: '892122'\n                              state: Montana\n                              updatedAt: '2023-07-04T09:26:00.028Z'\n                            coupon: null\n                            createdAt: '2023-07-04T09:26:00.179Z'\n                            customer:\n                              _id: 64a3daee2aaac053bc59725b\n                              email: rebeka.bashirian@yahoo.com\n                              username: delia_zboncak15\n                            discountedOrderPrice: 3462\n                            isPaymentDone: true\n                            orderPrice: 3462\n                            paymentId: hUrsmZjsMRevG6LxTRRrgMFb\n                            paymentProvider: PAYPAL\n                            status: PENDING\n                            totalOrderItems: 4\n                            updatedAt: '2023-07-04T09:26:00.179Z'\n                      page:\n                        type: number\n                        example: 2\n                      prevPage:\n                        type: number\n                        example: 1\n                      serialNumberStartFrom:\n                        type: number\n                        example: 11\n                      totalOrders:\n                        type: number\n                        example: 20\n                      totalPages:\n                        type: number\n                        example: 2\n                  message:\n                    type: string\n                    example: Orders fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get order list admin:\n                  value:\n                    data:\n                      hasNextPage: false\n                      hasPrevPage: true\n                      limit: 10\n                      nextPage: null\n                      orders:\n                        - __v: 0\n                          _id: 64a3e5a8a22936b868265ef8\n                          address:\n                            __v: 0\n                            _id: 64a3e5a7a22936b868265c20\n                            addressLine1: 45477 Kerluke Summit\n                            addressLine2: Effertz Brook\n                            city: North Little Rock\n                            country: Turks and Caicos Islands\n                            createdAt: '2023-07-04T09:26:00.030Z'\n                            owner: 64a3daee2aaac053bc5972b5\n                            pincode: '920910'\n                            state: Nevada\n                            updatedAt: '2023-07-04T09:26:00.030Z'\n                          coupon: null\n                          createdAt: '2023-07-04T09:26:00.178Z'\n                          customer:\n                            _id: 64a3daee2aaac053bc5972b5\n                            email: mercedes.christiansen21@gmail.com\n                            username: asa_schmeler\n                          discountedOrderPrice: 1471\n                          isPaymentDone: true\n                          orderPrice: 1471\n                          paymentId: e5vUu6SArWYAcNyIP0v6rifr\n                          paymentProvider: PAYPAL\n                          status: PENDING\n                          totalOrderItems: 2\n                          updatedAt: '2023-07-04T09:26:00.178Z'\n                        - __v: 0\n                          _id: 64a3e5a8a22936b868265efb\n                          address:\n                            __v: 0\n                            _id: 64a3e5a7a22936b868265c1d\n                            addressLine1: 9845 Jerry Divide\n                            addressLine2: Bartell Highway\n                            city: Floymouth\n                            country: Finland\n                            createdAt: '2023-07-04T09:26:00.030Z'\n                            owner: 64a3daee2aaac053bc5972af\n                            pincode: '755338'\n                            state: New Hampshire\n                            updatedAt: '2023-07-04T09:26:00.030Z'\n                          coupon: null\n                          createdAt: '2023-07-04T09:26:00.178Z'\n                          customer:\n                            _id: 64a3daee2aaac053bc5972af\n                            email: ova.fisher@gmail.com\n                            username: emmet67\n                          discountedOrderPrice: 2179\n                          isPaymentDone: true\n                          orderPrice: 2179\n                          paymentId: zwvq3RqYoZZGOLXQnK0Td3Ya\n                          paymentProvider: PAYPAL\n                          status: PENDING\n                          totalOrderItems: 2\n                          updatedAt: '2023-07-04T09:26:00.178Z'\n                        - __v: 0\n                          _id: 64a3e5a8a22936b868265efe\n                          address:\n                            __v: 0\n                            _id: 64a3e5a7a22936b868265c21\n                            addressLine1: 3111 Haag Field\n                            addressLine2: Dare Green\n                            city: Asheville\n                            country: Cape Verde\n                            createdAt: '2023-07-04T09:26:00.030Z'\n                            owner: 64a3daee2aaac053bc5972b8\n                            pincode: '014313'\n                            state: Tennessee\n                            updatedAt: '2023-07-04T09:26:00.030Z'\n                          coupon:\n                            _id: 64a3e5a8a22936b868265c67\n                            couponCode: DELECTUS555\n                            name: temporibus\n                          createdAt: '2023-07-04T09:26:00.179Z'\n                          customer:\n                            _id: 64a3daee2aaac053bc5972b8\n                            email: mireille.kihn57@hotmail.com\n                            username: shawna_schmeler\n                          discountedOrderPrice: 1723\n                          isPaymentDone: true\n                          orderPrice: 2278\n                          paymentId: FS6oqGm8wYZ162zvpSX4foWI\n                          paymentProvider: PAYPAL\n                          status: DELIVERED\n                          totalOrderItems: 3\n                          updatedAt: '2023-07-04T09:26:00.179Z'\n                        - __v: 0\n                          _id: 64a3e5a8a22936b868265f02\n                          address:\n                            __v: 0\n                            _id: 64a3e5a7a22936b868265c0d\n                            addressLine1: 572 Kiley Spurs\n                            addressLine2: Rogers Key\n                            city: Colefort\n                            country: Azerbaijan\n                            createdAt: '2023-07-04T09:26:00.028Z'\n                            owner: 64a3daee2aaac053bc597258\n                            pincode: '590965'\n                            state: Louisiana\n                            updatedAt: '2023-07-04T09:26:00.028Z'\n                          coupon:\n                            _id: 64a3e5a8a22936b868265c68\n                            couponCode: QUIDEM520\n                            name: necessitatibus\n                          createdAt: '2023-07-04T09:26:00.179Z'\n                          customer:\n                            _id: 64a3daee2aaac053bc597258\n                            email: zackery_lesch49@gmail.com\n                            username: branson.marks\n                          discountedOrderPrice: 2775\n                          isPaymentDone: true\n                          orderPrice: 3295\n                          paymentId: Wl3UAWAsJiXcKA8zXbURzm3u\n                          paymentProvider: PAYPAL\n                          status: DELIVERED\n                          totalOrderItems: 4\n                          updatedAt: '2023-07-04T09:26:00.179Z'\n                        - __v: 0\n                          _id: 64a3e5a8a22936b868265f07\n                          address:\n                            __v: 0\n                            _id: 64a3e5a7a22936b868265c0e\n                            addressLine1: 79729 Brekke Station\n                            addressLine2: Georgianna Fords\n                            city: New Brenda\n                            country: Singapore\n                            createdAt: '2023-07-04T09:26:00.028Z'\n                            owner: 64a3daee2aaac053bc59725b\n                            pincode: '892122'\n                            state: Montana\n                            updatedAt: '2023-07-04T09:26:00.028Z'\n                          coupon:\n                            _id: 64a3e5a8a22936b868265c6f\n                            couponCode: EARUM361\n                            name: doloribus\n                          createdAt: '2023-07-04T09:26:00.179Z'\n                          customer:\n                            _id: 64a3daee2aaac053bc59725b\n                            email: rebeka.bashirian@yahoo.com\n                            username: delia_zboncak15\n                          discountedOrderPrice: 2805\n                          isPaymentDone: true\n                          orderPrice: 3166\n                          paymentId: 5peUjU8Tn7ALplHlEbrBpeBf\n                          paymentProvider: RAZORPAY\n                          status: PENDING\n                          totalOrderItems: 4\n                          updatedAt: '2023-07-04T09:26:00.179Z'\n                        - __v: 0\n                          _id: 64a3e5a8a22936b868265f0c\n                          address:\n                            __v: 0\n                            _id: 64a3e5a7a22936b868265c0a\n                            addressLine1: 17177 Issac Freeway\n                            addressLine2: Marks Expressway\n                            city: New Alfordville\n                            country: Cameroon\n                            createdAt: '2023-07-04T09:26:00.027Z'\n                            owner: 64a3daee2aaac053bc59727f\n                            pincode: '902787'\n                            state: New Jersey\n                            updatedAt: '2023-07-04T09:26:00.027Z'\n                          coupon:\n                            _id: 64a3e5a8a22936b868265c68\n                            couponCode: QUIDEM520\n                            name: necessitatibus\n                          createdAt: '2023-07-04T09:26:00.179Z'\n                          customer:\n                            _id: 64a3daee2aaac053bc59727f\n                            email: ignacio_sauer@yahoo.com\n                            username: florida74\n                          discountedOrderPrice: 2775\n                          isPaymentDone: true\n                          orderPrice: 3295\n                          paymentId: 1WTXfEDX78wTz19a6v5vBROj\n                          paymentProvider: RAZORPAY\n                          status: PENDING\n                          totalOrderItems: 4\n                          updatedAt: '2023-07-04T09:26:00.179Z'\n                        - __v: 0\n                          _id: 64a3e5a8a22936b868265f11\n                          address:\n                            __v: 0\n                            _id: 64a3e5a7a22936b868265c22\n                            addressLine1: 17737 Carroll Drive\n                            addressLine2: Funk Lane\n                            city: Lake Elton\n                            country: Saint Vincent and the Grenadines\n                            createdAt: '2023-07-04T09:26:00.030Z'\n                            owner: 64a3daee2aaac053bc5972bb\n                            pincode: '134887'\n                            state: Florida\n                            updatedAt: '2023-07-04T09:26:00.030Z'\n                          coupon:\n                            _id: 64a3e5a8a22936b868265c72\n                            couponCode: SEQUI636\n                            name: repellat\n                          createdAt: '2023-07-04T09:26:00.179Z'\n                          customer:\n                            _id: 64a3daee2aaac053bc5972bb\n                            email: dustin_kiehn@gmail.com\n                            username: estrella.damore43\n                          discountedOrderPrice: 932\n                          isPaymentDone: true\n                          orderPrice: 1568\n                          paymentId: eFnN41x7AF4Jfwq9MSL32Jlo\n                          paymentProvider: PAYPAL\n                          status: DELIVERED\n                          totalOrderItems: 2\n                          updatedAt: '2023-07-04T09:26:00.179Z'\n                        - __v: 0\n                          _id: 64a3e5a8a22936b868265f14\n                          address:\n                            __v: 0\n                            _id: 64a3e5a7a22936b868265c17\n                            addressLine1: 83590 Kovacek Junctions\n                            addressLine2: Kieran Parks\n                            city: Alfonzoport\n                            country: Bahrain\n                            createdAt: '2023-07-04T09:26:00.029Z'\n                            owner: 64a3daee2aaac053bc597294\n                            pincode: '689388'\n                            state: Wisconsin\n                            updatedAt: '2023-07-04T09:26:00.029Z'\n                          coupon: null\n                          createdAt: '2023-07-04T09:26:00.179Z'\n                          customer:\n                            _id: 64a3daee2aaac053bc597294\n                            email: ken94@gmail.com\n                            username: stanton.berge53\n                          discountedOrderPrice: 3462\n                          isPaymentDone: true\n                          orderPrice: 3462\n                          paymentId: cvuE5IUZ8oOLbS0cAbPbbs2O\n                          paymentProvider: RAZORPAY\n                          status: PENDING\n                          totalOrderItems: 4\n                          updatedAt: '2023-07-04T09:26:00.179Z'\n                        - __v: 0\n                          _id: 64a3e5a8a22936b868265f19\n                          address:\n                            __v: 0\n                            _id: 64a3e5a7a22936b868265c21\n                            addressLine1: 3111 Haag Field\n                            addressLine2: Dare Green\n                            city: Asheville\n                            country: Cape Verde\n                            createdAt: '2023-07-04T09:26:00.030Z'\n                            owner: 64a3daee2aaac053bc5972b8\n                            pincode: '014313'\n                            state: Tennessee\n                            updatedAt: '2023-07-04T09:26:00.030Z'\n                          coupon: null\n                          createdAt: '2023-07-04T09:26:00.179Z'\n                          customer:\n                            _id: 64a3daee2aaac053bc5972b8\n                            email: mireille.kihn57@hotmail.com\n                            username: shawna_schmeler\n                          discountedOrderPrice: 1041\n                          isPaymentDone: true\n                          orderPrice: 1041\n                          paymentId: ewdOErqsgJurF0JSrGHR5rBM\n                          paymentProvider: PAYPAL\n                          status: DELIVERED\n                          totalOrderItems: 2\n                          updatedAt: '2023-07-04T09:26:00.179Z'\n                        - __v: 0\n                          _id: 64a3e5a8a22936b868265f1c\n                          address:\n                            __v: 0\n                            _id: 64a3e5a7a22936b868265c0e\n                            addressLine1: 79729 Brekke Station\n                            addressLine2: Georgianna Fords\n                            city: New Brenda\n                            country: Singapore\n                            createdAt: '2023-07-04T09:26:00.028Z'\n                            owner: 64a3daee2aaac053bc59725b\n                            pincode: '892122'\n                            state: Montana\n                            updatedAt: '2023-07-04T09:26:00.028Z'\n                          coupon: null\n                          createdAt: '2023-07-04T09:26:00.179Z'\n                          customer:\n                            _id: 64a3daee2aaac053bc59725b\n                            email: rebeka.bashirian@yahoo.com\n                            username: delia_zboncak15\n                          discountedOrderPrice: 3462\n                          isPaymentDone: true\n                          orderPrice: 3462\n                          paymentId: hUrsmZjsMRevG6LxTRRrgMFb\n                          paymentProvider: PAYPAL\n                          status: PENDING\n                          totalOrderItems: 4\n                          updatedAt: '2023-07-04T09:26:00.179Z'\n                      page: 2\n                      prevPage: 1\n                      serialNumberStartFrom: 11\n                      totalOrders: 20\n                      totalPages: 2\n                    message: Orders fetched successfully\n                    statusCode: 200\n                    success: true\n  /ecommerce/orders/{orderId}:\n    get:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Get order by id\n      description: >-\n        The API allows users to retrieve information about an order placed by a\n        user by specifying the `orderId` as a path variable.\n\n\n        This can be used to get complete details of the order for admin or user\n        who has placed the order.\n      operationId: getOrderById\n      responses:\n        '200':\n          description: Get order by id\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '5176'\n            Date:\n              schema:\n                type: string\n                example: Fri, 30 Jun 2023 06:55:07 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1438-13g34wYGD5SCggYrbXDaddLXbrc\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '494'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '814'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      _id:\n                        type: string\n                        example: 649e7bfcdbf96264731f5a0c\n                      order:\n                        type: object\n                        properties:\n                          __v:\n                            type: number\n                            example: 0\n                          _id:\n                            type: string\n                            example: 649e7bfcdbf96264731f5a0c\n                          address:\n                            type: object\n                            properties:\n                              __v:\n                                type: number\n                                example: 0\n                              _id:\n                                type: string\n                                example: 649e7bfcdbf96264731f5738\n                              addressLine1:\n                                type: string\n                                example: 758 Antone Trafficway\n                              addressLine2:\n                                type: string\n                                example: Jacobs Spurs\n                              city:\n                                type: string\n                                example: New Magdalenfield\n                              country:\n                                type: string\n                                example: Poland\n                              createdAt:\n                                type: string\n                                example: '2023-06-30T06:53:48.726Z'\n                              owner:\n                                type: string\n                                example: 649e7bfbdbf96264731f544f\n                              pincode:\n                                type: string\n                                example: '024061'\n                              state:\n                                type: string\n                                example: New Hampshire\n                              updatedAt:\n                                type: string\n                                example: '2023-06-30T06:53:48.726Z'\n                          coupon:\n                            type: object\n                            properties:\n                              _id:\n                                type: string\n                                example: 649e7bfcdbf96264731f5786\n                              couponCode:\n                                type: string\n                                example: CORRUPTI845\n                              name:\n                                type: string\n                                example: temporibus\n                          createdAt:\n                            type: string\n                            example: '2023-06-30T06:53:48.826Z'\n                          customer:\n                            type: object\n                            properties:\n                              _id:\n                                type: string\n                                example: 649e7bfbdbf96264731f5455\n                              email:\n                                type: string\n                                example: emilia.hayes70@yahoo.com\n                              username:\n                                type: string\n                                example: emmitt3\n                          discountedOrderPrice:\n                            type: number\n                            example: 5411\n                          isPaymentDone:\n                            type: boolean\n                            example: true\n                          items:\n                            type: array\n                            items:\n                              type: object\n                              properties:\n                                _id:\n                                  type: string\n                                  example: 649e7bfcdbf96264731f5a0d\n                                product:\n                                  type: object\n                                  properties:\n                                    __v:\n                                      type: number\n                                      example: 0\n                                    _id:\n                                      type: string\n                                      example: 649e7bfcdbf96264731f57c8\n                                    category:\n                                      type: string\n                                      example: 649e7bfcdbf96264731f56e1\n                                    createdAt:\n                                      type: string\n                                      example: '2023-06-30T06:53:48.766Z'\n                                    description:\n                                      type: string\n                                      example: >-\n                                        Carbonite web goalkeeper gloves are\n                                        ergonomically designed to give easy fit\n                                    mainImage:\n                                      type: object\n                                      properties:\n                                        _id:\n                                          type: string\n                                          example: 649e7bfcdbf96264731f57c9\n                                        localPath:\n                                          type: string\n                                          example: ''\n                                        url:\n                                          type: string\n                                          example: >-\n                                            https://loremflickr.com/640/480/product?lock=7464317817454592\n                                    name:\n                                      type: string\n                                      example: Recycled Granite Bacon\n                                    owner:\n                                      type: string\n                                      example: 649e7bfbdbf96264731f543d\n                                    price:\n                                      type: number\n                                      example: 426\n                                    stock:\n                                      type: number\n                                      example: 47\n                                    subImages:\n                                      type: array\n                                      items:\n                                        type: object\n                                        properties:\n                                          _id:\n                                            type: string\n                                            example: 649e7bfcdbf96264731f57ca\n                                          localPath:\n                                            type: string\n                                            example: ''\n                                          url:\n                                            type: string\n                                            example: >-\n                                              https://loremflickr.com/640/480/product?lock=3434367487574016\n                                      example:\n                                        - _id: 649e7bfcdbf96264731f57ca\n                                          localPath: ''\n                                          url: >-\n                                            https://loremflickr.com/640/480/product?lock=3434367487574016\n                                        - _id: 649e7bfcdbf96264731f57cb\n                                          localPath: ''\n                                          url: >-\n                                            https://loremflickr.com/640/480/product?lock=5167427790831616\n                                        - _id: 649e7bfcdbf96264731f57cc\n                                          localPath: ''\n                                          url: >-\n                                            https://loremflickr.com/640/480/product?lock=3368131338698752\n                                        - _id: 649e7bfcdbf96264731f57cd\n                                          localPath: ''\n                                          url: >-\n                                            https://loremflickr.com/640/480/product?lock=8845803512659968\n                                    updatedAt:\n                                      type: string\n                                      example: '2023-06-30T06:53:48.766Z'\n                                quantity:\n                                  type: number\n                                  example: 5\n                            example:\n                              - _id: 649e7bfcdbf96264731f5a0d\n                                product:\n                                  __v: 0\n                                  _id: 649e7bfcdbf96264731f57c8\n                                  category: 649e7bfcdbf96264731f56e1\n                                  createdAt: '2023-06-30T06:53:48.766Z'\n                                  description: >-\n                                    Carbonite web goalkeeper gloves are\n                                    ergonomically designed to give easy fit\n                                  mainImage:\n                                    _id: 649e7bfcdbf96264731f57c9\n                                    localPath: ''\n                                    url: >-\n                                      https://loremflickr.com/640/480/product?lock=7464317817454592\n                                  name: Recycled Granite Bacon\n                                  owner: 649e7bfbdbf96264731f543d\n                                  price: 426\n                                  stock: 47\n                                  subImages:\n                                    - _id: 649e7bfcdbf96264731f57ca\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=3434367487574016\n                                    - _id: 649e7bfcdbf96264731f57cb\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=5167427790831616\n                                    - _id: 649e7bfcdbf96264731f57cc\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=3368131338698752\n                                    - _id: 649e7bfcdbf96264731f57cd\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=8845803512659968\n                                  updatedAt: '2023-06-30T06:53:48.766Z'\n                                quantity: 5\n                              - _id: 649e7bfcdbf96264731f5a0e\n                                product:\n                                  __v: 0\n                                  _id: 649e7bfcdbf96264731f57ce\n                                  category: 649e7bfcdbf96264731f56df\n                                  createdAt: '2023-06-30T06:53:48.766Z'\n                                  description: >-\n                                    New ABC 13 9370, 13.3, 5th Gen CoreA5-8250U,\n                                    8GB RAM, 256GB SSD, power UHD Graphics, OS\n                                    10 Home, OS Office A & J 2016\n                                  mainImage:\n                                    _id: 649e7bfcdbf96264731f57cf\n                                    localPath: ''\n                                    url: >-\n                                      https://loremflickr.com/640/480/product?lock=7975801114853376\n                                  name: Luxurious Granite Keyboard\n                                  owner: 649e7bfbdbf96264731f541c\n                                  price: 294\n                                  stock: 172\n                                  subImages:\n                                    - _id: 649e7bfcdbf96264731f57d0\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=244044475138048\n                                    - _id: 649e7bfcdbf96264731f57d1\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=5204794522206208\n                                    - _id: 649e7bfcdbf96264731f57d2\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=4480031344558080\n                                    - _id: 649e7bfcdbf96264731f57d3\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=4034762618437632\n                                  updatedAt: '2023-06-30T06:53:48.766Z'\n                                quantity: 5\n                              - _id: 649e7bfcdbf96264731f5a0f\n                                product:\n                                  __v: 0\n                                  _id: 649e7bfcdbf96264731f57d4\n                                  category: 649e7bfcdbf96264731f56dc\n                                  createdAt: '2023-06-30T06:53:48.766Z'\n                                  description: >-\n                                    The automobile layout consists of a\n                                    front-engine design, with transaxle-type\n                                    transmissions mounted at the rear of the\n                                    engine and four wheel drive\n                                  mainImage:\n                                    _id: 649e7bfcdbf96264731f57d5\n                                    localPath: ''\n                                    url: >-\n                                      https://loremflickr.com/640/480/product?lock=5516794521452544\n                                  name: Unbranded Frozen Bike\n                                  owner: 649e7bfbdbf96264731f5455\n                                  price: 362\n                                  stock: 65\n                                  subImages:\n                                    - _id: 649e7bfcdbf96264731f57d6\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=4062546218713088\n                                    - _id: 649e7bfcdbf96264731f57d7\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=7391130201096192\n                                    - _id: 649e7bfcdbf96264731f57d8\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=120893598597120\n                                    - _id: 649e7bfcdbf96264731f57d9\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=4198532235919360\n                                  updatedAt: '2023-06-30T06:53:48.766Z'\n                                quantity: 5\n                              - _id: 649e7bfcdbf96264731f5a10\n                                product:\n                                  __v: 0\n                                  _id: 649e7bfcdbf96264731f57da\n                                  category: 649e7bfcdbf96264731f56d6\n                                  createdAt: '2023-06-30T06:53:48.767Z'\n                                  description: >-\n                                    New range of formal shirts are designed\n                                    keeping you in mind. With fits and styling\n                                    that will make you stand apart\n                                  mainImage:\n                                    _id: 649e7bfcdbf96264731f57db\n                                    localPath: ''\n                                    url: >-\n                                      https://loremflickr.com/640/480/product?lock=3298074176782336\n                                  name: Unbranded Bronze Bacon\n                                  owner: 649e7bfbdbf96264731f545e\n                                  price: 423\n                                  stock: 74\n                                  subImages:\n                                    - _id: 649e7bfcdbf96264731f57dc\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=3431786591813632\n                                    - _id: 649e7bfcdbf96264731f57dd\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=6701548415483904\n                                    - _id: 649e7bfcdbf96264731f57de\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=7102421234876416\n                                    - _id: 649e7bfcdbf96264731f57df\n                                      localPath: ''\n                                      url: >-\n                                        https://loremflickr.com/640/480/product?lock=4356734367825920\n                                  updatedAt: '2023-06-30T06:53:48.767Z'\n                                quantity: 2\n                          orderPrice:\n                            type: number\n                            example: 6256\n                          paymentId:\n                            type: string\n                            example: ZMHZzdnZLdoLLrijpXvh6fGX\n                          paymentProvider:\n                            type: string\n                            example: PAYPAL\n                          status:\n                            type: string\n                            example: DELIVERED\n                          updatedAt:\n                            type: string\n                            example: '2023-06-30T06:53:48.826Z'\n                  message:\n                    type: string\n                    example: Order fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get order by id:\n                  value:\n                    data:\n                      _id: 649e7bfcdbf96264731f5a0c\n                      order:\n                        __v: 0\n                        _id: 649e7bfcdbf96264731f5a0c\n                        address:\n                          __v: 0\n                          _id: 649e7bfcdbf96264731f5738\n                          addressLine1: 758 Antone Trafficway\n                          addressLine2: Jacobs Spurs\n                          city: New Magdalenfield\n                          country: Poland\n                          createdAt: '2023-06-30T06:53:48.726Z'\n                          owner: 649e7bfbdbf96264731f544f\n                          pincode: '024061'\n                          state: New Hampshire\n                          updatedAt: '2023-06-30T06:53:48.726Z'\n                        coupon:\n                          _id: 649e7bfcdbf96264731f5786\n                          couponCode: CORRUPTI845\n                          name: temporibus\n                        createdAt: '2023-06-30T06:53:48.826Z'\n                        customer:\n                          _id: 649e7bfbdbf96264731f5455\n                          email: emilia.hayes70@yahoo.com\n                          username: emmitt3\n                        discountedOrderPrice: 5411\n                        isPaymentDone: true\n                        items:\n                          - _id: 649e7bfcdbf96264731f5a0d\n                            product:\n                              __v: 0\n                              _id: 649e7bfcdbf96264731f57c8\n                              category: 649e7bfcdbf96264731f56e1\n                              createdAt: '2023-06-30T06:53:48.766Z'\n                              description: >-\n                                Carbonite web goalkeeper gloves are\n                                ergonomically designed to give easy fit\n                              mainImage:\n                                _id: 649e7bfcdbf96264731f57c9\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=7464317817454592\n                              name: Recycled Granite Bacon\n                              owner: 649e7bfbdbf96264731f543d\n                              price: 426\n                              stock: 47\n                              subImages:\n                                - _id: 649e7bfcdbf96264731f57ca\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=3434367487574016\n                                - _id: 649e7bfcdbf96264731f57cb\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=5167427790831616\n                                - _id: 649e7bfcdbf96264731f57cc\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=3368131338698752\n                                - _id: 649e7bfcdbf96264731f57cd\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=8845803512659968\n                              updatedAt: '2023-06-30T06:53:48.766Z'\n                            quantity: 5\n                          - _id: 649e7bfcdbf96264731f5a0e\n                            product:\n                              __v: 0\n                              _id: 649e7bfcdbf96264731f57ce\n                              category: 649e7bfcdbf96264731f56df\n                              createdAt: '2023-06-30T06:53:48.766Z'\n                              description: >-\n                                New ABC 13 9370, 13.3, 5th Gen CoreA5-8250U, 8GB\n                                RAM, 256GB SSD, power UHD Graphics, OS 10 Home,\n                                OS Office A & J 2016\n                              mainImage:\n                                _id: 649e7bfcdbf96264731f57cf\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=7975801114853376\n                              name: Luxurious Granite Keyboard\n                              owner: 649e7bfbdbf96264731f541c\n                              price: 294\n                              stock: 172\n                              subImages:\n                                - _id: 649e7bfcdbf96264731f57d0\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=244044475138048\n                                - _id: 649e7bfcdbf96264731f57d1\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=5204794522206208\n                                - _id: 649e7bfcdbf96264731f57d2\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=4480031344558080\n                                - _id: 649e7bfcdbf96264731f57d3\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=4034762618437632\n                              updatedAt: '2023-06-30T06:53:48.766Z'\n                            quantity: 5\n                          - _id: 649e7bfcdbf96264731f5a0f\n                            product:\n                              __v: 0\n                              _id: 649e7bfcdbf96264731f57d4\n                              category: 649e7bfcdbf96264731f56dc\n                              createdAt: '2023-06-30T06:53:48.766Z'\n                              description: >-\n                                The automobile layout consists of a front-engine\n                                design, with transaxle-type transmissions\n                                mounted at the rear of the engine and four wheel\n                                drive\n                              mainImage:\n                                _id: 649e7bfcdbf96264731f57d5\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=5516794521452544\n                              name: Unbranded Frozen Bike\n                              owner: 649e7bfbdbf96264731f5455\n                              price: 362\n                              stock: 65\n                              subImages:\n                                - _id: 649e7bfcdbf96264731f57d6\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=4062546218713088\n                                - _id: 649e7bfcdbf96264731f57d7\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=7391130201096192\n                                - _id: 649e7bfcdbf96264731f57d8\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=120893598597120\n                                - _id: 649e7bfcdbf96264731f57d9\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=4198532235919360\n                              updatedAt: '2023-06-30T06:53:48.766Z'\n                            quantity: 5\n                          - _id: 649e7bfcdbf96264731f5a10\n                            product:\n                              __v: 0\n                              _id: 649e7bfcdbf96264731f57da\n                              category: 649e7bfcdbf96264731f56d6\n                              createdAt: '2023-06-30T06:53:48.767Z'\n                              description: >-\n                                New range of formal shirts are designed keeping\n                                you in mind. With fits and styling that will\n                                make you stand apart\n                              mainImage:\n                                _id: 649e7bfcdbf96264731f57db\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/product?lock=3298074176782336\n                              name: Unbranded Bronze Bacon\n                              owner: 649e7bfbdbf96264731f545e\n                              price: 423\n                              stock: 74\n                              subImages:\n                                - _id: 649e7bfcdbf96264731f57dc\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=3431786591813632\n                                - _id: 649e7bfcdbf96264731f57dd\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=6701548415483904\n                                - _id: 649e7bfcdbf96264731f57de\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=7102421234876416\n                                - _id: 649e7bfcdbf96264731f57df\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/product?lock=4356734367825920\n                              updatedAt: '2023-06-30T06:53:48.767Z'\n                            quantity: 2\n                        orderPrice: 6256\n                        paymentId: ZMHZzdnZLdoLLrijpXvh6fGX\n                        paymentProvider: PAYPAL\n                        status: DELIVERED\n                        updatedAt: '2023-06-30T06:53:48.826Z'\n                    message: Order fetched successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: orderId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 649e7bfcdbf96264731f5a0c\n  /ecommerce/orders/provider/razorpay:\n    post:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Generate razorpay order\n      description: >-\n        The API allows a user to generate a **Razorpay** order instance,\n        facilitating the creation of an order and initiating the checkout flow\n        before the payment.\n\n\n        The API accepts the `addressId` of the user's address as input to\n        associate it with the order.\n\n\n        This functionality enables users to seamlessly generate an order and\n        proceed to the checkout process, providing a smooth and efficient\n        payment experience using Razorpay integration.\n      operationId: generateRazorpayOrder\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                addressId:\n                  type: string\n                  example: 64b0589005c0bdf2d75643b7\n            example:\n              addressId: 64b0589005c0bdf2d75643b7\n      responses:\n        '200':\n          description: Generate razorpay order\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '297'\n            Date:\n              schema:\n                type: string\n                example: Sat, 10 Jun 2023 16:00:00 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"129-dE1lFO2lmqwKpsRqC1X/blROolE\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      amount:\n                        type: number\n                        example: 96000\n                      amount_due:\n                        type: number\n                        example: 96000\n                      amount_paid:\n                        type: number\n                        example: 0\n                      attempts:\n                        type: number\n                        example: 0\n                      created_at:\n                        type: number\n                        example: 1686412801\n                      currency:\n                        type: string\n                        example: INR\n                      entity:\n                        type: string\n                        example: order\n                      id:\n                        type: string\n                        example: order_M0HkIYFrBYHDnx\n                      notes:\n                        type: array\n                        items: {}\n                        example: []\n                      offer_id:\n                        nullable: true\n                        example: null\n                      receipt:\n                        type: string\n                        example: 9Stii138Cx\n                      status:\n                        type: string\n                        example: created\n                  message:\n                    type: string\n                    example: Razorpay order generated\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Generate razorpay order:\n                  value:\n                    data:\n                      amount: 96000\n                      amount_due: 96000\n                      amount_paid: 0\n                      attempts: 0\n                      created_at: 1686412801\n                      currency: INR\n                      entity: order\n                      id: order_M0HkIYFrBYHDnx\n                      notes: []\n                      offer_id: null\n                      receipt: 9Stii138Cx\n                      status: created\n                    message: Razorpay order generated\n                    statusCode: 200\n                    success: true\n  /ecommerce/orders/provider/paypal:\n    post:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Generate paypal order\n      description: >-\n        The API allows a user to generate a **PayPal** order instance,\n        facilitating the creation of an order and initiating the checkout flow\n        before the payment.\n\n\n        The API accepts the `addressId` of the user's address as input to\n        associate it with the order.\n\n\n        This functionality enables users to seamlessly generate an order and\n        proceed to the checkout process, providing a smooth and efficient\n        payment experience using PayPal integration.\n      operationId: generatePaypalOrder\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                addressId:\n                  type: string\n                  example: 64b0589005c0bdf2d75643b7\n            example:\n              addressId: 64b0589005c0bdf2d75643b7\n      responses:\n        '201':\n          description: Generate paypal order\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '590'\n            Date:\n              schema:\n                type: string\n                example: Sat, 10 Jun 2023 16:00:33 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"24e-HCvzrR4clNQVaCa6i3PDh9F0x18\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      id:\n                        type: string\n                        example: 2AH88886SG978004Y\n                      links:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            href:\n                              type: string\n                              example: >-\n                                https://api.sandbox.paypal.com/v2/checkout/orders/2AH88886SG978004Y\n                            method:\n                              type: string\n                              example: GET\n                            rel:\n                              type: string\n                              example: self\n                        example:\n                          - href: >-\n                              https://api.sandbox.paypal.com/v2/checkout/orders/2AH88886SG978004Y\n                            method: GET\n                            rel: self\n                          - href: >-\n                              https://www.sandbox.paypal.com/checkoutnow?token=2AH88886SG978004Y\n                            method: GET\n                            rel: approve\n                          - href: >-\n                              https://api.sandbox.paypal.com/v2/checkout/orders/2AH88886SG978004Y\n                            method: PATCH\n                            rel: update\n                          - href: >-\n                              https://api.sandbox.paypal.com/v2/checkout/orders/2AH88886SG978004Y/capture\n                            method: POST\n                            rel: capture\n                      status:\n                        type: string\n                        example: CREATED\n                  message:\n                    type: string\n                    example: Paypal order generated successfully\n                  statusCode:\n                    type: number\n                    example: 201\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Generate paypal order:\n                  value:\n                    data:\n                      id: 2AH88886SG978004Y\n                      links:\n                        - href: >-\n                            https://api.sandbox.paypal.com/v2/checkout/orders/2AH88886SG978004Y\n                          method: GET\n                          rel: self\n                        - href: >-\n                            https://www.sandbox.paypal.com/checkoutnow?token=2AH88886SG978004Y\n                          method: GET\n                          rel: approve\n                        - href: >-\n                            https://api.sandbox.paypal.com/v2/checkout/orders/2AH88886SG978004Y\n                          method: PATCH\n                          rel: update\n                        - href: >-\n                            https://api.sandbox.paypal.com/v2/checkout/orders/2AH88886SG978004Y/capture\n                          method: POST\n                          rel: capture\n                      status: CREATED\n                    message: Paypal order generated successfully\n                    statusCode: 201\n                    success: true\n  /ecommerce/orders/provider/razorpay/verify-payment:\n    post:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Verify razorpay payment\n      description: >-\n        The API handles the verification of a Razorpay payment.\n\n\n        Once a user completes the payment, this API receives the Razorpay\n        generated order credentials after payment (`razorpay_payment_id`,\n        `razorpay_order_id`, `razorpay_signature`).\n\n\n        It then verifies the payment using the provided credentials and marks\n        the corresponding order as paid if the received credentials are valid.\n\n\n        This API ensures secure and reliable payment processing, enabling the\n        system to accurately track and manage paid orders.\n      operationId: verifyRazorpayPayment\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                razorpay_order_id:\n                  type: string\n                  example: order_LyeEiwrtVj1rLh\n                razorpay_payment_id:\n                  type: string\n                  example: pay_LyeHd4Puzr6c8h\n                razorpay_signature:\n                  type: string\n                  example: >-\n                    b1fea28efbca9a5090b60c4f2b5ffabd9b651d2da8c543eaf86a703a7f598c3d\n            example:\n              razorpay_order_id: order_LyeEiwrtVj1rLh\n              razorpay_payment_id: pay_LyeHd4Puzr6c8h\n              razorpay_signature: b1fea28efbca9a5090b60c4f2b5ffabd9b651d2da8c543eaf86a703a7f598c3d\n      responses:\n        '201':\n          description: Verify razorpay payment\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '579'\n            Date:\n              schema:\n                type: string\n                example: Tue, 06 Jun 2023 13:01:20 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"243-418m2LRnv/3dXNlgxankT4ojh74\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 647f2e2014428a0fcb7fab38\n                      address:\n                        type: string\n                        example: 647f2e0114428a0fcb7fab17\n                      createdAt:\n                        type: string\n                        example: '2023-06-06T13:01:20.319Z'\n                      customer:\n                        type: string\n                        example: 647f20c1df9a47b425084b0b\n                      isPaymentDone:\n                        type: boolean\n                        example: true\n                      items:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            _id:\n                              type: string\n                              example: 647f2e1314428a0fcb7fab25\n                            productId:\n                              type: string\n                              example: 647f2a9146f36a6dc01ec5ba\n                            quantity:\n                              type: number\n                              example: 3\n                        example:\n                          - _id: 647f2e1314428a0fcb7fab25\n                            productId: 647f2a9146f36a6dc01ec5ba\n                            quantity: 3\n                          - _id: 647f2e1714428a0fcb7fab2f\n                            productId: 647f2a9d46f36a6dc01ec5bf\n                            quantity: 3\n                      orderPrice:\n                        type: number\n                        example: 15600\n                      paymentId:\n                        type: string\n                        example: pay_LyeHd4Puzr6c8h\n                      paymentProvider:\n                        type: string\n                        example: RAZORPAY\n                      status:\n                        type: string\n                        example: PENDING\n                      updatedAt:\n                        type: string\n                        example: '2023-06-06T13:01:20.319Z'\n                  message:\n                    type: string\n                    example: Order placed successfully\n                  statusCode:\n                    type: number\n                    example: 201\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Verify razorpay payment:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 647f2e2014428a0fcb7fab38\n                      address: 647f2e0114428a0fcb7fab17\n                      createdAt: '2023-06-06T13:01:20.319Z'\n                      customer: 647f20c1df9a47b425084b0b\n                      isPaymentDone: true\n                      items:\n                        - _id: 647f2e1314428a0fcb7fab25\n                          productId: 647f2a9146f36a6dc01ec5ba\n                          quantity: 3\n                        - _id: 647f2e1714428a0fcb7fab2f\n                          productId: 647f2a9d46f36a6dc01ec5bf\n                          quantity: 3\n                      orderPrice: 15600\n                      paymentId: pay_LyeHd4Puzr6c8h\n                      paymentProvider: RAZORPAY\n                      status: PENDING\n                      updatedAt: '2023-06-06T13:01:20.319Z'\n                    message: Order placed successfully\n                    statusCode: 201\n                    success: true\n  /ecommerce/orders/provider/paypal/verify-payment:\n    post:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Verify paypal payment\n      description: >-\n        The API handles the verification of a **PayPal** payment by integrating\n        with PayPal's order capture API.\n\n\n        Once a user completes a payment on PayPal, this API receives the\n        PayPal-generated order ID which will be passed by the client on payment\n        success.\n\n\n        It then makes an API call to PayPal's order capture API to retrieve the\n        payment status.\n\n\n        The backend utilizes this payment status information to verify the\n        payment and mark the corresponding order as paid in the system.\n      operationId: verifyPaypalPayment\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                orderId:\n                  type: string\n                  example: 8AS341282K124974P\n            example:\n              orderId: 8AS341282K124974P\n      responses:\n        '200':\n          description: ''\n  /ecommerce/orders/status/{orderId}:\n    patch:\n      tags:\n        \n        - 🛒 Ecommerce\n        \n      summary: Update order status\n      description: >-\n        The API allows an authenticated user with the role of `ADMIN` to update\n        the status of an order.\n\n\n        The API expects the `orderId` to be passed as a path variable and the\n        desired status (`DELIVERED` or `CANCELLED`) to be provided in the\n        request body.\n\n\n        This API provides a secure and controlled way for administrators to\n        modify the status of an order, enabling efficient order management\n        within the system.\n      operationId: updateOrderStatus\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                status:\n                  type: string\n                  example: DELIVERED\n            example:\n              status: DELIVERED\n      responses:\n        '200':\n          description: Update order status\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '109'\n            Date:\n              schema:\n                type: string\n                example: Wed, 07 Jun 2023 11:19:15 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"6d-nzhhNYMa0NpDYLczTj3UsrSzlYk\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      status:\n                        type: string\n                        example: FULFILLED\n                  message:\n                    type: string\n                    example: Order status changed successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Update order status:\n                  value:\n                    data:\n                      status: FULFILLED\n                    message: Order status changed successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: orderId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 64801f2a81acfc368d253158\n  /todos:\n    get:\n      tags:\n        \n        - 📝 Todo list\n      summary: Get all todos\n      description: >-\n        The API endpoint allows you to retrieve all the added todos.\n\n\n        When accessing this endpoint, you will receive a response containing a\n        list of all the todos that have been added.\n      operationId: getAllTodos\n      parameters:\n        - name: query\n          in: query\n          schema:\n            type: string\n            example: reactjs\n        - name: complete\n          in: query\n          schema:\n            type: string\n            example: 'false'\n      responses:\n        '201':\n          description: Get all todos\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '815'\n            Date:\n              schema:\n                type: string\n                example: Sat, 17 Jun 2023 19:19:40 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"32f-LlDKeMfFfXV5TgAkP4oFcqRrOrI\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: array\n                    items:\n                      type: object\n                      properties:\n                        __v:\n                          type: number\n                          example: 0\n                        _id:\n                          type: string\n                          example: 648e070a36b0cc220c8a7883\n                        createdAt:\n                          type: string\n                          example: '2023-06-17T19:18:34.462Z'\n                        description:\n                          type: string\n                          example: Some description about todo\n                        isDone:\n                          type: boolean\n                          example: false\n                        title:\n                          type: string\n                          example: Learn python\n                        updatedAt:\n                          type: string\n                          example: '2023-06-17T19:18:34.462Z'\n                    example:\n                      - __v: 0\n                        _id: 648e070a36b0cc220c8a7883\n                        createdAt: '2023-06-17T19:18:34.462Z'\n                        description: Some description about todo\n                        isDone: false\n                        title: Learn python\n                        updatedAt: '2023-06-17T19:18:34.462Z'\n                      - __v: 0\n                        _id: 648e0741aeefd0cfa40adddd\n                        createdAt: '2023-06-17T19:19:29.887Z'\n                        description: ''\n                        isDone: false\n                        title: Learn Javascript\n                        updatedAt: '2023-06-17T19:19:29.887Z'\n                      - __v: 0\n                        _id: 648e0746aeefd0cfa40adddf\n                        createdAt: '2023-06-17T19:19:34.866Z'\n                        description: ''\n                        isDone: false\n                        title: Learn ReactJs\n                        updatedAt: '2023-06-17T19:19:34.866Z'\n                      - __v: 0\n                        _id: 648e0749aeefd0cfa40adde1\n                        createdAt: '2023-06-17T19:19:37.856Z'\n                        description: ''\n                        isDone: false\n                        title: Learn Ruby\n                        updatedAt: '2023-06-17T19:19:37.856Z'\n                  message:\n                    type: string\n                    example: Todos fetched successfully\n                  statusCode:\n                    type: number\n                    example: 201\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get all todos:\n                  value:\n                    data:\n                      - __v: 0\n                        _id: 648e070a36b0cc220c8a7883\n                        createdAt: '2023-06-17T19:18:34.462Z'\n                        description: Some description about todo\n                        isDone: false\n                        title: Learn python\n                        updatedAt: '2023-06-17T19:18:34.462Z'\n                      - __v: 0\n                        _id: 648e0741aeefd0cfa40adddd\n                        createdAt: '2023-06-17T19:19:29.887Z'\n                        description: ''\n                        isDone: false\n                        title: Learn Javascript\n                        updatedAt: '2023-06-17T19:19:29.887Z'\n                      - __v: 0\n                        _id: 648e0746aeefd0cfa40adddf\n                        createdAt: '2023-06-17T19:19:34.866Z'\n                        description: ''\n                        isDone: false\n                        title: Learn ReactJs\n                        updatedAt: '2023-06-17T19:19:34.866Z'\n                      - __v: 0\n                        _id: 648e0749aeefd0cfa40adde1\n                        createdAt: '2023-06-17T19:19:37.856Z'\n                        description: ''\n                        isDone: false\n                        title: Learn Ruby\n                        updatedAt: '2023-06-17T19:19:37.856Z'\n                    message: Todos fetched successfully\n                    statusCode: 201\n                    success: true\n  /todos/{todoId}:\n    get:\n      tags:\n        \n        - 📝 Todo list\n      summary: Get todo by id\n      description: >-\n        The API endpoint retrieves a specific todo item based on the todo ID\n        provided as a path variable in the URL.\n\n\n        When accessing this endpoint and specifying a valid todo ID in the URL,\n        you will receive a response containing the details of the corresponding\n        todo item.\n      operationId: getTodoById\n      responses:\n        '200':\n          description: Get todo by id\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '252'\n            Date:\n              schema:\n                type: string\n                example: Sat, 17 Jun 2023 19:20:47 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"fc-fYDCM8s+LQiWUEHhEFxMk3KK9Qc\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 648e0749aeefd0cfa40adde1\n                      createdAt:\n                        type: string\n                        example: '2023-06-17T19:19:37.856Z'\n                      description:\n                        type: string\n                        example: ''\n                      isDone:\n                        type: boolean\n                        example: false\n                      title:\n                        type: string\n                        example: Learn Ruby\n                      updatedAt:\n                        type: string\n                        example: '2023-06-17T19:19:37.856Z'\n                  message:\n                    type: string\n                    example: Todo fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get todo by id:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 648e0749aeefd0cfa40adde1\n                      createdAt: '2023-06-17T19:19:37.856Z'\n                      description: ''\n                      isDone: false\n                      title: Learn Ruby\n                      updatedAt: '2023-06-17T19:19:37.856Z'\n                    message: Todo fetched successfully\n                    statusCode: 200\n                    success: true\n    delete:\n      tags:\n        \n        - 📝 Todo list\n      summary: Delete todo\n      description: >-\n        The API endpoint is responsible for deleting a todo item based on the\n        provided todoID in the path variable.\n\n\n        When accessing this endpoint and specifying the todoID in the URL, the\n        corresponding todo item will be deleted from the system.\n      operationId: deleteTodo\n      responses:\n        '200':\n          description: Delete todo\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '271'\n            Date:\n              schema:\n                type: string\n                example: Sat, 17 Jun 2023 19:23:31 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"10f-7UDFur/RLHAlGchjG57msSX30bM\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      deletedTodo:\n                        type: object\n                        properties:\n                          __v:\n                            type: number\n                            example: 0\n                          _id:\n                            type: string\n                            example: 648e0746aeefd0cfa40adddf\n                          createdAt:\n                            type: string\n                            example: '2023-06-17T19:19:34.866Z'\n                          description:\n                            type: string\n                            example: ''\n                          isDone:\n                            type: boolean\n                            example: false\n                          title:\n                            type: string\n                            example: Learn ReactJs\n                          updatedAt:\n                            type: string\n                            example: '2023-06-17T19:19:34.866Z'\n                  message:\n                    type: string\n                    example: Todo deleted successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Delete todo:\n                  value:\n                    data:\n                      deletedTodo:\n                        __v: 0\n                        _id: 648e0746aeefd0cfa40adddf\n                        createdAt: '2023-06-17T19:19:34.866Z'\n                        description: ''\n                        isDone: false\n                        title: Learn ReactJs\n                        updatedAt: '2023-06-17T19:19:34.866Z'\n                    message: Todo deleted successfully\n                    statusCode: 200\n                    success: true\n    patch:\n      tags:\n        \n        - 📝 Todo list\n      summary: Update todo\n      description: >-\n        The API endpoint is responsible for updating a todo based on the\n        provided todo ID in the URL path variable.\n\n\n        When accessing this endpoint and providing the updated todo title and\n        description in the request body, the corresponding todo with the\n        specified ID will be modified accordingly.\n      operationId: updateTodo\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                description:\n                  type: string\n                  example: Updated description of the todo\n                title:\n                  type: string\n                  example: Updated todo title\n            example:\n              description: A new description for the todo\n              title: A new title for the todo\n      responses:\n        '200':\n          description: Update todo\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '277'\n            Date:\n              schema:\n                type: string\n                example: Sat, 17 Jun 2023 19:21:54 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"115-+z/wpUMotHlJe0Ob6u5SG/RvKBs\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 648e0749aeefd0cfa40adde1\n                      createdAt:\n                        type: string\n                        example: '2023-06-17T19:19:37.856Z'\n                      description:\n                        type: string\n                        example: Updated descripton\n                      isDone:\n                        type: boolean\n                        example: false\n                      title:\n                        type: string\n                        example: Updated ruby name\n                      updatedAt:\n                        type: string\n                        example: '2023-06-17T19:21:54.446Z'\n                  message:\n                    type: string\n                    example: Todo updated successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Update todo:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 648e0749aeefd0cfa40adde1\n                      createdAt: '2023-06-17T19:19:37.856Z'\n                      description: Updated descripton\n                      isDone: false\n                      title: Updated ruby name\n                      updatedAt: '2023-06-17T19:21:54.446Z'\n                    message: Todo updated successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: todoId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 648e0741aeefd0cfa40adddd\n  /todos/:\n    post:\n      tags:\n        \n        - 📝 Todo list\n      summary: Create todo\n      description: >-\n        The \"Create Todo\" API endpoint allows you to create a new todo item by\n        providing the title and description as a request body.\n\n\n        By accessing this endpoint and providing the necessary information, a\n        new todo item will be created in the system.\n      operationId: createTodo\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                description:\n                  type: string\n                  example: Some description about todo which is optional\n                title:\n                  type: string\n                  example: Contibute ReactJs\n            example:\n              description: Some description about todo which is optional\n              title: Contibute ReactJs\n      responses:\n        '200':\n          description: Create todo\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '252'\n            Date:\n              schema:\n                type: string\n                example: Sat, 17 Jun 2023 19:19:37 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"fc-KokD5QGTQLUd8zQOFigtnFMkxLs\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 648e0749aeefd0cfa40adde1\n                      createdAt:\n                        type: string\n                        example: '2023-06-17T19:19:37.856Z'\n                      description:\n                        type: string\n                        example: ''\n                      isDone:\n                        type: boolean\n                        example: false\n                      title:\n                        type: string\n                        example: Learn Ruby\n                      updatedAt:\n                        type: string\n                        example: '2023-06-17T19:19:37.856Z'\n                  message:\n                    type: string\n                    example: Todo created successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Create todo:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 648e0749aeefd0cfa40adde1\n                      createdAt: '2023-06-17T19:19:37.856Z'\n                      description: ''\n                      isDone: false\n                      title: Learn Ruby\n                      updatedAt: '2023-06-17T19:19:37.856Z'\n                    message: Todo created successfully\n                    statusCode: 200\n                    success: true\n  /todos/toggle/status/{todoId}:\n    patch:\n      tags:\n        \n        - 📝 Todo list\n      summary: Toggle todo done status\n      description: >-\n        The API endpoint is responsible for toggling the done status of a todo\n        item.\n\n\n        When accessing this endpoint and providing the necessary data, you can\n        update the completion status of a specific todo item, marking it as\n        either done or undone based on its current status.\n      operationId: toggleTodoDoneStatus\n      responses:\n        '200':\n          description: Toggle todo done status\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '234'\n            Date:\n              schema:\n                type: string\n                example: Sat, 17 Jun 2023 19:40:04 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"ea-BaNPJdAcA+Hnzwf+MEqMnN4sFho\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 648e0c0722147847623e0a00\n                      createdAt:\n                        type: string\n                        example: '2023-06-17T19:39:51.789Z'\n                      description:\n                        type: string\n                        example: ''\n                      isComplete:\n                        type: boolean\n                        example: true\n                      title:\n                        type: string\n                        example: Learn Ruby\n                      updatedAt:\n                        type: string\n                        example: '2023-06-17T19:40:04.266Z'\n                  message:\n                    type: string\n                    example: done\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Toggle todo done status:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 648e0c0722147847623e0a00\n                      createdAt: '2023-06-17T19:39:51.789Z'\n                      description: ''\n                      isComplete: true\n                      title: Learn Ruby\n                      updatedAt: '2023-06-17T19:40:04.266Z'\n                    message: done\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: todoId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 648e0c0722147847623e0a00\n  /social-media/profile:\n    get:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Get my profile\n      description: >-\n        The API endpoint allows a logged-in user to fetch their social media\n        profile.\n\n\n        When the user is authenticated and authorized, accessing this endpoint\n        will return the user's social media profile information, such as their\n        username, bio, avatar, cover image, and other relevant details.\n      operationId: getMyProfile1\n      responses:\n        '200':\n          description: Get my profile\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '900'\n            Date:\n              schema:\n                type: string\n                example: Tue, 04 Jul 2023 07:46:20 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"384-kiVvhNzV6WCXPK3HYhFm/e3GiGs\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '496'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '394'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 64a3c6f3f867b3375720a5f4\n                      account:\n                        type: object\n                        properties:\n                          _id:\n                            type: string\n                            example: 64a3c6f3f867b3375720a548\n                          avatar:\n                            type: object\n                            properties:\n                              _id:\n                                type: string\n                                example: 64a3c6f3f867b3375720a549\n                              localPath:\n                                type: string\n                                example: ''\n                              url:\n                                type: string\n                                example: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1230.jpg\n                          email:\n                            type: string\n                            example: cindy.konopelski@yahoo.com\n                          isEmailVerified:\n                            type: boolean\n                            example: true\n                          username:\n                            type: string\n                            example: cooper55\n                      bio:\n                        type: string\n                        example: steam enthusiast, foodie 🇵🇫\n                      countryCode:\n                        type: string\n                        example: '+91'\n                      coverImage:\n                        type: object\n                        properties:\n                          _id:\n                            type: string\n                            example: 64a3c6f3f867b3375720a5f3\n                          localPath:\n                            type: string\n                            example: ''\n                          url:\n                            type: string\n                            example: https://via.placeholder.com/800x450.png\n                      createdAt:\n                        type: string\n                        example: '2023-07-04T07:14:59.923Z'\n                      dob:\n                        type: string\n                        example: '2020-09-27T10:32:43.090Z'\n                      firstName:\n                        type: string\n                        example: Brice\n                      followersCount:\n                        type: number\n                        example: 15\n                      followingCount:\n                        type: number\n                        example: 21\n                      isFollowing:\n                        type: boolean\n                        example: false\n                      lastName:\n                        type: string\n                        example: Kassulke\n                      location:\n                        type: string\n                        example: Reingerton, Jamaica\n                      owner:\n                        type: string\n                        example: 64a3c6f3f867b3375720a548\n                      phoneNumber:\n                        type: string\n                        example: '9225118426'\n                      updatedAt:\n                        type: string\n                        example: '2023-07-04T07:15:00.777Z'\n                  message:\n                    type: string\n                    example: User profile fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get my profile:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 64a3c6f3f867b3375720a5f4\n                      account:\n                        _id: 64a3c6f3f867b3375720a548\n                        avatar:\n                          _id: 64a3c6f3f867b3375720a549\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1230.jpg\n                        email: cindy.konopelski@yahoo.com\n                        isEmailVerified: true\n                        username: cooper55\n                      bio: steam enthusiast, foodie 🇵🇫\n                      countryCode: '+91'\n                      coverImage:\n                        _id: 64a3c6f3f867b3375720a5f3\n                        localPath: ''\n                        url: https://via.placeholder.com/800x450.png\n                      createdAt: '2023-07-04T07:14:59.923Z'\n                      dob: '2020-09-27T10:32:43.090Z'\n                      firstName: Brice\n                      followersCount: 15\n                      followingCount: 21\n                      isFollowing: false\n                      lastName: Kassulke\n                      location: Reingerton, Jamaica\n                      owner: 64a3c6f3f867b3375720a548\n                      phoneNumber: '9225118426'\n                      updatedAt: '2023-07-04T07:15:00.777Z'\n                    message: User profile fetched successfully\n                    statusCode: 200\n                    success: true\n    patch:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Update user profile\n      description: >-\n        The API endpoint allows users to update their social media profiles.\n\n\n        By accessing this endpoint, users can make changes to their profile\n        information such as name, bio, contact details, dob, basic details or\n        any other relevant fields.\n\n\n        _**NOTE:**_ _To update avatar or cover image we have separate\n        endpoints._\n\n\n        _**Update avatar:**_ _Apps > Authentication > Update avatar_\n\n\n        _**Update cover image:**_ _Apps > Social Media > Update cover image_\n      operationId: updateUserProfile\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                bio:\n                  type: string\n                  example: This is my bio text\n                countryCode:\n                  type: string\n                  example: '+91'\n                dob:\n                  type: string\n                  example: '2023-06-20T17:25:24.365Z'\n                firstName:\n                  type: string\n                  example: John\n                lastName:\n                  type: string\n                  example: Doe\n                location:\n                  type: string\n                  example: Mumbai, India\n                phoneNumber:\n                  type: string\n                  example: '8273827837'\n            example:\n              bio: This is my bio text\n              countryCode: '+91'\n              dob: '2023-06-20T17:25:24.365Z'\n              firstName: John\n              lastName: Doe\n              location: Mumbai, India\n              phoneNumber: '8273827837'\n      responses:\n        '200':\n          description: Update user profile\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '887'\n            Date:\n              schema:\n                type: string\n                example: Tue, 20 Jun 2023 17:42:44 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"377-oB72it41/yXmSvvFKQe7mfgWZcc\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: array\n                    items:\n                      type: object\n                      properties:\n                        __v:\n                          type: number\n                          example: 0\n                        _id:\n                          type: string\n                          example: 6491e1315420697399d92653\n                        account:\n                          type: object\n                          properties:\n                            _id:\n                              type: string\n                              example: 6491e1045420697399d92643\n                            avatar:\n                              type: object\n                              properties:\n                                _id:\n                                  type: string\n                                  example: 6491e1045420697399d92642\n                                localPath:\n                                  type: string\n                                  example: ''\n                                url:\n                                  type: string\n                                  example: https://via.placeholder.com/200x200.png\n                            email:\n                              type: string\n                              example: user.email@domain.com\n                            isEmailVerified:\n                              type: boolean\n                              example: false\n                            loginType:\n                              type: string\n                              example: EMAIL_PASSWORD\n                            role:\n                              type: string\n                              example: ADMIN\n                            username:\n                              type: string\n                              example: doejohn\n                        bio:\n                          type: string\n                          example: This is my bio text\n                        countryCode:\n                          type: string\n                          example: '+91'\n                        coverImage:\n                          type: object\n                          properties:\n                            _id:\n                              type: string\n                              example: 6491e500e7459f659f3fe8a8\n                            localPath:\n                              type: string\n                              example: >-\n                                public/images/bottle.jpg-168728294397895743007.jpg\n                            url:\n                              type: string\n                              example: >-\n                                http://localhost:8080/images/bottle.jpg-168728294397895743007.jpg\n                        createdAt:\n                          type: string\n                          example: '2023-06-20T17:26:09.021Z'\n                        dob:\n                          type: string\n                          example: '2023-06-20T17:25:24.365Z'\n                        firstName:\n                          type: string\n                          example: John\n                        lastName:\n                          type: string\n                          example: Doe\n                        location:\n                          type: string\n                          example: Mumbai, India\n                        owner:\n                          type: string\n                          example: 6491e1045420697399d92643\n                        phoneNumber:\n                          type: string\n                          example: '8273827837'\n                        updatedAt:\n                          type: string\n                          example: '2023-06-20T17:42:44.641Z'\n                    example:\n                      - __v: 0\n                        _id: 6491e1315420697399d92653\n                        account:\n                          _id: 6491e1045420697399d92643\n                          avatar:\n                            _id: 6491e1045420697399d92642\n                            localPath: ''\n                            url: https://via.placeholder.com/200x200.png\n                          email: user.email@domain.com\n                          isEmailVerified: false\n                          loginType: EMAIL_PASSWORD\n                          role: ADMIN\n                          username: doejohn\n                        bio: This is my bio text\n                        countryCode: '+91'\n                        coverImage:\n                          _id: 6491e500e7459f659f3fe8a8\n                          localPath: public/images/bottle.jpg-168728294397895743007.jpg\n                          url: >-\n                            http://localhost:8080/images/bottle.jpg-168728294397895743007.jpg\n                        createdAt: '2023-06-20T17:26:09.021Z'\n                        dob: '2023-06-20T17:25:24.365Z'\n                        firstName: John\n                        lastName: Doe\n                        location: Mumbai, India\n                        owner: 6491e1045420697399d92643\n                        phoneNumber: '8273827837'\n                        updatedAt: '2023-06-20T17:42:44.641Z'\n                  message:\n                    type: string\n                    example: User profile updated successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Update user profile:\n                  value:\n                    data:\n                      - __v: 0\n                        _id: 6491e1315420697399d92653\n                        account:\n                          _id: 6491e1045420697399d92643\n                          avatar:\n                            _id: 6491e1045420697399d92642\n                            localPath: ''\n                            url: https://via.placeholder.com/200x200.png\n                          email: user.email@domain.com\n                          isEmailVerified: false\n                          loginType: EMAIL_PASSWORD\n                          role: ADMIN\n                          username: doejohn\n                        bio: This is my bio text\n                        countryCode: '+91'\n                        coverImage:\n                          _id: 6491e500e7459f659f3fe8a8\n                          localPath: public/images/bottle.jpg-168728294397895743007.jpg\n                          url: >-\n                            http://localhost:8080/images/bottle.jpg-168728294397895743007.jpg\n                        createdAt: '2023-06-20T17:26:09.021Z'\n                        dob: '2023-06-20T17:25:24.365Z'\n                        firstName: John\n                        lastName: Doe\n                        location: Mumbai, India\n                        owner: 6491e1045420697399d92643\n                        phoneNumber: '8273827837'\n                        updatedAt: '2023-06-20T17:42:44.641Z'\n                    message: User profile updated successfully\n                    statusCode: 200\n                    success: true\n  /social-media/profile/u/{username}:\n    get:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Get profile by username\n      description: >-\n        The API endpoint allows users to fetch another user's social media\n        profile based on the username provided as a path variable.\n\n\n        By accessing this endpoint and providing the username as a parameter,\n        you will receive a response containing the social media profile\n        information of the specified user.\n      operationId: getProfileByUsername\n      responses:\n        '200':\n          description: Get profile by username\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '903'\n            Date:\n              schema:\n                type: string\n                example: Sat, 01 Jul 2023 08:18:12 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"387-W18ZTubKbaztbZCkCZx2bufztaA\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '490'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '660'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 649fe0cfc4a9507d1220ec24\n                      account:\n                        type: object\n                        properties:\n                          _id:\n                            type: string\n                            example: 649fe0cec4a9507d1220eb68\n                          avatar:\n                            type: object\n                            properties:\n                              _id:\n                                type: string\n                                example: 649fe0cec4a9507d1220eb69\n                              localPath:\n                                type: string\n                                example: ''\n                              url:\n                                type: string\n                                example: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/97.jpg\n                          email:\n                            type: string\n                            example: marietta_hoeger59@gmail.com\n                          isEmailVerified:\n                            type: boolean\n                            example: true\n                          username:\n                            type: string\n                            example: joey_boyle24\n                      bio:\n                        type: string\n                        example: squirrel advocate, person 🧊\n                      countryCode:\n                        type: string\n                        example: '+91'\n                      coverImage:\n                        type: object\n                        properties:\n                          _id:\n                            type: string\n                            example: 649fe0cfc4a9507d1220ec23\n                          localPath:\n                            type: string\n                            example: ''\n                          url:\n                            type: string\n                            example: https://via.placeholder.com/800x450.png\n                      createdAt:\n                        type: string\n                        example: '2023-07-01T08:16:15.061Z'\n                      dob:\n                        type: string\n                        example: '2014-01-31T01:46:29.852Z'\n                      firstName:\n                        type: string\n                        example: Arjun\n                      followersCount:\n                        type: number\n                        example: 17\n                      followingCount:\n                        type: number\n                        example: 18\n                      isFollowing:\n                        type: boolean\n                        example: false\n                      lastName:\n                        type: string\n                        example: Turcotte\n                      location:\n                        type: string\n                        example: Fort Lizatown, Comoros\n                      owner:\n                        type: string\n                        example: 649fe0cec4a9507d1220eb68\n                      phoneNumber:\n                        type: string\n                        example: '9240836201'\n                      updatedAt:\n                        type: string\n                        example: '2023-07-01T08:16:15.847Z'\n                  message:\n                    type: string\n                    example: User profile fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get profile by username:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 649fe0cfc4a9507d1220ec24\n                      account:\n                        _id: 649fe0cec4a9507d1220eb68\n                        avatar:\n                          _id: 649fe0cec4a9507d1220eb69\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/97.jpg\n                        email: marietta_hoeger59@gmail.com\n                        isEmailVerified: true\n                        username: joey_boyle24\n                      bio: squirrel advocate, person 🧊\n                      countryCode: '+91'\n                      coverImage:\n                        _id: 649fe0cfc4a9507d1220ec23\n                        localPath: ''\n                        url: https://via.placeholder.com/800x450.png\n                      createdAt: '2023-07-01T08:16:15.061Z'\n                      dob: '2014-01-31T01:46:29.852Z'\n                      firstName: Arjun\n                      followersCount: 17\n                      followingCount: 18\n                      isFollowing: false\n                      lastName: Turcotte\n                      location: Fort Lizatown, Comoros\n                      owner: 649fe0cec4a9507d1220eb68\n                      phoneNumber: '9240836201'\n                      updatedAt: '2023-07-01T08:16:15.847Z'\n                    message: User profile fetched successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: username\n        in: path\n        required: true\n        schema:\n          type: string\n          example: rosanna_krajcik51\n  /social-media/profile/cover-image:\n    patch:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Update cover image\n      description: >-\n        The API endpoint allows users to update their social media profile's\n        cover image.\n\n\n        By accessing this endpoint, users can submit a new cover image file,\n        which will be applied as their updated profile cover on the social media\n        platform.\n      operationId: updateCoverImage\n      requestBody:\n        content:\n          multipart/form-data:\n            schema:\n              type: object\n              properties:\n                coverImage:\n                  description: File\n                  type: string\n                  format: binary\n      responses:\n        '200':\n          description: Update cover image\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '886'\n            Date:\n              schema:\n                type: string\n                example: Tue, 20 Jun 2023 17:42:24 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"376-wE88a8ACOnB2hjwFXt3QL2Y3ASQ\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            Set-Cookie:\n              schema:\n                type: string\n                example: >-\n                  connect.sid=s%3AvDAT0mVgTdhNQiEkf1k0V_nz-BgP61ad.kFqdVzBmcxvwgsd6FWN66BVYbhymXwju3%2FuVssAPYX8;\n                  Path=/; HttpOnly\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: array\n                    items:\n                      type: object\n                      properties:\n                        __v:\n                          type: number\n                          example: 0\n                        _id:\n                          type: string\n                          example: 6491e1315420697399d92653\n                        account:\n                          type: object\n                          properties:\n                            _id:\n                              type: string\n                              example: 6491e1045420697399d92643\n                            avatar:\n                              type: object\n                              properties:\n                                _id:\n                                  type: string\n                                  example: 6491e1045420697399d92642\n                                localPath:\n                                  type: string\n                                  example: ''\n                                url:\n                                  type: string\n                                  example: https://via.placeholder.com/200x200.png\n                            email:\n                              type: string\n                              example: user.email@domain.com\n                            isEmailVerified:\n                              type: boolean\n                              example: false\n                            loginType:\n                              type: string\n                              example: EMAIL_PASSWORD\n                            role:\n                              type: string\n                              example: ADMIN\n                            username:\n                              type: string\n                              example: doejohn\n                        bio:\n                          type: string\n                          example: This is my bio text\n                        countryCode:\n                          type: string\n                          example: '+91'\n                        coverImage:\n                          type: object\n                          properties:\n                            _id:\n                              type: string\n                              example: 6491e500e7459f659f3fe8a8\n                            localPath:\n                              type: string\n                              example: >-\n                                public/images/bottle.jpg-168728294397895743007.jpg\n                            url:\n                              type: string\n                              example: >-\n                                http://localhost:8080/images/bottle.jpg-168728294397895743007.jpg\n                        createdAt:\n                          type: string\n                          example: '2023-06-20T17:26:09.021Z'\n                        dob:\n                          type: string\n                          example: '2023-06-20T17:25:24.365Z'\n                        firstName:\n                          type: string\n                          example: John\n                        lastName:\n                          type: string\n                          example: Doe\n                        location:\n                          type: string\n                          example: Mumbai, India\n                        owner:\n                          type: string\n                          example: 6491e1045420697399d92643\n                        phoneNumber:\n                          type: string\n                          example: '8273827837'\n                        updatedAt:\n                          type: string\n                          example: '2023-06-20T17:42:24.072Z'\n                    example:\n                      - __v: 0\n                        _id: 6491e1315420697399d92653\n                        account:\n                          _id: 6491e1045420697399d92643\n                          avatar:\n                            _id: 6491e1045420697399d92642\n                            localPath: ''\n                            url: https://via.placeholder.com/200x200.png\n                          email: user.email@domain.com\n                          isEmailVerified: false\n                          loginType: EMAIL_PASSWORD\n                          role: ADMIN\n                          username: doejohn\n                        bio: This is my bio text\n                        countryCode: '+91'\n                        coverImage:\n                          _id: 6491e500e7459f659f3fe8a8\n                          localPath: public/images/bottle.jpg-168728294397895743007.jpg\n                          url: >-\n                            http://localhost:8080/images/bottle.jpg-168728294397895743007.jpg\n                        createdAt: '2023-06-20T17:26:09.021Z'\n                        dob: '2023-06-20T17:25:24.365Z'\n                        firstName: John\n                        lastName: Doe\n                        location: Mumbai, India\n                        owner: 6491e1045420697399d92643\n                        phoneNumber: '8273827837'\n                        updatedAt: '2023-06-20T17:42:24.072Z'\n                  message:\n                    type: string\n                    example: Cover image updated successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Update cover image:\n                  value:\n                    data:\n                      - __v: 0\n                        _id: 6491e1315420697399d92653\n                        account:\n                          _id: 6491e1045420697399d92643\n                          avatar:\n                            _id: 6491e1045420697399d92642\n                            localPath: ''\n                            url: https://via.placeholder.com/200x200.png\n                          email: user.email@domain.com\n                          isEmailVerified: false\n                          loginType: EMAIL_PASSWORD\n                          role: ADMIN\n                          username: doejohn\n                        bio: This is my bio text\n                        countryCode: '+91'\n                        coverImage:\n                          _id: 6491e500e7459f659f3fe8a8\n                          localPath: public/images/bottle.jpg-168728294397895743007.jpg\n                          url: >-\n                            http://localhost:8080/images/bottle.jpg-168728294397895743007.jpg\n                        createdAt: '2023-06-20T17:26:09.021Z'\n                        dob: '2023-06-20T17:25:24.365Z'\n                        firstName: John\n                        lastName: Doe\n                        location: Mumbai, India\n                        owner: 6491e1045420697399d92643\n                        phoneNumber: '8273827837'\n                        updatedAt: '2023-06-20T17:42:24.072Z'\n                    message: Cover image updated successfully\n                    statusCode: 200\n                    success: true\n  /social-media/posts:\n    get:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Get all posts\n      description: >-\n        The API endpoint allows users to fetch all posts posted by themselves or\n        other users within the social media application.\n\n\n        By accessing this endpoint, users can retrieve a collection of posts\n        containing relevant information.\n      operationId: getAllPosts\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '10'\n      responses:\n        '200':\n          description: Get all posts\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '18986'\n            Date:\n              schema:\n                type: string\n                example: Sat, 01 Jul 2023 08:18:31 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"4a2a-3cDpeTi2rmJ0GrieiKR5LpLL+tE\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '488'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '641'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      hasNextPage:\n                        type: boolean\n                        example: true\n                      hasPrevPage:\n                        type: boolean\n                        example: false\n                      limit:\n                        type: number\n                        example: 10\n                      nextPage:\n                        type: number\n                        example: 2\n                      page:\n                        type: number\n                        example: 1\n                      posts:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            __v:\n                              type: number\n                              example: 0\n                            _id:\n                              type: string\n                              example: 649fe0cfc4a9507d1220eeee\n                            author:\n                              type: object\n                              properties:\n                                __v:\n                                  type: number\n                                  example: 0\n                                _id:\n                                  type: string\n                                  example: 649fe0cfc4a9507d1220ec2a\n                                account:\n                                  type: object\n                                  properties:\n                                    _id:\n                                      type: string\n                                      example: 649fe0cec4a9507d1220eb7a\n                                    avatar:\n                                      type: object\n                                      properties:\n                                        _id:\n                                          type: string\n                                          example: 649fe0cec4a9507d1220eb7b\n                                        localPath:\n                                          type: string\n                                          example: ''\n                                        url:\n                                          type: string\n                                          example: >-\n                                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/344.jpg\n                                    email:\n                                      type: string\n                                      example: brant_rippin21@hotmail.com\n                                    username:\n                                      type: string\n                                      example: hilda_simonis75\n                                bio:\n                                  type: string\n                                  example: milk junkie\n                                countryCode:\n                                  type: string\n                                  example: '+91'\n                                coverImage:\n                                  type: object\n                                  properties:\n                                    _id:\n                                      type: string\n                                      example: 649fe0cfc4a9507d1220ec29\n                                    localPath:\n                                      type: string\n                                      example: ''\n                                    url:\n                                      type: string\n                                      example: https://via.placeholder.com/800x450.png\n                                createdAt:\n                                  type: string\n                                  example: '2023-07-01T08:16:15.063Z'\n                                dob:\n                                  type: string\n                                  example: '2020-08-11T12:21:20.809Z'\n                                firstName:\n                                  type: string\n                                  example: Jerel\n                                lastName:\n                                  type: string\n                                  example: Witting\n                                location:\n                                  type: string\n                                  example: Kundecester, France\n                                owner:\n                                  type: string\n                                  example: 649fe0cec4a9507d1220eb7a\n                                phoneNumber:\n                                  type: string\n                                  example: '9360290409'\n                                updatedAt:\n                                  type: string\n                                  example: '2023-07-01T08:16:15.847Z'\n                            comments:\n                              type: number\n                              example: 16\n                            content:\n                              type: string\n                              example: >-\n                                Quidem ut dolores.\n\n                                Possimus rem aliquam expedita harum similique\n                                illo voluptatibus possimus odit.\n                            createdAt:\n                              type: string\n                              example: '2023-07-01T08:16:15.909Z'\n                            images:\n                              type: array\n                              items:\n                                type: object\n                                properties:\n                                  _id:\n                                    type: string\n                                    example: 649fe0cfc4a9507d1220eeef\n                                  localPath:\n                                    type: string\n                                    example: ''\n                                  url:\n                                    type: string\n                                    example: >-\n                                      https://loremflickr.com/640/480/food?lock=897609019424768\n                              example:\n                                - _id: 649fe0cfc4a9507d1220eeef\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=897609019424768\n                                - _id: 649fe0cfc4a9507d1220eef0\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=2895110803030016\n                                - _id: 649fe0cfc4a9507d1220eef1\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=7434201863290880\n                                - _id: 649fe0cfc4a9507d1220eef2\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=2145901894172672\n                                - _id: 649fe0cfc4a9507d1220eef3\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=2603549741547520\n                                - _id: 649fe0cfc4a9507d1220eef4\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=8585818058784768\n                            isBookmarked:\n                              type: boolean\n                              example: false\n                            isLiked:\n                              type: boolean\n                              example: false\n                            likes:\n                              type: number\n                              example: 25\n                            tags:\n                              type: array\n                              items:\n                                type: string\n                                example: expedita\n                              example:\n                                - expedita\n                                - commodi\n                                - fugiat\n                            updatedAt:\n                              type: string\n                              example: '2023-07-01T08:16:15.909Z'\n                        example:\n                          - __v: 0\n                            _id: 649fe0cfc4a9507d1220eeee\n                            author:\n                              __v: 0\n                              _id: 649fe0cfc4a9507d1220ec2a\n                              account:\n                                _id: 649fe0cec4a9507d1220eb7a\n                                avatar:\n                                  _id: 649fe0cec4a9507d1220eb7b\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/344.jpg\n                                email: brant_rippin21@hotmail.com\n                                username: hilda_simonis75\n                              bio: milk junkie\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 649fe0cfc4a9507d1220ec29\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-01T08:16:15.063Z'\n                              dob: '2020-08-11T12:21:20.809Z'\n                              firstName: Jerel\n                              lastName: Witting\n                              location: Kundecester, France\n                              owner: 649fe0cec4a9507d1220eb7a\n                              phoneNumber: '9360290409'\n                              updatedAt: '2023-07-01T08:16:15.847Z'\n                            comments: 16\n                            content: >-\n                              Quidem ut dolores.\n\n                              Possimus rem aliquam expedita harum similique illo\n                              voluptatibus possimus odit.\n                            createdAt: '2023-07-01T08:16:15.909Z'\n                            images:\n                              - _id: 649fe0cfc4a9507d1220eeef\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=897609019424768\n                              - _id: 649fe0cfc4a9507d1220eef0\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=2895110803030016\n                              - _id: 649fe0cfc4a9507d1220eef1\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=7434201863290880\n                              - _id: 649fe0cfc4a9507d1220eef2\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=2145901894172672\n                              - _id: 649fe0cfc4a9507d1220eef3\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=2603549741547520\n                              - _id: 649fe0cfc4a9507d1220eef4\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=8585818058784768\n                            isBookmarked: false\n                            isLiked: false\n                            likes: 25\n                            tags:\n                              - expedita\n                              - commodi\n                              - fugiat\n                            updatedAt: '2023-07-01T08:16:15.909Z'\n                          - __v: 0\n                            _id: 649fe0cfc4a9507d1220eef5\n                            author:\n                              __v: 0\n                              _id: 649fe0cfc4a9507d1220ec1c\n                              account:\n                                _id: 649fe0cec4a9507d1220eb71\n                                avatar:\n                                  _id: 649fe0cec4a9507d1220eb72\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/874.jpg\n                                email: jayme.hayes40@yahoo.com\n                                username: emely44\n                              bio: inventor, veteran\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 649fe0cfc4a9507d1220ec1b\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-01T08:16:15.043Z'\n                              dob: '2013-05-17T22:44:51.914Z'\n                              firstName: Eunice\n                              lastName: Bechtelar\n                              location: Furmanshire, Saint Lucia\n                              owner: 649fe0cec4a9507d1220eb71\n                              phoneNumber: '9385232136'\n                              updatedAt: '2023-07-01T08:16:15.846Z'\n                            comments: 13\n                            content: >-\n                              Labore ea minima mollitia incidunt molestias\n                              cumque.\n\n                              Consectetur inventore ex perspiciatis voluptate.\n\n                              Cum libero soluta optio eligendi ullam adipisci\n                              ipsa officia.\n\n                              Beatae enim culpa veritatis voluptatibus porro\n                              iure corporis quas occaecati.\n\n                              Reprehenderit amet iure similique nemo.\n                            createdAt: '2023-07-01T08:16:15.910Z'\n                            images:\n                              - _id: 649fe0cfc4a9507d1220eef6\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=2383243682775040\n                              - _id: 649fe0cfc4a9507d1220eef7\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=4499103595626496\n                              - _id: 649fe0cfc4a9507d1220eef8\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=3581458469879808\n                              - _id: 649fe0cfc4a9507d1220eef9\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=2595848659664896\n                              - _id: 649fe0cfc4a9507d1220eefa\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=8136197121507328\n                              - _id: 649fe0cfc4a9507d1220eefb\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=1096297020915712\n                            isBookmarked: false\n                            isLiked: false\n                            likes: 26\n                            tags:\n                              - nostrum\n                              - saepe\n                              - dolor\n                              - sint\n                              - et\n                              - quas\n                              - tempora\n                            updatedAt: '2023-07-01T08:16:15.910Z'\n                          - __v: 0\n                            _id: 649fe0cfc4a9507d1220eefc\n                            author:\n                              __v: 0\n                              _id: 649fe0cfc4a9507d1220ec24\n                              account:\n                                _id: 649fe0cec4a9507d1220eb68\n                                avatar:\n                                  _id: 649fe0cec4a9507d1220eb69\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/97.jpg\n                                email: marietta_hoeger59@gmail.com\n                                username: joey_boyle24\n                              bio: squirrel advocate, person 🧊\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 649fe0cfc4a9507d1220ec23\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-01T08:16:15.061Z'\n                              dob: '2014-01-31T01:46:29.852Z'\n                              firstName: Arjun\n                              lastName: Turcotte\n                              location: Fort Lizatown, Comoros\n                              owner: 649fe0cec4a9507d1220eb68\n                              phoneNumber: '9240836201'\n                              updatedAt: '2023-07-01T08:16:15.847Z'\n                            comments: 12\n                            content: >-\n                              Enim odio hic laboriosam tempora quis.\n\n                              Odio asperiores sapiente atque repellendus sunt\n                              nesciunt quae.\n\n                              Non debitis modi aspernatur.\n                            createdAt: '2023-07-01T08:16:15.910Z'\n                            images:\n                              - _id: 649fe0cfc4a9507d1220eefd\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=8384240500604928\n                              - _id: 649fe0cfc4a9507d1220eefe\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=971703482056704\n                              - _id: 649fe0cfc4a9507d1220eeff\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=4492503323508736\n                              - _id: 649fe0cfc4a9507d1220ef00\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=4290222315536384\n                              - _id: 649fe0cfc4a9507d1220ef01\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=3838085238358016\n                              - _id: 649fe0cfc4a9507d1220ef02\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=3757971515375616\n                            isBookmarked: false\n                            isLiked: false\n                            likes: 30\n                            tags:\n                              - officia\n                              - suscipit\n                              - molestias\n                              - accusantium\n                            updatedAt: '2023-07-01T08:16:15.910Z'\n                          - __v: 0\n                            _id: 649fe0cfc4a9507d1220ef03\n                            author:\n                              __v: 0\n                              _id: 649fe0cfc4a9507d1220ec27\n                              account:\n                                _id: 649fe0cec4a9507d1220eb77\n                                avatar:\n                                  _id: 649fe0cec4a9507d1220eb78\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1033.jpg\n                                email: aurelie55@hotmail.com\n                                username: margaret.rice\n                              bio: witch-hunt supporter  🧛\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 649fe0cfc4a9507d1220ec26\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-01T08:16:15.062Z'\n                              dob: '2005-11-18T04:07:29.174Z'\n                              firstName: Tamia\n                              lastName: O'Conner\n                              location: Kirlinmouth, Guadeloupe\n                              owner: 649fe0cec4a9507d1220eb77\n                              phoneNumber: '9551497141'\n                              updatedAt: '2023-07-01T08:16:15.847Z'\n                            comments: 13\n                            content: >-\n                              Laborum ipsam ducimus quis delectus.\n\n                              Fugit voluptatibus est suscipit quibusdam animi\n                              animi accusamus.\n\n                              Dolorem quas voluptate aliquam.\n\n                              Dolores laborum nihil mollitia voluptatibus nulla\n                              repellendus.\n\n                              Quibusdam dolorem iure.\n                            createdAt: '2023-07-01T08:16:15.910Z'\n                            images:\n                              - _id: 649fe0cfc4a9507d1220ef04\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=1893020276359168\n                              - _id: 649fe0cfc4a9507d1220ef05\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=8878152340209664\n                              - _id: 649fe0cfc4a9507d1220ef06\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=8942937517850624\n                              - _id: 649fe0cfc4a9507d1220ef07\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=2688527097659392\n                              - _id: 649fe0cfc4a9507d1220ef08\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=2977014164226048\n                              - _id: 649fe0cfc4a9507d1220ef09\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=484730633977856\n                            isBookmarked: false\n                            isLiked: false\n                            likes: 29\n                            tags:\n                              - soluta\n                              - sed\n                              - soluta\n                            updatedAt: '2023-07-01T08:16:15.910Z'\n                          - __v: 0\n                            _id: 649fe0cfc4a9507d1220ef0a\n                            author:\n                              __v: 0\n                              _id: 649fe0cfc4a9507d1220ec3e\n                              account:\n                                _id: 649fe0cec4a9507d1220eb7d\n                                avatar:\n                                  _id: 649fe0cec4a9507d1220eb7e\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/173.jpg\n                                email: johanna_russel81@yahoo.com\n                                username: vita84\n                              bio: person\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 649fe0cfc4a9507d1220ec3d\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-01T08:16:15.081Z'\n                              dob: '2009-01-01T18:11:54.927Z'\n                              firstName: Matteo\n                              lastName: Welch\n                              location: Franeyboro, Djibouti\n                              owner: 649fe0cec4a9507d1220eb7d\n                              phoneNumber: '9327150782'\n                              updatedAt: '2023-07-01T08:16:15.847Z'\n                            comments: 13\n                            content: >-\n                              Repudiandae deleniti earum.\n\n                              Blanditiis odio tempore repellat excepturi ipsum.\n\n                              Repudiandae accusamus vel ducimus reprehenderit\n                              dolorum nesciunt deserunt.\n\n                              Earum vero eaque ratione ab possimus tempore\n                              explicabo.\n\n                              Commodi doloribus a.\n                            createdAt: '2023-07-01T08:16:15.910Z'\n                            images:\n                              - _id: 649fe0cfc4a9507d1220ef0b\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=2548721220845568\n                              - _id: 649fe0cfc4a9507d1220ef0c\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=3522120705376256\n                              - _id: 649fe0cfc4a9507d1220ef0d\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=1492581173166080\n                              - _id: 649fe0cfc4a9507d1220ef0e\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=5596725498609664\n                              - _id: 649fe0cfc4a9507d1220ef0f\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=263214214414336\n                              - _id: 649fe0cfc4a9507d1220ef10\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=4211656093597696\n                            isBookmarked: false\n                            isLiked: false\n                            likes: 24\n                            tags:\n                              - tempore\n                              - voluptates\n                              - eligendi\n                              - tempora\n                            updatedAt: '2023-07-01T08:16:15.910Z'\n                          - __v: 0\n                            _id: 649fe0cfc4a9507d1220ef11\n                            author:\n                              __v: 0\n                              _id: 649fe0cfc4a9507d1220ec3b\n                              account:\n                                _id: 649fe0cec4a9507d1220eb6e\n                                avatar:\n                                  _id: 649fe0cec4a9507d1220eb6f\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/493.jpg\n                                email: sean_rempel@yahoo.com\n                                username: vada82\n                              bio: creator, singer, designer\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 649fe0cfc4a9507d1220ec3a\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-01T08:16:15.080Z'\n                              dob: '2014-04-14T15:46:20.472Z'\n                              firstName: Maxwell\n                              lastName: Adams\n                              location: North Nickboro, Czechia\n                              owner: 649fe0cec4a9507d1220eb6e\n                              phoneNumber: '9206944301'\n                              updatedAt: '2023-07-01T08:16:15.847Z'\n                            comments: 10\n                            content: >-\n                              Possimus maiores et blanditiis.\n\n                              Consequatur odio ipsum quia sit.\n\n                              Reprehenderit aperiam rerum voluptate explicabo\n                              accusantium.\n\n                              Corporis quisquam dicta.\n                            createdAt: '2023-07-01T08:16:15.910Z'\n                            images:\n                              - _id: 649fe0cfc4a9507d1220ef12\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=1084999015071744\n                              - _id: 649fe0cfc4a9507d1220ef13\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=8399137267515392\n                              - _id: 649fe0cfc4a9507d1220ef14\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=134559362449408\n                              - _id: 649fe0cfc4a9507d1220ef15\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=6236488146616320\n                              - _id: 649fe0cfc4a9507d1220ef16\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=5754721631469568\n                              - _id: 649fe0cfc4a9507d1220ef17\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=3585413625151488\n                            isBookmarked: false\n                            isLiked: false\n                            likes: 30\n                            tags:\n                              - maiores\n                              - quia\n                              - amet\n                              - quia\n                              - odit\n                              - illo\n                              - est\n                            updatedAt: '2023-07-01T08:16:15.910Z'\n                          - __v: 0\n                            _id: 649fe0cfc4a9507d1220ef18\n                            author:\n                              __v: 0\n                              _id: 649fe0cfc4a9507d1220ec55\n                              account:\n                                _id: 649fe0cec4a9507d1220eb6b\n                                avatar:\n                                  _id: 649fe0cec4a9507d1220eb6c\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/543.jpg\n                                email: sterling_quigley@gmail.com\n                                username: shea1\n                              bio: patriot, singer, educator\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 649fe0cfc4a9507d1220ec54\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-01T08:16:15.120Z'\n                              dob: '2005-07-27T19:23:19.746Z'\n                              firstName: Kyle\n                              lastName: Wilkinson\n                              location: Parma, Malaysia\n                              owner: 649fe0cec4a9507d1220eb6b\n                              phoneNumber: '9290522668'\n                              updatedAt: '2023-07-01T08:16:15.847Z'\n                            comments: 8\n                            content: >-\n                              Recusandae tempore amet itaque.\n\n                              Reiciendis voluptatum iure voluptatibus facilis\n                              consequatur totam ipsa minima facere.\n                            createdAt: '2023-07-01T08:16:15.910Z'\n                            images:\n                              - _id: 649fe0cfc4a9507d1220ef19\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=2316982137389056\n                              - _id: 649fe0cfc4a9507d1220ef1a\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=6828565037318144\n                              - _id: 649fe0cfc4a9507d1220ef1b\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=7626126656536576\n                              - _id: 649fe0cfc4a9507d1220ef1c\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=863522462367744\n                              - _id: 649fe0cfc4a9507d1220ef1d\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=7547520387383296\n                              - _id: 649fe0cfc4a9507d1220ef1e\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=2693726832951296\n                            isBookmarked: false\n                            isLiked: false\n                            likes: 28\n                            tags:\n                              - aliquid\n                              - voluptate\n                              - modi\n                              - laboriosam\n                              - incidunt\n                              - earum\n                              - saepe\n                            updatedAt: '2023-07-01T08:16:15.910Z'\n                          - __v: 0\n                            _id: 649fe0cfc4a9507d1220ef1f\n                            author:\n                              __v: 0\n                              _id: 649fe0cfc4a9507d1220ec52\n                              account:\n                                _id: 649fe0cec4a9507d1220eb83\n                                avatar:\n                                  _id: 649fe0cec4a9507d1220eb84\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/27.jpg\n                                email: laura49@yahoo.com\n                                username: brian.bins\n                              bio: teacher, philosopher, filmmaker 🧾\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 649fe0cfc4a9507d1220ec51\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-01T08:16:15.120Z'\n                              dob: '2006-06-07T14:58:54.175Z'\n                              firstName: Kraig\n                              lastName: O'Connell-Dickens\n                              location: Heaneyfield, Bouvet Island\n                              owner: 649fe0cec4a9507d1220eb83\n                              phoneNumber: '9900845699'\n                              updatedAt: '2023-07-01T08:16:15.847Z'\n                            comments: 19\n                            content: >-\n                              Quas vel perspiciatis hic nisi saepe enim\n                              consequuntur.\n\n                              Quis nulla explicabo mollitia accusantium\n                              necessitatibus repellendus laborum pariatur\n                              dolorem.\n\n                              Labore consectetur incidunt porro accusantium\n                              molestiae.\n\n                              Facilis accusamus quae.\n\n                              Aspernatur totam dolor.\n                            createdAt: '2023-07-01T08:16:15.910Z'\n                            images:\n                              - _id: 649fe0cfc4a9507d1220ef20\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=461805522518016\n                              - _id: 649fe0cfc4a9507d1220ef21\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=67284097826816\n                              - _id: 649fe0cfc4a9507d1220ef22\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=4549954341175296\n                              - _id: 649fe0cfc4a9507d1220ef23\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=7619624264794112\n                              - _id: 649fe0cfc4a9507d1220ef24\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=5581982650073088\n                              - _id: 649fe0cfc4a9507d1220ef25\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=1394231409115136\n                            isBookmarked: false\n                            isLiked: false\n                            likes: 29\n                            tags:\n                              - maiores\n                              - occaecati\n                              - architecto\n                              - quibusdam\n                              - iure\n                            updatedAt: '2023-07-01T08:16:15.910Z'\n                          - __v: 0\n                            _id: 649fe0cfc4a9507d1220ef26\n                            author:\n                              __v: 0\n                              _id: 649fe0cfc4a9507d1220ec60\n                              account:\n                                _id: 649fe0cec4a9507d1220eb86\n                                avatar:\n                                  _id: 649fe0cec4a9507d1220eb87\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/272.jpg\n                                email: maddison.brekke3@yahoo.com\n                                username: dion60\n                              bio: veteran, leader, veteran\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 649fe0cfc4a9507d1220ec5f\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-01T08:16:15.134Z'\n                              dob: '2017-05-15T01:58:22.902Z'\n                              firstName: Sonia\n                              lastName: Moore\n                              location: Turnerboro, Russian Federation\n                              owner: 649fe0cec4a9507d1220eb86\n                              phoneNumber: '9258079516'\n                              updatedAt: '2023-07-01T08:16:15.847Z'\n                            comments: 19\n                            content: |-\n                              Doloremque eaque accusamus eligendi magnam.\n                              Maiores nemo quisquam.\n                              Autem quis qui exercitationem tempora ipsam eius.\n                              Est adipisci veritatis tempore.\n                              Debitis quod nemo ducimus assumenda laboriosam id.\n                            createdAt: '2023-07-01T08:16:15.910Z'\n                            images:\n                              - _id: 649fe0cfc4a9507d1220ef27\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=8014271082397696\n                              - _id: 649fe0cfc4a9507d1220ef28\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=275563004559360\n                              - _id: 649fe0cfc4a9507d1220ef29\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=694611624329216\n                              - _id: 649fe0cfc4a9507d1220ef2a\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=1607843132211200\n                              - _id: 649fe0cfc4a9507d1220ef2b\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=5621921567735808\n                              - _id: 649fe0cfc4a9507d1220ef2c\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=4085489323737088\n                            isBookmarked: false\n                            isLiked: false\n                            likes: 32\n                            tags:\n                              - magni\n                              - dolorem\n                              - ipsa\n                              - ab\n                              - porro\n                              - sunt\n                              - repellendus\n                            updatedAt: '2023-07-01T08:16:15.910Z'\n                          - __v: 0\n                            _id: 649fe0cfc4a9507d1220ef2d\n                            author:\n                              __v: 0\n                              _id: 649fe0cfc4a9507d1220ec6a\n                              account:\n                                _id: 649fe0cec4a9507d1220eb89\n                                avatar:\n                                  _id: 649fe0cec4a9507d1220eb8a\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/712.jpg\n                                email: elenor.greenfelder@yahoo.com\n                                username: columbus6\n                              bio: business owner\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 649fe0cfc4a9507d1220ec69\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-01T08:16:15.138Z'\n                              dob: '2010-08-23T06:05:33.919Z'\n                              firstName: Margarette\n                              lastName: Feest\n                              location: Trompstead, Estonia\n                              owner: 649fe0cec4a9507d1220eb89\n                              phoneNumber: '9738679720'\n                              updatedAt: '2023-07-01T08:16:15.847Z'\n                            comments: 6\n                            content: |-\n                              Itaque optio aliquid rem maiores eum molestiae.\n                              Debitis veniam nostrum itaque nihil.\n                              Vel veritatis nisi sit vitae.\n                            createdAt: '2023-07-01T08:16:15.910Z'\n                            images:\n                              - _id: 649fe0cfc4a9507d1220ef2e\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=1535937232240640\n                              - _id: 649fe0cfc4a9507d1220ef2f\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=283298911748096\n                              - _id: 649fe0cfc4a9507d1220ef30\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=4887885371146240\n                              - _id: 649fe0cfc4a9507d1220ef31\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=6218291177586688\n                              - _id: 649fe0cfc4a9507d1220ef32\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=2865615104638976\n                              - _id: 649fe0cfc4a9507d1220ef33\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=5290355326976000\n                            isBookmarked: false\n                            isLiked: false\n                            likes: 30\n                            tags:\n                              - ullam\n                              - quaerat\n                              - laboriosam\n                            updatedAt: '2023-07-01T08:16:15.910Z'\n                      prevPage:\n                        nullable: true\n                        example: null\n                      serialNumberStartFrom:\n                        type: number\n                        example: 1\n                      totalPages:\n                        type: number\n                        example: 4\n                      totalPosts:\n                        type: number\n                        example: 40\n                  message:\n                    type: string\n                    example: Posts fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get all posts:\n                  value:\n                    data:\n                      hasNextPage: true\n                      hasPrevPage: false\n                      limit: 10\n                      nextPage: 2\n                      page: 1\n                      posts:\n                        - __v: 0\n                          _id: 649fe0cfc4a9507d1220eeee\n                          author:\n                            __v: 0\n                            _id: 649fe0cfc4a9507d1220ec2a\n                            account:\n                              _id: 649fe0cec4a9507d1220eb7a\n                              avatar:\n                                _id: 649fe0cec4a9507d1220eb7b\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/344.jpg\n                              email: brant_rippin21@hotmail.com\n                              username: hilda_simonis75\n                            bio: milk junkie\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 649fe0cfc4a9507d1220ec29\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-01T08:16:15.063Z'\n                            dob: '2020-08-11T12:21:20.809Z'\n                            firstName: Jerel\n                            lastName: Witting\n                            location: Kundecester, France\n                            owner: 649fe0cec4a9507d1220eb7a\n                            phoneNumber: '9360290409'\n                            updatedAt: '2023-07-01T08:16:15.847Z'\n                          comments: 16\n                          content: >-\n                            Quidem ut dolores.\n\n                            Possimus rem aliquam expedita harum similique illo\n                            voluptatibus possimus odit.\n                          createdAt: '2023-07-01T08:16:15.909Z'\n                          images:\n                            - _id: 649fe0cfc4a9507d1220eeef\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=897609019424768\n                            - _id: 649fe0cfc4a9507d1220eef0\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=2895110803030016\n                            - _id: 649fe0cfc4a9507d1220eef1\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=7434201863290880\n                            - _id: 649fe0cfc4a9507d1220eef2\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=2145901894172672\n                            - _id: 649fe0cfc4a9507d1220eef3\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=2603549741547520\n                            - _id: 649fe0cfc4a9507d1220eef4\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=8585818058784768\n                          isBookmarked: false\n                          isLiked: false\n                          likes: 25\n                          tags:\n                            - expedita\n                            - commodi\n                            - fugiat\n                          updatedAt: '2023-07-01T08:16:15.909Z'\n                        - __v: 0\n                          _id: 649fe0cfc4a9507d1220eef5\n                          author:\n                            __v: 0\n                            _id: 649fe0cfc4a9507d1220ec1c\n                            account:\n                              _id: 649fe0cec4a9507d1220eb71\n                              avatar:\n                                _id: 649fe0cec4a9507d1220eb72\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/874.jpg\n                              email: jayme.hayes40@yahoo.com\n                              username: emely44\n                            bio: inventor, veteran\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 649fe0cfc4a9507d1220ec1b\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-01T08:16:15.043Z'\n                            dob: '2013-05-17T22:44:51.914Z'\n                            firstName: Eunice\n                            lastName: Bechtelar\n                            location: Furmanshire, Saint Lucia\n                            owner: 649fe0cec4a9507d1220eb71\n                            phoneNumber: '9385232136'\n                            updatedAt: '2023-07-01T08:16:15.846Z'\n                          comments: 13\n                          content: >-\n                            Labore ea minima mollitia incidunt molestias cumque.\n\n                            Consectetur inventore ex perspiciatis voluptate.\n\n                            Cum libero soluta optio eligendi ullam adipisci ipsa\n                            officia.\n\n                            Beatae enim culpa veritatis voluptatibus porro iure\n                            corporis quas occaecati.\n\n                            Reprehenderit amet iure similique nemo.\n                          createdAt: '2023-07-01T08:16:15.910Z'\n                          images:\n                            - _id: 649fe0cfc4a9507d1220eef6\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=2383243682775040\n                            - _id: 649fe0cfc4a9507d1220eef7\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=4499103595626496\n                            - _id: 649fe0cfc4a9507d1220eef8\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=3581458469879808\n                            - _id: 649fe0cfc4a9507d1220eef9\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=2595848659664896\n                            - _id: 649fe0cfc4a9507d1220eefa\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=8136197121507328\n                            - _id: 649fe0cfc4a9507d1220eefb\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=1096297020915712\n                          isBookmarked: false\n                          isLiked: false\n                          likes: 26\n                          tags:\n                            - nostrum\n                            - saepe\n                            - dolor\n                            - sint\n                            - et\n                            - quas\n                            - tempora\n                          updatedAt: '2023-07-01T08:16:15.910Z'\n                        - __v: 0\n                          _id: 649fe0cfc4a9507d1220eefc\n                          author:\n                            __v: 0\n                            _id: 649fe0cfc4a9507d1220ec24\n                            account:\n                              _id: 649fe0cec4a9507d1220eb68\n                              avatar:\n                                _id: 649fe0cec4a9507d1220eb69\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/97.jpg\n                              email: marietta_hoeger59@gmail.com\n                              username: joey_boyle24\n                            bio: squirrel advocate, person 🧊\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 649fe0cfc4a9507d1220ec23\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-01T08:16:15.061Z'\n                            dob: '2014-01-31T01:46:29.852Z'\n                            firstName: Arjun\n                            lastName: Turcotte\n                            location: Fort Lizatown, Comoros\n                            owner: 649fe0cec4a9507d1220eb68\n                            phoneNumber: '9240836201'\n                            updatedAt: '2023-07-01T08:16:15.847Z'\n                          comments: 12\n                          content: >-\n                            Enim odio hic laboriosam tempora quis.\n\n                            Odio asperiores sapiente atque repellendus sunt\n                            nesciunt quae.\n\n                            Non debitis modi aspernatur.\n                          createdAt: '2023-07-01T08:16:15.910Z'\n                          images:\n                            - _id: 649fe0cfc4a9507d1220eefd\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=8384240500604928\n                            - _id: 649fe0cfc4a9507d1220eefe\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=971703482056704\n                            - _id: 649fe0cfc4a9507d1220eeff\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=4492503323508736\n                            - _id: 649fe0cfc4a9507d1220ef00\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=4290222315536384\n                            - _id: 649fe0cfc4a9507d1220ef01\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=3838085238358016\n                            - _id: 649fe0cfc4a9507d1220ef02\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=3757971515375616\n                          isBookmarked: false\n                          isLiked: false\n                          likes: 30\n                          tags:\n                            - officia\n                            - suscipit\n                            - molestias\n                            - accusantium\n                          updatedAt: '2023-07-01T08:16:15.910Z'\n                        - __v: 0\n                          _id: 649fe0cfc4a9507d1220ef03\n                          author:\n                            __v: 0\n                            _id: 649fe0cfc4a9507d1220ec27\n                            account:\n                              _id: 649fe0cec4a9507d1220eb77\n                              avatar:\n                                _id: 649fe0cec4a9507d1220eb78\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1033.jpg\n                              email: aurelie55@hotmail.com\n                              username: margaret.rice\n                            bio: witch-hunt supporter  🧛\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 649fe0cfc4a9507d1220ec26\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-01T08:16:15.062Z'\n                            dob: '2005-11-18T04:07:29.174Z'\n                            firstName: Tamia\n                            lastName: O'Conner\n                            location: Kirlinmouth, Guadeloupe\n                            owner: 649fe0cec4a9507d1220eb77\n                            phoneNumber: '9551497141'\n                            updatedAt: '2023-07-01T08:16:15.847Z'\n                          comments: 13\n                          content: >-\n                            Laborum ipsam ducimus quis delectus.\n\n                            Fugit voluptatibus est suscipit quibusdam animi\n                            animi accusamus.\n\n                            Dolorem quas voluptate aliquam.\n\n                            Dolores laborum nihil mollitia voluptatibus nulla\n                            repellendus.\n\n                            Quibusdam dolorem iure.\n                          createdAt: '2023-07-01T08:16:15.910Z'\n                          images:\n                            - _id: 649fe0cfc4a9507d1220ef04\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=1893020276359168\n                            - _id: 649fe0cfc4a9507d1220ef05\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=8878152340209664\n                            - _id: 649fe0cfc4a9507d1220ef06\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=8942937517850624\n                            - _id: 649fe0cfc4a9507d1220ef07\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=2688527097659392\n                            - _id: 649fe0cfc4a9507d1220ef08\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=2977014164226048\n                            - _id: 649fe0cfc4a9507d1220ef09\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=484730633977856\n                          isBookmarked: false\n                          isLiked: false\n                          likes: 29\n                          tags:\n                            - soluta\n                            - sed\n                            - soluta\n                          updatedAt: '2023-07-01T08:16:15.910Z'\n                        - __v: 0\n                          _id: 649fe0cfc4a9507d1220ef0a\n                          author:\n                            __v: 0\n                            _id: 649fe0cfc4a9507d1220ec3e\n                            account:\n                              _id: 649fe0cec4a9507d1220eb7d\n                              avatar:\n                                _id: 649fe0cec4a9507d1220eb7e\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/173.jpg\n                              email: johanna_russel81@yahoo.com\n                              username: vita84\n                            bio: person\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 649fe0cfc4a9507d1220ec3d\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-01T08:16:15.081Z'\n                            dob: '2009-01-01T18:11:54.927Z'\n                            firstName: Matteo\n                            lastName: Welch\n                            location: Franeyboro, Djibouti\n                            owner: 649fe0cec4a9507d1220eb7d\n                            phoneNumber: '9327150782'\n                            updatedAt: '2023-07-01T08:16:15.847Z'\n                          comments: 13\n                          content: >-\n                            Repudiandae deleniti earum.\n\n                            Blanditiis odio tempore repellat excepturi ipsum.\n\n                            Repudiandae accusamus vel ducimus reprehenderit\n                            dolorum nesciunt deserunt.\n\n                            Earum vero eaque ratione ab possimus tempore\n                            explicabo.\n\n                            Commodi doloribus a.\n                          createdAt: '2023-07-01T08:16:15.910Z'\n                          images:\n                            - _id: 649fe0cfc4a9507d1220ef0b\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=2548721220845568\n                            - _id: 649fe0cfc4a9507d1220ef0c\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=3522120705376256\n                            - _id: 649fe0cfc4a9507d1220ef0d\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=1492581173166080\n                            - _id: 649fe0cfc4a9507d1220ef0e\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=5596725498609664\n                            - _id: 649fe0cfc4a9507d1220ef0f\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=263214214414336\n                            - _id: 649fe0cfc4a9507d1220ef10\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=4211656093597696\n                          isBookmarked: false\n                          isLiked: false\n                          likes: 24\n                          tags:\n                            - tempore\n                            - voluptates\n                            - eligendi\n                            - tempora\n                          updatedAt: '2023-07-01T08:16:15.910Z'\n                        - __v: 0\n                          _id: 649fe0cfc4a9507d1220ef11\n                          author:\n                            __v: 0\n                            _id: 649fe0cfc4a9507d1220ec3b\n                            account:\n                              _id: 649fe0cec4a9507d1220eb6e\n                              avatar:\n                                _id: 649fe0cec4a9507d1220eb6f\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/493.jpg\n                              email: sean_rempel@yahoo.com\n                              username: vada82\n                            bio: creator, singer, designer\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 649fe0cfc4a9507d1220ec3a\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-01T08:16:15.080Z'\n                            dob: '2014-04-14T15:46:20.472Z'\n                            firstName: Maxwell\n                            lastName: Adams\n                            location: North Nickboro, Czechia\n                            owner: 649fe0cec4a9507d1220eb6e\n                            phoneNumber: '9206944301'\n                            updatedAt: '2023-07-01T08:16:15.847Z'\n                          comments: 10\n                          content: >-\n                            Possimus maiores et blanditiis.\n\n                            Consequatur odio ipsum quia sit.\n\n                            Reprehenderit aperiam rerum voluptate explicabo\n                            accusantium.\n\n                            Corporis quisquam dicta.\n                          createdAt: '2023-07-01T08:16:15.910Z'\n                          images:\n                            - _id: 649fe0cfc4a9507d1220ef12\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=1084999015071744\n                            - _id: 649fe0cfc4a9507d1220ef13\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=8399137267515392\n                            - _id: 649fe0cfc4a9507d1220ef14\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=134559362449408\n                            - _id: 649fe0cfc4a9507d1220ef15\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=6236488146616320\n                            - _id: 649fe0cfc4a9507d1220ef16\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=5754721631469568\n                            - _id: 649fe0cfc4a9507d1220ef17\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=3585413625151488\n                          isBookmarked: false\n                          isLiked: false\n                          likes: 30\n                          tags:\n                            - maiores\n                            - quia\n                            - amet\n                            - quia\n                            - odit\n                            - illo\n                            - est\n                          updatedAt: '2023-07-01T08:16:15.910Z'\n                        - __v: 0\n                          _id: 649fe0cfc4a9507d1220ef18\n                          author:\n                            __v: 0\n                            _id: 649fe0cfc4a9507d1220ec55\n                            account:\n                              _id: 649fe0cec4a9507d1220eb6b\n                              avatar:\n                                _id: 649fe0cec4a9507d1220eb6c\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/543.jpg\n                              email: sterling_quigley@gmail.com\n                              username: shea1\n                            bio: patriot, singer, educator\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 649fe0cfc4a9507d1220ec54\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-01T08:16:15.120Z'\n                            dob: '2005-07-27T19:23:19.746Z'\n                            firstName: Kyle\n                            lastName: Wilkinson\n                            location: Parma, Malaysia\n                            owner: 649fe0cec4a9507d1220eb6b\n                            phoneNumber: '9290522668'\n                            updatedAt: '2023-07-01T08:16:15.847Z'\n                          comments: 8\n                          content: >-\n                            Recusandae tempore amet itaque.\n\n                            Reiciendis voluptatum iure voluptatibus facilis\n                            consequatur totam ipsa minima facere.\n                          createdAt: '2023-07-01T08:16:15.910Z'\n                          images:\n                            - _id: 649fe0cfc4a9507d1220ef19\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=2316982137389056\n                            - _id: 649fe0cfc4a9507d1220ef1a\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=6828565037318144\n                            - _id: 649fe0cfc4a9507d1220ef1b\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=7626126656536576\n                            - _id: 649fe0cfc4a9507d1220ef1c\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=863522462367744\n                            - _id: 649fe0cfc4a9507d1220ef1d\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=7547520387383296\n                            - _id: 649fe0cfc4a9507d1220ef1e\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=2693726832951296\n                          isBookmarked: false\n                          isLiked: false\n                          likes: 28\n                          tags:\n                            - aliquid\n                            - voluptate\n                            - modi\n                            - laboriosam\n                            - incidunt\n                            - earum\n                            - saepe\n                          updatedAt: '2023-07-01T08:16:15.910Z'\n                        - __v: 0\n                          _id: 649fe0cfc4a9507d1220ef1f\n                          author:\n                            __v: 0\n                            _id: 649fe0cfc4a9507d1220ec52\n                            account:\n                              _id: 649fe0cec4a9507d1220eb83\n                              avatar:\n                                _id: 649fe0cec4a9507d1220eb84\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/27.jpg\n                              email: laura49@yahoo.com\n                              username: brian.bins\n                            bio: teacher, philosopher, filmmaker 🧾\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 649fe0cfc4a9507d1220ec51\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-01T08:16:15.120Z'\n                            dob: '2006-06-07T14:58:54.175Z'\n                            firstName: Kraig\n                            lastName: O'Connell-Dickens\n                            location: Heaneyfield, Bouvet Island\n                            owner: 649fe0cec4a9507d1220eb83\n                            phoneNumber: '9900845699'\n                            updatedAt: '2023-07-01T08:16:15.847Z'\n                          comments: 19\n                          content: >-\n                            Quas vel perspiciatis hic nisi saepe enim\n                            consequuntur.\n\n                            Quis nulla explicabo mollitia accusantium\n                            necessitatibus repellendus laborum pariatur dolorem.\n\n                            Labore consectetur incidunt porro accusantium\n                            molestiae.\n\n                            Facilis accusamus quae.\n\n                            Aspernatur totam dolor.\n                          createdAt: '2023-07-01T08:16:15.910Z'\n                          images:\n                            - _id: 649fe0cfc4a9507d1220ef20\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=461805522518016\n                            - _id: 649fe0cfc4a9507d1220ef21\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=67284097826816\n                            - _id: 649fe0cfc4a9507d1220ef22\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=4549954341175296\n                            - _id: 649fe0cfc4a9507d1220ef23\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=7619624264794112\n                            - _id: 649fe0cfc4a9507d1220ef24\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=5581982650073088\n                            - _id: 649fe0cfc4a9507d1220ef25\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=1394231409115136\n                          isBookmarked: false\n                          isLiked: false\n                          likes: 29\n                          tags:\n                            - maiores\n                            - occaecati\n                            - architecto\n                            - quibusdam\n                            - iure\n                          updatedAt: '2023-07-01T08:16:15.910Z'\n                        - __v: 0\n                          _id: 649fe0cfc4a9507d1220ef26\n                          author:\n                            __v: 0\n                            _id: 649fe0cfc4a9507d1220ec60\n                            account:\n                              _id: 649fe0cec4a9507d1220eb86\n                              avatar:\n                                _id: 649fe0cec4a9507d1220eb87\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/272.jpg\n                              email: maddison.brekke3@yahoo.com\n                              username: dion60\n                            bio: veteran, leader, veteran\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 649fe0cfc4a9507d1220ec5f\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-01T08:16:15.134Z'\n                            dob: '2017-05-15T01:58:22.902Z'\n                            firstName: Sonia\n                            lastName: Moore\n                            location: Turnerboro, Russian Federation\n                            owner: 649fe0cec4a9507d1220eb86\n                            phoneNumber: '9258079516'\n                            updatedAt: '2023-07-01T08:16:15.847Z'\n                          comments: 19\n                          content: |-\n                            Doloremque eaque accusamus eligendi magnam.\n                            Maiores nemo quisquam.\n                            Autem quis qui exercitationem tempora ipsam eius.\n                            Est adipisci veritatis tempore.\n                            Debitis quod nemo ducimus assumenda laboriosam id.\n                          createdAt: '2023-07-01T08:16:15.910Z'\n                          images:\n                            - _id: 649fe0cfc4a9507d1220ef27\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=8014271082397696\n                            - _id: 649fe0cfc4a9507d1220ef28\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=275563004559360\n                            - _id: 649fe0cfc4a9507d1220ef29\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=694611624329216\n                            - _id: 649fe0cfc4a9507d1220ef2a\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=1607843132211200\n                            - _id: 649fe0cfc4a9507d1220ef2b\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=5621921567735808\n                            - _id: 649fe0cfc4a9507d1220ef2c\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=4085489323737088\n                          isBookmarked: false\n                          isLiked: false\n                          likes: 32\n                          tags:\n                            - magni\n                            - dolorem\n                            - ipsa\n                            - ab\n                            - porro\n                            - sunt\n                            - repellendus\n                          updatedAt: '2023-07-01T08:16:15.910Z'\n                        - __v: 0\n                          _id: 649fe0cfc4a9507d1220ef2d\n                          author:\n                            __v: 0\n                            _id: 649fe0cfc4a9507d1220ec6a\n                            account:\n                              _id: 649fe0cec4a9507d1220eb89\n                              avatar:\n                                _id: 649fe0cec4a9507d1220eb8a\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/712.jpg\n                              email: elenor.greenfelder@yahoo.com\n                              username: columbus6\n                            bio: business owner\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 649fe0cfc4a9507d1220ec69\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-01T08:16:15.138Z'\n                            dob: '2010-08-23T06:05:33.919Z'\n                            firstName: Margarette\n                            lastName: Feest\n                            location: Trompstead, Estonia\n                            owner: 649fe0cec4a9507d1220eb89\n                            phoneNumber: '9738679720'\n                            updatedAt: '2023-07-01T08:16:15.847Z'\n                          comments: 6\n                          content: |-\n                            Itaque optio aliquid rem maiores eum molestiae.\n                            Debitis veniam nostrum itaque nihil.\n                            Vel veritatis nisi sit vitae.\n                          createdAt: '2023-07-01T08:16:15.910Z'\n                          images:\n                            - _id: 649fe0cfc4a9507d1220ef2e\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=1535937232240640\n                            - _id: 649fe0cfc4a9507d1220ef2f\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=283298911748096\n                            - _id: 649fe0cfc4a9507d1220ef30\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=4887885371146240\n                            - _id: 649fe0cfc4a9507d1220ef31\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=6218291177586688\n                            - _id: 649fe0cfc4a9507d1220ef32\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=2865615104638976\n                            - _id: 649fe0cfc4a9507d1220ef33\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=5290355326976000\n                          isBookmarked: false\n                          isLiked: false\n                          likes: 30\n                          tags:\n                            - ullam\n                            - quaerat\n                            - laboriosam\n                          updatedAt: '2023-07-01T08:16:15.910Z'\n                      prevPage: null\n                      serialNumberStartFrom: 1\n                      totalPages: 4\n                      totalPosts: 40\n                    message: Posts fetched successfully\n                    statusCode: 200\n                    success: true\n    post:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Create a post\n      description: >-\n        The API allows a logged-in user to create a social media post by\n        providing the necessary details in the request body.\n\n\n        The user can include the content of the post, relevant tags, and attach\n        images (upto 6) as part of the request.\n\n\n        NOTE: As this api requires formData to be used, to send multiple tags\n        client must send them with the respective index.\n\n\n        e.g. if you are passing 4 tags the keys in the, following is onw of the\n        ways to send them:\n\n\n        ``` javascript\n\n        const formData = new FromData()\n\n        // ... other form data appends\n\n        tags.forEach((tag, ind) => {\n            formData.append(`tag[${ind}]`: tag)\n        })\n\n\n        ```\n      operationId: createAPost\n      requestBody:\n        content:\n          multipart/form-data:\n            schema:\n              type: object\n              properties:\n                content:\n                  type: string\n                  example: >-\n                    Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n                    Maecenas sapien libero, bibendum sed semper vel, cursus ut\n                    enim. Sed a lectus eu ligula varius tincidunt vel vitae\n                    odio. Phasellus vel massa odio. Donec in velit eu eros\n                    consequat ultrices nec eu nulla. Sed id molestie diam, sed\n                    suscipit enim. Ut auctor turpis dui, eu gravida elit\n                    molestie nec. Vestibulum posuere eros a dolor iaculis,\n                    sollicitudin ullamcorper nisl condimentum.\n                images:\n                  description: Upto 6 images per post are allowed\n                  type: string\n                  format: binary\n                tags[0]:\n                  type: string\n                  example: first_post\n                tags[1]:\n                  type: string\n                  example: marketing\n                tags[2]:\n                  type: string\n                  example: digital\n      responses:\n        '201':\n          description: Create a post\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '2002'\n            Date:\n              schema:\n                type: string\n                example: Tue, 04 Jul 2023 09:17:48 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"7d2-uGG5/e+u4WUNv0htaErSale6eIo\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '495'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '192'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 64a3e3bc9d02a1e3d365f06a\n                      author:\n                        type: object\n                        properties:\n                          __v:\n                            type: number\n                            example: 0\n                          _id:\n                            type: string\n                            example: 64a3daef2aaac053bc597395\n                          account:\n                            type: object\n                            properties:\n                              _id:\n                                type: string\n                                example: 64a3daee2aaac053bc59725b\n                              avatar:\n                                type: object\n                                properties:\n                                  _id:\n                                    type: string\n                                    example: 64a3daee2aaac053bc59725c\n                                  localPath:\n                                    type: string\n                                    example: ''\n                                  url:\n                                    type: string\n                                    example: >-\n                                      https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/528.jpg\n                              email:\n                                type: string\n                                example: rebeka.bashirian@yahoo.com\n                              username:\n                                type: string\n                                example: delia_zboncak15\n                          bio:\n                            type: string\n                            example: checkbook lover, photographer\n                          countryCode:\n                            type: string\n                            example: '+91'\n                          coverImage:\n                            type: object\n                            properties:\n                              _id:\n                                type: string\n                                example: 64a3daef2aaac053bc597394\n                              localPath:\n                                type: string\n                                example: ''\n                              url:\n                                type: string\n                                example: https://via.placeholder.com/800x450.png\n                          createdAt:\n                            type: string\n                            example: '2023-07-04T08:40:15.098Z'\n                          dob:\n                            type: string\n                            example: '2014-10-11T03:26:22.966Z'\n                          firstName:\n                            type: string\n                            example: Randall\n                          lastName:\n                            type: string\n                            example: Ortiz\n                          location:\n                            type: string\n                            example: Port Aniyahstad, Aruba\n                          owner:\n                            type: string\n                            example: 64a3daee2aaac053bc59725b\n                          phoneNumber:\n                            type: string\n                            example: '9928906598'\n                          updatedAt:\n                            type: string\n                            example: '2023-07-04T08:41:25.069Z'\n                      comments:\n                        type: number\n                        example: 0\n                      content:\n                        type: string\n                        example: >-\n                          Lorem ipsum dolor sit amet, consectetur adipiscing\n                          elit. Maecenas sapien libero, bibendum sed semper vel,\n                          cursus ut enim. Sed a lectus eu ligula varius\n                          tincidunt vel vitae odio. Phasellus vel massa odio.\n                          Donec in velit eu eros consequat ultrices nec eu\n                          nulla. Sed id molestie diam, sed suscipit enim. Ut\n                          auctor turpis dui, eu gravida elit molestie nec.\n                          Vestibulum posuere eros a dolor iaculis, sollicitudin\n                          ullamcorper nisl condimentum.\n                      createdAt:\n                        type: string\n                        example: '2023-07-04T09:17:48.597Z'\n                      images:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            _id:\n                              type: string\n                              example: 64a3e3bc9d02a1e3d365f06b\n                            localPath:\n                              type: string\n                              example: public/images/copper-wire168846226828285707.jpeg\n                            url:\n                              type: string\n                              example: >-\n                                http://localhost:8080/images/copper-wire168846226828285707.jpeg\n                        example:\n                          - _id: 64a3e3bc9d02a1e3d365f06b\n                            localPath: public/images/copper-wire168846226828285707.jpeg\n                            url: >-\n                              http://localhost:8080/images/copper-wire168846226828285707.jpeg\n                          - _id: 64a3e3bc9d02a1e3d365f06c\n                            localPath: public/images/bottle168846226828566137.jpg\n                            url: >-\n                              http://localhost:8080/images/bottle168846226828566137.jpg\n                          - _id: 64a3e3bc9d02a1e3d365f06d\n                            localPath: public/images/wood168846226851984630.jpeg\n                            url: >-\n                              http://localhost:8080/images/wood168846226851984630.jpeg\n                      isBookmarked:\n                        type: boolean\n                        example: false\n                      isLiked:\n                        type: boolean\n                        example: false\n                      likes:\n                        type: number\n                        example: 0\n                      tags:\n                        type: array\n                        items:\n                          type: string\n                          example: new\n                        example:\n                          - new\n                          - software\n                          - reactjs\n                      updatedAt:\n                        type: string\n                        example: '2023-07-04T09:17:48.597Z'\n                  message:\n                    type: string\n                    example: Post created successfully\n                  statusCode:\n                    type: number\n                    example: 201\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Create a post:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 64a3e3bc9d02a1e3d365f06a\n                      author:\n                        __v: 0\n                        _id: 64a3daef2aaac053bc597395\n                        account:\n                          _id: 64a3daee2aaac053bc59725b\n                          avatar:\n                            _id: 64a3daee2aaac053bc59725c\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/528.jpg\n                          email: rebeka.bashirian@yahoo.com\n                          username: delia_zboncak15\n                        bio: checkbook lover, photographer\n                        countryCode: '+91'\n                        coverImage:\n                          _id: 64a3daef2aaac053bc597394\n                          localPath: ''\n                          url: https://via.placeholder.com/800x450.png\n                        createdAt: '2023-07-04T08:40:15.098Z'\n                        dob: '2014-10-11T03:26:22.966Z'\n                        firstName: Randall\n                        lastName: Ortiz\n                        location: Port Aniyahstad, Aruba\n                        owner: 64a3daee2aaac053bc59725b\n                        phoneNumber: '9928906598'\n                        updatedAt: '2023-07-04T08:41:25.069Z'\n                      comments: 0\n                      content: >-\n                        Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n                        Maecenas sapien libero, bibendum sed semper vel, cursus\n                        ut enim. Sed a lectus eu ligula varius tincidunt vel\n                        vitae odio. Phasellus vel massa odio. Donec in velit eu\n                        eros consequat ultrices nec eu nulla. Sed id molestie\n                        diam, sed suscipit enim. Ut auctor turpis dui, eu\n                        gravida elit molestie nec. Vestibulum posuere eros a\n                        dolor iaculis, sollicitudin ullamcorper nisl\n                        condimentum.\n                      createdAt: '2023-07-04T09:17:48.597Z'\n                      images:\n                        - _id: 64a3e3bc9d02a1e3d365f06b\n                          localPath: public/images/copper-wire168846226828285707.jpeg\n                          url: >-\n                            http://localhost:8080/images/copper-wire168846226828285707.jpeg\n                        - _id: 64a3e3bc9d02a1e3d365f06c\n                          localPath: public/images/bottle168846226828566137.jpg\n                          url: >-\n                            http://localhost:8080/images/bottle168846226828566137.jpg\n                        - _id: 64a3e3bc9d02a1e3d365f06d\n                          localPath: public/images/wood168846226851984630.jpeg\n                          url: >-\n                            http://localhost:8080/images/wood168846226851984630.jpeg\n                      isBookmarked: false\n                      isLiked: false\n                      likes: 0\n                      tags:\n                        - new\n                        - software\n                        - reactjs\n                      updatedAt: '2023-07-04T09:17:48.597Z'\n                    message: Post created successfully\n                    statusCode: 201\n                    success: true\n  /social-media/posts/{postId}:\n    get:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Get post by id\n      description: >-\n        The API endpoint allows users to fetch a post by providing the post ID\n        as a path variable.\n\n\n        By accessing this endpoint and providing a valid post ID, users will\n        receive a response containing the details of the post corresponding to\n        the provided ID.\n      operationId: getPostById\n      responses:\n        '200':\n          description: Get post by id\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '1917'\n            Date:\n              schema:\n                type: string\n                example: Sat, 01 Jul 2023 08:19:22 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"77d-ex8AtzfhFeZ/k5z2S7R1b7xI18Y\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '483'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '590'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 649fe0cfc4a9507d1220eefc\n                      author:\n                        type: object\n                        properties:\n                          __v:\n                            type: number\n                            example: 0\n                          _id:\n                            type: string\n                            example: 649fe0cfc4a9507d1220ec24\n                          account:\n                            type: object\n                            properties:\n                              _id:\n                                type: string\n                                example: 649fe0cec4a9507d1220eb68\n                              avatar:\n                                type: object\n                                properties:\n                                  _id:\n                                    type: string\n                                    example: 649fe0cec4a9507d1220eb69\n                                  localPath:\n                                    type: string\n                                    example: ''\n                                  url:\n                                    type: string\n                                    example: >-\n                                      https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/97.jpg\n                              email:\n                                type: string\n                                example: marietta_hoeger59@gmail.com\n                              username:\n                                type: string\n                                example: joey_boyle24\n                          bio:\n                            type: string\n                            example: squirrel advocate, person 🧊\n                          countryCode:\n                            type: string\n                            example: '+91'\n                          coverImage:\n                            type: object\n                            properties:\n                              _id:\n                                type: string\n                                example: 649fe0cfc4a9507d1220ec23\n                              localPath:\n                                type: string\n                                example: ''\n                              url:\n                                type: string\n                                example: https://via.placeholder.com/800x450.png\n                          createdAt:\n                            type: string\n                            example: '2023-07-01T08:16:15.061Z'\n                          dob:\n                            type: string\n                            example: '2014-01-31T01:46:29.852Z'\n                          firstName:\n                            type: string\n                            example: Arjun\n                          lastName:\n                            type: string\n                            example: Turcotte\n                          location:\n                            type: string\n                            example: Fort Lizatown, Comoros\n                          owner:\n                            type: string\n                            example: 649fe0cec4a9507d1220eb68\n                          phoneNumber:\n                            type: string\n                            example: '9240836201'\n                          updatedAt:\n                            type: string\n                            example: '2023-07-01T08:16:15.847Z'\n                      comments:\n                        type: number\n                        example: 12\n                      content:\n                        type: string\n                        example: >-\n                          Enim odio hic laboriosam tempora quis.\n\n                          Odio asperiores sapiente atque repellendus sunt\n                          nesciunt quae.\n\n                          Non debitis modi aspernatur.\n                      createdAt:\n                        type: string\n                        example: '2023-07-01T08:16:15.910Z'\n                      images:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            _id:\n                              type: string\n                              example: 649fe0cfc4a9507d1220eefd\n                            localPath:\n                              type: string\n                              example: ''\n                            url:\n                              type: string\n                              example: >-\n                                https://loremflickr.com/640/480/food?lock=8384240500604928\n                        example:\n                          - _id: 649fe0cfc4a9507d1220eefd\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/food?lock=8384240500604928\n                          - _id: 649fe0cfc4a9507d1220eefe\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/food?lock=971703482056704\n                          - _id: 649fe0cfc4a9507d1220eeff\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/food?lock=4492503323508736\n                          - _id: 649fe0cfc4a9507d1220ef00\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/food?lock=4290222315536384\n                          - _id: 649fe0cfc4a9507d1220ef01\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/food?lock=3838085238358016\n                          - _id: 649fe0cfc4a9507d1220ef02\n                            localPath: ''\n                            url: >-\n                              https://loremflickr.com/640/480/food?lock=3757971515375616\n                      isBookmarked:\n                        type: boolean\n                        example: false\n                      isLiked:\n                        type: boolean\n                        example: false\n                      likes:\n                        type: number\n                        example: 30\n                      tags:\n                        type: array\n                        items:\n                          type: string\n                          example: officia\n                        example:\n                          - officia\n                          - suscipit\n                          - molestias\n                          - accusantium\n                      updatedAt:\n                        type: string\n                        example: '2023-07-01T08:16:15.910Z'\n                  message:\n                    type: string\n                    example: Post fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get post by id:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 649fe0cfc4a9507d1220eefc\n                      author:\n                        __v: 0\n                        _id: 649fe0cfc4a9507d1220ec24\n                        account:\n                          _id: 649fe0cec4a9507d1220eb68\n                          avatar:\n                            _id: 649fe0cec4a9507d1220eb69\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/97.jpg\n                          email: marietta_hoeger59@gmail.com\n                          username: joey_boyle24\n                        bio: squirrel advocate, person 🧊\n                        countryCode: '+91'\n                        coverImage:\n                          _id: 649fe0cfc4a9507d1220ec23\n                          localPath: ''\n                          url: https://via.placeholder.com/800x450.png\n                        createdAt: '2023-07-01T08:16:15.061Z'\n                        dob: '2014-01-31T01:46:29.852Z'\n                        firstName: Arjun\n                        lastName: Turcotte\n                        location: Fort Lizatown, Comoros\n                        owner: 649fe0cec4a9507d1220eb68\n                        phoneNumber: '9240836201'\n                        updatedAt: '2023-07-01T08:16:15.847Z'\n                      comments: 12\n                      content: >-\n                        Enim odio hic laboriosam tempora quis.\n\n                        Odio asperiores sapiente atque repellendus sunt nesciunt\n                        quae.\n\n                        Non debitis modi aspernatur.\n                      createdAt: '2023-07-01T08:16:15.910Z'\n                      images:\n                        - _id: 649fe0cfc4a9507d1220eefd\n                          localPath: ''\n                          url: >-\n                            https://loremflickr.com/640/480/food?lock=8384240500604928\n                        - _id: 649fe0cfc4a9507d1220eefe\n                          localPath: ''\n                          url: >-\n                            https://loremflickr.com/640/480/food?lock=971703482056704\n                        - _id: 649fe0cfc4a9507d1220eeff\n                          localPath: ''\n                          url: >-\n                            https://loremflickr.com/640/480/food?lock=4492503323508736\n                        - _id: 649fe0cfc4a9507d1220ef00\n                          localPath: ''\n                          url: >-\n                            https://loremflickr.com/640/480/food?lock=4290222315536384\n                        - _id: 649fe0cfc4a9507d1220ef01\n                          localPath: ''\n                          url: >-\n                            https://loremflickr.com/640/480/food?lock=3838085238358016\n                        - _id: 649fe0cfc4a9507d1220ef02\n                          localPath: ''\n                          url: >-\n                            https://loremflickr.com/640/480/food?lock=3757971515375616\n                      isBookmarked: false\n                      isLiked: false\n                      likes: 30\n                      tags:\n                        - officia\n                        - suscipit\n                        - molestias\n                        - accusantium\n                      updatedAt: '2023-07-01T08:16:15.910Z'\n                    message: Post fetched successfully\n                    statusCode: 200\n                    success: true\n    delete:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Delete a post\n      description: >-\n        The API endpoint allows users to delete a post by passing the post ID as\n        a path variable.\n\n\n        By accessing this endpoint and providing the specific post ID in the\n        URL, users can initiate the deletion of the corresponding post.\n      operationId: deleteAPost\n      responses:\n        '200':\n          description: Delete a post\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '81'\n            Date:\n              schema:\n                type: string\n                example: Fri, 23 Jun 2023 07:18:15 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"51-MzcNgyUGWUj2IKc3hDJl3pjOtUc\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            Set-Cookie:\n              schema:\n                type: string\n                example: >-\n                  connect.sid=s%3AycuvGCQVWYNCX8dlriFcFgwDHqpo98bb.2Ubg7qSyw8ovv61T%2BiocLr8tCW4xTb%2BudlHTxocu6HQ;\n                  Path=/; HttpOnly\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties: {}\n                  message:\n                    type: string\n                    example: Post deleted successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Delete a post:\n                  value:\n                    data: {}\n                    message: Post deleted successfully\n                    statusCode: 200\n                    success: true\n    patch:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Update post\n      description: >-\n        The API endpoint allows users to update a post by passing relevant data,\n        along with the post ID as a path variable.\n\n\n        By accessing this endpoint and providing the necessary data and post ID,\n        users can modify and update the content of a specific post.\n\n\n        **NOTE:** All the fields in the body and optional but must not be empty\n        if passed in the body.\n      operationId: updatePost\n      requestBody:\n        content:\n          multipart/form-data:\n            schema:\n              type: object\n              properties:\n                content:\n                  type: string\n                  example: >-\n                    Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n                    Maecenas sapien libero, bibendum sed semper vel, cursus ut\n                    enim. Sed a lectus eu ligula varius tincidunt vel vitae\n                    odio. Phasellus vel massa odio. Donec in velit eu eros\n                    consequat ultrices nec eu nulla.\n                images:\n                  description: Upto 6 total images are allowed per post\n                  type: string\n                  format: binary\n                tags[0]:\n                  type: string\n                  example: updatedTag\n      responses:\n        '200':\n          description: Update post\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '2164'\n            Date:\n              schema:\n                type: string\n                example: Tue, 04 Jul 2023 09:20:28 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"874-pA6J7L+TfSjmkS1Qbo6s20TyuEs\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '491'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '32'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 64a3e3bc9d02a1e3d365f06a\n                      author:\n                        type: object\n                        properties:\n                          __v:\n                            type: number\n                            example: 0\n                          _id:\n                            type: string\n                            example: 64a3daef2aaac053bc597395\n                          account:\n                            type: object\n                            properties:\n                              _id:\n                                type: string\n                                example: 64a3daee2aaac053bc59725b\n                              avatar:\n                                type: object\n                                properties:\n                                  _id:\n                                    type: string\n                                    example: 64a3daee2aaac053bc59725c\n                                  localPath:\n                                    type: string\n                                    example: ''\n                                  url:\n                                    type: string\n                                    example: >-\n                                      https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/528.jpg\n                              email:\n                                type: string\n                                example: rebeka.bashirian@yahoo.com\n                              username:\n                                type: string\n                                example: delia_zboncak15\n                          bio:\n                            type: string\n                            example: checkbook lover, photographer\n                          countryCode:\n                            type: string\n                            example: '+91'\n                          coverImage:\n                            type: object\n                            properties:\n                              _id:\n                                type: string\n                                example: 64a3daef2aaac053bc597394\n                              localPath:\n                                type: string\n                                example: ''\n                              url:\n                                type: string\n                                example: https://via.placeholder.com/800x450.png\n                          createdAt:\n                            type: string\n                            example: '2023-07-04T08:40:15.098Z'\n                          dob:\n                            type: string\n                            example: '2014-10-11T03:26:22.966Z'\n                          firstName:\n                            type: string\n                            example: Randall\n                          lastName:\n                            type: string\n                            example: Ortiz\n                          location:\n                            type: string\n                            example: Port Aniyahstad, Aruba\n                          owner:\n                            type: string\n                            example: 64a3daee2aaac053bc59725b\n                          phoneNumber:\n                            type: string\n                            example: '9928906598'\n                          updatedAt:\n                            type: string\n                            example: '2023-07-04T08:41:25.069Z'\n                      comments:\n                        type: number\n                        example: 0\n                      content:\n                        type: string\n                        example: >-\n                          Lorem ipsum dolor sit amet, consectetur adipiscing\n                          elit. Maecenas sapien libero, bibendum sed semper vel,\n                          cursus ut enim. Sed a lectus eu ligula varius\n                          tincidunt vel vitae odio. Phasellus vel massa odio.\n                          Donec in velit eu eros consequat ultrices nec eu\n                          nulla.\n                      createdAt:\n                        type: string\n                        example: '2023-07-04T09:17:48.597Z'\n                      images:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            _id:\n                              type: string\n                              example: 64a3e3bc9d02a1e3d365f06b\n                            localPath:\n                              type: string\n                              example: public/images/copper-wire168846226828285707.jpeg\n                            url:\n                              type: string\n                              example: >-\n                                http://localhost:8080/images/copper-wire168846226828285707.jpeg\n                        example:\n                          - _id: 64a3e3bc9d02a1e3d365f06b\n                            localPath: public/images/copper-wire168846226828285707.jpeg\n                            url: >-\n                              http://localhost:8080/images/copper-wire168846226828285707.jpeg\n                          - _id: 64a3e3bc9d02a1e3d365f06c\n                            localPath: public/images/bottle168846226828566137.jpg\n                            url: >-\n                              http://localhost:8080/images/bottle168846226828566137.jpg\n                          - _id: 64a3e3bc9d02a1e3d365f06d\n                            localPath: public/images/wood168846226851984630.jpeg\n                            url: >-\n                              http://localhost:8080/images/wood168846226851984630.jpeg\n                          - _id: 64a3e45c9d02a1e3d365f08d\n                            localPath: public/images/plastic168846242818670457.jpeg\n                            url: >-\n                              http://localhost:8080/images/plastic168846242818670457.jpeg\n                      isBookmarked:\n                        type: boolean\n                        example: false\n                      isLiked:\n                        type: boolean\n                        example: false\n                      likes:\n                        type: number\n                        example: 0\n                      tags:\n                        type: array\n                        items:\n                          type: string\n                          example: new\n                        example:\n                          - new\n                          - software\n                          - reactjs\n                      updatedAt:\n                        type: string\n                        example: '2023-07-04T09:20:28.210Z'\n                  message:\n                    type: string\n                    example: Post updated successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Update post:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 64a3e3bc9d02a1e3d365f06a\n                      author:\n                        __v: 0\n                        _id: 64a3daef2aaac053bc597395\n                        account:\n                          _id: 64a3daee2aaac053bc59725b\n                          avatar:\n                            _id: 64a3daee2aaac053bc59725c\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/528.jpg\n                          email: rebeka.bashirian@yahoo.com\n                          username: delia_zboncak15\n                        bio: checkbook lover, photographer\n                        countryCode: '+91'\n                        coverImage:\n                          _id: 64a3daef2aaac053bc597394\n                          localPath: ''\n                          url: https://via.placeholder.com/800x450.png\n                        createdAt: '2023-07-04T08:40:15.098Z'\n                        dob: '2014-10-11T03:26:22.966Z'\n                        firstName: Randall\n                        lastName: Ortiz\n                        location: Port Aniyahstad, Aruba\n                        owner: 64a3daee2aaac053bc59725b\n                        phoneNumber: '9928906598'\n                        updatedAt: '2023-07-04T08:41:25.069Z'\n                      comments: 0\n                      content: >-\n                        Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n                        Maecenas sapien libero, bibendum sed semper vel, cursus\n                        ut enim. Sed a lectus eu ligula varius tincidunt vel\n                        vitae odio. Phasellus vel massa odio. Donec in velit eu\n                        eros consequat ultrices nec eu nulla.\n                      createdAt: '2023-07-04T09:17:48.597Z'\n                      images:\n                        - _id: 64a3e3bc9d02a1e3d365f06b\n                          localPath: public/images/copper-wire168846226828285707.jpeg\n                          url: >-\n                            http://localhost:8080/images/copper-wire168846226828285707.jpeg\n                        - _id: 64a3e3bc9d02a1e3d365f06c\n                          localPath: public/images/bottle168846226828566137.jpg\n                          url: >-\n                            http://localhost:8080/images/bottle168846226828566137.jpg\n                        - _id: 64a3e3bc9d02a1e3d365f06d\n                          localPath: public/images/wood168846226851984630.jpeg\n                          url: >-\n                            http://localhost:8080/images/wood168846226851984630.jpeg\n                        - _id: 64a3e45c9d02a1e3d365f08d\n                          localPath: public/images/plastic168846242818670457.jpeg\n                          url: >-\n                            http://localhost:8080/images/plastic168846242818670457.jpeg\n                      isBookmarked: false\n                      isLiked: false\n                      likes: 0\n                      tags:\n                        - new\n                        - software\n                        - reactjs\n                      updatedAt: '2023-07-04T09:20:28.210Z'\n                    message: Post updated successfully\n                    statusCode: 200\n                    success: true\n        '400':\n          description: Maximum post images limit exceeded\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '442'\n            Date:\n              schema:\n                type: string\n                example: Wed, 12 Jul 2023 10:47:53 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1ba-GWZ5qSMDV66WbkknzuVEhycGd0E\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '476'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '686'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    nullable: true\n                    example: null\n                  errors:\n                    type: array\n                    items: {}\n                    example: []\n                  message:\n                    type: string\n                    example: >-\n                      Maximum 6 images are allowed for a post. There are already\n                      6 images attached to the post.\n                  stack:\n                    type: string\n                    example: >-\n                      Error: Maximum 6 images are allowed for a post. There are\n                      already 6 images attached to the post.\n                          at file:///usr/src/freeapi/src/controllers/apps/social-media/post.controllers.js:219:11\n                          at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n                  statusCode:\n                    type: number\n                    example: 400\n                  success:\n                    type: boolean\n                    example: false\n              examples:\n                Maximum post images limit exceeded:\n                  value:\n                    data: null\n                    errors: []\n                    message: >-\n                      Maximum 6 images are allowed for a post. There are already\n                      6 images attached to the post.\n                    stack: >-\n                      Error: Maximum 6 images are allowed for a post. There are\n                      already 6 images attached to the post.\n                          at file:///usr/src/freeapi/src/controllers/apps/social-media/post.controllers.js:219:11\n                          at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n                    statusCode: 400\n                    success: false\n    parameters:\n      - name: postId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 6495426ed02af5a73904db67\n  /social-media/posts/get/my:\n    get:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Get my posts\n      description: >-\n        The API endpoint allows a logged-in user to fetch their own posts, which\n        can be displayed on the \"My Profile\" page of the frontend.\n\n\n        When accessing this endpoint, the logged-in user's accessToken is used\n        to authenticate and retrieve their specific posts from the backend.\n      operationId: getMyPosts\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '10'\n      responses:\n        '200':\n          description: Get my posts\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '2081'\n            Date:\n              schema:\n                type: string\n                example: Sat, 01 Jul 2023 08:19:08 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"821-vFNS5oZTU1PkQdckWgfmNPOB+g8\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '484'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '604'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      hasNextPage:\n                        type: boolean\n                        example: false\n                      hasPrevPage:\n                        type: boolean\n                        example: false\n                      limit:\n                        type: number\n                        example: 10\n                      nextPage:\n                        nullable: true\n                        example: null\n                      page:\n                        type: number\n                        example: 1\n                      posts:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            __v:\n                              type: number\n                              example: 0\n                            _id:\n                              type: string\n                              example: 649fe0cfc4a9507d1220eefc\n                            author:\n                              type: object\n                              properties:\n                                __v:\n                                  type: number\n                                  example: 0\n                                _id:\n                                  type: string\n                                  example: 649fe0cfc4a9507d1220ec24\n                                account:\n                                  type: object\n                                  properties:\n                                    _id:\n                                      type: string\n                                      example: 649fe0cec4a9507d1220eb68\n                                    avatar:\n                                      type: object\n                                      properties:\n                                        _id:\n                                          type: string\n                                          example: 649fe0cec4a9507d1220eb69\n                                        localPath:\n                                          type: string\n                                          example: ''\n                                        url:\n                                          type: string\n                                          example: >-\n                                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/97.jpg\n                                    email:\n                                      type: string\n                                      example: marietta_hoeger59@gmail.com\n                                    username:\n                                      type: string\n                                      example: joey_boyle24\n                                bio:\n                                  type: string\n                                  example: squirrel advocate, person 🧊\n                                countryCode:\n                                  type: string\n                                  example: '+91'\n                                coverImage:\n                                  type: object\n                                  properties:\n                                    _id:\n                                      type: string\n                                      example: 649fe0cfc4a9507d1220ec23\n                                    localPath:\n                                      type: string\n                                      example: ''\n                                    url:\n                                      type: string\n                                      example: https://via.placeholder.com/800x450.png\n                                createdAt:\n                                  type: string\n                                  example: '2023-07-01T08:16:15.061Z'\n                                dob:\n                                  type: string\n                                  example: '2014-01-31T01:46:29.852Z'\n                                firstName:\n                                  type: string\n                                  example: Arjun\n                                lastName:\n                                  type: string\n                                  example: Turcotte\n                                location:\n                                  type: string\n                                  example: Fort Lizatown, Comoros\n                                owner:\n                                  type: string\n                                  example: 649fe0cec4a9507d1220eb68\n                                phoneNumber:\n                                  type: string\n                                  example: '9240836201'\n                                updatedAt:\n                                  type: string\n                                  example: '2023-07-01T08:16:15.847Z'\n                            comments:\n                              type: number\n                              example: 12\n                            content:\n                              type: string\n                              example: >-\n                                Enim odio hic laboriosam tempora quis.\n\n                                Odio asperiores sapiente atque repellendus sunt\n                                nesciunt quae.\n\n                                Non debitis modi aspernatur.\n                            createdAt:\n                              type: string\n                              example: '2023-07-01T08:16:15.910Z'\n                            images:\n                              type: array\n                              items:\n                                type: object\n                                properties:\n                                  _id:\n                                    type: string\n                                    example: 649fe0cfc4a9507d1220eefd\n                                  localPath:\n                                    type: string\n                                    example: ''\n                                  url:\n                                    type: string\n                                    example: >-\n                                      https://loremflickr.com/640/480/food?lock=8384240500604928\n                              example:\n                                - _id: 649fe0cfc4a9507d1220eefd\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=8384240500604928\n                                - _id: 649fe0cfc4a9507d1220eefe\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=971703482056704\n                                - _id: 649fe0cfc4a9507d1220eeff\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=4492503323508736\n                                - _id: 649fe0cfc4a9507d1220ef00\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=4290222315536384\n                                - _id: 649fe0cfc4a9507d1220ef01\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=3838085238358016\n                                - _id: 649fe0cfc4a9507d1220ef02\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=3757971515375616\n                            isBookmarked:\n                              type: boolean\n                              example: false\n                            isLiked:\n                              type: boolean\n                              example: false\n                            likes:\n                              type: number\n                              example: 30\n                            tags:\n                              type: array\n                              items:\n                                type: string\n                                example: officia\n                              example:\n                                - officia\n                                - suscipit\n                                - molestias\n                                - accusantium\n                            updatedAt:\n                              type: string\n                              example: '2023-07-01T08:16:15.910Z'\n                        example:\n                          - __v: 0\n                            _id: 649fe0cfc4a9507d1220eefc\n                            author:\n                              __v: 0\n                              _id: 649fe0cfc4a9507d1220ec24\n                              account:\n                                _id: 649fe0cec4a9507d1220eb68\n                                avatar:\n                                  _id: 649fe0cec4a9507d1220eb69\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/97.jpg\n                                email: marietta_hoeger59@gmail.com\n                                username: joey_boyle24\n                              bio: squirrel advocate, person 🧊\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 649fe0cfc4a9507d1220ec23\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-01T08:16:15.061Z'\n                              dob: '2014-01-31T01:46:29.852Z'\n                              firstName: Arjun\n                              lastName: Turcotte\n                              location: Fort Lizatown, Comoros\n                              owner: 649fe0cec4a9507d1220eb68\n                              phoneNumber: '9240836201'\n                              updatedAt: '2023-07-01T08:16:15.847Z'\n                            comments: 12\n                            content: >-\n                              Enim odio hic laboriosam tempora quis.\n\n                              Odio asperiores sapiente atque repellendus sunt\n                              nesciunt quae.\n\n                              Non debitis modi aspernatur.\n                            createdAt: '2023-07-01T08:16:15.910Z'\n                            images:\n                              - _id: 649fe0cfc4a9507d1220eefd\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=8384240500604928\n                              - _id: 649fe0cfc4a9507d1220eefe\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=971703482056704\n                              - _id: 649fe0cfc4a9507d1220eeff\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=4492503323508736\n                              - _id: 649fe0cfc4a9507d1220ef00\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=4290222315536384\n                              - _id: 649fe0cfc4a9507d1220ef01\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=3838085238358016\n                              - _id: 649fe0cfc4a9507d1220ef02\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=3757971515375616\n                            isBookmarked: false\n                            isLiked: false\n                            likes: 30\n                            tags:\n                              - officia\n                              - suscipit\n                              - molestias\n                              - accusantium\n                            updatedAt: '2023-07-01T08:16:15.910Z'\n                      prevPage:\n                        nullable: true\n                        example: null\n                      serialNumberStartFrom:\n                        type: number\n                        example: 1\n                      totalPages:\n                        type: number\n                        example: 1\n                      totalPosts:\n                        type: number\n                        example: 1\n                  message:\n                    type: string\n                    example: My posts fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get my posts:\n                  value:\n                    data:\n                      hasNextPage: false\n                      hasPrevPage: false\n                      limit: 10\n                      nextPage: null\n                      page: 1\n                      posts:\n                        - __v: 0\n                          _id: 649fe0cfc4a9507d1220eefc\n                          author:\n                            __v: 0\n                            _id: 649fe0cfc4a9507d1220ec24\n                            account:\n                              _id: 649fe0cec4a9507d1220eb68\n                              avatar:\n                                _id: 649fe0cec4a9507d1220eb69\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/97.jpg\n                              email: marietta_hoeger59@gmail.com\n                              username: joey_boyle24\n                            bio: squirrel advocate, person 🧊\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 649fe0cfc4a9507d1220ec23\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-01T08:16:15.061Z'\n                            dob: '2014-01-31T01:46:29.852Z'\n                            firstName: Arjun\n                            lastName: Turcotte\n                            location: Fort Lizatown, Comoros\n                            owner: 649fe0cec4a9507d1220eb68\n                            phoneNumber: '9240836201'\n                            updatedAt: '2023-07-01T08:16:15.847Z'\n                          comments: 12\n                          content: >-\n                            Enim odio hic laboriosam tempora quis.\n\n                            Odio asperiores sapiente atque repellendus sunt\n                            nesciunt quae.\n\n                            Non debitis modi aspernatur.\n                          createdAt: '2023-07-01T08:16:15.910Z'\n                          images:\n                            - _id: 649fe0cfc4a9507d1220eefd\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=8384240500604928\n                            - _id: 649fe0cfc4a9507d1220eefe\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=971703482056704\n                            - _id: 649fe0cfc4a9507d1220eeff\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=4492503323508736\n                            - _id: 649fe0cfc4a9507d1220ef00\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=4290222315536384\n                            - _id: 649fe0cfc4a9507d1220ef01\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=3838085238358016\n                            - _id: 649fe0cfc4a9507d1220ef02\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=3757971515375616\n                          isBookmarked: false\n                          isLiked: false\n                          likes: 30\n                          tags:\n                            - officia\n                            - suscipit\n                            - molestias\n                            - accusantium\n                          updatedAt: '2023-07-01T08:16:15.910Z'\n                      prevPage: null\n                      serialNumberStartFrom: 1\n                      totalPages: 1\n                      totalPosts: 1\n                    message: My posts fetched successfully\n                    statusCode: 200\n                    success: true\n  /social-media/posts/get/u/{username}:\n    get:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Get posts by username\n      description: >-\n        The API endpoint allows users to fetch posts of other users by passing\n        the username as a path variable.\n\n\n        When accessing this endpoint and providing a valid username as a\n        parameter, you will receive a response containing the posts associated\n        with the specified username.\n      operationId: getPostsByUsername\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '3'\n      responses:\n        '200':\n          description: Get posts by username\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '5895'\n            Date:\n              schema:\n                type: string\n                example: Tue, 04 Jul 2023 08:41:58 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1707-KCMiHWRTeDCxK2uDF4ErguYnEV8\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '496'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '865'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      hasNextPage:\n                        type: boolean\n                        example: true\n                      hasPrevPage:\n                        type: boolean\n                        example: false\n                      limit:\n                        type: number\n                        example: 3\n                      nextPage:\n                        type: number\n                        example: 2\n                      page:\n                        type: number\n                        example: 1\n                      posts:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            __v:\n                              type: number\n                              example: 0\n                            _id:\n                              type: string\n                              example: 64a3db356b55dac333b0413d\n                            author:\n                              type: object\n                              properties:\n                                __v:\n                                  type: number\n                                  example: 0\n                                _id:\n                                  type: string\n                                  example: 64a3daee2aaac053bc5972fe\n                                account:\n                                  type: object\n                                  properties:\n                                    _id:\n                                      type: string\n                                      example: 64a3daee2aaac053bc597261\n                                    avatar:\n                                      type: object\n                                      properties:\n                                        _id:\n                                          type: string\n                                          example: 64a3daee2aaac053bc597262\n                                        localPath:\n                                          type: string\n                                          example: ''\n                                        url:\n                                          type: string\n                                          example: >-\n                                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/467.jpg\n                                    email:\n                                      type: string\n                                      example: shaniya.sawayn@gmail.com\n                                    username:\n                                      type: string\n                                      example: juana.kuhn\n                                bio:\n                                  type: string\n                                  example: artist, singer, environmentalist\n                                countryCode:\n                                  type: string\n                                  example: '+91'\n                                coverImage:\n                                  type: object\n                                  properties:\n                                    _id:\n                                      type: string\n                                      example: 64a3daee2aaac053bc5972fd\n                                    localPath:\n                                      type: string\n                                      example: ''\n                                    url:\n                                      type: string\n                                      example: https://via.placeholder.com/800x450.png\n                                createdAt:\n                                  type: string\n                                  example: '2023-07-04T08:40:14.894Z'\n                                dob:\n                                  type: string\n                                  example: '2017-08-24T19:39:56.235Z'\n                                firstName:\n                                  type: string\n                                  example: Mercedes\n                                lastName:\n                                  type: string\n                                  example: Hauck\n                                location:\n                                  type: string\n                                  example: San Marcos, Faroe Islands\n                                owner:\n                                  type: string\n                                  example: 64a3daee2aaac053bc597261\n                                phoneNumber:\n                                  type: string\n                                  example: '9508373175'\n                                updatedAt:\n                                  type: string\n                                  example: '2023-07-04T08:41:25.067Z'\n                            comments:\n                              type: number\n                              example: 2\n                            content:\n                              type: string\n                              example: >-\n                                Nobis voluptates commodi fuga fugit illum.\n\n                                Sapiente provident numquam.\n\n                                Ad ipsum explicabo recusandae voluptas esse.\n\n                                Sunt dolores rerum quos et hic nemo aut\n                                officiis.\n                            createdAt:\n                              type: string\n                              example: '2023-07-04T08:41:25.251Z'\n                            images:\n                              type: array\n                              items:\n                                type: object\n                                properties:\n                                  _id:\n                                    type: string\n                                    example: 64a3db356b55dac333b0413e\n                                  localPath:\n                                    type: string\n                                    example: ''\n                                  url:\n                                    type: string\n                                    example: >-\n                                      https://loremflickr.com/640/480/food?lock=7724182502637568\n                              example:\n                                - _id: 64a3db356b55dac333b0413e\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=7724182502637568\n                                - _id: 64a3db356b55dac333b0413f\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=4462542615216128\n                                - _id: 64a3db356b55dac333b04140\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=1111653196234752\n                                - _id: 64a3db356b55dac333b04141\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=6793340529934336\n                                - _id: 64a3db356b55dac333b04142\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=3233604247224320\n                                - _id: 64a3db356b55dac333b04143\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=4645562185940992\n                            isBookmarked:\n                              type: boolean\n                              example: false\n                            isLiked:\n                              type: boolean\n                              example: false\n                            likes:\n                              type: number\n                              example: 12\n                            tags:\n                              type: array\n                              items:\n                                type: string\n                                example: repellat\n                              example:\n                                - repellat\n                                - nesciunt\n                                - perferendis\n                                - quae\n                                - facilis\n                            updatedAt:\n                              type: string\n                              example: '2023-07-04T08:41:25.251Z'\n                        example:\n                          - __v: 0\n                            _id: 64a3db356b55dac333b0413d\n                            author:\n                              __v: 0\n                              _id: 64a3daee2aaac053bc5972fe\n                              account:\n                                _id: 64a3daee2aaac053bc597261\n                                avatar:\n                                  _id: 64a3daee2aaac053bc597262\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/467.jpg\n                                email: shaniya.sawayn@gmail.com\n                                username: juana.kuhn\n                              bio: artist, singer, environmentalist\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 64a3daee2aaac053bc5972fd\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-04T08:40:14.894Z'\n                              dob: '2017-08-24T19:39:56.235Z'\n                              firstName: Mercedes\n                              lastName: Hauck\n                              location: San Marcos, Faroe Islands\n                              owner: 64a3daee2aaac053bc597261\n                              phoneNumber: '9508373175'\n                              updatedAt: '2023-07-04T08:41:25.067Z'\n                            comments: 2\n                            content: |-\n                              Nobis voluptates commodi fuga fugit illum.\n                              Sapiente provident numquam.\n                              Ad ipsum explicabo recusandae voluptas esse.\n                              Sunt dolores rerum quos et hic nemo aut officiis.\n                            createdAt: '2023-07-04T08:41:25.251Z'\n                            images:\n                              - _id: 64a3db356b55dac333b0413e\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=7724182502637568\n                              - _id: 64a3db356b55dac333b0413f\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=4462542615216128\n                              - _id: 64a3db356b55dac333b04140\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=1111653196234752\n                              - _id: 64a3db356b55dac333b04141\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=6793340529934336\n                              - _id: 64a3db356b55dac333b04142\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=3233604247224320\n                              - _id: 64a3db356b55dac333b04143\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=4645562185940992\n                            isBookmarked: false\n                            isLiked: false\n                            likes: 12\n                            tags:\n                              - repellat\n                              - nesciunt\n                              - perferendis\n                              - quae\n                              - facilis\n                            updatedAt: '2023-07-04T08:41:25.251Z'\n                          - __v: 0\n                            _id: 64a3db356b55dac333b04312\n                            author:\n                              __v: 0\n                              _id: 64a3daee2aaac053bc5972fe\n                              account:\n                                _id: 64a3daee2aaac053bc597261\n                                avatar:\n                                  _id: 64a3daee2aaac053bc597262\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/467.jpg\n                                email: shaniya.sawayn@gmail.com\n                                username: juana.kuhn\n                              bio: artist, singer, environmentalist\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 64a3daee2aaac053bc5972fd\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-04T08:40:14.894Z'\n                              dob: '2017-08-24T19:39:56.235Z'\n                              firstName: Mercedes\n                              lastName: Hauck\n                              location: San Marcos, Faroe Islands\n                              owner: 64a3daee2aaac053bc597261\n                              phoneNumber: '9508373175'\n                              updatedAt: '2023-07-04T08:41:25.067Z'\n                            comments: 2\n                            content: >-\n                              Voluptatem necessitatibus occaecati pariatur\n                              placeat corrupti vel.\n\n                              Mollitia id ipsum dignissimos ipsam occaecati.\n\n                              Delectus minus doloremque voluptate quis.\n\n                              Eos omnis corrupti nobis asperiores odio vero\n                              quidem temporibus officiis.\n\n                              Sit libero ut sed at quisquam et.\n                            createdAt: '2023-07-04T08:41:25.259Z'\n                            images:\n                              - _id: 64a3db356b55dac333b04313\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=3664980717076480\n                              - _id: 64a3db356b55dac333b04314\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=3307405410566144\n                              - _id: 64a3db356b55dac333b04315\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=1635065891127296\n                              - _id: 64a3db356b55dac333b04316\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=2434672227254272\n                              - _id: 64a3db356b55dac333b04317\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=8333556384268288\n                              - _id: 64a3db356b55dac333b04318\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=6559313713692672\n                            isBookmarked: false\n                            isLiked: false\n                            likes: 10\n                            tags:\n                              - neque\n                              - similique\n                              - blanditiis\n                              - iste\n                              - rem\n                            updatedAt: '2023-07-04T08:41:25.259Z'\n                          - __v: 0\n                            _id: 64a3db356b55dac333b043d6\n                            author:\n                              __v: 0\n                              _id: 64a3daee2aaac053bc5972fe\n                              account:\n                                _id: 64a3daee2aaac053bc597261\n                                avatar:\n                                  _id: 64a3daee2aaac053bc597262\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/467.jpg\n                                email: shaniya.sawayn@gmail.com\n                                username: juana.kuhn\n                              bio: artist, singer, environmentalist\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 64a3daee2aaac053bc5972fd\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-04T08:40:14.894Z'\n                              dob: '2017-08-24T19:39:56.235Z'\n                              firstName: Mercedes\n                              lastName: Hauck\n                              location: San Marcos, Faroe Islands\n                              owner: 64a3daee2aaac053bc597261\n                              phoneNumber: '9508373175'\n                              updatedAt: '2023-07-04T08:41:25.067Z'\n                            comments: 5\n                            content: >-\n                              Tenetur pariatur minus praesentium velit dolore ad\n                              tenetur perspiciatis.\n\n                              Iure dolorem amet laudantium.\n                            createdAt: '2023-07-04T08:41:25.263Z'\n                            images:\n                              - _id: 64a3db356b55dac333b043d7\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=1143120280420352\n                              - _id: 64a3db356b55dac333b043d8\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=2449359585148928\n                              - _id: 64a3db356b55dac333b043d9\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=803146731356160\n                              - _id: 64a3db356b55dac333b043da\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=6138326016851968\n                              - _id: 64a3db356b55dac333b043db\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=964871675969536\n                              - _id: 64a3db356b55dac333b043dc\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=1353891364995072\n                            isBookmarked: false\n                            isLiked: false\n                            likes: 6\n                            tags:\n                              - nisi\n                              - pariatur\n                              - rem\n                              - asperiores\n                            updatedAt: '2023-07-04T08:41:25.263Z'\n                      prevPage:\n                        nullable: true\n                        example: null\n                      serialNumberStartFrom:\n                        type: number\n                        example: 1\n                      totalPages:\n                        type: number\n                        example: 2\n                      totalPosts:\n                        type: number\n                        example: 5\n                  message:\n                    type: string\n                    example: User's posts fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get posts by username:\n                  value:\n                    data:\n                      hasNextPage: true\n                      hasPrevPage: false\n                      limit: 3\n                      nextPage: 2\n                      page: 1\n                      posts:\n                        - __v: 0\n                          _id: 64a3db356b55dac333b0413d\n                          author:\n                            __v: 0\n                            _id: 64a3daee2aaac053bc5972fe\n                            account:\n                              _id: 64a3daee2aaac053bc597261\n                              avatar:\n                                _id: 64a3daee2aaac053bc597262\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/467.jpg\n                              email: shaniya.sawayn@gmail.com\n                              username: juana.kuhn\n                            bio: artist, singer, environmentalist\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 64a3daee2aaac053bc5972fd\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-04T08:40:14.894Z'\n                            dob: '2017-08-24T19:39:56.235Z'\n                            firstName: Mercedes\n                            lastName: Hauck\n                            location: San Marcos, Faroe Islands\n                            owner: 64a3daee2aaac053bc597261\n                            phoneNumber: '9508373175'\n                            updatedAt: '2023-07-04T08:41:25.067Z'\n                          comments: 2\n                          content: |-\n                            Nobis voluptates commodi fuga fugit illum.\n                            Sapiente provident numquam.\n                            Ad ipsum explicabo recusandae voluptas esse.\n                            Sunt dolores rerum quos et hic nemo aut officiis.\n                          createdAt: '2023-07-04T08:41:25.251Z'\n                          images:\n                            - _id: 64a3db356b55dac333b0413e\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=7724182502637568\n                            - _id: 64a3db356b55dac333b0413f\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=4462542615216128\n                            - _id: 64a3db356b55dac333b04140\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=1111653196234752\n                            - _id: 64a3db356b55dac333b04141\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=6793340529934336\n                            - _id: 64a3db356b55dac333b04142\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=3233604247224320\n                            - _id: 64a3db356b55dac333b04143\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=4645562185940992\n                          isBookmarked: false\n                          isLiked: false\n                          likes: 12\n                          tags:\n                            - repellat\n                            - nesciunt\n                            - perferendis\n                            - quae\n                            - facilis\n                          updatedAt: '2023-07-04T08:41:25.251Z'\n                        - __v: 0\n                          _id: 64a3db356b55dac333b04312\n                          author:\n                            __v: 0\n                            _id: 64a3daee2aaac053bc5972fe\n                            account:\n                              _id: 64a3daee2aaac053bc597261\n                              avatar:\n                                _id: 64a3daee2aaac053bc597262\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/467.jpg\n                              email: shaniya.sawayn@gmail.com\n                              username: juana.kuhn\n                            bio: artist, singer, environmentalist\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 64a3daee2aaac053bc5972fd\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-04T08:40:14.894Z'\n                            dob: '2017-08-24T19:39:56.235Z'\n                            firstName: Mercedes\n                            lastName: Hauck\n                            location: San Marcos, Faroe Islands\n                            owner: 64a3daee2aaac053bc597261\n                            phoneNumber: '9508373175'\n                            updatedAt: '2023-07-04T08:41:25.067Z'\n                          comments: 2\n                          content: >-\n                            Voluptatem necessitatibus occaecati pariatur placeat\n                            corrupti vel.\n\n                            Mollitia id ipsum dignissimos ipsam occaecati.\n\n                            Delectus minus doloremque voluptate quis.\n\n                            Eos omnis corrupti nobis asperiores odio vero quidem\n                            temporibus officiis.\n\n                            Sit libero ut sed at quisquam et.\n                          createdAt: '2023-07-04T08:41:25.259Z'\n                          images:\n                            - _id: 64a3db356b55dac333b04313\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=3664980717076480\n                            - _id: 64a3db356b55dac333b04314\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=3307405410566144\n                            - _id: 64a3db356b55dac333b04315\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=1635065891127296\n                            - _id: 64a3db356b55dac333b04316\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=2434672227254272\n                            - _id: 64a3db356b55dac333b04317\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=8333556384268288\n                            - _id: 64a3db356b55dac333b04318\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=6559313713692672\n                          isBookmarked: false\n                          isLiked: false\n                          likes: 10\n                          tags:\n                            - neque\n                            - similique\n                            - blanditiis\n                            - iste\n                            - rem\n                          updatedAt: '2023-07-04T08:41:25.259Z'\n                        - __v: 0\n                          _id: 64a3db356b55dac333b043d6\n                          author:\n                            __v: 0\n                            _id: 64a3daee2aaac053bc5972fe\n                            account:\n                              _id: 64a3daee2aaac053bc597261\n                              avatar:\n                                _id: 64a3daee2aaac053bc597262\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/467.jpg\n                              email: shaniya.sawayn@gmail.com\n                              username: juana.kuhn\n                            bio: artist, singer, environmentalist\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 64a3daee2aaac053bc5972fd\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-04T08:40:14.894Z'\n                            dob: '2017-08-24T19:39:56.235Z'\n                            firstName: Mercedes\n                            lastName: Hauck\n                            location: San Marcos, Faroe Islands\n                            owner: 64a3daee2aaac053bc597261\n                            phoneNumber: '9508373175'\n                            updatedAt: '2023-07-04T08:41:25.067Z'\n                          comments: 5\n                          content: >-\n                            Tenetur pariatur minus praesentium velit dolore ad\n                            tenetur perspiciatis.\n\n                            Iure dolorem amet laudantium.\n                          createdAt: '2023-07-04T08:41:25.263Z'\n                          images:\n                            - _id: 64a3db356b55dac333b043d7\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=1143120280420352\n                            - _id: 64a3db356b55dac333b043d8\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=2449359585148928\n                            - _id: 64a3db356b55dac333b043d9\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=803146731356160\n                            - _id: 64a3db356b55dac333b043da\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=6138326016851968\n                            - _id: 64a3db356b55dac333b043db\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=964871675969536\n                            - _id: 64a3db356b55dac333b043dc\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=1353891364995072\n                          isBookmarked: false\n                          isLiked: false\n                          likes: 6\n                          tags:\n                            - nisi\n                            - pariatur\n                            - rem\n                            - asperiores\n                          updatedAt: '2023-07-04T08:41:25.263Z'\n                      prevPage: null\n                      serialNumberStartFrom: 1\n                      totalPages: 2\n                      totalPosts: 5\n                    message: User's posts fetched successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: username\n        in: path\n        required: true\n        schema:\n          type: string\n          example: santos82\n  /social-media/posts/get/t/{tag}:\n    get:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Get posts by tag\n      description: >-\n        The API endpoint allows users to retrieve posts by passing a tag name as\n        a path variable.\n\n\n        When accessing this endpoint and providing a valid tag name as part of\n        the URL, the API will return a response containing posts that are\n        associated with the specified tag.\n      operationId: getPostsByTag\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '3'\n      responses:\n        '200':\n          description: Get posts by tag\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '5987'\n            Date:\n              schema:\n                type: string\n                example: Tue, 04 Jul 2023 09:01:56 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1763-CmM79p231aEgfQITtdAM8wlBL/Y\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '494'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '818'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      hasNextPage:\n                        type: boolean\n                        example: true\n                      hasPrevPage:\n                        type: boolean\n                        example: false\n                      limit:\n                        type: number\n                        example: 3\n                      nextPage:\n                        type: number\n                        example: 2\n                      page:\n                        type: number\n                        example: 1\n                      posts:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            __v:\n                              type: number\n                              example: 0\n                            _id:\n                              type: string\n                              example: 64a3db356b55dac333b04183\n                            author:\n                              type: object\n                              properties:\n                                __v:\n                                  type: number\n                                  example: 0\n                                _id:\n                                  type: string\n                                  example: 64a3daef2aaac053bc59735e\n                                account:\n                                  type: object\n                                  properties:\n                                    _id:\n                                      type: string\n                                      example: 64a3daee2aaac053bc597279\n                                    avatar:\n                                      type: object\n                                      properties:\n                                        _id:\n                                          type: string\n                                          example: 64a3daee2aaac053bc59727a\n                                        localPath:\n                                          type: string\n                                          example: ''\n                                        url:\n                                          type: string\n                                          example: >-\n                                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/613.jpg\n                                    email:\n                                      type: string\n                                      example: jess_douglas77@gmail.com\n                                    username:\n                                      type: string\n                                      example: dakota18\n                                bio:\n                                  type: string\n                                  example: thrush junkie  🤟🏾\n                                countryCode:\n                                  type: string\n                                  example: '+91'\n                                coverImage:\n                                  type: object\n                                  properties:\n                                    _id:\n                                      type: string\n                                      example: 64a3daef2aaac053bc59735d\n                                    localPath:\n                                      type: string\n                                      example: ''\n                                    url:\n                                      type: string\n                                      example: https://via.placeholder.com/800x450.png\n                                createdAt:\n                                  type: string\n                                  example: '2023-07-04T08:40:15.022Z'\n                                dob:\n                                  type: string\n                                  example: '2007-03-26T23:56:31.588Z'\n                                firstName:\n                                  type: string\n                                  example: Alba\n                                lastName:\n                                  type: string\n                                  example: Mertz\n                                location:\n                                  type: string\n                                  example: Aaronchester, Djibouti\n                                owner:\n                                  type: string\n                                  example: 64a3daee2aaac053bc597279\n                                phoneNumber:\n                                  type: string\n                                  example: '9071381869'\n                                updatedAt:\n                                  type: string\n                                  example: '2023-07-04T08:41:25.069Z'\n                            comments:\n                              type: number\n                              example: 3\n                            content:\n                              type: string\n                              example: >-\n                                Tenetur vitae ex dolores delectus sunt fuga\n                                laborum.\n\n                                Ipsa natus eum ea.\n\n                                Perferendis quae iusto molestiae aperiam\n                                voluptatem mollitia.\n\n                                Mollitia officia voluptatem incidunt adipisci\n                                vel.\n\n                                Quibusdam esse quod id debitis.\n                            createdAt:\n                              type: string\n                              example: '2023-07-04T08:41:25.253Z'\n                            images:\n                              type: array\n                              items:\n                                type: object\n                                properties:\n                                  _id:\n                                    type: string\n                                    example: 64a3db356b55dac333b04184\n                                  localPath:\n                                    type: string\n                                    example: ''\n                                  url:\n                                    type: string\n                                    example: >-\n                                      https://loremflickr.com/640/480/food?lock=3973741960757248\n                              example:\n                                - _id: 64a3db356b55dac333b04184\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=3973741960757248\n                                - _id: 64a3db356b55dac333b04185\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=833628017786880\n                                - _id: 64a3db356b55dac333b04186\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=6587453112582144\n                                - _id: 64a3db356b55dac333b04187\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=7857152209190912\n                                - _id: 64a3db356b55dac333b04188\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=2079675230715904\n                                - _id: 64a3db356b55dac333b04189\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=3462723264315392\n                            isBookmarked:\n                              type: boolean\n                              example: false\n                            isLiked:\n                              type: boolean\n                              example: false\n                            likes:\n                              type: number\n                              example: 13\n                            tags:\n                              type: array\n                              items:\n                                type: string\n                                example: nesciunt\n                              example:\n                                - nesciunt\n                                - dolore\n                                - adipisci\n                                - error\n                            updatedAt:\n                              type: string\n                              example: '2023-07-04T08:41:25.253Z'\n                        example:\n                          - __v: 0\n                            _id: 64a3db356b55dac333b04183\n                            author:\n                              __v: 0\n                              _id: 64a3daef2aaac053bc59735e\n                              account:\n                                _id: 64a3daee2aaac053bc597279\n                                avatar:\n                                  _id: 64a3daee2aaac053bc59727a\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/613.jpg\n                                email: jess_douglas77@gmail.com\n                                username: dakota18\n                              bio: thrush junkie  🤟🏾\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 64a3daef2aaac053bc59735d\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-04T08:40:15.022Z'\n                              dob: '2007-03-26T23:56:31.588Z'\n                              firstName: Alba\n                              lastName: Mertz\n                              location: Aaronchester, Djibouti\n                              owner: 64a3daee2aaac053bc597279\n                              phoneNumber: '9071381869'\n                              updatedAt: '2023-07-04T08:41:25.069Z'\n                            comments: 3\n                            content: >-\n                              Tenetur vitae ex dolores delectus sunt fuga\n                              laborum.\n\n                              Ipsa natus eum ea.\n\n                              Perferendis quae iusto molestiae aperiam\n                              voluptatem mollitia.\n\n                              Mollitia officia voluptatem incidunt adipisci vel.\n\n                              Quibusdam esse quod id debitis.\n                            createdAt: '2023-07-04T08:41:25.253Z'\n                            images:\n                              - _id: 64a3db356b55dac333b04184\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=3973741960757248\n                              - _id: 64a3db356b55dac333b04185\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=833628017786880\n                              - _id: 64a3db356b55dac333b04186\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=6587453112582144\n                              - _id: 64a3db356b55dac333b04187\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=7857152209190912\n                              - _id: 64a3db356b55dac333b04188\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=2079675230715904\n                              - _id: 64a3db356b55dac333b04189\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=3462723264315392\n                            isBookmarked: false\n                            isLiked: false\n                            likes: 13\n                            tags:\n                              - nesciunt\n                              - dolore\n                              - adipisci\n                              - error\n                            updatedAt: '2023-07-04T08:41:25.253Z'\n                          - __v: 0\n                            _id: 64a3db356b55dac333b0419f\n                            author:\n                              __v: 0\n                              _id: 64a3daef2aaac053bc59738a\n                              account:\n                                _id: 64a3daee2aaac053bc597258\n                                avatar:\n                                  _id: 64a3daee2aaac053bc597259\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/882.jpg\n                                email: zackery_lesch49@gmail.com\n                                username: branson.marks\n                              bio: description fan  🤙🏼\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 64a3daef2aaac053bc597389\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-04T08:40:15.090Z'\n                              dob: '2012-11-17T13:44:53.520Z'\n                              firstName: Dina\n                              lastName: Carter\n                              location: Racine, Grenada\n                              owner: 64a3daee2aaac053bc597258\n                              phoneNumber: '9330674786'\n                              updatedAt: '2023-07-04T08:41:25.069Z'\n                            comments: 7\n                            content: >-\n                              Qui ea necessitatibus corporis quas iure expedita\n                              facilis.\n\n                              Qui pariatur minima cum eveniet natus maiores.\n\n                              Doloremque aliquam incidunt voluptates\n                              voluptatibus perspiciatis ipsa commodi corporis.\n                            createdAt: '2023-07-04T08:41:25.253Z'\n                            images:\n                              - _id: 64a3db356b55dac333b041a0\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=2369617611718656\n                              - _id: 64a3db356b55dac333b041a1\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=5874211901931520\n                              - _id: 64a3db356b55dac333b041a2\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=2870458338770944\n                              - _id: 64a3db356b55dac333b041a3\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=8568346301693952\n                              - _id: 64a3db356b55dac333b041a4\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=1814381757202432\n                              - _id: 64a3db356b55dac333b041a5\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=4546002864308224\n                            isBookmarked: false\n                            isLiked: false\n                            likes: 7\n                            tags:\n                              - doloribus\n                              - voluptate\n                              - delectus\n                              - veniam\n                              - sed\n                              - vero\n                              - fugiat\n                              - dolore\n                            updatedAt: '2023-07-04T08:41:25.253Z'\n                          - __v: 0\n                            _id: 64a3db356b55dac333b041ec\n                            author:\n                              __v: 0\n                              _id: 64a3daef2aaac053bc597403\n                              account:\n                                _id: 64a3daee2aaac053bc59729d\n                                avatar:\n                                  _id: 64a3daee2aaac053bc59729e\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/17.jpg\n                                email: jordyn58@gmail.com\n                                username: marcel39\n                              bio: clip advocate\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 64a3daef2aaac053bc597402\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-04T08:40:15.288Z'\n                              dob: '2015-12-23T00:50:09.029Z'\n                              firstName: Houston\n                              lastName: Cassin\n                              location: Fort Grayce, Reunion\n                              owner: 64a3daee2aaac053bc59729d\n                              phoneNumber: '9397023770'\n                              updatedAt: '2023-07-04T08:41:25.070Z'\n                            comments: 5\n                            content: >-\n                              Veritatis asperiores debitis neque est nobis.\n\n                              Reprehenderit eum omnis eum reiciendis sapiente\n                              accusamus id.\n\n                              Explicabo ex eius maiores sapiente temporibus\n                              culpa perferendis ipsam saepe.\n\n                              Eveniet quasi consectetur blanditiis accusantium\n                              dolorum similique officiis doloremque.\n                            createdAt: '2023-07-04T08:41:25.254Z'\n                            images:\n                              - _id: 64a3db356b55dac333b041ed\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=8620893425106944\n                              - _id: 64a3db356b55dac333b041ee\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=2243067356643328\n                              - _id: 64a3db356b55dac333b041ef\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=818843463188480\n                              - _id: 64a3db356b55dac333b041f0\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=1322950483509248\n                              - _id: 64a3db356b55dac333b041f1\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=458778252148736\n                              - _id: 64a3db356b55dac333b041f2\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=5697220028399616\n                            isBookmarked: false\n                            isLiked: false\n                            likes: 7\n                            tags:\n                              - dolore\n                              - animi\n                              - ut\n                            updatedAt: '2023-07-04T08:41:25.254Z'\n                      prevPage:\n                        nullable: true\n                        example: null\n                      serialNumberStartFrom:\n                        type: number\n                        example: 1\n                      totalPages:\n                        type: number\n                        example: 2\n                      totalPosts:\n                        type: number\n                        example: 6\n                  message:\n                    type: string\n                    example: Posts with tag dolore fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get posts by tag:\n                  value:\n                    data:\n                      hasNextPage: true\n                      hasPrevPage: false\n                      limit: 3\n                      nextPage: 2\n                      page: 1\n                      posts:\n                        - __v: 0\n                          _id: 64a3db356b55dac333b04183\n                          author:\n                            __v: 0\n                            _id: 64a3daef2aaac053bc59735e\n                            account:\n                              _id: 64a3daee2aaac053bc597279\n                              avatar:\n                                _id: 64a3daee2aaac053bc59727a\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/613.jpg\n                              email: jess_douglas77@gmail.com\n                              username: dakota18\n                            bio: thrush junkie  🤟🏾\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 64a3daef2aaac053bc59735d\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-04T08:40:15.022Z'\n                            dob: '2007-03-26T23:56:31.588Z'\n                            firstName: Alba\n                            lastName: Mertz\n                            location: Aaronchester, Djibouti\n                            owner: 64a3daee2aaac053bc597279\n                            phoneNumber: '9071381869'\n                            updatedAt: '2023-07-04T08:41:25.069Z'\n                          comments: 3\n                          content: >-\n                            Tenetur vitae ex dolores delectus sunt fuga laborum.\n\n                            Ipsa natus eum ea.\n\n                            Perferendis quae iusto molestiae aperiam voluptatem\n                            mollitia.\n\n                            Mollitia officia voluptatem incidunt adipisci vel.\n\n                            Quibusdam esse quod id debitis.\n                          createdAt: '2023-07-04T08:41:25.253Z'\n                          images:\n                            - _id: 64a3db356b55dac333b04184\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=3973741960757248\n                            - _id: 64a3db356b55dac333b04185\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=833628017786880\n                            - _id: 64a3db356b55dac333b04186\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=6587453112582144\n                            - _id: 64a3db356b55dac333b04187\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=7857152209190912\n                            - _id: 64a3db356b55dac333b04188\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=2079675230715904\n                            - _id: 64a3db356b55dac333b04189\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=3462723264315392\n                          isBookmarked: false\n                          isLiked: false\n                          likes: 13\n                          tags:\n                            - nesciunt\n                            - dolore\n                            - adipisci\n                            - error\n                          updatedAt: '2023-07-04T08:41:25.253Z'\n                        - __v: 0\n                          _id: 64a3db356b55dac333b0419f\n                          author:\n                            __v: 0\n                            _id: 64a3daef2aaac053bc59738a\n                            account:\n                              _id: 64a3daee2aaac053bc597258\n                              avatar:\n                                _id: 64a3daee2aaac053bc597259\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/882.jpg\n                              email: zackery_lesch49@gmail.com\n                              username: branson.marks\n                            bio: description fan  🤙🏼\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 64a3daef2aaac053bc597389\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-04T08:40:15.090Z'\n                            dob: '2012-11-17T13:44:53.520Z'\n                            firstName: Dina\n                            lastName: Carter\n                            location: Racine, Grenada\n                            owner: 64a3daee2aaac053bc597258\n                            phoneNumber: '9330674786'\n                            updatedAt: '2023-07-04T08:41:25.069Z'\n                          comments: 7\n                          content: >-\n                            Qui ea necessitatibus corporis quas iure expedita\n                            facilis.\n\n                            Qui pariatur minima cum eveniet natus maiores.\n\n                            Doloremque aliquam incidunt voluptates voluptatibus\n                            perspiciatis ipsa commodi corporis.\n                          createdAt: '2023-07-04T08:41:25.253Z'\n                          images:\n                            - _id: 64a3db356b55dac333b041a0\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=2369617611718656\n                            - _id: 64a3db356b55dac333b041a1\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=5874211901931520\n                            - _id: 64a3db356b55dac333b041a2\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=2870458338770944\n                            - _id: 64a3db356b55dac333b041a3\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=8568346301693952\n                            - _id: 64a3db356b55dac333b041a4\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=1814381757202432\n                            - _id: 64a3db356b55dac333b041a5\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=4546002864308224\n                          isBookmarked: false\n                          isLiked: false\n                          likes: 7\n                          tags:\n                            - doloribus\n                            - voluptate\n                            - delectus\n                            - veniam\n                            - sed\n                            - vero\n                            - fugiat\n                            - dolore\n                          updatedAt: '2023-07-04T08:41:25.253Z'\n                        - __v: 0\n                          _id: 64a3db356b55dac333b041ec\n                          author:\n                            __v: 0\n                            _id: 64a3daef2aaac053bc597403\n                            account:\n                              _id: 64a3daee2aaac053bc59729d\n                              avatar:\n                                _id: 64a3daee2aaac053bc59729e\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/17.jpg\n                              email: jordyn58@gmail.com\n                              username: marcel39\n                            bio: clip advocate\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 64a3daef2aaac053bc597402\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-04T08:40:15.288Z'\n                            dob: '2015-12-23T00:50:09.029Z'\n                            firstName: Houston\n                            lastName: Cassin\n                            location: Fort Grayce, Reunion\n                            owner: 64a3daee2aaac053bc59729d\n                            phoneNumber: '9397023770'\n                            updatedAt: '2023-07-04T08:41:25.070Z'\n                          comments: 5\n                          content: >-\n                            Veritatis asperiores debitis neque est nobis.\n\n                            Reprehenderit eum omnis eum reiciendis sapiente\n                            accusamus id.\n\n                            Explicabo ex eius maiores sapiente temporibus culpa\n                            perferendis ipsam saepe.\n\n                            Eveniet quasi consectetur blanditiis accusantium\n                            dolorum similique officiis doloremque.\n                          createdAt: '2023-07-04T08:41:25.254Z'\n                          images:\n                            - _id: 64a3db356b55dac333b041ed\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=8620893425106944\n                            - _id: 64a3db356b55dac333b041ee\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=2243067356643328\n                            - _id: 64a3db356b55dac333b041ef\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=818843463188480\n                            - _id: 64a3db356b55dac333b041f0\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=1322950483509248\n                            - _id: 64a3db356b55dac333b041f1\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=458778252148736\n                            - _id: 64a3db356b55dac333b041f2\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=5697220028399616\n                          isBookmarked: false\n                          isLiked: false\n                          likes: 7\n                          tags:\n                            - dolore\n                            - animi\n                            - ut\n                          updatedAt: '2023-07-04T08:41:25.254Z'\n                      prevPage: null\n                      serialNumberStartFrom: 1\n                      totalPages: 2\n                      totalPosts: 6\n                    message: Posts with tag dolore fetched successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: tag\n        in: path\n        required: true\n        schema:\n          type: string\n          example: dolore\n  /social-media/posts/remove/image/{postId}/{imageId}:\n    patch:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Remove post image\n      description: >-\n        The API endpoint allows users to remove an individual image from a\n        social media post.\n\n\n        When accessing this endpoint and specifying the post ID and image ID,\n        the image associated with the post will be removed, reducing the total\n        number of images in the post by one.\n\n\n        This functionality is particularly useful when users want to manage the\n        images included in their posts and provides them with the flexibility to\n        delete specific images from the post.\n      operationId: removePostImage\n      responses:\n        '200':\n          description: Remove post image\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '2008'\n            Date:\n              schema:\n                type: string\n                example: Tue, 04 Jul 2023 09:21:05 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"7d8-QoWsYR+lG60MWlJ3d570gJoMBwo\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '499'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '895'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 64a3e3bc9d02a1e3d365f06a\n                      author:\n                        type: object\n                        properties:\n                          __v:\n                            type: number\n                            example: 0\n                          _id:\n                            type: string\n                            example: 64a3daef2aaac053bc597395\n                          account:\n                            type: object\n                            properties:\n                              _id:\n                                type: string\n                                example: 64a3daee2aaac053bc59725b\n                              avatar:\n                                type: object\n                                properties:\n                                  _id:\n                                    type: string\n                                    example: 64a3daee2aaac053bc59725c\n                                  localPath:\n                                    type: string\n                                    example: ''\n                                  url:\n                                    type: string\n                                    example: >-\n                                      https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/528.jpg\n                              email:\n                                type: string\n                                example: rebeka.bashirian@yahoo.com\n                              username:\n                                type: string\n                                example: delia_zboncak15\n                          bio:\n                            type: string\n                            example: checkbook lover, photographer\n                          countryCode:\n                            type: string\n                            example: '+91'\n                          coverImage:\n                            type: object\n                            properties:\n                              _id:\n                                type: string\n                                example: 64a3daef2aaac053bc597394\n                              localPath:\n                                type: string\n                                example: ''\n                              url:\n                                type: string\n                                example: https://via.placeholder.com/800x450.png\n                          createdAt:\n                            type: string\n                            example: '2023-07-04T08:40:15.098Z'\n                          dob:\n                            type: string\n                            example: '2014-10-11T03:26:22.966Z'\n                          firstName:\n                            type: string\n                            example: Randall\n                          lastName:\n                            type: string\n                            example: Ortiz\n                          location:\n                            type: string\n                            example: Port Aniyahstad, Aruba\n                          owner:\n                            type: string\n                            example: 64a3daee2aaac053bc59725b\n                          phoneNumber:\n                            type: string\n                            example: '9928906598'\n                          updatedAt:\n                            type: string\n                            example: '2023-07-04T08:41:25.069Z'\n                      comments:\n                        type: number\n                        example: 0\n                      content:\n                        type: string\n                        example: >-\n                          Hey guys!\n\n                          I am thrilled to announce the successful execution of\n                          a stunning video for our esteemed in-house client,\n                          Dabur Amla, in honor of Father's Day. Thank you to the\n                          entire team who brought this beautiful idea to life\n                          and played a pivotal role in its execution. Your hard\n                          work and dedication have truly paid off.\n                          :raised_hands: :clap::skin-tone-2:\n\n                          Don't miss out on watching the video! Click the link\n                          below and be prepared to be moved. :star-struck:\n                      createdAt:\n                        type: string\n                        example: '2023-07-04T09:17:48.597Z'\n                      images:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            _id:\n                              type: string\n                              example: 64a3e3bc9d02a1e3d365f06b\n                            localPath:\n                              type: string\n                              example: public/images/copper-wire168846226828285707.jpeg\n                            url:\n                              type: string\n                              example: >-\n                                http://localhost:8080/images/copper-wire168846226828285707.jpeg\n                        example:\n                          - _id: 64a3e3bc9d02a1e3d365f06b\n                            localPath: public/images/copper-wire168846226828285707.jpeg\n                            url: >-\n                              http://localhost:8080/images/copper-wire168846226828285707.jpeg\n                          - _id: 64a3e3bc9d02a1e3d365f06c\n                            localPath: public/images/bottle168846226828566137.jpg\n                            url: >-\n                              http://localhost:8080/images/bottle168846226828566137.jpg\n                          - _id: 64a3e3bc9d02a1e3d365f06d\n                            localPath: public/images/wood168846226851984630.jpeg\n                            url: >-\n                              http://localhost:8080/images/wood168846226851984630.jpeg\n                      isBookmarked:\n                        type: boolean\n                        example: false\n                      isLiked:\n                        type: boolean\n                        example: false\n                      likes:\n                        type: number\n                        example: 0\n                      tags:\n                        type: array\n                        items:\n                          type: string\n                          example: new\n                        example:\n                          - new\n                          - software\n                          - reactjs\n                      updatedAt:\n                        type: string\n                        example: '2023-07-04T09:21:05.201Z'\n                  message:\n                    type: string\n                    example: Post image removed successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Remove post image:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 64a3e3bc9d02a1e3d365f06a\n                      author:\n                        __v: 0\n                        _id: 64a3daef2aaac053bc597395\n                        account:\n                          _id: 64a3daee2aaac053bc59725b\n                          avatar:\n                            _id: 64a3daee2aaac053bc59725c\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/528.jpg\n                          email: rebeka.bashirian@yahoo.com\n                          username: delia_zboncak15\n                        bio: checkbook lover, photographer\n                        countryCode: '+91'\n                        coverImage:\n                          _id: 64a3daef2aaac053bc597394\n                          localPath: ''\n                          url: https://via.placeholder.com/800x450.png\n                        createdAt: '2023-07-04T08:40:15.098Z'\n                        dob: '2014-10-11T03:26:22.966Z'\n                        firstName: Randall\n                        lastName: Ortiz\n                        location: Port Aniyahstad, Aruba\n                        owner: 64a3daee2aaac053bc59725b\n                        phoneNumber: '9928906598'\n                        updatedAt: '2023-07-04T08:41:25.069Z'\n                      comments: 0\n                      content: >-\n                        Hey guys!\n\n                        I am thrilled to announce the successful execution of a\n                        stunning video for our esteemed in-house client, Dabur\n                        Amla, in honor of Father's Day. Thank you to the entire\n                        team who brought this beautiful idea to life and played\n                        a pivotal role in its execution. Your hard work and\n                        dedication have truly paid off. :raised_hands:\n                        :clap::skin-tone-2:\n\n                        Don't miss out on watching the video! Click the link\n                        below and be prepared to be moved. :star-struck:\n                      createdAt: '2023-07-04T09:17:48.597Z'\n                      images:\n                        - _id: 64a3e3bc9d02a1e3d365f06b\n                          localPath: public/images/copper-wire168846226828285707.jpeg\n                          url: >-\n                            http://localhost:8080/images/copper-wire168846226828285707.jpeg\n                        - _id: 64a3e3bc9d02a1e3d365f06c\n                          localPath: public/images/bottle168846226828566137.jpg\n                          url: >-\n                            http://localhost:8080/images/bottle168846226828566137.jpg\n                        - _id: 64a3e3bc9d02a1e3d365f06d\n                          localPath: public/images/wood168846226851984630.jpeg\n                          url: >-\n                            http://localhost:8080/images/wood168846226851984630.jpeg\n                      isBookmarked: false\n                      isLiked: false\n                      likes: 0\n                      tags:\n                        - new\n                        - software\n                        - reactjs\n                      updatedAt: '2023-07-04T09:21:05.201Z'\n                    message: Post image removed successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: postId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 64a3e3bc9d02a1e3d365f06a\n      - name: imageId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 64a3e45c9d02a1e3d365f08d\n  /social-media/like/post/{postId}:\n    post:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Like or unlike post\n      description: >-\n        The API endpoint enables users to like or unlike a social media post.\n\n\n        By accessing this endpoint, users can interact with the post by either\n        liking or unliking it.\n      operationId: likeOrUnlikePost\n      responses:\n        '200':\n          description: Like or unlike post\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '91'\n            Date:\n              schema:\n                type: string\n                example: Sat, 24 Jun 2023 19:12:27 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"5b-Hp3h+mfkkH7ImHW+0LDh1X0XaJc\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '496'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '863'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      isLiked:\n                        type: boolean\n                        example: false\n                  message:\n                    type: string\n                    example: Unliked successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Like or unlike post:\n                  value:\n                    data:\n                      isLiked: false\n                    message: Unliked successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: postId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 649736ac3e2615fb255a948b\n  /social-media/like/comment/{commentId}:\n    post:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Like or unlike comment\n      description: >-\n        The API endpoint enables users to like or unlike a social media\n        comments.\n\n\n        By accessing this endpoint, users can interact with the comment by\n        either liking or unliking it.\n      operationId: likeOrUnlikeComment\n      responses:\n        '200':\n          description: Like or unlike post Copy\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '88'\n            Date:\n              schema:\n                type: string\n                example: Sat, 24 Jun 2023 19:13:53 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"58-o4ladX2lyoc77W1/Dec1O7nYJpk\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '498'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '881'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      isLiked:\n                        type: boolean\n                        example: true\n                  message:\n                    type: string\n                    example: Liked successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Like or unlike post Copy:\n                  value:\n                    data:\n                      isLiked: true\n                    message: Liked successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: commentId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 649769d2b883005dbdcc3292\n  /social-media/comments/post/{postId}:\n    get:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Get post comments\n      description: >-\n        The API endpoint allows users to retrieve a list of comments associated\n        with a specific post, based on the post ID provided as a path variable.\n\n\n        When accessing this endpoint and specifying a valid post ID, the\n        response will contain a collection of comments related to that\n        particular post.\n      operationId: getPostComments\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '5'\n      responses:\n        '200':\n          description: Get post comments\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '4324'\n            Date:\n              schema:\n                type: string\n                example: Sat, 01 Jul 2023 08:19:46 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"10e4-AjhPi1LAu8OpXRD2wSm9ncigGrc\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '481'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '566'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      comments:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            __v:\n                              type: number\n                              example: 0\n                            _id:\n                              type: string\n                              example: 649fe0cfc4a9507d1220f175\n                            author:\n                              type: object\n                              properties:\n                                _id:\n                                  type: string\n                                  example: 649fe0cfc4a9507d1220ecc8\n                                account:\n                                  type: object\n                                  properties:\n                                    _id:\n                                      type: string\n                                      example: 649fe0cec4a9507d1220eb9e\n                                    avatar:\n                                      type: object\n                                      properties:\n                                        _id:\n                                          type: string\n                                          example: 649fe0cec4a9507d1220eb9f\n                                        localPath:\n                                          type: string\n                                          example: ''\n                                        url:\n                                          type: string\n                                          example: >-\n                                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/945.jpg\n                                    email:\n                                      type: string\n                                      example: crystel0@hotmail.com\n                                    username:\n                                      type: string\n                                      example: alfredo.harber\n                                firstName:\n                                  type: string\n                                  example: Milford\n                                lastName:\n                                  type: string\n                                  example: Rosenbaum\n                            content:\n                              type: string\n                              example: >-\n                                Dicta est eligendi sint placeat voluptas quod in\n                                minima.\n\n                                Quia optio aliquid molestias explicabo enim.\n\n                                Velit ratione praesentium consectetur dolorem.\n\n                                Error perferendis alias aperiam maxime quidem\n                                eaque totam necessitatibus.\n\n                                Maxime nesciunt neque praesentium debitis\n                                necessitatibus.\n                            createdAt:\n                              type: string\n                              example: '2023-07-01T08:16:16.025Z'\n                            isLiked:\n                              type: boolean\n                              example: false\n                            likes:\n                              type: number\n                              example: 4\n                            postId:\n                              type: string\n                              example: 649fe0cfc4a9507d1220eefc\n                            updatedAt:\n                              type: string\n                              example: '2023-07-01T08:16:16.025Z'\n                        example:\n                          - __v: 0\n                            _id: 649fe0cfc4a9507d1220f175\n                            author:\n                              _id: 649fe0cfc4a9507d1220ecc8\n                              account:\n                                _id: 649fe0cec4a9507d1220eb9e\n                                avatar:\n                                  _id: 649fe0cec4a9507d1220eb9f\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/945.jpg\n                                email: crystel0@hotmail.com\n                                username: alfredo.harber\n                              firstName: Milford\n                              lastName: Rosenbaum\n                            content: >-\n                              Dicta est eligendi sint placeat voluptas quod in\n                              minima.\n\n                              Quia optio aliquid molestias explicabo enim.\n\n                              Velit ratione praesentium consectetur dolorem.\n\n                              Error perferendis alias aperiam maxime quidem\n                              eaque totam necessitatibus.\n\n                              Maxime nesciunt neque praesentium debitis\n                              necessitatibus.\n                            createdAt: '2023-07-01T08:16:16.025Z'\n                            isLiked: false\n                            likes: 4\n                            postId: 649fe0cfc4a9507d1220eefc\n                            updatedAt: '2023-07-01T08:16:16.025Z'\n                          - __v: 0\n                            _id: 649fe0cfc4a9507d1220f1be\n                            author:\n                              _id: 649fe0cfc4a9507d1220ecc8\n                              account:\n                                _id: 649fe0cec4a9507d1220eb9e\n                                avatar:\n                                  _id: 649fe0cec4a9507d1220eb9f\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/945.jpg\n                                email: crystel0@hotmail.com\n                                username: alfredo.harber\n                              firstName: Milford\n                              lastName: Rosenbaum\n                            content: >-\n                              Distinctio mollitia sapiente maxime possimus ex\n                              quam.\n\n                              Vitae asperiores velit dolorem vel quis soluta\n                              officiis sunt consectetur.\n\n                              Quisquam cupiditate fuga excepturi.\n\n                              Occaecati culpa dicta beatae error rem itaque\n                              pariatur dolores harum.\n\n                              Rem ab alias id distinctio minus.\n\n                              Eligendi soluta beatae fuga.\n\n                              Perspiciatis velit deserunt.\n                            createdAt: '2023-07-01T08:16:16.029Z'\n                            isLiked: false\n                            likes: 2\n                            postId: 649fe0cfc4a9507d1220eefc\n                            updatedAt: '2023-07-01T08:16:16.029Z'\n                          - __v: 0\n                            _id: 649fe0cfc4a9507d1220f1d4\n                            author:\n                              _id: 649fe0cfc4a9507d1220ec3e\n                              account:\n                                _id: 649fe0cec4a9507d1220eb7d\n                                avatar:\n                                  _id: 649fe0cec4a9507d1220eb7e\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/173.jpg\n                                email: johanna_russel81@yahoo.com\n                                username: vita84\n                              firstName: Matteo\n                              lastName: Welch\n                            content: >-\n                              Magnam quae delectus necessitatibus.\n\n                              Autem dolore eaque pariatur praesentium.\n\n                              Optio dolores debitis eaque quasi nisi maiores\n                              voluptatem inventore animi.\n\n                              Fugiat dolorem aliquam repellendus accusamus quos\n                              blanditiis expedita nisi aliquid.\n\n                              Veritatis aut magnam quia laudantium.\n\n                              Dolorem corrupti eligendi.\n                            createdAt: '2023-07-01T08:16:16.030Z'\n                            isLiked: false\n                            likes: 4\n                            postId: 649fe0cfc4a9507d1220eefc\n                            updatedAt: '2023-07-01T08:16:16.030Z'\n                          - __v: 0\n                            _id: 649fe0cfc4a9507d1220f1e4\n                            author:\n                              _id: 649fe0cfc4a9507d1220ec24\n                              account:\n                                _id: 649fe0cec4a9507d1220eb68\n                                avatar:\n                                  _id: 649fe0cec4a9507d1220eb69\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/97.jpg\n                                email: marietta_hoeger59@gmail.com\n                                username: joey_boyle24\n                              firstName: Arjun\n                              lastName: Turcotte\n                            content: |-\n                              Sed quo autem pariatur dolores dolorem.\n                              Dolores dolore asperiores.\n                            createdAt: '2023-07-01T08:16:16.030Z'\n                            isLiked: false\n                            likes: 5\n                            postId: 649fe0cfc4a9507d1220eefc\n                            updatedAt: '2023-07-01T08:16:16.030Z'\n                          - __v: 0\n                            _id: 649fe0cfc4a9507d1220f1f0\n                            author:\n                              _id: 649fe0cfc4a9507d1220ecc8\n                              account:\n                                _id: 649fe0cec4a9507d1220eb9e\n                                avatar:\n                                  _id: 649fe0cec4a9507d1220eb9f\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/945.jpg\n                                email: crystel0@hotmail.com\n                                username: alfredo.harber\n                              firstName: Milford\n                              lastName: Rosenbaum\n                            content: >-\n                              Nesciunt numquam veritatis quidem.\n\n                              Tempore animi enim molestiae magnam dolor\n                              repudiandae magnam.\n\n                              Qui officia magnam corporis quia velit perferendis\n                              magnam at.\n\n                              Minus sapiente exercitationem perferendis nulla.\n\n                              Dolores soluta sapiente accusamus laboriosam ad\n                              odit sit quasi soluta.\n\n                              Facilis hic voluptates dolorum ad necessitatibus\n                              iste.\n                            createdAt: '2023-07-01T08:16:16.031Z'\n                            isLiked: false\n                            likes: 3\n                            postId: 649fe0cfc4a9507d1220eefc\n                            updatedAt: '2023-07-01T08:16:16.031Z'\n                      hasNextPage:\n                        type: boolean\n                        example: true\n                      hasPrevPage:\n                        type: boolean\n                        example: false\n                      limit:\n                        type: number\n                        example: 5\n                      nextPage:\n                        type: number\n                        example: 2\n                      page:\n                        type: number\n                        example: 1\n                      prevPage:\n                        nullable: true\n                        example: null\n                      serialNumberStartFrom:\n                        type: number\n                        example: 1\n                      totalComments:\n                        type: number\n                        example: 12\n                      totalPages:\n                        type: number\n                        example: 3\n                  message:\n                    type: string\n                    example: Post comments fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get post comments:\n                  value:\n                    data:\n                      comments:\n                        - __v: 0\n                          _id: 649fe0cfc4a9507d1220f175\n                          author:\n                            _id: 649fe0cfc4a9507d1220ecc8\n                            account:\n                              _id: 649fe0cec4a9507d1220eb9e\n                              avatar:\n                                _id: 649fe0cec4a9507d1220eb9f\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/945.jpg\n                              email: crystel0@hotmail.com\n                              username: alfredo.harber\n                            firstName: Milford\n                            lastName: Rosenbaum\n                          content: >-\n                            Dicta est eligendi sint placeat voluptas quod in\n                            minima.\n\n                            Quia optio aliquid molestias explicabo enim.\n\n                            Velit ratione praesentium consectetur dolorem.\n\n                            Error perferendis alias aperiam maxime quidem eaque\n                            totam necessitatibus.\n\n                            Maxime nesciunt neque praesentium debitis\n                            necessitatibus.\n                          createdAt: '2023-07-01T08:16:16.025Z'\n                          isLiked: false\n                          likes: 4\n                          postId: 649fe0cfc4a9507d1220eefc\n                          updatedAt: '2023-07-01T08:16:16.025Z'\n                        - __v: 0\n                          _id: 649fe0cfc4a9507d1220f1be\n                          author:\n                            _id: 649fe0cfc4a9507d1220ecc8\n                            account:\n                              _id: 649fe0cec4a9507d1220eb9e\n                              avatar:\n                                _id: 649fe0cec4a9507d1220eb9f\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/945.jpg\n                              email: crystel0@hotmail.com\n                              username: alfredo.harber\n                            firstName: Milford\n                            lastName: Rosenbaum\n                          content: >-\n                            Distinctio mollitia sapiente maxime possimus ex\n                            quam.\n\n                            Vitae asperiores velit dolorem vel quis soluta\n                            officiis sunt consectetur.\n\n                            Quisquam cupiditate fuga excepturi.\n\n                            Occaecati culpa dicta beatae error rem itaque\n                            pariatur dolores harum.\n\n                            Rem ab alias id distinctio minus.\n\n                            Eligendi soluta beatae fuga.\n\n                            Perspiciatis velit deserunt.\n                          createdAt: '2023-07-01T08:16:16.029Z'\n                          isLiked: false\n                          likes: 2\n                          postId: 649fe0cfc4a9507d1220eefc\n                          updatedAt: '2023-07-01T08:16:16.029Z'\n                        - __v: 0\n                          _id: 649fe0cfc4a9507d1220f1d4\n                          author:\n                            _id: 649fe0cfc4a9507d1220ec3e\n                            account:\n                              _id: 649fe0cec4a9507d1220eb7d\n                              avatar:\n                                _id: 649fe0cec4a9507d1220eb7e\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/173.jpg\n                              email: johanna_russel81@yahoo.com\n                              username: vita84\n                            firstName: Matteo\n                            lastName: Welch\n                          content: >-\n                            Magnam quae delectus necessitatibus.\n\n                            Autem dolore eaque pariatur praesentium.\n\n                            Optio dolores debitis eaque quasi nisi maiores\n                            voluptatem inventore animi.\n\n                            Fugiat dolorem aliquam repellendus accusamus quos\n                            blanditiis expedita nisi aliquid.\n\n                            Veritatis aut magnam quia laudantium.\n\n                            Dolorem corrupti eligendi.\n                          createdAt: '2023-07-01T08:16:16.030Z'\n                          isLiked: false\n                          likes: 4\n                          postId: 649fe0cfc4a9507d1220eefc\n                          updatedAt: '2023-07-01T08:16:16.030Z'\n                        - __v: 0\n                          _id: 649fe0cfc4a9507d1220f1e4\n                          author:\n                            _id: 649fe0cfc4a9507d1220ec24\n                            account:\n                              _id: 649fe0cec4a9507d1220eb68\n                              avatar:\n                                _id: 649fe0cec4a9507d1220eb69\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/97.jpg\n                              email: marietta_hoeger59@gmail.com\n                              username: joey_boyle24\n                            firstName: Arjun\n                            lastName: Turcotte\n                          content: |-\n                            Sed quo autem pariatur dolores dolorem.\n                            Dolores dolore asperiores.\n                          createdAt: '2023-07-01T08:16:16.030Z'\n                          isLiked: false\n                          likes: 5\n                          postId: 649fe0cfc4a9507d1220eefc\n                          updatedAt: '2023-07-01T08:16:16.030Z'\n                        - __v: 0\n                          _id: 649fe0cfc4a9507d1220f1f0\n                          author:\n                            _id: 649fe0cfc4a9507d1220ecc8\n                            account:\n                              _id: 649fe0cec4a9507d1220eb9e\n                              avatar:\n                                _id: 649fe0cec4a9507d1220eb9f\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/945.jpg\n                              email: crystel0@hotmail.com\n                              username: alfredo.harber\n                            firstName: Milford\n                            lastName: Rosenbaum\n                          content: >-\n                            Nesciunt numquam veritatis quidem.\n\n                            Tempore animi enim molestiae magnam dolor\n                            repudiandae magnam.\n\n                            Qui officia magnam corporis quia velit perferendis\n                            magnam at.\n\n                            Minus sapiente exercitationem perferendis nulla.\n\n                            Dolores soluta sapiente accusamus laboriosam ad odit\n                            sit quasi soluta.\n\n                            Facilis hic voluptates dolorum ad necessitatibus\n                            iste.\n                          createdAt: '2023-07-01T08:16:16.031Z'\n                          isLiked: false\n                          likes: 3\n                          postId: 649fe0cfc4a9507d1220eefc\n                          updatedAt: '2023-07-01T08:16:16.031Z'\n                      hasNextPage: true\n                      hasPrevPage: false\n                      limit: 5\n                      nextPage: 2\n                      page: 1\n                      prevPage: null\n                      serialNumberStartFrom: 1\n                      totalComments: 12\n                      totalPages: 3\n                    message: Post comments fetched successfully\n                    statusCode: 200\n                    success: true\n    post:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Add comment\n      description: >-\n        The API endpoint allows users to add a comment to a specific post based\n        on the postId provided in the path variable.\n\n\n        When accessing this endpoint and providing a valid postId as a\n        parameter, users can submit their comments to be associated with that\n        particular post.\n      operationId: addComment\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                content:\n                  type: string\n                  example: My first comment\n            example:\n              content: My first comment\n      responses:\n        '201':\n          description: Add comment\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '301'\n            Date:\n              schema:\n                type: string\n                example: Sat, 24 Jun 2023 22:10:26 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"12d-7sZU57VkjBdIM7Pp/64yNsyvbbM\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '496'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '849'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 649769d2b883005dbdcc3292\n                      author:\n                        type: string\n                        example: 6497369d3e2615fb255a947d\n                      content:\n                        type: string\n                        example: My first comment\n                      createdAt:\n                        type: string\n                        example: '2023-06-24T22:10:26.895Z'\n                      postId:\n                        type: string\n                        example: 649736ac3e2615fb255a948b\n                      updatedAt:\n                        type: string\n                        example: '2023-06-24T22:10:26.895Z'\n                  message:\n                    type: string\n                    example: Comment added successfully\n                  statusCode:\n                    type: number\n                    example: 201\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Add comment:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 649769d2b883005dbdcc3292\n                      author: 6497369d3e2615fb255a947d\n                      content: My first comment\n                      createdAt: '2023-06-24T22:10:26.895Z'\n                      postId: 649736ac3e2615fb255a948b\n                      updatedAt: '2023-06-24T22:10:26.895Z'\n                    message: Comment added successfully\n                    statusCode: 201\n                    success: true\n    parameters:\n      - name: postId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 649957f74662581ee44781ee\n  /social-media/comments/{commentId}:\n    delete:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Delete comment\n      description: >-\n        The API endpoint enables users to delete a specific comment on a post\n        based on the comment ID provided in the path variable.\n\n\n        When accessing this endpoint and specifying the comment ID in the URL,\n        the corresponding comment will be removed from the post.\n      operationId: deleteComment\n      responses:\n        '200':\n          description: Delete comment\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '322'\n            Date:\n              schema:\n                type: string\n                example: Sat, 24 Jun 2023 22:08:53 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"142-hQ1X1kIDXtfazvlgqS8k9RPkuuo\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '499'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '898'\n            Set-Cookie:\n              schema:\n                type: string\n                example: >-\n                  connect.sid=s%3A1cntfyc50O6AVkBQ36XOLKbYy4HzIvqz.axGA55hNWS9zVSXQP%2Fd%2FvV%2BkcynZw18W0RU%2F6Lr389o;\n                  Path=/; HttpOnly\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      deletedComment:\n                        type: object\n                        properties:\n                          __v:\n                            type: number\n                            example: 0\n                          _id:\n                            type: string\n                            example: 64973f433acb0ae20a97a354\n                          author:\n                            type: string\n                            example: 6497369d3e2615fb255a947d\n                          content:\n                            type: string\n                            example: My first comment\n                          createdAt:\n                            type: string\n                            example: '2023-06-24T19:08:51.260Z'\n                          postId:\n                            type: string\n                            example: 649736ac3e2615fb255a948b\n                          updatedAt:\n                            type: string\n                            example: '2023-06-24T19:08:51.260Z'\n                  message:\n                    type: string\n                    example: Comment deleted successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Delete comment:\n                  value:\n                    data:\n                      deletedComment:\n                        __v: 0\n                        _id: 64973f433acb0ae20a97a354\n                        author: 6497369d3e2615fb255a947d\n                        content: My first comment\n                        createdAt: '2023-06-24T19:08:51.260Z'\n                        postId: 649736ac3e2615fb255a948b\n                        updatedAt: '2023-06-24T19:08:51.260Z'\n                    message: Comment deleted successfully\n                    statusCode: 200\n                    success: true\n    patch:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Update comment\n      description: >-\n        The API endpoint allows users to update a comment associated with a post\n        based on the comment ID provided in the path variable.\n\n\n        By accessing this endpoint and specifying the comment ID, users can\n        modify the content or other attributes of the comment associated with\n        the post.\n      operationId: updateComment\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                content:\n                  type: string\n                  example: Updated content\n            example:\n              content: Updated content\n      responses:\n        '200':\n          description: Delete comment\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '322'\n            Date:\n              schema:\n                type: string\n                example: Sat, 24 Jun 2023 22:08:53 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"142-hQ1X1kIDXtfazvlgqS8k9RPkuuo\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '499'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '898'\n            Set-Cookie:\n              schema:\n                type: string\n                example: >-\n                  connect.sid=s%3A1cntfyc50O6AVkBQ36XOLKbYy4HzIvqz.axGA55hNWS9zVSXQP%2Fd%2FvV%2BkcynZw18W0RU%2F6Lr389o;\n                  Path=/; HttpOnly\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      deletedComment:\n                        type: object\n                        properties:\n                          __v:\n                            type: number\n                            example: 0\n                          _id:\n                            type: string\n                            example: 64973f433acb0ae20a97a354\n                          author:\n                            type: string\n                            example: 6497369d3e2615fb255a947d\n                          content:\n                            type: string\n                            example: My first comment\n                          createdAt:\n                            type: string\n                            example: '2023-06-24T19:08:51.260Z'\n                          postId:\n                            type: string\n                            example: 649736ac3e2615fb255a948b\n                          updatedAt:\n                            type: string\n                            example: '2023-06-24T19:08:51.260Z'\n                  message:\n                    type: string\n                    example: Comment deleted successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Delete comment:\n                  value:\n                    data:\n                      deletedComment:\n                        __v: 0\n                        _id: 64973f433acb0ae20a97a354\n                        author: 6497369d3e2615fb255a947d\n                        content: My first comment\n                        createdAt: '2023-06-24T19:08:51.260Z'\n                        postId: 649736ac3e2615fb255a948b\n                        updatedAt: '2023-06-24T19:08:51.260Z'\n                    message: Comment deleted successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: commentId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 64973f433acb0ae20a97a354\n  /social-media/bookmarks:\n    get:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Get bookmarked posts\n      description: >-\n        The API endpoint allows you to retrieve the bookmarked posts of the\n        currently logged-in user.\n\n\n        Upon accessing this endpoint, you will receive a response containing the\n        posts that the user has bookmarked or saved.\n      operationId: getBookmarkedPosts\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '5'\n      responses:\n        '200':\n          description: Get bookmarked posts\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '7522'\n            Date:\n              schema:\n                type: string\n                example: Tue, 04 Jul 2023 09:23:26 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1d62-HCRmDlwR5H7hJXp5kG0K54ITx0c\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '499'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '898'\n            Set-Cookie:\n              schema:\n                type: string\n                example: >-\n                  connect.sid=s%3AkC9aY-AKbv86h2hbiVsTUoSCOIEhyx5J.4dHOjEBjjngVzBCNKUGrM%2FNdizJ8McgYAxxTcYTkfxU;\n                  Path=/; HttpOnly\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      bookmarkedPosts:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            __v:\n                              type: number\n                              example: 0\n                            _id:\n                              type: string\n                              example: 64a3db356b55dac333b044e7\n                            author:\n                              type: object\n                              properties:\n                                __v:\n                                  type: number\n                                  example: 0\n                                _id:\n                                  type: string\n                                  example: 64a3daee2aaac053bc597336\n                                account:\n                                  type: object\n                                  properties:\n                                    _id:\n                                      type: string\n                                      example: 64a3daee2aaac053bc59726d\n                                    avatar:\n                                      type: object\n                                      properties:\n                                        _id:\n                                          type: string\n                                          example: 64a3daee2aaac053bc59726e\n                                        localPath:\n                                          type: string\n                                          example: ''\n                                        url:\n                                          type: string\n                                          example: >-\n                                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/688.jpg\n                                    email:\n                                      type: string\n                                      example: edd_schoen@hotmail.com\n                                    username:\n                                      type: string\n                                      example: maurine70\n                                bio:\n                                  type: string\n                                  example: underclothes lover, artist\n                                countryCode:\n                                  type: string\n                                  example: '+91'\n                                coverImage:\n                                  type: object\n                                  properties:\n                                    _id:\n                                      type: string\n                                      example: 64a3daee2aaac053bc597335\n                                    localPath:\n                                      type: string\n                                      example: ''\n                                    url:\n                                      type: string\n                                      example: https://via.placeholder.com/800x450.png\n                                createdAt:\n                                  type: string\n                                  example: '2023-07-04T08:40:14.958Z'\n                                dob:\n                                  type: string\n                                  example: '2022-09-05T09:34:10.308Z'\n                                firstName:\n                                  type: string\n                                  example: Tanner\n                                lastName:\n                                  type: string\n                                  example: Kozey\n                                location:\n                                  type: string\n                                  example: Fort Isabellfurt, Anguilla\n                                owner:\n                                  type: string\n                                  example: 64a3daee2aaac053bc59726d\n                                phoneNumber:\n                                  type: string\n                                  example: '9952503457'\n                                updatedAt:\n                                  type: string\n                                  example: '2023-07-04T08:41:25.068Z'\n                            comments:\n                              type: number\n                              example: 2\n                            content:\n                              type: string\n                              example: >-\n                                Nesciunt in esse.\n\n                                Laboriosam sapiente vitae ipsa vitae esse modi\n                                sit ipsam temporibus.\n                            createdAt:\n                              type: string\n                              example: '2023-07-04T08:41:25.267Z'\n                            images:\n                              type: array\n                              items:\n                                type: object\n                                properties:\n                                  _id:\n                                    type: string\n                                    example: 64a3db356b55dac333b044e8\n                                  localPath:\n                                    type: string\n                                    example: ''\n                                  url:\n                                    type: string\n                                    example: >-\n                                      https://loremflickr.com/640/480/food?lock=954464324288512\n                              example:\n                                - _id: 64a3db356b55dac333b044e8\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=954464324288512\n                                - _id: 64a3db356b55dac333b044e9\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=3200299877531648\n                                - _id: 64a3db356b55dac333b044ea\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=5783407372009472\n                                - _id: 64a3db356b55dac333b044eb\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=2929590504783872\n                                - _id: 64a3db356b55dac333b044ec\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=525756427927552\n                                - _id: 64a3db356b55dac333b044ed\n                                  localPath: ''\n                                  url: >-\n                                    https://loremflickr.com/640/480/food?lock=866878285152256\n                            isBookmarked:\n                              type: boolean\n                              example: true\n                            isLiked:\n                              type: boolean\n                              example: false\n                            likes:\n                              type: number\n                              example: 10\n                            tags:\n                              type: array\n                              items:\n                                type: string\n                                example: facilis\n                              example:\n                                - facilis\n                                - numquam\n                                - cupiditate\n                                - repellat\n                                - corporis\n                                - fuga\n                            updatedAt:\n                              type: string\n                              example: '2023-07-04T08:41:25.267Z'\n                        example:\n                          - __v: 0\n                            _id: 64a3db356b55dac333b044e7\n                            author:\n                              __v: 0\n                              _id: 64a3daee2aaac053bc597336\n                              account:\n                                _id: 64a3daee2aaac053bc59726d\n                                avatar:\n                                  _id: 64a3daee2aaac053bc59726e\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/688.jpg\n                                email: edd_schoen@hotmail.com\n                                username: maurine70\n                              bio: underclothes lover, artist\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 64a3daee2aaac053bc597335\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-04T08:40:14.958Z'\n                              dob: '2022-09-05T09:34:10.308Z'\n                              firstName: Tanner\n                              lastName: Kozey\n                              location: Fort Isabellfurt, Anguilla\n                              owner: 64a3daee2aaac053bc59726d\n                              phoneNumber: '9952503457'\n                              updatedAt: '2023-07-04T08:41:25.068Z'\n                            comments: 2\n                            content: >-\n                              Nesciunt in esse.\n\n                              Laboriosam sapiente vitae ipsa vitae esse modi sit\n                              ipsam temporibus.\n                            createdAt: '2023-07-04T08:41:25.267Z'\n                            images:\n                              - _id: 64a3db356b55dac333b044e8\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=954464324288512\n                              - _id: 64a3db356b55dac333b044e9\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=3200299877531648\n                              - _id: 64a3db356b55dac333b044ea\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=5783407372009472\n                              - _id: 64a3db356b55dac333b044eb\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=2929590504783872\n                              - _id: 64a3db356b55dac333b044ec\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=525756427927552\n                              - _id: 64a3db356b55dac333b044ed\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=866878285152256\n                            isBookmarked: true\n                            isLiked: false\n                            likes: 10\n                            tags:\n                              - facilis\n                              - numquam\n                              - cupiditate\n                              - repellat\n                              - corporis\n                              - fuga\n                            updatedAt: '2023-07-04T08:41:25.267Z'\n                          - __v: 0\n                            _id: 64a3db356b55dac333b0418a\n                            author:\n                              __v: 0\n                              _id: 64a3daef2aaac053bc597369\n                              account:\n                                _id: 64a3daee2aaac053bc59727f\n                                avatar:\n                                  _id: 64a3daee2aaac053bc597280\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/37.jpg\n                                email: ignacio_sauer@yahoo.com\n                                username: florida74\n                              bio: buffet fan, film lover\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 64a3daef2aaac053bc597368\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-04T08:40:15.032Z'\n                              dob: '2007-06-16T06:08:52.944Z'\n                              firstName: Cecil\n                              lastName: Altenwerth\n                              location: Normal, Armenia\n                              owner: 64a3daee2aaac053bc59727f\n                              phoneNumber: '9075404147'\n                              updatedAt: '2023-07-04T08:41:25.069Z'\n                            comments: 1\n                            content: >-\n                              Repellendus laboriosam rem necessitatibus maiores\n                              sequi.\n\n                              Cum dolorem quia autem amet delectus sed illo\n                              autem.\n                            createdAt: '2023-07-04T08:41:25.253Z'\n                            images:\n                              - _id: 64a3db356b55dac333b0418b\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=1945830219055104\n                              - _id: 64a3db356b55dac333b0418c\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=2487481691799552\n                              - _id: 64a3db356b55dac333b0418d\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=3423060583514112\n                              - _id: 64a3db356b55dac333b0418e\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=1567535373746176\n                              - _id: 64a3db356b55dac333b0418f\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=7039095219945472\n                              - _id: 64a3db356b55dac333b04190\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=1234336640663552\n                            isBookmarked: true\n                            isLiked: false\n                            likes: 10\n                            tags:\n                              - suscipit\n                              - quam\n                              - enim\n                              - in\n                              - dolorum\n                              - praesentium\n                              - hic\n                            updatedAt: '2023-07-04T08:41:25.253Z'\n                          - __v: 0\n                            _id: 64a3db356b55dac333b041f3\n                            author:\n                              __v: 0\n                              _id: 64a3daef2aaac053bc597414\n                              account:\n                                _id: 64a3daee2aaac053bc5972a3\n                                avatar:\n                                  _id: 64a3daee2aaac053bc5972a4\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/15.jpg\n                                email: eusebio_hilll20@yahoo.com\n                                username: rodger_kris\n                              bio: filmmaker, geek, philosopher\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 64a3daef2aaac053bc597413\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-04T08:40:15.302Z'\n                              dob: '2011-06-25T16:37:57.990Z'\n                              firstName: Hipolito\n                              lastName: Turner\n                              location: Shaunbury, India\n                              owner: 64a3daee2aaac053bc5972a3\n                              phoneNumber: '9670471802'\n                              updatedAt: '2023-07-04T08:41:25.070Z'\n                            comments: 2\n                            content: >-\n                              Veniam error in molestias voluptates soluta\n                              voluptates.\n\n                              Cupiditate quam eos ullam explicabo.\n\n                              At soluta ullam ex minus est consequatur\n                              repudiandae cumque.\n                            createdAt: '2023-07-04T08:41:25.255Z'\n                            images:\n                              - _id: 64a3db356b55dac333b041f4\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=3927586684010496\n                              - _id: 64a3db356b55dac333b041f5\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=2889143417831424\n                              - _id: 64a3db356b55dac333b041f6\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=3118722598305792\n                              - _id: 64a3db356b55dac333b041f7\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=6381110556622848\n                              - _id: 64a3db356b55dac333b041f8\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=6137974645325824\n                              - _id: 64a3db356b55dac333b041f9\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=1767912304017408\n                            isBookmarked: true\n                            isLiked: false\n                            likes: 5\n                            tags:\n                              - temporibus\n                              - eum\n                              - ad\n                              - quae\n                              - ea\n                              - earum\n                              - architecto\n                              - officia\n                            updatedAt: '2023-07-04T08:41:25.255Z'\n                          - __v: 0\n                            _id: 64a3db356b55dac333b04327\n                            author:\n                              __v: 0\n                              _id: 64a3daef2aaac053bc59738a\n                              account:\n                                _id: 64a3daee2aaac053bc597258\n                                avatar:\n                                  _id: 64a3daee2aaac053bc597259\n                                  localPath: ''\n                                  url: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/882.jpg\n                                email: zackery_lesch49@gmail.com\n                                username: branson.marks\n                              bio: description fan  🤙🏼\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 64a3daef2aaac053bc597389\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-04T08:40:15.090Z'\n                              dob: '2012-11-17T13:44:53.520Z'\n                              firstName: Dina\n                              lastName: Carter\n                              location: Racine, Grenada\n                              owner: 64a3daee2aaac053bc597258\n                              phoneNumber: '9330674786'\n                              updatedAt: '2023-07-04T08:41:25.069Z'\n                            comments: 4\n                            content: >-\n                              Pariatur temporibus ipsam.\n\n                              Beatae ea quibusdam explicabo assumenda labore\n                              nostrum.\n                            createdAt: '2023-07-04T08:41:25.260Z'\n                            images:\n                              - _id: 64a3db356b55dac333b04328\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=6608661948399616\n                              - _id: 64a3db356b55dac333b04329\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=8960548269981696\n                              - _id: 64a3db356b55dac333b0432a\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=6478132175437824\n                              - _id: 64a3db356b55dac333b0432b\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=3544367866314752\n                              - _id: 64a3db356b55dac333b0432c\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=4732213281161216\n                              - _id: 64a3db356b55dac333b0432d\n                                localPath: ''\n                                url: >-\n                                  https://loremflickr.com/640/480/food?lock=4065493583396864\n                            isBookmarked: true\n                            isLiked: true\n                            likes: 14\n                            tags:\n                              - vitae\n                              - omnis\n                              - in\n                              - similique\n                              - libero\n                              - debitis\n                            updatedAt: '2023-07-04T08:41:25.260Z'\n                      hasNextPage:\n                        type: boolean\n                        example: false\n                      hasPrevPage:\n                        type: boolean\n                        example: false\n                      limit:\n                        type: number\n                        example: 5\n                      nextPage:\n                        nullable: true\n                        example: null\n                      page:\n                        type: number\n                        example: 1\n                      prevPage:\n                        nullable: true\n                        example: null\n                      serialNumberStartFrom:\n                        type: number\n                        example: 1\n                      totalBookmarkedPosts:\n                        type: number\n                        example: 4\n                      totalPages:\n                        type: number\n                        example: 1\n                  message:\n                    type: string\n                    example: Bookmarked posts fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get bookmarked posts:\n                  value:\n                    data:\n                      bookmarkedPosts:\n                        - __v: 0\n                          _id: 64a3db356b55dac333b044e7\n                          author:\n                            __v: 0\n                            _id: 64a3daee2aaac053bc597336\n                            account:\n                              _id: 64a3daee2aaac053bc59726d\n                              avatar:\n                                _id: 64a3daee2aaac053bc59726e\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/688.jpg\n                              email: edd_schoen@hotmail.com\n                              username: maurine70\n                            bio: underclothes lover, artist\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 64a3daee2aaac053bc597335\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-04T08:40:14.958Z'\n                            dob: '2022-09-05T09:34:10.308Z'\n                            firstName: Tanner\n                            lastName: Kozey\n                            location: Fort Isabellfurt, Anguilla\n                            owner: 64a3daee2aaac053bc59726d\n                            phoneNumber: '9952503457'\n                            updatedAt: '2023-07-04T08:41:25.068Z'\n                          comments: 2\n                          content: >-\n                            Nesciunt in esse.\n\n                            Laboriosam sapiente vitae ipsa vitae esse modi sit\n                            ipsam temporibus.\n                          createdAt: '2023-07-04T08:41:25.267Z'\n                          images:\n                            - _id: 64a3db356b55dac333b044e8\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=954464324288512\n                            - _id: 64a3db356b55dac333b044e9\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=3200299877531648\n                            - _id: 64a3db356b55dac333b044ea\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=5783407372009472\n                            - _id: 64a3db356b55dac333b044eb\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=2929590504783872\n                            - _id: 64a3db356b55dac333b044ec\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=525756427927552\n                            - _id: 64a3db356b55dac333b044ed\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=866878285152256\n                          isBookmarked: true\n                          isLiked: false\n                          likes: 10\n                          tags:\n                            - facilis\n                            - numquam\n                            - cupiditate\n                            - repellat\n                            - corporis\n                            - fuga\n                          updatedAt: '2023-07-04T08:41:25.267Z'\n                        - __v: 0\n                          _id: 64a3db356b55dac333b0418a\n                          author:\n                            __v: 0\n                            _id: 64a3daef2aaac053bc597369\n                            account:\n                              _id: 64a3daee2aaac053bc59727f\n                              avatar:\n                                _id: 64a3daee2aaac053bc597280\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/37.jpg\n                              email: ignacio_sauer@yahoo.com\n                              username: florida74\n                            bio: buffet fan, film lover\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 64a3daef2aaac053bc597368\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-04T08:40:15.032Z'\n                            dob: '2007-06-16T06:08:52.944Z'\n                            firstName: Cecil\n                            lastName: Altenwerth\n                            location: Normal, Armenia\n                            owner: 64a3daee2aaac053bc59727f\n                            phoneNumber: '9075404147'\n                            updatedAt: '2023-07-04T08:41:25.069Z'\n                          comments: 1\n                          content: >-\n                            Repellendus laboriosam rem necessitatibus maiores\n                            sequi.\n\n                            Cum dolorem quia autem amet delectus sed illo autem.\n                          createdAt: '2023-07-04T08:41:25.253Z'\n                          images:\n                            - _id: 64a3db356b55dac333b0418b\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=1945830219055104\n                            - _id: 64a3db356b55dac333b0418c\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=2487481691799552\n                            - _id: 64a3db356b55dac333b0418d\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=3423060583514112\n                            - _id: 64a3db356b55dac333b0418e\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=1567535373746176\n                            - _id: 64a3db356b55dac333b0418f\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=7039095219945472\n                            - _id: 64a3db356b55dac333b04190\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=1234336640663552\n                          isBookmarked: true\n                          isLiked: false\n                          likes: 10\n                          tags:\n                            - suscipit\n                            - quam\n                            - enim\n                            - in\n                            - dolorum\n                            - praesentium\n                            - hic\n                          updatedAt: '2023-07-04T08:41:25.253Z'\n                        - __v: 0\n                          _id: 64a3db356b55dac333b041f3\n                          author:\n                            __v: 0\n                            _id: 64a3daef2aaac053bc597414\n                            account:\n                              _id: 64a3daee2aaac053bc5972a3\n                              avatar:\n                                _id: 64a3daee2aaac053bc5972a4\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/15.jpg\n                              email: eusebio_hilll20@yahoo.com\n                              username: rodger_kris\n                            bio: filmmaker, geek, philosopher\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 64a3daef2aaac053bc597413\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-04T08:40:15.302Z'\n                            dob: '2011-06-25T16:37:57.990Z'\n                            firstName: Hipolito\n                            lastName: Turner\n                            location: Shaunbury, India\n                            owner: 64a3daee2aaac053bc5972a3\n                            phoneNumber: '9670471802'\n                            updatedAt: '2023-07-04T08:41:25.070Z'\n                          comments: 2\n                          content: >-\n                            Veniam error in molestias voluptates soluta\n                            voluptates.\n\n                            Cupiditate quam eos ullam explicabo.\n\n                            At soluta ullam ex minus est consequatur repudiandae\n                            cumque.\n                          createdAt: '2023-07-04T08:41:25.255Z'\n                          images:\n                            - _id: 64a3db356b55dac333b041f4\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=3927586684010496\n                            - _id: 64a3db356b55dac333b041f5\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=2889143417831424\n                            - _id: 64a3db356b55dac333b041f6\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=3118722598305792\n                            - _id: 64a3db356b55dac333b041f7\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=6381110556622848\n                            - _id: 64a3db356b55dac333b041f8\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=6137974645325824\n                            - _id: 64a3db356b55dac333b041f9\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=1767912304017408\n                          isBookmarked: true\n                          isLiked: false\n                          likes: 5\n                          tags:\n                            - temporibus\n                            - eum\n                            - ad\n                            - quae\n                            - ea\n                            - earum\n                            - architecto\n                            - officia\n                          updatedAt: '2023-07-04T08:41:25.255Z'\n                        - __v: 0\n                          _id: 64a3db356b55dac333b04327\n                          author:\n                            __v: 0\n                            _id: 64a3daef2aaac053bc59738a\n                            account:\n                              _id: 64a3daee2aaac053bc597258\n                              avatar:\n                                _id: 64a3daee2aaac053bc597259\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/882.jpg\n                              email: zackery_lesch49@gmail.com\n                              username: branson.marks\n                            bio: description fan  🤙🏼\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 64a3daef2aaac053bc597389\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-04T08:40:15.090Z'\n                            dob: '2012-11-17T13:44:53.520Z'\n                            firstName: Dina\n                            lastName: Carter\n                            location: Racine, Grenada\n                            owner: 64a3daee2aaac053bc597258\n                            phoneNumber: '9330674786'\n                            updatedAt: '2023-07-04T08:41:25.069Z'\n                          comments: 4\n                          content: >-\n                            Pariatur temporibus ipsam.\n\n                            Beatae ea quibusdam explicabo assumenda labore\n                            nostrum.\n                          createdAt: '2023-07-04T08:41:25.260Z'\n                          images:\n                            - _id: 64a3db356b55dac333b04328\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=6608661948399616\n                            - _id: 64a3db356b55dac333b04329\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=8960548269981696\n                            - _id: 64a3db356b55dac333b0432a\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=6478132175437824\n                            - _id: 64a3db356b55dac333b0432b\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=3544367866314752\n                            - _id: 64a3db356b55dac333b0432c\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=4732213281161216\n                            - _id: 64a3db356b55dac333b0432d\n                              localPath: ''\n                              url: >-\n                                https://loremflickr.com/640/480/food?lock=4065493583396864\n                          isBookmarked: true\n                          isLiked: true\n                          likes: 14\n                          tags:\n                            - vitae\n                            - omnis\n                            - in\n                            - similique\n                            - libero\n                            - debitis\n                          updatedAt: '2023-07-04T08:41:25.260Z'\n                      hasNextPage: false\n                      hasPrevPage: false\n                      limit: 5\n                      nextPage: null\n                      page: 1\n                      prevPage: null\n                      serialNumberStartFrom: 1\n                      totalBookmarkedPosts: 4\n                      totalPages: 1\n                    message: Bookmarked posts fetched successfully\n                    statusCode: 200\n                    success: true\n  /social-media/bookmarks/{postId}:\n    post:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Add or remove bookmark\n      description: >-\n        The API endpoint allows users to add or remove posts from their\n        bookmarks.\n\n\n        By accessing this endpoint, users can add a post to their bookmarks or\n        remove a post from their bookmarks.\n      operationId: addOrRemoveBookmark\n      responses:\n        '200':\n          description: Add or remove bookmark\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '98'\n            Date:\n              schema:\n                type: string\n                example: Sun, 25 Jun 2023 14:19:03 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"62-HlPrzR8K+Jri9b8Fo0nVfwGh5MQ\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '490'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '854'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      isBookmarked:\n                        type: boolean\n                        example: true\n                  message:\n                    type: string\n                    example: Bookmarked successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Add or remove bookmark:\n                  value:\n                    data:\n                      isBookmarked: true\n                    message: Bookmarked successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: postId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 64ad9c97bab19994fc168932\n  /social-media/follow/list/followers/{username}:\n    get:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Get user's followers list\n      description: >-\n        The API endpoint allows you to retrieve the list of followers for a\n        specific user based on their username passed as a path variable.\n\n\n        When accessing this endpoint, you will receive a response containing the\n        followers' information for the specified user.\n      operationId: getUserSFollowersList\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '5'\n      responses:\n        '200':\n          description: Get user's followers list\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '4618'\n            Date:\n              schema:\n                type: string\n                example: Mon, 03 Jul 2023 06:31:40 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"120a-eMJykooHwDOO2/RWMg8FUDDrHyw\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '495'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '853'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      followers:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            _id:\n                              type: string\n                              example: 649fe3a4945564b46980cea4\n                            avatar:\n                              type: object\n                              properties:\n                                _id:\n                                  type: string\n                                  example: 649fe3a4945564b46980cea5\n                                localPath:\n                                  type: string\n                                  example: ''\n                                url:\n                                  type: string\n                                  example: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/396.jpg\n                            email:\n                              type: string\n                              example: bartholome.wilkinson28@hotmail.com\n                            isFollowing:\n                              type: boolean\n                              example: false\n                            profile:\n                              type: object\n                              properties:\n                                __v:\n                                  type: number\n                                  example: 0\n                                _id:\n                                  type: string\n                                  example: 649fe3a5945564b46980d08f\n                                bio:\n                                  type: string\n                                  example: activist, inventor, gamer\n                                countryCode:\n                                  type: string\n                                  example: '+91'\n                                coverImage:\n                                  type: object\n                                  properties:\n                                    _id:\n                                      type: string\n                                      example: 649fe3a5945564b46980d08e\n                                    localPath:\n                                      type: string\n                                      example: ''\n                                    url:\n                                      type: string\n                                      example: https://via.placeholder.com/800x450.png\n                                createdAt:\n                                  type: string\n                                  example: '2023-07-01T08:28:21.058Z'\n                                dob:\n                                  type: string\n                                  example: '2019-11-27T16:59:02.016Z'\n                                firstName:\n                                  type: string\n                                  example: Cayla\n                                lastName:\n                                  type: string\n                                  example: Armstrong\n                                location:\n                                  type: string\n                                  example: Onieville, Argentina\n                                owner:\n                                  type: string\n                                  example: 649fe3a4945564b46980cea4\n                                phoneNumber:\n                                  type: string\n                                  example: '9469440605'\n                                updatedAt:\n                                  type: string\n                                  example: '2023-07-01T10:48:03.053Z'\n                            username:\n                              type: string\n                              example: ana.breitenberg10\n                        example:\n                          - _id: 649fe3a4945564b46980cea4\n                            avatar:\n                              _id: 649fe3a4945564b46980cea5\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/396.jpg\n                            email: bartholome.wilkinson28@hotmail.com\n                            isFollowing: false\n                            profile:\n                              __v: 0\n                              _id: 649fe3a5945564b46980d08f\n                              bio: activist, inventor, gamer\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 649fe3a5945564b46980d08e\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-01T08:28:21.058Z'\n                              dob: '2019-11-27T16:59:02.016Z'\n                              firstName: Cayla\n                              lastName: Armstrong\n                              location: Onieville, Argentina\n                              owner: 649fe3a4945564b46980cea4\n                              phoneNumber: '9469440605'\n                              updatedAt: '2023-07-01T10:48:03.053Z'\n                            username: ana.breitenberg10\n                          - _id: 649fe3a4945564b46980ce89\n                            avatar:\n                              _id: 649fe3a4945564b46980ce8a\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/779.jpg\n                            email: keven64@hotmail.com\n                            isFollowing: false\n                            profile:\n                              __v: 0\n                              _id: 649fe3a4945564b46980d042\n                              bio: capital enthusiast, film lover\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 649fe3a4945564b46980d041\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-01T08:28:20.942Z'\n                              dob: '2018-01-28T09:06:26.282Z'\n                              firstName: Blanche\n                              lastName: Wilkinson\n                              location: Mayrachester, Cook Islands\n                              owner: 649fe3a4945564b46980ce89\n                              phoneNumber: '9545420528'\n                              updatedAt: '2023-07-01T10:48:03.052Z'\n                            username: terry.hermann\n                          - _id: 649fe3a4945564b46980ce35\n                            avatar:\n                              _id: 649fe3a4945564b46980ce36\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/380.jpg\n                            email: henry87@hotmail.com\n                            isFollowing: false\n                            profile:\n                              __v: 0\n                              _id: 649fe3a4945564b46980cedd\n                              bio: musician\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 649fe3a4945564b46980cedc\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-01T08:28:20.394Z'\n                              dob: '2017-06-19T15:08:10.576Z'\n                              firstName: Vern\n                              lastName: Robel\n                              location: Port Price, Tokelau\n                              owner: 649fe3a4945564b46980ce35\n                              phoneNumber: '9705693382'\n                              updatedAt: '2023-07-01T10:48:03.049Z'\n                            username: elise.grant21\n                          - _id: 649fe3a4945564b46980ce80\n                            avatar:\n                              _id: 649fe3a4945564b46980ce81\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/666.jpg\n                            email: oral_beatty@hotmail.com\n                            isFollowing: false\n                            profile:\n                              __v: 0\n                              _id: 649fe3a4945564b46980d00b\n                              bio: backyard lover, founder\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 649fe3a4945564b46980d00a\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-01T08:28:20.857Z'\n                              dob: '2016-08-06T16:11:55.338Z'\n                              firstName: Stefanie\n                              lastName: Weimann\n                              location: Domenickmouth, Azerbaijan\n                              owner: 649fe3a4945564b46980ce80\n                              phoneNumber: '9634761683'\n                              updatedAt: '2023-07-01T10:48:03.052Z'\n                            username: rosamond.schaden\n                          - _id: 649fe3a4945564b46980ce23\n                            avatar:\n                              _id: 649fe3a4945564b46980ce24\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1149.jpg\n                            email: jensen_zulauf@yahoo.com\n                            isFollowing: false\n                            profile:\n                              __v: 0\n                              _id: 649fe3a4945564b46980cf0e\n                              bio: scientist, engineer, creator ♟️\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 649fe3a4945564b46980cf0d\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-01T08:28:20.436Z'\n                              dob: '2012-12-18T08:41:05.208Z'\n                              firstName: Aryanna\n                              lastName: Kautzer\n                              location: Theresiaberg, Kazakhstan\n                              owner: 649fe3a4945564b46980ce23\n                              phoneNumber: '9197132098'\n                              updatedAt: '2023-07-01T10:48:03.049Z'\n                            username: gregoria.treutel\n                      hasNextPage:\n                        type: boolean\n                        example: true\n                      hasPrevPage:\n                        type: boolean\n                        example: false\n                      limit:\n                        type: number\n                        example: 5\n                      nextPage:\n                        type: number\n                        example: 2\n                      page:\n                        type: number\n                        example: 1\n                      prevPage:\n                        nullable: true\n                        example: null\n                      serialNumberStartFrom:\n                        type: number\n                        example: 1\n                      totalFollowers:\n                        type: number\n                        example: 16\n                      totalPages:\n                        type: number\n                        example: 4\n                      user:\n                        type: object\n                        properties:\n                          _id:\n                            type: string\n                            example: 649fe3a4945564b46980ce2f\n                          avatar:\n                            type: object\n                            properties:\n                              _id:\n                                type: string\n                                example: 649fe3a4945564b46980ce30\n                              localPath:\n                                type: string\n                                example: ''\n                              url:\n                                type: string\n                                example: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/905.jpg\n                          email:\n                            type: string\n                            example: nicklaus33@gmail.com\n                          isEmailVerified:\n                            type: boolean\n                            example: true\n                          profile:\n                            type: object\n                            properties:\n                              _id:\n                                type: string\n                                example: 649fe3a4945564b46980cee6\n                              bio:\n                                type: string\n                                example: boutique advocate, person 🇯🇵\n                              countryCode:\n                                type: string\n                                example: '+91'\n                              coverImage:\n                                type: object\n                                properties:\n                                  _id:\n                                    type: string\n                                    example: 649fe3a4945564b46980cee5\n                                  localPath:\n                                    type: string\n                                    example: ''\n                                  url:\n                                    type: string\n                                    example: https://via.placeholder.com/800x450.png\n                              firstName:\n                                type: string\n                                example: Ernesto\n                              lastName:\n                                type: string\n                                example: Bode\n                              location:\n                                type: string\n                                example: New Madisenchester, Bouvet Island\n                              phoneNumber:\n                                type: string\n                                example: '9295021853'\n                          username:\n                            type: string\n                            example: griffin96\n                  message:\n                    type: string\n                    example: Followers list fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get user's followers list:\n                  value:\n                    data:\n                      followers:\n                        - _id: 649fe3a4945564b46980cea4\n                          avatar:\n                            _id: 649fe3a4945564b46980cea5\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/396.jpg\n                          email: bartholome.wilkinson28@hotmail.com\n                          isFollowing: false\n                          profile:\n                            __v: 0\n                            _id: 649fe3a5945564b46980d08f\n                            bio: activist, inventor, gamer\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 649fe3a5945564b46980d08e\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-01T08:28:21.058Z'\n                            dob: '2019-11-27T16:59:02.016Z'\n                            firstName: Cayla\n                            lastName: Armstrong\n                            location: Onieville, Argentina\n                            owner: 649fe3a4945564b46980cea4\n                            phoneNumber: '9469440605'\n                            updatedAt: '2023-07-01T10:48:03.053Z'\n                          username: ana.breitenberg10\n                        - _id: 649fe3a4945564b46980ce89\n                          avatar:\n                            _id: 649fe3a4945564b46980ce8a\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/779.jpg\n                          email: keven64@hotmail.com\n                          isFollowing: false\n                          profile:\n                            __v: 0\n                            _id: 649fe3a4945564b46980d042\n                            bio: capital enthusiast, film lover\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 649fe3a4945564b46980d041\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-01T08:28:20.942Z'\n                            dob: '2018-01-28T09:06:26.282Z'\n                            firstName: Blanche\n                            lastName: Wilkinson\n                            location: Mayrachester, Cook Islands\n                            owner: 649fe3a4945564b46980ce89\n                            phoneNumber: '9545420528'\n                            updatedAt: '2023-07-01T10:48:03.052Z'\n                          username: terry.hermann\n                        - _id: 649fe3a4945564b46980ce35\n                          avatar:\n                            _id: 649fe3a4945564b46980ce36\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/380.jpg\n                          email: henry87@hotmail.com\n                          isFollowing: false\n                          profile:\n                            __v: 0\n                            _id: 649fe3a4945564b46980cedd\n                            bio: musician\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 649fe3a4945564b46980cedc\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-01T08:28:20.394Z'\n                            dob: '2017-06-19T15:08:10.576Z'\n                            firstName: Vern\n                            lastName: Robel\n                            location: Port Price, Tokelau\n                            owner: 649fe3a4945564b46980ce35\n                            phoneNumber: '9705693382'\n                            updatedAt: '2023-07-01T10:48:03.049Z'\n                          username: elise.grant21\n                        - _id: 649fe3a4945564b46980ce80\n                          avatar:\n                            _id: 649fe3a4945564b46980ce81\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/666.jpg\n                          email: oral_beatty@hotmail.com\n                          isFollowing: false\n                          profile:\n                            __v: 0\n                            _id: 649fe3a4945564b46980d00b\n                            bio: backyard lover, founder\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 649fe3a4945564b46980d00a\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-01T08:28:20.857Z'\n                            dob: '2016-08-06T16:11:55.338Z'\n                            firstName: Stefanie\n                            lastName: Weimann\n                            location: Domenickmouth, Azerbaijan\n                            owner: 649fe3a4945564b46980ce80\n                            phoneNumber: '9634761683'\n                            updatedAt: '2023-07-01T10:48:03.052Z'\n                          username: rosamond.schaden\n                        - _id: 649fe3a4945564b46980ce23\n                          avatar:\n                            _id: 649fe3a4945564b46980ce24\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1149.jpg\n                          email: jensen_zulauf@yahoo.com\n                          isFollowing: false\n                          profile:\n                            __v: 0\n                            _id: 649fe3a4945564b46980cf0e\n                            bio: scientist, engineer, creator ♟️\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 649fe3a4945564b46980cf0d\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-01T08:28:20.436Z'\n                            dob: '2012-12-18T08:41:05.208Z'\n                            firstName: Aryanna\n                            lastName: Kautzer\n                            location: Theresiaberg, Kazakhstan\n                            owner: 649fe3a4945564b46980ce23\n                            phoneNumber: '9197132098'\n                            updatedAt: '2023-07-01T10:48:03.049Z'\n                          username: gregoria.treutel\n                      hasNextPage: true\n                      hasPrevPage: false\n                      limit: 5\n                      nextPage: 2\n                      page: 1\n                      prevPage: null\n                      serialNumberStartFrom: 1\n                      totalFollowers: 16\n                      totalPages: 4\n                      user:\n                        _id: 649fe3a4945564b46980ce2f\n                        avatar:\n                          _id: 649fe3a4945564b46980ce30\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/905.jpg\n                        email: nicklaus33@gmail.com\n                        isEmailVerified: true\n                        profile:\n                          _id: 649fe3a4945564b46980cee6\n                          bio: boutique advocate, person 🇯🇵\n                          countryCode: '+91'\n                          coverImage:\n                            _id: 649fe3a4945564b46980cee5\n                            localPath: ''\n                            url: https://via.placeholder.com/800x450.png\n                          firstName: Ernesto\n                          lastName: Bode\n                          location: New Madisenchester, Bouvet Island\n                          phoneNumber: '9295021853'\n                        username: griffin96\n                    message: Followers list fetched successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: username\n        in: path\n        required: true\n        schema:\n          type: string\n          example: abdiel_breitenberg22\n  /social-media/follow/list/following/{username}:\n    get:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Get user's following to list\n      description: >-\n        The API endpoint allows you to retrieve the list of users which are\n        being followed by a specific user based on their username passed as a\n        path variable.\n\n\n        When accessing this endpoint, you will receive a response containing the\n        users' information followed by the specified user.\n      operationId: getUserSFollowingToList\n      parameters:\n        - name: page\n          in: query\n          schema:\n            type: string\n            example: '1'\n        - name: limit\n          in: query\n          schema:\n            type: string\n            example: '5'\n      responses:\n        '200':\n          description: Get user's following to list\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '4602'\n            Date:\n              schema:\n                type: string\n                example: Tue, 04 Jul 2023 07:16:45 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"11fa-cytaPaxLWE9MYe78aygm7hjWS0M\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '491'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '673'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      following:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            _id:\n                              type: string\n                              example: 64a3c6f3f867b3375720a53f\n                            avatar:\n                              type: object\n                              properties:\n                                _id:\n                                  type: string\n                                  example: 64a3c6f3f867b3375720a540\n                                localPath:\n                                  type: string\n                                  example: ''\n                                url:\n                                  type: string\n                                  example: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/945.jpg\n                            email:\n                              type: string\n                              example: cynthia94@hotmail.com\n                            isFollowing:\n                              type: boolean\n                              example: true\n                            profile:\n                              type: object\n                              properties:\n                                __v:\n                                  type: number\n                                  example: 0\n                                _id:\n                                  type: string\n                                  example: 64a3c6f4f867b3375720a643\n                                bio:\n                                  type: string\n                                  example: chatter junkie, film lover\n                                countryCode:\n                                  type: string\n                                  example: '+91'\n                                coverImage:\n                                  type: object\n                                  properties:\n                                    _id:\n                                      type: string\n                                      example: 64a3c6f4f867b3375720a642\n                                    localPath:\n                                      type: string\n                                      example: ''\n                                    url:\n                                      type: string\n                                      example: https://via.placeholder.com/800x450.png\n                                createdAt:\n                                  type: string\n                                  example: '2023-07-04T07:15:00.048Z'\n                                dob:\n                                  type: string\n                                  example: '2006-04-18T01:32:21.453Z'\n                                firstName:\n                                  type: string\n                                  example: Assunta\n                                lastName:\n                                  type: string\n                                  example: Feest\n                                location:\n                                  type: string\n                                  example: Richardson, El Salvador\n                                owner:\n                                  type: string\n                                  example: 64a3c6f3f867b3375720a53f\n                                phoneNumber:\n                                  type: string\n                                  example: '9868096685'\n                                updatedAt:\n                                  type: string\n                                  example: '2023-07-04T07:15:00.777Z'\n                            username:\n                              type: string\n                              example: reba35\n                        example:\n                          - _id: 64a3c6f3f867b3375720a53f\n                            avatar:\n                              _id: 64a3c6f3f867b3375720a540\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/945.jpg\n                            email: cynthia94@hotmail.com\n                            isFollowing: true\n                            profile:\n                              __v: 0\n                              _id: 64a3c6f4f867b3375720a643\n                              bio: chatter junkie, film lover\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 64a3c6f4f867b3375720a642\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-04T07:15:00.048Z'\n                              dob: '2006-04-18T01:32:21.453Z'\n                              firstName: Assunta\n                              lastName: Feest\n                              location: Richardson, El Salvador\n                              owner: 64a3c6f3f867b3375720a53f\n                              phoneNumber: '9868096685'\n                              updatedAt: '2023-07-04T07:15:00.777Z'\n                            username: reba35\n                          - _id: 64a3c6f3f867b3375720a56c\n                            avatar:\n                              _id: 64a3c6f3f867b3375720a56d\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/506.jpg\n                            email: arthur.dubuque13@yahoo.com\n                            isFollowing: true\n                            profile:\n                              __v: 0\n                              _id: 64a3c6f4f867b3375720a66c\n                              bio: foodie\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 64a3c6f4f867b3375720a66b\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-04T07:15:00.095Z'\n                              dob: '2014-10-29T11:37:38.681Z'\n                              firstName: Moises\n                              lastName: Daugherty\n                              location: San Bruno, Malaysia\n                              owner: 64a3c6f3f867b3375720a56c\n                              phoneNumber: '9262045371'\n                              updatedAt: '2023-07-04T07:15:00.777Z'\n                            username: brandy9\n                          - _id: 64a3c6f3f867b3375720a5b7\n                            avatar:\n                              _id: 64a3c6f3f867b3375720a5b8\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/407.jpg\n                            email: antonetta_kreiger@gmail.com\n                            isFollowing: true\n                            profile:\n                              __v: 0\n                              _id: 64a3c6f4f867b3375720a78a\n                              bio: farmland supporter\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 64a3c6f4f867b3375720a789\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-04T07:15:00.559Z'\n                              dob: '2006-05-31T21:13:59.965Z'\n                              firstName: Alba\n                              lastName: Bednar\n                              location: New Sam, Libyan Arab Jamahiriya\n                              owner: 64a3c6f3f867b3375720a5b7\n                              phoneNumber: '9624963116'\n                              updatedAt: '2023-07-04T07:15:00.778Z'\n                            username: nikko.johnston\n                          - _id: 64a3c6f3f867b3375720a548\n                            avatar:\n                              _id: 64a3c6f3f867b3375720a549\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1230.jpg\n                            email: cindy.konopelski@yahoo.com\n                            isFollowing: true\n                            profile:\n                              __v: 0\n                              _id: 64a3c6f3f867b3375720a5f4\n                              bio: steam enthusiast, foodie 🇵🇫\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 64a3c6f3f867b3375720a5f3\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-04T07:14:59.923Z'\n                              dob: '2020-09-27T10:32:43.090Z'\n                              firstName: Brice\n                              lastName: Kassulke\n                              location: Reingerton, Jamaica\n                              owner: 64a3c6f3f867b3375720a548\n                              phoneNumber: '9225118426'\n                              updatedAt: '2023-07-04T07:15:00.777Z'\n                            username: cooper55\n                          - _id: 64a3c6f3f867b3375720a5c9\n                            avatar:\n                              _id: 64a3c6f3f867b3375720a5ca\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/722.jpg\n                            email: laila_hansen-paucek20@gmail.com\n                            isFollowing: true\n                            profile:\n                              __v: 0\n                              _id: 64a3c6f4f867b3375720a7cc\n                              bio: freak advocate  👩🏾‍❤️‍💋‍👩🏻\n                              countryCode: '+91'\n                              coverImage:\n                                _id: 64a3c6f4f867b3375720a7cb\n                                localPath: ''\n                                url: https://via.placeholder.com/800x450.png\n                              createdAt: '2023-07-04T07:15:00.681Z'\n                              dob: '2012-11-24T00:47:24.623Z'\n                              firstName: Geovanny\n                              lastName: Carroll\n                              location: Ritchieville, Hungary\n                              owner: 64a3c6f3f867b3375720a5c9\n                              phoneNumber: '9437585942'\n                              updatedAt: '2023-07-04T07:15:00.778Z'\n                            username: shayna62\n                      hasNextPage:\n                        type: boolean\n                        example: true\n                      hasPrevPage:\n                        type: boolean\n                        example: false\n                      limit:\n                        type: number\n                        example: 5\n                      nextPage:\n                        type: number\n                        example: 2\n                      page:\n                        type: number\n                        example: 1\n                      prevPage:\n                        nullable: true\n                        example: null\n                      serialNumberStartFrom:\n                        type: number\n                        example: 1\n                      totalFollowing:\n                        type: number\n                        example: 22\n                      totalPages:\n                        type: number\n                        example: 5\n                      user:\n                        type: object\n                        properties:\n                          _id:\n                            type: string\n                            example: 64a3c6f3f867b3375720a545\n                          avatar:\n                            type: object\n                            properties:\n                              _id:\n                                type: string\n                                example: 64a3c6f3f867b3375720a546\n                              localPath:\n                                type: string\n                                example: ''\n                              url:\n                                type: string\n                                example: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1040.jpg\n                          email:\n                            type: string\n                            example: jimmy.larson-mclaughlin@hotmail.com\n                          isEmailVerified:\n                            type: boolean\n                            example: true\n                          profile:\n                            type: object\n                            properties:\n                              _id:\n                                type: string\n                                example: 64a3c6f4f867b3375720a638\n                              bio:\n                                type: string\n                                example: tonic junkie, gamer\n                              countryCode:\n                                type: string\n                                example: '+91'\n                              coverImage:\n                                type: object\n                                properties:\n                                  _id:\n                                    type: string\n                                    example: 64a3c6f4f867b3375720a637\n                                  localPath:\n                                    type: string\n                                    example: ''\n                                  url:\n                                    type: string\n                                    example: https://via.placeholder.com/800x450.png\n                              firstName:\n                                type: string\n                                example: Eda\n                              lastName:\n                                type: string\n                                example: Ebert\n                              location:\n                                type: string\n                                example: Marionville, Cape Verde\n                              phoneNumber:\n                                type: string\n                                example: '9099109688'\n                          username:\n                            type: string\n                            example: abdiel_breitenberg22\n                  message:\n                    type: string\n                    example: Following list fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get user's following to list:\n                  value:\n                    data:\n                      following:\n                        - _id: 64a3c6f3f867b3375720a53f\n                          avatar:\n                            _id: 64a3c6f3f867b3375720a540\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/945.jpg\n                          email: cynthia94@hotmail.com\n                          isFollowing: true\n                          profile:\n                            __v: 0\n                            _id: 64a3c6f4f867b3375720a643\n                            bio: chatter junkie, film lover\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 64a3c6f4f867b3375720a642\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-04T07:15:00.048Z'\n                            dob: '2006-04-18T01:32:21.453Z'\n                            firstName: Assunta\n                            lastName: Feest\n                            location: Richardson, El Salvador\n                            owner: 64a3c6f3f867b3375720a53f\n                            phoneNumber: '9868096685'\n                            updatedAt: '2023-07-04T07:15:00.777Z'\n                          username: reba35\n                        - _id: 64a3c6f3f867b3375720a56c\n                          avatar:\n                            _id: 64a3c6f3f867b3375720a56d\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/506.jpg\n                          email: arthur.dubuque13@yahoo.com\n                          isFollowing: true\n                          profile:\n                            __v: 0\n                            _id: 64a3c6f4f867b3375720a66c\n                            bio: foodie\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 64a3c6f4f867b3375720a66b\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-04T07:15:00.095Z'\n                            dob: '2014-10-29T11:37:38.681Z'\n                            firstName: Moises\n                            lastName: Daugherty\n                            location: San Bruno, Malaysia\n                            owner: 64a3c6f3f867b3375720a56c\n                            phoneNumber: '9262045371'\n                            updatedAt: '2023-07-04T07:15:00.777Z'\n                          username: brandy9\n                        - _id: 64a3c6f3f867b3375720a5b7\n                          avatar:\n                            _id: 64a3c6f3f867b3375720a5b8\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/407.jpg\n                          email: antonetta_kreiger@gmail.com\n                          isFollowing: true\n                          profile:\n                            __v: 0\n                            _id: 64a3c6f4f867b3375720a78a\n                            bio: farmland supporter\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 64a3c6f4f867b3375720a789\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-04T07:15:00.559Z'\n                            dob: '2006-05-31T21:13:59.965Z'\n                            firstName: Alba\n                            lastName: Bednar\n                            location: New Sam, Libyan Arab Jamahiriya\n                            owner: 64a3c6f3f867b3375720a5b7\n                            phoneNumber: '9624963116'\n                            updatedAt: '2023-07-04T07:15:00.778Z'\n                          username: nikko.johnston\n                        - _id: 64a3c6f3f867b3375720a548\n                          avatar:\n                            _id: 64a3c6f3f867b3375720a549\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1230.jpg\n                          email: cindy.konopelski@yahoo.com\n                          isFollowing: true\n                          profile:\n                            __v: 0\n                            _id: 64a3c6f3f867b3375720a5f4\n                            bio: steam enthusiast, foodie 🇵🇫\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 64a3c6f3f867b3375720a5f3\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-04T07:14:59.923Z'\n                            dob: '2020-09-27T10:32:43.090Z'\n                            firstName: Brice\n                            lastName: Kassulke\n                            location: Reingerton, Jamaica\n                            owner: 64a3c6f3f867b3375720a548\n                            phoneNumber: '9225118426'\n                            updatedAt: '2023-07-04T07:15:00.777Z'\n                          username: cooper55\n                        - _id: 64a3c6f3f867b3375720a5c9\n                          avatar:\n                            _id: 64a3c6f3f867b3375720a5ca\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/722.jpg\n                          email: laila_hansen-paucek20@gmail.com\n                          isFollowing: true\n                          profile:\n                            __v: 0\n                            _id: 64a3c6f4f867b3375720a7cc\n                            bio: freak advocate  👩🏾‍❤️‍💋‍👩🏻\n                            countryCode: '+91'\n                            coverImage:\n                              _id: 64a3c6f4f867b3375720a7cb\n                              localPath: ''\n                              url: https://via.placeholder.com/800x450.png\n                            createdAt: '2023-07-04T07:15:00.681Z'\n                            dob: '2012-11-24T00:47:24.623Z'\n                            firstName: Geovanny\n                            lastName: Carroll\n                            location: Ritchieville, Hungary\n                            owner: 64a3c6f3f867b3375720a5c9\n                            phoneNumber: '9437585942'\n                            updatedAt: '2023-07-04T07:15:00.778Z'\n                          username: shayna62\n                      hasNextPage: true\n                      hasPrevPage: false\n                      limit: 5\n                      nextPage: 2\n                      page: 1\n                      prevPage: null\n                      serialNumberStartFrom: 1\n                      totalFollowing: 22\n                      totalPages: 5\n                      user:\n                        _id: 64a3c6f3f867b3375720a545\n                        avatar:\n                          _id: 64a3c6f3f867b3375720a546\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1040.jpg\n                        email: jimmy.larson-mclaughlin@hotmail.com\n                        isEmailVerified: true\n                        profile:\n                          _id: 64a3c6f4f867b3375720a638\n                          bio: tonic junkie, gamer\n                          countryCode: '+91'\n                          coverImage:\n                            _id: 64a3c6f4f867b3375720a637\n                            localPath: ''\n                            url: https://via.placeholder.com/800x450.png\n                          firstName: Eda\n                          lastName: Ebert\n                          location: Marionville, Cape Verde\n                          phoneNumber: '9099109688'\n                        username: abdiel_breitenberg22\n                    message: Following list fetched successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: username\n        in: path\n        required: true\n        schema:\n          type: string\n          example: abdiel_breitenberg22\n  /social-media/follow/{toBeFollowedUserId}:\n    post:\n      tags:\n        \n        - 📸 Social Media\n        \n      summary: Follow or unfollow user\n      description: >-\n        The API endpoint allows users to follow or unfollow other users within\n        the application.\n\n\n        When accessing this endpoint, users can choose to follow or unfollow a\n        specific user, thereby establishing or severing a connection between\n        their accounts.\n      operationId: followOrUnfollowUser\n      responses:\n        '200':\n          description: Follow or unfollow user\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '93'\n            Date:\n              schema:\n                type: string\n                example: Wed, 21 Jun 2023 20:53:40 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"5d-/mQFks0Xrcsf5U6xWx0ufD+3dLo\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      following:\n                        type: boolean\n                        example: true\n                  message:\n                    type: string\n                    example: Followed successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Follow or unfollow user:\n                  value:\n                    data:\n                      following: true\n                    message: Followed successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: toBeFollowedUserId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 649fe3a4945564b46980ce9b\n  /chat-app/chats:\n    get:\n      tags:\n        \n        - 💬 Chat App\n        \n      summary: Get user's chat list\n      description: >-\n        Retrieve all chats associated with the logged-in user.\n\n\n        This endpoint provides a comprehensive list of both individual and group\n        chats, offering a centralized view of the user's communication\n        interactions.\n\n\n        Developers can utilize this endpoint to seamlessly gather chat metadata,\n        facilitating efficient tracking and management of conversations within\n        the application.\n      operationId: getUserSChatList\n      responses:\n        '200':\n          description: Get user's chat list\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: http://localhost:5173\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '7289'\n            Date:\n              schema:\n                type: string\n                example: Fri, 11 Aug 2023 17:39:22 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1c79-kScmC0d/Z2lL7a4sH90J2/jhl9A\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '492'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '847'\n            Vary:\n              schema:\n                type: string\n                example: Origin\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: array\n                    items:\n                      type: object\n                      properties:\n                        __v:\n                          type: number\n                          example: 0\n                        _id:\n                          type: string\n                          example: 64d6722a5bda3332e4f368a9\n                        admin:\n                          type: string\n                          example: 64d672295bda3332e4f36582\n                        createdAt:\n                          type: string\n                          example: '2023-08-11T17:38:50.921Z'\n                        isGroupChat:\n                          type: boolean\n                          example: true\n                        name:\n                          type: string\n                          example: Ferrari Civicmarkets\n                        participants:\n                          type: array\n                          items:\n                            type: object\n                            properties:\n                              __v:\n                                type: number\n                                example: 0\n                              _id:\n                                type: string\n                                example: 64d672295bda3332e4f3650d\n                              avatar:\n                                type: object\n                                properties:\n                                  _id:\n                                    type: string\n                                    example: 64d672295bda3332e4f3650e\n                                  localPath:\n                                    type: string\n                                    example: ''\n                                  url:\n                                    type: string\n                                    example: >-\n                                      https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/93.jpg\n                              createdAt:\n                                type: string\n                                example: '2023-08-11T17:38:49.117Z'\n                              email:\n                                type: string\n                                example: anissa27@gmail.com\n                              isEmailVerified:\n                                type: boolean\n                                example: true\n                              loginType:\n                                type: string\n                                example: EMAIL_PASSWORD\n                              role:\n                                type: string\n                                example: USER\n                              updatedAt:\n                                type: string\n                                example: '2023-08-11T17:39:09.579Z'\n                              username:\n                                type: string\n                                example: sandrine8\n                          example:\n                            - __v: 0\n                              _id: 64d672295bda3332e4f3650d\n                              avatar:\n                                _id: 64d672295bda3332e4f3650e\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/93.jpg\n                              createdAt: '2023-08-11T17:38:49.117Z'\n                              email: anissa27@gmail.com\n                              isEmailVerified: true\n                              loginType: EMAIL_PASSWORD\n                              role: USER\n                              updatedAt: '2023-08-11T17:39:09.579Z'\n                              username: sandrine8\n                            - __v: 0\n                              _id: 64d672295bda3332e4f3651c\n                              avatar:\n                                _id: 64d672295bda3332e4f3651d\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1038.jpg\n                              createdAt: '2023-08-11T17:38:49.119Z'\n                              email: vicky.pfeffer49@gmail.com\n                              isEmailVerified: true\n                              loginType: EMAIL_PASSWORD\n                              role: ADMIN\n                              updatedAt: '2023-08-11T17:38:49.119Z'\n                              username: michael80\n                            - __v: 0\n                              _id: 64d672295bda3332e4f36525\n                              avatar:\n                                _id: 64d672295bda3332e4f36526\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/529.jpg\n                              createdAt: '2023-08-11T17:38:49.119Z'\n                              email: dayton.hirthe@yahoo.com\n                              isEmailVerified: true\n                              loginType: EMAIL_PASSWORD\n                              role: ADMIN\n                              updatedAt: '2023-08-11T17:38:49.119Z'\n                              username: anahi_herman\n                            - __v: 0\n                              _id: 64d672295bda3332e4f3653d\n                              avatar:\n                                _id: 64d672295bda3332e4f3653e\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1231.jpg\n                              createdAt: '2023-08-11T17:38:49.120Z'\n                              email: jalen.ankunding21@yahoo.com\n                              isEmailVerified: true\n                              loginType: EMAIL_PASSWORD\n                              role: USER\n                              updatedAt: '2023-08-11T17:38:49.120Z'\n                              username: tyreek.wolff3\n                            - __v: 0\n                              _id: 64d672295bda3332e4f36567\n                              avatar:\n                                _id: 64d672295bda3332e4f36568\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1004.jpg\n                              createdAt: '2023-08-11T17:38:49.120Z'\n                              email: saul58@gmail.com\n                              isEmailVerified: true\n                              loginType: EMAIL_PASSWORD\n                              role: ADMIN\n                              updatedAt: '2023-08-11T17:38:49.120Z'\n                              username: joaquin.russel-volkman10\n                            - __v: 0\n                              _id: 64d672295bda3332e4f36582\n                              avatar:\n                                _id: 64d672295bda3332e4f36583\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1159.jpg\n                              createdAt: '2023-08-11T17:38:49.121Z'\n                              email: ferne.dare19@yahoo.com\n                              isEmailVerified: true\n                              loginType: EMAIL_PASSWORD\n                              role: USER\n                              updatedAt: '2023-08-11T17:38:49.121Z'\n                              username: kaitlin_rolfson69\n                            - __v: 0\n                              _id: 64d672295bda3332e4f3658b\n                              avatar:\n                                _id: 64d672295bda3332e4f3658c\n                                localPath: ''\n                                url: >-\n                                  https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/46.jpg\n                              createdAt: '2023-08-11T17:38:49.121Z'\n                              email: stephon_feeney37@gmail.com\n                              isEmailVerified: true\n                              loginType: EMAIL_PASSWORD\n                              role: USER\n                              updatedAt: '2023-08-11T17:38:49.121Z'\n                              username: johnson_wisozk\n                        updatedAt:\n                          type: string\n                          example: '2023-08-11T17:38:50.921Z'\n                    example:\n                      - __v: 0\n                        _id: 64d6722a5bda3332e4f368a9\n                        admin: 64d672295bda3332e4f36582\n                        createdAt: '2023-08-11T17:38:50.921Z'\n                        isGroupChat: true\n                        name: Ferrari Civicmarkets\n                        participants:\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3650d\n                            avatar:\n                              _id: 64d672295bda3332e4f3650e\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/93.jpg\n                            createdAt: '2023-08-11T17:38:49.117Z'\n                            email: anissa27@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:39:09.579Z'\n                            username: sandrine8\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3651c\n                            avatar:\n                              _id: 64d672295bda3332e4f3651d\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1038.jpg\n                            createdAt: '2023-08-11T17:38:49.119Z'\n                            email: vicky.pfeffer49@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-11T17:38:49.119Z'\n                            username: michael80\n                          - __v: 0\n                            _id: 64d672295bda3332e4f36525\n                            avatar:\n                              _id: 64d672295bda3332e4f36526\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/529.jpg\n                            createdAt: '2023-08-11T17:38:49.119Z'\n                            email: dayton.hirthe@yahoo.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-11T17:38:49.119Z'\n                            username: anahi_herman\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3653d\n                            avatar:\n                              _id: 64d672295bda3332e4f3653e\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1231.jpg\n                            createdAt: '2023-08-11T17:38:49.120Z'\n                            email: jalen.ankunding21@yahoo.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:38:49.120Z'\n                            username: tyreek.wolff3\n                          - __v: 0\n                            _id: 64d672295bda3332e4f36567\n                            avatar:\n                              _id: 64d672295bda3332e4f36568\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1004.jpg\n                            createdAt: '2023-08-11T17:38:49.120Z'\n                            email: saul58@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-11T17:38:49.120Z'\n                            username: joaquin.russel-volkman10\n                          - __v: 0\n                            _id: 64d672295bda3332e4f36582\n                            avatar:\n                              _id: 64d672295bda3332e4f36583\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1159.jpg\n                            createdAt: '2023-08-11T17:38:49.121Z'\n                            email: ferne.dare19@yahoo.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:38:49.121Z'\n                            username: kaitlin_rolfson69\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3658b\n                            avatar:\n                              _id: 64d672295bda3332e4f3658c\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/46.jpg\n                            createdAt: '2023-08-11T17:38:49.121Z'\n                            email: stephon_feeney37@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:38:49.121Z'\n                            username: johnson_wisozk\n                        updatedAt: '2023-08-11T17:38:50.921Z'\n                      - __v: 0\n                        _id: 64d6722ae23d414af5ee2668\n                        admin: 64d672295bda3332e4f3650d\n                        createdAt: '2023-08-11T17:38:50.812Z'\n                        isGroupChat: false\n                        name: One on one chat\n                        participants:\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3650d\n                            avatar:\n                              _id: 64d672295bda3332e4f3650e\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/93.jpg\n                            createdAt: '2023-08-11T17:38:49.117Z'\n                            email: anissa27@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:39:09.579Z'\n                            username: sandrine8\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3655e\n                            avatar:\n                              _id: 64d672295bda3332e4f3655f\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1201.jpg\n                            createdAt: '2023-08-11T17:38:49.120Z'\n                            email: katelyn.marks@yahoo.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-11T17:38:49.120Z'\n                            username: vella.weber24\n                        updatedAt: '2023-08-11T17:38:50.812Z'\n                      - __v: 0\n                        _id: 64d6722ae23d414af5ee25f3\n                        admin: 64d672295bda3332e4f36564\n                        createdAt: '2023-08-11T17:38:50.811Z'\n                        isGroupChat: false\n                        name: One on one chat\n                        participants:\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3650d\n                            avatar:\n                              _id: 64d672295bda3332e4f3650e\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/93.jpg\n                            createdAt: '2023-08-11T17:38:49.117Z'\n                            email: anissa27@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:39:09.579Z'\n                            username: sandrine8\n                          - __v: 0\n                            _id: 64d672295bda3332e4f36564\n                            avatar:\n                              _id: 64d672295bda3332e4f36565\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/947.jpg\n                            createdAt: '2023-08-11T17:38:49.120Z'\n                            email: courtney_quitzon@yahoo.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:38:49.120Z'\n                            username: clara24\n                        updatedAt: '2023-08-11T17:38:50.811Z'\n                      - __v: 0\n                        _id: 64d6722ae23d414af5ee25f5\n                        admin: 64d672295bda3332e4f3650d\n                        createdAt: '2023-08-11T17:38:50.811Z'\n                        isGroupChat: false\n                        name: One on one chat\n                        participants:\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3650d\n                            avatar:\n                              _id: 64d672295bda3332e4f3650e\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/93.jpg\n                            createdAt: '2023-08-11T17:38:49.117Z'\n                            email: anissa27@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:39:09.579Z'\n                            username: sandrine8\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3651c\n                            avatar:\n                              _id: 64d672295bda3332e4f3651d\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1038.jpg\n                            createdAt: '2023-08-11T17:38:49.119Z'\n                            email: vicky.pfeffer49@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-11T17:38:49.119Z'\n                            username: michael80\n                        updatedAt: '2023-08-11T17:38:50.811Z'\n                      - __v: 0\n                        _id: 64d6722ae23d414af5ee264f\n                        admin: 64d672295bda3332e4f3658e\n                        createdAt: '2023-08-11T17:38:50.811Z'\n                        isGroupChat: false\n                        name: One on one chat\n                        participants:\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3650d\n                            avatar:\n                              _id: 64d672295bda3332e4f3650e\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/93.jpg\n                            createdAt: '2023-08-11T17:38:49.117Z'\n                            email: anissa27@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:39:09.579Z'\n                            username: sandrine8\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3658e\n                            avatar:\n                              _id: 64d672295bda3332e4f3658f\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/120.jpg\n                            createdAt: '2023-08-11T17:38:49.121Z'\n                            email: stefanie13@yahoo.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-11T17:38:49.121Z'\n                            username: aida64\n                        updatedAt: '2023-08-11T17:38:50.811Z'\n                  message:\n                    type: string\n                    example: User chats fetched successfully!\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get user's chat list:\n                  value:\n                    data:\n                      - __v: 0\n                        _id: 64d6722a5bda3332e4f368a9\n                        admin: 64d672295bda3332e4f36582\n                        createdAt: '2023-08-11T17:38:50.921Z'\n                        isGroupChat: true\n                        name: Ferrari Civicmarkets\n                        participants:\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3650d\n                            avatar:\n                              _id: 64d672295bda3332e4f3650e\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/93.jpg\n                            createdAt: '2023-08-11T17:38:49.117Z'\n                            email: anissa27@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:39:09.579Z'\n                            username: sandrine8\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3651c\n                            avatar:\n                              _id: 64d672295bda3332e4f3651d\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1038.jpg\n                            createdAt: '2023-08-11T17:38:49.119Z'\n                            email: vicky.pfeffer49@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-11T17:38:49.119Z'\n                            username: michael80\n                          - __v: 0\n                            _id: 64d672295bda3332e4f36525\n                            avatar:\n                              _id: 64d672295bda3332e4f36526\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/529.jpg\n                            createdAt: '2023-08-11T17:38:49.119Z'\n                            email: dayton.hirthe@yahoo.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-11T17:38:49.119Z'\n                            username: anahi_herman\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3653d\n                            avatar:\n                              _id: 64d672295bda3332e4f3653e\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1231.jpg\n                            createdAt: '2023-08-11T17:38:49.120Z'\n                            email: jalen.ankunding21@yahoo.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:38:49.120Z'\n                            username: tyreek.wolff3\n                          - __v: 0\n                            _id: 64d672295bda3332e4f36567\n                            avatar:\n                              _id: 64d672295bda3332e4f36568\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1004.jpg\n                            createdAt: '2023-08-11T17:38:49.120Z'\n                            email: saul58@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-11T17:38:49.120Z'\n                            username: joaquin.russel-volkman10\n                          - __v: 0\n                            _id: 64d672295bda3332e4f36582\n                            avatar:\n                              _id: 64d672295bda3332e4f36583\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1159.jpg\n                            createdAt: '2023-08-11T17:38:49.121Z'\n                            email: ferne.dare19@yahoo.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:38:49.121Z'\n                            username: kaitlin_rolfson69\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3658b\n                            avatar:\n                              _id: 64d672295bda3332e4f3658c\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/46.jpg\n                            createdAt: '2023-08-11T17:38:49.121Z'\n                            email: stephon_feeney37@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:38:49.121Z'\n                            username: johnson_wisozk\n                        updatedAt: '2023-08-11T17:38:50.921Z'\n                      - __v: 0\n                        _id: 64d6722ae23d414af5ee2668\n                        admin: 64d672295bda3332e4f3650d\n                        createdAt: '2023-08-11T17:38:50.812Z'\n                        isGroupChat: false\n                        name: One on one chat\n                        participants:\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3650d\n                            avatar:\n                              _id: 64d672295bda3332e4f3650e\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/93.jpg\n                            createdAt: '2023-08-11T17:38:49.117Z'\n                            email: anissa27@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:39:09.579Z'\n                            username: sandrine8\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3655e\n                            avatar:\n                              _id: 64d672295bda3332e4f3655f\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1201.jpg\n                            createdAt: '2023-08-11T17:38:49.120Z'\n                            email: katelyn.marks@yahoo.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-11T17:38:49.120Z'\n                            username: vella.weber24\n                        updatedAt: '2023-08-11T17:38:50.812Z'\n                      - __v: 0\n                        _id: 64d6722ae23d414af5ee25f3\n                        admin: 64d672295bda3332e4f36564\n                        createdAt: '2023-08-11T17:38:50.811Z'\n                        isGroupChat: false\n                        name: One on one chat\n                        participants:\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3650d\n                            avatar:\n                              _id: 64d672295bda3332e4f3650e\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/93.jpg\n                            createdAt: '2023-08-11T17:38:49.117Z'\n                            email: anissa27@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:39:09.579Z'\n                            username: sandrine8\n                          - __v: 0\n                            _id: 64d672295bda3332e4f36564\n                            avatar:\n                              _id: 64d672295bda3332e4f36565\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/947.jpg\n                            createdAt: '2023-08-11T17:38:49.120Z'\n                            email: courtney_quitzon@yahoo.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:38:49.120Z'\n                            username: clara24\n                        updatedAt: '2023-08-11T17:38:50.811Z'\n                      - __v: 0\n                        _id: 64d6722ae23d414af5ee25f5\n                        admin: 64d672295bda3332e4f3650d\n                        createdAt: '2023-08-11T17:38:50.811Z'\n                        isGroupChat: false\n                        name: One on one chat\n                        participants:\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3650d\n                            avatar:\n                              _id: 64d672295bda3332e4f3650e\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/93.jpg\n                            createdAt: '2023-08-11T17:38:49.117Z'\n                            email: anissa27@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:39:09.579Z'\n                            username: sandrine8\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3651c\n                            avatar:\n                              _id: 64d672295bda3332e4f3651d\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1038.jpg\n                            createdAt: '2023-08-11T17:38:49.119Z'\n                            email: vicky.pfeffer49@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-11T17:38:49.119Z'\n                            username: michael80\n                        updatedAt: '2023-08-11T17:38:50.811Z'\n                      - __v: 0\n                        _id: 64d6722ae23d414af5ee264f\n                        admin: 64d672295bda3332e4f3658e\n                        createdAt: '2023-08-11T17:38:50.811Z'\n                        isGroupChat: false\n                        name: One on one chat\n                        participants:\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3650d\n                            avatar:\n                              _id: 64d672295bda3332e4f3650e\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/93.jpg\n                            createdAt: '2023-08-11T17:38:49.117Z'\n                            email: anissa27@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:39:09.579Z'\n                            username: sandrine8\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3658e\n                            avatar:\n                              _id: 64d672295bda3332e4f3658f\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/120.jpg\n                            createdAt: '2023-08-11T17:38:49.121Z'\n                            email: stefanie13@yahoo.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-11T17:38:49.121Z'\n                            username: aida64\n                        updatedAt: '2023-08-11T17:38:50.811Z'\n                    message: User chats fetched successfully!\n                    statusCode: 200\n                    success: true\n  /chat-app/chats/users:\n    get:\n      tags:\n        \n        - 💬 Chat App\n        \n      summary: Get available users\n      description: >-\n        This API endpoint enables developers to retrieve a list of users who are\n        available for chat interactions.\n\n\n        The endpoint facilitates the identification of potential chat partners\n        or group members for the logged-in user.\n\n\n        It provides a seamless way to explore and initiate conversations,\n        fostering a dynamic and engaging chat environment within the\n        application.\n      operationId: getAvailableUsers\n      responses:\n        '200':\n          description: Get available users\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: http://localhost:5173\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '23750'\n            Date:\n              schema:\n                type: string\n                example: Fri, 11 Aug 2023 17:39:46 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"5cc6-TtLYZRL3nJMDJkKzfDestLqnkrE\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '491'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '823'\n            Vary:\n              schema:\n                type: string\n                example: Origin\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: array\n                    items:\n                      type: object\n                      properties:\n                        __v:\n                          type: number\n                          example: 0\n                        _id:\n                          type: string\n                          example: 64d672295bda3332e4f36510\n                        avatar:\n                          type: object\n                          properties:\n                            _id:\n                              type: string\n                              example: 64d672295bda3332e4f36511\n                            localPath:\n                              type: string\n                              example: ''\n                            url:\n                              type: string\n                              example: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/61.jpg\n                        createdAt:\n                          type: string\n                          example: '2023-08-11T17:38:49.119Z'\n                        email:\n                          type: string\n                          example: dixie.rodriguez@gmail.com\n                        isEmailVerified:\n                          type: boolean\n                          example: true\n                        loginType:\n                          type: string\n                          example: EMAIL_PASSWORD\n                        password:\n                          type: string\n                          example: >-\n                            $2b$10$8U/.Dci.BOZyHv87o7Zrf.nQAINvyw1dE1mFLemXA5J0gSxnTmhD2\n                        role:\n                          type: string\n                          example: ADMIN\n                        updatedAt:\n                          type: string\n                          example: '2023-08-11T17:38:49.119Z'\n                        username:\n                          type: string\n                          example: barrett.dooley\n                    example:\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36510\n                        avatar:\n                          _id: 64d672295bda3332e4f36511\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/61.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: dixie.rodriguez@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$8U/.Dci.BOZyHv87o7Zrf.nQAINvyw1dE1mFLemXA5J0gSxnTmhD2\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: barrett.dooley\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36513\n                        avatar:\n                          _id: 64d672295bda3332e4f36514\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1138.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: lynn75@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$GAIbzK/rRLyssJsJyezCaOPO1H1WJUcZkMyVHvycHTaW0YgTQKGK2\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: nelle38\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36516\n                        avatar:\n                          _id: 64d672295bda3332e4f36517\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/391.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: syble_macgyver@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$Qbj2d6LbNOItFot0gYwFGexyJfwiDnju6DJ1Fe7ofRoT3/cVTNInm\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: monica_cummerata56\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36519\n                        avatar:\n                          _id: 64d672295bda3332e4f3651a\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1170.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: estella56@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$fu3op4SSB2UFL0B8omMBUOdTPyPAhoZY1aqB3ZQ9Anme7zi8qo7OW\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: marcelle_beer\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3651c\n                        avatar:\n                          _id: 64d672295bda3332e4f3651d\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1038.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: vicky.pfeffer49@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$ajUpaT0mpHi4O19zYvSqMeK3UdbVTyrNYFd/q4jfZ4ix9ny.gODZy\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: michael80\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3651f\n                        avatar:\n                          _id: 64d672295bda3332e4f36520\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/856.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: polly51@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$zmXgQw.vbjYj5MWF1CjWdOgdoUTPFrQJWEiJumMnhTbN.kb6lj41W\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: destiney4\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36522\n                        avatar:\n                          _id: 64d672295bda3332e4f36523\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/134.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: lenny1@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$2wESfqecSdp2HFy4Uw2igO2/Q9bJK53JNiCBuq63LbJEFefUsN7hO\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: ashley10\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36525\n                        avatar:\n                          _id: 64d672295bda3332e4f36526\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/529.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: dayton.hirthe@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$aZIHOtPbQOVAqM8bL3xvG.FetPCuOwpmRT/zXE7DWr6563/HZy/Rm\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: anahi_herman\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36528\n                        avatar:\n                          _id: 64d672295bda3332e4f36529\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/343.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: kattie81@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$KzwZJj6ZRO8KgwS6KoB/cuurrze8U868gZx2OaKMysaP4gws56JYS\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: craig1\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3652b\n                        avatar:\n                          _id: 64d672295bda3332e4f3652c\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/416.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: dominic.sipes14@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$zgWngfVYIV.DTh5aiCcpBuch7QfFNUH2aNDao3dyAXL7ZW/ySv9TG\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: dulce_daniel64\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3652e\n                        avatar:\n                          _id: 64d672295bda3332e4f3652f\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/805.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: maria_kunze@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$TtfOT9haptozWe5JA8gWX.JYGctQhFmOKSwugppztdVDr5KyaPk3m\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: howard3\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36531\n                        avatar:\n                          _id: 64d672295bda3332e4f36532\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/351.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: erling.simonis@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$3qlBazFb34Xf6zXisuYqA.TWghAYN8sLK8gbSl89YhIMJ82G6MWBa\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: noel_bradtke\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36534\n                        avatar:\n                          _id: 64d672295bda3332e4f36535\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/592.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: iva_satterfield3@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$APmtaWLstPlSw9LTkYdSI.H4MN.wDo4sPiwRRxX6vrnCJ.5D5YVd.\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: emanuel57\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36537\n                        avatar:\n                          _id: 64d672295bda3332e4f36538\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/573.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: marilyne.bartoletti21@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$97yzr57J65PSlqqfhLClm.FQ.Y3.P329gOS92l4WFQGzeQGszl9ha\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: rhianna_christiansen\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3653a\n                        avatar:\n                          _id: 64d672295bda3332e4f3653b\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/163.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: cora.ledner@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$R1CY8nXzKf0AnHn8UQc4PeU0LgoVMYrcxgCSgbDtqjU7cC30mAhta\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: malachi50\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3653d\n                        avatar:\n                          _id: 64d672295bda3332e4f3653e\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1231.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: jalen.ankunding21@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$gsZEtRLt82kTllQf8ettyuhshcTYvarB4BfUTxQar31ViubnAB/V.\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: tyreek.wolff3\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36540\n                        avatar:\n                          _id: 64d672295bda3332e4f36541\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/850.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: roberta.veum68@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$N6xFac0vqjCcVGRlF7/EhOvyxHPGPoVqepe4TEKbNcS./HpXEmare\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: toby_turcotte32\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36543\n                        avatar:\n                          _id: 64d672295bda3332e4f36544\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1010.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: lowell.senger55@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$opEhbbxm6cgd6MGmocne4e8tYilfopUwdchje5D3xe2RP5gqqxgZ.\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: isom.jenkins\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36546\n                        avatar:\n                          _id: 64d672295bda3332e4f36547\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/861.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: celine.daugherty@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$7YgoymaGeLiEL2g2sGAHVeQWn4NzmL17zSlIM4N2oH.LJPcgPBdfS\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: alfonso.lesch40\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36549\n                        avatar:\n                          _id: 64d672295bda3332e4f3654a\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/301.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: horacio_sawayn@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$wA0o8JEJp6Q2fM2v2l2JsOCA502gYFJXC/HCKEt33tzLLMJTArLSO\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: jayme_spinka10\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3654c\n                        avatar:\n                          _id: 64d672295bda3332e4f3654d\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1143.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: easton45@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$PGh99Ezr1FOudRXo3T8hU.JbJPpDfkFgw4QI7OQN/qTVpUs2RGoua\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: yazmin.treutel37\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3654f\n                        avatar:\n                          _id: 64d672295bda3332e4f36550\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/963.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: finn82@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$i26ug5n0ZbxhlIgT4fv.kOmY8/q1izwVFHZOVx53nZYuSbt8JaMwu\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: florine_marks98\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36552\n                        avatar:\n                          _id: 64d672295bda3332e4f36553\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/290.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: celestine.rowe@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$zOSXs3ucLBwNOFgcfR9vSuc.VhmSLobGYRRPtL1jzbbP3wqb3T.0y\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: naomi.barton\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36555\n                        avatar:\n                          _id: 64d672295bda3332e4f36556\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/682.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: oceane56@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$XABCHeQilzip09aSNr0DYO4.AsbyVzctEqxOyzrF/HkJ01Jpoze6.\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: olaf6\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36558\n                        avatar:\n                          _id: 64d672295bda3332e4f36559\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/361.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: bennett46@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$0iGjjWXu4WK4V6XlwIAxvOwUvNr.5GYBA06DqMBYCLM92wQf5VHJC\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: vada_johnson55\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3655b\n                        avatar:\n                          _id: 64d672295bda3332e4f3655c\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/588.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: angelita_rogahn83@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$mKeG1n3OSBjYKC8rI97fd.FyEOfOVDa3wtVkR9woTYa35YOU4kr7K\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: korbin_farrell\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3655e\n                        avatar:\n                          _id: 64d672295bda3332e4f3655f\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1201.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: katelyn.marks@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$gmtgzXfEg9zSz26Li90sCOmVXlsUQgoc60aHD513a859VMAZ8f1aO\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: vella.weber24\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36561\n                        avatar:\n                          _id: 64d672295bda3332e4f36562\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1070.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: edward26@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$hiZbT8iYbNjQ4Qxtu5VgS.JCCbVA4OKitQJp/MkPxSyEFrhOn64Au\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: abigayle47\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36564\n                        avatar:\n                          _id: 64d672295bda3332e4f36565\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/947.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: courtney_quitzon@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$9rglrU9cyYYvBWpLIuVoqeevsfFpa6JL/p/86H1oTfNxPPArUVmVG\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: clara24\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36567\n                        avatar:\n                          _id: 64d672295bda3332e4f36568\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1004.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: saul58@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$avfBz/YPzHsqa4MM/4NAX./b97E.f5nWP7jrT7gp3gXrPuoIrfmTC\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: joaquin.russel-volkman10\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3656a\n                        avatar:\n                          _id: 64d672295bda3332e4f3656b\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/208.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: rowan73@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$a7zfRbI3wM.mlkr5Fe.SGuA1x69pWErvsBeTFtot0vA3AhUSgE/cS\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: shawn.harber54\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3656d\n                        avatar:\n                          _id: 64d672295bda3332e4f3656e\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/870.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: hank_spencer-jacobi4@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$M5VldrA8lSQsNKSUptjI.O/H27LXL3QEnULKVSUHbbbLNEFawqedG\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: norval83\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36570\n                        avatar:\n                          _id: 64d672295bda3332e4f36571\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/346.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: yasmeen.gerhold@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$XUtthThlfCUqv3CTxLLDHuCQljVz8AzXNuqTmpq0j8s.SixuC2hdS\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: kiarra96\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36573\n                        avatar:\n                          _id: 64d672295bda3332e4f36574\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/16.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: nolan50@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$uQWglzPdNssKaI61SVLJ1O9GrAD5nuhZQem6.WR4fPXjzZbY11MVa\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: karelle_funk\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36576\n                        avatar:\n                          _id: 64d672295bda3332e4f36577\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/878.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: wilma.rau29@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$M0RmkU8nkqYVVXnPvH.yl.mY6.d9F4yZhQoi3hYL9SK47dpA6ijdm\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: wendy.klocko\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36579\n                        avatar:\n                          _id: 64d672295bda3332e4f3657a\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1220.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: hulda47@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$dtEIUAAd0RC5hRhP6ezINefjcngsVCz4foBS0Pe2.VEn3icVZKQX6\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: chesley.berge78\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3657c\n                        avatar:\n                          _id: 64d672295bda3332e4f3657d\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1245.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: leann_osinski41@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$LBGm7pkI/VZ0NYsjzrHqDOpr3e8pRg60wA5uD.0U759IyOXJy18pa\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: verla65\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3657f\n                        avatar:\n                          _id: 64d672295bda3332e4f36580\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1121.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: bell32@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$o1o5Gyvkji078.w1ofwTV.XjuIGessa0sdM44md.xAU3Bk3gqd3Za\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: troy_crona50\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36582\n                        avatar:\n                          _id: 64d672295bda3332e4f36583\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1159.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: ferne.dare19@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$eiggtiaUOeGnzZCzuZLuy.93gGSWzUhwMakgRt4f3wmymcaJUvZq2\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: kaitlin_rolfson69\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36585\n                        avatar:\n                          _id: 64d672295bda3332e4f36586\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/546.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: thalia.mann18@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$GylmyJ7t.KbgIpLVeKF8debSvrKFdAM1QLD74la.1vzteaUGuBt92\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: alec63\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36588\n                        avatar:\n                          _id: 64d672295bda3332e4f36589\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/876.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: hattie.fay56@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$GO0V0p6f41fOCKQCPSA1XOOnTZduUbXTbGLrFn.FJTtN3xvvRfcbi\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: porter17\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3658b\n                        avatar:\n                          _id: 64d672295bda3332e4f3658c\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/46.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: stephon_feeney37@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$jzHZ2U0r6LrhNYJJ.7JspeU2/3BVzpMJtl461wtTbk.JBd6xMCS5a\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: johnson_wisozk\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3658e\n                        avatar:\n                          _id: 64d672295bda3332e4f3658f\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/120.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: stefanie13@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$cNtmTExKJXFb71u8knWhru.n34wW28e0iiUHSl3qaBh1jZc9WXuKC\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: aida64\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36591\n                        avatar:\n                          _id: 64d672295bda3332e4f36592\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/895.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: orland_bogan@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$6biL1BBRO2FUEhhnmCX.cO812Bqjx9czgBHoQgnxWpyq0Xfg6u1qG\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: carli52\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36594\n                        avatar:\n                          _id: 64d672295bda3332e4f36595\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/604.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: mitchel_padberg84@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$//IEXI.36NirgVwwTt1i4.I3mAhtANr4XyGcPg2bIO289rhLDEo7u\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: loraine83\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36597\n                        avatar:\n                          _id: 64d672295bda3332e4f36598\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1141.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: june_hudson0@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$pGjXkmFaYnGgeFIBGlYAtetAlCB.K7pfeAzOZayBLoPRsKRCEy./m\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: casey79\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3659a\n                        avatar:\n                          _id: 64d672295bda3332e4f3659b\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/699.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: garry.oreilly@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$Lp9wjPS.hcRDwrlqxH4Vou.RPPAjJ/yNMoNnytTa7OoI/EUmYUNP6\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: luciano.olson\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3659d\n                        avatar:\n                          _id: 64d672295bda3332e4f3659e\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/990.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: tatum.koch2@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$S4GjrD05wRXTnbRDjj6P7.ccRqlPN1sZ.2tCyDdiaFyN6B1dsjZti\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: alexandrine.zemlak-orn90\n                      - __v: 0\n                        _id: 64d672295bda3332e4f365a0\n                        avatar:\n                          _id: 64d672295bda3332e4f365a1\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1064.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: vivienne_harvey@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$0Ua651/.GHPjv7/YM1pKAugZHEjkFjfruY/DUfVvMQ5zc2Q3tdNFe\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: webster_hegmann\n                  message:\n                    type: string\n                    example: Users fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get available users:\n                  value:\n                    data:\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36510\n                        avatar:\n                          _id: 64d672295bda3332e4f36511\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/61.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: dixie.rodriguez@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$8U/.Dci.BOZyHv87o7Zrf.nQAINvyw1dE1mFLemXA5J0gSxnTmhD2\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: barrett.dooley\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36513\n                        avatar:\n                          _id: 64d672295bda3332e4f36514\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1138.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: lynn75@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$GAIbzK/rRLyssJsJyezCaOPO1H1WJUcZkMyVHvycHTaW0YgTQKGK2\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: nelle38\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36516\n                        avatar:\n                          _id: 64d672295bda3332e4f36517\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/391.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: syble_macgyver@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$Qbj2d6LbNOItFot0gYwFGexyJfwiDnju6DJ1Fe7ofRoT3/cVTNInm\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: monica_cummerata56\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36519\n                        avatar:\n                          _id: 64d672295bda3332e4f3651a\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1170.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: estella56@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$fu3op4SSB2UFL0B8omMBUOdTPyPAhoZY1aqB3ZQ9Anme7zi8qo7OW\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: marcelle_beer\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3651c\n                        avatar:\n                          _id: 64d672295bda3332e4f3651d\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1038.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: vicky.pfeffer49@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$ajUpaT0mpHi4O19zYvSqMeK3UdbVTyrNYFd/q4jfZ4ix9ny.gODZy\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: michael80\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3651f\n                        avatar:\n                          _id: 64d672295bda3332e4f36520\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/856.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: polly51@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$zmXgQw.vbjYj5MWF1CjWdOgdoUTPFrQJWEiJumMnhTbN.kb6lj41W\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: destiney4\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36522\n                        avatar:\n                          _id: 64d672295bda3332e4f36523\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/134.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: lenny1@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$2wESfqecSdp2HFy4Uw2igO2/Q9bJK53JNiCBuq63LbJEFefUsN7hO\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: ashley10\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36525\n                        avatar:\n                          _id: 64d672295bda3332e4f36526\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/529.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: dayton.hirthe@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$aZIHOtPbQOVAqM8bL3xvG.FetPCuOwpmRT/zXE7DWr6563/HZy/Rm\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: anahi_herman\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36528\n                        avatar:\n                          _id: 64d672295bda3332e4f36529\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/343.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: kattie81@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$KzwZJj6ZRO8KgwS6KoB/cuurrze8U868gZx2OaKMysaP4gws56JYS\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: craig1\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3652b\n                        avatar:\n                          _id: 64d672295bda3332e4f3652c\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/416.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: dominic.sipes14@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$zgWngfVYIV.DTh5aiCcpBuch7QfFNUH2aNDao3dyAXL7ZW/ySv9TG\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: dulce_daniel64\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3652e\n                        avatar:\n                          _id: 64d672295bda3332e4f3652f\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/805.jpg\n                        createdAt: '2023-08-11T17:38:49.119Z'\n                        email: maria_kunze@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$TtfOT9haptozWe5JA8gWX.JYGctQhFmOKSwugppztdVDr5KyaPk3m\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.119Z'\n                        username: howard3\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36531\n                        avatar:\n                          _id: 64d672295bda3332e4f36532\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/351.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: erling.simonis@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$3qlBazFb34Xf6zXisuYqA.TWghAYN8sLK8gbSl89YhIMJ82G6MWBa\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: noel_bradtke\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36534\n                        avatar:\n                          _id: 64d672295bda3332e4f36535\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/592.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: iva_satterfield3@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$APmtaWLstPlSw9LTkYdSI.H4MN.wDo4sPiwRRxX6vrnCJ.5D5YVd.\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: emanuel57\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36537\n                        avatar:\n                          _id: 64d672295bda3332e4f36538\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/573.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: marilyne.bartoletti21@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$97yzr57J65PSlqqfhLClm.FQ.Y3.P329gOS92l4WFQGzeQGszl9ha\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: rhianna_christiansen\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3653a\n                        avatar:\n                          _id: 64d672295bda3332e4f3653b\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/163.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: cora.ledner@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$R1CY8nXzKf0AnHn8UQc4PeU0LgoVMYrcxgCSgbDtqjU7cC30mAhta\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: malachi50\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3653d\n                        avatar:\n                          _id: 64d672295bda3332e4f3653e\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1231.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: jalen.ankunding21@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$gsZEtRLt82kTllQf8ettyuhshcTYvarB4BfUTxQar31ViubnAB/V.\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: tyreek.wolff3\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36540\n                        avatar:\n                          _id: 64d672295bda3332e4f36541\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/850.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: roberta.veum68@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$N6xFac0vqjCcVGRlF7/EhOvyxHPGPoVqepe4TEKbNcS./HpXEmare\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: toby_turcotte32\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36543\n                        avatar:\n                          _id: 64d672295bda3332e4f36544\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1010.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: lowell.senger55@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$opEhbbxm6cgd6MGmocne4e8tYilfopUwdchje5D3xe2RP5gqqxgZ.\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: isom.jenkins\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36546\n                        avatar:\n                          _id: 64d672295bda3332e4f36547\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/861.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: celine.daugherty@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$7YgoymaGeLiEL2g2sGAHVeQWn4NzmL17zSlIM4N2oH.LJPcgPBdfS\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: alfonso.lesch40\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36549\n                        avatar:\n                          _id: 64d672295bda3332e4f3654a\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/301.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: horacio_sawayn@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$wA0o8JEJp6Q2fM2v2l2JsOCA502gYFJXC/HCKEt33tzLLMJTArLSO\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: jayme_spinka10\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3654c\n                        avatar:\n                          _id: 64d672295bda3332e4f3654d\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1143.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: easton45@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$PGh99Ezr1FOudRXo3T8hU.JbJPpDfkFgw4QI7OQN/qTVpUs2RGoua\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: yazmin.treutel37\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3654f\n                        avatar:\n                          _id: 64d672295bda3332e4f36550\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/963.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: finn82@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$i26ug5n0ZbxhlIgT4fv.kOmY8/q1izwVFHZOVx53nZYuSbt8JaMwu\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: florine_marks98\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36552\n                        avatar:\n                          _id: 64d672295bda3332e4f36553\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/290.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: celestine.rowe@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$zOSXs3ucLBwNOFgcfR9vSuc.VhmSLobGYRRPtL1jzbbP3wqb3T.0y\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: naomi.barton\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36555\n                        avatar:\n                          _id: 64d672295bda3332e4f36556\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/682.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: oceane56@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$XABCHeQilzip09aSNr0DYO4.AsbyVzctEqxOyzrF/HkJ01Jpoze6.\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: olaf6\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36558\n                        avatar:\n                          _id: 64d672295bda3332e4f36559\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/361.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: bennett46@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$0iGjjWXu4WK4V6XlwIAxvOwUvNr.5GYBA06DqMBYCLM92wQf5VHJC\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: vada_johnson55\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3655b\n                        avatar:\n                          _id: 64d672295bda3332e4f3655c\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/588.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: angelita_rogahn83@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$mKeG1n3OSBjYKC8rI97fd.FyEOfOVDa3wtVkR9woTYa35YOU4kr7K\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: korbin_farrell\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3655e\n                        avatar:\n                          _id: 64d672295bda3332e4f3655f\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1201.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: katelyn.marks@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$gmtgzXfEg9zSz26Li90sCOmVXlsUQgoc60aHD513a859VMAZ8f1aO\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: vella.weber24\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36561\n                        avatar:\n                          _id: 64d672295bda3332e4f36562\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1070.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: edward26@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$hiZbT8iYbNjQ4Qxtu5VgS.JCCbVA4OKitQJp/MkPxSyEFrhOn64Au\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: abigayle47\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36564\n                        avatar:\n                          _id: 64d672295bda3332e4f36565\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/947.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: courtney_quitzon@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$9rglrU9cyYYvBWpLIuVoqeevsfFpa6JL/p/86H1oTfNxPPArUVmVG\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: clara24\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36567\n                        avatar:\n                          _id: 64d672295bda3332e4f36568\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1004.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: saul58@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$avfBz/YPzHsqa4MM/4NAX./b97E.f5nWP7jrT7gp3gXrPuoIrfmTC\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: joaquin.russel-volkman10\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3656a\n                        avatar:\n                          _id: 64d672295bda3332e4f3656b\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/208.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: rowan73@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$a7zfRbI3wM.mlkr5Fe.SGuA1x69pWErvsBeTFtot0vA3AhUSgE/cS\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: shawn.harber54\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3656d\n                        avatar:\n                          _id: 64d672295bda3332e4f3656e\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/870.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: hank_spencer-jacobi4@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$M5VldrA8lSQsNKSUptjI.O/H27LXL3QEnULKVSUHbbbLNEFawqedG\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: norval83\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36570\n                        avatar:\n                          _id: 64d672295bda3332e4f36571\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/346.jpg\n                        createdAt: '2023-08-11T17:38:49.120Z'\n                        email: yasmeen.gerhold@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$XUtthThlfCUqv3CTxLLDHuCQljVz8AzXNuqTmpq0j8s.SixuC2hdS\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.120Z'\n                        username: kiarra96\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36573\n                        avatar:\n                          _id: 64d672295bda3332e4f36574\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/16.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: nolan50@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$uQWglzPdNssKaI61SVLJ1O9GrAD5nuhZQem6.WR4fPXjzZbY11MVa\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: karelle_funk\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36576\n                        avatar:\n                          _id: 64d672295bda3332e4f36577\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/878.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: wilma.rau29@hotmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$M0RmkU8nkqYVVXnPvH.yl.mY6.d9F4yZhQoi3hYL9SK47dpA6ijdm\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: wendy.klocko\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36579\n                        avatar:\n                          _id: 64d672295bda3332e4f3657a\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1220.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: hulda47@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$dtEIUAAd0RC5hRhP6ezINefjcngsVCz4foBS0Pe2.VEn3icVZKQX6\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: chesley.berge78\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3657c\n                        avatar:\n                          _id: 64d672295bda3332e4f3657d\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1245.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: leann_osinski41@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$LBGm7pkI/VZ0NYsjzrHqDOpr3e8pRg60wA5uD.0U759IyOXJy18pa\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: verla65\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3657f\n                        avatar:\n                          _id: 64d672295bda3332e4f36580\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1121.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: bell32@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$o1o5Gyvkji078.w1ofwTV.XjuIGessa0sdM44md.xAU3Bk3gqd3Za\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: troy_crona50\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36582\n                        avatar:\n                          _id: 64d672295bda3332e4f36583\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1159.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: ferne.dare19@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$eiggtiaUOeGnzZCzuZLuy.93gGSWzUhwMakgRt4f3wmymcaJUvZq2\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: kaitlin_rolfson69\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36585\n                        avatar:\n                          _id: 64d672295bda3332e4f36586\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/546.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: thalia.mann18@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$GylmyJ7t.KbgIpLVeKF8debSvrKFdAM1QLD74la.1vzteaUGuBt92\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: alec63\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36588\n                        avatar:\n                          _id: 64d672295bda3332e4f36589\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/876.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: hattie.fay56@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$GO0V0p6f41fOCKQCPSA1XOOnTZduUbXTbGLrFn.FJTtN3xvvRfcbi\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: porter17\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3658b\n                        avatar:\n                          _id: 64d672295bda3332e4f3658c\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/46.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: stephon_feeney37@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$jzHZ2U0r6LrhNYJJ.7JspeU2/3BVzpMJtl461wtTbk.JBd6xMCS5a\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: johnson_wisozk\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3658e\n                        avatar:\n                          _id: 64d672295bda3332e4f3658f\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/120.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: stefanie13@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$cNtmTExKJXFb71u8knWhru.n34wW28e0iiUHSl3qaBh1jZc9WXuKC\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: aida64\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36591\n                        avatar:\n                          _id: 64d672295bda3332e4f36592\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/895.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: orland_bogan@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$6biL1BBRO2FUEhhnmCX.cO812Bqjx9czgBHoQgnxWpyq0Xfg6u1qG\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: carli52\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36594\n                        avatar:\n                          _id: 64d672295bda3332e4f36595\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/604.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: mitchel_padberg84@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$//IEXI.36NirgVwwTt1i4.I3mAhtANr4XyGcPg2bIO289rhLDEo7u\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: loraine83\n                      - __v: 0\n                        _id: 64d672295bda3332e4f36597\n                        avatar:\n                          _id: 64d672295bda3332e4f36598\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1141.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: june_hudson0@gmail.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$pGjXkmFaYnGgeFIBGlYAtetAlCB.K7pfeAzOZayBLoPRsKRCEy./m\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: casey79\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3659a\n                        avatar:\n                          _id: 64d672295bda3332e4f3659b\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/699.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: garry.oreilly@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$Lp9wjPS.hcRDwrlqxH4Vou.RPPAjJ/yNMoNnytTa7OoI/EUmYUNP6\n                        role: ADMIN\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: luciano.olson\n                      - __v: 0\n                        _id: 64d672295bda3332e4f3659d\n                        avatar:\n                          _id: 64d672295bda3332e4f3659e\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/990.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: tatum.koch2@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$S4GjrD05wRXTnbRDjj6P7.ccRqlPN1sZ.2tCyDdiaFyN6B1dsjZti\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: alexandrine.zemlak-orn90\n                      - __v: 0\n                        _id: 64d672295bda3332e4f365a0\n                        avatar:\n                          _id: 64d672295bda3332e4f365a1\n                          localPath: ''\n                          url: >-\n                            https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1064.jpg\n                        createdAt: '2023-08-11T17:38:49.121Z'\n                        email: vivienne_harvey@yahoo.com\n                        isEmailVerified: true\n                        loginType: EMAIL_PASSWORD\n                        password: >-\n                          $2b$10$0Ua651/.GHPjv7/YM1pKAugZHEjkFjfruY/DUfVvMQ5zc2Q3tdNFe\n                        role: USER\n                        updatedAt: '2023-08-11T17:38:49.121Z'\n                        username: webster_hegmann\n                    message: Users fetched successfully\n                    statusCode: 200\n                    success: true\n  /chat-app/chats/c/{receiverId}:\n    post:\n      tags:\n        \n        - 💬 Chat App\n        \n      summary: Create or get a one on one chat\n      description: >-\n        This API endpoint enables a logged-in user to initiate a personalized\n        one-on-one chat interaction with another user.\n\n\n        By providing correct `receiverId`, the API facilitates the creation of a\n        private chat environment where participants can engage in direct and\n        focused conversations.\n      operationId: createOrGetAOneOnOneChat\n      responses:\n        '200':\n          description: Create or get a one on one chat\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: http://localhost:3000\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '1058'\n            Date:\n              schema:\n                type: string\n                example: Wed, 02 Aug 2023 18:18:51 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"422-vA3sYcU9InOZoRTIyhOBCtbS9Ao\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '496'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '171'\n            Vary:\n              schema:\n                type: string\n                example: Origin\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 64ca9e056cabe93cce077e00\n                      admin:\n                        type: string\n                        example: 64ca18038155dc11e68dfe83\n                      createdAt:\n                        type: string\n                        example: '2023-08-02T18:18:45.161Z'\n                      isGroupChat:\n                        type: boolean\n                        example: false\n                      name:\n                        type: string\n                        example: One on one chat\n                      participants:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            __v:\n                              type: number\n                              example: 0\n                            _id:\n                              type: string\n                              example: 64c940d8ffe6c671f4d049d6\n                            avatar:\n                              type: object\n                              properties:\n                                _id:\n                                  type: string\n                                  example: 64c940d8ffe6c671f4d049d7\n                                localPath:\n                                  type: string\n                                  example: ''\n                                url:\n                                  type: string\n                                  example: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/516.jpg\n                            createdAt:\n                              type: string\n                              example: '2023-08-01T17:28:56.323Z'\n                            email:\n                              type: string\n                              example: neoma.kling@hotmail.com\n                            isEmailVerified:\n                              type: boolean\n                              example: true\n                            loginType:\n                              type: string\n                              example: EMAIL_PASSWORD\n                            role:\n                              type: string\n                              example: ADMIN\n                            updatedAt:\n                              type: string\n                              example: '2023-08-01T17:28:56.323Z'\n                            username:\n                              type: string\n                              example: pearline_abshire\n                        example:\n                          - __v: 0\n                            _id: 64c940d8ffe6c671f4d049d6\n                            avatar:\n                              _id: 64c940d8ffe6c671f4d049d7\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/516.jpg\n                            createdAt: '2023-08-01T17:28:56.323Z'\n                            email: neoma.kling@hotmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-01T17:28:56.323Z'\n                            username: pearline_abshire\n                          - __v: 0\n                            _id: 64ca18038155dc11e68dfe83\n                            avatar:\n                              _id: 64ca18038155dc11e68dfe82\n                              localPath: ''\n                              url: https://via.placeholder.com/200x200.png\n                            createdAt: '2023-08-02T08:46:59.711Z'\n                            email: john.doe@gmail.com\n                            isEmailVerified: false\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-02T17:35:38.049Z'\n                            username: doejohn\n                      updatedAt:\n                        type: string\n                        example: '2023-08-02T18:18:45.161Z'\n                  message:\n                    type: string\n                    example: Chat retrieved successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Create or get a one on one chat:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 64ca9e056cabe93cce077e00\n                      admin: 64ca18038155dc11e68dfe83\n                      createdAt: '2023-08-02T18:18:45.161Z'\n                      isGroupChat: false\n                      name: One on one chat\n                      participants:\n                        - __v: 0\n                          _id: 64c940d8ffe6c671f4d049d6\n                          avatar:\n                            _id: 64c940d8ffe6c671f4d049d7\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/516.jpg\n                          createdAt: '2023-08-01T17:28:56.323Z'\n                          email: neoma.kling@hotmail.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: ADMIN\n                          updatedAt: '2023-08-01T17:28:56.323Z'\n                          username: pearline_abshire\n                        - __v: 0\n                          _id: 64ca18038155dc11e68dfe83\n                          avatar:\n                            _id: 64ca18038155dc11e68dfe82\n                            localPath: ''\n                            url: https://via.placeholder.com/200x200.png\n                          createdAt: '2023-08-02T08:46:59.711Z'\n                          email: john.doe@gmail.com\n                          isEmailVerified: false\n                          loginType: EMAIL_PASSWORD\n                          role: ADMIN\n                          updatedAt: '2023-08-02T17:35:38.049Z'\n                          username: doejohn\n                      updatedAt: '2023-08-02T18:18:45.161Z'\n                    message: Chat retrieved successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: receiverId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 64c940d8ffe6c671f4d049d6\n  /chat-app/chats/remove/{chatId}:\n    delete:\n      tags:\n        \n        - 💬 Chat App\n        \n      summary: Delete one on one chat\n      description: >-\n        This API endpoint empowers logged-in users to seamlessly delete a\n        one-on-one chat conversation in which they are a participant.\n\n\n        By sending a `DELETE` request to this endpoint with the relevant\n        `chatId`, users can effectively remove the specified one-on-one chat,\n        thereby enhancing their control over their chat interactions and\n        facilitating a streamlined and personalized messaging experience.\n      operationId: deleteOneOnOneChat\n      responses:\n        '200':\n          description: Delete one on one chat\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: http://localhost:3000\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '87'\n            Date:\n              schema:\n                type: string\n                example: Wed, 02 Aug 2023 18:21:12 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"57-W8eeMdgPYpDebp4OQ6EuykCDvU0\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '488'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '30'\n            Vary:\n              schema:\n                type: string\n                example: Origin\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties: {}\n                  message:\n                    type: string\n                    example: Chat deleted successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Delete one on one chat:\n                  value:\n                    data: {}\n                    message: Chat deleted successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: chatId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 64ce7766307617f3a412b803\n  /chat-app/chats/group:\n    post:\n      tags:\n        \n        - 💬 Chat App\n        \n      summary: Create a group chat\n      description: >-\n        This API endpoint enables a logged-in user to initiate the creation of a\n        group chat, bringing together multiple participants to engage in\n        collaborative discussions.\n\n\n        To establish a group, a minimum of three participants is required.\n\n\n        This endpoint streamlines the process of forming dynamic group\n        conversations, fostering enriched interactions among users within the\n        chat application.\n      operationId: createAGroupChat\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                name:\n                  type: string\n                  example: My first group\n                participants:\n                  type: array\n                  items:\n                    type: string\n                    example: 64c940d8ffe6c671f4d049d0\n                  example:\n                    - 64c940d8ffe6c671f4d049d0\n                    - 64c940d8ffe6c671f4d049cd\n            example:\n              name: My first group\n              participants:\n                - 64c940d8ffe6c671f4d049d0\n                - 64c940d8ffe6c671f4d049cd\n      responses:\n        '201':\n          description: Create a group chat\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: http://localhost:3000\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '1483'\n            Date:\n              schema:\n                type: string\n                example: Wed, 02 Aug 2023 18:19:02 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"5cb-PGmStNXEY3FB67/sErxaoueqD14\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '495'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '159'\n            Vary:\n              schema:\n                type: string\n                example: Origin\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 64ca9e166cabe93cce077e0a\n                      admin:\n                        type: string\n                        example: 64ca18038155dc11e68dfe83\n                      createdAt:\n                        type: string\n                        example: '2023-08-02T18:19:02.958Z'\n                      isGroupChat:\n                        type: boolean\n                        example: true\n                      name:\n                        type: string\n                        example: My first group\n                      participants:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            __v:\n                              type: number\n                              example: 0\n                            _id:\n                              type: string\n                              example: 64c940d8ffe6c671f4d049cd\n                            avatar:\n                              type: object\n                              properties:\n                                _id:\n                                  type: string\n                                  example: 64c940d8ffe6c671f4d049ce\n                                localPath:\n                                  type: string\n                                  example: ''\n                                url:\n                                  type: string\n                                  example: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/601.jpg\n                            createdAt:\n                              type: string\n                              example: '2023-08-01T17:28:56.322Z'\n                            email:\n                              type: string\n                              example: vallie.tremblay15@hotmail.com\n                            isEmailVerified:\n                              type: boolean\n                              example: true\n                            loginType:\n                              type: string\n                              example: EMAIL_PASSWORD\n                            role:\n                              type: string\n                              example: ADMIN\n                            updatedAt:\n                              type: string\n                              example: '2023-08-01T19:00:03.310Z'\n                            username:\n                              type: string\n                              example: baylee_mante\n                        example:\n                          - __v: 0\n                            _id: 64c940d8ffe6c671f4d049cd\n                            avatar:\n                              _id: 64c940d8ffe6c671f4d049ce\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/601.jpg\n                            createdAt: '2023-08-01T17:28:56.322Z'\n                            email: vallie.tremblay15@hotmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-01T19:00:03.310Z'\n                            username: baylee_mante\n                          - __v: 0\n                            _id: 64c940d8ffe6c671f4d049d0\n                            avatar:\n                              _id: 64c940d8ffe6c671f4d049d1\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1247.jpg\n                            createdAt: '2023-08-01T17:28:56.322Z'\n                            email: vanessa_ondricka81@hotmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-01T19:00:13.101Z'\n                            username: walton_halvorson\n                          - __v: 0\n                            _id: 64ca18038155dc11e68dfe83\n                            avatar:\n                              _id: 64ca18038155dc11e68dfe82\n                              localPath: ''\n                              url: https://via.placeholder.com/200x200.png\n                            createdAt: '2023-08-02T08:46:59.711Z'\n                            email: john.doe@gmail.com\n                            isEmailVerified: false\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-02T17:35:38.049Z'\n                            username: doejohn\n                      updatedAt:\n                        type: string\n                        example: '2023-08-02T18:19:02.958Z'\n                  message:\n                    type: string\n                    example: Group chat created successfully\n                  statusCode:\n                    type: number\n                    example: 201\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Create a group chat:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 64ca9e166cabe93cce077e0a\n                      admin: 64ca18038155dc11e68dfe83\n                      createdAt: '2023-08-02T18:19:02.958Z'\n                      isGroupChat: true\n                      name: My first group\n                      participants:\n                        - __v: 0\n                          _id: 64c940d8ffe6c671f4d049cd\n                          avatar:\n                            _id: 64c940d8ffe6c671f4d049ce\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/601.jpg\n                          createdAt: '2023-08-01T17:28:56.322Z'\n                          email: vallie.tremblay15@hotmail.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: ADMIN\n                          updatedAt: '2023-08-01T19:00:03.310Z'\n                          username: baylee_mante\n                        - __v: 0\n                          _id: 64c940d8ffe6c671f4d049d0\n                          avatar:\n                            _id: 64c940d8ffe6c671f4d049d1\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1247.jpg\n                          createdAt: '2023-08-01T17:28:56.322Z'\n                          email: vanessa_ondricka81@hotmail.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: USER\n                          updatedAt: '2023-08-01T19:00:13.101Z'\n                          username: walton_halvorson\n                        - __v: 0\n                          _id: 64ca18038155dc11e68dfe83\n                          avatar:\n                            _id: 64ca18038155dc11e68dfe82\n                            localPath: ''\n                            url: https://via.placeholder.com/200x200.png\n                          createdAt: '2023-08-02T08:46:59.711Z'\n                          email: john.doe@gmail.com\n                          isEmailVerified: false\n                          loginType: EMAIL_PASSWORD\n                          role: ADMIN\n                          updatedAt: '2023-08-02T17:35:38.049Z'\n                          username: doejohn\n                      updatedAt: '2023-08-02T18:19:02.958Z'\n                    message: Group chat created successfully\n                    statusCode: 201\n                    success: true\n        '422':\n          description: Minimum 2 participants required\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: http://localhost:5173\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '684'\n            Date:\n              schema:\n                type: string\n                example: Sat, 19 Aug 2023 08:03:19 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"2ac-ABfpOzw3wYXFG9NfzxdHmU3Y2n0\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '496'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '22'\n            Vary:\n              schema:\n                type: string\n                example: Origin\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    nullable: true\n                    example: null\n                  errors:\n                    type: array\n                    items:\n                      type: object\n                      properties:\n                        participants:\n                          type: string\n                          example: >-\n                            Participants must be an array with more than 2\n                            members and less than 100 members\n                    example:\n                      - participants: >-\n                          Participants must be an array with more than 2 members\n                          and less than 100 members\n                  message:\n                    type: string\n                    example: Received data is not valid\n                  stack:\n                    type: string\n                    example: |-\n                      Error: Received data is not valid\n                          at validate (file:///usr/src/freeapi/src/validators/validate.js:24:9)\n                          at Layer.handle [as handle_request] (/usr/src/freeapi/node_modules/express/lib/router/layer.js:95:5)\n                          at next (/usr/src/freeapi/node_modules/express/lib/router/route.js:144:13)\n                          at middleware (/usr/src/freeapi/node_modules/express-validator/src/middlewares/check.js:16:13)\n                          at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n                  statusCode:\n                    type: number\n                    example: 422\n                  success:\n                    type: boolean\n                    example: false\n              examples:\n                Minimum 2 participants required:\n                  value:\n                    data: null\n                    errors:\n                      - participants: >-\n                          Participants must be an array with more than 2 members\n                          and less than 100 members\n                    message: Received data is not valid\n                    stack: |-\n                      Error: Received data is not valid\n                          at validate (file:///usr/src/freeapi/src/validators/validate.js:24:9)\n                          at Layer.handle [as handle_request] (/usr/src/freeapi/node_modules/express/lib/router/layer.js:95:5)\n                          at next (/usr/src/freeapi/node_modules/express/lib/router/route.js:144:13)\n                          at middleware (/usr/src/freeapi/node_modules/express-validator/src/middlewares/check.js:16:13)\n                          at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n                    statusCode: 422\n                    success: false\n  /chat-app/chats/group/{chatId}:\n    get:\n      tags:\n        \n        - 💬 Chat App\n        \n      summary: Get group chat details\n      description: >-\n        This API endpoint allows developers to retrieve comprehensive\n        information about a specific group chat.\n\n\n        This includes essential details such as the group's name, the total\n        number of participants, and a detailed list of member profiles,\n        providing a holistic overview of the group's composition.\n\n\n        By utilizing this endpoint, developers can seamlessly access and display\n        key insights into group interactions.\n      operationId: getGroupChatDetails\n      responses:\n        '200':\n          description: Get group chat details\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: http://localhost:5173\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '3184'\n            Date:\n              schema:\n                type: string\n                example: Fri, 11 Aug 2023 17:40:14 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"c70-VQg7a1shqJTmmsGKrtzhydFGZuQ\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '489'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '795'\n            Vary:\n              schema:\n                type: string\n                example: Origin\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 64d6722a5bda3332e4f368a9\n                      admin:\n                        type: string\n                        example: 64d672295bda3332e4f36582\n                      createdAt:\n                        type: string\n                        example: '2023-08-11T17:38:50.921Z'\n                      isGroupChat:\n                        type: boolean\n                        example: true\n                      name:\n                        type: string\n                        example: Ferrari Civicmarkets\n                      participants:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            __v:\n                              type: number\n                              example: 0\n                            _id:\n                              type: string\n                              example: 64d672295bda3332e4f3650d\n                            avatar:\n                              type: object\n                              properties:\n                                _id:\n                                  type: string\n                                  example: 64d672295bda3332e4f3650e\n                                localPath:\n                                  type: string\n                                  example: ''\n                                url:\n                                  type: string\n                                  example: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/93.jpg\n                            createdAt:\n                              type: string\n                              example: '2023-08-11T17:38:49.117Z'\n                            email:\n                              type: string\n                              example: anissa27@gmail.com\n                            isEmailVerified:\n                              type: boolean\n                              example: true\n                            loginType:\n                              type: string\n                              example: EMAIL_PASSWORD\n                            role:\n                              type: string\n                              example: USER\n                            updatedAt:\n                              type: string\n                              example: '2023-08-11T17:39:09.579Z'\n                            username:\n                              type: string\n                              example: sandrine8\n                        example:\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3650d\n                            avatar:\n                              _id: 64d672295bda3332e4f3650e\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/93.jpg\n                            createdAt: '2023-08-11T17:38:49.117Z'\n                            email: anissa27@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:39:09.579Z'\n                            username: sandrine8\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3651c\n                            avatar:\n                              _id: 64d672295bda3332e4f3651d\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1038.jpg\n                            createdAt: '2023-08-11T17:38:49.119Z'\n                            email: vicky.pfeffer49@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-11T17:38:49.119Z'\n                            username: michael80\n                          - __v: 0\n                            _id: 64d672295bda3332e4f36525\n                            avatar:\n                              _id: 64d672295bda3332e4f36526\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/529.jpg\n                            createdAt: '2023-08-11T17:38:49.119Z'\n                            email: dayton.hirthe@yahoo.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-11T17:38:49.119Z'\n                            username: anahi_herman\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3653d\n                            avatar:\n                              _id: 64d672295bda3332e4f3653e\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1231.jpg\n                            createdAt: '2023-08-11T17:38:49.120Z'\n                            email: jalen.ankunding21@yahoo.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:38:49.120Z'\n                            username: tyreek.wolff3\n                          - __v: 0\n                            _id: 64d672295bda3332e4f36567\n                            avatar:\n                              _id: 64d672295bda3332e4f36568\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1004.jpg\n                            createdAt: '2023-08-11T17:38:49.120Z'\n                            email: saul58@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-11T17:38:49.120Z'\n                            username: joaquin.russel-volkman10\n                          - __v: 0\n                            _id: 64d672295bda3332e4f36582\n                            avatar:\n                              _id: 64d672295bda3332e4f36583\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1159.jpg\n                            createdAt: '2023-08-11T17:38:49.121Z'\n                            email: ferne.dare19@yahoo.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:38:49.121Z'\n                            username: kaitlin_rolfson69\n                          - __v: 0\n                            _id: 64d672295bda3332e4f3658b\n                            avatar:\n                              _id: 64d672295bda3332e4f3658c\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/46.jpg\n                            createdAt: '2023-08-11T17:38:49.121Z'\n                            email: stephon_feeney37@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-11T17:38:49.121Z'\n                            username: johnson_wisozk\n                      updatedAt:\n                        type: string\n                        example: '2023-08-11T17:38:50.921Z'\n                  message:\n                    type: string\n                    example: Group chat fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get group chat details:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 64d6722a5bda3332e4f368a9\n                      admin: 64d672295bda3332e4f36582\n                      createdAt: '2023-08-11T17:38:50.921Z'\n                      isGroupChat: true\n                      name: Ferrari Civicmarkets\n                      participants:\n                        - __v: 0\n                          _id: 64d672295bda3332e4f3650d\n                          avatar:\n                            _id: 64d672295bda3332e4f3650e\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/93.jpg\n                          createdAt: '2023-08-11T17:38:49.117Z'\n                          email: anissa27@gmail.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: USER\n                          updatedAt: '2023-08-11T17:39:09.579Z'\n                          username: sandrine8\n                        - __v: 0\n                          _id: 64d672295bda3332e4f3651c\n                          avatar:\n                            _id: 64d672295bda3332e4f3651d\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1038.jpg\n                          createdAt: '2023-08-11T17:38:49.119Z'\n                          email: vicky.pfeffer49@gmail.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: ADMIN\n                          updatedAt: '2023-08-11T17:38:49.119Z'\n                          username: michael80\n                        - __v: 0\n                          _id: 64d672295bda3332e4f36525\n                          avatar:\n                            _id: 64d672295bda3332e4f36526\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/529.jpg\n                          createdAt: '2023-08-11T17:38:49.119Z'\n                          email: dayton.hirthe@yahoo.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: ADMIN\n                          updatedAt: '2023-08-11T17:38:49.119Z'\n                          username: anahi_herman\n                        - __v: 0\n                          _id: 64d672295bda3332e4f3653d\n                          avatar:\n                            _id: 64d672295bda3332e4f3653e\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1231.jpg\n                          createdAt: '2023-08-11T17:38:49.120Z'\n                          email: jalen.ankunding21@yahoo.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: USER\n                          updatedAt: '2023-08-11T17:38:49.120Z'\n                          username: tyreek.wolff3\n                        - __v: 0\n                          _id: 64d672295bda3332e4f36567\n                          avatar:\n                            _id: 64d672295bda3332e4f36568\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1004.jpg\n                          createdAt: '2023-08-11T17:38:49.120Z'\n                          email: saul58@gmail.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: ADMIN\n                          updatedAt: '2023-08-11T17:38:49.120Z'\n                          username: joaquin.russel-volkman10\n                        - __v: 0\n                          _id: 64d672295bda3332e4f36582\n                          avatar:\n                            _id: 64d672295bda3332e4f36583\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1159.jpg\n                          createdAt: '2023-08-11T17:38:49.121Z'\n                          email: ferne.dare19@yahoo.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: USER\n                          updatedAt: '2023-08-11T17:38:49.121Z'\n                          username: kaitlin_rolfson69\n                        - __v: 0\n                          _id: 64d672295bda3332e4f3658b\n                          avatar:\n                            _id: 64d672295bda3332e4f3658c\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/46.jpg\n                          createdAt: '2023-08-11T17:38:49.121Z'\n                          email: stephon_feeney37@gmail.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: USER\n                          updatedAt: '2023-08-11T17:38:49.121Z'\n                          username: johnson_wisozk\n                      updatedAt: '2023-08-11T17:38:50.921Z'\n                    message: Group chat fetched successfully\n                    statusCode: 200\n                    success: true\n    delete:\n      tags:\n        \n        - 💬 Chat App\n        \n      summary: Delete a group chat\n      description: >-\n        This API endpoint empowers group administrators to seamlessly delete a\n        specific group chat identified by its unique `chatId`.\n\n\n        By accessing this endpoint, group admins can initiate the removal\n        process, ensuring efficient management of group interactions and\n        maintaining a streamlined chat environment.\n      operationId: deleteAGroupChat\n      responses:\n        '200':\n          description: Delete a group chat\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: http://localhost:3000\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '87'\n            Date:\n              schema:\n                type: string\n                example: Wed, 02 Aug 2023 18:21:12 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"57-W8eeMdgPYpDebp4OQ6EuykCDvU0\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '488'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '30'\n            Vary:\n              schema:\n                type: string\n                example: Origin\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties: {}\n                  message:\n                    type: string\n                    example: Group chat deleted successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Delete a group chat:\n                  value:\n                    data: {}\n                    message: Group chat deleted successfully\n                    statusCode: 200\n                    success: true\n    patch:\n      tags:\n        \n        - 💬 Chat App\n        \n      summary: Update group chat name\n      description: >-\n        This API endpoint empowers group administrators to seamlessly update the\n        name of a group chat.\n\n\n        Group administrators can utilize this endpoint to enhance the clarity\n        and context of their group conversations by modifying the group's name\n        as needed.\n      operationId: updateGroupChatName\n      requestBody:\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                name:\n                  type: string\n                  example: New friends\n            example:\n              name: New friends\n      responses:\n        '200':\n          description: Update group chat name\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: http://localhost:3000\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '1485'\n            Date:\n              schema:\n                type: string\n                example: Wed, 02 Aug 2023 18:19:47 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"5cd-0Yg7hXdvxq8lFm8Tn5LNyR5EV4E\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '492'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '115'\n            Vary:\n              schema:\n                type: string\n                example: Origin\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 64ca9e166cabe93cce077e0a\n                      admin:\n                        type: string\n                        example: 64ca18038155dc11e68dfe83\n                      createdAt:\n                        type: string\n                        example: '2023-08-02T18:19:02.958Z'\n                      isGroupChat:\n                        type: boolean\n                        example: true\n                      name:\n                        type: string\n                        example: New friends\n                      participants:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            __v:\n                              type: number\n                              example: 0\n                            _id:\n                              type: string\n                              example: 64c940d8ffe6c671f4d049cd\n                            avatar:\n                              type: object\n                              properties:\n                                _id:\n                                  type: string\n                                  example: 64c940d8ffe6c671f4d049ce\n                                localPath:\n                                  type: string\n                                  example: ''\n                                url:\n                                  type: string\n                                  example: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/601.jpg\n                            createdAt:\n                              type: string\n                              example: '2023-08-01T17:28:56.322Z'\n                            email:\n                              type: string\n                              example: vallie.tremblay15@hotmail.com\n                            isEmailVerified:\n                              type: boolean\n                              example: true\n                            loginType:\n                              type: string\n                              example: EMAIL_PASSWORD\n                            role:\n                              type: string\n                              example: ADMIN\n                            updatedAt:\n                              type: string\n                              example: '2023-08-01T19:00:03.310Z'\n                            username:\n                              type: string\n                              example: baylee_mante\n                        example:\n                          - __v: 0\n                            _id: 64c940d8ffe6c671f4d049cd\n                            avatar:\n                              _id: 64c940d8ffe6c671f4d049ce\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/601.jpg\n                            createdAt: '2023-08-01T17:28:56.322Z'\n                            email: vallie.tremblay15@hotmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-01T19:00:03.310Z'\n                            username: baylee_mante\n                          - __v: 0\n                            _id: 64c940d8ffe6c671f4d049d0\n                            avatar:\n                              _id: 64c940d8ffe6c671f4d049d1\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1247.jpg\n                            createdAt: '2023-08-01T17:28:56.322Z'\n                            email: vanessa_ondricka81@hotmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-01T19:00:13.101Z'\n                            username: walton_halvorson\n                          - __v: 0\n                            _id: 64ca18038155dc11e68dfe83\n                            avatar:\n                              _id: 64ca18038155dc11e68dfe82\n                              localPath: ''\n                              url: https://via.placeholder.com/200x200.png\n                            createdAt: '2023-08-02T08:46:59.711Z'\n                            email: john.doe@gmail.com\n                            isEmailVerified: false\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-02T17:35:38.049Z'\n                            username: doejohn\n                      updatedAt:\n                        type: string\n                        example: '2023-08-02T18:19:47.506Z'\n                  message:\n                    type: string\n                    example: Group chat name updated successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Update group chat name:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 64ca9e166cabe93cce077e0a\n                      admin: 64ca18038155dc11e68dfe83\n                      createdAt: '2023-08-02T18:19:02.958Z'\n                      isGroupChat: true\n                      name: New friends\n                      participants:\n                        - __v: 0\n                          _id: 64c940d8ffe6c671f4d049cd\n                          avatar:\n                            _id: 64c940d8ffe6c671f4d049ce\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/601.jpg\n                          createdAt: '2023-08-01T17:28:56.322Z'\n                          email: vallie.tremblay15@hotmail.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: ADMIN\n                          updatedAt: '2023-08-01T19:00:03.310Z'\n                          username: baylee_mante\n                        - __v: 0\n                          _id: 64c940d8ffe6c671f4d049d0\n                          avatar:\n                            _id: 64c940d8ffe6c671f4d049d1\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1247.jpg\n                          createdAt: '2023-08-01T17:28:56.322Z'\n                          email: vanessa_ondricka81@hotmail.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: USER\n                          updatedAt: '2023-08-01T19:00:13.101Z'\n                          username: walton_halvorson\n                        - __v: 0\n                          _id: 64ca18038155dc11e68dfe83\n                          avatar:\n                            _id: 64ca18038155dc11e68dfe82\n                            localPath: ''\n                            url: https://via.placeholder.com/200x200.png\n                          createdAt: '2023-08-02T08:46:59.711Z'\n                          email: john.doe@gmail.com\n                          isEmailVerified: false\n                          loginType: EMAIL_PASSWORD\n                          role: ADMIN\n                          updatedAt: '2023-08-02T17:35:38.049Z'\n                          username: doejohn\n                      updatedAt: '2023-08-02T18:19:47.506Z'\n                    message: Group chat name updated successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: chatId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 64ca9e166cabe93cce077e0a\n  /chat-app/chats/group/{chatId}/{participantId}:\n    post:\n      tags:\n        \n        - 💬 Chat App\n        \n      summary: Add participant in a group chat\n      description: >-\n        This API endpoint enables group administrators to effortlessly expand\n        the participant roster of a specific group chat.\n\n\n        With this endpoint, administrators can seamlessly add new members to the\n        group, fostering inclusivity and enabling enriched collaborative\n        discussions among participants.\n\n\n        This functionality streamlines group management, empowering\n        administrators to create vibrant and engaging group dynamics within the\n        chat application.\n      operationId: addParticipantInAGroupChat\n      responses:\n        '200':\n          description: Add participant in a group chat\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: http://localhost:3000\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '1482'\n            Date:\n              schema:\n                type: string\n                example: Wed, 02 Aug 2023 18:19:26 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"5ca-yc5rJZqvVEWiNM4axqPCBiyGGSA\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '493'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '136'\n            Vary:\n              schema:\n                type: string\n                example: Origin\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 64ca9e166cabe93cce077e0a\n                      admin:\n                        type: string\n                        example: 64ca18038155dc11e68dfe83\n                      createdAt:\n                        type: string\n                        example: '2023-08-02T18:19:02.958Z'\n                      isGroupChat:\n                        type: boolean\n                        example: true\n                      name:\n                        type: string\n                        example: My first group\n                      participants:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            __v:\n                              type: number\n                              example: 0\n                            _id:\n                              type: string\n                              example: 64c940d8ffe6c671f4d049cd\n                            avatar:\n                              type: object\n                              properties:\n                                _id:\n                                  type: string\n                                  example: 64c940d8ffe6c671f4d049ce\n                                localPath:\n                                  type: string\n                                  example: ''\n                                url:\n                                  type: string\n                                  example: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/601.jpg\n                            createdAt:\n                              type: string\n                              example: '2023-08-01T17:28:56.322Z'\n                            email:\n                              type: string\n                              example: vallie.tremblay15@hotmail.com\n                            isEmailVerified:\n                              type: boolean\n                              example: true\n                            loginType:\n                              type: string\n                              example: EMAIL_PASSWORD\n                            role:\n                              type: string\n                              example: ADMIN\n                            updatedAt:\n                              type: string\n                              example: '2023-08-01T19:00:03.310Z'\n                            username:\n                              type: string\n                              example: baylee_mante\n                        example:\n                          - __v: 0\n                            _id: 64c940d8ffe6c671f4d049cd\n                            avatar:\n                              _id: 64c940d8ffe6c671f4d049ce\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/601.jpg\n                            createdAt: '2023-08-01T17:28:56.322Z'\n                            email: vallie.tremblay15@hotmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-01T19:00:03.310Z'\n                            username: baylee_mante\n                          - __v: 0\n                            _id: 64c940d8ffe6c671f4d049d0\n                            avatar:\n                              _id: 64c940d8ffe6c671f4d049d1\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1247.jpg\n                            createdAt: '2023-08-01T17:28:56.322Z'\n                            email: vanessa_ondricka81@hotmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-01T19:00:13.101Z'\n                            username: walton_halvorson\n                          - __v: 0\n                            _id: 64ca18038155dc11e68dfe83\n                            avatar:\n                              _id: 64ca18038155dc11e68dfe82\n                              localPath: ''\n                              url: https://via.placeholder.com/200x200.png\n                            createdAt: '2023-08-02T08:46:59.711Z'\n                            email: john.doe@gmail.com\n                            isEmailVerified: false\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-02T17:35:38.049Z'\n                            username: doejohn\n                      updatedAt:\n                        type: string\n                        example: '2023-08-02T18:19:26.696Z'\n                  message:\n                    type: string\n                    example: Participant added successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Add participant in a group chat:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 64ca9e166cabe93cce077e0a\n                      admin: 64ca18038155dc11e68dfe83\n                      createdAt: '2023-08-02T18:19:02.958Z'\n                      isGroupChat: true\n                      name: My first group\n                      participants:\n                        - __v: 0\n                          _id: 64c940d8ffe6c671f4d049cd\n                          avatar:\n                            _id: 64c940d8ffe6c671f4d049ce\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/601.jpg\n                          createdAt: '2023-08-01T17:28:56.322Z'\n                          email: vallie.tremblay15@hotmail.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: ADMIN\n                          updatedAt: '2023-08-01T19:00:03.310Z'\n                          username: baylee_mante\n                        - __v: 0\n                          _id: 64c940d8ffe6c671f4d049d0\n                          avatar:\n                            _id: 64c940d8ffe6c671f4d049d1\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1247.jpg\n                          createdAt: '2023-08-01T17:28:56.322Z'\n                          email: vanessa_ondricka81@hotmail.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: USER\n                          updatedAt: '2023-08-01T19:00:13.101Z'\n                          username: walton_halvorson\n                        - __v: 0\n                          _id: 64ca18038155dc11e68dfe83\n                          avatar:\n                            _id: 64ca18038155dc11e68dfe82\n                            localPath: ''\n                            url: https://via.placeholder.com/200x200.png\n                          createdAt: '2023-08-02T08:46:59.711Z'\n                          email: john.doe@gmail.com\n                          isEmailVerified: false\n                          loginType: EMAIL_PASSWORD\n                          role: ADMIN\n                          updatedAt: '2023-08-02T17:35:38.049Z'\n                          username: doejohn\n                      updatedAt: '2023-08-02T18:19:26.696Z'\n                    message: Participant added successfully\n                    statusCode: 200\n                    success: true\n    delete:\n      tags:\n        \n        - 💬 Chat App\n        \n      summary: Remove participant from a group chat\n      description: >-\n        This API endpoint enables group administrators to efficiently manage\n        group dynamics by removing participants from a specific group chat.\n\n\n        This endpoint empowers administrators to maintain the composition and\n        relevance of the group by seamlessly detaching selected participants,\n        ensuring a streamlined and controlled group conversation environment.\n      operationId: removeParticipantFromAGroupChat\n      responses:\n        '200':\n          description: Remove participant from a group chat\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: http://localhost:3000\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '1065'\n            Date:\n              schema:\n                type: string\n                example: Wed, 02 Aug 2023 18:20:56 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"429-xN31lEyErkOhfuh0EJNyuNjIh0Q\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '489'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '46'\n            Vary:\n              schema:\n                type: string\n                example: Origin\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 64ca9e166cabe93cce077e0a\n                      admin:\n                        type: string\n                        example: 64ca18038155dc11e68dfe83\n                      createdAt:\n                        type: string\n                        example: '2023-08-02T18:19:02.958Z'\n                      isGroupChat:\n                        type: boolean\n                        example: true\n                      name:\n                        type: string\n                        example: New friends\n                      participants:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            __v:\n                              type: number\n                              example: 0\n                            _id:\n                              type: string\n                              example: 64c940d8ffe6c671f4d049d0\n                            avatar:\n                              type: object\n                              properties:\n                                _id:\n                                  type: string\n                                  example: 64c940d8ffe6c671f4d049d1\n                                localPath:\n                                  type: string\n                                  example: ''\n                                url:\n                                  type: string\n                                  example: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1247.jpg\n                            createdAt:\n                              type: string\n                              example: '2023-08-01T17:28:56.322Z'\n                            email:\n                              type: string\n                              example: vanessa_ondricka81@hotmail.com\n                            isEmailVerified:\n                              type: boolean\n                              example: true\n                            loginType:\n                              type: string\n                              example: EMAIL_PASSWORD\n                            role:\n                              type: string\n                              example: USER\n                            updatedAt:\n                              type: string\n                              example: '2023-08-01T19:00:13.101Z'\n                            username:\n                              type: string\n                              example: walton_halvorson\n                        example:\n                          - __v: 0\n                            _id: 64c940d8ffe6c671f4d049d0\n                            avatar:\n                              _id: 64c940d8ffe6c671f4d049d1\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1247.jpg\n                            createdAt: '2023-08-01T17:28:56.322Z'\n                            email: vanessa_ondricka81@hotmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-01T19:00:13.101Z'\n                            username: walton_halvorson\n                          - __v: 0\n                            _id: 64ca18038155dc11e68dfe83\n                            avatar:\n                              _id: 64ca18038155dc11e68dfe82\n                              localPath: ''\n                              url: https://via.placeholder.com/200x200.png\n                            createdAt: '2023-08-02T08:46:59.711Z'\n                            email: john.doe@gmail.com\n                            isEmailVerified: false\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-02T17:35:38.049Z'\n                            username: doejohn\n                      updatedAt:\n                        type: string\n                        example: '2023-08-02T18:20:56.407Z'\n                  message:\n                    type: string\n                    example: Participant removed successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Remove participant from a group chat:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 64ca9e166cabe93cce077e0a\n                      admin: 64ca18038155dc11e68dfe83\n                      createdAt: '2023-08-02T18:19:02.958Z'\n                      isGroupChat: true\n                      name: New friends\n                      participants:\n                        - __v: 0\n                          _id: 64c940d8ffe6c671f4d049d0\n                          avatar:\n                            _id: 64c940d8ffe6c671f4d049d1\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1247.jpg\n                          createdAt: '2023-08-01T17:28:56.322Z'\n                          email: vanessa_ondricka81@hotmail.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: USER\n                          updatedAt: '2023-08-01T19:00:13.101Z'\n                          username: walton_halvorson\n                        - __v: 0\n                          _id: 64ca18038155dc11e68dfe83\n                          avatar:\n                            _id: 64ca18038155dc11e68dfe82\n                            localPath: ''\n                            url: https://via.placeholder.com/200x200.png\n                          createdAt: '2023-08-02T08:46:59.711Z'\n                          email: john.doe@gmail.com\n                          isEmailVerified: false\n                          loginType: EMAIL_PASSWORD\n                          role: ADMIN\n                          updatedAt: '2023-08-02T17:35:38.049Z'\n                          username: doejohn\n                      updatedAt: '2023-08-02T18:20:56.407Z'\n                    message: Participant removed successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: chatId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 64ca9e166cabe93cce077e0a\n      - name: participantId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 64c940d8ffe6c671f4d049cd\n  /chat-app/chats/leave/group/{chatId}:\n    delete:\n      tags:\n        \n        - 💬 Chat App\n        \n      summary: Leave group chat\n      description: >-\n        This API endpoint enables logged in user to leave a specific group by\n        passing the `chatId` as a path variable.\n\n\n        This endpoint gives user privilege to decide whether to be a part of a\n        specific group.\n      operationId: leaveGroupChat\n      responses:\n        '200':\n          description: Leave group chat\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: http://localhost:5173\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '4197'\n            Date:\n              schema:\n                type: string\n                example: Sat, 19 Aug 2023 07:47:01 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"1065-h4coEmHyFcpJrRpIcwrKo5ITmoI\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '495'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '575'\n            Vary:\n              schema:\n                type: string\n                example: Origin\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 64dfc9f439dd3fa3cade4f3c\n                      admin:\n                        type: string\n                        example: 64dfc9ed39dd3fa3cade4bd1\n                      createdAt:\n                        type: string\n                        example: '2023-08-18T19:43:48.048Z'\n                      isGroupChat:\n                        type: boolean\n                        example: true\n                      lastMessage:\n                        type: object\n                        properties:\n                          __v:\n                            type: number\n                            example: 0\n                          _id:\n                            type: string\n                            example: 64dfcf4239dd3fa3cade508c\n                          attachments:\n                            type: array\n                            items:\n                              type: object\n                              properties:\n                                _id:\n                                  type: string\n                                  example: 64dfcf4239dd3fa3cade508d\n                                localPath:\n                                  type: string\n                                  example: >-\n                                    public/images/apple-fruit169238918631069806.jpg\n                                url:\n                                  type: string\n                                  example: >-\n                                    http://localhost:8080/images/apple-fruit169238918631069806.jpg\n                            example:\n                              - _id: 64dfcf4239dd3fa3cade508d\n                                localPath: >-\n                                  public/images/apple-fruit169238918631069806.jpg\n                                url: >-\n                                  http://localhost:8080/images/apple-fruit169238918631069806.jpg\n                          chat:\n                            type: string\n                            example: 64dfc9f439dd3fa3cade4f3c\n                          content:\n                            type: string\n                            example: ''\n                          createdAt:\n                            type: string\n                            example: '2023-08-18T20:06:26.382Z'\n                          sender:\n                            type: object\n                            properties:\n                              _id:\n                                type: string\n                                example: 64dfc9ed39dd3fa3cade4bda\n                              avatar:\n                                type: object\n                                properties:\n                                  _id:\n                                    type: string\n                                    example: 64dfc9ed39dd3fa3cade4bdb\n                                  localPath:\n                                    type: string\n                                    example: ''\n                                  url:\n                                    type: string\n                                    example: >-\n                                      https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1048.jpg\n                              email:\n                                type: string\n                                example: tiffany.gutkowski-greenfelder88@gmail.com\n                              username:\n                                type: string\n                                example: raymond.halvorson\n                          updatedAt:\n                            type: string\n                            example: '2023-08-18T20:06:26.382Z'\n                      name:\n                        type: string\n                        example: Smart XTSapplications\n                      participants:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            __v:\n                              type: number\n                              example: 0\n                            _id:\n                              type: string\n                              example: 64dfc9ed39dd3fa3cade4bad\n                            avatar:\n                              type: object\n                              properties:\n                                _id:\n                                  type: string\n                                  example: 64dfc9ed39dd3fa3cade4bae\n                                localPath:\n                                  type: string\n                                  example: ''\n                                url:\n                                  type: string\n                                  example: >-\n                                    https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/99.jpg\n                            createdAt:\n                              type: string\n                              example: '2023-08-18T19:43:41.602Z'\n                            email:\n                              type: string\n                              example: velma21@gmail.com\n                            isEmailVerified:\n                              type: boolean\n                              example: true\n                            loginType:\n                              type: string\n                              example: EMAIL_PASSWORD\n                            role:\n                              type: string\n                              example: USER\n                            updatedAt:\n                              type: string\n                              example: '2023-08-18T19:45:14.398Z'\n                            username:\n                              type: string\n                              example: kadin79\n                        example:\n                          - __v: 0\n                            _id: 64dfc9ed39dd3fa3cade4bad\n                            avatar:\n                              _id: 64dfc9ed39dd3fa3cade4bae\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/99.jpg\n                            createdAt: '2023-08-18T19:43:41.602Z'\n                            email: velma21@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-18T19:45:14.398Z'\n                            username: kadin79\n                          - __v: 0\n                            _id: 64dfc9ed39dd3fa3cade4bc2\n                            avatar:\n                              _id: 64dfc9ed39dd3fa3cade4bc3\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/124.jpg\n                            createdAt: '2023-08-18T19:43:41.611Z'\n                            email: mona.osinski61@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-18T19:43:41.611Z'\n                            username: gwen.simonis\n                          - __v: 0\n                            _id: 64dfc9ed39dd3fa3cade4bd1\n                            avatar:\n                              _id: 64dfc9ed39dd3fa3cade4bd2\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/707.jpg\n                            createdAt: '2023-08-18T19:43:41.611Z'\n                            email: treva_padberg@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-18T19:43:41.611Z'\n                            username: emma60\n                          - __v: 0\n                            _id: 64dfc9ed39dd3fa3cade4be3\n                            avatar:\n                              _id: 64dfc9ed39dd3fa3cade4be4\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1040.jpg\n                            createdAt: '2023-08-18T19:43:41.612Z'\n                            email: chelsey88@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-18T19:43:41.612Z'\n                            username: brown_bode\n                          - __v: 0\n                            _id: 64dfc9ed39dd3fa3cade4c0a\n                            avatar:\n                              _id: 64dfc9ed39dd3fa3cade4c0b\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/374.jpg\n                            createdAt: '2023-08-18T19:43:41.617Z'\n                            email: cody52@yahoo.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-18T19:43:41.617Z'\n                            username: erika93\n                          - __v: 0\n                            _id: 64dfc9ed39dd3fa3cade4c22\n                            avatar:\n                              _id: 64dfc9ed39dd3fa3cade4c23\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/776.jpg\n                            createdAt: '2023-08-18T19:43:41.622Z'\n                            email: helen_gerlach24@hotmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-18T19:43:41.622Z'\n                            username: keon.heathcote42\n                          - __v: 0\n                            _id: 64dfc9ed39dd3fa3cade4c3a\n                            avatar:\n                              _id: 64dfc9ed39dd3fa3cade4c3b\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/0.jpg\n                            createdAt: '2023-08-18T19:43:41.623Z'\n                            email: osbaldo_herman89@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: ADMIN\n                            updatedAt: '2023-08-18T19:43:41.623Z'\n                            username: orpha81\n                          - __v: 0\n                            _id: 64dfc9ed39dd3fa3cade4c40\n                            avatar:\n                              _id: 64dfc9ed39dd3fa3cade4c41\n                              localPath: ''\n                              url: >-\n                                https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/826.jpg\n                            createdAt: '2023-08-18T19:43:41.623Z'\n                            email: jasen_hayes@gmail.com\n                            isEmailVerified: true\n                            loginType: EMAIL_PASSWORD\n                            role: USER\n                            updatedAt: '2023-08-18T19:43:41.623Z'\n                            username: josie_bode97\n                      updatedAt:\n                        type: string\n                        example: '2023-08-19T07:47:01.274Z'\n                  message:\n                    type: string\n                    example: Left group successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Leave group chat:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 64dfc9f439dd3fa3cade4f3c\n                      admin: 64dfc9ed39dd3fa3cade4bd1\n                      createdAt: '2023-08-18T19:43:48.048Z'\n                      isGroupChat: true\n                      lastMessage:\n                        __v: 0\n                        _id: 64dfcf4239dd3fa3cade508c\n                        attachments:\n                          - _id: 64dfcf4239dd3fa3cade508d\n                            localPath: public/images/apple-fruit169238918631069806.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169238918631069806.jpg\n                        chat: 64dfc9f439dd3fa3cade4f3c\n                        content: ''\n                        createdAt: '2023-08-18T20:06:26.382Z'\n                        sender:\n                          _id: 64dfc9ed39dd3fa3cade4bda\n                          avatar:\n                            _id: 64dfc9ed39dd3fa3cade4bdb\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1048.jpg\n                          email: tiffany.gutkowski-greenfelder88@gmail.com\n                          username: raymond.halvorson\n                        updatedAt: '2023-08-18T20:06:26.382Z'\n                      name: Smart XTSapplications\n                      participants:\n                        - __v: 0\n                          _id: 64dfc9ed39dd3fa3cade4bad\n                          avatar:\n                            _id: 64dfc9ed39dd3fa3cade4bae\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/99.jpg\n                          createdAt: '2023-08-18T19:43:41.602Z'\n                          email: velma21@gmail.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: USER\n                          updatedAt: '2023-08-18T19:45:14.398Z'\n                          username: kadin79\n                        - __v: 0\n                          _id: 64dfc9ed39dd3fa3cade4bc2\n                          avatar:\n                            _id: 64dfc9ed39dd3fa3cade4bc3\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/124.jpg\n                          createdAt: '2023-08-18T19:43:41.611Z'\n                          email: mona.osinski61@gmail.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: USER\n                          updatedAt: '2023-08-18T19:43:41.611Z'\n                          username: gwen.simonis\n                        - __v: 0\n                          _id: 64dfc9ed39dd3fa3cade4bd1\n                          avatar:\n                            _id: 64dfc9ed39dd3fa3cade4bd2\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/707.jpg\n                          createdAt: '2023-08-18T19:43:41.611Z'\n                          email: treva_padberg@gmail.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: ADMIN\n                          updatedAt: '2023-08-18T19:43:41.611Z'\n                          username: emma60\n                        - __v: 0\n                          _id: 64dfc9ed39dd3fa3cade4be3\n                          avatar:\n                            _id: 64dfc9ed39dd3fa3cade4be4\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1040.jpg\n                          createdAt: '2023-08-18T19:43:41.612Z'\n                          email: chelsey88@gmail.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: USER\n                          updatedAt: '2023-08-18T19:43:41.612Z'\n                          username: brown_bode\n                        - __v: 0\n                          _id: 64dfc9ed39dd3fa3cade4c0a\n                          avatar:\n                            _id: 64dfc9ed39dd3fa3cade4c0b\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/374.jpg\n                          createdAt: '2023-08-18T19:43:41.617Z'\n                          email: cody52@yahoo.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: USER\n                          updatedAt: '2023-08-18T19:43:41.617Z'\n                          username: erika93\n                        - __v: 0\n                          _id: 64dfc9ed39dd3fa3cade4c22\n                          avatar:\n                            _id: 64dfc9ed39dd3fa3cade4c23\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/776.jpg\n                          createdAt: '2023-08-18T19:43:41.622Z'\n                          email: helen_gerlach24@hotmail.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: USER\n                          updatedAt: '2023-08-18T19:43:41.622Z'\n                          username: keon.heathcote42\n                        - __v: 0\n                          _id: 64dfc9ed39dd3fa3cade4c3a\n                          avatar:\n                            _id: 64dfc9ed39dd3fa3cade4c3b\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/0.jpg\n                          createdAt: '2023-08-18T19:43:41.623Z'\n                          email: osbaldo_herman89@gmail.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: ADMIN\n                          updatedAt: '2023-08-18T19:43:41.623Z'\n                          username: orpha81\n                        - __v: 0\n                          _id: 64dfc9ed39dd3fa3cade4c40\n                          avatar:\n                            _id: 64dfc9ed39dd3fa3cade4c41\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/826.jpg\n                          createdAt: '2023-08-18T19:43:41.623Z'\n                          email: jasen_hayes@gmail.com\n                          isEmailVerified: true\n                          loginType: EMAIL_PASSWORD\n                          role: USER\n                          updatedAt: '2023-08-18T19:43:41.623Z'\n                          username: josie_bode97\n                      updatedAt: '2023-08-19T07:47:01.274Z'\n                    message: Left group successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: chatId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 64dfc9f439dd3fa3cade4f3c\n  /chat-app/messages/{chatId}:\n    get:\n      tags:\n        \n        - 💬 Chat App\n        \n      summary: Get all messages\n      description: >-\n        This API endpoint enables logged-in users to retrieve a comprehensive\n        list of messages by providing the unique `chatId` as a parameter.\n\n\n        This API empowers developers to efficiently access and display all\n        messages associated with a specific chat, facilitating seamless\n        communication history exploration within their applications.\n      operationId: getAllMessages\n      responses:\n        '200':\n          description: Get all messages\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: http://127.0.0.1:5173\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '11469'\n            Date:\n              schema:\n                type: string\n                example: Sat, 05 Aug 2023 14:34:20 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"2ccd-WZhUTiA619OUyRetPif643F9b54\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '496'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '847'\n            Vary:\n              schema:\n                type: string\n                example: Origin\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: array\n                    items:\n                      type: object\n                      properties:\n                        __v:\n                          type: number\n                          example: 0\n                        _id:\n                          type: string\n                          example: 64ce5da74c05d878da37e97f\n                        chat:\n                          type: string\n                          example: 64cce34ddb940e1dd6232a3f\n                        content:\n                          type: string\n                          example: This is the message\n                        createdAt:\n                          type: string\n                          example: '2023-08-05T14:33:11.125Z'\n                        file:\n                          nullable: true\n                          example: null\n                        files:\n                          type: array\n                          items:\n                            type: object\n                            properties:\n                              _id:\n                                type: string\n                                example: 64ce5da74c05d878da37e980\n                              localPath:\n                                type: string\n                                example: >-\n                                  public/images/apple-fruit169124599101990191.jpg\n                              url:\n                                type: string\n                                example: >-\n                                  http://localhost:8080/images/apple-fruit169124599101990191.jpg\n                          example:\n                            - _id: 64ce5da74c05d878da37e980\n                              localPath: public/images/apple-fruit169124599101990191.jpg\n                              url: >-\n                                http://localhost:8080/images/apple-fruit169124599101990191.jpg\n                            - _id: 64ce5da74c05d878da37e981\n                              localPath: public/images/phone169124599104713451.jpeg\n                              url: >-\n                                http://localhost:8080/images/phone169124599104713451.jpeg\n                            - _id: 64ce5da74c05d878da37e982\n                              localPath: public/images/tire169124599107735823.jpeg\n                              url: >-\n                                http://localhost:8080/images/tire169124599107735823.jpeg\n                        sender:\n                          type: object\n                          properties:\n                            _id:\n                              type: string\n                              example: 64cc9951ea416ef275f0210f\n                            avatar:\n                              type: object\n                              properties:\n                                _id:\n                                  type: string\n                                  example: 64ce5d481eb1fda995b9ed51\n                                localPath:\n                                  type: string\n                                  example: >-\n                                    public/images/apple-fruit169124589659630753.jpg\n                                url:\n                                  type: string\n                                  example: >-\n                                    http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                            email:\n                              type: string\n                              example: rasheed6@yahoo.com\n                            username:\n                              type: string\n                              example: darrion_waelchi\n                        updatedAt:\n                          type: string\n                          example: '2023-08-05T14:33:11.125Z'\n                    example:\n                      - __v: 0\n                        _id: 64ce5da74c05d878da37e97f\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: This is the message\n                        createdAt: '2023-08-05T14:33:11.125Z'\n                        files:\n                          - _id: 64ce5da74c05d878da37e980\n                            localPath: public/images/apple-fruit169124599101990191.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124599101990191.jpg\n                          - _id: 64ce5da74c05d878da37e981\n                            localPath: public/images/phone169124599104713451.jpeg\n                            url: >-\n                              http://localhost:8080/images/phone169124599104713451.jpeg\n                          - _id: 64ce5da74c05d878da37e982\n                            localPath: public/images/tire169124599107735823.jpeg\n                            url: >-\n                              http://localhost:8080/images/tire169124599107735823.jpeg\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-05T14:33:11.125Z'\n                      - __v: 0\n                        _id: 64ce5c9232abc221a0bf6b44\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: This is the message\n                        createdAt: '2023-08-05T14:28:34.359Z'\n                        file: null\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-05T14:28:34.359Z'\n                      - __v: 0\n                        _id: 64ce5bf9457c6ec3af05a14e\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: This is the message\n                        createdAt: '2023-08-05T14:26:01.752Z'\n                        file: null\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-05T14:26:01.752Z'\n                      - __v: 0\n                        _id: 64ce36b5cdd436f46cbd639b\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: hi\n                        createdAt: '2023-08-05T11:47:01.556Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f02160\n                          avatar:\n                            _id: 64cc9951ea416ef275f02161\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1130.jpg\n                          email: prudence.rolfson@hotmail.com\n                          username: nat89\n                        updatedAt: '2023-08-05T11:47:01.556Z'\n                      - __v: 0\n                        _id: 64cd3bd6b096dc5f71a9fb54\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: '3333'\n                        createdAt: '2023-08-04T17:56:38.790Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T17:56:38.790Z'\n                      - __v: 0\n                        _id: 64cd3b19b096dc5f71a9fb04\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: hi\n                        createdAt: '2023-08-04T17:53:29.993Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T17:53:29.993Z'\n                      - __v: 0\n                        _id: 64cd3311b096dc5f71a9fa9f\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: okkk\n                        createdAt: '2023-08-04T17:19:13.635Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T17:19:13.635Z'\n                      - __v: 0\n                        _id: 64cd328eb096dc5f71a9fa6e\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: jjvjvjlkk\n                        createdAt: '2023-08-04T17:17:02.822Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T17:17:02.822Z'\n                      - __v: 0\n                        _id: 64cd2a6ab096dc5f71a9fa58\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: ok ok\n                        createdAt: '2023-08-04T16:42:18.925Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T16:42:18.925Z'\n                      - __v: 0\n                        _id: 64cd1db9b096dc5f71a9f9f7\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: asdasdfsdfsdf\n                        createdAt: '2023-08-04T15:48:09.715Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T15:48:09.715Z'\n                      - __v: 0\n                        _id: 64cd1db4b096dc5f71a9f9f0\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: hhsvhd\n                        createdAt: '2023-08-04T15:48:04.591Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f02160\n                          avatar:\n                            _id: 64cc9951ea416ef275f02161\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1130.jpg\n                          email: prudence.rolfson@hotmail.com\n                          username: nat89\n                        updatedAt: '2023-08-04T15:48:04.591Z'\n                      - __v: 0\n                        _id: 64cd1da1b096dc5f71a9f9d4\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: haha yasss\n                        createdAt: '2023-08-04T15:47:45.664Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f02160\n                          avatar:\n                            _id: 64cc9951ea416ef275f02161\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1130.jpg\n                          email: prudence.rolfson@hotmail.com\n                          username: nat89\n                        updatedAt: '2023-08-04T15:47:45.664Z'\n                      - __v: 0\n                        _id: 64cd1d9bb096dc5f71a9f9cd\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: ok ok\n                        createdAt: '2023-08-04T15:47:39.646Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f02160\n                          avatar:\n                            _id: 64cc9951ea416ef275f02161\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1130.jpg\n                          email: prudence.rolfson@hotmail.com\n                          username: nat89\n                        updatedAt: '2023-08-04T15:47:39.646Z'\n                      - __v: 0\n                        _id: 64cd1d97b096dc5f71a9f9c6\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: hjsdvhsvhhhsvdh\n                        createdAt: '2023-08-04T15:47:35.263Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T15:47:35.263Z'\n                      - __v: 0\n                        _id: 64cd1d92b096dc5f71a9f9bf\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: na na\n                        createdAt: '2023-08-04T15:47:30.491Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T15:47:30.491Z'\n                      - __v: 0\n                        _id: 64cd1d8fb096dc5f71a9f9b8\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: oh yes yes\n                        createdAt: '2023-08-04T15:47:27.635Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T15:47:27.635Z'\n                      - __v: 0\n                        _id: 64cd1d8ab096dc5f71a9f9b1\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: ya bro this is is\n                        createdAt: '2023-08-04T15:47:22.325Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T15:47:22.325Z'\n                      - __v: 0\n                        _id: 64cd1d58b096dc5f71a9f98b\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: ya right\n                        createdAt: '2023-08-04T15:46:32.327Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f02160\n                          avatar:\n                            _id: 64cc9951ea416ef275f02161\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1130.jpg\n                          email: prudence.rolfson@hotmail.com\n                          username: nat89\n                        updatedAt: '2023-08-04T15:46:32.327Z'\n                      - __v: 0\n                        _id: 64cd1d53b096dc5f71a9f984\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: yes bro\n                        createdAt: '2023-08-04T15:46:27.963Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T15:46:27.963Z'\n                      - __v: 0\n                        _id: 64cd1bfdb096dc5f71a9f903\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: heybro\n                        createdAt: '2023-08-04T15:40:45.949Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f02160\n                          avatar:\n                            _id: 64cc9951ea416ef275f02161\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1130.jpg\n                          email: prudence.rolfson@hotmail.com\n                          username: nat89\n                        updatedAt: '2023-08-04T15:40:45.949Z'\n                      - __v: 0\n                        _id: 64cd121ab096dc5f71a9f7dc\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: oh okay\n                        createdAt: '2023-08-04T14:58:34.375Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T14:58:34.375Z'\n                      - __v: 0\n                        _id: 64cd120eb096dc5f71a9f7d1\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: Nah bro just checking\n                        createdAt: '2023-08-04T14:58:22.322Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f02160\n                          avatar:\n                            _id: 64cc9951ea416ef275f02161\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1130.jpg\n                          email: prudence.rolfson@hotmail.com\n                          username: nat89\n                        updatedAt: '2023-08-04T14:58:22.322Z'\n                      - __v: 0\n                        _id: 64cd1206b096dc5f71a9f7c2\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: Yo bro you on group\n                        createdAt: '2023-08-04T14:58:14.080Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T14:58:14.080Z'\n                      - __v: 0\n                        _id: 64ccee2fdb940e1dd6232caf\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: hey bro\n                        createdAt: '2023-08-04T12:25:19.735Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T12:25:19.735Z'\n                  message:\n                    type: string\n                    example: Messages fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get all messages:\n                  value:\n                    data:\n                      - __v: 0\n                        _id: 64ce5da74c05d878da37e97f\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: This is the message\n                        createdAt: '2023-08-05T14:33:11.125Z'\n                        files:\n                          - _id: 64ce5da74c05d878da37e980\n                            localPath: public/images/apple-fruit169124599101990191.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124599101990191.jpg\n                          - _id: 64ce5da74c05d878da37e981\n                            localPath: public/images/phone169124599104713451.jpeg\n                            url: >-\n                              http://localhost:8080/images/phone169124599104713451.jpeg\n                          - _id: 64ce5da74c05d878da37e982\n                            localPath: public/images/tire169124599107735823.jpeg\n                            url: >-\n                              http://localhost:8080/images/tire169124599107735823.jpeg\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-05T14:33:11.125Z'\n                      - __v: 0\n                        _id: 64ce5c9232abc221a0bf6b44\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: This is the message\n                        createdAt: '2023-08-05T14:28:34.359Z'\n                        file: null\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-05T14:28:34.359Z'\n                      - __v: 0\n                        _id: 64ce5bf9457c6ec3af05a14e\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: This is the message\n                        createdAt: '2023-08-05T14:26:01.752Z'\n                        file: null\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-05T14:26:01.752Z'\n                      - __v: 0\n                        _id: 64ce36b5cdd436f46cbd639b\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: hi\n                        createdAt: '2023-08-05T11:47:01.556Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f02160\n                          avatar:\n                            _id: 64cc9951ea416ef275f02161\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1130.jpg\n                          email: prudence.rolfson@hotmail.com\n                          username: nat89\n                        updatedAt: '2023-08-05T11:47:01.556Z'\n                      - __v: 0\n                        _id: 64cd3bd6b096dc5f71a9fb54\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: '3333'\n                        createdAt: '2023-08-04T17:56:38.790Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T17:56:38.790Z'\n                      - __v: 0\n                        _id: 64cd3b19b096dc5f71a9fb04\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: hi\n                        createdAt: '2023-08-04T17:53:29.993Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T17:53:29.993Z'\n                      - __v: 0\n                        _id: 64cd3311b096dc5f71a9fa9f\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: okkk\n                        createdAt: '2023-08-04T17:19:13.635Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T17:19:13.635Z'\n                      - __v: 0\n                        _id: 64cd328eb096dc5f71a9fa6e\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: jjvjvjlkk\n                        createdAt: '2023-08-04T17:17:02.822Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T17:17:02.822Z'\n                      - __v: 0\n                        _id: 64cd2a6ab096dc5f71a9fa58\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: ok ok\n                        createdAt: '2023-08-04T16:42:18.925Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T16:42:18.925Z'\n                      - __v: 0\n                        _id: 64cd1db9b096dc5f71a9f9f7\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: asdasdfsdfsdf\n                        createdAt: '2023-08-04T15:48:09.715Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T15:48:09.715Z'\n                      - __v: 0\n                        _id: 64cd1db4b096dc5f71a9f9f0\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: hhsvhd\n                        createdAt: '2023-08-04T15:48:04.591Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f02160\n                          avatar:\n                            _id: 64cc9951ea416ef275f02161\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1130.jpg\n                          email: prudence.rolfson@hotmail.com\n                          username: nat89\n                        updatedAt: '2023-08-04T15:48:04.591Z'\n                      - __v: 0\n                        _id: 64cd1da1b096dc5f71a9f9d4\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: haha yasss\n                        createdAt: '2023-08-04T15:47:45.664Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f02160\n                          avatar:\n                            _id: 64cc9951ea416ef275f02161\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1130.jpg\n                          email: prudence.rolfson@hotmail.com\n                          username: nat89\n                        updatedAt: '2023-08-04T15:47:45.664Z'\n                      - __v: 0\n                        _id: 64cd1d9bb096dc5f71a9f9cd\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: ok ok\n                        createdAt: '2023-08-04T15:47:39.646Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f02160\n                          avatar:\n                            _id: 64cc9951ea416ef275f02161\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1130.jpg\n                          email: prudence.rolfson@hotmail.com\n                          username: nat89\n                        updatedAt: '2023-08-04T15:47:39.646Z'\n                      - __v: 0\n                        _id: 64cd1d97b096dc5f71a9f9c6\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: hjsdvhsvhhhsvdh\n                        createdAt: '2023-08-04T15:47:35.263Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T15:47:35.263Z'\n                      - __v: 0\n                        _id: 64cd1d92b096dc5f71a9f9bf\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: na na\n                        createdAt: '2023-08-04T15:47:30.491Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T15:47:30.491Z'\n                      - __v: 0\n                        _id: 64cd1d8fb096dc5f71a9f9b8\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: oh yes yes\n                        createdAt: '2023-08-04T15:47:27.635Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T15:47:27.635Z'\n                      - __v: 0\n                        _id: 64cd1d8ab096dc5f71a9f9b1\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: ya bro this is is\n                        createdAt: '2023-08-04T15:47:22.325Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T15:47:22.325Z'\n                      - __v: 0\n                        _id: 64cd1d58b096dc5f71a9f98b\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: ya right\n                        createdAt: '2023-08-04T15:46:32.327Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f02160\n                          avatar:\n                            _id: 64cc9951ea416ef275f02161\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1130.jpg\n                          email: prudence.rolfson@hotmail.com\n                          username: nat89\n                        updatedAt: '2023-08-04T15:46:32.327Z'\n                      - __v: 0\n                        _id: 64cd1d53b096dc5f71a9f984\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: yes bro\n                        createdAt: '2023-08-04T15:46:27.963Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T15:46:27.963Z'\n                      - __v: 0\n                        _id: 64cd1bfdb096dc5f71a9f903\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: heybro\n                        createdAt: '2023-08-04T15:40:45.949Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f02160\n                          avatar:\n                            _id: 64cc9951ea416ef275f02161\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1130.jpg\n                          email: prudence.rolfson@hotmail.com\n                          username: nat89\n                        updatedAt: '2023-08-04T15:40:45.949Z'\n                      - __v: 0\n                        _id: 64cd121ab096dc5f71a9f7dc\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: oh okay\n                        createdAt: '2023-08-04T14:58:34.375Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T14:58:34.375Z'\n                      - __v: 0\n                        _id: 64cd120eb096dc5f71a9f7d1\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: Nah bro just checking\n                        createdAt: '2023-08-04T14:58:22.322Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f02160\n                          avatar:\n                            _id: 64cc9951ea416ef275f02161\n                            localPath: ''\n                            url: >-\n                              https://cloudflare-ipfs.com/ipfs/Qmd3W5DuhgHirLHGVixi6V76LhCkZUz6pnFt5AJBiyvHye/avatar/1130.jpg\n                          email: prudence.rolfson@hotmail.com\n                          username: nat89\n                        updatedAt: '2023-08-04T14:58:22.322Z'\n                      - __v: 0\n                        _id: 64cd1206b096dc5f71a9f7c2\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: Yo bro you on group\n                        createdAt: '2023-08-04T14:58:14.080Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T14:58:14.080Z'\n                      - __v: 0\n                        _id: 64ccee2fdb940e1dd6232caf\n                        chat: 64cce34ddb940e1dd6232a3f\n                        content: hey bro\n                        createdAt: '2023-08-04T12:25:19.735Z'\n                        sender:\n                          _id: 64cc9951ea416ef275f0210f\n                          avatar:\n                            _id: 64ce5d481eb1fda995b9ed51\n                            localPath: public/images/apple-fruit169124589659630753.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email: rasheed6@yahoo.com\n                          username: darrion_waelchi\n                        updatedAt: '2023-08-04T12:25:19.735Z'\n                    message: Messages fetched successfully\n                    statusCode: 200\n                    success: true\n    post:\n      tags:\n        \n        - 💬 Chat App\n        \n      summary: Send message\n      description: >-\n        This API endpoint enables logged-in users to send messages to a specific\n        chat identified by the provided `chatId` in the path variable.\n\n\n        By making a `POST` request to this endpoint, developers can seamlessly\n        integrate message transmission functionality into their applications,\n        allowing users to engage in real-time conversations within the\n        designated chat. User can send image files as `attachments` as well\n        (maximum 5 attachments are allowed)\n      operationId: sendMessage\n      requestBody:\n        content:\n          multipart/form-data:\n            schema:\n              type: object\n              properties:\n                attachments:\n                  description: Image file maximum 5 images allowed. Pass multiple `attachments` keys to send multiple images.\n                  type: string\n                  format: binary\n                content:\n                  type: string\n                  example: >-\n                    This is the messageer message prob long one for this testing\n                    the images\n      responses:\n        '201':\n          description: Send message\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: http://127.0.0.1:5173\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '1037'\n            Date:\n              schema:\n                type: string\n                example: Sat, 05 Aug 2023 14:33:11 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"40d-gopmd9pjfCwtGzRG2pVFtzGrLYs\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '499'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '898'\n            Set-Cookie:\n              schema:\n                type: string\n                example: >-\n                  connect.sid=s%3AMi7fc0LcV4QWNMBHyWg_5rSIpm3pPUMi.Q6uva1BWc2K3h04qjcGfQGDqTidxYh7PyFbDjqVzyAE;\n                  Path=/; HttpOnly\n            Vary:\n              schema:\n                type: string\n                example: Origin\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties:\n                      __v:\n                        type: number\n                        example: 0\n                      _id:\n                        type: string\n                        example: 64ce5da74c05d878da37e97f\n                      attachments:\n                        type: array\n                        items:\n                          type: object\n                          properties:\n                            _id:\n                              type: string\n                              example: 64ce5da74c05d878da37e980\n                            localPath:\n                              type: string\n                              example: public/images/apple-fruit169124599101990191.jpg\n                            url:\n                              type: string\n                              example: >-\n                                http://localhost:8080/images/apple-fruit169124599101990191.jpg\n                        example:\n                          - _id: 64ce5da74c05d878da37e980\n                            localPath: public/images/apple-fruit169124599101990191.jpg\n                            url: >-\n                              http://localhost:8080/images/apple-fruit169124599101990191.jpg\n                          - _id: 64ce5da74c05d878da37e981\n                            localPath: public/images/phone169124599104713451.jpeg\n                            url: >-\n                              http://localhost:8080/images/phone169124599104713451.jpeg\n                          - _id: 64ce5da74c05d878da37e982\n                            localPath: public/images/tire169124599107735823.jpeg\n                            url: >-\n                              http://localhost:8080/images/tire169124599107735823.jpeg\n                      chat:\n                        type: string\n                        example: 64cce34ddb940e1dd6232a3f\n                      content:\n                        type: string\n                        example: This is the message\n                      createdAt:\n                        type: string\n                        example: '2023-08-05T14:33:11.125Z'\n                      sender:\n                        type: object\n                        properties:\n                          _id:\n                            type: string\n                            example: 64cc9951ea416ef275f0210f\n                          avatar:\n                            type: object\n                            properties:\n                              _id:\n                                type: string\n                                example: 64ce5d481eb1fda995b9ed51\n                              localPath:\n                                type: string\n                                example: >-\n                                  public/images/apple-fruit169124589659630753.jpg\n                              url:\n                                type: string\n                                example: >-\n                                  http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                          email:\n                            type: string\n                            example: rasheed6@yahoo.com\n                          username:\n                            type: string\n                            example: darrion_waelchi\n                      updatedAt:\n                        type: string\n                        example: '2023-08-05T14:33:11.125Z'\n                  message:\n                    type: string\n                    example: Message saved successfully\n                  statusCode:\n                    type: number\n                    example: 201\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Send message:\n                  value:\n                    data:\n                      __v: 0\n                      _id: 64ce5da74c05d878da37e97f\n                      attachments:\n                        - _id: 64ce5da74c05d878da37e980\n                          localPath: public/images/apple-fruit169124599101990191.jpg\n                          url: >-\n                            http://localhost:8080/images/apple-fruit169124599101990191.jpg\n                        - _id: 64ce5da74c05d878da37e981\n                          localPath: public/images/phone169124599104713451.jpeg\n                          url: >-\n                            http://localhost:8080/images/phone169124599104713451.jpeg\n                        - _id: 64ce5da74c05d878da37e982\n                          localPath: public/images/tire169124599107735823.jpeg\n                          url: >-\n                            http://localhost:8080/images/tire169124599107735823.jpeg\n                      chat: 64cce34ddb940e1dd6232a3f\n                      content: This is the message\n                      createdAt: '2023-08-05T14:33:11.125Z'\n                      sender:\n                        _id: 64cc9951ea416ef275f0210f\n                        avatar:\n                          _id: 64ce5d481eb1fda995b9ed51\n                          localPath: public/images/apple-fruit169124589659630753.jpg\n                          url: >-\n                            http://localhost:8080/images/apple-fruit169124589659630753.jpg\n                        email: rasheed6@yahoo.com\n                        username: darrion_waelchi\n                      updatedAt: '2023-08-05T14:33:11.125Z'\n                    message: Message saved successfully\n                    statusCode: 201\n                    success: true\n    parameters:\n      - name: chatId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 64d6722a5bda3332e4f368a9\n  /chat-app/messages/{chatId}/{messageId}:\n    delete:\n      tags:\n        - 💬 Chat App\n      summary: Delete chat message\n      description: >-\n        This API endpoint empowers logged-in users to seamlessly delete a\n        message in the chat that is sent by them.\n\n\n        By sending a `DELETE` request to this endpoint with the relevant\n        `chatId` and `messageId`, users can effectively remove the specified message,\n        thereby enhancing their control over their chat interactions and\n        facilitating a streamlined and personalized messaging experience.\n      operationId: deleteMessage\n      responses:\n        '200':\n          description: Delete chat message\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: http://localhost:3000\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '87'\n            Date:\n              schema:\n                type: string\n                example: Wed, 02 Aug 2023 18:21:12 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"57-W8eeMdgPYpDebp4OQ6EuykCDvU0\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '488'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '30'\n            Vary:\n              schema:\n                type: string\n                example: Origin\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties: \n                      _id:\n                        type: string\n                        example: 648e0746aeefd0cfa40adddf\n                  message:\n                    type: string\n                    example: Message deleted successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Delete chat message:\n                  value:\n                    data:\n                      _id: 648e0746aeefd0cfa40adddf\n                    message: Message deleted successfully\n                    statusCode: 200\n                    success: true\n    parameters:\n      - name: chatId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 64ce7766307617f3a412b803\n      - name: messageId\n        in: path\n        required: true\n        schema:\n          type: string\n          example: 660c01cef9b076f062b161a8\n  /seed/generated-credentials:\n    get:\n      tags:\n        - 💉 Database Seeding\n      summary: Get generated user credentials\n      description: >-\n        This API serves a JSON file containing a collection of dummy usernames\n        and their corresponding raw passwords.\n\n\n        It is primarily designed to assist developers during the database\n        seeding process and provide a convenient way to access the raw passwords\n        for testing or development purposes.\n      operationId: getGeneratedUserCredentials\n      responses:\n        '200':\n          description: Get generated user credentials\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '3690'\n            Date:\n              schema:\n                type: string\n                example: Wed, 05 Jul 2023 11:16:26 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"e6a-A4bz6g26p/0OEE6JMXEqTQePVig\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '499'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '206'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: array\n                    items:\n                      type: object\n                      properties:\n                        password:\n                          type: string\n                          example: weuRLhUXU7jFdcg\n                        role:\n                          type: string\n                          example: ADMIN\n                        username:\n                          type: string\n                          example: marta.greenfelder22\n                    example:\n                      - password: weuRLhUXU7jFdcg\n                        role: ADMIN\n                        username: marta.greenfelder22\n                      - password: FPfkXYDHGF69Evc\n                        role: ADMIN\n                        username: paolo.wintheiser33\n                      - password: zXGAEe_LWLJYBVU\n                        role: USER\n                        username: branson.marks\n                      - password: ehUPzIM99E6LxBn\n                        role: USER\n                        username: delia_zboncak15\n                      - password: GMh9ZNmwtSWndYq\n                        role: USER\n                        username: santos82\n                      - password: H2Eqr4OR3n6cXUS\n                        role: ADMIN\n                        username: juana.kuhn\n                      - password: HHZP_9MG5MQNm6T\n                        role: USER\n                        username: itzel80\n                      - password: zLMmCzD0K0LmS0s\n                        role: ADMIN\n                        username: raquel15\n                      - password: LLyeA5ymhflkgQb\n                        role: USER\n                        username: merlin.monahan\n                      - password: 9we5b401NfNyGMk\n                        role: ADMIN\n                        username: maurine70\n                      - password: XaUxDNvs7YzC518\n                        role: ADMIN\n                        username: colten67\n                      - password: bmxRKoyeUgPEK6m\n                        role: USER\n                        username: virginie_kuphal\n                      - password: LGZJBNBwbV4_VvR\n                        role: ADMIN\n                        username: elmo67\n                      - password: bqtZAJniAgrlfmG\n                        role: USER\n                        username: dakota18\n                      - password: mQ_a2xVIfNRSRrP\n                        role: USER\n                        username: wilhelmine51\n                      - password: j01OiFSWN8KT6as\n                        role: USER\n                        username: florida74\n                      - password: prlKtIRUyB7SfXt\n                        role: ADMIN\n                        username: johanna_kerluke\n                      - password: ZynK1dL35VeLiA1\n                        role: ADMIN\n                        username: bo_walker80\n                      - password: lQFrYcdGBxCKOor\n                        role: USER\n                        username: heath53\n                      - password: 4ZxSy9oQuHZXHS8\n                        role: ADMIN\n                        username: colby91\n                      - password: fyYViQoNDhtWSZg\n                        role: ADMIN\n                        username: alanis11\n                      - password: jl3wxqmQVAZq9Er\n                        role: USER\n                        username: lavinia_krajcik\n                      - password: zpUUaP9IIk2vG1J\n                        role: ADMIN\n                        username: stanton.berge53\n                      - password: kqBLZtdFDp1i4az\n                        role: USER\n                        username: kira_jakubowski82\n                      - password: SEYACtOzJiHYxSH\n                        role: ADMIN\n                        username: ulices.walsh5\n                      - password: QDnTILPP9_jbnGr\n                        role: ADMIN\n                        username: marcel39\n                      - password: 8QAmjT2LQHvqgOW\n                        role: ADMIN\n                        username: gwen_bradtke38\n                      - password: BqPTrnntHGLtPTI\n                        role: USER\n                        username: rodger_kris\n                      - password: vL1QmEWz3AVMH0d\n                        role: ADMIN\n                        username: darrion_hagenes-douglas7\n                      - password: vZEb5rg9w73Kz6U\n                        role: USER\n                        username: raegan_barton-harris69\n                      - password: vPoMkV_q4wmXVxE\n                        role: ADMIN\n                        username: carlee_marvin\n                      - password: bp0fck2UdB1yeav\n                        role: USER\n                        username: emmet67\n                      - password: TlfdiPvIZltHply\n                        role: USER\n                        username: jana_larkin43\n                      - password: dqRd4fXbE_Laj1f\n                        role: USER\n                        username: asa_schmeler\n                      - password: 1vC5MjI2ugZcAWe\n                        role: ADMIN\n                        username: shawna_schmeler\n                      - password: YSpZPwDnRTD7oB8\n                        role: USER\n                        username: estrella.damore43\n                      - password: c87_CX_GUR6Zt0M\n                        role: ADMIN\n                        username: russ_stark9\n                      - password: HAzAlzoErs6Uq6m\n                        role: USER\n                        username: wilburn.oberbrunner\n                      - password: RVEFT7YG26b4BxZ\n                        role: ADMIN\n                        username: eliza_botsford\n                      - password: elW7KpA9st2uK84\n                        role: USER\n                        username: stefanie.herzog72\n                      - password: oe7YKUaoScXDd46\n                        role: USER\n                        username: leann.hickle8\n                      - password: HNbUP5SIIZRFRJk\n                        role: USER\n                        username: jamie_orn\n                      - password: Nol76rVHNgB8Wf9\n                        role: USER\n                        username: berenice_ernser17\n                      - password: OPRzVl3s0S0Clqx\n                        role: USER\n                        username: hudson95\n                      - password: 6STDLV9uXYkf0oU\n                        role: USER\n                        username: andrew84\n                      - password: 9B5lz64O8vKoiKf\n                        role: ADMIN\n                        username: xander.abernathy30\n                      - password: l0Klk7Y90SxcGvF\n                        role: ADMIN\n                        username: maximillian7\n                      - password: adoiL4osGLVXWec\n                        role: USER\n                        username: tyler_mitchell86\n                      - password: O48x2mmgIhxBDI2\n                        role: ADMIN\n                        username: joyce31\n                      - password: OLxHSMHBs9yJ_3e\n                        role: USER\n                        username: fannie_emard\n                  message:\n                    type: string\n                    example: Dummy credentials fetched successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Get generated user credentials:\n                  value:\n                    data:\n                      - password: weuRLhUXU7jFdcg\n                        role: ADMIN\n                        username: marta.greenfelder22\n                      - password: FPfkXYDHGF69Evc\n                        role: ADMIN\n                        username: paolo.wintheiser33\n                      - password: zXGAEe_LWLJYBVU\n                        role: USER\n                        username: branson.marks\n                      - password: ehUPzIM99E6LxBn\n                        role: USER\n                        username: delia_zboncak15\n                      - password: GMh9ZNmwtSWndYq\n                        role: USER\n                        username: santos82\n                      - password: H2Eqr4OR3n6cXUS\n                        role: ADMIN\n                        username: juana.kuhn\n                      - password: HHZP_9MG5MQNm6T\n                        role: USER\n                        username: itzel80\n                      - password: zLMmCzD0K0LmS0s\n                        role: ADMIN\n                        username: raquel15\n                      - password: LLyeA5ymhflkgQb\n                        role: USER\n                        username: merlin.monahan\n                      - password: 9we5b401NfNyGMk\n                        role: ADMIN\n                        username: maurine70\n                      - password: XaUxDNvs7YzC518\n                        role: ADMIN\n                        username: colten67\n                      - password: bmxRKoyeUgPEK6m\n                        role: USER\n                        username: virginie_kuphal\n                      - password: LGZJBNBwbV4_VvR\n                        role: ADMIN\n                        username: elmo67\n                      - password: bqtZAJniAgrlfmG\n                        role: USER\n                        username: dakota18\n                      - password: mQ_a2xVIfNRSRrP\n                        role: USER\n                        username: wilhelmine51\n                      - password: j01OiFSWN8KT6as\n                        role: USER\n                        username: florida74\n                      - password: prlKtIRUyB7SfXt\n                        role: ADMIN\n                        username: johanna_kerluke\n                      - password: ZynK1dL35VeLiA1\n                        role: ADMIN\n                        username: bo_walker80\n                      - password: lQFrYcdGBxCKOor\n                        role: USER\n                        username: heath53\n                      - password: 4ZxSy9oQuHZXHS8\n                        role: ADMIN\n                        username: colby91\n                      - password: fyYViQoNDhtWSZg\n                        role: ADMIN\n                        username: alanis11\n                      - password: jl3wxqmQVAZq9Er\n                        role: USER\n                        username: lavinia_krajcik\n                      - password: zpUUaP9IIk2vG1J\n                        role: ADMIN\n                        username: stanton.berge53\n                      - password: kqBLZtdFDp1i4az\n                        role: USER\n                        username: kira_jakubowski82\n                      - password: SEYACtOzJiHYxSH\n                        role: ADMIN\n                        username: ulices.walsh5\n                      - password: QDnTILPP9_jbnGr\n                        role: ADMIN\n                        username: marcel39\n                      - password: 8QAmjT2LQHvqgOW\n                        role: ADMIN\n                        username: gwen_bradtke38\n                      - password: BqPTrnntHGLtPTI\n                        role: USER\n                        username: rodger_kris\n                      - password: vL1QmEWz3AVMH0d\n                        role: ADMIN\n                        username: darrion_hagenes-douglas7\n                      - password: vZEb5rg9w73Kz6U\n                        role: USER\n                        username: raegan_barton-harris69\n                      - password: vPoMkV_q4wmXVxE\n                        role: ADMIN\n                        username: carlee_marvin\n                      - password: bp0fck2UdB1yeav\n                        role: USER\n                        username: emmet67\n                      - password: TlfdiPvIZltHply\n                        role: USER\n                        username: jana_larkin43\n                      - password: dqRd4fXbE_Laj1f\n                        role: USER\n                        username: asa_schmeler\n                      - password: 1vC5MjI2ugZcAWe\n                        role: ADMIN\n                        username: shawna_schmeler\n                      - password: YSpZPwDnRTD7oB8\n                        role: USER\n                        username: estrella.damore43\n                      - password: c87_CX_GUR6Zt0M\n                        role: ADMIN\n                        username: russ_stark9\n                      - password: HAzAlzoErs6Uq6m\n                        role: USER\n                        username: wilburn.oberbrunner\n                      - password: RVEFT7YG26b4BxZ\n                        role: ADMIN\n                        username: eliza_botsford\n                      - password: elW7KpA9st2uK84\n                        role: USER\n                        username: stefanie.herzog72\n                      - password: oe7YKUaoScXDd46\n                        role: USER\n                        username: leann.hickle8\n                      - password: HNbUP5SIIZRFRJk\n                        role: USER\n                        username: jamie_orn\n                      - password: Nol76rVHNgB8Wf9\n                        role: USER\n                        username: berenice_ernser17\n                      - password: OPRzVl3s0S0Clqx\n                        role: USER\n                        username: hudson95\n                      - password: 6STDLV9uXYkf0oU\n                        role: USER\n                        username: andrew84\n                      - password: 9B5lz64O8vKoiKf\n                        role: ADMIN\n                        username: xander.abernathy30\n                      - password: l0Klk7Y90SxcGvF\n                        role: ADMIN\n                        username: maximillian7\n                      - password: adoiL4osGLVXWec\n                        role: USER\n                        username: tyler_mitchell86\n                      - password: O48x2mmgIhxBDI2\n                        role: ADMIN\n                        username: joyce31\n                      - password: OLxHSMHBs9yJ_3e\n                        role: USER\n                        username: fannie_emard\n                    message: Dummy credentials fetched successfully\n                    statusCode: 200\n                    success: true\n  /seed/todos:\n    post:\n      tags:\n        - 💉 Database Seeding\n      summary: Seed todos\n      description: >-\n        This API endpoint is responsible for populating the database with dummy\n        todo items.\n\n\n        It allows developers to easily seed the database with a set of\n        predefined todos for testing or development purposes.\n      operationId: seedTodos\n      responses:\n        '201':\n          description: Seed todos\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '83'\n            Date:\n              schema:\n                type: string\n                example: Wed, 05 Jul 2023 11:16:35 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"53-U1p2Mn95UCAVg7Dov1Af60g9u2k\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '498'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '197'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties: {}\n                  message:\n                    type: string\n                    example: Todos inserted successfully\n                  statusCode:\n                    type: number\n                    example: 201\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Seed todos:\n                  value:\n                    data: {}\n                    message: Todos inserted successfully\n                    statusCode: 201\n                    success: true\n  /seed/ecommerce:\n    post:\n      tags:\n        - 💉 Database Seeding\n      summary: Seed ecommerce\n      description: >-\n        This API endpoint is responsible for populating all the essential\n        entities required for an ecommerce service in the database.\n\n\n        It provides a convenient way for developers to initialize the ecommerce\n        system with dummy or sample data for testing or development purposes.\n      operationId: seedEcommerce\n      responses:\n        '201':\n          description: Seed ecommerce\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '101'\n            Date:\n              schema:\n                type: string\n                example: Wed, 05 Jul 2023 11:16:41 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"65-qEAsjELyh5NvPAGTBXNEpqq2STw\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '497'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '192'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties: {}\n                  message:\n                    type: string\n                    example: Database populated for ecommerce successfully\n                  statusCode:\n                    type: number\n                    example: 201\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Seed ecommerce:\n                  value:\n                    data: {}\n                    message: Database populated for ecommerce successfully\n                    statusCode: 201\n                    success: true\n  /seed/social-media:\n    post:\n      tags:\n        - 💉 Database Seeding\n      summary: Seed social media\n      description: >-\n        This API endpoint is responsible for populating all the essential\n        entities required for a social media app service in the database.\n\n\n        It provides a convenient way for developers to initialize the social\n        media app with dummy or sample data for testing or development purposes.\n      operationId: seedSocialMedia\n      responses:\n        '201':\n          description: Seed social media\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '104'\n            Date:\n              schema:\n                type: string\n                example: Wed, 05 Jul 2023 11:16:49 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"68-1qPKkpp3nUllqSt1Zl3nYKV2mIY\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '496'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '186'\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties: {}\n                  message:\n                    type: string\n                    example: Database populated for social media successfully\n                  statusCode:\n                    type: number\n                    example: 201\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Seed social media:\n                  value:\n                    data: {}\n                    message: Database populated for social media successfully\n                    statusCode: 201\n                    success: true\n  /seed/chat-app:\n    post:\n      tags:\n        - 💉 Database Seeding\n      summary: Seed chat app\n      description: >-\n        This API endpoint is responsible for populating all the essential entities required for a chat app service in the database.\n        It provides a convenient way for developers to initialize the chat app with dummy or sample data for testing or development purposes.\n      operationId: seedChatApp\n      responses:\n        '201':\n          description: Seed chat app\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: http://localhost:3000\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '100'\n            Date:\n              schema:\n                type: string\n                example: Wed, 02 Aug 2023 18:18:08 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"64-vgX0zwwtno8NJo/aI+UsWLWnppA\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            RateLimit-Limit:\n              schema:\n                type: string\n                example: '500'\n            RateLimit-Remaining:\n              schema:\n                type: string\n                example: '499'\n            RateLimit-Reset:\n              schema:\n                type: string\n                example: '214'\n            Vary:\n              schema:\n                type: string\n                example: Origin\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: object\n                    properties: {}\n                  message:\n                    type: string\n                    example: Database populated for chat app successfully\n                  statusCode:\n                    type: number\n                    example: 201\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Seed chat app:\n                  value:\n                    data: {}\n                    message: Database populated for chat app successfully\n                    statusCode: 201\n                    success: true\n  /reset-db:\n    delete:\n      tags:\n        - 🚫 Danger Zone\n      summary: Reset database\n      description: >-\n        ⚠️ DANGER ⚠️\n\n\n        This API endpoint is a potentially destructive operation designed to\n        allow users to drop or delete an entire database associated with their\n        account or application.\n\n\n        _**It should be used with caution as it permanently deletes all data\n        stored in the specified database.**_\n      operationId: resetDatabase\n      responses:\n        '200':\n          description: Reset database\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '87'\n            Date:\n              schema:\n                type: string\n                example: Sun, 18 Jun 2023 08:05:27 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"57-trugP7n2P8gcoxEgnJVryfOxjwE\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    nullable: true\n                    example: null\n                  message:\n                    type: string\n                    example: Database dropped successfully\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                Reset database:\n                  value:\n                    data: null\n                    message: Database dropped successfully\n                    statusCode: 200\n                    success: true\n  /healthcheck:\n    get:\n      summary: ⛑️ healthcheck\n      description: >-\n        This API endpoint is commonly used to determine the health status or\n        availability of a system or service.\n\n\n        It is a simple and lightweight endpoint designed to perform a quick\n        health check of the application or infrastructure.\n      operationId: healthcheck\n      responses:\n        '200':\n          description: healthcheck\n          headers:\n            Access-Control-Allow-Credentials:\n              schema:\n                type: string\n                example: 'true'\n            Access-Control-Allow-Origin:\n              schema:\n                type: string\n                example: '*'\n            Connection:\n              schema:\n                type: string\n                example: keep-alive\n            Content-Length:\n              schema:\n                type: string\n                example: '77'\n            Date:\n              schema:\n                type: string\n                example: Thu, 01 Jun 2023 05:43:54 GMT\n            ETag:\n              schema:\n                type: string\n                example: W/\"4d-HsIML77lP0nFnY+in7vJJjHcLbQ\"\n            Keep-Alive:\n              schema:\n                type: string\n                example: timeout=5\n            X-Powered-By:\n              schema:\n                type: string\n                example: Express\n          content:\n            application/json:\n              schema:\n                type: object\n                properties:\n                  data:\n                    type: string\n                    example: OK\n                  message:\n                    type: string\n                    example: Health check passed\n                  statusCode:\n                    type: number\n                    example: 200\n                  success:\n                    type: boolean\n                    example: true\n              examples:\n                healthcheck:\n                  value:\n                    data: OK\n                    message: Health check passed\n                    statusCode: 200\n                    success: true\ntags:\n  - name: 📢 Public APIs\n    description: >-\n      This section contains a collection of random public APIs, offering various\n      functionalities.\n  - name: 🚰 Kitchen Sink\n    description: >-\n      This section is a collection of essential backend development APIs.\n  - name: 🔐 Authentication\n    description: >-\n      This section encompasses all the APIs related to user authentication.\n  - name: 🛒 Ecommerce\n    description: >-\n      This section houses all the APIs required for building and integrating an\n      ecommerce application.\n  - name: 📝 Todo list\n    description: >-\n      This section comprises all the APIs necessary for building a todo list\n      application.\n  - name: 📸 Social Media\n    description: >-\n      This section encompasses all the APIs required for building a social media\n      application.\n  - name: 💬 Chat App\n    description: >-\n      This section encompasses all the APIs required for building a realtime chat\n      application.\n  - name: 💉 Database Seeding\n    description: >-\n      This folder contains requests that are used for seeding or populating the\n      database with initial data.\n  - name: 🚫 Danger Zone\n    description: '**WARNING: Sensitive Operations ⚠️**'\n"
  },
  {
    "path": "src/utils/ApiError.js",
    "content": "import { errorHandler } from \"../middlewares/error.middlewares.js\";\n/**\n * @description Common Error class to throw an error from anywhere.\n * The {@link errorHandler} middleware will catch this error at the central place and it will return an appropriate response to the client\n */\nclass ApiError extends Error {\n  /**\n   *\n   * @param {number} statusCode\n   * @param {string} message\n   * @param {any[]} errors\n   * @param {string} stack\n   */\n  constructor(\n    statusCode,\n    message = \"Something went wrong\",\n    errors = [],\n    stack = \"\"\n  ) {\n    super(message);\n    this.statusCode = statusCode;\n    this.data = null;\n    this.message = message;\n    this.success = false;\n    this.errors = errors;\n\n    if (stack) {\n      this.stack = stack;\n    } else {\n      Error.captureStackTrace(this, this.constructor);\n    }\n  }\n}\n\nexport { ApiError };\n"
  },
  {
    "path": "src/utils/ApiResponse.js",
    "content": "class ApiResponse {\n  constructor(statusCode, data, message = \"Success\") {\n    this.statusCode = statusCode;\n    this.data = data;\n    this.message = message;\n    this.success = statusCode < 400;\n  }\n}\n\nexport { ApiResponse };\n"
  },
  {
    "path": "src/utils/asyncHandler.js",
    "content": "/**\n *\n * @param {(req: import(\"express\").Request, res:import(\"express\").Response, next:import(\"express\").NextFunction) => void} requestHandler\n */\nconst asyncHandler = (requestHandler) => {\n  return (req, res, next) => {\n    Promise.resolve(requestHandler(req, res, next)).catch((err) => next(err));\n  };\n};\n\nexport { asyncHandler };\n"
  },
  {
    "path": "src/utils/helpers.js",
    "content": "import fs from \"fs\";\nimport mongoose from \"mongoose\";\nimport logger from \"../logger/winston.logger.js\";\n\n/**\n *\n * @param {string[]} fieldsArray\n * @param {any[]} objectArray\n * @returns {any[]}\n * @description utility function to only include fields present in the fieldsArray\n * For example,\n * ```js\n * let fieldsArray = [\n * {\n * id:1,\n * name:\"John Doe\",\n * email:\"john@doe.com\"\n * phone: \"123456\"\n * },\n * {\n * id:2,\n * name:\"Mark H\",\n * email:\"mark@h.com\"\n * phone: \"563526\"\n * }\n * ]\n * let fieldsArray = [\"name\", \"email\"]\n * \n * const filteredKeysObject = filterObjectKeys(fieldsArray, fieldsArray)\n * console.log(filteredKeysObject) \n * \n//  Above line's output will be:\n//  [\n//      {\n//        name:\"John Doe\",\n//        email:\"john@doe.com\"\n//      },\n//      {\n//        name:\"Mark H\",\n//        email:\"mark@h.com\"\n//      }\n//  ]\n * \n * ```\n */\nexport const filterObjectKeys = (fieldsArray, objectArray) => {\n  const filteredArray = structuredClone(objectArray).map((originalObj) => {\n    let obj = {};\n    structuredClone(fieldsArray)?.forEach((field) => {\n      if (field?.trim() in originalObj) {\n        obj[field] = originalObj[field];\n      }\n    });\n    if (Object.keys(obj).length > 0) return obj;\n    return originalObj;\n  });\n  return filteredArray;\n};\n\n/**\n *\n * @param {any[]} dataArray\n * @param {number} page\n * @param {number} limit\n * @returns {{previousPage: string | null, currentPage: string, nextPage: string | null, data: any[]}}\n */\nexport const getPaginatedPayload = (dataArray, page, limit) => {\n  const startPosition = +(page - 1) * limit;\n\n  const totalItems = dataArray.length; // total documents present after applying search query\n  const totalPages = Math.ceil(totalItems / limit);\n\n  dataArray = structuredClone(dataArray).slice(\n    startPosition,\n    startPosition + limit\n  );\n\n  const payload = {\n    page,\n    limit,\n    totalPages,\n    previousPage: page > 1,\n    nextPage: page < totalPages,\n    totalItems,\n    currentPageItems: dataArray?.length,\n    data: dataArray,\n  };\n  return payload;\n};\n\n/**\n *\n * @param {import(\"express\").Request} req\n * @param {string} fileName\n * @description returns the file's static path from where the server is serving the static image\n */\nexport const getStaticFilePath = (req, fileName) => {\n  return `${req.protocol}://${req.get(\"host\")}/images/${fileName}`;\n};\n\n/**\n *\n * @param {string} fileName\n * @description returns the file's local path in the file system to assist future removal\n */\nexport const getLocalPath = (fileName) => {\n  return `public/images/${fileName}`;\n};\n\n/**\n *\n * @param {string} localPath\n * @description Removed the local file from the local file system based on the file path\n */\nexport const removeLocalFile = (localPath) => {\n  fs.unlink(localPath, (err) => {\n    if (err) logger.error(\"Error while removing local files: \", err);\n    else {\n      logger.info(\"Removed local: \", localPath);\n    }\n  });\n};\n\n/**\n * @param {import(\"express\").Request} req\n * @description **This utility function is responsible for removing unused image files due to the api fail**.\n *\n * **For example:**\n * * This can occur when product is created.\n * * In product creation process the images are getting uploaded before product gets created.\n * * Once images are uploaded and if there is an error creating a product, the uploaded images are unused.\n * * In such case, this function will remove those unused images.\n */\nexport const removeUnusedMulterImageFilesOnError = (req) => {\n  try {\n    const multerFile = req.file;\n    const multerFiles = req.files;\n\n    if (multerFile) {\n      // If there is file uploaded and there is validation error\n      // We want to remove that file\n      removeLocalFile(multerFile.path);\n    }\n\n    if (multerFiles) {\n      /** @type {Express.Multer.File[][]}  */\n      const filesValueArray = Object.values(multerFiles);\n      // If there are multiple files uploaded for more than one fields\n      // We want to remove those files as well\n      filesValueArray.map((fileFields) => {\n        fileFields.map((fileObject) => {\n          removeLocalFile(fileObject.path);\n        });\n      });\n    }\n  } catch (error) {\n    // fail silently\n    logger.error(\"Error while removing image files: \", error);\n  }\n};\n\n/**\n *\n * @param {{page: number; limit: number; customLabels: mongoose.CustomLabels;}} options\n * @returns {mongoose.PaginateOptions}\n */\nexport const getMongoosePaginationOptions = ({\n  page = 1,\n  limit = 10,\n  customLabels,\n}) => {\n  return {\n    page: Math.max(page, 1),\n    limit: Math.max(limit, 1),\n    pagination: true,\n    customLabels: {\n      pagingCounter: \"serialNumberStartFrom\",\n      ...customLabels,\n    },\n  };\n};\n\n/**\n * @param {number} max Ceil threshold (exclusive)\n */\nexport const getRandomNumber = (max) => {\n  return Math.floor(Math.random() * max);\n};\n"
  },
  {
    "path": "src/utils/mail.js",
    "content": "import Mailgen from \"mailgen\";\nimport nodemailer from \"nodemailer\";\nimport { Product } from \"../models/apps/ecommerce/product.models.js\";\nimport logger from \"../logger/winston.logger.js\";\n\n/**\n *\n * @param {{email: string; subject: string; mailgenContent: Mailgen.Content; }} options\n */\nconst sendEmail = async (options) => {\n  // Initialize mailgen instance with default theme and brand configuration\n  const mailGenerator = new Mailgen({\n    theme: \"default\",\n    product: {\n      name: \"FreeAPI\",\n      link: \"https://freeapi.app\",\n    },\n  });\n\n  // For more info on how mailgen content work visit https://github.com/eladnava/mailgen#readme\n  // Generate the plaintext version of the e-mail (for clients that do not support HTML)\n  const emailTextual = mailGenerator.generatePlaintext(options.mailgenContent);\n\n  // Generate an HTML email with the provided contents\n  const emailHtml = mailGenerator.generate(options.mailgenContent);\n\n  // Create a nodemailer transporter instance which is responsible to send a mail\n  const transporter = nodemailer.createTransport({\n    host: process.env.MAILTRAP_SMTP_HOST,\n    port: process.env.MAILTRAP_SMTP_PORT,\n    auth: {\n      user: process.env.MAILTRAP_SMTP_USER,\n      pass: process.env.MAILTRAP_SMTP_PASS,\n    },\n  });\n\n  const mail = {\n    from: \"mail.freeapi@gmail.com\", // We can name this anything. The mail will go to your Mailtrap inbox\n    to: options.email, // receiver's mail\n    subject: options.subject, // mail subject\n    text: emailTextual, // mailgen content textual variant\n    html: emailHtml, // mailgen content html variant\n  };\n\n  try {\n    await transporter.sendMail(mail);\n  } catch (error) {\n    // As sending email is not strongly coupled to the business logic it is not worth to raise an error when email sending fails\n    // So it's better to fail silently rather than breaking the app\n    logger.error(\n      \"Email service failed silently. Make sure you have provided your MAILTRAP credentials in the .env file\"\n    );\n    logger.error(\"Error: \", error);\n  }\n};\n\n/**\n *\n * @param {string} username\n * @param {string} verificationUrl\n * @returns {Mailgen.Content}\n * @description It designs the email verification mail\n */\nconst emailVerificationMailgenContent = (username, verificationUrl) => {\n  return {\n    body: {\n      name: username,\n      intro: \"Welcome to our app! We're very excited to have you on board.\",\n      action: {\n        instructions:\n          \"To verify your email please click on the following button:\",\n        button: {\n          color: \"#22BC66\", // Optional action button color\n          text: \"Verify your email\",\n          link: verificationUrl,\n        },\n      },\n      outro:\n        \"Need help, or have questions? Just reply to this email, we'd love to help.\",\n    },\n  };\n};\n\n/**\n *\n * @param {string} username\n * @param {string} verificationUrl\n * @returns {Mailgen.Content}\n * @description It designs the forgot password mail\n */\nconst forgotPasswordMailgenContent = (username, passwordResetUrl) => {\n  return {\n    body: {\n      name: username,\n      intro: \"We got a request to reset the password of our account\",\n      action: {\n        instructions:\n          \"To reset your password click on the following button or link:\",\n        button: {\n          color: \"#22BC66\", // Optional action button color\n          text: \"Reset password\",\n          link: passwordResetUrl,\n        },\n      },\n      outro:\n        \"Need help, or have questions? Just reply to this email, we'd love to help.\",\n    },\n  };\n};\n\n/**\n *\n * @param {string} username\n * @param {{_id: string, product: Product, quantity: number}[]} items\n * @param {number} totalCost\n * @returns {Mailgen.Content}\n * @description It designs the order creation invoice mail\n */\nconst orderConfirmationMailgenContent = (username, items, totalCost) => {\n  return {\n    body: {\n      name: username,\n      intro: \"Your order has been processed successfully.\",\n      table: {\n        data: items?.map((item) => {\n          return {\n            item: item.product?.name,\n            price: \"INR \" + item.product?.price + \"/-\",\n            quantity: item.quantity,\n          };\n        }),\n        columns: {\n          // Optionally, customize the column widths\n          customWidth: {\n            item: \"20%\",\n            price: \"15%\",\n            quantity: \"15%\",\n          },\n          // Optionally, change column text alignment\n          customAlignment: {\n            price: \"right\",\n            quantity: \"right\",\n          },\n        },\n      },\n      outro: [\n        `Total order cost: INR ${totalCost}/-`,\n        \"You can check the status of your order and more in your order history\",\n      ],\n    },\n  };\n};\n\nexport {\n  sendEmail,\n  emailVerificationMailgenContent,\n  forgotPasswordMailgenContent,\n  orderConfirmationMailgenContent,\n};\n"
  },
  {
    "path": "src/validators/apps/auth/user.validators.js",
    "content": "import { body, param } from \"express-validator\";\nimport { AvailableUserRoles } from \"../../../constants.js\";\n\nconst userRegisterValidator = () => {\n  return [\n    body(\"email\")\n      .trim()\n      .notEmpty()\n      .withMessage(\"Email is required\")\n      .isEmail()\n      .withMessage(\"Email is invalid\"),\n    body(\"username\")\n      .trim()\n      .notEmpty()\n      .withMessage(\"Username is required\")\n      .isLowercase()\n      .withMessage(\"Username must be lowercase\")\n      .isLength({ min: 3 })\n      .withMessage(\"Username must be at lease 3 characters long\"),\n    body(\"password\").trim().notEmpty().withMessage(\"Password is required\"),\n    body(\"role\")\n      .optional()\n      .isIn(AvailableUserRoles)\n      .withMessage(\"Invalid user role\"),\n  ];\n};\n\nconst userLoginValidator = () => {\n  return [\n    body(\"email\").optional().isEmail().withMessage(\"Email is invalid\"),\n    body(\"username\").optional(),\n    body(\"password\").notEmpty().withMessage(\"Password is required\"),\n  ];\n};\n\nconst userChangeCurrentPasswordValidator = () => {\n  return [\n    body(\"oldPassword\").notEmpty().withMessage(\"Old password is required\"),\n    body(\"newPassword\").notEmpty().withMessage(\"New password is required\"),\n  ];\n};\n\nconst userForgotPasswordValidator = () => {\n  return [\n    body(\"email\")\n      .notEmpty()\n      .withMessage(\"Email is required\")\n      .isEmail()\n      .withMessage(\"Email is invalid\"),\n  ];\n};\n\nconst userResetForgottenPasswordValidator = () => {\n  return [body(\"newPassword\").notEmpty().withMessage(\"Password is required\")];\n};\n\nconst userAssignRoleValidator = () => {\n  return [\n    body(\"role\")\n      .optional()\n      .isIn(AvailableUserRoles)\n      .withMessage(\"Invalid user role\"),\n  ];\n};\n\nexport {\n  userChangeCurrentPasswordValidator,\n  userForgotPasswordValidator,\n  userLoginValidator,\n  userRegisterValidator,\n  userResetForgottenPasswordValidator,\n  userAssignRoleValidator\n};\n"
  },
  {
    "path": "src/validators/apps/chat-app/chat.validators.js",
    "content": "import { body } from \"express-validator\";\n\nconst createAGroupChatValidator = () => {\n  return [\n    body(\"name\").trim().notEmpty().withMessage(\"Group name is required\"),\n    body(\"participants\")\n      .isArray({\n        min: 2,\n        max: 100,\n      })\n      .withMessage(\n        \"Participants must be an array with more than 2 members and less than 100 members\"\n      ),\n  ];\n};\n\nconst updateGroupChatNameValidator = () => {\n  return [body(\"name\").trim().notEmpty().withMessage(\"Group name is required\")];\n};\n\nexport { createAGroupChatValidator, updateGroupChatNameValidator };\n"
  },
  {
    "path": "src/validators/apps/chat-app/message.validators.js",
    "content": "import { body } from \"express-validator\";\n\nconst sendMessageValidator = () => {\n  return [\n    body(\"content\")\n      .trim()\n      .optional()\n      .notEmpty()\n      .withMessage(\"Content is required\"),\n  ];\n};\n\nexport { sendMessageValidator };\n"
  },
  {
    "path": "src/validators/apps/ecommerce/address.validators.js",
    "content": "import { body, param } from \"express-validator\";\n\nconst createAddressValidator = () => {\n  return [\n    body(\"addressLine1\")\n      .trim()\n      .notEmpty()\n      .withMessage(\"Address line 1 is required\"),\n    body(\"city\").trim().notEmpty().withMessage(\"City is required\"),\n    body(\"country\").trim().notEmpty().withMessage(\"Country is required\"),\n    body(\"pincode\")\n      .trim()\n      .notEmpty()\n      .withMessage(\"Pincode is required\")\n      .isNumeric()\n      .isLength({ max: 6, min: 6 })\n      .withMessage(\"Invalid pincode\"),\n    body(\"state\").trim().notEmpty().withMessage(\"State is required\"),\n  ];\n};\n\nconst updateAddressValidator = () => {\n  return [\n    body(\"addressLine1\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Address line 1 is required\"),\n    body(\"city\").optional().trim().notEmpty().withMessage(\"City is required\"),\n    body(\"country\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Country is required\"),\n    body(\"pincode\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Pincode is required\")\n      .isNumeric()\n      .isLength({ max: 6, min: 6 })\n      .withMessage(\"Invalid pincode\"),\n    body(\"state\").optional().trim().notEmpty().withMessage(\"State is required\"),\n  ];\n};\n\nexport {\n  createAddressValidator,\n  updateAddressValidator,\n};\n"
  },
  {
    "path": "src/validators/apps/ecommerce/cart.validators.js",
    "content": "import { body, param } from \"express-validator\";\n\nconst addItemOrUpdateItemQuantityValidator = () => {\n  return [\n    body(\"quantity\")\n      .optional()\n      .isInt({\n        min: 1,\n      })\n      .withMessage(\"Quantity must be greater than 0\"),\n  ];\n};\n\nexport { addItemOrUpdateItemQuantityValidator };\n"
  },
  {
    "path": "src/validators/apps/ecommerce/category.validators.js",
    "content": "import { body, param } from \"express-validator\";\n\nconst categoryRequestBodyValidator = () => {\n  return [\n    body(\"name\").trim().notEmpty().withMessage(\"Category name is required\"),\n  ];\n};\n\nexport { categoryRequestBodyValidator };\n"
  },
  {
    "path": "src/validators/apps/ecommerce/coupon.validators.js",
    "content": "import { body, param } from \"express-validator\";\nimport { AvailableCouponTypes } from \"../../../constants.js\";\n\nconst createCouponValidator = () => {\n  return [\n    body(\"name\").trim().notEmpty().withMessage(\"Coupon name is required\"),\n    body(\"couponCode\")\n      .trim()\n      .notEmpty()\n      .withMessage(\"Coupon code is required\")\n      .isLength({ min: 4 })\n      .withMessage(\"Coupon code must be at least 4 characters long\"),\n    body(\"type\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .isIn(AvailableCouponTypes)\n      .withMessage(\"Invalid coupon type\"),\n    body(\"discountValue\")\n      .trim()\n      .notEmpty()\n      .withMessage(\"Discount value is required\")\n      .isInt({\n        min: 1,\n      })\n      .withMessage(\"Discount value must be greater than 0\"),\n    body(\"minimumCartValue\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Invalid minimum cart value\")\n      .isInt({\n        min: 0,\n      })\n      .withMessage(\"Minimum cart value cannot be negative\"),\n    body(\"startDate\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Start date is required\")\n      .isISO8601()\n      .withMessage(\"Invalid start date. Date must be in ISO8601 format\"),\n    body(\"expiryDate\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Expiry date is required\")\n      .isISO8601()\n      .withMessage(\"Invalid expiry date. Date must be in ISO8601 format\")\n      .isAfter(new Date().toISOString())\n      .withMessage(\"Expiry date must be a future date\"),\n  ];\n};\n\nconst updateCouponValidator = () => {\n  return [\n    body(\"name\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Coupon name is required\"),\n    body(\"couponCode\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Coupon code is required\")\n      .isLength({ min: 4 })\n      .withMessage(\"Coupon code must be at least 4 characters long\"),\n    body(\"type\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .isIn(AvailableCouponTypes)\n      .withMessage(\"Invalid coupon type\"),\n    body(\"discountValue\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Discount value is required\")\n      .isInt({\n        min: 1,\n      })\n      .withMessage(\"Discount value must be greater than 0\"),\n    body(\"minimumCartValue\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Invalid minimum cart value\")\n      .isInt({\n        min: 0,\n      })\n      .withMessage(\"Minimum cart value cannot be negative\"),\n    body(\"startDate\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Start date is required\")\n      .isISO8601()\n      .withMessage(\"Invalid start date. Date must be in ISO8601 format\"),\n    body(\"expiryDate\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Expiry date is required\")\n      .isISO8601()\n      .withMessage(\"Invalid expiry date. Date must be in ISO8601 format\")\n      .isAfter(new Date().toISOString())\n      .withMessage(\"Expiry date must be a future date\"),\n  ];\n};\n\nconst applyCouponCodeValidator = () => {\n  return [\n    body(\"couponCode\")\n      .trim()\n      .notEmpty()\n      .withMessage(\"Coupon code is required\")\n      .isLength({ min: 4 })\n      .withMessage(\"Invalid coupon code\"),\n  ];\n};\n\nconst couponActivityStatusValidator = () => {\n  return [\n    body(\"isActive\")\n      .notEmpty()\n      .withMessage(\"Activity status is required\")\n      .isBoolean({\n        strict: true,\n      })\n      .withMessage(\"isActive must be a boolean. Either true or false\"),\n  ];\n};\n\nexport {\n  applyCouponCodeValidator,\n  couponActivityStatusValidator,\n  createCouponValidator,\n  updateCouponValidator,\n};\n"
  },
  {
    "path": "src/validators/apps/ecommerce/order.validators.js",
    "content": "import { body, param } from \"express-validator\";\nimport { AvailableOrderStatuses } from \"../../../constants.js\";\n\nconst verifyRazorpayPaymentValidator = () => {\n  return [\n    body(\"razorpay_order_id\")\n      .trim()\n      .notEmpty()\n      .withMessage(\"Razorpay order id is missing\"),\n    body(\"razorpay_payment_id\")\n      .trim()\n      .notEmpty()\n      .withMessage(\"Razorpay payment id is missing\"),\n    body(\"razorpay_signature\")\n      .trim()\n      .notEmpty()\n      .withMessage(\"Razorpay signature is missing\"),\n  ];\n};\n\nconst verifyPaypalPaymentValidator = () => {\n  return [\n    body(\"orderId\").trim().notEmpty().withMessage(\"Paypal order id is missing\"),\n  ];\n};\n\nconst orderUpdateStatusValidator = () => {\n  return [\n    body(\"status\")\n      .trim()\n      .notEmpty()\n      .isIn(AvailableOrderStatuses)\n      .withMessage(\"Invalid order status\"),\n  ];\n};\n\nexport {\n  verifyRazorpayPaymentValidator,\n  verifyPaypalPaymentValidator,\n  orderUpdateStatusValidator,\n};\n"
  },
  {
    "path": "src/validators/apps/ecommerce/product.validators.js",
    "content": "import { body } from \"express-validator\";\nimport { mongoIdRequestBodyValidator } from \"../../common/mongodb.validators.js\";\n\nconst createProductValidator = () => {\n  return [\n    body(\"name\").trim().notEmpty().withMessage(\"Name is required\"),\n    body(\"description\")\n      .trim()\n      .notEmpty()\n      .withMessage(\"Description is required\"),\n    body(\"price\")\n      .trim()\n      .notEmpty()\n      .withMessage(\"Price is required\")\n      .isNumeric()\n      .withMessage(\"Price must be a number\"),\n    body(\"stock\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Stock is required\")\n      .isNumeric()\n      .withMessage(\"Stock must be a number\"),\n    ...mongoIdRequestBodyValidator(\"category\")\n  ];\n};\n\nconst updateProductValidator = () => {\n  return [\n    body(\"name\").optional().trim().notEmpty().withMessage(\"Name is required\"),\n    body(\"description\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Description is required\"),\n    body(\"price\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Price is required\")\n      .isNumeric()\n      .withMessage(\"Price must be a number\"),\n    body(\"stock\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Stock is required\")\n      .isNumeric()\n      .withMessage(\"Stock must be a number\"),\n    ...mongoIdRequestBodyValidator(\"category\")\n  ];\n};\n\nexport {\n  createProductValidator,\n  updateProductValidator,\n};\n"
  },
  {
    "path": "src/validators/apps/ecommerce/profile.validators.js",
    "content": "import { body } from \"express-validator\";\n\nconst updateEcomProfileValidator = () => {\n  return [\n    body(\"firstName\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"First name is required\"),\n    body(\"lastName\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"First name is required\"),\n    body(\"phoneNumber\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Phone number is required\")\n      .isNumeric()\n      .withMessage(\"Phone number is invalid.\")\n      .isLength({ min: 10, max: 10 })\n      .withMessage(\"Phone number is invalid. It must be 10 digits long.\"),\n    body(\"countryCode\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Country code is required\")\n      .isNumeric()\n      .withMessage(\"Country code is invalid.\"),\n  ];\n};\n\nexport { updateEcomProfileValidator };\n"
  },
  {
    "path": "src/validators/apps/social-media/comment.validators.js",
    "content": "import { body } from \"express-validator\";\n\nconst commentContentValidator = () => {\n  return [\n    body(\"content\")\n      .trim()\n      .notEmpty()\n      .withMessage(\"Comment content is required\"),\n  ];\n};\n\nexport { commentContentValidator };\n"
  },
  {
    "path": "src/validators/apps/social-media/post.validators.js",
    "content": "import { body, param } from \"express-validator\";\n\nconst createPostValidator = () => {\n  return [\n    body(\"content\").trim().notEmpty().withMessage(\"Post content is required\"),\n    body(\"tags\")\n      .optional()\n      .isArray()\n      .withMessage(\"Tags field must be an array\"),\n  ];\n};\n\nconst updatePostValidator = () => {\n  return [\n    body(\"content\")\n      .trim()\n      .optional()\n      .notEmpty()\n      .withMessage(\"Post content cannot be empty\"),\n    body(\"tags\")\n      .optional()\n      .isArray()\n      .withMessage(\"Tags field must be an array\"),\n  ];\n};\n\nconst usernamePathVariableValidator = () => {\n  return [\n    param(\"username\").toLowerCase().notEmpty().withMessage(\"Invalid username\"),\n  ];\n};\n\nconst tagPathVariableValidator = () => {\n  return [param(\"tag\").notEmpty().withMessage(\"Tag is required\")];\n};\n\nexport {\n  createPostValidator,\n  updatePostValidator,\n  usernamePathVariableValidator,\n  tagPathVariableValidator,\n};\n"
  },
  {
    "path": "src/validators/apps/social-media/profile.validators.js",
    "content": "import { body, param } from \"express-validator\";\n\nconst updateSocialProfileValidator = () => {\n  return [\n    body(\"firstName\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"First name is required\"),\n    body(\"lastName\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"First name is required\"),\n    body(\"bio\").optional().trim().notEmpty().withMessage(\"Bio is required\"),\n    body(\"dob\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Date of birth is required\")\n      .isISO8601()\n      .withMessage(\"Invalid date of birth. Date must be in ISO8601 format\"),\n    body(\"location\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Location is required\"),\n    body(\"phoneNumber\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Phone number is required\")\n      .isNumeric()\n      .withMessage(\"Phone number is invalid.\")\n      .isLength({ min: 10, max: 10 })\n      .withMessage(\"Phone number is invalid. It must be 10 digits long.\"),\n    body(\"countryCode\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Country code is required\")\n      .isNumeric()\n      .withMessage(\"Country code is invalid.\"),\n  ];\n};\n\nconst getProfileByUserNameValidator = () => {\n  return [\n    param(\"username\").trim().notEmpty().withMessage(\"Username is required\"),\n  ];\n};\n\nexport { updateSocialProfileValidator, getProfileByUserNameValidator };\n"
  },
  {
    "path": "src/validators/apps/todo/todo.validators.js",
    "content": "import { body, query } from \"express-validator\";\n\nconst getAllTodosQueryValidators = () => {\n  return [\n    query(\"query\").optional(),\n    query(\"complete\")\n      .optional()\n      .isBoolean({\n        loose: true,\n      })\n      .withMessage(\"complete flag must be a boolean.\"),\n  ];\n};\n\nconst createTodoValidator = () => {\n  return [\n    body(\"title\").trim().notEmpty().withMessage(\"Todo title is required\"),\n    body(\"description\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Todo title is required\"),\n  ];\n};\n\nconst updateTodoValidator = () => {\n  return [\n    body(\"title\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Todo title is required\"),\n    body(\"description\")\n      .optional()\n      .trim()\n      .notEmpty()\n      .withMessage(\"Todo title is required\"),\n  ];\n};\n\n\nexport {\n  createTodoValidator,\n  updateTodoValidator,\n  getAllTodosQueryValidators,\n};\n"
  },
  {
    "path": "src/validators/common/mongodb.validators.js",
    "content": "import { body, param } from \"express-validator\";\n\n/**\n *\n * @param {string} idName\n * @description A common validator responsible to validate mongodb ids passed in the url's path variable\n */\nexport const mongoIdPathVariableValidator = (idName) => {\n  return [\n    param(idName).notEmpty().isMongoId().withMessage(`Invalid ${idName}`),\n  ];\n};\n\n/**\n *\n * @param {string} idName\n * @description A common validator responsible to validate mongodb ids passed in the request body\n */\nexport const mongoIdRequestBodyValidator = (idName) => {\n  return [body(idName).notEmpty().isMongoId().withMessage(`Invalid ${idName}`)];\n};"
  },
  {
    "path": "src/validators/kitchen-sink/cookie.validators.js",
    "content": "import { query } from \"express-validator\";\n\nconst cookieKeyQueryStringValidator = () => {\n  return [\n    query(\"cookieKey\")\n      .trim()\n      .notEmpty()\n      .withMessage(\"cookieKey query is required\"),\n  ];\n};\n\nexport { cookieKeyQueryStringValidator };\n"
  },
  {
    "path": "src/validators/kitchen-sink/redirect.validators.js",
    "content": "import { query } from \"express-validator\";\n\nconst redirectToTheUrlValidator = () => {\n  return [\n    query(\"url\")\n      .trim()\n      .notEmpty()\n      .withMessage(\"url is required\")\n      .isURL()\n      .withMessage(\"URL passed in the query is invalid\"),\n  ];\n};\n\nexport { redirectToTheUrlValidator };\n"
  },
  {
    "path": "src/validators/kitchen-sink/responseinspection.validators.js",
    "content": "import { param } from \"express-validator\";\n\nconst setCacheControlHeaderValidator = () => {\n  return [\n    param(\"timeToLive\")\n      .notEmpty()\n      .withMessage(\"Time to live is missing\")\n      .isNumeric()\n      .withMessage(\"Time to live must be a number\"),\n    param(\"cacheResponseDirective\")\n      .notEmpty()\n      .isIn([\"public\", \"private\"])\n      .withMessage(\"Invalid cache directive\"),\n  ];\n};\n\nexport { setCacheControlHeaderValidator };\n"
  },
  {
    "path": "src/validators/kitchen-sink/statuscode.validators.js",
    "content": "import { param } from \"express-validator\";\n\nconst statusCodeValidator = () => {\n  return [\n    param(\"statusCode\")\n      .notEmpty()\n      .isInt({ min: 100 })\n      .withMessage(\"Invalid status code\"),\n  ];\n};\n\nexport { statusCodeValidator };\n"
  },
  {
    "path": "src/validators/validate.js",
    "content": "import { validationResult } from \"express-validator\";\nimport { errorHandler } from \"../middlewares/error.middlewares.js\";\nimport { ApiError } from \"../utils/ApiError.js\";\n/**\n *\n * @param {import(\"express\").Request} req\n * @param {import(\"express\").Response} res\n * @param {import(\"express\").NextFunction} next\n *\n * @description This is the validate middleware responsible to centralize the error checking done by the `express-validator` `ValidationChains`.\n * This checks if the request validation has errors.\n * If yes then it structures them and throws an {@link ApiError} which forwards the error to the {@link errorHandler} middleware which throws a uniform response at a single place\n *\n */\nexport const validate = (req, res, next) => {\n  const errors = validationResult(req);\n  if (errors.isEmpty()) {\n    return next();\n  }\n  const extractedErrors = [];\n  errors.array().map((err) => extractedErrors.push({ [err.path]: err.msg }));\n\n  // 422: Unprocessable Entity\n  throw new ApiError(422, \"Received data is not valid\", extractedErrors);\n};\n"
  }
]